@xyo-network/chain-orchestration 1.20.5 → 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 (247) hide show
  1. package/dist/browser/index.mjs +193 -336
  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/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  9. package/dist/browser/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  10. package/dist/browser/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  11. package/dist/browser/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  12. package/dist/browser/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  13. package/dist/browser/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
  14. package/dist/browser/node/config/locators/index.d.ts +2 -0
  15. package/dist/browser/node/config/locators/index.d.ts.map +1 -1
  16. package/dist/browser/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  17. package/dist/browser/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
  18. package/dist/browser/node/config/tryParseConfig.d.ts +12 -12
  19. package/dist/browser/node/evm/index.d.ts.map +1 -0
  20. package/dist/browser/node/evm/initChainId.d.ts.map +1 -0
  21. package/dist/browser/node/evm/initEvmProvider.d.ts.map +1 -0
  22. package/dist/browser/node/evm/initInfuraProvider.d.ts.map +1 -0
  23. package/dist/browser/node/evm/initJsonRpcProvider.d.ts.map +1 -0
  24. package/dist/browser/node/index.d.ts +2 -0
  25. package/dist/browser/node/index.d.ts.map +1 -1
  26. package/dist/browser/node/init/index.d.ts +1 -0
  27. package/dist/browser/node/init/index.d.ts.map +1 -1
  28. package/dist/browser/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
  29. package/dist/browser/node/sharedMiddleware.d.ts +3 -0
  30. package/dist/browser/node/sharedMiddleware.d.ts.map +1 -0
  31. package/dist/browser/shared/actor/ValidatorActor.d.ts +3 -1
  32. package/dist/browser/shared/actor/ValidatorActor.d.ts.map +1 -1
  33. package/dist/browser/shared/config/actors/Api.d.ts +70 -72
  34. package/dist/browser/shared/config/actors/Api.d.ts.map +1 -1
  35. package/dist/browser/shared/config/actors/Bridge.d.ts +70 -72
  36. package/dist/browser/shared/config/actors/Bridge.d.ts.map +1 -1
  37. package/dist/browser/shared/config/actors/Mempool.d.ts +70 -72
  38. package/dist/browser/shared/config/actors/Mempool.d.ts.map +1 -1
  39. package/dist/browser/shared/config/actors/Producer.d.ts +70 -72
  40. package/dist/browser/shared/config/actors/Producer.d.ts.map +1 -1
  41. package/dist/browser/shared/config/actors/RewardRedemption.d.ts +70 -72
  42. package/dist/browser/shared/config/actors/RewardRedemption.d.ts.map +1 -1
  43. package/dist/browser/shared/config/actors/Validator.d.ts +70 -72
  44. package/dist/browser/shared/config/actors/Validator.d.ts.map +1 -1
  45. package/dist/browser/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
  46. package/dist/browser/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
  47. package/dist/browser/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
  48. package/dist/browser/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
  49. package/dist/browser/shared/config/locators/commonLocatorFromConfig.d.ts.map +1 -1
  50. package/dist/browser/shared/config/locators/index.d.ts +2 -2
  51. package/dist/browser/shared/config/locators/index.d.ts.map +1 -1
  52. package/dist/browser/shared/config/mergeConfig.d.ts +6 -6
  53. package/dist/browser/shared/index.d.ts +0 -1
  54. package/dist/browser/shared/index.d.ts.map +1 -1
  55. package/dist/browser/shared/init/index.d.ts +0 -1
  56. package/dist/browser/shared/init/index.d.ts.map +1 -1
  57. package/dist/neutral/index.mjs +193 -336
  58. package/dist/neutral/index.mjs.map +1 -1
  59. package/dist/neutral/neutral/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  60. package/dist/neutral/neutral/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  61. package/dist/neutral/neutral/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  62. package/dist/neutral/neutral/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  63. package/dist/neutral/neutral/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
  64. package/dist/neutral/node/config/locators/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  65. package/dist/neutral/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  66. package/dist/neutral/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  67. package/dist/neutral/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  68. package/dist/neutral/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  69. package/dist/neutral/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
  70. package/dist/neutral/node/config/locators/index.d.ts +2 -0
  71. package/dist/neutral/node/config/locators/index.d.ts.map +1 -1
  72. package/dist/neutral/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  73. package/dist/neutral/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
  74. package/dist/neutral/node/config/tryParseConfig.d.ts +12 -12
  75. package/dist/neutral/node/evm/index.d.ts.map +1 -0
  76. package/dist/neutral/node/evm/initChainId.d.ts.map +1 -0
  77. package/dist/neutral/node/evm/initEvmProvider.d.ts.map +1 -0
  78. package/dist/neutral/node/evm/initInfuraProvider.d.ts.map +1 -0
  79. package/dist/neutral/node/evm/initJsonRpcProvider.d.ts.map +1 -0
  80. package/dist/neutral/node/index.d.ts +2 -0
  81. package/dist/neutral/node/index.d.ts.map +1 -1
  82. package/dist/neutral/node/init/index.d.ts +1 -0
  83. package/dist/neutral/node/init/index.d.ts.map +1 -1
  84. package/dist/neutral/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
  85. package/dist/neutral/node/sharedMiddleware.d.ts +3 -0
  86. package/dist/neutral/node/sharedMiddleware.d.ts.map +1 -0
  87. package/dist/neutral/shared/actor/ValidatorActor.d.ts +3 -1
  88. package/dist/neutral/shared/actor/ValidatorActor.d.ts.map +1 -1
  89. package/dist/neutral/shared/config/actors/Api.d.ts +70 -72
  90. package/dist/neutral/shared/config/actors/Api.d.ts.map +1 -1
  91. package/dist/neutral/shared/config/actors/Bridge.d.ts +70 -72
  92. package/dist/neutral/shared/config/actors/Bridge.d.ts.map +1 -1
  93. package/dist/neutral/shared/config/actors/Mempool.d.ts +70 -72
  94. package/dist/neutral/shared/config/actors/Mempool.d.ts.map +1 -1
  95. package/dist/neutral/shared/config/actors/Producer.d.ts +70 -72
  96. package/dist/neutral/shared/config/actors/Producer.d.ts.map +1 -1
  97. package/dist/neutral/shared/config/actors/RewardRedemption.d.ts +70 -72
  98. package/dist/neutral/shared/config/actors/RewardRedemption.d.ts.map +1 -1
  99. package/dist/neutral/shared/config/actors/Validator.d.ts +70 -72
  100. package/dist/neutral/shared/config/actors/Validator.d.ts.map +1 -1
  101. package/dist/neutral/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
  102. package/dist/neutral/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
  103. package/dist/neutral/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
  104. package/dist/neutral/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
  105. package/dist/neutral/shared/config/locators/commonLocatorFromConfig.d.ts.map +1 -1
  106. package/dist/neutral/shared/config/locators/index.d.ts +2 -2
  107. package/dist/neutral/shared/config/locators/index.d.ts.map +1 -1
  108. package/dist/neutral/shared/config/mergeConfig.d.ts +6 -6
  109. package/dist/neutral/shared/index.d.ts +0 -1
  110. package/dist/neutral/shared/index.d.ts.map +1 -1
  111. package/dist/neutral/shared/init/index.d.ts +0 -1
  112. package/dist/neutral/shared/init/index.d.ts.map +1 -1
  113. package/dist/node/index.mjs +483 -402
  114. package/dist/node/index.mjs.map +1 -1
  115. package/dist/node/neutral/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  116. package/dist/node/neutral/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  117. package/dist/node/neutral/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  118. package/dist/node/neutral/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  119. package/dist/node/neutral/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
  120. package/dist/node/node/config/locators/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  121. package/dist/node/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
  122. package/dist/node/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
  123. package/dist/node/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
  124. package/dist/node/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
  125. package/dist/node/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
  126. package/dist/node/node/config/locators/index.d.ts +2 -0
  127. package/dist/node/node/config/locators/index.d.ts.map +1 -1
  128. package/dist/node/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  129. package/dist/node/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
  130. package/dist/node/node/config/tryParseConfig.d.ts +12 -12
  131. package/dist/node/node/evm/index.d.ts.map +1 -0
  132. package/dist/node/node/evm/initChainId.d.ts.map +1 -0
  133. package/dist/node/node/evm/initEvmProvider.d.ts.map +1 -0
  134. package/dist/node/node/evm/initInfuraProvider.d.ts.map +1 -0
  135. package/dist/node/node/evm/initJsonRpcProvider.d.ts.map +1 -0
  136. package/dist/node/node/index.d.ts +2 -0
  137. package/dist/node/node/index.d.ts.map +1 -1
  138. package/dist/node/node/init/index.d.ts +1 -0
  139. package/dist/node/node/init/index.d.ts.map +1 -1
  140. package/dist/node/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
  141. package/dist/node/node/sharedMiddleware.d.ts +3 -0
  142. package/dist/node/node/sharedMiddleware.d.ts.map +1 -0
  143. package/dist/node/shared/actor/ValidatorActor.d.ts +3 -1
  144. package/dist/node/shared/actor/ValidatorActor.d.ts.map +1 -1
  145. package/dist/node/shared/config/actors/Api.d.ts +70 -72
  146. package/dist/node/shared/config/actors/Api.d.ts.map +1 -1
  147. package/dist/node/shared/config/actors/Bridge.d.ts +70 -72
  148. package/dist/node/shared/config/actors/Bridge.d.ts.map +1 -1
  149. package/dist/node/shared/config/actors/Mempool.d.ts +70 -72
  150. package/dist/node/shared/config/actors/Mempool.d.ts.map +1 -1
  151. package/dist/node/shared/config/actors/Producer.d.ts +70 -72
  152. package/dist/node/shared/config/actors/Producer.d.ts.map +1 -1
  153. package/dist/node/shared/config/actors/RewardRedemption.d.ts +70 -72
  154. package/dist/node/shared/config/actors/RewardRedemption.d.ts.map +1 -1
  155. package/dist/node/shared/config/actors/Validator.d.ts +70 -72
  156. package/dist/node/shared/config/actors/Validator.d.ts.map +1 -1
  157. package/dist/node/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
  158. package/dist/node/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
  159. package/dist/node/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
  160. package/dist/node/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
  161. package/dist/node/shared/config/locators/commonLocatorFromConfig.d.ts.map +1 -1
  162. package/dist/node/shared/config/locators/index.d.ts +2 -2
  163. package/dist/node/shared/config/locators/index.d.ts.map +1 -1
  164. package/dist/node/shared/config/mergeConfig.d.ts +6 -6
  165. package/dist/node/shared/index.d.ts +0 -1
  166. package/dist/node/shared/index.d.ts.map +1 -1
  167. package/dist/node/shared/init/index.d.ts +0 -1
  168. package/dist/node/shared/init/index.d.ts.map +1 -1
  169. package/package.json +37 -32
  170. package/src/neutral/config/locators/basicRemoteRunnerLocator.ts +3 -26
  171. package/src/neutral/config/locators/basicRemoteViewerLocator.ts +3 -29
  172. package/src/neutral/config/locators/rootLocatorFromConfig.ts +2 -4
  173. package/src/node/config/locators/actors/bridgeLocatorFromConfig.ts +14 -14
  174. package/src/node/config/locators/basicRemoteRunnerLocator.ts +22 -31
  175. package/src/node/config/locators/basicRemoteViewerLocator.ts +10 -34
  176. package/src/{shared → node}/config/locators/contextFromConfigWithoutLocator.ts +1 -1
  177. package/src/node/config/locators/index.ts +2 -0
  178. package/src/node/config/locators/localLocatorFromConfig.ts +1 -1
  179. package/src/node/config/locators/locatorsFromConfig.ts +2 -3
  180. package/src/node/config/locators/rootLocatorFromConfig.ts +1 -1
  181. package/src/node/config/tryParseConfig.ts +1 -1
  182. package/src/node/index.ts +2 -0
  183. package/src/node/init/index.ts +1 -0
  184. package/src/node/sharedMiddleware.ts +24 -0
  185. package/src/shared/actor/ValidatorActor.ts +9 -2
  186. package/src/shared/config/actors/Bridge.ts +2 -3
  187. package/src/shared/config/locators/basicRemoteRunnerLocator.ts +63 -0
  188. package/src/shared/config/locators/basicRemoteViewerLocator.ts +44 -0
  189. package/src/shared/config/locators/commonLocatorFromConfig.ts +16 -3
  190. package/src/shared/config/locators/index.ts +2 -2
  191. package/src/shared/index.ts +0 -1
  192. package/src/shared/init/index.ts +0 -1
  193. package/dist/browser/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
  194. package/dist/browser/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
  195. package/dist/browser/shared/evm/index.d.ts.map +0 -1
  196. package/dist/browser/shared/evm/initChainId.d.ts.map +0 -1
  197. package/dist/browser/shared/evm/initEvmProvider.d.ts.map +0 -1
  198. package/dist/browser/shared/evm/initInfuraProvider.d.ts.map +0 -1
  199. package/dist/browser/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
  200. package/dist/browser/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
  201. package/dist/neutral/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
  202. package/dist/neutral/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
  203. package/dist/neutral/shared/evm/index.d.ts.map +0 -1
  204. package/dist/neutral/shared/evm/initChainId.d.ts.map +0 -1
  205. package/dist/neutral/shared/evm/initEvmProvider.d.ts.map +0 -1
  206. package/dist/neutral/shared/evm/initInfuraProvider.d.ts.map +0 -1
  207. package/dist/neutral/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
  208. package/dist/neutral/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
  209. package/dist/node/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
  210. package/dist/node/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
  211. package/dist/node/shared/evm/index.d.ts.map +0 -1
  212. package/dist/node/shared/evm/initChainId.d.ts.map +0 -1
  213. package/dist/node/shared/evm/initEvmProvider.d.ts.map +0 -1
  214. package/dist/node/shared/evm/initInfuraProvider.d.ts.map +0 -1
  215. package/dist/node/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
  216. package/dist/node/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
  217. /package/dist/browser/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
  218. /package/dist/browser/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
  219. /package/dist/browser/{shared → node}/evm/index.d.ts +0 -0
  220. /package/dist/browser/{shared → node}/evm/initChainId.d.ts +0 -0
  221. /package/dist/browser/{shared → node}/evm/initEvmProvider.d.ts +0 -0
  222. /package/dist/browser/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
  223. /package/dist/browser/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
  224. /package/dist/browser/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
  225. /package/dist/neutral/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
  226. /package/dist/neutral/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
  227. /package/dist/neutral/{shared → node}/evm/index.d.ts +0 -0
  228. /package/dist/neutral/{shared → node}/evm/initChainId.d.ts +0 -0
  229. /package/dist/neutral/{shared → node}/evm/initEvmProvider.d.ts +0 -0
  230. /package/dist/neutral/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
  231. /package/dist/neutral/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
  232. /package/dist/neutral/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
  233. /package/dist/node/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
  234. /package/dist/node/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
  235. /package/dist/node/{shared → node}/evm/index.d.ts +0 -0
  236. /package/dist/node/{shared → node}/evm/initChainId.d.ts +0 -0
  237. /package/dist/node/{shared → node}/evm/initEvmProvider.d.ts +0 -0
  238. /package/dist/node/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
  239. /package/dist/node/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
  240. /package/dist/node/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
  241. /package/src/{shared → node}/config/locators/telemetryContextFromConfig.ts +0 -0
  242. /package/src/{shared → node}/evm/index.ts +0 -0
  243. /package/src/{shared → node}/evm/initChainId.ts +0 -0
  244. /package/src/{shared → node}/evm/initEvmProvider.ts +0 -0
  245. /package/src/{shared → node}/evm/initInfuraProvider.ts +0 -0
  246. /package/src/{shared → node}/evm/initJsonRpcProvider.ts +0 -0
  247. /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,
