@xyo-network/chain-orchestration 1.18.0 → 1.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/neutral/ChainInitializableParams.d.ts +1 -1
  2. package/dist/neutral/ChainInitializableParams.d.ts.map +1 -1
  3. package/dist/neutral/ConfigContext.d.ts +1 -1
  4. package/dist/neutral/ConfigContext.d.ts.map +1 -1
  5. package/dist/neutral/actor/BalanceActor.d.ts +3 -4
  6. package/dist/neutral/actor/BalanceActor.d.ts.map +1 -1
  7. package/dist/neutral/actor/ValidatorActor.d.ts +3 -4
  8. package/dist/neutral/actor/ValidatorActor.d.ts.map +1 -1
  9. package/dist/neutral/actor/index.d.ts +0 -1
  10. package/dist/neutral/actor/index.d.ts.map +1 -1
  11. package/dist/neutral/archivists/ChainFinalized/local.d.ts +1 -2
  12. package/dist/neutral/archivists/ChainFinalized/local.d.ts.map +1 -1
  13. package/dist/neutral/archivists/PendingBlocks/local.d.ts +1 -2
  14. package/dist/neutral/archivists/PendingBlocks/local.d.ts.map +1 -1
  15. package/dist/neutral/archivists/RejectedTransactions/archivist.d.ts +1 -1
  16. package/dist/neutral/archivists/RejectedTransactions/archivist.d.ts.map +1 -1
  17. package/dist/neutral/archivists/RejectedTransactions/local.d.ts +1 -1
  18. package/dist/neutral/archivists/RejectedTransactions/local.d.ts.map +1 -1
  19. package/dist/neutral/archivists/StakeIntentState/archivist.d.ts +1 -1
  20. package/dist/neutral/archivists/StakeIntentState/archivist.d.ts.map +1 -1
  21. package/dist/neutral/archivists/StakeIntentState/local.d.ts +1 -1
  22. package/dist/neutral/archivists/StakeIntentState/local.d.ts.map +1 -1
  23. package/dist/neutral/buildTelemetryConfig.d.ts +2 -2
  24. package/dist/neutral/buildTelemetryConfig.d.ts.map +1 -1
  25. package/dist/neutral/createDeclarationIntentBlock.d.ts +23 -15
  26. package/dist/neutral/createDeclarationIntentBlock.d.ts.map +1 -1
  27. package/dist/neutral/evm/initChainId.d.ts +1 -1
  28. package/dist/neutral/evm/initChainId.d.ts.map +1 -1
  29. package/dist/neutral/evm/initEvmProvider.d.ts +1 -1
  30. package/dist/neutral/evm/initEvmProvider.d.ts.map +1 -1
  31. package/dist/neutral/evm/initInfuraProvider.d.ts +1 -1
  32. package/dist/neutral/evm/initInfuraProvider.d.ts.map +1 -1
  33. package/dist/neutral/evm/initJsonRpcProvider.d.ts +1 -1
  34. package/dist/neutral/evm/initJsonRpcProvider.d.ts.map +1 -1
  35. package/dist/neutral/health/initHealthEndpoints.d.ts +1 -2
  36. package/dist/neutral/health/initHealthEndpoints.d.ts.map +1 -1
  37. package/dist/neutral/index.mjs +124 -232
  38. package/dist/neutral/index.mjs.map +1 -1
  39. package/dist/neutral/init/index.d.ts +1 -1
  40. package/dist/neutral/init/index.d.ts.map +1 -1
  41. package/dist/neutral/init/initBalanceSummaryMap.d.ts +1 -1
  42. package/dist/neutral/init/initBalanceSummaryMap.d.ts.map +1 -1
  43. package/dist/neutral/init/initBridgedModule.d.ts +1 -1
  44. package/dist/neutral/init/initBridgedModule.d.ts.map +1 -1
  45. package/dist/neutral/init/initChainStakeViewer.d.ts +1 -1
  46. package/dist/neutral/init/initChainStakeViewer.d.ts.map +1 -1
  47. package/dist/neutral/init/initFinalizedArchivist.d.ts +1 -1
  48. package/dist/neutral/init/initFinalizedArchivist.d.ts.map +1 -1
  49. package/dist/neutral/init/initProducerAccount.d.ts +1 -2
  50. package/dist/neutral/init/initProducerAccount.d.ts.map +1 -1
  51. package/dist/neutral/init/initServerNode.d.ts +1 -1
  52. package/dist/neutral/init/initServerNode.d.ts.map +1 -1
  53. package/dist/neutral/init/initStatusReporter.d.ts +1 -1
  54. package/dist/neutral/init/initStatusReporter.d.ts.map +1 -1
  55. package/dist/neutral/init/initTransferSummaryMap.d.ts +1 -1
  56. package/dist/neutral/init/initTransferSummaryMap.d.ts.map +1 -1
  57. package/dist/neutral/init/initWallet.d.ts +6 -0
  58. package/dist/neutral/init/initWallet.d.ts.map +1 -0
  59. package/dist/neutral/manifest/getLocator.d.ts +1 -1
  60. package/dist/neutral/manifest/getLocator.d.ts.map +1 -1
  61. package/dist/neutral/manifest/loadNode.d.ts +1 -1
  62. package/dist/neutral/manifest/loadNode.d.ts.map +1 -1
  63. package/dist/neutral/orchestrator/Orchestrator.d.ts +1 -1
  64. package/dist/neutral/orchestrator/Orchestrator.d.ts.map +1 -1
  65. package/package.json +31 -32
  66. package/src/ChainInitializableParams.ts +1 -1
  67. package/src/ConfigContext.ts +1 -1
  68. package/src/actor/BalanceActor.ts +4 -3
  69. package/src/actor/ValidatorActor.ts +6 -6
  70. package/src/actor/index.ts +0 -1
  71. package/src/archivists/ChainFinalized/archivist.ts +1 -1
  72. package/src/archivists/ChainFinalized/local.ts +1 -2
  73. package/src/archivists/PendingBlocks/archivist.ts +1 -1
  74. package/src/archivists/PendingBlocks/local.ts +1 -2
  75. package/src/archivists/RejectedTransactions/archivist.ts +2 -2
  76. package/src/archivists/RejectedTransactions/local.ts +1 -1
  77. package/src/archivists/StakeIntentState/archivist.ts +2 -2
  78. package/src/archivists/StakeIntentState/local.ts +1 -1
  79. package/src/buildTelemetryConfig.ts +4 -9
  80. package/src/createDeclarationIntentBlock.ts +2 -2
  81. package/src/evm/initChainId.ts +1 -1
  82. package/src/evm/initEvmProvider.ts +1 -1
  83. package/src/evm/initInfuraProvider.ts +1 -1
  84. package/src/evm/initJsonRpcProvider.ts +1 -1
  85. package/src/health/initHealthEndpoints.ts +3 -2
  86. package/src/init/index.ts +1 -1
  87. package/src/init/initBalanceSummaryMap.ts +2 -2
  88. package/src/init/initBridgedModule.ts +1 -1
  89. package/src/init/initChainStakeViewer.ts +3 -3
  90. package/src/init/initFinalizedArchivist.ts +1 -1
  91. package/src/init/initProducerAccount.ts +4 -3
  92. package/src/init/initServerNode.ts +1 -1
  93. package/src/init/initStatusReporter.ts +1 -1
  94. package/src/init/initTransferSummaryMap.ts +2 -2
  95. package/src/init/initWallet.ts +36 -0
  96. package/src/manifest/getLocator.ts +4 -3
  97. package/src/manifest/loadNode.ts +1 -1
  98. package/src/manifest/public/Pending.json +6 -1
  99. package/src/orchestrator/Orchestrator.ts +1 -2
  100. package/dist/neutral/actor/Actor.d.ts +0 -248
  101. package/dist/neutral/actor/Actor.d.ts.map +0 -1
  102. package/dist/neutral/init/initServerWallet.d.ts +0 -3
  103. package/dist/neutral/init/initServerWallet.d.ts.map +0 -1
  104. package/src/actor/Actor.ts +0 -199
  105. package/src/init/initServerWallet.ts +0 -17
