@xyo-network/chain-orchestration 1.20.8 → 1.20.9

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 (188) hide show
  1. package/dist/browser/index.mjs +178 -332
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/browser/neutral/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  4. package/dist/browser/neutral/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  5. package/dist/browser/neutral/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  6. package/dist/browser/neutral/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  7. package/dist/browser/neutral/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
  8. package/dist/browser/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  9. package/dist/browser/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  10. package/dist/browser/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  11. package/dist/browser/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  12. package/dist/browser/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
  13. package/dist/browser/node/config/locators/index.d.ts +2 -0
  14. package/dist/browser/node/config/locators/index.d.ts.map +1 -1
  15. package/dist/browser/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  16. package/dist/browser/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
  17. package/dist/browser/node/evm/index.d.ts.map +1 -0
  18. package/dist/browser/node/evm/initChainId.d.ts.map +1 -0
  19. package/dist/browser/node/evm/initEvmProvider.d.ts.map +1 -0
  20. package/dist/browser/node/evm/initInfuraProvider.d.ts.map +1 -0
  21. package/dist/browser/node/evm/initJsonRpcProvider.d.ts.map +1 -0
  22. package/dist/browser/node/index.d.ts +1 -0
  23. package/dist/browser/node/index.d.ts.map +1 -1
  24. package/dist/browser/node/init/index.d.ts +1 -0
  25. package/dist/browser/node/init/index.d.ts.map +1 -1
  26. package/dist/browser/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
  27. package/dist/browser/shared/actor/ValidatorActor.d.ts +3 -1
  28. package/dist/browser/shared/actor/ValidatorActor.d.ts.map +1 -1
  29. package/dist/browser/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
  30. package/dist/browser/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
  31. package/dist/browser/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
  32. package/dist/browser/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
  33. package/dist/browser/shared/config/locators/index.d.ts +2 -2
  34. package/dist/browser/shared/config/locators/index.d.ts.map +1 -1
  35. package/dist/browser/shared/index.d.ts +0 -1
  36. package/dist/browser/shared/index.d.ts.map +1 -1
  37. package/dist/browser/shared/init/index.d.ts +0 -1
  38. package/dist/browser/shared/init/index.d.ts.map +1 -1
  39. package/dist/neutral/index.mjs +178 -332
  40. package/dist/neutral/index.mjs.map +1 -1
  41. package/dist/neutral/neutral/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  42. package/dist/neutral/neutral/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  43. package/dist/neutral/neutral/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  44. package/dist/neutral/neutral/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  45. package/dist/neutral/neutral/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
  46. package/dist/neutral/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  47. package/dist/neutral/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  48. package/dist/neutral/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  49. package/dist/neutral/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  50. package/dist/neutral/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
  51. package/dist/neutral/node/config/locators/index.d.ts +2 -0
  52. package/dist/neutral/node/config/locators/index.d.ts.map +1 -1
  53. package/dist/neutral/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  54. package/dist/neutral/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
  55. package/dist/neutral/node/evm/index.d.ts.map +1 -0
  56. package/dist/neutral/node/evm/initChainId.d.ts.map +1 -0
  57. package/dist/neutral/node/evm/initEvmProvider.d.ts.map +1 -0
  58. package/dist/neutral/node/evm/initInfuraProvider.d.ts.map +1 -0
  59. package/dist/neutral/node/evm/initJsonRpcProvider.d.ts.map +1 -0
  60. package/dist/neutral/node/index.d.ts +1 -0
  61. package/dist/neutral/node/index.d.ts.map +1 -1
  62. package/dist/neutral/node/init/index.d.ts +1 -0
  63. package/dist/neutral/node/init/index.d.ts.map +1 -1
  64. package/dist/neutral/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
  65. package/dist/neutral/shared/actor/ValidatorActor.d.ts +3 -1
  66. package/dist/neutral/shared/actor/ValidatorActor.d.ts.map +1 -1
  67. package/dist/neutral/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
  68. package/dist/neutral/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
  69. package/dist/neutral/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
  70. package/dist/neutral/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
  71. package/dist/neutral/shared/config/locators/index.d.ts +2 -2
  72. package/dist/neutral/shared/config/locators/index.d.ts.map +1 -1
  73. package/dist/neutral/shared/index.d.ts +0 -1
  74. package/dist/neutral/shared/index.d.ts.map +1 -1
  75. package/dist/neutral/shared/init/index.d.ts +0 -1
  76. package/dist/neutral/shared/init/index.d.ts.map +1 -1
  77. package/dist/node/index.mjs +415 -366
  78. package/dist/node/index.mjs.map +1 -1
  79. package/dist/node/neutral/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  80. package/dist/node/neutral/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  81. package/dist/node/neutral/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  82. package/dist/node/neutral/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  83. package/dist/node/neutral/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
  84. package/dist/node/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  85. package/dist/node/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  86. package/dist/node/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  87. package/dist/node/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  88. package/dist/node/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
  89. package/dist/node/node/config/locators/index.d.ts +2 -0
  90. package/dist/node/node/config/locators/index.d.ts.map +1 -1
  91. package/dist/node/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  92. package/dist/node/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
  93. package/dist/node/node/evm/index.d.ts.map +1 -0
  94. package/dist/node/node/evm/initChainId.d.ts.map +1 -0
  95. package/dist/node/node/evm/initEvmProvider.d.ts.map +1 -0
  96. package/dist/node/node/evm/initInfuraProvider.d.ts.map +1 -0
  97. package/dist/node/node/evm/initJsonRpcProvider.d.ts.map +1 -0
  98. package/dist/node/node/index.d.ts +1 -0
  99. package/dist/node/node/index.d.ts.map +1 -1
  100. package/dist/node/node/init/index.d.ts +1 -0
  101. package/dist/node/node/init/index.d.ts.map +1 -1
  102. package/dist/node/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
  103. package/dist/node/shared/actor/ValidatorActor.d.ts +3 -1
  104. package/dist/node/shared/actor/ValidatorActor.d.ts.map +1 -1
  105. package/dist/node/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
  106. package/dist/node/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
  107. package/dist/node/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
  108. package/dist/node/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
  109. package/dist/node/shared/config/locators/index.d.ts +2 -2
  110. package/dist/node/shared/config/locators/index.d.ts.map +1 -1
  111. package/dist/node/shared/index.d.ts +0 -1
  112. package/dist/node/shared/index.d.ts.map +1 -1
  113. package/dist/node/shared/init/index.d.ts +0 -1
  114. package/dist/node/shared/init/index.d.ts.map +1 -1
  115. package/package.json +17 -17
  116. package/src/neutral/config/locators/basicRemoteRunnerLocator.ts +3 -26
  117. package/src/neutral/config/locators/basicRemoteViewerLocator.ts +3 -29
  118. package/src/neutral/config/locators/rootLocatorFromConfig.ts +2 -4
  119. package/src/node/config/locators/basicRemoteRunnerLocator.ts +22 -31
  120. package/src/node/config/locators/basicRemoteViewerLocator.ts +10 -34
  121. package/src/{shared → node}/config/locators/contextFromConfigWithoutLocator.ts +1 -1
  122. package/src/node/config/locators/index.ts +2 -0
  123. package/src/node/config/locators/localLocatorFromConfig.ts +1 -1
  124. package/src/node/config/locators/locatorsFromConfig.ts +2 -3
  125. package/src/node/config/locators/rootLocatorFromConfig.ts +1 -1
  126. package/src/node/index.ts +1 -0
  127. package/src/node/init/index.ts +1 -0
  128. package/src/shared/actor/ValidatorActor.ts +9 -2
  129. package/src/shared/config/locators/basicRemoteRunnerLocator.ts +63 -0
  130. package/src/shared/config/locators/basicRemoteViewerLocator.ts +44 -0
  131. package/src/shared/config/locators/index.ts +2 -2
  132. package/src/shared/index.ts +0 -1
  133. package/src/shared/init/index.ts +0 -1
  134. package/dist/browser/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
  135. package/dist/browser/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
  136. package/dist/browser/shared/evm/index.d.ts.map +0 -1
  137. package/dist/browser/shared/evm/initChainId.d.ts.map +0 -1
  138. package/dist/browser/shared/evm/initEvmProvider.d.ts.map +0 -1
  139. package/dist/browser/shared/evm/initInfuraProvider.d.ts.map +0 -1
  140. package/dist/browser/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
  141. package/dist/browser/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
  142. package/dist/neutral/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
  143. package/dist/neutral/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
  144. package/dist/neutral/shared/evm/index.d.ts.map +0 -1
  145. package/dist/neutral/shared/evm/initChainId.d.ts.map +0 -1
  146. package/dist/neutral/shared/evm/initEvmProvider.d.ts.map +0 -1
  147. package/dist/neutral/shared/evm/initInfuraProvider.d.ts.map +0 -1
  148. package/dist/neutral/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
  149. package/dist/neutral/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
  150. package/dist/node/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
  151. package/dist/node/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
  152. package/dist/node/shared/evm/index.d.ts.map +0 -1
  153. package/dist/node/shared/evm/initChainId.d.ts.map +0 -1
  154. package/dist/node/shared/evm/initEvmProvider.d.ts.map +0 -1
  155. package/dist/node/shared/evm/initInfuraProvider.d.ts.map +0 -1
  156. package/dist/node/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
  157. package/dist/node/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
  158. /package/dist/browser/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
  159. /package/dist/browser/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
  160. /package/dist/browser/{shared → node}/evm/index.d.ts +0 -0
  161. /package/dist/browser/{shared → node}/evm/initChainId.d.ts +0 -0
  162. /package/dist/browser/{shared → node}/evm/initEvmProvider.d.ts +0 -0
  163. /package/dist/browser/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
  164. /package/dist/browser/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
  165. /package/dist/browser/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
  166. /package/dist/neutral/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
  167. /package/dist/neutral/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
  168. /package/dist/neutral/{shared → node}/evm/index.d.ts +0 -0
  169. /package/dist/neutral/{shared → node}/evm/initChainId.d.ts +0 -0
  170. /package/dist/neutral/{shared → node}/evm/initEvmProvider.d.ts +0 -0
  171. /package/dist/neutral/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
  172. /package/dist/neutral/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
  173. /package/dist/neutral/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
  174. /package/dist/node/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
  175. /package/dist/node/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
  176. /package/dist/node/{shared → node}/evm/index.d.ts +0 -0
  177. /package/dist/node/{shared → node}/evm/initChainId.d.ts +0 -0
  178. /package/dist/node/{shared → node}/evm/initEvmProvider.d.ts +0 -0
  179. /package/dist/node/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
  180. /package/dist/node/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
  181. /package/dist/node/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
  182. /package/src/{shared → node}/config/locators/telemetryContextFromConfig.ts +0 -0
  183. /package/src/{shared → node}/evm/index.ts +0 -0
  184. /package/src/{shared → node}/evm/initChainId.ts +0 -0
  185. /package/src/{shared → node}/evm/initEvmProvider.ts +0 -0
  186. /package/src/{shared → node}/evm/initInfuraProvider.ts +0 -0
  187. /package/src/{shared → node}/evm/initJsonRpcProvider.ts +0 -0
  188. /package/src/{shared → node}/init/initEvmProvidersIfAvailable.ts +0 -0
