@xyo-network/chain-orchestration 1.20.29 → 1.21.0

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 (223) hide show
  1. package/dist/browser/index.mjs +120 -120
  2. package/dist/browser/index.mjs.map +1 -1
  3. package/dist/browser/node/config/capabilities/Backing.d.ts +13 -0
  4. package/dist/browser/node/config/capabilities/Backing.d.ts.map +1 -0
  5. package/dist/browser/node/config/capabilities/Capability.d.ts +6 -32
  6. package/dist/browser/node/config/capabilities/Capability.d.ts.map +1 -1
  7. package/dist/browser/node/config/capabilities/ProcessSharedResources.d.ts +18 -11
  8. package/dist/browser/node/config/capabilities/ProcessSharedResources.d.ts.map +1 -1
  9. package/dist/browser/node/config/capabilities/Provider.d.ts +8 -46
  10. package/dist/browser/node/config/capabilities/Provider.d.ts.map +1 -1
  11. package/dist/browser/node/config/capabilities/backings/buildChainStoreBacking.d.ts +36 -0
  12. package/dist/browser/node/config/capabilities/backings/buildChainStoreBacking.d.ts.map +1 -0
  13. package/dist/browser/node/config/capabilities/backings/buildDlqStoreBacking.d.ts +13 -0
  14. package/dist/browser/node/config/capabilities/backings/buildDlqStoreBacking.d.ts.map +1 -0
  15. package/dist/browser/node/config/capabilities/backings/buildIndexerStoreBacking.d.ts +57 -0
  16. package/dist/browser/node/config/capabilities/backings/buildIndexerStoreBacking.d.ts.map +1 -0
  17. package/dist/browser/node/config/capabilities/backings/buildMempoolStoreBacking.d.ts +12 -0
  18. package/dist/browser/node/config/capabilities/backings/buildMempoolStoreBacking.d.ts.map +1 -0
  19. package/dist/browser/node/config/capabilities/backings/buildValidators.d.ts +14 -0
  20. package/dist/browser/node/config/capabilities/backings/buildValidators.d.ts.map +1 -0
  21. package/dist/browser/node/config/capabilities/backings/index.d.ts +6 -0
  22. package/dist/browser/node/config/capabilities/backings/index.d.ts.map +1 -0
  23. package/dist/browser/node/config/capabilities/defaultCapabilityRegistry.d.ts.map +1 -1
  24. package/dist/browser/node/config/capabilities/descriptors.d.ts +4 -0
  25. package/dist/browser/node/config/capabilities/descriptors.d.ts.map +1 -1
  26. package/dist/browser/node/config/capabilities/index.d.ts +2 -0
  27. package/dist/browser/node/config/capabilities/index.d.ts.map +1 -1
  28. package/dist/browser/node/config/capabilities/locatorFromActorNeeds.d.ts +22 -3
  29. package/dist/browser/node/config/capabilities/locatorFromActorNeeds.d.ts.map +1 -1
  30. package/dist/browser/node/config/capabilities/networkTier3Descriptors.d.ts +14 -0
  31. package/dist/browser/node/config/capabilities/networkTier3Descriptors.d.ts.map +1 -0
  32. package/dist/browser/node/config/capabilities/resolveProviders.d.ts +5 -26
  33. package/dist/browser/node/config/capabilities/resolveProviders.d.ts.map +1 -1
  34. package/dist/browser/node/config/locators/actors/apiLocatorFromConfig.d.ts +1 -1
  35. package/dist/browser/node/config/locators/actors/apiLocatorFromConfig.d.ts.map +1 -1
  36. package/dist/browser/node/config/locators/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  37. package/dist/browser/node/config/locators/actors/rewardRedemptionLocatorFromConfig.d.ts.map +1 -1
  38. package/dist/browser/node/config/locators/buildStatelessApiLocator.d.ts +20 -0
  39. package/dist/browser/node/config/locators/buildStatelessApiLocator.d.ts.map +1 -0
  40. package/dist/browser/node/config/locators/index.d.ts +1 -0
  41. package/dist/browser/node/config/locators/index.d.ts.map +1 -1
  42. package/dist/browser/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  43. package/dist/browser/node/config/tryParseConfig.d.ts +3 -2
  44. package/dist/browser/node/config/tryParseConfig.d.ts.map +1 -1
  45. package/dist/browser/shared/actor/index.d.ts +0 -1
  46. package/dist/browser/shared/actor/index.d.ts.map +1 -1
  47. package/dist/browser/shared/actor/v3/ActorV3.d.ts +17 -0
  48. package/dist/browser/shared/actor/v3/ActorV3.d.ts.map +1 -1
  49. package/dist/browser/shared/command/index.d.ts +2 -0
  50. package/dist/browser/shared/command/index.d.ts.map +1 -0
  51. package/dist/browser/shared/command/types.d.ts +8 -0
  52. package/dist/browser/shared/command/types.d.ts.map +1 -0
  53. package/dist/browser/shared/config/actors/Api.d.ts +18 -6
  54. package/dist/browser/shared/config/actors/Api.d.ts.map +1 -1
  55. package/dist/browser/shared/config/actors/Bridge.d.ts +18 -6
  56. package/dist/browser/shared/config/actors/Bridge.d.ts.map +1 -1
  57. package/dist/browser/shared/config/actors/Finalizer.d.ts +6 -6
  58. package/dist/browser/shared/config/actors/Mempool.d.ts +6 -6
  59. package/dist/browser/shared/config/actors/Producer.d.ts +6 -6
  60. package/dist/browser/shared/config/actors/RewardRedemption.d.ts +6 -6
  61. package/dist/browser/shared/config/mergeConfig.d.ts +2 -1
  62. package/dist/browser/shared/config/mergeConfig.d.ts.map +1 -1
  63. package/dist/browser/shared/index.d.ts +1 -0
  64. package/dist/browser/shared/index.d.ts.map +1 -1
  65. package/dist/browser/shared/init/index.d.ts +0 -1
  66. package/dist/browser/shared/init/index.d.ts.map +1 -1
  67. package/dist/browser/shared/init/initWallet.d.ts +8 -1
  68. package/dist/browser/shared/init/initWallet.d.ts.map +1 -1
  69. package/dist/browser/shared/orchestrator/Orchestrator.d.ts +1 -2
  70. package/dist/browser/shared/orchestrator/Orchestrator.d.ts.map +1 -1
  71. package/dist/neutral/index.mjs +120 -120
  72. package/dist/neutral/index.mjs.map +1 -1
  73. package/dist/neutral/node/config/capabilities/Backing.d.ts +13 -0
  74. package/dist/neutral/node/config/capabilities/Backing.d.ts.map +1 -0
  75. package/dist/neutral/node/config/capabilities/Capability.d.ts +6 -32
  76. package/dist/neutral/node/config/capabilities/Capability.d.ts.map +1 -1
  77. package/dist/neutral/node/config/capabilities/ProcessSharedResources.d.ts +18 -11
  78. package/dist/neutral/node/config/capabilities/ProcessSharedResources.d.ts.map +1 -1
  79. package/dist/neutral/node/config/capabilities/Provider.d.ts +8 -46
  80. package/dist/neutral/node/config/capabilities/Provider.d.ts.map +1 -1
  81. package/dist/neutral/node/config/capabilities/backings/buildChainStoreBacking.d.ts +36 -0
  82. package/dist/neutral/node/config/capabilities/backings/buildChainStoreBacking.d.ts.map +1 -0
  83. package/dist/neutral/node/config/capabilities/backings/buildDlqStoreBacking.d.ts +13 -0
  84. package/dist/neutral/node/config/capabilities/backings/buildDlqStoreBacking.d.ts.map +1 -0
  85. package/dist/neutral/node/config/capabilities/backings/buildIndexerStoreBacking.d.ts +57 -0
  86. package/dist/neutral/node/config/capabilities/backings/buildIndexerStoreBacking.d.ts.map +1 -0
  87. package/dist/neutral/node/config/capabilities/backings/buildMempoolStoreBacking.d.ts +12 -0
  88. package/dist/neutral/node/config/capabilities/backings/buildMempoolStoreBacking.d.ts.map +1 -0
  89. package/dist/neutral/node/config/capabilities/backings/buildValidators.d.ts +14 -0
  90. package/dist/neutral/node/config/capabilities/backings/buildValidators.d.ts.map +1 -0
  91. package/dist/neutral/node/config/capabilities/backings/index.d.ts +6 -0
  92. package/dist/neutral/node/config/capabilities/backings/index.d.ts.map +1 -0
  93. package/dist/neutral/node/config/capabilities/defaultCapabilityRegistry.d.ts.map +1 -1
  94. package/dist/neutral/node/config/capabilities/descriptors.d.ts +4 -0
  95. package/dist/neutral/node/config/capabilities/descriptors.d.ts.map +1 -1
  96. package/dist/neutral/node/config/capabilities/index.d.ts +2 -0
  97. package/dist/neutral/node/config/capabilities/index.d.ts.map +1 -1
  98. package/dist/neutral/node/config/capabilities/locatorFromActorNeeds.d.ts +22 -3
  99. package/dist/neutral/node/config/capabilities/locatorFromActorNeeds.d.ts.map +1 -1
  100. package/dist/neutral/node/config/capabilities/networkTier3Descriptors.d.ts +14 -0
  101. package/dist/neutral/node/config/capabilities/networkTier3Descriptors.d.ts.map +1 -0
  102. package/dist/neutral/node/config/capabilities/resolveProviders.d.ts +5 -26
  103. package/dist/neutral/node/config/capabilities/resolveProviders.d.ts.map +1 -1
  104. package/dist/neutral/node/config/locators/actors/apiLocatorFromConfig.d.ts +1 -1
  105. package/dist/neutral/node/config/locators/actors/apiLocatorFromConfig.d.ts.map +1 -1
  106. package/dist/neutral/node/config/locators/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  107. package/dist/neutral/node/config/locators/actors/rewardRedemptionLocatorFromConfig.d.ts.map +1 -1
  108. package/dist/neutral/node/config/locators/buildStatelessApiLocator.d.ts +20 -0
  109. package/dist/neutral/node/config/locators/buildStatelessApiLocator.d.ts.map +1 -0
  110. package/dist/neutral/node/config/locators/index.d.ts +1 -0
  111. package/dist/neutral/node/config/locators/index.d.ts.map +1 -1
  112. package/dist/neutral/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  113. package/dist/neutral/node/config/tryParseConfig.d.ts +3 -2
  114. package/dist/neutral/node/config/tryParseConfig.d.ts.map +1 -1
  115. package/dist/neutral/shared/actor/index.d.ts +0 -1
  116. package/dist/neutral/shared/actor/index.d.ts.map +1 -1
  117. package/dist/neutral/shared/actor/v3/ActorV3.d.ts +17 -0
  118. package/dist/neutral/shared/actor/v3/ActorV3.d.ts.map +1 -1
  119. package/dist/neutral/shared/command/index.d.ts +2 -0
  120. package/dist/neutral/shared/command/index.d.ts.map +1 -0
  121. package/dist/neutral/shared/command/types.d.ts +8 -0
  122. package/dist/neutral/shared/command/types.d.ts.map +1 -0
  123. package/dist/neutral/shared/config/actors/Api.d.ts +18 -6
  124. package/dist/neutral/shared/config/actors/Api.d.ts.map +1 -1
  125. package/dist/neutral/shared/config/actors/Bridge.d.ts +18 -6
  126. package/dist/neutral/shared/config/actors/Bridge.d.ts.map +1 -1
  127. package/dist/neutral/shared/config/actors/Finalizer.d.ts +6 -6
  128. package/dist/neutral/shared/config/actors/Mempool.d.ts +6 -6
  129. package/dist/neutral/shared/config/actors/Producer.d.ts +6 -6
  130. package/dist/neutral/shared/config/actors/RewardRedemption.d.ts +6 -6
  131. package/dist/neutral/shared/config/mergeConfig.d.ts +2 -1
  132. package/dist/neutral/shared/config/mergeConfig.d.ts.map +1 -1
  133. package/dist/neutral/shared/index.d.ts +1 -0
  134. package/dist/neutral/shared/index.d.ts.map +1 -1
  135. package/dist/neutral/shared/init/index.d.ts +0 -1
  136. package/dist/neutral/shared/init/index.d.ts.map +1 -1
  137. package/dist/neutral/shared/init/initWallet.d.ts +8 -1
  138. package/dist/neutral/shared/init/initWallet.d.ts.map +1 -1
  139. package/dist/neutral/shared/orchestrator/Orchestrator.d.ts +1 -2
  140. package/dist/neutral/shared/orchestrator/Orchestrator.d.ts.map +1 -1
  141. package/dist/node/index.mjs +449 -384
  142. package/dist/node/index.mjs.map +1 -1
  143. package/dist/node/node/config/capabilities/Backing.d.ts +13 -0
  144. package/dist/node/node/config/capabilities/Backing.d.ts.map +1 -0
  145. package/dist/node/node/config/capabilities/Capability.d.ts +6 -32
  146. package/dist/node/node/config/capabilities/Capability.d.ts.map +1 -1
  147. package/dist/node/node/config/capabilities/ProcessSharedResources.d.ts +18 -11
  148. package/dist/node/node/config/capabilities/ProcessSharedResources.d.ts.map +1 -1
  149. package/dist/node/node/config/capabilities/Provider.d.ts +8 -46
  150. package/dist/node/node/config/capabilities/Provider.d.ts.map +1 -1
  151. package/dist/node/node/config/capabilities/backings/buildChainStoreBacking.d.ts +36 -0
  152. package/dist/node/node/config/capabilities/backings/buildChainStoreBacking.d.ts.map +1 -0
  153. package/dist/node/node/config/capabilities/backings/buildDlqStoreBacking.d.ts +13 -0
  154. package/dist/node/node/config/capabilities/backings/buildDlqStoreBacking.d.ts.map +1 -0
  155. package/dist/node/node/config/capabilities/backings/buildIndexerStoreBacking.d.ts +57 -0
  156. package/dist/node/node/config/capabilities/backings/buildIndexerStoreBacking.d.ts.map +1 -0
  157. package/dist/node/node/config/capabilities/backings/buildMempoolStoreBacking.d.ts +12 -0
  158. package/dist/node/node/config/capabilities/backings/buildMempoolStoreBacking.d.ts.map +1 -0
  159. package/dist/node/node/config/capabilities/backings/buildValidators.d.ts +14 -0
  160. package/dist/node/node/config/capabilities/backings/buildValidators.d.ts.map +1 -0
  161. package/dist/node/node/config/capabilities/backings/index.d.ts +6 -0
  162. package/dist/node/node/config/capabilities/backings/index.d.ts.map +1 -0
  163. package/dist/node/node/config/capabilities/defaultCapabilityRegistry.d.ts.map +1 -1
  164. package/dist/node/node/config/capabilities/descriptors.d.ts +4 -0
  165. package/dist/node/node/config/capabilities/descriptors.d.ts.map +1 -1
  166. package/dist/node/node/config/capabilities/index.d.ts +2 -0
  167. package/dist/node/node/config/capabilities/index.d.ts.map +1 -1
  168. package/dist/node/node/config/capabilities/locatorFromActorNeeds.d.ts +22 -3
  169. package/dist/node/node/config/capabilities/locatorFromActorNeeds.d.ts.map +1 -1
  170. package/dist/node/node/config/capabilities/networkTier3Descriptors.d.ts +14 -0
  171. package/dist/node/node/config/capabilities/networkTier3Descriptors.d.ts.map +1 -0
  172. package/dist/node/node/config/capabilities/resolveProviders.d.ts +5 -26
  173. package/dist/node/node/config/capabilities/resolveProviders.d.ts.map +1 -1
  174. package/dist/node/node/config/locators/actors/apiLocatorFromConfig.d.ts +1 -1
  175. package/dist/node/node/config/locators/actors/apiLocatorFromConfig.d.ts.map +1 -1
  176. package/dist/node/node/config/locators/actors/bridgeLocatorFromConfig.d.ts.map +1 -1
  177. package/dist/node/node/config/locators/actors/rewardRedemptionLocatorFromConfig.d.ts.map +1 -1
  178. package/dist/node/node/config/locators/buildStatelessApiLocator.d.ts +20 -0
  179. package/dist/node/node/config/locators/buildStatelessApiLocator.d.ts.map +1 -0
  180. package/dist/node/node/config/locators/index.d.ts +1 -0
  181. package/dist/node/node/config/locators/index.d.ts.map +1 -1
  182. package/dist/node/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
  183. package/dist/node/node/config/tryParseConfig.d.ts +3 -2
  184. package/dist/node/node/config/tryParseConfig.d.ts.map +1 -1
  185. package/dist/node/shared/actor/index.d.ts +0 -1
  186. package/dist/node/shared/actor/index.d.ts.map +1 -1
  187. package/dist/node/shared/actor/v3/ActorV3.d.ts +17 -0
  188. package/dist/node/shared/actor/v3/ActorV3.d.ts.map +1 -1
  189. package/dist/node/shared/command/index.d.ts +2 -0
  190. package/dist/node/shared/command/index.d.ts.map +1 -0
  191. package/dist/node/shared/command/types.d.ts +8 -0
  192. package/dist/node/shared/command/types.d.ts.map +1 -0
  193. package/dist/node/shared/config/actors/Api.d.ts +18 -6
  194. package/dist/node/shared/config/actors/Api.d.ts.map +1 -1
  195. package/dist/node/shared/config/actors/Bridge.d.ts +18 -6
  196. package/dist/node/shared/config/actors/Bridge.d.ts.map +1 -1
  197. package/dist/node/shared/config/actors/Finalizer.d.ts +6 -6
  198. package/dist/node/shared/config/actors/Mempool.d.ts +6 -6
  199. package/dist/node/shared/config/actors/Producer.d.ts +6 -6
  200. package/dist/node/shared/config/actors/RewardRedemption.d.ts +6 -6
  201. package/dist/node/shared/config/mergeConfig.d.ts +2 -1
  202. package/dist/node/shared/config/mergeConfig.d.ts.map +1 -1
  203. package/dist/node/shared/index.d.ts +1 -0
  204. package/dist/node/shared/index.d.ts.map +1 -1
  205. package/dist/node/shared/init/index.d.ts +0 -1
  206. package/dist/node/shared/init/index.d.ts.map +1 -1
  207. package/dist/node/shared/init/initWallet.d.ts +8 -1
  208. package/dist/node/shared/init/initWallet.d.ts.map +1 -1
  209. package/dist/node/shared/orchestrator/Orchestrator.d.ts +1 -2
  210. package/dist/node/shared/orchestrator/Orchestrator.d.ts.map +1 -1
  211. package/package.json +90 -85
  212. package/dist/browser/shared/actor/FinalizerActor.d.ts +0 -30
  213. package/dist/browser/shared/actor/FinalizerActor.d.ts.map +0 -1
  214. package/dist/browser/shared/init/initActorAccount.d.ts +0 -4
  215. package/dist/browser/shared/init/initActorAccount.d.ts.map +0 -1
  216. package/dist/neutral/shared/actor/FinalizerActor.d.ts +0 -30
  217. package/dist/neutral/shared/actor/FinalizerActor.d.ts.map +0 -1
  218. package/dist/neutral/shared/init/initActorAccount.d.ts +0 -4
  219. package/dist/neutral/shared/init/initActorAccount.d.ts.map +0 -1
  220. package/dist/node/shared/actor/FinalizerActor.d.ts +0 -30
  221. package/dist/node/shared/actor/FinalizerActor.d.ts.map +0 -1
  222. package/dist/node/shared/init/initActorAccount.d.ts +0 -4
  223. package/dist/node/shared/init/initActorAccount.d.ts.map +0 -1