@@ -1,158 +1,9 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
- // src/actor/Actor.ts
5
- import { AbstractCreatable, assertEx, Base, creatable, delay, IdLogger } from "@xylabs/sdk-js";
6
- import { getDefaultConfig, ProviderFactoryLocator } from "@xyo-network/xl1-protocol-sdk";
7
- import { Semaphore } from "async-mutex";
8
- function _ts_decorate(decorators, target, key, desc) {
9
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
11
- 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;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- }
14
- __name(_ts_decorate, "_ts_decorate");
15
- var Actor = class extends AbstractCreatable {
16
- static {
17
- __name(this, "Actor");
18
- }
19
- _intervals = /* @__PURE__ */ new Map();
20
- _semaphores = /* @__PURE__ */ new Map();
21
- _timeouts = /* @__PURE__ */ new Map();
22
- _active = false;
23
- get displayName() {
24
- return this.params.displayName;
25
- }
26
- get id() {
27
- return this.params.id;
28
- }
29
- get account() {
30
- return this.params.account;
31
- }
32
- get config() {
33
- return this.context.config;
34
- }
35
- get context() {
36
- return this.params.context;
37
- }
38
- get locator() {
39
- return this.context.locator;
40
- }
41
- get logPrefix() {
42
- return `[${this.displayName} (${this.id})] `;
43
- }
44
- static async paramsHandler(params) {
45
- const baseParams = await super.paramsHandler(params);
46
- const id = params?.id ?? baseParams.name;
47
- const displayName = params?.displayName ?? baseParams.name;
48
- const account = assertEx(params?.account, () => `Account is required for actor ${id}.`);
49
- const logger = baseParams.logger ?? new IdLogger(Base.defaultLogger ?? console, () => `[${displayName} (${id})] `);
50
- const singletons = params?.context?.singletons ?? {};
51
- const config = params?.context?.config ?? getDefaultConfig();
52
- const context = params?.context ?? {
53
- config,
54
- locator: new ProviderFactoryLocator({
55
- config,
56
- logger,
57
- singletons
58
- })
59
- };
60
- return {
61
- ...baseParams,
62
- account,
63
- context,
64
- displayName,
65
- id,
66
- logger
67
- };
68
- }
69
- /**
70
- * The timer runs until the actor is deactivated (or you manually stop it).
71
- */
72
- registerTimer(timerName, callback, dueTimeMs, periodMs) {
73
- if (!this._active) {
74
- this.logger?.warn(`Cannot register timer '${timerName}' because actor is not active.`);
75
- return;
76
- }
77
- let running = false;
78
- this._semaphores.set(timerName, new Semaphore(1));
79
- const timeoutId = setTimeout(() => {
80
- const intervalId = setInterval(() => {
81
- const semaphore = this._semaphores.get(timerName);
82
- if (!this._active || !this._intervals.has(timerName) || !semaphore || running) return;
83
- if (semaphore.isLocked()) {
84
- this.logger?.warn(`Skipping timer '${this.name}:${timerName}' execution because previous execution is still running.`);
85
- return;
86
- }
87
- semaphore.acquire().then(([, release]) => {
88
- const startTime = Date.now();
89
- running = true;
90
- callback().then(() => {
91
- const duration = Date.now() - startTime;
92
- if (duration > periodMs) {
93
- this.logger?.warn(`Timer '${this.name}:${timerName}' execution took longer (${duration}ms) than the period (${periodMs}ms).`);
94
- } else if (duration > 5e3) {
95
- this.logger?.warn(`Timer '${this.name}:${timerName}' execution took longer (${duration}ms) than 5000ms.`);
96
- }
97
- }).catch((error) => {
98
- this.logger?.error(`Error in timer '${this.name}:${timerName}': ${error}`);
99
- this.logger?.error(error.stack);
100
- }).finally(() => {
101
- release();
102
- running = false;
103
- });
104
- }).catch((error) => {
105
- this.logger?.error(`Error acquiring semaphore for timer '${this.name}:${timerName}': ${error}`);
106
- });
107
- }, periodMs);
108
- this._intervals.set(timerName, intervalId);
109
- }, dueTimeMs);
110
- this._timeouts.set(timerName, timeoutId);
111
- this.logger?.log(`Timer '${this.name}:${timerName}' registered: first call after ${dueTimeMs}ms, recurring every ${periodMs}ms.`);
112
- }
113
- /**
114
- * Called by the Orchestrator when the actor is activated.
115
- */
116
- async startHandler() {
117
- await super.startHandler();
118
- this._active = true;
119
- this.logger?.log("Started.");
120
- }
121
- /**
122
- * Called by the Orchestrator when the actor is deactivated.
123
- * Stop all running timers.
124
- */
125
- async stopHandler() {
126
- await super.stopHandler();
127
- this._active = false;
128
- this.logger?.log("Stopping all timers...");
129
- await Promise.all([
130
- ...this._semaphores.values()
131
- ].map(async (semaphore) => {
132
- while (semaphore.isLocked()) {
133
- this.logger?.log("Waiting for running timer task to complete...");
134
- await delay(500);
135
- }
136
- await semaphore.acquire();
137
- }));
138
- this._semaphores.clear();
139
- for (const [, timeoutRef] of this._timeouts.entries()) {
140
- clearTimeout(timeoutRef);
141
- }
142
- this._timeouts.clear();
143
- for (const [, intervalRef] of this._intervals.entries()) {
144
- clearInterval(intervalRef);
145
- }
146
- this._intervals.clear();
147
- this.logger?.log("Stopped.");
148
- }
149
- };
150
- Actor = _ts_decorate([
151
- creatable()
152
- ], Actor);
153
-
154
4
  // src/actor/BalanceActor.ts