@@ -4,7 +4,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
4
4
  // src/shared/actor/ValidatorActor.ts
5
5
  import { creatable } from "@xylabs/sdk-js";
6
6
  import { processPendingBlocks } from "@xyo-network/chain-sdk";
7
- import { ActorV3, BlockViewerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
7
+ import { ActorV3, BlockValidationViewerMoniker, BlockViewerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
8
8
  function _ts_decorate(decorators, target, key, desc) {
9
9
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
10
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -16,6 +16,7 @@ var ValidatorActor = class extends ActorV3 {
16
16
  static {
17
17
  __name(this, "ValidatorActor");
18
18
  }
19
+ _blockValidationViewer;
19
20
  _blockViewer;
20
21
  _finalizationRunner;
21
22
  _lastValidatedBlock;
@@ -24,6 +25,9 @@ var ValidatorActor = class extends ActorV3 {
24
25
  get allowedProducers() {
25
26
  return this.params.config.allowedProducers ?? [];
26
27
  }
28
+ get blockValidationViewer() {
29
+ return this._blockValidationViewer;
30
+ }
27
31
  get blockViewer() {
28
32
  return this._blockViewer;
29
33
  }
@@ -35,6 +39,7 @@ var ValidatorActor = class extends ActorV3 {
35
39
  }
36
40
  async createHandler() {
37
41
  await super.startHandler();
42
+ this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
38
43
  this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
39
44
  this._finalizationRunner = await this.locator.getInstance(FinalizationRunnerMoniker);
40
45
  this._mempoolViewer = await this.locator.getInstance(MempoolViewerMoniker);
@@ -45,6 +50,7 @@ var ValidatorActor = class extends ActorV3 {
45
50
  await this.spanAsync("processPendingBlocks", async () => {
46
51
  console.log("ValidatorActor: Processing pending blocks...");
47
52
  await processPendingBlocks({
53
+ blockValidationViewer: this.blockValidationViewer,
48
54
  context: this.context,
49
55
  logger: this.logger,
50
56
  mempoolViewer: this.mempoolViewer,
@@ -348,6 +354,14 @@ var isValidatorConfigContext = zodIsFactory6(ValidatorConfigContext);
348
354
  var asValidatorConfigContext = zodAsFactory6(ValidatorConfigContext, "asValidatorConfigContext");
349
355
  var toValidatorConfigContext = zodToFactory6(ValidatorConfigContext, "toValidatorConfigContext");
350
356
 
357
+ // src/shared/config/locators/basicRemoteRunnerLocator.ts
358
+ import { isDefined as isDefined2 } from "@xylabs/sdk-js";
359
+ import { JsonRpcXyoRunner, JsonRpcXyoSigner, ProviderFactoryLocator as ProviderFactoryLocator4, RestDataLakeViewer as RestDataLakeViewer2, SimpleXyoConnectionRunner, SimpleXyoGatewayRunner } from "@xyo-network/xl1-sdk";
360
+
361
+ // src/shared/config/locators/basicRemoteViewerLocator.ts
362
+ import { isDefined } from "@xylabs/sdk-js";
363
+ import { ActorConfigZod as ActorConfigZod2, ProviderFactoryLocator as ProviderFactoryLocator3, RestDataLakeViewer, SimpleTransactionViewer as SimpleTransactionViewer2, SimpleXyoConnectionViewer, SimpleXyoGateway } from "@xyo-network/xl1-sdk";
364
+
351
365
  // src/shared/config/locators/commonLocatorFromConfig.ts
352
366
  import { validateHydratedBlock, validateHydratedBlockState } from "@xyo-network/chain-validation";
353
367
  import { BlockCumulativeBalanceValidatorFactory, ProviderFactoryLocator, SimpleBlockRewardViewer, SimpleBlockValidationViewer, SimpleNetworkStakeViewer, SimpleStepRewardsByPositionViewer, SimpleStepRewardsByStakerViewer, SimpleStepRewardsByStepViewer, SimpleStepRewardsTotalViewer, SimpleStepRewardsViewer, SimpleStepViewer, SimpleTimeSyncViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer } from "@xyo-network/xl1-sdk";
@@ -388,14 +402,163 @@ function commonLocatorFromConfig(context, validateDepsOnRegister = false) {
388
402
  }
389
403
  __name(commonLocatorFromConfig, "commonLocatorFromConfig");
390
404
 
405
+ // src/shared/config/locators/remoteLocatorFromConfig.ts
406
+ import { JsonRpcAccountBalanceViewer, JsonRpcBlockViewer, JsonRpcFinalizationViewer, JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcNetworkStakeViewer, JsonRpcStakeViewer, JsonRpcTransactionViewer, JsonRpcXyoViewer, ProviderFactoryLocator as ProviderFactoryLocator2, SimpleStakeEventsViewer } from "@xyo-network/xl1-sdk";
407
+ function remoteLocatorFromConfig(context, validateDepsOnRegister = false) {
408
+ const locator = new ProviderFactoryLocator2(context, {}, validateDepsOnRegister);
409
+ locator.registerMany([
410
+ JsonRpcMempoolViewer.factory(JsonRpcMempoolViewer.dependencies, {}),
411
+ JsonRpcMempoolRunner.factory(JsonRpcMempoolRunner.dependencies, {}),
412
+ JsonRpcAccountBalanceViewer.factory(JsonRpcAccountBalanceViewer.dependencies, {}),
413
+ JsonRpcFinalizationViewer.factory(JsonRpcFinalizationViewer.dependencies, {}),
414
+ JsonRpcBlockViewer.factory(JsonRpcBlockViewer.dependencies, {}),
415
+ JsonRpcTransactionViewer.factory(JsonRpcTransactionViewer.dependencies, {}),
416
+ JsonRpcNetworkStakeViewer.factory(JsonRpcNetworkStakeViewer.dependencies, {}),
417
+ JsonRpcStakeViewer.factory(JsonRpcStakeViewer.dependencies, {}),
418
+ SimpleStakeEventsViewer.factory(SimpleStakeEventsViewer.dependencies, {
419
+ positions: []
420
+ }),
421
+ JsonRpcXyoViewer.factory(JsonRpcXyoViewer.dependencies, {})
422
+ ]);
423
+ return locator;
424
+ }
425
+ __name(remoteLocatorFromConfig, "remoteLocatorFromConfig");
426
+
427
+ // src/shared/config/locators/basicRemoteViewerLocator.ts
428
+ async function baseBasicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint, options) {
429
+ const config = ActorConfigZod2.parse({
430
+ name,
431
+ remote: remoteConfig
432
+ });
433
+ const rootLocator = await commonLocatorFromConfig({
434
+ config,
435
+ singletons: {},
436
+ caches: {}
437
+ });
438
+ const remoteLocator = await remoteLocatorFromConfig(rootLocator.context);
439
+ const locator = new ProviderFactoryLocator3(remoteLocator.context, {});
440
+ locator.registerMany([
441
+ SimpleXyoGateway.factory(SimpleXyoGateway.dependencies, {}),
442
+ SimpleXyoConnectionViewer.factory(SimpleXyoConnectionViewer.dependencies, {}),
443
+ SimpleTransactionViewer2.factory(SimpleTransactionViewer2.dependencies, {}),
444
+ ...options?.additionalProviders ?? []
445
+ ]);
446
+ if (isDefined(dataLakeEndpoint)) {
447
+ const dataLakeViewerParams = {
448
+ endpoint: dataLakeEndpoint
449
+ };
450
+ locator.register(RestDataLakeViewer.factory(RestDataLakeViewer.dependencies, dataLakeViewerParams));
451
+ }
452
+ locator.freeze();
453
+ return locator;
454
+ }
455
+ __name(baseBasicRemoteViewerLocator, "baseBasicRemoteViewerLocator");
456
+
457
+ // src/shared/config/locators/basicRemoteRunnerLocator.ts
458
+ async function baseBasicRemoteRunnerLocator(name, remoteConfig, signerTransport, dataLakeEndpoint, options) {
459
+ const remoteViewerLocator = await baseBasicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint, options);
460
+ const locator = new ProviderFactoryLocator4(remoteViewerLocator.context, {});
461
+ const providers = [
462
+ SimpleXyoConnectionRunner.factory(SimpleXyoConnectionRunner.dependencies, {}),
463
+ JsonRpcXyoRunner.factory(JsonRpcXyoRunner.dependencies, {})
464
+ ];
465
+ if (!options?.skipGatewayRunner) {
466
+ providers.push(SimpleXyoGatewayRunner.factory(SimpleXyoGatewayRunner.dependencies, {}));
467
+ }
468
+ locator.registerMany([
469
+ ...providers,
470
+ ...options?.additionalRunnerProviders ?? []
471
+ ]);
472
+ if (options?.signerFactory) {
473
+ locator.register(options.signerFactory);
474
+ } else {
475
+ locator.register(JsonRpcXyoSigner.factory(JsonRpcXyoSigner.dependencies, {
476
+ transport: signerTransport
477
+ }));
478
+ }
479
+ if (isDefined2(dataLakeEndpoint)) {
480
+ const dataLakeViewerParams = {
481
+ endpoint: dataLakeEndpoint
482
+ };
483
+ locator.register(RestDataLakeViewer2.factory(RestDataLakeViewer2.dependencies, dataLakeViewerParams));
484
+ }
485
+ locator.freeze();
486
+ return locator;
487
+ }
488
+ __name(baseBasicRemoteRunnerLocator, "baseBasicRemoteRunnerLocator");
489
+
490
+ // src/shared/config/mergeConfig.ts
491
+ import { deepMerge } from "@xylabs/sdk-js";
492
+ function mergeConfig({ actors, ...baseConfig }) {
493
+ return {
494
+ ...baseConfig,
495
+ actors: actors.map((actor) => {
496
+ return deepMerge(baseConfig, actor);
497
+ })
498
+ };
499
+ }
500
+ __name(mergeConfig, "mergeConfig");
501
+
502
+ // src/shared/createDeclarationIntentBlock.ts
503
+ import { buildNextBlock } from "@xyo-network/chain-sdk";
504
+ import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
505
+ async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, range) {
506
+ const producerDeclarationPayload = createDeclarationIntent(producerAccount.address, "producer", range[0], range[1]);
507
+ return await buildNextBlock(prevBlock, [], [
508
+ producerDeclarationPayload
509
+ ], [
510
+ producerAccount
511
+ ]);
512
+ }
513
+ __name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
514
+
515
+ // src/shared/host/implementation/DefaultHost.ts
516
+ var GenericHost = class {
517
+ static {
518
+ __name(this, "GenericHost");
519
+ }
520
+ services;
521
+ constructor(services) {
522
+ this.services = services;
523
+ }
524
+ async start() {
525
+ await Promise.resolve();
526
+ console.log("Host is starting...");
527
+ }
528
+ async stop() {
529
+ await Promise.resolve();
530
+ console.log("Host is stopping...");
531
+ }
532
+ };
533
+
534
+ // src/shared/host/implementation/DefaultServiceProvider.ts
535
+ var DefaultServiceProvider = class {
536
+ static {
537
+ __name(this, "DefaultServiceProvider");
538
+ }
539
+ _services;
540
+ constructor(services) {
541
+ this._services = services;
542
+ }
543
+ getService(serviceIdentifier) {
544
+ return this._services[serviceIdentifier];
545
+ }
546
+ };
547
+
548
+ // src/shared/host/model/ServiceCollection.ts
549
+ var ServiceLifetime = {
550
+ Singleton: "Singleton",
551
+ Transient: "Transient"
552
+ };
553
+
391
554
  // src/shared/init/initActorAccount.ts
392
- import { isDefined, isUndefined } from "@xylabs/sdk-js";
555
+ import { isDefined as isDefined3, isUndefined } from "@xylabs/sdk-js";
393
556
  import { HDWallet } from "@xyo-network/sdk-js";
394
557
  import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-sdk";
395
558
  var actorAccountSingletons = {};
396
559
  async function initActorAccount({ config, logger }) {
397
560
  const actorName = config.name;
398
- if (isDefined(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
561
+ if (isDefined3(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
399
562
  let walletPhrase = config.mnemonic;
400
563
  if (isUndefined(walletPhrase)) {
401
564
  logger?.warn(`[${actorName}}] No wallet mnemonic specified!`);
@@ -471,141 +634,6 @@ async function initBridgedArchivistModule({ bridge, moduleName }) {
471
634
  }
472
635
  __name(initBridgedArchivistModule, "initBridgedArchivistModule");
473
636
 
474
- // src/shared/init/initEvmProvidersIfAvailable.ts
475
- import { asEthAddress, assertEx as assertEx7 } from "@xylabs/sdk-js";
476
- import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeTotalsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
477
- import { SimpleChainContractViewer, SimpleStakeEventsViewer, SimpleStakeTotalsViewer, SimpleStakeViewer, SimpleTimeSyncViewer as SimpleTimeSyncViewer2, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
478
-
479
- // src/shared/evm/initChainId.ts
480
- import { assertEx as assertEx3, hexFrom, isDefined as isDefined2, isHex } from "@xylabs/sdk-js";
481
- var canUseChainId = /* @__PURE__ */ __name(({ config }) => {
482
- return isDefined2(config.evm.chainId);
483
- }, "canUseChainId");
484
- var getChainId = /* @__PURE__ */ __name(({ config }) => {
485
- const chainId = assertEx3(config.evm.chainId, () => "Missing config.evm.chainId");
486
- if (isHex(chainId, {
487
- prefix: true
488
- })) {
489
- const hex = hexFrom(chainId);
490
- const parsed = Number.parseInt(hex, 16);
491
- return parsed;
492
- } else {
493
- const parsed = Number.parseInt(chainId, 10);
494
- return parsed;
495
- }
496
- }, "getChainId");
497
-
498
- // src/shared/evm/initEvmProvider.ts
499
- import { assertEx as assertEx6 } from "@xylabs/sdk-js";
500
-
501
- // src/shared/evm/initInfuraProvider.ts
502
- import { assertEx as assertEx4, isDefined as isDefined3 } from "@xylabs/sdk-js";
503
- import { InfuraProvider } from "ethers/providers";
504
- var instance;
505
- var initInfuraProvider = /* @__PURE__ */ __name((context) => {
506
- if (instance) return instance;
507
- const providerConfig = getInfuraProviderConfig(context);
508
- instance = Promise.resolve(new InfuraProvider(providerConfig[0], providerConfig[1]));
509
- return instance;
510
- }, "initInfuraProvider");
511
- var canUseInfuraProvider = /* @__PURE__ */ __name((context) => {
512
- const { config } = context;
513
- return canUseChainId(context) && isDefined3(config.evm?.infura?.projectId) && isDefined3(config.evm?.infura?.projectSecret);
514
- }, "canUseInfuraProvider");
515
- var getInfuraProviderConfig = /* @__PURE__ */ __name((context) => {
516
- const { config } = context;
517
- const projectId = assertEx4(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
518
- const projectSecret = assertEx4(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
519
- return [
520
- getChainId(context),
521
- projectId,
522
- projectSecret
523
- ];
524
- }, "getInfuraProviderConfig");
525
-
526
- // src/shared/evm/initJsonRpcProvider.ts
527
- import { assertEx as assertEx5, isDefined as isDefined4 } from "@xylabs/sdk-js";
528
- import { JsonRpcProvider } from "ethers/providers";
529
- var initJsonRpcProvider = /* @__PURE__ */ __name((context) => {
530
- const providerConfig = getJsonRpcProviderConfig(context);
531
- return Promise.resolve(new JsonRpcProvider(...providerConfig));
532
- }, "initJsonRpcProvider");
533
- var canUseJsonRpcProvider = /* @__PURE__ */ __name((context) => {
534
- const { config } = context;
535
- return canUseChainId(context) && isDefined4(config.evm.jsonRpc?.url);
536
- }, "canUseJsonRpcProvider");
537
- var getJsonRpcProviderConfig = /* @__PURE__ */ __name((context) => {
538
- const { config } = context;
539
- const jsonRpcUrl = assertEx5(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
540
- return [
541
- jsonRpcUrl,
542
- getChainId(context)
543
- ];
544
- }, "getJsonRpcProviderConfig");
545
-
546
- // src/shared/evm/initEvmProvider.ts
547
- var provider;
548
- var initEvmProvider = /* @__PURE__ */ __name(async (context) => {
549
- if (provider) return provider;
550
- if (canUseInfuraProvider(context)) {
551
- provider = initInfuraProvider(context);
552
- } else if (canUseJsonRpcProvider(context)) {
553
- provider = initJsonRpcProvider(context);
554
- }
555
- return assertEx6(await provider, () => "No provider available");
556
- }, "initEvmProvider");
557
- var canUseEvmProvider = /* @__PURE__ */ __name((context) => {
558
- return canUseInfuraProvider(context) || canUseJsonRpcProvider(context);
559
- }, "canUseEvmProvider");
560
-
561
- // src/shared/init/initEvmProvidersIfAvailable.ts
562
- async function initEvmProvidersIfAvailable(locator) {
563
- const context = locator.context;
564
- const { logger } = context;
565
- if (canUseEvmProvider(context)) {
566
- const chainId = assertEx7(context.config.chain.id, () => "Missing config.chain.id (required for EVM providers)");
567
- const provider2 = await initEvmProvider(context);
568
- const address = asEthAddress(chainId, true);
569
- locator.register(EvmStakeEventsViewer.factory(EvmStakeEventsViewer.dependencies, {
570
- address,
571
- provider: provider2
572
- }));
573
- locator.register(EvmStakeViewer.factory(EvmStakeViewer.dependencies, {
574
- address,
575
- provider: provider2
576
- }));
577
- locator.register(EvmStakeTotalsViewer.factory(EvmStakeTotalsViewer.dependencies, {
578
- address,
579
- provider: provider2
580
- }));
581
- locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
582
- address,
583
- provider: provider2
584
- }));
585
- locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {
586
- ethProvider: provider2
587
- }));
588
- } else {
589
- logger?.warn("EVM provider not available - running with memory based contract/stake viewers");
590
- const positions = [];
591
- locator.register(SimpleStakeEventsViewer.factory(SimpleStakeEventsViewer.dependencies, {
592
- positions
593
- }));
594
- locator.register(SimpleStakeViewer.factory(SimpleStakeViewer.dependencies, {
595
- positions
596
- }));
597
- locator.register(SimpleStakeTotalsViewer.factory(SimpleStakeTotalsViewer.dependencies, {}));
598
- locator.register(SimpleChainContractViewer.factory(SimpleChainContractViewer.dependencies, {
599
- minWithdrawalBlocks: 10,
600
- stakingTokenAddress: XYO_ZERO_ADDRESS,
601
- rewardsContract: XYO_ZERO_ADDRESS
602
- }));
603
- locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {}));
604
- }
605
- return locator;
606
- }
607
- __name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
608
-
609
637
  // src/shared/init/initStatusReporter.ts
610
638
  import { RuntimeStatusMonitor } from "@xyo-network/xl1-sdk";
611
639
  function initStatusReporter({ logger }) {
@@ -626,139 +654,15 @@ function initStatusReporter({ logger }) {
626
654
  __name(initStatusReporter, "initStatusReporter");
627
655
 
628
656
  // src/shared/init/initWallet.ts
629
- import { isDefined as isDefined5 } from "@xylabs/sdk-js";
657
+ import { isDefined as isDefined4 } from "@xylabs/sdk-js";
630
658
  import { boot } from "@xyo-network/bios";
631
659
  import { HDWallet as HDWallet3 } from "@xyo-network/sdk-js";
632
660
  async function initActorWallet(context, mnemonic) {
633
- const bios = await boot();
634
- const seedPhrase = isDefined5(mnemonic) ? mnemonic : await initActorSeedPhrase(context, bios);
635
- return await HDWallet3.fromPhrase(seedPhrase);
636
- }
637
- __name(initActorWallet, "initActorWallet");
638
-
639
- // src/shared/config/locators/telemetryContextFromConfig.ts
640
- import { initTelemetry } from "@xyo-network/chain-telemetry";
641
- async function telemetryContextFromConfig(config, serviceName, serviceVersion) {
642
- const { otlpEndpoint } = config.telemetry?.otel ?? {};
643
- const { path: endpoint = "/metrics", port = 9466 } = config.telemetry?.metrics?.scrape ?? {};
644
- return await initTelemetry({
645
- attributes: {
646
- serviceName,
647
- serviceVersion
648
- },
649
- otlpEndpoint,
650
- metricsConfig: {
651
- endpoint,
652
- port
653
- }
654
- });
655
- }
656
- __name(telemetryContextFromConfig, "telemetryContextFromConfig");
657
-
658
- // src/shared/config/locators/contextFromConfigWithoutLocator.ts
659
- async function contextFromConfigWithoutLocator(config, logger, serviceName, serviceVersion) {
660
- const singletons = {};
661
- const caches = {};
662
- const telemetryConfig = await telemetryContextFromConfig(config, serviceName, serviceVersion);
663
- const statusReporter = initStatusReporter({
664
- logger
665
- });
666
- return {
667
- ...telemetryConfig,
668
- config,
669
- singletons,
670
- caches,
671
- logger,
672
- statusReporter
673
- };
674
- }
675
- __name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
676
-
677
- // src/shared/config/locators/remoteLocatorFromConfig.ts
678
- import { JsonRpcAccountBalanceViewer, JsonRpcBlockViewer, JsonRpcFinalizationViewer, JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcNetworkStakeViewer, JsonRpcStakeViewer, JsonRpcTransactionViewer, JsonRpcXyoViewer, ProviderFactoryLocator as ProviderFactoryLocator2, SimpleStakeEventsViewer as SimpleStakeEventsViewer2 } from "@xyo-network/xl1-sdk";
679
- function remoteLocatorFromConfig(context, validateDepsOnRegister = false) {
680
- const locator = new ProviderFactoryLocator2(context, {}, validateDepsOnRegister);
681
- locator.registerMany([
682
- JsonRpcMempoolViewer.factory(JsonRpcMempoolViewer.dependencies, {}),
683
- JsonRpcMempoolRunner.factory(JsonRpcMempoolRunner.dependencies, {}),
684
- JsonRpcAccountBalanceViewer.factory(JsonRpcAccountBalanceViewer.dependencies, {}),
685
- JsonRpcFinalizationViewer.factory(JsonRpcFinalizationViewer.dependencies, {}),
686
- JsonRpcBlockViewer.factory(JsonRpcBlockViewer.dependencies, {}),
687
- JsonRpcTransactionViewer.factory(JsonRpcTransactionViewer.dependencies, {}),
688
- JsonRpcNetworkStakeViewer.factory(JsonRpcNetworkStakeViewer.dependencies, {}),
689
- JsonRpcStakeViewer.factory(JsonRpcStakeViewer.dependencies, {}),
690
- SimpleStakeEventsViewer2.factory(SimpleStakeEventsViewer2.dependencies, {
691
- positions: []
692
- }),
693
- JsonRpcXyoViewer.factory(JsonRpcXyoViewer.dependencies, {})
694
- ]);
695
- return locator;
696
- }
697
- __name(remoteLocatorFromConfig, "remoteLocatorFromConfig");
698
-
699
- // src/shared/config/mergeConfig.ts
700
- import { deepMerge } from "@xylabs/sdk-js";
701
- function mergeConfig({ actors, ...baseConfig }) {
702
- return {
703
- ...baseConfig,
704
- actors: actors.map((actor) => {
705
- return deepMerge(baseConfig, actor);
706
- })
707
- };
708
- }
709
- __name(mergeConfig, "mergeConfig");
710
-
711
- // src/shared/createDeclarationIntentBlock.ts
712
- import { buildNextBlock } from "@xyo-network/chain-sdk";
713
- import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
714
- async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, range) {
715
- const producerDeclarationPayload = createDeclarationIntent(producerAccount.address, "producer", range[0], range[1]);
716
- return await buildNextBlock(prevBlock, [], [
717
- producerDeclarationPayload
718
- ], [
719
- producerAccount
720
- ]);
721
- }
722
- __name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
723
-
724
- // src/shared/host/implementation/DefaultHost.ts
725
- var GenericHost = class {
726
- static {
727
- __name(this, "GenericHost");
728
- }
729
- services;
730
- constructor(services) {
731
- this.services = services;
732
- }
733
- async start() {
734
- await Promise.resolve();
735
- console.log("Host is starting...");
736
- }
737
- async stop() {
738
- await Promise.resolve();
739
- console.log("Host is stopping...");
740
- }
741
- };
742
-
743
- // src/shared/host/implementation/DefaultServiceProvider.ts
744
- var DefaultServiceProvider = class {
745
- static {
746
- __name(this, "DefaultServiceProvider");
747
- }
748
- _services;
749
- constructor(services) {
750
- this._services = services;
751
- }
752
- getService(serviceIdentifier) {
753
- return this._services[serviceIdentifier];
754
- }
755
- };
756
-
757
- // src/shared/host/model/ServiceCollection.ts
758
- var ServiceLifetime = {
759
- Singleton: "Singleton",
760
- Transient: "Transient"
761
- };
661
+ const bios = await boot();
662
+ const seedPhrase = isDefined4(mnemonic) ? mnemonic : await initActorSeedPhrase(context, bios);
663
+ return await HDWallet3.fromPhrase(seedPhrase);
664
+ }
665
+ __name(initActorWallet, "initActorWallet");
762
666
 
763
667
  // src/shared/orchestrator/Orchestrator.ts
764
668
  import { AbstractCreatable, creatable as creatable2 } from "@xylabs/sdk-js";
@@ -962,12 +866,12 @@ async function initRejectedTransactionsArchivist({ logger }) {
962
866
  __name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
963
867
 
964
868
  // src/node/archivists/StakeIntentState/archivist.ts
965
- import { assertEx as assertEx9, timeBudget as timeBudget4 } from "@xylabs/sdk-js";
869
+ import { assertEx as assertEx4, timeBudget as timeBudget4 } from "@xylabs/sdk-js";
966
870
  import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
967
871
  import { Mutex as Mutex9 } from "async-mutex";
968
872
 
969
873
  // src/node/archivists/StakeIntentState/local.ts
970
- import { assertEx as assertEx8 } from "@xylabs/sdk-js";
874
+ import { assertEx as assertEx3 } from "@xylabs/sdk-js";
971
875
  import { Mutex as Mutex8 } from "async-mutex";
972
876
  var mutex7 = new Mutex8();
973
877
  var singleton7;
@@ -976,7 +880,7 @@ async function initLocalStakeIntentStateArchivist({ config }) {
976
880
  if (singleton7) return singleton7;
977
881
  const { root } = config.storage;
978
882
  singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
979
- return assertEx8(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
883
+ return assertEx3(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
980
884
  });
981
885
  }
982
886
  __name(initLocalStakeIntentStateArchivist, "initLocalStakeIntentStateArchivist");
@@ -990,28 +894,94 @@ async function initStakeIntentStateArchivist(context) {
990
894
  return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
991
895
  const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
992
896
  singleton8 = local;
993
- return assertEx9(singleton8, () => "StakeIntentStateArchivist is undefined");
897
+ return assertEx4(singleton8, () => "StakeIntentStateArchivist is undefined");
994
898
  }, 2e3, true);
995
899
  });
996
900
  }
997
901
  __name(initStakeIntentStateArchivist, "initStakeIntentStateArchivist");
998
902
 
999
903
  // src/node/config/locators/basicRemoteRunnerLocator.ts
1000
- import { isDefined as isDefined8 } from "@xylabs/sdk-js";
1001
904
  import { isAccountInstance } from "@xyo-network/sdk-js";
1002
- import { JsonRpcXyoRunner, JsonRpcXyoSigner, ProviderFactoryLocator as ProviderFactoryLocator5, RestDataLakeViewer as RestDataLakeViewer2, SimpleXyoConnectionRunner, SimpleXyoSigner } from "@xyo-network/xl1-sdk";
905
+ import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer2, JsonRpcXyoSigner as JsonRpcXyoSigner2, SimpleXyoSigner } from "@xyo-network/xl1-sdk";
906
+ function signerFactoryFromParam(signer) {
907
+ if (isAccountInstance(signer)) {
908
+ return SimpleXyoSigner.factory(SimpleXyoSigner.dependencies, {
909
+ account: signer
910
+ });
911
+ }
912
+ return JsonRpcXyoSigner2.factory(JsonRpcXyoSigner2.dependencies, {
913
+ transport: signer
914
+ });
915
+ }
916
+ __name(signerFactoryFromParam, "signerFactoryFromParam");
917
+ function basicRemoteRunnerLocator(name, remoteConfig, signer, dataLakeEndpoint) {
918
+ const transport = isAccountInstance(signer) ? void 0 : signer;
919
+ return baseBasicRemoteRunnerLocator(name, remoteConfig, transport, dataLakeEndpoint, {
920
+ additionalProviders: [
921
+ JsonRpcAccountBalanceViewer2.factory(JsonRpcAccountBalanceViewer2.dependencies, {})
922
+ ],
923
+ signerFactory: signerFactoryFromParam(signer),
924
+ skipGatewayRunner: true
925
+ });
926
+ }
927
+ __name(basicRemoteRunnerLocator, "basicRemoteRunnerLocator");
1003
928
 
1004
929
  // src/node/config/locators/basicRemoteViewerLocator.ts
1005
- import { isDefined as isDefined7 } from "@xylabs/sdk-js";
1006
- import { ActorConfigZod as ActorConfigZod2, JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer2, ProviderFactoryLocator as ProviderFactoryLocator4, RestDataLakeViewer, SimpleTransactionViewer as SimpleTransactionViewer3, SimpleXyoConnectionViewer as SimpleXyoConnectionViewer2, SimpleXyoGateway } from "@xyo-network/xl1-sdk";
930
+ import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer3 } from "@xyo-network/xl1-sdk";
931
+ function basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint) {
932
+ return baseBasicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint, {
933
+ additionalProviders: [
934
+ JsonRpcAccountBalanceViewer3.factory(JsonRpcAccountBalanceViewer3.dependencies, {})
935
+ ]
936
+ });
937
+ }
938
+ __name(basicRemoteViewerLocator, "basicRemoteViewerLocator");
939
+
940
+ // src/node/config/locators/telemetryContextFromConfig.ts
941
+ import { initTelemetry } from "@xyo-network/chain-telemetry";
942
+ async function telemetryContextFromConfig(config, serviceName, serviceVersion) {
943
+ const { otlpEndpoint } = config.telemetry?.otel ?? {};
944
+ const { path: endpoint = "/metrics", port = 9466 } = config.telemetry?.metrics?.scrape ?? {};
945
+ return await initTelemetry({
946
+ attributes: {
947
+ serviceName,
948
+ serviceVersion
949
+ },
950
+ otlpEndpoint,
951
+ metricsConfig: {
952
+ endpoint,
953
+ port
954
+ }
955
+ });
956
+ }
957
+ __name(telemetryContextFromConfig, "telemetryContextFromConfig");
958
+
959
+ // src/node/config/locators/contextFromConfigWithoutLocator.ts
960
+ async function contextFromConfigWithoutLocator(config, logger, serviceName, serviceVersion) {
961
+ const singletons = {};
962
+ const caches = {};
963
+ const telemetryConfig = await telemetryContextFromConfig(config, serviceName, serviceVersion);
964
+ const statusReporter = initStatusReporter({
965
+ logger
966
+ });
967
+ return {
968
+ ...telemetryConfig,
969
+ config,
970
+ singletons,
971
+ caches,
972
+ logger,
973
+ statusReporter
974
+ };
975
+ }
976
+ __name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
1007
977
 
1008
978
  // src/node/config/locators/localLocatorFromConfig.ts
1009
979
  import { assertEx as assertEx14 } from "@xylabs/sdk-js";
1010
- import { ProviderFactoryLocator as ProviderFactoryLocator3, SimpleAccountBalanceViewer, SimpleBlockViewer, SimpleFinalizationRunner, SimpleFinalizationViewer, SimpleMempoolRunner, SimpleMempoolViewer, SimpleTransactionViewer as SimpleTransactionViewer2, SimpleWindowedBlockViewer as SimpleWindowedBlockViewer2, SimpleXyoConnectionViewer, SimpleXyoViewer } from "@xyo-network/xl1-sdk";
980
+ import { ProviderFactoryLocator as ProviderFactoryLocator5, SimpleAccountBalanceViewer, SimpleBlockViewer, SimpleFinalizationRunner, SimpleFinalizationViewer, SimpleMempoolRunner, SimpleMempoolViewer, SimpleTransactionViewer as SimpleTransactionViewer3, SimpleWindowedBlockViewer as SimpleWindowedBlockViewer2, SimpleXyoConnectionViewer as SimpleXyoConnectionViewer2, SimpleXyoViewer } from "@xyo-network/xl1-sdk";
1011
981
 
1012
982
  // src/node/init/initBalanceSummaryMap.ts
1013
983
  import { BaseMongoSdk } from "@xylabs/mongo";
1014
- import { assertEx as assertEx10 } from "@xylabs/sdk-js";
984
+ import { assertEx as assertEx5 } from "@xylabs/sdk-js";
1015
985
  import { MongoMap } from "@xyo-network/chain-protocol";
1016
986
  import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
1017
987
  async function initBalanceSummaryMap({ logger, config }) {
@@ -1036,7 +1006,7 @@ async function initBalanceSummaryMap({ logger, config }) {
1036
1006
  maxEntries: 5e3
1037
1007
  }
1038
1008
  });
1039
- assertEx10(await result.start(), () => "Failed to start transfer summary map");
1009
+ assertEx5(await result.start(), () => "Failed to start transfer summary map");
1040
1010
  return result;
1041
1011
  } else {
1042
1012
  logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
@@ -1045,6 +1015,141 @@ async function initBalanceSummaryMap({ logger, config }) {
1045
1015
  }
1046
1016
  __name(initBalanceSummaryMap, "initBalanceSummaryMap");
1047
1017
 
1018
+ // src/node/init/initEvmProvidersIfAvailable.ts
1019
+ import { asEthAddress, assertEx as assertEx10 } from "@xylabs/sdk-js";
1020
+ import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeTotalsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
1021
+ import { SimpleChainContractViewer, SimpleStakeEventsViewer as SimpleStakeEventsViewer2, SimpleStakeTotalsViewer, SimpleStakeViewer, SimpleTimeSyncViewer as SimpleTimeSyncViewer2, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
1022
+
1023
+ // src/node/evm/initChainId.ts
1024
+ import { assertEx as assertEx6, hexFrom, isDefined as isDefined5, isHex } from "@xylabs/sdk-js";
1025
+ var canUseChainId = /* @__PURE__ */ __name(({ config }) => {
1026
+ return isDefined5(config.evm.chainId);
1027
+ }, "canUseChainId");
1028
+ var getChainId = /* @__PURE__ */ __name(({ config }) => {
1029
+ const chainId = assertEx6(config.evm.chainId, () => "Missing config.evm.chainId");
1030
+ if (isHex(chainId, {
1031
+ prefix: true
1032
+ })) {
1033
+ const hex = hexFrom(chainId);
1034
+ const parsed = Number.parseInt(hex, 16);
1035
+ return parsed;
1036
+ } else {
1037
+ const parsed = Number.parseInt(chainId, 10);
1038
+ return parsed;
1039
+ }
1040
+ }, "getChainId");
1041
+
1042
+ // src/node/evm/initEvmProvider.ts
1043
+ import { assertEx as assertEx9 } from "@xylabs/sdk-js";
1044
+
1045
+ // src/node/evm/initInfuraProvider.ts
1046
+ import { assertEx as assertEx7, isDefined as isDefined6 } from "@xylabs/sdk-js";
1047
+ import { InfuraProvider } from "ethers/providers";
1048
+ var instance;
1049
+ var initInfuraProvider = /* @__PURE__ */ __name((context) => {
1050
+ if (instance) return instance;
1051
+ const providerConfig = getInfuraProviderConfig(context);
1052
+ instance = Promise.resolve(new InfuraProvider(providerConfig[0], providerConfig[1]));
1053
+ return instance;
1054
+ }, "initInfuraProvider");
1055
+ var canUseInfuraProvider = /* @__PURE__ */ __name((context) => {
1056
+ const { config } = context;
1057
+ return canUseChainId(context) && isDefined6(config.evm?.infura?.projectId) && isDefined6(config.evm?.infura?.projectSecret);
1058
+ }, "canUseInfuraProvider");
1059
+ var getInfuraProviderConfig = /* @__PURE__ */ __name((context) => {
1060
+ const { config } = context;
1061
+ const projectId = assertEx7(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
1062
+ const projectSecret = assertEx7(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
1063
+ return [
1064
+ getChainId(context),
1065
+ projectId,
1066
+ projectSecret
1067
+ ];
1068
+ }, "getInfuraProviderConfig");
1069
+
1070
+ // src/node/evm/initJsonRpcProvider.ts
1071
+ import { assertEx as assertEx8, isDefined as isDefined7 } from "@xylabs/sdk-js";
1072
+ import { JsonRpcProvider } from "ethers/providers";
1073
+ var initJsonRpcProvider = /* @__PURE__ */ __name((context) => {
1074
+ const providerConfig = getJsonRpcProviderConfig(context);
1075
+ return Promise.resolve(new JsonRpcProvider(...providerConfig));
1076
+ }, "initJsonRpcProvider");
1077
+ var canUseJsonRpcProvider = /* @__PURE__ */ __name((context) => {
1078
+ const { config } = context;
1079
+ return canUseChainId(context) && isDefined7(config.evm.jsonRpc?.url);
1080
+ }, "canUseJsonRpcProvider");
1081
+ var getJsonRpcProviderConfig = /* @__PURE__ */ __name((context) => {
1082
+ const { config } = context;
1083
+ const jsonRpcUrl = assertEx8(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
1084
+ return [
1085
+ jsonRpcUrl,
1086
+ getChainId(context)
1087
+ ];
1088
+ }, "getJsonRpcProviderConfig");
1089
+
1090
+ // src/node/evm/initEvmProvider.ts
1091
+ var provider;
1092
+ var initEvmProvider = /* @__PURE__ */ __name(async (context) => {
1093
+ if (provider) return provider;
1094
+ if (canUseInfuraProvider(context)) {
1095
+ provider = initInfuraProvider(context);
1096
+ } else if (canUseJsonRpcProvider(context)) {
1097
+ provider = initJsonRpcProvider(context);
1098
+ }
1099
+ return assertEx9(await provider, () => "No provider available");
1100
+ }, "initEvmProvider");
1101
+ var canUseEvmProvider = /* @__PURE__ */ __name((context) => {
1102
+ return canUseInfuraProvider(context) || canUseJsonRpcProvider(context);
1103
+ }, "canUseEvmProvider");
1104
+
1105
+ // src/node/init/initEvmProvidersIfAvailable.ts
1106
+ async function initEvmProvidersIfAvailable(locator) {
1107
+ const context = locator.context;
1108
+ const { logger } = context;
1109
+ if (canUseEvmProvider(context)) {
1110
+ const chainId = assertEx10(context.config.chain.id, () => "Missing config.chain.id (required for EVM providers)");
1111
+ const provider2 = await initEvmProvider(context);
1112
+ const address = asEthAddress(chainId, true);
1113
+ locator.register(EvmStakeEventsViewer.factory(EvmStakeEventsViewer.dependencies, {
1114
+ address,
1115
+ provider: provider2
1116
+ }));
1117
+ locator.register(EvmStakeViewer.factory(EvmStakeViewer.dependencies, {
1118
+ address,
1119
+ provider: provider2
1120
+ }));
1121
+ locator.register(EvmStakeTotalsViewer.factory(EvmStakeTotalsViewer.dependencies, {
1122
+ address,
1123
+ provider: provider2
1124
+ }));
1125
+ locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
1126
+ address,
1127
+ provider: provider2
1128
+ }));
1129
+ locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {
1130
+ ethProvider: provider2
1131
+ }));
1132
+ } else {
1133
+ logger?.warn("EVM provider not available - running with memory based contract/stake viewers");
1134
+ const positions = [];
1135
+ locator.register(SimpleStakeEventsViewer2.factory(SimpleStakeEventsViewer2.dependencies, {
1136
+ positions
1137
+ }));
1138
+ locator.register(SimpleStakeViewer.factory(SimpleStakeViewer.dependencies, {
1139
+ positions
1140
+ }));
1141
+ locator.register(SimpleStakeTotalsViewer.factory(SimpleStakeTotalsViewer.dependencies, {}));
1142
+ locator.register(SimpleChainContractViewer.factory(SimpleChainContractViewer.dependencies, {
1143
+ minWithdrawalBlocks: 10,
1144
+ stakingTokenAddress: XYO_ZERO_ADDRESS,
1145
+ rewardsContract: XYO_ZERO_ADDRESS
1146
+ }));
1147
+ locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {}));
1148
+ }
1149
+ return locator;
1150
+ }
1151
+ __name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
1152
+
1048
1153
  // src/node/init/initFinalizationArchivistIfNeeded.ts