@@ -117,7 +123,7 @@ var DEFAULT_HARDHAT_BRIDGE_CONTRACT = toAddress("2279B7A0a67DB372996a5FaB50D91eA
117
123
  var DEFAULT_HARDHAT_CHAIN_ID = toHex("7A69");
118
124
  var DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY = toHex("0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80");
119
125
  var DEFAULT_HARDHAT_TOKEN_CONTRACT = toAddress("5FbDB2315678afecb367f032d93F642f64180aa3");
120
- var DEFAULT_MAX_BRIDGE_AMOUNT = toHex(XL1(100000000n) * AttoXL1ConvertFactor.xl1);
126
+ var DEFAULT_MAX_BRIDGE_AMOUNT = toHex(XL1(1000000n) * AttoXL1ConvertFactor.xl1);
121
127
  var DEFAULT_MIN_BRIDGE_AMOUNT = toHex(XL1(1500n) * AttoXL1ConvertFactor.xl1);
122
128
  var BasisPointsZod = z2.coerce.number().int().nonnegative().max(1e4);
123
129
  var BridgeConfigZod = HostActorConfigZod2.extend({
@@ -348,11 +354,30 @@ 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
- import { ProviderFactoryLocator, SimpleBlockRewardViewer, SimpleBlockValidationViewer, SimpleNetworkStakeViewer, SimpleStepRewardsByPositionViewer, SimpleStepRewardsByStakerViewer, SimpleStepRewardsByStepViewer, SimpleStepRewardsTotalViewer, SimpleStepRewardsViewer, SimpleStepViewer, SimpleTimeSyncViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer } from "@xyo-network/xl1-sdk";
367
+ import { BlockCumulativeBalanceValidatorFactory, ProviderFactoryLocator, SimpleBlockRewardViewer, SimpleBlockValidationViewer, SimpleNetworkStakeViewer, SimpleStepRewardsByPositionViewer, SimpleStepRewardsByStakerViewer, SimpleStepRewardsByStepViewer, SimpleStepRewardsTotalViewer, SimpleStepRewardsViewer, SimpleStepViewer, SimpleTimeSyncViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer } from "@xyo-network/xl1-sdk";
368
+ var cumulativeBalanceValidator = BlockCumulativeBalanceValidatorFactory();
369
+ var validateHydratedBlockStateWithCumulativeBalance = /* @__PURE__ */ __name(async (context, block) => {
370
+ const [stateErrors, cumulativeErrors] = await Promise.all([
371
+ validateHydratedBlockState(context, block),
372
+ cumulativeBalanceValidator(context, block)
373
+ ]);
374
+ return [
375
+ ...stateErrors,
376
+ ...cumulativeErrors
377
+ ];
378
+ }, "validateHydratedBlockStateWithCumulativeBalance");
354
379
  function commonLocatorFromConfig(context, validateDepsOnRegister = false) {
355
- let locator = new ProviderFactoryLocator(context, {}, validateDepsOnRegister);
380
+ const locator = new ProviderFactoryLocator(context, {}, validateDepsOnRegister);
356
381
  locator.registerMany([
357
382
  SimpleNetworkStakeViewer.factory(SimpleNetworkStakeViewer.dependencies, {}),
358
383
  SimpleTimeSyncViewer.factory(SimpleTimeSyncViewer.dependencies, {}),
@@ -368,7 +393,7 @@ function commonLocatorFromConfig(context, validateDepsOnRegister = false) {
368
393
  }),
369
394
  SimpleBlockRewardViewer.factory(SimpleBlockRewardViewer.dependencies, {}),
370
395
  SimpleBlockValidationViewer.factory(SimpleBlockValidationViewer.dependencies, {
371
- state: validateHydratedBlockState,
396
+ state: validateHydratedBlockStateWithCumulativeBalance,
372
397
  protocol: validateHydratedBlock
373
398
  }),
374
399
  SimpleTransactionViewer.factory(SimpleTransactionViewer.dependencies, {})
@@ -377,14 +402,163 @@ function commonLocatorFromConfig(context, validateDepsOnRegister = false) {
377
402
  }
378
403
  __name(commonLocatorFromConfig, "commonLocatorFromConfig");
379
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
+
380
554
  // src/shared/init/initActorAccount.ts
381
- import { isDefined, isUndefined } from "@xylabs/sdk-js";
555
+ import { isDefined as isDefined3, isUndefined } from "@xylabs/sdk-js";
382
556
  import { HDWallet } from "@xyo-network/sdk-js";
383
557
  import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-sdk";
384
558
  var actorAccountSingletons = {};
385
559
  async function initActorAccount({ config, logger }) {
386
560
  const actorName = config.name;
387
- if (isDefined(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
561
+ if (isDefined3(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
388
562
  let walletPhrase = config.mnemonic;
389
563
  if (isUndefined(walletPhrase)) {
390
564
  logger?.warn(`[${actorName}}] No wallet mnemonic specified!`);
@@ -460,141 +634,6 @@ async function initBridgedArchivistModule({ bridge, moduleName }) {
460
634
  }
461
635
  __name(initBridgedArchivistModule, "initBridgedArchivistModule");
462
636
 
463
- // src/shared/init/initEvmProvidersIfAvailable.ts
464
- import { asEthAddress, assertEx as assertEx7 } from "@xylabs/sdk-js";
465
- import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeTotalsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
466
- import { SimpleChainContractViewer, SimpleStakeEventsViewer, SimpleStakeTotalsViewer, SimpleStakeViewer, SimpleTimeSyncViewer as SimpleTimeSyncViewer2, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
467
-
468
- // src/shared/evm/initChainId.ts
469
- import { assertEx as assertEx3, hexFrom, isDefined as isDefined2, isHex } from "@xylabs/sdk-js";
470
- var canUseChainId = /* @__PURE__ */ __name(({ config }) => {
471
- return isDefined2(config.evm.chainId);
472
- }, "canUseChainId");
473
- var getChainId = /* @__PURE__ */ __name(({ config }) => {
474
- const chainId = assertEx3(config.evm.chainId, () => "Missing config.evm.chainId");
475
- if (isHex(chainId, {
476
- prefix: true
477
- })) {
478
- const hex = hexFrom(chainId);
479
- const parsed = Number.parseInt(hex, 16);
480
- return parsed;
481
- } else {
482
- const parsed = Number.parseInt(chainId, 10);
483
- return parsed;
484
- }
485
- }, "getChainId");
486
-
487
- // src/shared/evm/initEvmProvider.ts
488
- import { assertEx as assertEx6 } from "@xylabs/sdk-js";
489
-
490
- // src/shared/evm/initInfuraProvider.ts
491
- import { assertEx as assertEx4, isDefined as isDefined3 } from "@xylabs/sdk-js";
492
- import { InfuraProvider } from "ethers/providers";
493
- var instance;
494
- var initInfuraProvider = /* @__PURE__ */ __name((context) => {
495
- if (instance) return instance;
496
- const providerConfig = getInfuraProviderConfig(context);
497
- instance = Promise.resolve(new InfuraProvider(providerConfig[0], providerConfig[1]));
498
- return instance;
499
- }, "initInfuraProvider");
500
- var canUseInfuraProvider = /* @__PURE__ */ __name((context) => {
501
- const { config } = context;
502
- return canUseChainId(context) && isDefined3(config.evm?.infura?.projectId) && isDefined3(config.evm?.infura?.projectSecret);
503
- }, "canUseInfuraProvider");
504
- var getInfuraProviderConfig = /* @__PURE__ */ __name((context) => {
505
- const { config } = context;
506
- const projectId = assertEx4(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
507
- const projectSecret = assertEx4(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
508
- return [
509
- getChainId(context),
510
- projectId,
511
- projectSecret
512
- ];
513
- }, "getInfuraProviderConfig");
514
-
515
- // src/shared/evm/initJsonRpcProvider.ts
516
- import { assertEx as assertEx5, isDefined as isDefined4 } from "@xylabs/sdk-js";
517
- import { JsonRpcProvider } from "ethers/providers";
518
- var initJsonRpcProvider = /* @__PURE__ */ __name((context) => {
519
- const providerConfig = getJsonRpcProviderConfig(context);
520
- return Promise.resolve(new JsonRpcProvider(...providerConfig));
521
- }, "initJsonRpcProvider");
522
- var canUseJsonRpcProvider = /* @__PURE__ */ __name((context) => {
523
- const { config } = context;
524
- return canUseChainId(context) && isDefined4(config.evm.jsonRpc?.url);
525
- }, "canUseJsonRpcProvider");
526
- var getJsonRpcProviderConfig = /* @__PURE__ */ __name((context) => {
527
- const { config } = context;
528
- const jsonRpcUrl = assertEx5(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
529
- return [
530
- jsonRpcUrl,
531
- getChainId(context)
532
- ];
533
- }, "getJsonRpcProviderConfig");
534
-
535
- // src/shared/evm/initEvmProvider.ts
536
- var provider;
537
- var initEvmProvider = /* @__PURE__ */ __name(async (context) => {
538
- if (provider) return provider;
539
- if (canUseInfuraProvider(context)) {
540
- provider = initInfuraProvider(context);
541
- } else if (canUseJsonRpcProvider(context)) {
542
- provider = initJsonRpcProvider(context);
543
- }
544
- return assertEx6(await provider, () => "No provider available");
545
- }, "initEvmProvider");
546
- var canUseEvmProvider = /* @__PURE__ */ __name((context) => {
547
- return canUseInfuraProvider(context) || canUseJsonRpcProvider(context);
548
- }, "canUseEvmProvider");
549
-
550
- // src/shared/init/initEvmProvidersIfAvailable.ts
551
- async function initEvmProvidersIfAvailable(locator) {
552
- const context = locator.context;
553
- const { logger } = context;
554
- if (canUseEvmProvider(context)) {
555
- const chainId = assertEx7(context.config.chain.id, () => "Missing config.chain.id (required for EVM providers)");
556
- const provider2 = await initEvmProvider(context);
557
- const address = asEthAddress(chainId, true);
558
- locator.register(EvmStakeEventsViewer.factory(EvmStakeEventsViewer.dependencies, {
559
- address,
560
- provider: provider2
561
- }));
562
- locator.register(EvmStakeViewer.factory(EvmStakeViewer.dependencies, {
563
- address,
564
- provider: provider2
565
- }));
566
- locator.register(EvmStakeTotalsViewer.factory(EvmStakeTotalsViewer.dependencies, {
567
- address,
568
- provider: provider2
569
- }));
570
- locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
571
- address,
572
- provider: provider2
573
- }));
574
- locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {
575
- ethProvider: provider2
576
- }));
577
- } else {
578
- logger?.warn("EVM provider not available - running with memory based contract/stake viewers");
579
- const positions = [];
580
- locator.register(SimpleStakeEventsViewer.factory(SimpleStakeEventsViewer.dependencies, {
581
- positions
582
- }));
583
- locator.register(SimpleStakeViewer.factory(SimpleStakeViewer.dependencies, {
584
- positions
585
- }));
586
- locator.register(SimpleStakeTotalsViewer.factory(SimpleStakeTotalsViewer.dependencies, {}));
587
- locator.register(SimpleChainContractViewer.factory(SimpleChainContractViewer.dependencies, {
588
- minWithdrawalBlocks: 10,
589
- stakingTokenAddress: XYO_ZERO_ADDRESS,
590
- rewardsContract: XYO_ZERO_ADDRESS
591
- }));
592
- locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {}));
593
- }
594
- return locator;
595
- }
596
- __name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
597
-
598
637
  // src/shared/init/initStatusReporter.ts
599
638
  import { RuntimeStatusMonitor } from "@xyo-network/xl1-sdk";
600
639
  function initStatusReporter({ logger }) {
@@ -615,140 +654,16 @@ function initStatusReporter({ logger }) {
615
654
  __name(initStatusReporter, "initStatusReporter");
616
655
 
617
656
  // src/shared/init/initWallet.ts
618
- import { isDefined as isDefined5 } from "@xylabs/sdk-js";
657
+ import { isDefined as isDefined4 } from "@xylabs/sdk-js";
619
658
  import { boot } from "@xyo-network/bios";
620
659
  import { HDWallet as HDWallet3 } from "@xyo-network/sdk-js";
621
660
  async function initActorWallet(context, mnemonic) {
622
661
  const bios = await boot();
623
- const seedPhrase = isDefined5(mnemonic) ? mnemonic : await initActorSeedPhrase(context, bios);
662
+ const seedPhrase = isDefined4(mnemonic) ? mnemonic : await initActorSeedPhrase(context, bios);
624
663
  return await HDWallet3.fromPhrase(seedPhrase);
625
664
  }
626
665
  __name(initActorWallet, "initActorWallet");
627
666
 
628
- // src/shared/config/locators/telemetryContextFromConfig.ts
629
- import { initTelemetry } from "@xyo-network/chain-telemetry";
630
- async function telemetryContextFromConfig(config, serviceName, serviceVersion) {
631
- const { otlpEndpoint } = config.telemetry?.otel ?? {};
632
- const { path: endpoint = "/metrics", port = 9466 } = config.telemetry?.metrics?.scrape ?? {};
633
- return await initTelemetry({
634
- attributes: {
635
- serviceName,
636
- serviceVersion
637
- },
638
- otlpEndpoint,
639
- metricsConfig: {
640
- endpoint,
641
- port
642
- }
643
- });
644
- }
645
- __name(telemetryContextFromConfig, "telemetryContextFromConfig");
646
-
647
- // src/shared/config/locators/contextFromConfigWithoutLocator.ts
648
- async function contextFromConfigWithoutLocator(config, logger, serviceName, serviceVersion) {
649
- const singletons = {};
650
- const caches = {};
651
- const telemetryConfig = await telemetryContextFromConfig(config, serviceName, serviceVersion);
652
- const statusReporter = initStatusReporter({
653
- logger
654
- });
655
- return {
656
- ...telemetryConfig,
657
- config,
658
- singletons,
659
- caches,
660
- logger,
661
- statusReporter
662
- };
663
- }
664
- __name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
665
-
666
- // src/shared/config/locators/remoteLocatorFromConfig.ts
667
- import { JsonRpcAccountBalanceViewer, JsonRpcBlockViewer, JsonRpcFinalizationViewer, JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcNetworkStakeViewer, JsonRpcStakeViewer, JsonRpcTransactionViewer, JsonRpcXyoViewer, ProviderFactoryLocator as ProviderFactoryLocator2, SimpleStakeEventsViewer as SimpleStakeEventsViewer2 } from "@xyo-network/xl1-sdk";
668
- function remoteLocatorFromConfig(context, validateDepsOnRegister = false) {
669
- const locator = new ProviderFactoryLocator2(context, {}, validateDepsOnRegister);
670
- locator.registerMany([
671
- JsonRpcMempoolViewer.factory(JsonRpcMempoolViewer.dependencies, {}),
672
- JsonRpcMempoolRunner.factory(JsonRpcMempoolRunner.dependencies, {}),
673
- JsonRpcAccountBalanceViewer.factory(JsonRpcAccountBalanceViewer.dependencies, {}),
674
- JsonRpcFinalizationViewer.factory(JsonRpcFinalizationViewer.dependencies, {}),
675
- JsonRpcBlockViewer.factory(JsonRpcBlockViewer.dependencies, {}),
676
- JsonRpcTransactionViewer.factory(JsonRpcTransactionViewer.dependencies, {}),
677
- JsonRpcNetworkStakeViewer.factory(JsonRpcNetworkStakeViewer.dependencies, {}),
678
- JsonRpcStakeViewer.factory(JsonRpcStakeViewer.dependencies, {}),
679
- SimpleStakeEventsViewer2.factory(SimpleStakeEventsViewer2.dependencies, {
680
- positions: []
681
- }),
682
- JsonRpcXyoViewer.factory(JsonRpcXyoViewer.dependencies, {})
683
- ]);
684
- return locator;
685
- }
686
- __name(remoteLocatorFromConfig, "remoteLocatorFromConfig");
687
-
688
- // src/shared/config/mergeConfig.ts
689
- import { deepMerge } from "@xylabs/sdk-js";
690
- function mergeConfig({ actors, ...baseConfig }) {
691
- return {
692
- ...baseConfig,
693
- actors: actors.map((actor) => {
694
- return deepMerge(baseConfig, actor);
695
- })
696
- };
697
- }
698
- __name(mergeConfig, "mergeConfig");
699
-
700
- // src/shared/createDeclarationIntentBlock.ts
701
- import { buildNextBlock } from "@xyo-network/chain-sdk";
702
- import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
703
- async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, range) {
704
- const producerDeclarationPayload = createDeclarationIntent(producerAccount.address, "producer", range[0], range[1]);
705
- return await buildNextBlock(prevBlock, [], [
706
- producerDeclarationPayload
707
- ], [
708
- producerAccount
709
- ]);
710
- }
711
- __name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
712
-
713
- // src/shared/host/implementation/DefaultHost.ts
714
- var GenericHost = class {
715
- static {
716
- __name(this, "GenericHost");
717
- }
718
- services;
719
- constructor(services) {
720
- this.services = services;
721
- }
722
- async start() {
723
- await Promise.resolve();
724
- console.log("Host is starting...");
725
- }
726
- async stop() {
727
- await Promise.resolve();
728
- console.log("Host is stopping...");
729
- }
730
- };
731
-
732
- // src/shared/host/implementation/DefaultServiceProvider.ts
733
- var DefaultServiceProvider = class {
734
- static {
735
- __name(this, "DefaultServiceProvider");
736
- }
737
- _services;
738
- constructor(services) {
739
- this._services = services;
740
- }
741
- getService(serviceIdentifier) {
742
- return this._services[serviceIdentifier];
743
- }
744
- };
745
-
746
- // src/shared/host/model/ServiceCollection.ts
747
- var ServiceLifetime = {
748
- Singleton: "Singleton",
749
- Transient: "Transient"
750
- };
751
-
752
667
  // src/shared/orchestrator/Orchestrator.ts
753
668
  import { AbstractCreatable, creatable as creatable2 } from "@xylabs/sdk-js";
754
669
  function _ts_decorate2(decorators, target, key, desc) {
@@ -951,12 +866,12 @@ async function initRejectedTransactionsArchivist({ logger }) {
951
866
  __name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
952
867
 
953
868
  // src/node/archivists/StakeIntentState/archivist.ts
954
- import { assertEx as assertEx9, timeBudget as timeBudget4 } from "@xylabs/sdk-js";
869
+ import { assertEx as assertEx4, timeBudget as timeBudget4 } from "@xylabs/sdk-js";
955
870
  import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
956
871
  import { Mutex as Mutex9 } from "async-mutex";
957
872
 
958
873
  // src/node/archivists/StakeIntentState/local.ts
959
- import { assertEx as assertEx8 } from "@xylabs/sdk-js";
874
+ import { assertEx as assertEx3 } from "@xylabs/sdk-js";
960
875
  import { Mutex as Mutex8 } from "async-mutex";
961
876
  var mutex7 = new Mutex8();
962
877
  var singleton7;
@@ -965,42 +880,108 @@ async function initLocalStakeIntentStateArchivist({ config }) {
965
880
  if (singleton7) return singleton7;
966
881
  const { root } = config.storage;
967
882
  singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
968
- 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"));
884
+ });
885
+ }
886
+ __name(initLocalStakeIntentStateArchivist, "initLocalStakeIntentStateArchivist");
887
+
888
+ // src/node/archivists/StakeIntentState/archivist.ts
889
+ var mutex8 = new Mutex9();
890
+ var singleton8;
891
+ async function initStakeIntentStateArchivist(context) {
892
+ return await mutex8.runExclusive(async () => {
893
+ if (singleton8) return singleton8;
894
+ return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
895
+ const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
896
+ singleton8 = local;
897
+ return assertEx4(singleton8, () => "StakeIntentStateArchivist is undefined");
898
+ }, 2e3, true);
899
+ });
900
+ }
901
+ __name(initStakeIntentStateArchivist, "initStakeIntentStateArchivist");
902
+
903
+ // src/node/config/locators/basicRemoteRunnerLocator.ts
904
+ import { isAccountInstance } from "@xyo-network/sdk-js";
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");
928
+
929
+ // src/node/config/locators/basicRemoteViewerLocator.ts
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
+ }
969
955
  });
970
956
  }
971
- __name(initLocalStakeIntentStateArchivist, "initLocalStakeIntentStateArchivist");
957
+ __name(telemetryContextFromConfig, "telemetryContextFromConfig");
972
958
 
973
- // src/node/archivists/StakeIntentState/archivist.ts
974
- var mutex8 = new Mutex9();
975
- var singleton8;
976
- async function initStakeIntentStateArchivist(context) {
977
- return await mutex8.runExclusive(async () => {
978
- if (singleton8) return singleton8;
979
- return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
980
- const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
981
- singleton8 = local;
982
- return assertEx9(singleton8, () => "StakeIntentStateArchivist is undefined");
983
- }, 2e3, true);
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
984
966
  });
967
+ return {
968
+ ...telemetryConfig,
969
+ config,
970
+ singletons,
971
+ caches,
972
+ logger,
973
+ statusReporter
974
+ };
985
975
  }
986
- __name(initStakeIntentStateArchivist, "initStakeIntentStateArchivist");
987
-
988
- // src/node/config/locators/basicRemoteRunnerLocator.ts
989
- import { isDefined as isDefined8 } from "@xylabs/sdk-js";
990
- import { isAccountInstance } from "@xyo-network/sdk-js";
991
- import { JsonRpcXyoRunner, JsonRpcXyoSigner, ProviderFactoryLocator as ProviderFactoryLocator5, RestDataLakeViewer as RestDataLakeViewer2, SimpleXyoConnectionRunner, SimpleXyoSigner } from "@xyo-network/xl1-sdk";
992
-
993
- // src/node/config/locators/basicRemoteViewerLocator.ts
994
- import { isDefined as isDefined7 } from "@xylabs/sdk-js";
995
- import { ActorConfigZod as ActorConfigZod2, JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer2, ProviderFactoryLocator as ProviderFactoryLocator4, RestDataLakeViewer, SimpleTransactionViewer as SimpleTransactionViewer3, SimpleXyoConnectionViewer as SimpleXyoConnectionViewer2, SimpleXyoGateway } from "@xyo-network/xl1-sdk";
976
+ __name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
996
977
 
997
978
  // src/node/config/locators/localLocatorFromConfig.ts
998
979
  import { assertEx as assertEx14 } from "@xylabs/sdk-js";
999
- 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";
1000
981
 
1001
982
  // src/node/init/initBalanceSummaryMap.ts
1002
983
  import { BaseMongoSdk } from "@xylabs/mongo";
1003
- import { assertEx as assertEx10 } from "@xylabs/sdk-js";
984
+ import { assertEx as assertEx5 } from "@xylabs/sdk-js";
1004
985
  import { MongoMap } from "@xyo-network/chain-protocol";
1005
986
  import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
1006
987
  async function initBalanceSummaryMap({ logger, config }) {
@@ -1025,7 +1006,7 @@ async function initBalanceSummaryMap({ logger, config }) {
1025
1006
  maxEntries: 5e3
1026
1007
  }
1027
1008
  });