155
- import { assertEx as assertEx2 } from "@xylabs/sdk-js";
5
+ import { assertEx } from "@xylabs/sdk-js";
6
+ import { Actor } from "@xyo-network/xl1-sdk";
156
7
  import { Mutex } from "async-mutex";
157
8
  var BalanceActor = class extends Actor {
158
9
  static {
@@ -160,10 +11,10 @@ var BalanceActor = class extends Actor {
160
11
  }
161
12
  _updateMutex = new Mutex();
162
13
  get balanceService() {
163
- return assertEx2(this.params.balance, () => "balanceService not set");
14
+ return assertEx(this.params.balance, () => "balanceService not set");
164
15
  }
165
16
  get blockViewer() {
166
- return assertEx2(this.params.blockViewer, () => "blockViewer not set");
17
+ return assertEx(this.params.blockViewer, () => "blockViewer not set");
167
18
  }
168
19
  async startHandler() {
169
20
  await super.startHandler();
@@ -189,18 +40,18 @@ var BalanceActor = class extends Actor {
189
40
  };
190
41
 
191
42
  // src/actor/ValidatorActor.ts
192
- import { assertEx as assertEx3, creatable as creatable2 } from "@xylabs/sdk-js";
43
+ import { assertEx as assertEx2, creatable } from "@xylabs/sdk-js";
193
44
  import { processPendingBlocks } from "@xyo-network/chain-sdk";
194
45
  import { PayloadBuilder } from "@xyo-network/payload-builder";
195
- import { BlockViewerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
196
- function _ts_decorate2(decorators, target, key, desc) {
46
+ import { Actor as Actor2, BlockViewerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
47
+ function _ts_decorate(decorators, target, key, desc) {
197
48
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
198
49
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
199
50
  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;
200
51
  return c > 3 && r && Object.defineProperty(target, key, r), r;
201
52
  }
202
- __name(_ts_decorate2, "_ts_decorate");
203
- var ValidatorActor = class extends Actor {
53
+ __name(_ts_decorate, "_ts_decorate");
54
+ var ValidatorActor = class extends Actor2 {
204
55
  static {
205
56
  __name(this, "ValidatorActor");
206
57
  }
@@ -212,15 +63,15 @@ var ValidatorActor = class extends Actor {
212
63
  return this._blockViewer;
213
64
  }
214
65
  get finalizedArchivist() {
215
- return assertEx3(this.params.finalizedArchivist, () => "finalizedArchivist not set");
66
+ return assertEx2(this.params.finalizedArchivist, () => "finalizedArchivist not set");
216
67
  }
217
68
  get mempoolViewer() {
218
69
  return this._mempoolViewer;
219
70
  }
220
71
  async createHandler() {
221
72
  await super.createHandler();
222
- this._blockViewer = assertEx3(this.params.blockViewer ?? await this.locator.getInstance(BlockViewerMoniker), () => "Unable to locate a BlockViewer");
223
- this._mempoolViewer = assertEx3(this.params.mempoolViewer ?? await this.locator.getInstance(MempoolViewerMoniker), () => "Unable to locate a MempoolViewer");
73
+ this._blockViewer = assertEx2(this.params.blockViewer ?? await this.locator?.getInstance(BlockViewerMoniker), () => "Unable to locate a BlockViewer");
74
+ this._mempoolViewer = assertEx2(this.params.mempoolViewer ?? await this.locator?.getInstance(MempoolViewerMoniker), () => "Unable to locate a MempoolViewer");
224
75
  }
225
76
  async startHandler() {
226
77
  await super.startHandler();
@@ -254,13 +105,13 @@ var ValidatorActor = class extends Actor {
254
105
  return valid;
255
106
  }
256
107
  };
257
- ValidatorActor = _ts_decorate2([
258
- creatable2()
108
+ ValidatorActor = _ts_decorate([
109
+ creatable()
259
110
  ], ValidatorActor);
260
111
 
261
112
  // src/archivists/ChainFinalized/archivist.ts
262
113
  import { startupSpanAsync } from "@xyo-network/chain-utils";
263
- import { timeBudget } from "@xyo-network/xl1-protocol-sdk";
114
+ import { timeBudget } from "@xyo-network/xl1-sdk";
264
115
  import { Mutex as Mutex3 } from "async-mutex";
265
116
 
266
117
  // src/archivists/ChainFinalized/local.ts
@@ -320,7 +171,7 @@ __name(initChainFinalizedArchivist, "initChainFinalizedArchivist");
320
171
 
321
172
  // src/archivists/PendingBlocks/archivist.ts
322
173
  import { startupSpanAsync as startupSpanAsync2 } from "@xyo-network/chain-utils";
323
- import { timeBudget as timeBudget2 } from "@xyo-network/xl1-protocol-sdk";
174
+ import { timeBudget as timeBudget2 } from "@xyo-network/xl1-sdk";
324
175
  import { Mutex as Mutex5 } from "async-mutex";
325
176
 
326
177
  // src/archivists/PendingBlocks/local.ts
@@ -353,7 +204,7 @@ __name(initPendingBlocksArchivist, "initPendingBlocksArchivist");
353
204
 
354
205
  // src/archivists/RejectedTransactions/archivist.ts
355
206
  import { startupSpanAsync as startupSpanAsync3 } from "@xyo-network/chain-utils";
356
- import { timeBudget as timeBudget3 } from "@xyo-network/xl1-protocol-sdk";
207
+ import { timeBudget as timeBudget3 } from "@xyo-network/xl1-sdk";
357
208
  import { Mutex as Mutex7 } from "async-mutex";
358
209
 
359
210
  // src/archivists/RejectedTransactions/local.ts
@@ -392,13 +243,13 @@ async function initRejectedTransactionsArchivist(params) {
392
243
  __name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
393
244
 
394
245
  // src/archivists/StakeIntentState/archivist.ts
395
- import { assertEx as assertEx5 } from "@xylabs/sdk-js";
246
+ import { assertEx as assertEx4 } from "@xylabs/sdk-js";
396
247
  import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
397
- import { timeBudget as timeBudget4 } from "@xyo-network/xl1-protocol-sdk";
248
+ import { timeBudget as timeBudget4 } from "@xyo-network/xl1-sdk";
398
249
  import { Mutex as Mutex9 } from "async-mutex";
399
250
 
400
251
  // src/archivists/StakeIntentState/local.ts
401
- import { assertEx as assertEx4 } from "@xylabs/sdk-js";
252
+ import { assertEx as assertEx3 } from "@xylabs/sdk-js";
402
253
  import { Mutex as Mutex8 } from "async-mutex";
403
254
  var mutex7 = new Mutex8();
404
255
  var singleton7;
@@ -407,7 +258,7 @@ var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config
407
258
  if (singleton7) return singleton7;
408
259
  const { root } = config.storage;
409
260
  singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
410
- return assertEx4(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
261
+ return assertEx3(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
411
262
  });
412
263
  }, "initLocalStakeIntentStateArchivist");
413
264
 
@@ -420,15 +271,15 @@ var initStakeIntentStateArchivist = /* @__PURE__ */ __name(async (context) => {
420
271
  return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
421
272
  const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
422
273
  singleton8 = local;
423
- return assertEx5(singleton8, () => "StakeIntentStateArchivist is undefined");
274
+ return assertEx4(singleton8, () => "StakeIntentStateArchivist is undefined");
424
275
  }, 2e3, true);
425
276
  });
426
277
  }, "initStakeIntentStateArchivist");
427
278
 
428
279
  // src/buildTelemetryConfig.ts
429
- function buildTelemetryConfig(config, serviceName, serviceVersion) {
280
+ function buildTelemetryConfig(config, serviceName, serviceVersion, defaultMetricsScrapePort = 9464) {
430
281
  const { otlpEndpoint } = config.telemetry?.otel ?? {};
431
- const { path: endpoint = "/metrics", port = 9464 } = config.telemetry?.metrics?.scrape ?? {};
282
+ const { path: endpoint = "/metrics", port = defaultMetricsScrapePort } = config.telemetry?.metrics?.scrape ?? {};
432
283
  const telemetryConfig = {
433
284
  attributes: {
434
285
  serviceName,
@@ -446,7 +297,7 @@ __name(buildTelemetryConfig, "buildTelemetryConfig");
446
297
 
447
298
  // src/createDeclarationIntentBlock.ts
448
299
  import { buildNextBlock } from "@xyo-network/chain-sdk";
449
- import { createDeclarationIntent } from "@xyo-network/xl1-protocol-sdk";
300
+ import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
450
301
  async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, range) {
451
302
  const producerDeclarationPayload = createDeclarationIntent(producerAccount.address, "producer", range[0], range[1]);
452
303
  return await buildNextBlock(prevBlock, [], [
@@ -458,19 +309,19 @@ async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, r
458
309
  __name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
459
310
 
460
311
  // src/evm/initEvmProvider.ts
461
- import { assertEx as assertEx9 } from "@xylabs/sdk-js";
312
+ import { assertEx as assertEx8 } from "@xylabs/sdk-js";
462
313
 
463
314
  // src/evm/initInfuraProvider.ts
464
- import { assertEx as assertEx7, isDefined as isDefined2 } from "@xylabs/sdk-js";
315
+ import { assertEx as assertEx6, isDefined as isDefined2 } from "@xylabs/sdk-js";
465
316
  import { InfuraProvider } from "ethers/providers";
466
317
 
467
318
  // src/evm/initChainId.ts
468
- import { assertEx as assertEx6, hexFrom, isDefined, isHex } from "@xylabs/sdk-js";
319
+ import { assertEx as assertEx5, hexFrom, isDefined, isHex } from "@xylabs/sdk-js";
469
320
  var canUseChainId = /* @__PURE__ */ __name((config) => {
470
321
  return isDefined(config.evm.chainId);
471
322
  }, "canUseChainId");
472
323
  var getChainId = /* @__PURE__ */ __name((config) => {
473
- const chainId = assertEx6(config.evm.chainId, () => "Missing config.evm.chainId");
324
+ const chainId = assertEx5(config.evm.chainId, () => "Missing config.evm.chainId");
474
325
  if (isHex(chainId, {
475
326
  prefix: true
476
327
  })) {
@@ -495,8 +346,8 @@ var canUseInfuraProvider = /* @__PURE__ */ __name((config) => {
495
346
  return canUseChainId(config) && isDefined2(config.evm?.infura?.projectId) && isDefined2(config.evm?.infura?.projectSecret);
496
347
  }, "canUseInfuraProvider");
497
348
  var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
498
- const projectId = assertEx7(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
499
- const projectSecret = assertEx7(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
349
+ const projectId = assertEx6(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
350
+ const projectSecret = assertEx6(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
500
351
  return [
501
352
  getChainId(config),
502
353
  projectId,
@@ -505,7 +356,7 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
505
356
  }, "getInfuraProviderConfig");
506
357
 
507
358
  // src/evm/initJsonRpcProvider.ts
508
- import { assertEx as assertEx8, isDefined as isDefined3 } from "@xylabs/sdk-js";
359
+ import { assertEx as assertEx7, isDefined as isDefined3 } from "@xylabs/sdk-js";
509
360
  import { JsonRpcProvider } from "ethers/providers";
510
361
  var initJsonRpcProvider = /* @__PURE__ */ __name((config) => {
511
362
  const providerConfig = getJsonRpcProviderConfig(config);
@@ -515,7 +366,7 @@ var canUseJsonRpcProvider = /* @__PURE__ */ __name((config) => {
515
366
  return canUseChainId(config) && isDefined3(config.evm.jsonRpc?.url);
516
367
  }, "canUseJsonRpcProvider");
517
368
  var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config) => {
518
- const jsonRpcUrl = assertEx8(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
369
+ const jsonRpcUrl = assertEx7(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
519
370
  return [
520
371
  jsonRpcUrl,
521
372
  getChainId(config)
@@ -531,7 +382,7 @@ var initEvmProvider = /* @__PURE__ */ __name(async ({ config }) => {
531
382
  } else if (canUseJsonRpcProvider(config)) {
532
383
  provider = initJsonRpcProvider(config);
533
384
  }
534
- return assertEx9(await provider, () => "No provider available");
385
+ return assertEx8(await provider, () => "No provider available");
535
386
  }, "initEvmProvider");
536
387
  var canUseEvmProvider = /* @__PURE__ */ __name(({ config }) => {
537
388
  return canUseInfuraProvider(config) || canUseJsonRpcProvider(config);
@@ -634,9 +485,9 @@ var ServiceLifetime = {
634
485
 
635
486
  // src/init/initBalanceSummaryMap.ts
636
487
  import { BaseMongoSdk } from "@xylabs/mongo";
637
- import { assertEx as assertEx10 } from "@xylabs/sdk-js";
488
+ import { assertEx as assertEx9 } from "@xylabs/sdk-js";
638
489
  import { MongoMap } from "@xyo-network/chain-protocol";
639
- import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-protocol-sdk";
490
+ import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
640
491
  async function initBalanceSummaryMap({ config, logger }) {
641
492
  const mongoConfig = config.storage?.mongo;
642
493
  if (hasMongoConfig(mongoConfig)) {
@@ -659,7 +510,7 @@ async function initBalanceSummaryMap({ config, logger }) {
659
510
  maxEntries: 5e3
660
511
  }
661
512
  });
662
- assertEx10(await result.start(), () => "Failed to start transfer summary map");
513
+ assertEx9(await result.start(), () => "Failed to start transfer summary map");
663
514
  return result;
664
515
  } else {
665
516
  logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
@@ -669,7 +520,7 @@ async function initBalanceSummaryMap({ config, logger }) {
669
520
  __name(initBalanceSummaryMap, "initBalanceSummaryMap");
670
521
 
671
522
  // src/init/initBridgedModule.ts
672
- import { assertEx as assertEx11 } from "@xylabs/sdk-js";
523
+ import { assertEx as assertEx10 } from "@xylabs/sdk-js";
673
524
  import { asAttachableArchivistInstance } from "@xyo-network/archivist-model";
674
525
  import { asAttachableModuleInstance } from "@xyo-network/module-model";
675
526
  import { Mutex as Mutex10 } from "async-mutex";
@@ -679,8 +530,8 @@ var initBridgedModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) =>
679
530
  return await initMutex.runExclusive(async () => {
680
531
  const existing = bridgedModuleDictionary?.[bridge.address]?.[moduleName];
681
532
  if (existing) return existing;
682
- const mod = assertEx11(await bridge.resolve(moduleName), () => `Could not resolve ${moduleName}`);
683
- const moduleInstance = assertEx11(asAttachableModuleInstance(mod), () => `Could not convert ${moduleName} to attachable module instance`);
533
+ const mod = assertEx10(await bridge.resolve(moduleName), () => `Could not resolve ${moduleName}`);
534
+ const moduleInstance = assertEx10(asAttachableModuleInstance(mod), () => `Could not convert ${moduleName} to attachable module instance`);
684
535
  let moduleMap = bridgedModuleDictionary[bridge.address];
685
536
  if (moduleMap === void 0) {
686
537
  moduleMap = {};
@@ -691,37 +542,37 @@ var initBridgedModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) =>
691
542
  });
692
543
  }, "initBridgedModule");
693
544
  var initBridgedArchivistModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) => {
694
- return assertEx11(asAttachableArchivistInstance(await initBridgedModule({
545
+ return assertEx10(asAttachableArchivistInstance(await initBridgedModule({
695
546
  bridge,
696
547
  moduleName
697
548
  })), () => `Could not convert ${moduleName} to attachable archivist instance`);
698
549
  }, "initBridgedArchivistModule");
699
550
 
700
551
  // src/init/initChainStakeViewer.ts
701
- import { asAddress, assertEx as assertEx12, toAddress, toEthAddress } from "@xylabs/sdk-js";
552
+ import { asAddress, assertEx as assertEx11, toAddress, toEthAddress } from "@xylabs/sdk-js";
702
553
  import { EthereumChainStakeEventsViewer, EthereumChainStakeViewer } from "@xyo-network/chain-sdk";
703
554
  import { StakedXyoChainV2__factory } from "@xyo-network/typechain";
704
- import { SimpleStakeViewer } from "@xyo-network/xl1-protocol-sdk";
555
+ import { SimpleStakeViewer } from "@xyo-network/xl1-sdk";
705
556
  async function initEvmChainStakeViewer(context, config, logger) {
706
557
  const provider2 = await initEvmProvider({
707
558
  config,
708
559
  logger
709
560
  });
710
- const contractAddress = assertEx12(config.chain.id, () => "Missing config.evm.chainId");
561
+ const contractAddress = assertEx11(config.chain.id, () => "Missing config.evm.chainId");
711
562
  const contract = StakedXyoChainV2__factory.connect(toEthAddress(contractAddress), provider2);
712
563
  const stakeEventsViewer = await EthereumChainStakeEventsViewer.create({
713
564
  contract,
714
565
  logger,
715
566
  context
716
567
  });
717
- assertEx12(await stakeEventsViewer.start(), () => "Failed to start EthereumChainStakeEvents reader");
568
+ assertEx11(await stakeEventsViewer.start(), () => "Failed to start EthereumChainStakeEvents reader");
718
569
  const stakeChainViewer = await EthereumChainStakeViewer.create({
719
570
  contract,
720
571
  stakeEventsViewer,
721
572
  logger,
722
573
  context
723
574
  });
724
- assertEx12(await stakeChainViewer.start(), () => "Failed to start EthereumChainStake viewer");
575
+ assertEx11(await stakeChainViewer.start(), () => "Failed to start EthereumChainStake viewer");
725
576
  return stakeChainViewer;
726
577
  }
727
578
  __name(initEvmChainStakeViewer, "initEvmChainStakeViewer");
@@ -732,7 +583,7 @@ async function initSimpleStakeViewer(context, config, logger) {
732
583
  logger,
733
584
  positions: []
734
585
  });
735
- assertEx12(await stakeViewer.start(), () => "Failed to start SimpleChainStake viewer");
586
+ assertEx11(await stakeViewer.start(), () => "Failed to start SimpleChainStake viewer");
736
587
  return stakeViewer;
737
588
  }
738
589
  __name(initSimpleStakeViewer, "initSimpleStakeViewer");
@@ -769,7 +620,7 @@ __name(initFinalizedArchivist, "initFinalizedArchivist");
769
620
  // src/init/initProducerAccount.ts
770
621
  import { isUndefined } from "@xylabs/sdk-js";
771
622
  import { HDWallet } from "@xyo-network/wallet";
772
- import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-protocol-sdk";
623
+ import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-sdk";
773
624
  var accountServiceSingleton;
774
625
  var initProducerAccount = /* @__PURE__ */ __name(async ({ config, logger }) => {
775
626
  if (accountServiceSingleton) return accountServiceSingleton;
@@ -791,7 +642,7 @@ ${randomMnemonic}
791
642
  }, "initProducerAccount");
792
643
 
793
644
  // src/init/initSeedPhrase.ts
794
- import { assertEx as assertEx13, isString } from "@xylabs/sdk-js";
645
+ import { assertEx as assertEx12, isString } from "@xylabs/sdk-js";
795
646
  import { HDWallet as HDWallet2 } from "@xyo-network/wallet";
796
647
  async function initSeedPhrase({ config, logger, bios }) {
797
648
  const storedSeedPhrase = await bios.seedPhraseStore.get("os");
@@ -811,24 +662,24 @@ async function initSeedPhrase({ config, logger, bios }) {
811
662
  }
812
663
  await bios.seedPhraseStore.set("os", seedPhrase);
813
664
  }
814
- return assertEx13(await bios.seedPhraseStore.get("os"), () => "Unable to acquire mnemonic from bios");
665
+ return assertEx12(await bios.seedPhraseStore.get("os"), () => "Unable to acquire mnemonic from bios");
815
666
  }
816
667
  __name(initSeedPhrase, "initSeedPhrase");
817
668
 
818
669
  // src/init/initServerNode.ts
819
- import { assertEx as assertEx14 } from "@xylabs/sdk-js";
670
+ import { assertEx as assertEx13 } from "@xylabs/sdk-js";
820
671
  import { asArchivistInstance } from "@xyo-network/archivist-model";
821
672
 
822
673
  // src/manifest/getLocator.ts
823
674
  import { isDefined as isDefined5 } from "@xylabs/sdk-js";
824
675
  import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
825
- import { MongoDBArchivistV2 as MongoDBArchivistV22 } from "@xyo-network/archivist-mongodb";
676
+ import { MongoDBArchivistV2 as MongoDBArchivistV22, MongoDBArchivistV2Deletable } from "@xyo-network/archivist-mongodb";
826
677
  import { ViewArchivist } from "@xyo-network/archivist-view";
827
678
  import { initTelemetry } from "@xyo-network/chain-telemetry";
828
679
  import { AbstractModule, LoggerModuleStatusReporter } from "@xyo-network/module-abstract";
829
680
  import { ModuleFactoryLocator } from "@xyo-network/module-factory-locator";
830
681
  import { MemorySentinel } from "@xyo-network/sentinel-memory";
831
- import { hasMongoConfig as hasMongoConfig2 } from "@xyo-network/xl1-protocol-sdk";
682
+ import { hasMongoConfig as hasMongoConfig2 } from "@xyo-network/xl1-sdk";
832
683
  var getLocator = /* @__PURE__ */ __name(async ({ config, logger }) => {
833
684
  const { otlpEndpoint } = config.telemetry?.otel ?? {};
834
685
  const { path: endpoint = "/metrics", port = 9465 } = config.telemetry?.metrics?.scrape ?? {};
@@ -863,6 +714,9 @@ var getLocator = /* @__PURE__ */ __name(async ({ config, logger }) => {
863
714
  traceProvider
864
715
  };
865
716
  locator.register(MongoDBArchivistV22.factory(params), void 0, true);
717
+ locator.register(MongoDBArchivistV2Deletable.factory(params), {
718
+ "network.xyo.storage.capabilities.delete": "enabled"
719
+ }, false);
866
720
  }
867
721
  locator.register(MemoryArchivist2.factory({
868
722
  traceProvider,
@@ -983,6 +837,7 @@ var Pending_default = {
983
837
  maxEntries: 5e3
984
838
  },
985
839
  labels: {
840
+ "network.xyo.storage.capabilities.delete": "enabled",
986
841
  "network.xyo.storage.class": "mongodb"
987
842
  },
988
843
  payloadSdkConfig: {
@@ -999,6 +854,10 @@ var Pending_default = {
999
854
  enabled: true,
1000
855
  maxEntries: 5e3
1001
856
  },
857
+ labels: {
858
+ "network.xyo.storage.capabilities.delete": "enabled",
859
+ "network.xyo.storage.class": "mongodb"
860
+ },
1002
861
  payloadSdkConfig: {
1003
862
  collection: "pending_block_bundles"
1004
863
  },
@@ -1044,7 +903,7 @@ async function writableChainArchivistFromNode(node) {
1044
903
  }
1045
904
  __name(writableChainArchivistFromNode, "writableChainArchivistFromNode");
1046
905
  async function readonlyChainArchivistFromNode(node) {
1047
- return assertEx14(asArchivistInstance(await node.resolve("Chain:Validated"), {
906
+ return assertEx13(asArchivistInstance(await node.resolve("Chain:Validated"), {
1048
907
  required: true
1049
908
  }));
1050
909
  }
@@ -1069,7 +928,7 @@ async function initServerNode({ wallet, logger, config, node: providedNode, tran
1069
928
  transfersSummaryMap,
1070
929
  balancesSummaryMap
1071
930
  });
1072
- assertEx14(await node.start(), () => "Failed to start node");
931
+ assertEx13(await node.start(), () => "Failed to start node");
1073
932
  const writableChainArchivist = await writableChainArchivistFromNode(node);
1074
933
  const readonlyChainArchivist = await readonlyChainArchivistFromNode(node);
1075
934
  const pendingTransactionsArchivist = await pendingTransactionsArchivistFromNode(node);
@@ -1084,24 +943,8 @@ async function initServerNode({ wallet, logger, config, node: providedNode, tran
1084
943
  }
1085
944
  __name(initServerNode, "initServerNode");
1086
945
 
1087
- // src/init/initServerWallet.ts
1088
- import { isDefined as isDefined6 } from "@xylabs/sdk-js";
1089
- import { boot } from "@xyo-network/bios";
1090
- import { HDWallet as HDWallet3 } from "@xyo-network/wallet";
1091
- async function initServerWallet({ config, logger }) {
1092
- const { mnemonic } = config.api;
1093
- const bios = await boot();
1094
- const seedPhrase = isDefined6(mnemonic) ? mnemonic : await initSeedPhrase({
1095
- bios,
1096
- config,
1097
- logger
1098
- });
1099
- return await HDWallet3.fromPhrase(seedPhrase);
1100
- }
1101
- __name(initServerWallet, "initServerWallet");
1102
-
1103
946
  // src/init/initStatusReporter.ts
1104
- import { RuntimeStatusMonitor } from "@xyo-network/xl1-protocol-sdk";
947
+ import { RuntimeStatusMonitor } from "@xyo-network/xl1-sdk";
1105
948
  function initStatusReporter({ logger }) {
1106
949
  const statusReporter = new RuntimeStatusMonitor(logger);
1107
950
  statusReporter.onGlobalTransition({
@@ -1121,9 +964,9 @@ __name(initStatusReporter, "initStatusReporter");
1121
964
 
1122
965
  // src/init/initTransferSummaryMap.ts
1123
966
  import { BaseMongoSdk as BaseMongoSdk2 } from "@xylabs/mongo";
1124
- import { assertEx as assertEx15 } from "@xylabs/sdk-js";
967
+ import { assertEx as assertEx14 } from "@xylabs/sdk-js";
1125
968
  import { MongoMap as MongoMap2 } from "@xyo-network/chain-protocol";
1126
- import { hasMongoConfig as hasMongoConfig3, MemoryMap as MemoryMap2 } from "@xyo-network/xl1-protocol-sdk";
969
+ import { hasMongoConfig as hasMongoConfig3, MemoryMap as MemoryMap2 } from "@xyo-network/xl1-sdk";
1127
970
  async function initTransferSummaryMap({ config, logger }) {
1128
971
  const mongoConfig = config.storage?.mongo;
1129
972
  if (hasMongoConfig3(mongoConfig)) {
@@ -1146,7 +989,7 @@ async function initTransferSummaryMap({ config, logger }) {
1146
989
  maxEntries: 5e3
1147
990
  }
1148
991
  });
1149
- assertEx15(await result.start(), () => "Failed to start transfer summary map");
992
+ assertEx14(await result.start(), () => "Failed to start transfer summary map");
1150
993
  return result;
1151
994
  } else {
1152
995
  logger?.warn("[API] Mongo configuration not found. Using MemoryMap for TransferSummaryMap.");
@@ -1155,16 +998,63 @@ async function initTransferSummaryMap({ config, logger }) {
1155
998
  }
1156
999
  __name(initTransferSummaryMap, "initTransferSummaryMap");
1157
1000
 
1001
+ // src/init/initWallet.ts
1002
+ import { isDefined as isDefined6 } from "@xylabs/sdk-js";
1003
+ import { boot } from "@xyo-network/bios";
1004
+ import { HDWallet as HDWallet3 } from "@xyo-network/wallet";
1005
+ async function initWallet({ config, logger }, mnemonic) {
1006
+ const bios = await boot();
1007
+ const seedPhrase = isDefined6(mnemonic) ? mnemonic : await initSeedPhrase({
1008
+ bios,
1009
+ config,
1010
+ logger
1011
+ });
1012
+ return await HDWallet3.fromPhrase(seedPhrase);
1013
+ }
1014
+ __name(initWallet, "initWallet");
1015
+ async function initApiWallet({ config, logger }) {
1016
+ const { mnemonic } = config.api;
1017
+ return await initWallet({
1018
+ config,
1019
+ logger
1020
+ }, mnemonic);
1021
+ }
1022
+ __name(initApiWallet, "initApiWallet");
1023
+ async function initMempoolWallet({ config, logger }) {
1024
+ const { mnemonic } = config.mempool;
1025
+ return await initWallet({
1026
+ config,
1027
+ logger
1028
+ }, mnemonic);
1029
+ }
1030
+ __name(initMempoolWallet, "initMempoolWallet");
1031
+ async function initProducerWallet({ config, logger }) {
1032
+ const { mnemonic } = config.producer;
1033
+ return await initWallet({
1034
+ config,
1035
+ logger
1036
+ }, mnemonic);
1037
+ }
1038
+ __name(initProducerWallet, "initProducerWallet");
1039
+ async function initRewardsRedemptionApiWallet({ config, logger }) {
1040
+ const { mnemonic } = config.rewardRedemptionApi;
1041
+ return await initWallet({
1042
+ config,
1043
+ logger
1044
+ }, mnemonic);
1045
+ }
1046
+ __name(initRewardsRedemptionApiWallet, "initRewardsRedemptionApiWallet");
1047
+
1158
1048
  // src/orchestrator/Orchestrator.ts
1159
- import { AbstractCreatable as AbstractCreatable2, creatable as creatable3 } from "@xylabs/sdk-js";
1160
- function _ts_decorate3(decorators, target, key, desc) {
1049
+ import { AbstractCreatable, creatable as creatable2 } from "@xylabs/sdk-js";
1050
+ function _ts_decorate2(decorators, target, key, desc) {
1161
1051
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1162
1052
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1163
1053
  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;
1164
1054
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1165
1055
  }
1166
- __name(_ts_decorate3, "_ts_decorate");
1167
- var Orchestrator = class extends AbstractCreatable2 {
1056
+ __name(_ts_decorate2, "_ts_decorate");
1057
+ var Orchestrator = class extends AbstractCreatable {
1168
1058
  static {
1169
1059
  __name(this, "Orchestrator");
1170
1060
  }
@@ -1216,11 +1106,10 @@ var Orchestrator = class extends AbstractCreatable2 {
1216
1106
  this.logger?.log("[Orchestrator] Stopped...");
1217
1107
  }
1218
1108
  };
1219
- Orchestrator = _ts_decorate3([
1220
- creatable3()
1109
+ Orchestrator = _ts_decorate2([
1110
+ creatable2()
1221
1111
  ], Orchestrator);
1222
1112
  export {
1223
- Actor,
1224
1113
  BalanceActor,
1225
1114
  DefaultServiceProvider,
1226
1115
  GenericHost,
@@ -1234,6 +1123,7 @@ export {
1234
1123
  canUseEvmProvider,
1235
1124
  createProducerChainStakeIntentBlock,
1236
1125
  getLocator,
1126
+ initApiWallet,
1237
1127
  initBalanceSummaryMap,
1238
1128
  initBridgedArchivistModule,
1239
1129
  initBridgedModule,
@@ -1242,12 +1132,14 @@ export {
1242
1132
  initEvmProvider,
1243
1133
  initFinalizedArchivist,
1244
1134
  initHealthEndpoints,
1135
+ initMempoolWallet,
1245
1136
  initPendingBlocksArchivist,
1246
1137
  initProducerAccount,
1138
+ initProducerWallet,
1247
1139
  initRejectedTransactionsArchivist,
1140
+ initRewardsRedemptionApiWallet,
1248
1141
  initSeedPhrase,
1249
1142
  initServerNode,
1250
- initServerWallet,
1251
1143
  initSimpleStakeViewer,
1252
1144
  initStakeIntentStateArchivist,
1253
1145
  initStakeViewer,