@@ -1,15 +1,26 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
- // src/shared/actor/FinalizerActor.ts
5
- import { creatable } from "@xylabs/sdk-js";
6
- import { processPendingBlocks } from "@xyo-network/chain-sdk";
7
- import { BlockValidationViewerMoniker, BlockViewerMoniker, DeadLetterQueueRunnerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
8
-
9
4
  // src/shared/actor/v3/ActorV3.ts
10
5
  import { AbstractCreatable, assertEx, delay, IdLogger } from "@xylabs/sdk-js";
11
6
  import { Semaphore } from "async-mutex";
12
7
  import z from "zod";
8
+ var noopCounter = {
9
+ add: /* @__PURE__ */ __name(() => {
10
+ }, "add")
11
+ };
12
+ var noopUpDownCounter = {
13
+ add: /* @__PURE__ */ __name(() => {
14
+ }, "add")
15
+ };
16
+ var noopGauge = {
17
+ record: /* @__PURE__ */ __name(() => {
18
+ }, "record")
19
+ };
20
+ var noopHistogram = {
21
+ record: /* @__PURE__ */ __name(() => {
22
+ }, "record")
23
+ };
13
24
  var CreatableNameZod = z.custom((val) => typeof val === "string" && val.length > 0);
14
25
  var StatusReporterInstanceZod = z.custom((val) => val !== null && typeof val === "object" && "report" in val);
15
26
  var AccountInstanceZod = z.custom((val) => val !== null && typeof val === "object" && "address" in val);
@@ -185,12 +196,44 @@ var ActorV3 = class extends AbstractCreatable {
185
196
  }
186
197
  }