1028
- assertEx10(await result.start(), () => "Failed to start transfer summary map");
1009
+ assertEx5(await result.start(), () => "Failed to start transfer summary map");
1029
1010
  return result;
1030
1011
  } else {
1031
1012
  logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
@@ -1034,6 +1015,141 @@ async function initBalanceSummaryMap({ logger, config }) {
1034
1015
  }
1035
1016
  __name(initBalanceSummaryMap, "initBalanceSummaryMap");
1036
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
+
1037
1153
  // src/node/init/initFinalizationArchivistIfNeeded.ts
1038
1154
  import { assertEx as assertEx11 } from "@xylabs/sdk-js";
1039
1155
  import { createBootstrapHead } from "@xyo-network/chain-sdk";
@@ -1084,7 +1200,7 @@ import { assertEx as assertEx12 } from "@xylabs/sdk-js";
1084
1200
  import { asArchivistInstance } from "@xyo-network/sdk-js";
1085
1201
 
1086
1202
  // src/node/manifest/getLocator.ts
1087
- import { isDefined as isDefined6 } from "@xylabs/sdk-js";
1203
+ import { isDefined as isDefined8 } from "@xylabs/sdk-js";
1088
1204
  import { MongoDBArchivistV2 as MongoDBArchivistV22, MongoDBArchivistV2Deletable } from "@xyo-network/archivist-mongodb";
1089
1205
  import { ViewArchivist } from "@xyo-network/archivist-view";
1090
1206
  import { initTelemetry as initTelemetry2 } from "@xyo-network/chain-telemetry";
@@ -1104,7 +1220,7 @@ var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
1104
1220
  port
1105
1221
  }