1049
1154
  import { assertEx as assertEx11 } from "@xylabs/sdk-js";
1050
1155
  import { createBootstrapHead } from "@xyo-network/chain-sdk";
@@ -1095,7 +1200,7 @@ import { assertEx as assertEx12 } from "@xylabs/sdk-js";
1095
1200
  import { asArchivistInstance } from "@xyo-network/sdk-js";
1096
1201
 
1097
1202
  // src/node/manifest/getLocator.ts
1098
- import { isDefined as isDefined6 } from "@xylabs/sdk-js";
1203
+ import { isDefined as isDefined8 } from "@xylabs/sdk-js";
1099
1204
  import { MongoDBArchivistV2 as MongoDBArchivistV22, MongoDBArchivistV2Deletable } from "@xyo-network/archivist-mongodb";
1100
1205
  import { ViewArchivist } from "@xyo-network/archivist-view";
1101
1206
  import { initTelemetry as initTelemetry2 } from "@xyo-network/chain-telemetry";
@@ -1115,7 +1220,7 @@ var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
1115
1220
  port
1116
1221
  }
1117
1222
  });
1118
- if (isDefined6(logger)) AbstractModule.defaultLogger = logger;
1223
+ if (isDefined8(logger)) AbstractModule.defaultLogger = logger;
1119
1224
  const statusReporter = logger ? new LoggerModuleStatusReporter(logger) : void 0;