187
198
  /**
199
+ * Create a `Counter` instrument bound to this actor's meter, or a no-op
200
+ * stub if telemetry is not wired. Always returns a non-undefined value so
201
+ * call sites can drop the optional-chain on `.add()`.
202
+ *
203
+ * TODO: in a future pass, consider folding these single-instrument helpers
204
+ * into a declarative `createActorMeters({ counters: {...}, gauges: {...} })`
205
+ * spec API for actors with many instruments.
206
+ */
207
+ counter(name, description) {
208
+ return this.meter?.createCounter(name, {
209
+ description
210
+ }) ?? noopCounter;
211
+ }
212
+ /** Create a synchronous `Gauge` instrument, or a no-op stub if telemetry is not wired. */
213
+ gauge(name, description) {
214
+ return this.meter?.createGauge(name, {
215
+ description
216
+ }) ?? noopGauge;
217
+ }
218
+ /** Create a `Histogram` instrument, or a no-op stub if telemetry is not wired. */
219
+ histogram(name, description) {
220
+ return this.meter?.createHistogram(name, {
221
+ description
222
+ }) ?? noopHistogram;
223
+ }
224
+ /**
188
225
  * Override in subclasses to prove the actor can do useful work.
189
226
  * Default: no-op (the actor declares itself ready as soon as `start()` returns).
190
227
  */