1106
1222
  });
1107
- if (isDefined6(logger)) AbstractModule.defaultLogger = logger;
1223
+ if (isDefined8(logger)) AbstractModule.defaultLogger = logger;
1108
1224
  const statusReporter = logger ? new LoggerModuleStatusReporter(logger) : void 0;
1109
1225
  const locator = new ModuleFactoryLocator();
1110
1226
  const mongoConfig = config.storage?.mongo;
@@ -1386,7 +1502,7 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
1386
1502
  const wallet = await initActorWallet(context);
1387
1503
  const { writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist } = await initServerNode(context, wallet);
1388
1504
  await initFinalizationArchivistIfNeeded(writableChainArchivist, context.config, wallet);
1389
- const locator = new ProviderFactoryLocator3(context, {}, validateDepsOnRegister);
1505
+ const locator = new ProviderFactoryLocator5(context, {}, validateDepsOnRegister);
1390
1506
  locator.registerMany([
1391
1507
  SimpleMempoolViewer.factory(SimpleMempoolViewer.dependencies, {
1392
1508
  pendingTransactionsArchivist,
@@ -1410,8 +1526,8 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
1410
1526
  maxWindowSize: 1e4,
1411
1527
  syncInterval: 1e4
1412
1528
  }),
1413
- SimpleXyoConnectionViewer.factory(SimpleXyoConnectionViewer.dependencies, {}),
1414
- SimpleTransactionViewer2.factory(SimpleTransactionViewer2.dependencies, {}),
1529
+ SimpleXyoConnectionViewer2.factory(SimpleXyoConnectionViewer2.dependencies, {}),
1530
+ SimpleTransactionViewer3.factory(SimpleTransactionViewer3.dependencies, {}),
1415
1531
  SimpleXyoViewer.factory(SimpleXyoViewer.dependencies, {}),
1416
1532
  SimpleFinalizationViewer.factory(SimpleFinalizationViewer.dependencies, {
1417
1533
  finalizedArchivist: readonlyChainArchivist
@@ -1424,82 +1540,6 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
1424
1540
  }
1425
1541
  __name(localLocatorFromConfig, "localLocatorFromConfig");
1426
1542
 
1427
- // src/node/config/locators/rootLocatorFromConfig.ts
1428
- async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
1429
- const { config } = context;
1430
- let locator = await commonLocatorFromConfig(context, validateDepsOnRegister);
1431
- const newLocator = await (config.remote.rpc ? remoteLocatorFromConfig(locator.context, validateDepsOnRegister) : localLocatorFromConfig({
1432
- ...locator.context,
1433
- config: {
1434
- ...locator.context.config,
1435
- ...context.config
1436
- }
1437
- }, validateDepsOnRegister));
1438
- locator = newLocator;
1439
- locator = await initEvmProvidersIfAvailable(locator);
1440
- locator.freeze();
1441
- return locator;
1442
- }
1443
- __name(rootLocatorFromConfig, "rootLocatorFromConfig");
1444
-
1445
- // src/node/config/locators/basicRemoteViewerLocator.ts
1446
- async function basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint) {
1447
- const config = ActorConfigZod2.parse({
1448
- name,
1449
- remote: remoteConfig
1450
- });
1451
- const rootLocator = await rootLocatorFromConfig({
1452
- config,
1453
- singletons: {},
1454
- caches: {}
1455
- });
1456
- const remoteLocator = await remoteLocatorFromConfig(rootLocator.context);
1457
- const locator = new ProviderFactoryLocator4(remoteLocator.context, {});
1458
- locator.registerMany([
1459
- SimpleTransactionViewer3.factory(SimpleTransactionViewer3.dependencies, {}),
1460
- JsonRpcAccountBalanceViewer2.factory(JsonRpcAccountBalanceViewer2.dependencies, {}),
1461
- SimpleXyoConnectionViewer2.factory(SimpleXyoConnectionViewer2.dependencies, {}),
1462
- SimpleXyoGateway.factory(SimpleXyoGateway.dependencies, {})
1463
- ]);
1464
- if (isDefined7(dataLakeEndpoint)) {
1465
- const dataLakeViewerParams = {
1466
- endpoint: dataLakeEndpoint
1467
- };
1468
- locator.register(RestDataLakeViewer.factory(RestDataLakeViewer.dependencies, dataLakeViewerParams));
1469
- }
1470
- locator.freeze();
1471
- return locator;
1472
- }
1473
- __name(basicRemoteViewerLocator, "basicRemoteViewerLocator");
1474
-
1475
- // src/node/config/locators/basicRemoteRunnerLocator.ts
1476
- async function basicRemoteRunnerLocator(name, remoteConfig, signer, dataLakeEndpoint) {
1477
- const remoteViewerLocator = await basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint);
1478
- const locator = new ProviderFactoryLocator5(remoteViewerLocator.context, {});
1479
- locator.registerMany([
1480
- SimpleXyoConnectionRunner.factory(SimpleXyoConnectionRunner.dependencies, {}),
1481
- JsonRpcXyoRunner.factory(JsonRpcXyoRunner.dependencies, {})
1482
- ]);
1483
- if (isAccountInstance(signer)) {
1484
- locator.register(SimpleXyoSigner.factory(SimpleXyoSigner.dependencies, {
1485
- account: signer
1486
- }));
1487
- } else {
1488
- locator.register(JsonRpcXyoSigner.factory(JsonRpcXyoSigner.dependencies, {
1489
- transport: signer
1490
- }));
1491
- }
1492
- if (isDefined8(dataLakeEndpoint)) {
1493
- const dataLakeViewerParams = {
1494
- endpoint: dataLakeEndpoint
1495
- };
1496
- locator.register(RestDataLakeViewer2.factory(RestDataLakeViewer2.dependencies, dataLakeViewerParams));
1497
- }
1498
- locator.freeze();
1499
- return locator;
1500
- }
1501
- __name(basicRemoteRunnerLocator, "basicRemoteRunnerLocator");
1502
-
1503
1543
  // src/node/config/locators/locatorsFromConfig.ts
