@xyo-network/xl1-cli-lib 1.15.28 → 1.16.1

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 (100) hide show
  1. package/dist/node/commands/index.d.ts +1 -1
  2. package/dist/node/commands/index.d.ts.map +1 -1
  3. package/dist/node/commands/mempool/index.d.ts +2 -0
  4. package/dist/node/commands/mempool/index.d.ts.map +1 -0
  5. package/dist/node/commands/{headReducer/runHeadReducer.d.ts → mempool/runMempool.d.ts} +3 -3
  6. package/dist/node/commands/mempool/runMempool.d.ts.map +1 -0
  7. package/dist/node/index.mjs +117 -101
  8. package/dist/node/index.mjs.map +1 -1
  9. package/dist/node/orchestration/actor/implementation/BalanceActor.d.ts +4 -4
  10. package/dist/node/orchestration/actor/implementation/BalanceActor.d.ts.map +1 -1
  11. package/dist/node/orchestration/actor/implementation/ChainHeadUpdateActor.d.ts +3 -3
  12. package/dist/node/orchestration/actor/implementation/ChainHeadUpdateActor.d.ts.map +1 -1
  13. package/dist/node/orchestration/actor/implementation/ProducerActor.d.ts +7 -7
  14. package/dist/node/orchestration/actor/implementation/ProducerActor.d.ts.map +1 -1
  15. package/dist/node/orchestration/actor/implementation/ValidatorActor.d.ts +6 -6
  16. package/dist/node/orchestration/actor/implementation/ValidatorActor.d.ts.map +1 -1
  17. package/dist/node/orchestration/actor/model/Actor.d.ts +4 -2
  18. package/dist/node/orchestration/actor/model/Actor.d.ts.map +1 -1
  19. package/dist/node/orchestration/map/BalanceSummary/initLocalTransferSummaryMap.d.ts +1 -1
  20. package/dist/node/orchestration/map/BalanceSummary/initLocalTransferSummaryMap.d.ts.map +1 -1
  21. package/dist/node/orchestration/map/BalanceSummary/initTransferSummaryMap.d.ts +1 -1
  22. package/dist/node/orchestration/map/BalanceSummary/initTransferSummaryMap.d.ts.map +1 -1
  23. package/dist/node/orchestration/services/implementation/balance.d.ts +2 -1
  24. package/dist/node/orchestration/services/implementation/balance.d.ts.map +1 -1
  25. package/dist/node/orchestration/services/implementation/chain/index.d.ts +2 -1
  26. package/dist/node/orchestration/services/implementation/chain/index.d.ts.map +1 -1
  27. package/dist/node/orchestration/services/implementation/head/createBootstrapHead.d.ts +2 -1
  28. package/dist/node/orchestration/services/implementation/head/createBootstrapHead.d.ts.map +1 -1
  29. package/dist/node/orchestration/services/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts +2 -1
  30. package/dist/node/orchestration/services/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts.map +1 -1
  31. package/dist/node/orchestration/services/implementation/head/createForkedHead/createForkedHead.d.ts +2 -1
  32. package/dist/node/orchestration/services/implementation/head/createForkedHead/createForkedHead.d.ts.map +1 -1
  33. package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts +2 -1
  34. package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts.map +1 -1
  35. package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeIntent.d.ts +2 -1
  36. package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeIntent.d.ts.map +1 -1
  37. package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts +2 -1
  38. package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts.map +1 -1
  39. package/dist/node/orchestration/services/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts +2 -1
  40. package/dist/node/orchestration/services/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts.map +1 -1
  41. package/dist/node/orchestration/services/implementation/head/getForkFromBlock.d.ts +2 -1
  42. package/dist/node/orchestration/services/implementation/head/getForkFromBlock.d.ts.map +1 -1
  43. package/dist/node/orchestration/services/implementation/head/head.d.ts +2 -1
  44. package/dist/node/orchestration/services/implementation/head/head.d.ts.map +1 -1
  45. package/dist/node/orchestration/services/implementation/iterator.d.ts +2 -2
  46. package/dist/node/orchestration/services/implementation/iterator.d.ts.map +1 -1
  47. package/dist/node/orchestration/services/implementation/pendingTransactions.d.ts +2 -1
  48. package/dist/node/orchestration/services/implementation/pendingTransactions.d.ts.map +1 -1
  49. package/dist/node/orchestration/services/implementation/producer.d.ts +2 -1
  50. package/dist/node/orchestration/services/implementation/producer.d.ts.map +1 -1
  51. package/dist/node/orchestration/services/implementation/reward.d.ts +2 -1
  52. package/dist/node/orchestration/services/implementation/reward.d.ts.map +1 -1
  53. package/dist/node/orchestration/services/implementation/time.d.ts +2 -1
  54. package/dist/node/orchestration/services/implementation/time.d.ts.map +1 -1
  55. package/dist/node/orchestration/services/implementation/transfer.d.ts +2 -1
  56. package/dist/node/orchestration/services/implementation/transfer.d.ts.map +1 -1
  57. package/dist/node/orchestration/services/implementation/validator.d.ts +2 -1
  58. package/dist/node/orchestration/services/implementation/validator.d.ts.map +1 -1
  59. package/dist/node/runCLI.d.ts.map +1 -1
  60. package/dist/node/xl1.mjs +117 -101
  61. package/dist/node/xl1.mjs.map +1 -1
  62. package/package.json +33 -33
  63. package/src/commands/index.ts +1 -1
  64. package/src/commands/mempool/index.ts +1 -0
  65. package/src/commands/{headReducer/runHeadReducer.ts → mempool/runMempool.ts} +2 -2
  66. package/src/commands/producer/runProducer.ts +3 -3
  67. package/src/commands/validator/runValidator.ts +3 -3
  68. package/src/orchestration/actor/implementation/BalanceActor.ts +2 -2
  69. package/src/orchestration/actor/implementation/ChainHeadUpdateActor.ts +2 -2
  70. package/src/orchestration/actor/implementation/ProducerActor.ts +2 -1
  71. package/src/orchestration/actor/implementation/ValidatorActor.ts +2 -2
  72. package/src/orchestration/actor/model/Actor.ts +5 -3
  73. package/src/orchestration/archivists/ChainFinalized/remote.ts +1 -1
  74. package/src/orchestration/archivists/ChainSubmissions/remote.ts +1 -1
  75. package/src/orchestration/archivists/PendingTransactions/remote.ts +1 -1
  76. package/src/orchestration/map/BalanceSummary/initLocalTransferSummaryMap.ts +2 -1
  77. package/src/orchestration/map/BalanceSummary/initTransferSummaryMap.ts +2 -1
  78. package/src/orchestration/services/implementation/balance.ts +2 -1
  79. package/src/orchestration/services/implementation/chain/index.ts +2 -1
  80. package/src/orchestration/services/implementation/head/createBootstrapHead.ts +2 -1
  81. package/src/orchestration/services/implementation/head/createForkedHead/config/getBridgeSourceDetails.ts +2 -1
  82. package/src/orchestration/services/implementation/head/createForkedHead/createForkedHead.ts +2 -3
  83. package/src/orchestration/services/implementation/head/createForkedHead/getBridgeDestinationObservation.ts +2 -1
  84. package/src/orchestration/services/implementation/head/createForkedHead/getBridgeIntent.ts +2 -1
  85. package/src/orchestration/services/implementation/head/createForkedHead/getBridgeSourceObservation.ts +2 -1
  86. package/src/orchestration/services/implementation/head/createForkedHead/getFirstBlockForNewChain.ts +2 -3
  87. package/src/orchestration/services/implementation/head/getForkFromBlock.ts +2 -1
  88. package/src/orchestration/services/implementation/head/head.ts +2 -3
  89. package/src/orchestration/services/implementation/iterator.ts +3 -2
  90. package/src/orchestration/services/implementation/pendingTransactions.ts +2 -1
  91. package/src/orchestration/services/implementation/producer.ts +2 -1
  92. package/src/orchestration/services/implementation/reward.ts +2 -2
  93. package/src/orchestration/services/implementation/time.ts +2 -1
  94. package/src/orchestration/services/implementation/transfer.ts +2 -1
  95. package/src/orchestration/services/implementation/validator.ts +2 -1
  96. package/src/runCLI.ts +30 -21
  97. package/dist/node/commands/headReducer/index.d.ts +0 -2
  98. package/dist/node/commands/headReducer/index.d.ts.map +0 -1
  99. package/dist/node/commands/headReducer/runHeadReducer.d.ts.map +0 -1
  100. package/src/commands/headReducer/index.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  export * from './api/index.ts';