191
228
  // eslint-disable-next-line @typescript-eslint/no-empty-function
192
229
  async readyHandler() {
193
230
  }
231
+ /** Create an `UpDownCounter` instrument, or a no-op stub if telemetry is not wired. */
232
+ upDownCounter(name, description) {
233
+ return this.meter?.createUpDownCounter(name, {
234
+ description
235
+ }) ?? noopUpDownCounter;
236
+ }
194
237
  };
195
238
  var Actor = class extends ActorV3 {
196
239
  static {
@@ -198,94 +241,6 @@ var Actor = class extends ActorV3 {
198
241
  }
199
242
  };
200
243
 
201
- // src/shared/actor/FinalizerActor.ts
202
- function _ts_decorate(decorators, target, key, desc) {
203
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
204
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
205
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
206
- return c > 3 && r && Object.defineProperty(target, key, r), r;
207
- }
208
- __name(_ts_decorate, "_ts_decorate");
209
- var FinalizerActor = class extends ActorV3 {
210
- static {
211
- __name(this, "FinalizerActor");
212
- }
213
- static needs = {
214
- required: [
215
- BlockValidationViewerMoniker,
216
- BlockViewerMoniker,
217
- FinalizationRunnerMoniker,
218
- MempoolViewerMoniker
219
- ],
220
- optional: [
221
- DeadLetterQueueRunnerMoniker
222
- ]
223
- };
224
- _blockValidationViewer;
225
- _blockViewer;
226
- _deadLetterQueueRunner;
227
- _finalizationRunner;
228
- _mempoolViewer;
229
- get allowedProducers() {
230
- return this.params.config.allowedProducers ?? [];
231
- }
232
- get blockValidationViewer() {
233
- return this._blockValidationViewer;
234
- }
235
- get blockViewer() {
236
- return this._blockViewer;
237
- }
238
- get finalizationRunner() {
239
- return this._finalizationRunner;
240
- }
241
- get mempoolViewer() {
242
- return this._mempoolViewer;
243
- }
244
- get minCandidates() {
245
- return this.params.config.minCandidates;
246
- }
247
- async createHandler() {
248
- await super.startHandler();
249
- this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
250
- this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
251
- this._finalizationRunner = await this.locator.getInstance(FinalizationRunnerMoniker);
252
- this._mempoolViewer = await this.locator.getInstance(MempoolViewerMoniker);
253
- this._deadLetterQueueRunner = await this.locator.tryGetInstance(DeadLetterQueueRunnerMoniker);
254
- }
255
- async startHandler() {
256
- await super.startHandler();
257
- const interval = this.params.config.finalizationCheckInterval ?? 500;
258
- this.registerTimer("FinalizerActor", async () => {
259
- await this.runFinalizationPass();
260
- }, 2e3, interval);
261
- }
262
- async readyHandler() {
263
- await this.runFinalizationPass();
264
- }
265
- async runFinalizationPass() {
266
- await this.spanAsync("processPendingBlocks", async () => {
267
- this.logger?.debug("FinalizerActor: Processing pending blocks...");
268
- await processPendingBlocks({
269
- blockValidationViewer: this.blockValidationViewer,
270
- context: this.context,
271
- logger: this.logger,
272
- mempoolViewer: this.mempoolViewer,
273
- blockViewer: this.blockViewer,
274
- finalizationRunner: this.finalizationRunner,
275
- allowedProducers: this.allowedProducers,
276
- minCandidates: this.minCandidates,
277
- deadLetterQueueRunner: this._deadLetterQueueRunner
278
- });
279
- }, {
280
- ...this.context,
281
- timeBudgetLimit: 1500
282
- });
283
- }
284
- };
285
- FinalizerActor = _ts_decorate([
286
- creatable()
287
- ], FinalizerActor);
288
-
289
244
  // src/shared/buildTelemetryConfig.ts
290
245
  function buildTelemetryConfig(config, serviceName, serviceVersion, defaultMetricsScrapePort = 9464) {
291
246
  const { otlpEndpoint } = config.telemetry?.otel ?? {};
@@ -318,6 +273,46 @@ var ApiConfigZod = HostActorConfigZod.extend(z2.object({
318
273
  description: "Whether to initialize the rewards cache on startup",
319
274
  title: "api.initRewardsCache",
320
275
  type: "boolean"
276
+ }),
277
+ /**
278
+ * When `true`, the API actor runs in stateless mode: it holds no local
279
+ * backing-store ownership, never loads the local LMDB/MongoDB node, and
280
+ * federates every JSON-RPC request to upstream owner-actors via `JsonRpc*`
281
+ * providers. Multiple stateless API instances can run behind a load
282
+ * balancer for horizontal scaling. Requires `remote.rpc` to point at the
283
+ * upstream API/Finalizer/Mempool/Indexer surfaces.
284
+ */
285
+ stateless: z2.union([
286
+ z2.number(),
287
+ z2.string(),
288
+ z2.boolean()
289
+ ]).transform((v) => v === "1" || v === "true" || v === true || v == 1).default(false).register(globalRegistry, {
290
+ description: "Run the API actor as a stateless federation node (availableBackings: [network])",
291
+ title: "api.stateless",
292
+ type: "boolean"
293
+ }),
294
+ /**
295
+ * Back-compat for the surface-aware route split. When `true`, `POST /rpc`
296
+ * serves the full `XyoConnection` (both node-surface and indexed-surface
297
+ * methods), preserving pre-Phase-7 behavior for clients that haven't yet
298
+ * migrated to `POST /rpc/indexed`. When `false`, `/rpc` is strictly
299
+ * node-surface only and indexed methods are 404 at `/rpc`.
300
+ *
301
+ * `/rpc/indexed` mounts independently of this flag whenever the locator's
302
+ * connection has any indexed branch.
303
+ *
304
+ * Default `true` for the first release that includes Phase 7 — flip to
305
+ * `false` per environment once external clients (explorers, wallets, dApps)
306
+ * have moved their indexed-method calls to `/rpc/indexed`.
307
+ */
308
+ legacyMixedRpc: z2.union([
309
+ z2.number(),
310
+ z2.string(),
311
+ z2.boolean()
312
+ ]).transform((v) => v !== "0" && v !== "false" && v !== false && v != 0).default(true).register(globalRegistry, {
313
+ description: "Serve the full XyoConnection at POST /rpc (no surface filter). Set false to enforce node-surface-only at /rpc; indexed methods always available at /rpc/indexed regardless.",
314
+ title: "api.legacyMixedRpc",
315
+ type: "boolean"
321
316
  })
322
317
  }).shape);