1120
1225
  const locator = new ModuleFactoryLocator();
1121
1226
  const mongoConfig = config.storage?.mongo;
@@ -1397,7 +1502,7 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
1397
1502
  const wallet = await initActorWallet(context);
1398
1503
  const { writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist } = await initServerNode(context, wallet);
1399
1504
  await initFinalizationArchivistIfNeeded(writableChainArchivist, context.config, wallet);
1400
- const locator = new ProviderFactoryLocator3(context, {}, validateDepsOnRegister);
1505
+ const locator = new ProviderFactoryLocator5(context, {}, validateDepsOnRegister);
1401
1506
  locator.registerMany([
1402
1507
  SimpleMempoolViewer.factory(SimpleMempoolViewer.dependencies, {
1403
1508
  pendingTransactionsArchivist,
@@ -1421,8 +1526,8 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
1421
1526
  maxWindowSize: 1e4,
1422
1527
  syncInterval: 1e4
1423
1528
  }),
1424
- SimpleXyoConnectionViewer.factory(SimpleXyoConnectionViewer.dependencies, {}),
1425
- SimpleTransactionViewer2.factory(SimpleTransactionViewer2.dependencies, {}),
1529
+ SimpleXyoConnectionViewer2.factory(SimpleXyoConnectionViewer2.dependencies, {}),
1530
+ SimpleTransactionViewer3.factory(SimpleTransactionViewer3.dependencies, {}),
1426
1531
  SimpleXyoViewer.factory(SimpleXyoViewer.dependencies, {}),
1427
1532
  SimpleFinalizationViewer.factory(SimpleFinalizationViewer.dependencies, {
1428
1533
  finalizedArchivist: readonlyChainArchivist
@@ -1435,82 +1540,6 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
1435
1540
  }
1436
1541
  __name(localLocatorFromConfig, "localLocatorFromConfig");
1437
1542
 
1438
- // src/node/config/locators/rootLocatorFromConfig.ts
1439
- async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
1440
- const { config } = context;
1441
- let locator = await commonLocatorFromConfig(context, validateDepsOnRegister);
1442
- const newLocator = await (config.remote.rpc ? remoteLocatorFromConfig(locator.context, validateDepsOnRegister) : localLocatorFromConfig({
1443
- ...locator.context,
1444
- config: {
1445
- ...locator.context.config,
1446
- ...context.config
1447
- }
1448
- }, validateDepsOnRegister));
1449
- locator = newLocator;
1450
- locator = await initEvmProvidersIfAvailable(locator);
1451
- locator.freeze();
1452
- return locator;
1453
- }
1454
- __name(rootLocatorFromConfig, "rootLocatorFromConfig");
1455
-
1456
- // src/node/config/locators/basicRemoteViewerLocator.ts
1457
- async function basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint) {
1458
- const config = ActorConfigZod2.parse({
1459
- name,
1460
- remote: remoteConfig
1461
- });
1462
- const rootLocator = await rootLocatorFromConfig({
1463
- config,
1464
- singletons: {},
1465
- caches: {}
1466
- });
1467
- const remoteLocator = await remoteLocatorFromConfig(rootLocator.context);
1468
- const locator = new ProviderFactoryLocator4(remoteLocator.context, {});
1469
- locator.registerMany([
1470
- SimpleTransactionViewer3.factory(SimpleTransactionViewer3.dependencies, {}),
1471
- JsonRpcAccountBalanceViewer2.factory(JsonRpcAccountBalanceViewer2.dependencies, {}),
1472
- SimpleXyoConnectionViewer2.factory(SimpleXyoConnectionViewer2.dependencies, {}),
1473
- SimpleXyoGateway.factory(SimpleXyoGateway.dependencies, {})
1474
- ]);
1475
- if (isDefined7(dataLakeEndpoint)) {
1476
- const dataLakeViewerParams = {
1477
- endpoint: dataLakeEndpoint
1478
- };
1479
- locator.register(RestDataLakeViewer.factory(RestDataLakeViewer.dependencies, dataLakeViewerParams));
1480
- }
1481
- locator.freeze();
1482
- return locator;
1483
- }
1484
- __name(basicRemoteViewerLocator, "basicRemoteViewerLocator");
1485
-
1486
- // src/node/config/locators/basicRemoteRunnerLocator.ts
1487
- async function basicRemoteRunnerLocator(name, remoteConfig, signer, dataLakeEndpoint) {
1488
- const remoteViewerLocator = await basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint);
1489
- const locator = new ProviderFactoryLocator5(remoteViewerLocator.context, {});
1490
- locator.registerMany([
1491
- SimpleXyoConnectionRunner.factory(SimpleXyoConnectionRunner.dependencies, {}),
1492
- JsonRpcXyoRunner.factory(JsonRpcXyoRunner.dependencies, {})
1493
- ]);
1494
- if (isAccountInstance(signer)) {
1495
- locator.register(SimpleXyoSigner.factory(SimpleXyoSigner.dependencies, {
1496
- account: signer
1497
- }));
1498
- } else {
1499
- locator.register(JsonRpcXyoSigner.factory(JsonRpcXyoSigner.dependencies, {
1500
- transport: signer
1501
- }));
1502
- }
1503
- if (isDefined8(dataLakeEndpoint)) {
1504
- const dataLakeViewerParams = {
1505
- endpoint: dataLakeEndpoint
1506
- };
1507
- locator.register(RestDataLakeViewer2.factory(RestDataLakeViewer2.dependencies, dataLakeViewerParams));
1508
- }
1509
- locator.freeze();
1510
- return locator;
1511
- }
1512
- __name(basicRemoteRunnerLocator, "basicRemoteRunnerLocator");
1513
-
1514
1543
  // src/node/config/locators/locatorsFromConfig.ts