2
2
  export * from './bridge/index.ts';
3
- export * from './headReducer/index.ts';
3
+ export * from './mempool/index.ts';
4
4
  export * from './producer/index.ts';
5
5
  export * from './rewardRedemption/index.ts';
6
6
  export * from './validator/index.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './runMempool.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/mempool/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import type { Logger } from '@xylabs/logger';
2
2
  import type { Config } from '@xyo-network/xl1-protocol-sdk';
3
- interface RunHeadReducerContext {
3
+ interface RunMempoolContext {
4
4
  config: Config;
5
5
  logger?: Logger;
6
6
  }
7
- export declare function runHeadReducer(context: RunHeadReducerContext): void;
7
+ export declare function runMempool(context: RunMempoolContext): void;
8
8
  export {};
9
- //# sourceMappingURL=runHeadReducer.d.ts.map
9
+ //# sourceMappingURL=runMempool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runMempool.d.ts","sourceRoot":"","sources":["../../../../src/commands/mempool/runMempool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,QAEpD"}
@@ -38,7 +38,7 @@ var Actor = class extends Base {
38
38
  return this._id;
39
39
  }
40
40
  get name() {
41
- return this.constructor.name;
41
+ return this.params.name;
42
42
  }
43
43
  get logPrefix() {
44
44
  return `[${this.displayName} (${this.id})] `;
@@ -593,8 +593,8 @@ var createHealthServer = /* @__PURE__ */ __name((port, statusMonitor, logger) =>
593
593
  return server;
594
594
  }, "createHealthServer");
595
595
  var initHealthEndpoints = /* @__PURE__ */ __name((params) => {
596
- const { config: config3, logger, statusReporter } = params;
597
- const { healthCheckPort } = config3.producer;
596
+ const { config: config2, logger, statusReporter } = params;
597
+ const { healthCheckPort } = config2.producer;
598
598
  return isDefined3(healthCheckPort) ? createHealthServer(healthCheckPort, statusReporter, logger) : void 0;
599
599
  }, "initHealthEndpoints");
600
600
 
@@ -642,10 +642,10 @@ var getLocalPersistentArchivist = /* @__PURE__ */ __name((name, dbName, storeNam
642
642
  // src/orchestration/archivists/ChainFinalized/local.ts
643
643
  var mutex = new Mutex2();
644
644
  var singleton;
645
- var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config: config3 }) => {
645
+ var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
646
646
  return await mutex.runExclusive(async () => {
647
647
  if (singleton) return singleton;
648
- const { root } = config3.storage;
648
+ const { root } = config2.storage;
649
649
  singleton = await getLocalPersistentArchivist("local-finalized-chain", "chain", "finalized", root);
650
650
  return singleton;
651
651
  });
@@ -658,10 +658,10 @@ import { getUrl } from "@xyo-network/xl1-protocol-sdk";
658
658
  import { Mutex as Mutex3 } from "async-mutex";
659
659
  var mutex2 = new Mutex3();
660
660
  var singleton2;
661
- var initRemoteChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config: config3 }) => {
661
+ var initRemoteChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
662
662
  return await mutex2.runExclusive(async () => {
663
663
  if (singleton2) return singleton2;
664
- const { host, port } = config3.api;
664
+ const { host, port } = config2.mempool.enabled ? config2.mempool : config2.api;
665
665
  const nodeUrl = getUrl(host, port);
666
666
  const bridge = await initBridge(nodeUrl);
667
667
  singleton2 = await initBridgedArchivistModule({
@@ -675,16 +675,16 @@ var initRemoteChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config:
675
675
  // src/orchestration/archivists/ChainFinalized/archivist.ts
676
676
  var mutex3 = new Mutex4();
677
677
  var singleton3;
678
- async function initChainFinalizedArchivist({ config: config3, logger, traceProvider }) {
678
+ async function initChainFinalizedArchivist({ config: config2, logger, traceProvider }) {
679
679
  return await mutex3.runExclusive(async () => {
680
680
  if (singleton3) return singleton3;
681
681
  const [remote, local] = await Promise.all([
682
682
  startupSpanAsync("ChainFinalizedArchivist:initRemote", () => initRemoteChainFinalizedArchivist({
683
- config: config3,
683
+ config: config2,
684
684
  logger
685
685
  })),
686
686
  startupSpanAsync("ChainFinalizedArchivist:initLocal", () => initLocalChainFinalizedArchivist({
687
- config: config3,
687
+ config: config2,
688
688
  logger
689
689
  }))
690
690
  ]);
@@ -707,10 +707,10 @@ import { getUrl as getUrl2 } from "@xyo-network/xl1-protocol-sdk";
707
707
  import { Mutex as Mutex5 } from "async-mutex";
708
708
  var mutex4 = new Mutex5();
709
709
  var singleton4;
710
- var initRemoteChainSubmissionsArchivist = /* @__PURE__ */ __name(async ({ config: config3 }) => {
710
+ var initRemoteChainSubmissionsArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
711
711
  return await mutex4.runExclusive(async () => {
712
712
  if (singleton4) return singleton4;
713
- const { host, port } = config3.api;
713
+ const { host, port } = config2.mempool.enabled ? config2.mempool : config2.api;
714
714
  const nodeUrl = getUrl2(host, port);
715
715
  const bridge = await initBridge2(nodeUrl);
716
716
  singleton4 = await initBridgedArchivistModule2({
@@ -764,10 +764,10 @@ import { getUrl as getUrl3 } from "@xyo-network/xl1-protocol-sdk";
764
764
  import { Mutex as Mutex8 } from "async-mutex";
765
765
  var mutex7 = new Mutex8();
766
766
  var singleton7;
767
- var initRemotePendingTransactionsArchivist = /* @__PURE__ */ __name(async ({ config: config3 }) => {
767
+ var initRemotePendingTransactionsArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
768
768
  return await mutex7.runExclusive(async () => {
769
769
  if (singleton7) return singleton7;
770
- const { host, port } = config3.api;
770
+ const { host, port } = config2.mempool.enabled ? config2.mempool : config2.api;
771
771
  const nodeUrl = getUrl3(host, port);
772
772
  const bridge = await initBridge3(nodeUrl);
773
773
  singleton7 = await initBridgedArchivistModule3({
@@ -847,10 +847,10 @@ import { assertEx as assertEx9 } from "@xylabs/assert";
847
847
  import { Mutex as Mutex12 } from "async-mutex";
848
848
  var mutex11 = new Mutex12();
849
849
  var singleton11;
850
- var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config: config3 }) => {
850
+ var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
851
851
  return await mutex11.runExclusive(async () => {
852
852
  if (singleton11) return singleton11;
853
- const { root } = config3.storage;
853
+ const { root } = config2.storage;
854
854
  singleton11 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
855
855
  return assertEx9(singleton11, () => new Error("Failed to initialize stake intent state archivist"));
856
856
  });
@@ -939,9 +939,9 @@ import { isUndefined as isUndefined3 } from "@xylabs/typeof";
939
939
  import { HDWallet } from "@xyo-network/wallet";
940
940
  import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-protocol-sdk";
941
941
  var accountServiceSingleton;
942
- var initAccount = /* @__PURE__ */ __name(async ({ config: config3, logger }) => {
942
+ var initAccount = /* @__PURE__ */ __name(async ({ config: config2, logger }) => {
943
943
  if (accountServiceSingleton) return accountServiceSingleton;
944
- let walletPhrase = config3.producer.mnemonic;
944
+ let walletPhrase = config2.producer.mnemonic;
945
945
  if (isUndefined3(walletPhrase)) {
946
946
  logger?.warn("[Producer] No wallet mnemonic specified!");
947
947
  const randomMnemonic = HDWallet.generateMnemonic();
@@ -989,11 +989,11 @@ import { InfuraProvider } from "ethers/providers";
989
989
  import { assertEx as assertEx11 } from "@xylabs/assert";
990
990
  import { hexFrom, isHex } from "@xylabs/hex";
991
991
  import { isDefined as isDefined8 } from "@xylabs/typeof";
992
- var canUseChainId = /* @__PURE__ */ __name((config3) => {
993
- return isDefined8(config3.evm.chainId);
992
+ var canUseChainId = /* @__PURE__ */ __name((config2) => {
993
+ return isDefined8(config2.evm.chainId);
994
994
  }, "canUseChainId");
995
- var getChainId = /* @__PURE__ */ __name((config3) => {
996
- const chainId = assertEx11(config3.evm.chainId, () => "Missing config.evm.chainId");
995
+ var getChainId = /* @__PURE__ */ __name((config2) => {
996
+ const chainId = assertEx11(config2.evm.chainId, () => "Missing config.evm.chainId");
997
997
  if (isHex(chainId, {
998
998
  prefix: true
999
999
  })) {
@@ -1008,20 +1008,20 @@ var getChainId = /* @__PURE__ */ __name((config3) => {
1008
1008
 
1009
1009
  // src/orchestration/services/implementation/evm/initInfuraProvider.ts
1010
1010
  var instance;
1011
- var initInfuraProvider = /* @__PURE__ */ __name((config3) => {
1011
+ var initInfuraProvider = /* @__PURE__ */ __name((config2) => {
1012
1012
  if (instance) return instance;
1013
- const providerConfig = getInfuraProviderConfig(config3);
1013
+ const providerConfig = getInfuraProviderConfig(config2);
1014
1014
  instance = Promise.resolve(new InfuraProvider(...providerConfig));
1015
1015
  return instance;
1016
1016
  }, "initInfuraProvider");
1017
- var canUseInfuraProvider = /* @__PURE__ */ __name((config3) => {
1018
- return canUseChainId(config3) && isDefined9(config3.evm?.infura?.projectId) && isDefined9(config3.evm?.infura?.projectSecret);
1017
+ var canUseInfuraProvider = /* @__PURE__ */ __name((config2) => {
1018
+ return canUseChainId(config2) && isDefined9(config2.evm?.infura?.projectId) && isDefined9(config2.evm?.infura?.projectSecret);
1019
1019
  }, "canUseInfuraProvider");
1020
- var getInfuraProviderConfig = /* @__PURE__ */ __name((config3) => {
1021
- const projectId = assertEx12(config3.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
1022
- const projectSecret = assertEx12(config3.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
1020
+ var getInfuraProviderConfig = /* @__PURE__ */ __name((config2) => {
1021
+ const projectId = assertEx12(config2.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
1022
+ const projectSecret = assertEx12(config2.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
1023
1023
  return [
1024
- getChainId(config3),
1024
+ getChainId(config2),
1025
1025
  projectId,
1026
1026
  projectSecret
1027
1027
  ];
@@ -1031,50 +1031,50 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config3) => {
1031
1031
  import { assertEx as assertEx13 } from "@xylabs/assert";
1032
1032
  import { isDefined as isDefined10 } from "@xylabs/typeof";
1033
1033
  import { JsonRpcProvider } from "ethers/providers";
1034
- var initJsonRpcProvider = /* @__PURE__ */ __name((config3) => {
1035
- const providerConfig = getJsonRpcProviderConfig(config3);
1034
+ var initJsonRpcProvider = /* @__PURE__ */ __name((config2) => {
1035
+ const providerConfig = getJsonRpcProviderConfig(config2);
1036
1036
  return Promise.resolve(new JsonRpcProvider(...providerConfig));
1037
1037
  }, "initJsonRpcProvider");
1038
- var canUseJsonRpcProvider = /* @__PURE__ */ __name((config3) => {
1039
- return canUseChainId(config3) && isDefined10(config3.evm.jsonRpc?.url);
1038
+ var canUseJsonRpcProvider = /* @__PURE__ */ __name((config2) => {
1039
+ return canUseChainId(config2) && isDefined10(config2.evm.jsonRpc?.url);
1040
1040
  }, "canUseJsonRpcProvider");
1041
- var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config3) => {
1042
- const jsonRpcUrl = assertEx13(config3.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
1041
+ var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config2) => {
1042
+ const jsonRpcUrl = assertEx13(config2.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
1043
1043
  return [
1044
1044
  jsonRpcUrl,
1045
- getChainId(config3)
1045
+ getChainId(config2)
1046
1046
  ];
1047
1047
  }, "getJsonRpcProviderConfig");
1048
1048
 
1049
1049
  // src/orchestration/services/implementation/evm/initEvmProvider.ts
1050
1050
  var provider;
1051
- var initEvmProvider = /* @__PURE__ */ __name(async ({ config: config3 }) => {
1051
+ var initEvmProvider = /* @__PURE__ */ __name(async ({ config: config2 }) => {
1052
1052
  if (provider) return provider;
1053
- if (canUseInfuraProvider(config3)) {
1054
- provider = initInfuraProvider(config3);
1055
- } else if (canUseJsonRpcProvider(config3)) {
1056
- provider = initJsonRpcProvider(config3);
1053
+ if (canUseInfuraProvider(config2)) {
1054
+ provider = initInfuraProvider(config2);
1055
+ } else if (canUseJsonRpcProvider(config2)) {
1056
+ provider = initJsonRpcProvider(config2);
1057
1057
  }
1058
1058
  return assertEx14(await provider, () => "Error: No provider available");
1059
1059
  }, "initEvmProvider");
1060
- var canUseEvmProvider = /* @__PURE__ */ __name(({ config: config3 }) => {
1061
- return canUseInfuraProvider(config3) || canUseJsonRpcProvider(config3);
1060
+ var canUseEvmProvider = /* @__PURE__ */ __name(({ config: config2 }) => {
1061
+ return canUseInfuraProvider(config2) || canUseJsonRpcProvider(config2);
1062
1062
  }, "canUseEvmProvider");
1063
1063
 
1064
1064
  // src/orchestration/services/implementation/chain/evm.ts
1065
1065
  var chainStakeServiceSingleton;
1066
- var canUseEvmContractChainService = /* @__PURE__ */ __name((config3) => {
1067
- const { id } = config3.chain;
1066
+ var canUseEvmContractChainService = /* @__PURE__ */ __name((config2) => {
1067
+ const { id } = config2.chain;
1068
1068
  return isDefined11(id) && id !== ZERO_ADDRESS && canUseEvmProvider({
1069
- config: config3
1069
+ config: config2
1070
1070
  });
1071
1071
  }, "canUseEvmContractChainService");
1072
- var initEvmContractChainService = /* @__PURE__ */ __name(async ({ account, config: config3, traceProvider, meterProvider, logger }) => {
1072
+ var initEvmContractChainService = /* @__PURE__ */ __name(async ({ account, config: config2, traceProvider, meterProvider, logger }) => {
1073
1073
  if (chainStakeServiceSingleton) return chainStakeServiceSingleton;
1074
- const emvStakingContractAddress = assertEx15(config3.chain.id, () => "Error: config.chain.id is required");
1074
+ const emvStakingContractAddress = assertEx15(config2.chain.id, () => "Error: config.chain.id is required");
1075
1075
  const id = assertEx15(asAddress(emvStakingContractAddress), () => "Error: config.chain.id is not a valid address");
1076
1076
  const provider2 = assertEx15(await initEvmProvider({
1077
- config: config3
1077
+ config: config2
1078
1078
  }));
1079
1079
  const privateKey = assertEx15(account.private?.hex, () => "Error: Account does not have a private key");
1080
1080
  const runner = new Wallet(privateKey, provider2);
@@ -1090,15 +1090,15 @@ var initEvmContractChainService = /* @__PURE__ */ __name(async ({ account, confi
1090
1090
 
1091
1091
  // src/orchestration/services/implementation/chain/index.ts
1092
1092
  var chainStakeServiceSingleton2;
1093
- var initChainService = /* @__PURE__ */ __name(({ account, config: config3 }) => init({
1094
- config: config3,
1093
+ var initChainService = /* @__PURE__ */ __name(({ account, config: config2 }) => init({
1094
+ config: config2,
1095
1095
  name: "ChainService",
1096
1096
  account
1097
1097
  }), "initChainService");
1098
1098
  var init = /* @__PURE__ */ __name((params) => {
1099
1099
  if (chainStakeServiceSingleton2) return chainStakeServiceSingleton2;
1100
- const { config: config3 } = params;
1101
- chainStakeServiceSingleton2 = canUseEvmContractChainService(config3) ? initEvmContractChainService({
1100
+ const { config: config2 } = params;
1101
+ chainStakeServiceSingleton2 = canUseEvmContractChainService(config2) ? initEvmContractChainService({
1102
1102
  ...params,
1103
1103
  name: "ChainStakeService"
1104
1104
  }) : MemoryChainService.create({
@@ -1386,9 +1386,9 @@ import { EvmBlockRewardService, MemoryBlockRewardService } from "@xyo-network/ch
1386
1386
  var rewardServiceSingleton;
1387
1387
  var initBlockRewardService = /* @__PURE__ */ __name((params) => {
1388
1388
  if (rewardServiceSingleton) return rewardServiceSingleton;
1389
- const { config: config3 } = params;
1389
+ const { config: config2 } = params;
1390
1390
  rewardServiceSingleton = canUseEvmBlockRewardService({
1391
- config: config3
1391
+ config: config2
1392
1392
  }) ? initEvmBlockRewardService(params) : initXyoBlockRewardService(params);
1393
1393
  return rewardServiceSingleton;
1394
1394
  }, "initBlockRewardService");
@@ -1417,12 +1417,12 @@ var initEvmBlockRewardService = /* @__PURE__ */ __name(async (params) => {
1417
1417
  // src/orchestration/services/implementation/time.ts
1418
1418
  import { BaseTimeSyncService } from "@xyo-network/chain-sdk";
1419
1419
  var timeSyncServiceSingleton;
1420
- var initTimeService = /* @__PURE__ */ __name(async ({ chainArchivist, chainIterator, config: config3, logger, meterProvider, traceProvider }) => {
1420
+ var initTimeService = /* @__PURE__ */ __name(async ({ chainArchivist, chainIterator, config: config2, logger, meterProvider, traceProvider }) => {
1421
1421
  if (timeSyncServiceSingleton) return timeSyncServiceSingleton;
1422
1422
  const ethProvider = canUseEvmProvider({
1423
- config: config3
1423
+ config: config2
1424
1424
  }) ? await initEvmProvider({
1425
- config: config3
1425
+ config: config2
1426
1426
  }) : void 0;
1427
1427
  timeSyncServiceSingleton = BaseTimeSyncService.create({
1428
1428
  chainArchivist,
@@ -1547,7 +1547,7 @@ var isStartable = /* @__PURE__ */ __name((value) => {
1547
1547
  return isDefined14(value.start) && typeof value.start === "function";
1548
1548
  }, "isStartable");
1549
1549
  var initServices = /* @__PURE__ */ __name(async (context) => {
1550
- const { config: config3, logger } = context;
1550
+ const { config: config2, logger } = context;
1551
1551
  const statusReporter = new RuntimeStatusMonitor(logger);
1552
1552
  statusReporter.onGlobalTransition({
1553
1553
  to: "started"
@@ -1564,7 +1564,7 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
1564
1564
  ...context,
1565
1565
  statusReporter
1566
1566
  }));
1567
- const { otlpEndpoint } = config3.telemetry?.otel ?? {};
1567
+ const { otlpEndpoint } = config2.telemetry?.otel ?? {};
1568
1568
  const telemetryConfig = {
1569
1569
  attributes: {
1570
1570
  serviceName: "xl1-producer",
@@ -1580,10 +1580,10 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
1580
1580
  startupSpanAsync8("initTelemetry", () => initTelemetry(telemetryConfig)),
1581
1581
  startupSpanAsync8("initAccount", () => initAccount(context))
1582
1582
  ]);
1583
- const allowedRewardRedeemers = config3.validation?.allowedRewardRedeemers ?? [];
1584
- const allowedRewardEscrowAccountSigners = config3.validation?.allowedRewardEscrowAccountSigners ?? [];
1583
+ const allowedRewardRedeemers = config2.validation?.allowedRewardRedeemers ?? [];
1584
+ const allowedRewardEscrowAccountSigners = config2.validation?.allowedRewardEscrowAccountSigners ?? [];
1585
1585
  const initParams = {
1586
- config: config3,
1586
+ config: config2,
1587
1587
  logger,
1588
1588
  meterProvider,
1589
1589
  statusReporter,
@@ -1720,7 +1720,7 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
1720
1720
  validateHydratedBlockState,
1721
1721
  ...initParams
1722
1722
  };
1723
- const rewardAddress = isDefined14(config3.producer.rewardAddress) ? assertEx18(asAddress2(config3.producer.rewardAddress), () => "Invalid block reward address provided") : account.address;
1723
+ const rewardAddress = isDefined14(config2.producer.rewardAddress) ? assertEx18(asAddress2(config2.producer.rewardAddress), () => "Invalid block reward address provided") : account.address;
1724
1724
  const producerParams = {
1725
1725
  ...validatorParams,
1726
1726
  name: "Producer",
@@ -1782,26 +1782,35 @@ function runBridge(context) {
1782
1782
  }
1783
1783
  __name(runBridge, "runBridge");
1784
1784
 
1785
- // src/commands/headReducer/runHeadReducer.ts
1785
+ // src/commands/mempool/runMempool.ts
1786
1786
  import { getServer as getServer3 } from "@xyo-network/chain-head-reducer";
1787
- function runHeadReducer(context) {
1787
+ function runMempool(context) {
1788
1788
  void getServer3(context);
1789
1789
  }
1790
- __name(runHeadReducer, "runHeadReducer");
1790
+ __name(runMempool, "runMempool");
1791
1791
 
1792
1792
  // src/commands/producer/runProducer.ts
1793
1793
  var runProducer = /* @__PURE__ */ __name(async (context) => {
1794
- const { config: config3, logger, orchestrator } = context;
1794
+ const { config: config2, logger, orchestrator } = context;
1795
1795
  logger?.log("Services: Initializing...");
1796
1796
  const services = await initServices(context);
1797
1797
  logger?.log("Services: Initialized");
1798
1798
  const params = {
1799
1799
  ...services,
1800
- config: config3
1800
+ config: config2
1801
1801
  };
1802
- const chainHeadUpdate = await ChainHeadUpdateActor.create(params);
1803
- const balances = await BalanceActor.create(params);
1804
- const producer = await ProducerActor.create(params);
1802
+ const chainHeadUpdate = await ChainHeadUpdateActor.create({
1803
+ ...params,
1804
+ name: "ChainHeadUpdateActor"
1805
+ });
1806
+ const balances = await BalanceActor.create({
1807
+ ...params,
1808
+ name: "BalanceActor"
1809
+ });
1810
+ const producer = await ProducerActor.create({
1811
+ ...params,
1812
+ name: "ProducerActor"
1813
+ });
1805
1814
  const actors = [
1806
1815
  chainHeadUpdate,
1807
1816
  balances,
@@ -1844,14 +1853,14 @@ var XL1LogoColorizedAscii = `\x1B[38;2;128;128;128m\xA0\xA0\xA0\xA0\xA0\xA0\xA0\
1844
1853
  import { Base as Base2 } from "@xylabs/base";
1845
1854
  import { ConsoleLogger, LogLevel, SilentLogger } from "@xylabs/logger";
1846
1855
  import { isDefined as isDefined15 } from "@xylabs/typeof";
1847
- var initLogger = /* @__PURE__ */ __name((config3) => {
1856
+ var initLogger = /* @__PURE__ */ __name((config2) => {
1848
1857
  let logger;
1849
- if (config3.silent) {
1858
+ if (config2.silent) {
1850
1859
  logger = new SilentLogger();
1851
1860
  } else {
1852
1861
  let level;
1853
- if (isDefined15(config3.logLevel)) {
1854
- const parsed = LogLevel[config3.logLevel.toLowerCase()];
1862
+ if (isDefined15(config2.logLevel)) {
1863
+ const parsed = LogLevel[config2.logLevel.toLowerCase()];
1855
1864
  if (isDefined15(parsed)) level = parsed;
1856
1865
  }
1857
1866
  logger = new ConsoleLogger(level);
@@ -1916,10 +1925,10 @@ var waitForHostPort = /* @__PURE__ */ __name((host, port) => {
1916
1925
  }, "waitForHostPort");
1917
1926
 
1918
1927
  // src/runCLI.ts
1919
- var config;
1920
- var version = isDefined17("1.15.27") ? "1.15.27" : "unknown";
1921
- var getContextFromConfig = /* @__PURE__ */ __name((config3) => {
1922
- const logger = initLogger(config3);
1928
+ var configuration;
1929
+ var version = isDefined17("1.16.0") ? "1.16.0" : "unknown";
1930
+ var getContextFromConfig = /* @__PURE__ */ __name((configuration2) => {
1931
+ const logger = initLogger(configuration2);
1923
1932
  const orchestrator = new Orchestrator(logger);
1924
1933
  process.on("SIGINT", () => {
1925
1934
  void (async () => {
@@ -1956,7 +1965,7 @@ $0 <command> [options]`).parserConfiguration({
1956
1965
  const parsedConfigFile = tryParseConfig();
1957
1966
  const parsedConfigArgs = argv2;
1958
1967
  const mergedConfig = deepMerge(parsedConfigArgs, parsedConfigFile);
1959
- config = ConfigZod.parse(mergedConfig);
1968
+ configuration = ConfigZod.parse(mergedConfig);
1960
1969
  } catch (err) {
1961
1970
  if (err instanceof ZodError) {
1962
1971
  console.error(`${err.message}`);
@@ -1966,59 +1975,66 @@ $0 <command> [options]`).parserConfiguration({
1966
1975
  }).options(optionsFromGlobalZodRegistry()).wrap(y.terminalWidth()).command("api", "Run a XL1 API Node", (yargs2) => {
1967
1976
  return yargs2.command("$0", "Run a XL1 API Node", () => {
1968
1977
  }, () => {
1969
- const context = getContextFromConfig(config);
1978
+ const context = getContextFromConfig(configuration);
1970
1979
  runApi({
1971
1980
  ...context,
1972
- config
1981
+ config: configuration
1973
1982
  });
1974
1983
  });
1975
1984
  }).command("bridge", "Run a XL1 Bridge Node", (yargs2) => {
1976
1985
  return yargs2.command("$0", "Run a XL1 Bridge Node", () => {
1977
1986
  }, () => {
1978
- const context = getContextFromConfig(config);
1987
+ const context = getContextFromConfig(configuration);
1979
1988
  runBridge({
1980
1989
  ...context,
1981
- config
1990
+ config: configuration
1982
1991
  });
1983
1992
  });
1984
- }).command("head-reducer", "Run a XL1 Head Reducer Node", (yargs2) => {
1985
- return yargs2.command("$0", "Run a XL1 Head Reducer Node", () => {
1993
+ }).command("mempool", "Run a XL1 Mempool Node", (yargs2) => {
1994
+ return yargs2.command("$0", "Run a XL1 Mempool Node", () => {
1986
1995
  }, () => {
1987
- const context = getContextFromConfig(config);
1988
- runHeadReducer({
1996
+ const context = getContextFromConfig(configuration);
1997
+ runMempool({
1989
1998
  ...context,
1990
- config
1999
+ config: configuration
1991
2000
  });
1992
2001
  });
1993
2002
  }).command("producer", "Run a XL1 Producer Node", (yargs2) => {
1994
2003
  return yargs2.command("$0", "Run a XL1 Producer Node", () => {
1995
2004
  }, async () => {
1996
- const context = getContextFromConfig(config);
2005
+ const context = getContextFromConfig(configuration);
1997
2006
  await runProducer({
1998
2007
  ...context,
1999
- config
2008
+ config: configuration
2000
2009
  });
2001
2010
  });
2002
2011
  }).command("reward-redemption-api", "Run a XL1 Rewards Redemption API Node", (yargs2) => {
2003
2012
  return yargs2.command("$0", "Run a XL1 Rewards Redemption API Node", () => {
2004
2013
  }, () => {
2005
- const context = getContextFromConfig(config);
2014
+ const context = getContextFromConfig(configuration);
2006
2015
  runRewardRedemptionApi({
2007
2016
  ...context,
2008
- config
2017
+ config: configuration
2009
2018
  });
2010
2019
  });
2011
2020
  }).command("$0", "Run a full XL1 Node", () => {
2012
2021
  }, async () => {
2013
- const context = getContextFromConfig(config);
2022
+ const context = getContextFromConfig(configuration);
2023
+ if (configuration.mempool.enabled) {
2024
+ runMempool({
2025
+ ...context,
2026
+ config: configuration
2027
+ });
2028
+ await waitForHostPort(configuration.mempool.host, configuration.mempool.port);
2029
+ }
2014
2030
  runApi({
2015
2031
  ...context,
2016
- config
2032
+ config: configuration
2017
2033
  });
2018
- await waitForHostPort("localhost", config.api.port);
2034
+ await waitForHostPort(configuration.api.host, configuration.api.port);
2019
2035
  await runProducer({
2020
2036
  ...context,
2021
- config
2037
+ config: configuration
2022
2038
  });
2023
2039
  }).help().alias("help", "h").version(version).argv;
2024
2040
  await argv;
@@ -2026,9 +2042,9 @@ $0 <command> [options]`).parserConfiguration({
2026
2042
  __name(runCLI, "runCLI");
2027
2043
 
2028
2044
  // src/start.ts
2029
- import { config as config2 } from "dotenv";
2045
+ import { config } from "dotenv";
2030
2046
  var start = /* @__PURE__ */ __name(async () => {
2031
- config2({
2047
+ config({
2032
2048
  quiet: true
2033
2049
  });
2034
2050
  await runCLI();