1504
1544
  import { deepMerge as deepMerge2 } from "@xylabs/sdk-js";
1505
1545
  import { ActorConfigZod as ActorConfigZod3 } from "@xyo-network/xl1-sdk";
@@ -1524,7 +1564,7 @@ __name(apiLocatorFromConfig, "apiLocatorFromConfig");
1524
1564
  // src/node/config/locators/actors/bridgeLocatorFromConfig.ts
1525
1565
  import { isDefined as isDefined9 } from "@xylabs/sdk-js";
1526
1566
  import { HDWallet as HDWallet4 } from "@xyo-network/sdk-js";
1527
- 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, 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";
1528
1568
  async function bridgeLocatorFromConfig(context, parent) {
1529
1569
  const locator = new ProviderFactoryLocator7({
1530
1570
  ...context,
@@ -1539,7 +1579,7 @@ async function bridgeLocatorFromConfig(context, parent) {
1539
1579
  locator.registerMany([
1540
1580
  JsonRpcMempoolViewer2.factory(JsonRpcMempoolViewer2.dependencies, {}),
1541
1581
  JsonRpcMempoolRunner2.factory(JsonRpcMempoolRunner2.dependencies, {}),
1542
- JsonRpcAccountBalanceViewer3.factory(JsonRpcAccountBalanceViewer3.dependencies, {}),
1582
+ JsonRpcAccountBalanceViewer4.factory(JsonRpcAccountBalanceViewer4.dependencies, {}),
1543
1583
  JsonRpcFinalizationViewer2.factory(JsonRpcFinalizationViewer2.dependencies, {}),
1544
1584
  JsonRpcBlockViewer2.factory(JsonRpcBlockViewer2.dependencies, {}),
1545
1585
  JsonRpcXyoRunner2.factory(JsonRpcXyoRunner2.dependencies, {}),
@@ -1547,34 +1587,35 @@ async function bridgeLocatorFromConfig(context, parent) {
1547
1587
  ]);
1548
1588
  }
1549
1589
  if (isDefined9(dataLake)) {
1550
- const { drivers = [] } = dataLake;
1551
- for (const dataLakeDriver of drivers) {
1552
- const { protocol, url: endpoint } = dataLakeDriver;
1553
- switch (protocol) {
1554
- case "rest": {
1555
- locator.registerMany([
1556
- RestDataLakeRunner.factory(RestDataLakeRunner.dependencies, {
1557
- endpoint
1558
- }),
1559
- RestDataLakeViewer3.factory(RestDataLakeViewer3.dependencies, {
1560
- endpoint
1561
- })
1562
- ]);
1563
- break;
1564
- }
1565
- default: {
1566
- throw new Error(`Unsupported data lake protocol: ${protocol}`);
1567
- }
1590
+ const { driver } = dataLake;
1591
+ switch (driver) {
1592
+ case "rest": {
1593
+ const { url: endpoint } = dataLake;
1594
+ locator.registerMany([
1595
+ RestDataLakeRunner.factory(RestDataLakeRunner.dependencies, {
1596
+ endpoint
1597
+ }),
1598
+ RestDataLakeViewer3.factory(RestDataLakeViewer3.dependencies, {
1599
+ endpoint
1600
+ })
1601
+ ]);
1602
+ break;
1603
+ }
1604
+ default: {
1605
+ throw new Error(`Unsupported data lake protocol: ${driver}`);
1568
1606
  }
1569
1607
  }
1570
1608
  }
1571
1609
  locator.registerMany([
1610
+ SimpleStakeEventsViewer3.factory(SimpleStakeEventsViewer3.dependencies, {
1611
+ positions: []
1612
+ }),
1572
1613
  SimpleXyoSigner2.factory(SimpleXyoSigner2.dependencies, {
1573
1614
  account: signerAccount
1574
1615
  }),
1575
1616
  SimpleXyoRunner2.factory(SimpleXyoRunner2.dependencies, {}),
1576
1617
  SimpleXyoConnectionRunner3.factory(SimpleXyoConnectionRunner3.dependencies, {}),
1577
- SimpleXyoGatewayRunner.factory(SimpleXyoGatewayRunner.dependencies, {})
1618
+ SimpleXyoGatewayRunner2.factory(SimpleXyoGatewayRunner2.dependencies, {})
1578
1619
  ]);
1579
1620
  locator.freeze();
1580
1621
  return locator;
@@ -1622,7 +1663,7 @@ async function producerLocatorFromConfig(context, parent) {
1622
1663
  __name(producerLocatorFromConfig, "producerLocatorFromConfig");
1623
1664
 
1624
1665
  // src/node/config/locators/actors/rewardRedemptionLocatorFromConfig.ts
1625
- 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";
1626
1667
  async function rewardRedemptionLocatorFromConfig(context, parent) {
1627
1668
  const locator = new ProviderFactoryLocator10({
1628
1669
  ...context,
@@ -1634,7 +1675,7 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
1634
1675
  locator.registerMany([
1635
1676
  JsonRpcMempoolViewer3.factory(JsonRpcMempoolViewer3.dependencies, {}),
1636
1677
  JsonRpcMempoolRunner3.factory(JsonRpcMempoolRunner3.dependencies, {}),
1637
- JsonRpcAccountBalanceViewer4.factory(JsonRpcAccountBalanceViewer4.dependencies, {}),
1678
+ JsonRpcAccountBalanceViewer5.factory(JsonRpcAccountBalanceViewer5.dependencies, {}),
1638
1679
  JsonRpcFinalizationViewer3.factory(JsonRpcFinalizationViewer3.dependencies, {}),
1639
1680
  JsonRpcBlockViewer3.factory(JsonRpcBlockViewer3.dependencies, {}),
1640
1681
  JsonRpcXyoRunner3.factory(JsonRpcXyoRunner3.dependencies, {}),
@@ -1647,7 +1688,7 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
1647
1688
  }),
1648
1689
  SimpleXyoRunner3.factory(SimpleXyoRunner3.dependencies, {}),
1649
1690
  SimpleXyoConnectionRunner4.factory(SimpleXyoConnectionRunner4.dependencies, {}),
1650
- SimpleXyoGatewayRunner2.factory(SimpleXyoGatewayRunner2.dependencies, {})
1691
+ SimpleXyoGatewayRunner3.factory(SimpleXyoGatewayRunner3.dependencies, {})
1651
1692
  ]);
1652
1693
  locator.freeze();
1653
1694
  return locator;
@@ -1667,6 +1708,24 @@ function validatorLocatorFromConfig(context, parent) {
1667
1708
  }
1668
1709
  __name(validatorLocatorFromConfig, "validatorLocatorFromConfig");
1669
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
+
1670
1729
  // src/node/config/locators/locatorsFromConfig.ts
1671
1730
  async function locatorsFromConfig(context, { actors, ...config }) {
1672
1731
  const result = {
@@ -1741,7 +1800,7 @@ async function tryParseConfig(options) {
1741
1800
  // loaders: { '.ts': TypeScriptLoader() },
1742
1801
  searchPlaces
1743
1802
  });
1744
- const result = configPath ? (await explorer.load(configPath))?.config : (await explorer.search())?.config;
1803
+ const result = isDefined10(configPath) ? (await explorer.load(configPath))?.config : (await explorer.search())?.config;
1745
1804
  if (isDefined10(result) && !isNull(result)) {
1746
1805
  const section = result[configSection];
1747
1806
  if (isDefined10(section) && typeof section === "object") {
@@ -1809,6 +1868,25 @@ function initHealthEndpoints(context, statusMonitor) {
1809
1868
  return isDefined11(healthCheckPort) ? createHealthServer(context, healthCheckPort, statusMonitor) : void 0;
1810
1869
  }
1811
1870
  __name(initHealthEndpoints, "initHealthEndpoints");
1871
+
1872
+ // src/node/sharedMiddleware.ts
1873
+ import { customPoweredByHeader, disableCaseSensitiveRouting, disableExpressDefaultPoweredByHeader, getJsonBodyParser, getJsonBodyParserOptions, responseProfiler, standardResponses } from "@xylabs/express";
1874
+ import compression from "compression";
1875
+ import cors from "cors";
1876
+ function sharedMiddleware(app) {
1877
+ app.set("etag", false);
1878
+ app.use(cors());
1879
+ app.use(compression());
1880
+ app.use(responseProfiler);
1881
+ app.use(getJsonBodyParser(getJsonBodyParserOptions({
1882
+ limit: "1mb"
1883
+ })));
1884
+ app.use(standardResponses);
1885
+ disableExpressDefaultPoweredByHeader(app);
1886
+ app.use(customPoweredByHeader);
1887
+ disableCaseSensitiveRouting(app);
1888
+ }
1889
+ __name(sharedMiddleware, "sharedMiddleware");
1812
1890
  export {
1813
1891
  ApiConfigContext,
1814
1892
  ApiConfigZod,
@@ -1844,6 +1922,8 @@ export {
1844
1922
  asRewardRedemptionConfigContext,
1845
1923
  asValidatorConfig,
1846
1924
  asValidatorConfigContext,
1925
+ baseBasicRemoteRunnerLocator,
1926
+ baseBasicRemoteViewerLocator,
1847
1927
  basicRemoteRunnerLocator,
1848
1928
  basicRemoteViewerLocator,
1849
1929
  buildTelemetryConfig,
@@ -1896,6 +1976,7 @@ export {
1896
1976
  mergeConfig,
1897
1977
  remoteLocatorFromConfig,
1898
1978
  rootLocatorFromConfig,
1979
+ sharedMiddleware,
1899
1980
  telemetryContextFromConfig,
1900
1981
  toApiConfig,
1901
1982
  toApiConfigContext,