1515
1544
  import { deepMerge as deepMerge2 } from "@xylabs/sdk-js";
1516
1545
  import { ActorConfigZod as ActorConfigZod3 } from "@xyo-network/xl1-sdk";
@@ -1535,7 +1564,7 @@ __name(apiLocatorFromConfig, "apiLocatorFromConfig");
1535
1564
  // src/node/config/locators/actors/bridgeLocatorFromConfig.ts
1536
1565
  import { isDefined as isDefined9 } from "@xylabs/sdk-js";
1537
1566
  import { HDWallet as HDWallet4 } from "@xyo-network/sdk-js";
1538
- import { ADDRESS_INDEX as ADDRESS_INDEX2, generateXyoBaseWalletFromPhrase as generateXyoBaseWalletFromPhrase2, JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer3, JsonRpcBlockViewer as JsonRpcBlockViewer2, JsonRpcFinalizationViewer as JsonRpcFinalizationViewer2, JsonRpcMempoolRunner as JsonRpcMempoolRunner2, JsonRpcMempoolViewer as JsonRpcMempoolViewer2, JsonRpcXyoRunner as JsonRpcXyoRunner2, JsonRpcXyoViewer as JsonRpcXyoViewer2, ProviderFactoryLocator as ProviderFactoryLocator7, RestDataLakeRunner, RestDataLakeViewer as RestDataLakeViewer3, SimpleStakeEventsViewer as SimpleStakeEventsViewer3, SimpleXyoConnectionRunner as SimpleXyoConnectionRunner3, SimpleXyoGatewayRunner, SimpleXyoRunner as SimpleXyoRunner2, SimpleXyoSigner as SimpleXyoSigner2 } from "@xyo-network/xl1-sdk";
1567
+ import { ADDRESS_INDEX as ADDRESS_INDEX2, generateXyoBaseWalletFromPhrase as generateXyoBaseWalletFromPhrase2, JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer4, JsonRpcBlockViewer as JsonRpcBlockViewer2, JsonRpcFinalizationViewer as JsonRpcFinalizationViewer2, JsonRpcMempoolRunner as JsonRpcMempoolRunner2, JsonRpcMempoolViewer as JsonRpcMempoolViewer2, JsonRpcXyoRunner as JsonRpcXyoRunner2, JsonRpcXyoViewer as JsonRpcXyoViewer2, ProviderFactoryLocator as ProviderFactoryLocator7, RestDataLakeRunner, RestDataLakeViewer as RestDataLakeViewer3, SimpleStakeEventsViewer as SimpleStakeEventsViewer3, SimpleXyoConnectionRunner as SimpleXyoConnectionRunner3, SimpleXyoGatewayRunner as SimpleXyoGatewayRunner2, SimpleXyoRunner as SimpleXyoRunner2, SimpleXyoSigner as SimpleXyoSigner2 } from "@xyo-network/xl1-sdk";
1539
1568
  async function bridgeLocatorFromConfig(context, parent) {
1540
1569
  const locator = new ProviderFactoryLocator7({
1541
1570
  ...context,
@@ -1550,7 +1579,7 @@ async function bridgeLocatorFromConfig(context, parent) {
1550
1579
  locator.registerMany([
1551
1580
  JsonRpcMempoolViewer2.factory(JsonRpcMempoolViewer2.dependencies, {}),
1552
1581
  JsonRpcMempoolRunner2.factory(JsonRpcMempoolRunner2.dependencies, {}),
1553
- JsonRpcAccountBalanceViewer3.factory(JsonRpcAccountBalanceViewer3.dependencies, {}),
1582
+ JsonRpcAccountBalanceViewer4.factory(JsonRpcAccountBalanceViewer4.dependencies, {}),
1554
1583
  JsonRpcFinalizationViewer2.factory(JsonRpcFinalizationViewer2.dependencies, {}),
1555
1584
  JsonRpcBlockViewer2.factory(JsonRpcBlockViewer2.dependencies, {}),
1556
1585
  JsonRpcXyoRunner2.factory(JsonRpcXyoRunner2.dependencies, {}),
@@ -1586,7 +1615,7 @@ async function bridgeLocatorFromConfig(context, parent) {
1586
1615
  }),
1587
1616
  SimpleXyoRunner2.factory(SimpleXyoRunner2.dependencies, {}),
1588
1617
  SimpleXyoConnectionRunner3.factory(SimpleXyoConnectionRunner3.dependencies, {}),
1589
- SimpleXyoGatewayRunner.factory(SimpleXyoGatewayRunner.dependencies, {})
1618
+ SimpleXyoGatewayRunner2.factory(SimpleXyoGatewayRunner2.dependencies, {})
1590
1619
  ]);
1591
1620
  locator.freeze();
1592
1621
  return locator;
@@ -1634,7 +1663,7 @@ async function producerLocatorFromConfig(context, parent) {
1634
1663
  __name(producerLocatorFromConfig, "producerLocatorFromConfig");
1635
1664
 
1636
1665
  // src/node/config/locators/actors/rewardRedemptionLocatorFromConfig.ts
1637
- import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer4, JsonRpcBlockViewer as JsonRpcBlockViewer3, JsonRpcFinalizationViewer as JsonRpcFinalizationViewer3, JsonRpcMempoolRunner as JsonRpcMempoolRunner3, JsonRpcMempoolViewer as JsonRpcMempoolViewer3, JsonRpcXyoRunner as JsonRpcXyoRunner3, JsonRpcXyoViewer as JsonRpcXyoViewer3, ProviderFactoryLocator as ProviderFactoryLocator10, SimpleXyoConnectionRunner as SimpleXyoConnectionRunner4, SimpleXyoGatewayRunner as SimpleXyoGatewayRunner2, SimpleXyoRunner as SimpleXyoRunner3, SimpleXyoSigner as SimpleXyoSigner3 } from "@xyo-network/xl1-sdk";
1666
+ import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer5, JsonRpcBlockViewer as JsonRpcBlockViewer3, JsonRpcFinalizationViewer as JsonRpcFinalizationViewer3, JsonRpcMempoolRunner as JsonRpcMempoolRunner3, JsonRpcMempoolViewer as JsonRpcMempoolViewer3, JsonRpcXyoRunner as JsonRpcXyoRunner3, JsonRpcXyoViewer as JsonRpcXyoViewer3, ProviderFactoryLocator as ProviderFactoryLocator10, SimpleXyoConnectionRunner as SimpleXyoConnectionRunner4, SimpleXyoGatewayRunner as SimpleXyoGatewayRunner3, SimpleXyoRunner as SimpleXyoRunner3, SimpleXyoSigner as SimpleXyoSigner3 } from "@xyo-network/xl1-sdk";
1638
1667
  async function rewardRedemptionLocatorFromConfig(context, parent) {
1639
1668
  const locator = new ProviderFactoryLocator10({
1640
1669
  ...context,
@@ -1646,7 +1675,7 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
1646
1675
  locator.registerMany([
1647
1676
  JsonRpcMempoolViewer3.factory(JsonRpcMempoolViewer3.dependencies, {}),
1648
1677
  JsonRpcMempoolRunner3.factory(JsonRpcMempoolRunner3.dependencies, {}),
1649
- JsonRpcAccountBalanceViewer4.factory(JsonRpcAccountBalanceViewer4.dependencies, {}),
1678
+ JsonRpcAccountBalanceViewer5.factory(JsonRpcAccountBalanceViewer5.dependencies, {}),
1650
1679
  JsonRpcFinalizationViewer3.factory(JsonRpcFinalizationViewer3.dependencies, {}),
1651
1680
  JsonRpcBlockViewer3.factory(JsonRpcBlockViewer3.dependencies, {}),
1652
1681
  JsonRpcXyoRunner3.factory(JsonRpcXyoRunner3.dependencies, {}),
@@ -1659,7 +1688,7 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
1659
1688
  }),
1660
1689
  SimpleXyoRunner3.factory(SimpleXyoRunner3.dependencies, {}),
1661
1690
  SimpleXyoConnectionRunner4.factory(SimpleXyoConnectionRunner4.dependencies, {}),
1662
- SimpleXyoGatewayRunner2.factory(SimpleXyoGatewayRunner2.dependencies, {})
1691
+ SimpleXyoGatewayRunner3.factory(SimpleXyoGatewayRunner3.dependencies, {})
1663
1692
  ]);
1664
1693
  locator.freeze();
1665
1694
  return locator;
@@ -1679,6 +1708,24 @@ function validatorLocatorFromConfig(context, parent) {
1679
1708
  }
1680
1709
  __name(validatorLocatorFromConfig, "validatorLocatorFromConfig");
1681
1710
 
1711
+ // src/node/config/locators/rootLocatorFromConfig.ts
1712
+ async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
1713
+ const { config } = context;
1714
+ let locator = await commonLocatorFromConfig(context, validateDepsOnRegister);
1715
+ const newLocator = await (config.remote.rpc ? remoteLocatorFromConfig(locator.context, validateDepsOnRegister) : localLocatorFromConfig({
1716
+ ...locator.context,
1717
+ config: {
1718
+ ...locator.context.config,
1719
+ ...context.config
1720
+ }
1721
+ }, validateDepsOnRegister));
1722
+ locator = newLocator;
1723
+ locator = await initEvmProvidersIfAvailable(locator);
1724
+ locator.freeze();
1725
+ return locator;
1726
+ }
1727
+ __name(rootLocatorFromConfig, "rootLocatorFromConfig");
1728
+
1682
1729
  // src/node/config/locators/locatorsFromConfig.ts
1683
1730
  async function locatorsFromConfig(context, { actors, ...config }) {
1684
1731
  const result = {
@@ -1875,6 +1922,8 @@ export {
1875
1922
  asRewardRedemptionConfigContext,
1876
1923
  asValidatorConfig,
1877
1924
  asValidatorConfigContext,
1925
+ baseBasicRemoteRunnerLocator,
1926
+ baseBasicRemoteViewerLocator,
1878
1927
  basicRemoteRunnerLocator,
1879
1928
  basicRemoteViewerLocator,
1880
1929
  buildTelemetryConfig,