323
318
  var isApiConfig = zodIsFactory(ApiConfigZod);
@@ -342,6 +337,7 @@ var DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY = toHex("0xac0974bec39a17e36
342
337
  var DEFAULT_HARDHAT_TOKEN_CONTRACT = toAddress("5FbDB2315678afecb367f032d93F642f64180aa3");
343
338
  var DEFAULT_MAX_BRIDGE_AMOUNT = toHex(XL1(1000000n) * AttoXL1ConvertFactor.xl1);
344
339
  var DEFAULT_MIN_BRIDGE_AMOUNT = toHex(XL1(1500n) * AttoXL1ConvertFactor.xl1);
340
+ var DEFAULT_SCANNER_INTERVAL_MS = 3e4;
345
341
  var BasisPointsZod = z3.coerce.number().int().nonnegative().max(1e4);
346
342
  var BridgeConfigZod = HostActorConfigZod2.extend({
347
343
  escrowAddress: AddressZod.optional().register(globalRegistry2, {
@@ -390,6 +386,12 @@ var BridgeConfigZod = HostActorConfigZod2.extend({
390
386
  title: "bridge.redisPort",
391
387
  type: "number"
392
388
  }),
389
+ scannerIntervalMs: z3.coerce.number().int().positive().default(DEFAULT_SCANNER_INTERVAL_MS).register(globalRegistry2, {
390
+ default: DEFAULT_SCANNER_INTERVAL_MS,
391
+ description: "How often (ms) the EVM->XL1 scanner polls the remote bridge contract for new BridgedToRemote ids confirmed at depth.",
392
+ title: "bridge.scannerIntervalMs",
393
+ type: "number"
394
+ }),
393
395
  remoteBridgeContractAddress: AddressZod.default(DEFAULT_HARDHAT_BRIDGE_CONTRACT).register(globalRegistry2, {
394
396
  default: DEFAULT_HARDHAT_BRIDGE_CONTRACT,
395
397
  description: "Hex representation of remote token address used for bridging",
@@ -402,6 +404,14 @@ var BridgeConfigZod = HostActorConfigZod2.extend({
402
404
  title: "bridge.remoteChainId",
403
405
  type: "string"
404
406
  }),
407
+ remoteConfirmationDepth: z3.union([
408
+ z3.coerce.number().int().nonnegative(),
409
+ z3.literal("finalized")
410
+ ]).optional().register(globalRegistry2, {
411
+ description: "Block depth or BlockTag at which the remote (EVM) chain is read as canonical. Numeric: number of confirmations behind head. 'finalized': Casper FFG finalized block. Resolved per-chain by getRemoteConfirmationDepth when unset.",
412
+ title: "bridge.remoteConfirmationDepth",
413
+ type: "string"
414
+ }),
405
415
  remoteTokenAddress: HexZod.default(DEFAULT_HARDHAT_TOKEN_CONTRACT).register(globalRegistry2, {
406
416
  default: DEFAULT_HARDHAT_TOKEN_CONTRACT,
407
417
  description: "Hex representation of remote token address used for bridging",
@@ -653,8 +663,8 @@ var ServiceLifetime = {
653
663
  Transient: "Transient"
654
664
  };
655
665
 
656
- // src/shared/init/initActorAccount.ts
657
- import { isDefined } from "@xylabs/sdk-js";
666
+ // src/shared/init/initActorSeedPhrase.ts
667
+ import { assertEx as assertEx2, isString } from "@xylabs/sdk-js";
658
668
 
659
669
  // src/shared/init/walletResolution.ts
660
670
  import { HDWallet } from "@xyo-network/sdk-js";
@@ -962,21 +972,7 @@ async function resolveWalletForActor(actorName, accountPath) {
962
972
  }
963
973
  __name(resolveWalletForActor, "resolveWalletForActor");
964
974
 
965
- // src/shared/init/initActorAccount.ts
966
- var actorAccountSingletons = {};
967
- async function initActorAccount({ config, logger }) {
968
- const actorName = config.name;
969
- if (isDefined(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
970
- const accountPath = typeof config.accountPath === "string" ? config.accountPath : void 0;
971
- const account = await resolveWalletForActor(actorName, accountPath);
972
- logger?.debug(`[${actorName}] Using wallet address ${account.address}`);
973
- actorAccountSingletons[actorName] = account;
974
- return actorAccountSingletons[actorName];
975
- }
976
- __name(initActorAccount, "initActorAccount");
977
-
978
975
  // src/shared/init/initActorSeedPhrase.ts
979
- import { assertEx as assertEx2, isString } from "@xylabs/sdk-js";
980
976
  async function initActorSeedPhrase(context, bios) {
981
977
  const { logger, config } = context;
982
978
  const walletKind = config.name;
@@ -1039,22 +1035,28 @@ function initStatusReporter({ logger }) {
1039
1035
  __name(initStatusReporter, "initStatusReporter");
1040
1036
 
1041
1037
  // src/shared/init/initWallet.ts
1038
+ import { isDefined } from "@xylabs/sdk-js";
1039
+ var actorAccountSingletons = {};
1042
1040
  async function initActorWallet(context) {
1043
1041
  const actorName = context.config.name;
1042
+ if (isDefined(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
1044
1043
  const accountPath = typeof context.config.accountPath === "string" ? context.config.accountPath : void 0;
1045
- return await resolveWalletForActor(actorName, accountPath);
1044
+ const account = await resolveWalletForActor(actorName, accountPath);
1045
+ context.logger?.debug(`[${actorName}] Using wallet address ${account.address}`);
1046
+ actorAccountSingletons[actorName] = account;
1047
+ return actorAccountSingletons[actorName];
1046
1048
  }
1047
1049
  __name(initActorWallet, "initActorWallet");
1048
1050
 
1049
1051
  // src/shared/orchestrator/Orchestrator.ts
1050
- import { AbstractCreatable as AbstractCreatable2, creatable as creatable2 } from "@xylabs/sdk-js";
1051
- function _ts_decorate2(decorators, target, key, desc) {
1052
+ import { AbstractCreatable as AbstractCreatable2, creatable } from "@xylabs/sdk-js";
1053
+ function _ts_decorate(decorators, target, key, desc) {
1052
1054
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1053
1055
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1054
1056
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1055
1057
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1056
1058
  }
1057
- __name(_ts_decorate2, "_ts_decorate");
1059
+ __name(_ts_decorate, "_ts_decorate");
1058
1060
  var Orchestrator = class extends AbstractCreatable2 {
1059
1061
  static {
1060
1062
  __name(this, "Orchestrator");
@@ -1163,8 +1165,8 @@ var Orchestrator = class extends AbstractCreatable2 {
1163
1165
  }
1164
1166
  }
1165
1167
  };
1166
- Orchestrator = _ts_decorate2([
1167
- creatable2()
1168
+ Orchestrator = _ts_decorate([
1169
+ creatable()
1168
1170
  ], Orchestrator);
1169
1171
  function isLocalActor(actor) {
1170
1172
  return actor instanceof ActorV3;
@@ -1180,13 +1182,13 @@ __name(formatError, "formatError");
1180
1182
  // src/shared/provider/SimpleRejectedTransactionsArchivistProvider.ts
1181
1183
  import { assertEx as assertEx4 } from "@xylabs/sdk-js";
1182
1184
  import { AbstractCreatableProvider, creatableProvider } from "@xyo-network/xl1-sdk";
1183
- function _ts_decorate3(decorators, target, key, desc) {
1185
+ function _ts_decorate2(decorators, target, key, desc) {
1184
1186
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1185
1187
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1186
1188
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1187
1189
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1188
1190
  }
1189
- __name(_ts_decorate3, "_ts_decorate");
1191
+ __name(_ts_decorate2, "_ts_decorate");
1190
1192
  var RejectedTransactionsArchivistProviderMoniker = "RejectedTransactionsArchivistProvider";
1191
1193
  var SimpleRejectedTransactionsArchivistProvider = class _SimpleRejectedTransactionsArchivistProvider extends AbstractCreatableProvider {
1192
1194
  static {
@@ -1208,7 +1210,7 @@ var SimpleRejectedTransactionsArchivistProvider = class _SimpleRejectedTransacti
1208
1210
  };
1209
1211
  }
1210
1212
  };
1211
- SimpleRejectedTransactionsArchivistProvider = _ts_decorate3([
1213
+ SimpleRejectedTransactionsArchivistProvider = _ts_decorate2([
1212
1214
  creatableProvider()
1213
1215
  ], SimpleRejectedTransactionsArchivistProvider);
1214
1216
 
@@ -1259,7 +1261,6 @@ export {
1259
1261
  DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL,
1260
1262
  DefaultServiceProvider,
1261
1263
  DerivationPathCollisionError,
1262
- FinalizerActor,
1263
1264
  FinalizerConfigContext,
1264
1265
  FinalizerConfigZod,
1265
1266
  GENESIS_REWARD_AMOUNT,
@@ -1303,7 +1304,6 @@ export {
1303
1304
  getBuiltInDevMnemonic,
1304
1305
  getInsecureGenesisRewardMnemonic,
1305
1306
  getResolvedWalletReport,
1306
- initActorAccount,
1307
1307
  initActorSeedPhrase,
1308
1308
  initActorWallet,
1309
1309
  initBridgedArchivistModule,