@xyo-network/chain-orchestration 1.17.7 → 1.18.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 (72) hide show
  1. package/dist/neutral/ChainInitializableParams.d.ts +2 -10
  2. package/dist/neutral/ChainInitializableParams.d.ts.map +1 -1
  3. package/dist/neutral/actor/Actor.d.ts +205 -2
  4. package/dist/neutral/actor/Actor.d.ts.map +1 -1
  5. package/dist/neutral/actor/ValidatorActor.d.ts +13 -10
  6. package/dist/neutral/actor/ValidatorActor.d.ts.map +1 -1
  7. package/dist/neutral/archivists/ChainFinalized/archivist.d.ts +1 -1
  8. package/dist/neutral/archivists/ChainFinalized/archivist.d.ts.map +1 -1
  9. package/dist/neutral/archivists/ChainFinalized/local.d.ts +2 -4
  10. package/dist/neutral/archivists/ChainFinalized/local.d.ts.map +1 -1
  11. package/dist/neutral/archivists/PendingBlocks/archivist.d.ts +1 -1
  12. package/dist/neutral/archivists/PendingBlocks/archivist.d.ts.map +1 -1
  13. package/dist/neutral/archivists/StakeIntentState/local.d.ts +2 -4
  14. package/dist/neutral/archivists/StakeIntentState/local.d.ts.map +1 -1
  15. package/dist/neutral/archivists/index.d.ts +0 -1
  16. package/dist/neutral/archivists/index.d.ts.map +1 -1
  17. package/dist/neutral/createDeclarationIntentBlock.d.ts.map +1 -1
  18. package/dist/neutral/health/initHealthEndpoints.d.ts +1 -2
  19. package/dist/neutral/health/initHealthEndpoints.d.ts.map +1 -1
  20. package/dist/neutral/index.d.ts +0 -2
  21. package/dist/neutral/index.d.ts.map +1 -1
  22. package/dist/neutral/index.mjs +156 -279
  23. package/dist/neutral/index.mjs.map +1 -1
  24. package/dist/neutral/init/index.d.ts +1 -1
  25. package/dist/neutral/init/index.d.ts.map +1 -1
  26. package/dist/neutral/init/initChainStakeViewer.d.ts +5 -4
  27. package/dist/neutral/init/initChainStakeViewer.d.ts.map +1 -1
  28. package/dist/neutral/init/initFinalizedArchivist.d.ts +4 -0
  29. package/dist/neutral/init/initFinalizedArchivist.d.ts.map +1 -0
  30. package/dist/neutral/init/initServerNode.d.ts.map +1 -1
  31. package/dist/neutral/init/initStatusReporter.d.ts +1 -1
  32. package/dist/neutral/init/initStatusReporter.d.ts.map +1 -1
  33. package/package.json +10 -12
  34. package/src/ChainInitializableParams.ts +2 -11
  35. package/src/actor/Actor.ts +43 -6
  36. package/src/actor/BalanceActor.ts +1 -1
  37. package/src/actor/ValidatorActor.ts +30 -67
  38. package/src/archivists/ChainFinalized/archivist.ts +3 -3
  39. package/src/archivists/ChainFinalized/local.ts +2 -2
  40. package/src/archivists/PendingBlocks/archivist.ts +3 -3
  41. package/src/archivists/StakeIntentState/archivist.ts +3 -3
  42. package/src/archivists/StakeIntentState/local.ts +3 -2
  43. package/src/archivists/index.ts +0 -1
  44. package/src/createDeclarationIntentBlock.ts +2 -1
  45. package/src/health/initHealthEndpoints.ts +1 -3
  46. package/src/index.ts +0 -2
  47. package/src/init/index.ts +1 -1
  48. package/src/init/initChainStakeViewer.ts +29 -15
  49. package/src/init/initFinalizedArchivist.ts +16 -0
  50. package/src/init/initServerNode.ts +1 -0
  51. package/src/init/initStatusReporter.ts +1 -2
  52. package/dist/neutral/archivists/PendingTransactions/archivist.d.ts +0 -4
  53. package/dist/neutral/archivists/PendingTransactions/archivist.d.ts.map +0 -1
  54. package/dist/neutral/archivists/PendingTransactions/index.d.ts +0 -2
  55. package/dist/neutral/archivists/PendingTransactions/index.d.ts.map +0 -1
  56. package/dist/neutral/archivists/PendingTransactions/local.d.ts +0 -7
  57. package/dist/neutral/archivists/PendingTransactions/local.d.ts.map +0 -1
  58. package/dist/neutral/init/iterator.d.ts +0 -7
  59. package/dist/neutral/init/iterator.d.ts.map +0 -1
  60. package/dist/neutral/status/RuntimeStatusMonitor.d.ts +0 -31
  61. package/dist/neutral/status/RuntimeStatusMonitor.d.ts.map +0 -1
  62. package/dist/neutral/status/ServiceStatus.d.ts +0 -8
  63. package/dist/neutral/status/ServiceStatus.d.ts.map +0 -1
  64. package/dist/neutral/status/index.d.ts +0 -3
  65. package/dist/neutral/status/index.d.ts.map +0 -1
  66. package/src/archivists/PendingTransactions/archivist.ts +0 -21
  67. package/src/archivists/PendingTransactions/index.ts +0 -1
  68. package/src/archivists/PendingTransactions/local.ts +0 -18
  69. package/src/init/iterator.ts +0 -42
  70. package/src/status/RuntimeStatusMonitor.ts +0 -117
  71. package/src/status/ServiceStatus.ts +0 -20
  72. package/src/status/index.ts +0 -2
@@ -2,7 +2,8 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
4
  // src/actor/Actor.ts
5
- import { AbstractCreatable, Base, creatable, delay, IdLogger } from "@xylabs/sdk-js";
5
+ import { AbstractCreatable, assertEx, Base, creatable, delay, IdLogger } from "@xylabs/sdk-js";
6
+ import { getDefaultConfig, ProviderFactoryLocator } from "@xyo-network/xl1-protocol-sdk";
6
7
  import { Semaphore } from "async-mutex";
7
8
  function _ts_decorate(decorators, target, key, desc) {
8
9
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -25,6 +26,18 @@ var Actor = class extends AbstractCreatable {
25
26
  get id() {
26
27
  return this.params.id;
27
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
+ }
28
41
  get logPrefix() {
29
42
  return `[${this.displayName} (${this.id})] `;
30
43
  }
@@ -32,11 +45,25 @@ var Actor = class extends AbstractCreatable {
32
45
  const baseParams = await super.paramsHandler(params);
33
46
  const id = params?.id ?? baseParams.name;
34
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
+ };
35
60
  return {
36
61
  ...baseParams,
62
+ account,
63
+ context,
37
64
  displayName,
38
65
  id,
39
- logger: baseParams.logger ?? new IdLogger(Base.defaultLogger ?? console, () => `[${displayName} (${id})] `)
66
+ logger
40
67
  };
41
68
  }
42
69
  /**
@@ -69,6 +96,7 @@ var Actor = class extends AbstractCreatable {
69
96
  }
70
97
  }).catch((error) => {
71
98
  this.logger?.error(`Error in timer '${this.name}:${timerName}': ${error}`);
99
+ this.logger?.error(error.stack);
72
100
  }).finally(() => {
73
101
  release();
74
102
  running = false;
@@ -124,7 +152,7 @@ Actor = _ts_decorate([
124
152
  ], Actor);
125
153
 
126
154
  // src/actor/BalanceActor.ts
127
- import { assertEx } from "@xylabs/sdk-js";
155
+ import { assertEx as assertEx2 } from "@xylabs/sdk-js";
128
156
  import { Mutex } from "async-mutex";
129
157
  var BalanceActor = class extends Actor {
130
158
  static {
@@ -132,10 +160,10 @@ var BalanceActor = class extends Actor {
132
160
  }
133
161
  _updateMutex = new Mutex();
134
162
  get balanceService() {
135
- return assertEx(this.params.balance, () => "balanceService not set");
163
+ return assertEx2(this.params.balance, () => "balanceService not set");
136
164
  }
137
165
  get blockViewer() {
138
- return assertEx(this.params.blockViewer, () => "blockViewer not set");
166
+ return assertEx2(this.params.blockViewer, () => "blockViewer not set");
139
167
  }
140
168
  async startHandler() {
141
169
  await super.startHandler();
@@ -153,15 +181,18 @@ var BalanceActor = class extends Actor {
153
181
  if (this._updateMutex.isLocked()) return;
154
182
  await this._updateMutex.runExclusive(async () => {
155
183
  const head = await this.blockViewer.currentBlockHash();
156
- await this.balanceService.accountBalances([], head);
184
+ await this.balanceService.accountBalances([], {
185
+ head
186
+ });
157
187
  });
158
188
  }
159
189
  };
160
190
 
161
191
  // src/actor/ValidatorActor.ts
162
- import { assertEx as assertEx2, creatable as creatable2 } from "@xylabs/sdk-js";
192
+ import { assertEx as assertEx3, creatable as creatable2 } from "@xylabs/sdk-js";
163
193
  import { processPendingBlocks } from "@xyo-network/chain-sdk";
164
194
  import { PayloadBuilder } from "@xyo-network/payload-builder";
195
+ import { BlockViewerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
165
196
  function _ts_decorate2(decorators, target, key, desc) {
166
197
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
167
198
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -173,38 +204,24 @@ var ValidatorActor = class extends Actor {
173
204
  static {
174
205
  __name(this, "ValidatorActor");
175
206
  }
207
+ _blockViewer;
176
208
  _lastValidatedBlock;
177
209
  _lastValidatedBlockHash;
178
- get account() {
179
- return assertEx2(this.params.account, () => "account not set");
180
- }
181
- get balanceService() {
182
- return assertEx2(this.params.balance, () => "balanceService not set");
183
- }
210
+ _mempoolViewer;
184
211
  get blockViewer() {
185
- return assertEx2(this.params.blockViewer, () => "blockViewer not set");
212
+ return this._blockViewer;
186
213
  }
187
- get chainStakeViewer() {
188
- return assertEx2(this.params.chainStakeViewer, () => "chainStakeViewer not set");
214
+ get finalizedArchivist() {
215
+ return assertEx3(this.params.finalizedArchivist, () => "finalizedArchivist not set");
189
216
  }
190
217
  get mempoolViewer() {
191
- return assertEx2(this.params.mempoolViewer, () => "mempoolViewer not set");
218
+ return this._mempoolViewer;
192
219
  }
193
- get pendingBlocksArchivist() {
194
- return assertEx2(this.params.pendingBlocksArchivist, () => "pendingBlocksArchivist not set");
220
+ async createHandler() {
221
+ 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");
195
224
  }
196
- // protected get chainSubmissionsArchivistWrite() {
197
- // return assertEx(this.params.chainSubmissionsArchivistWrite, () => 'chainSubmissionsArchivistWrite not set')
198
- // }
199
- // protected get pendingBundledTransactionsArchivistWrite() {
200
- // return assertEx(this.params.pendingBundledTransactionsArchivistWrite, () => 'pendingBundledTransactionsArchivistWrite not set')
201
- // }
202
- // protected get stakeIntentService() {
203
- // return assertEx(this.params.stakeIntent, () => 'stakeIntentService not set')
204
- // }
205
- // protected get validator() {
206
- // return assertEx(this.params.validator, () => 'validator not set')
207
- // }
208
225
  async startHandler() {
209
226
  await super.startHandler();
210
227
  this.registerTimer(
@@ -213,10 +230,11 @@ var ValidatorActor = class extends Actor {
213
230
  await this.spanAsync("processPendingBlocks", async () => {
214
231
  console.log("ValidatorActor: Processing pending blocks...");
215
232
  await processPendingBlocks({
233
+ context: this.context,
216
234
  logger: this.logger,
217
235
  mempoolViewer: this.mempoolViewer,
218
236
  blockViewer: this.blockViewer,
219
- chainArchivist: this.pendingBlocksArchivist
237
+ finalizedArchivist: this.finalizedArchivist
220
238
  });
221
239
  });
222
240
  },
@@ -288,14 +306,11 @@ var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config })
288
306
  // src/archivists/ChainFinalized/archivist.ts
289
307
  var mutex2 = new Mutex3();
290
308
  var singleton2;
291
- async function initChainFinalizedArchivist({ config, logger }) {
309
+ async function initChainFinalizedArchivist(context) {
292
310
  return await mutex2.runExclusive(async () => {
293
311
  if (singleton2) return singleton2;
294
- return await timeBudget("initChainFinalizedArchivist", logger, async () => {
295
- const local = await startupSpanAsync("ChainFinalizedArchivist:initLocal", () => initLocalChainFinalizedArchivist({
296
- config,
297
- logger
298
- }));
312
+ return await timeBudget("initChainFinalizedArchivist", context.logger, async () => {
313
+ const local = await startupSpanAsync("ChainFinalizedArchivist:initLocal", () => initLocalChainFinalizedArchivist(context));
299
314
  singleton2 = local;
300
315
  return singleton2;
301
316
  }, 2e3, true);
@@ -324,14 +339,11 @@ var initLocalPendingBlocksArchivist = /* @__PURE__ */ __name(async ({ config })
324
339
  // src/archivists/PendingBlocks/archivist.ts
325
340
  var mutex4 = new Mutex5();
326
341
  var singleton4;
327
- async function initPendingBlocksArchivist({ config, logger }) {
342
+ async function initPendingBlocksArchivist(context) {
328
343
  return await mutex4.runExclusive(async () => {
329
344
  if (singleton4) return singleton4;
330
- return await timeBudget2("initPendingBlocksArchivist", logger, async () => {
331
- const local = await startupSpanAsync2("PendingBlocksArchivist:initLocal", () => initLocalPendingBlocksArchivist({
332
- config,
333
- logger
334
- }));
345
+ return await timeBudget2("initPendingBlocksArchivist", context.logger, async () => {
346
+ const local = await startupSpanAsync2("PendingBlocksArchivist:initLocal", () => initLocalPendingBlocksArchivist(context));
335
347
  singleton4 = local;
336
348
  return singleton4;
337
349
  }, 2e3, true);
@@ -339,112 +351,76 @@ async function initPendingBlocksArchivist({ config, logger }) {
339
351
  }
340
352
  __name(initPendingBlocksArchivist, "initPendingBlocksArchivist");
341
353
 
342
- // src/archivists/PendingTransactions/archivist.ts
354
+ // src/archivists/RejectedTransactions/archivist.ts
343
355
  import { startupSpanAsync as startupSpanAsync3 } from "@xyo-network/chain-utils";
344
356
  import { timeBudget as timeBudget3 } from "@xyo-network/xl1-protocol-sdk";
345
357
  import { Mutex as Mutex7 } from "async-mutex";
346
358
 
347
- // src/archivists/PendingTransactions/local.ts
359
+ // src/archivists/RejectedTransactions/local.ts
360
+ import { MemoryArchivist, MemoryArchivistConfigSchema } from "@xyo-network/archivist-memory";
348
361
  import { Mutex as Mutex6 } from "async-mutex";
349
362
  var mutex5 = new Mutex6();
350
363
  var singleton5;
351
- var initLocalPendingTransactionsArchivist = /* @__PURE__ */ __name(async ({ config }) => {
364
+ var initLocalRejectedTransactionsArchivist = /* @__PURE__ */ __name(async () => {
352
365
  return await mutex5.runExclusive(async () => {
353
366
  if (singleton5) return singleton5;
354
- const { root } = config.storage;
355
- singleton5 = await getLocalPersistentArchivist("local-pending-transactions", "chain", "pending_transaction_bundles", root);
367
+ singleton5 = await MemoryArchivist.create({
368
+ account: "random",
369
+ config: {
370
+ schema: MemoryArchivistConfigSchema,
371
+ max: 1e3,
372
+ name: "localRejectedTransactions"
373
+ }
374
+ });
356
375
  return singleton5;
357
376
  });
358
- }, "initLocalPendingTransactionsArchivist");
377
+ }, "initLocalRejectedTransactionsArchivist");
359
378
 
360
- // src/archivists/PendingTransactions/archivist.ts
379
+ // src/archivists/RejectedTransactions/archivist.ts
361
380
  var mutex6 = new Mutex7();
362
381
  var singleton6;
363
- async function initPendingTransactionsArchivist({ config, logger }) {
382
+ async function initRejectedTransactionsArchivist(params) {
364
383
  return await mutex6.runExclusive(async () => {
365
384
  if (singleton6) return singleton6;
366
- return await timeBudget3("initPendingTransactionsArchivist", logger, async () => {
367
- const local = await startupSpanAsync3("PendingTransactionsArchivist:initLocal", () => initLocalPendingTransactionsArchivist({
368
- config,
369
- logger
370
- }));
385
+ return await timeBudget3("initRejectedTransactionsArchivist", params.logger, async () => {
386
+ const local = await startupSpanAsync3("RejectedTransactionsArchivist:initLocal", () => initLocalRejectedTransactionsArchivist(params));
371
387
  singleton6 = local;
372
388
  return singleton6;
373
389
  }, 2e3, true);
374
390
  });
375
391
  }
376
- __name(initPendingTransactionsArchivist, "initPendingTransactionsArchivist");
392
+ __name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
377
393
 
378
- // src/archivists/RejectedTransactions/archivist.ts
394
+ // src/archivists/StakeIntentState/archivist.ts
395
+ import { assertEx as assertEx5 } from "@xylabs/sdk-js";
379
396
  import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
380
397
  import { timeBudget as timeBudget4 } from "@xyo-network/xl1-protocol-sdk";
381
398
  import { Mutex as Mutex9 } from "async-mutex";
382
399
 
383
- // src/archivists/RejectedTransactions/local.ts
384
- import { MemoryArchivist, MemoryArchivistConfigSchema } from "@xyo-network/archivist-memory";
400
+ // src/archivists/StakeIntentState/local.ts
401
+ import { assertEx as assertEx4 } from "@xylabs/sdk-js";
385
402
  import { Mutex as Mutex8 } from "async-mutex";
386
403
  var mutex7 = new Mutex8();
387
404
  var singleton7;
388
- var initLocalRejectedTransactionsArchivist = /* @__PURE__ */ __name(async () => {
405
+ var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config }) => {
389
406
  return await mutex7.runExclusive(async () => {
390
407
  if (singleton7) return singleton7;
391
- singleton7 = await MemoryArchivist.create({
392
- account: "random",
393
- config: {
394
- schema: MemoryArchivistConfigSchema,
395
- max: 1e3,
396
- name: "localRejectedTransactions"
397
- }
398
- });
399
- return singleton7;
408
+ const { root } = config.storage;
409
+ singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
410
+ return assertEx4(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
400
411
  });
401
- }, "initLocalRejectedTransactionsArchivist");
412
+ }, "initLocalStakeIntentStateArchivist");
402
413
 
403
- // src/archivists/RejectedTransactions/archivist.ts
414
+ // src/archivists/StakeIntentState/archivist.ts
404
415
  var mutex8 = new Mutex9();
405
416
  var singleton8;
406
- async function initRejectedTransactionsArchivist(params) {
417
+ var initStakeIntentStateArchivist = /* @__PURE__ */ __name(async (context) => {
407
418
  return await mutex8.runExclusive(async () => {
408
419
  if (singleton8) return singleton8;
409
- return await timeBudget4("initRejectedTransactionsArchivist", params.logger, async () => {
410
- const local = await startupSpanAsync4("RejectedTransactionsArchivist:initLocal", () => initLocalRejectedTransactionsArchivist(params));
420
+ return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
421
+ const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
411
422
  singleton8 = local;
412
- return singleton8;
413
- }, 2e3, true);
414
- });
415
- }
416
- __name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
417
-
418
- // src/archivists/StakeIntentState/archivist.ts
419
- import { assertEx as assertEx4 } from "@xylabs/sdk-js";
420
- import { startupSpanAsync as startupSpanAsync5 } from "@xyo-network/chain-utils";
421
- import { timeBudget as timeBudget5 } from "@xyo-network/xl1-protocol-sdk";
422
- import { Mutex as Mutex11 } from "async-mutex";
423
-
424
- // src/archivists/StakeIntentState/local.ts
425
- import { assertEx as assertEx3 } from "@xylabs/sdk-js";
426
- import { Mutex as Mutex10 } from "async-mutex";
427
- var mutex9 = new Mutex10();
428
- var singleton9;
429
- var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config }) => {
430
- return await mutex9.runExclusive(async () => {
431
- if (singleton9) return singleton9;
432
- const { root } = config.storage;
433
- singleton9 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
434
- return assertEx3(singleton9, () => new Error("Failed to initialize stake intent state archivist"));
435
- });
436
- }, "initLocalStakeIntentStateArchivist");
437
-
438
- // src/archivists/StakeIntentState/archivist.ts
439
- var mutex10 = new Mutex11();
440
- var singleton10;
441
- var initStakeIntentStateArchivist = /* @__PURE__ */ __name(async (params) => {
442
- return await mutex10.runExclusive(async () => {
443
- if (singleton10) return singleton10;
444
- return await timeBudget5("initStakeIntentStateArchivist", params.logger, async () => {
445
- const local = await startupSpanAsync5("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(params));
446
- singleton10 = local;
447
- return assertEx4(singleton10, () => "StakeIntentStateArchivist is undefined");
423
+ return assertEx5(singleton8, () => "StakeIntentStateArchivist is undefined");
448
424
  }, 2e3, true);
449
425
  });
450
426
  }, "initStakeIntentStateArchivist");
@@ -469,7 +445,8 @@ function buildTelemetryConfig(config, serviceName, serviceVersion) {
469
445
  __name(buildTelemetryConfig, "buildTelemetryConfig");
470
446
 
471
447
  // src/createDeclarationIntentBlock.ts
472
- import { buildNextBlock, createDeclarationIntent } from "@xyo-network/chain-sdk";
448
+ import { buildNextBlock } from "@xyo-network/chain-sdk";
449
+ import { createDeclarationIntent } from "@xyo-network/xl1-protocol-sdk";
473
450
  async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, range) {
474
451
  const producerDeclarationPayload = createDeclarationIntent(producerAccount.address, "producer", range[0], range[1]);
475
452
  return await buildNextBlock(prevBlock, [], [
@@ -481,19 +458,19 @@ async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, r
481
458
  __name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
482
459
 
483
460
  // src/evm/initEvmProvider.ts
484
- import { assertEx as assertEx8 } from "@xylabs/sdk-js";
461
+ import { assertEx as assertEx9 } from "@xylabs/sdk-js";
485
462
 
486
463
  // src/evm/initInfuraProvider.ts
487
- import { assertEx as assertEx6, isDefined as isDefined2 } from "@xylabs/sdk-js";
464
+ import { assertEx as assertEx7, isDefined as isDefined2 } from "@xylabs/sdk-js";
488
465
  import { InfuraProvider } from "ethers/providers";
489
466
 
490
467
  // src/evm/initChainId.ts
491
- import { assertEx as assertEx5, hexFrom, isDefined, isHex } from "@xylabs/sdk-js";
468
+ import { assertEx as assertEx6, hexFrom, isDefined, isHex } from "@xylabs/sdk-js";
492
469
  var canUseChainId = /* @__PURE__ */ __name((config) => {
493
470
  return isDefined(config.evm.chainId);
494
471
  }, "canUseChainId");
495
472
  var getChainId = /* @__PURE__ */ __name((config) => {
496
- const chainId = assertEx5(config.evm.chainId, () => "Missing config.evm.chainId");
473
+ const chainId = assertEx6(config.evm.chainId, () => "Missing config.evm.chainId");
497
474
  if (isHex(chainId, {
498
475
  prefix: true
499
476
  })) {
@@ -518,8 +495,8 @@ var canUseInfuraProvider = /* @__PURE__ */ __name((config) => {
518
495
  return canUseChainId(config) && isDefined2(config.evm?.infura?.projectId) && isDefined2(config.evm?.infura?.projectSecret);
519
496
  }, "canUseInfuraProvider");
520
497
  var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
521
- const projectId = assertEx6(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
522
- const projectSecret = assertEx6(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
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");
523
500
  return [
524
501
  getChainId(config),
525
502
  projectId,
@@ -528,7 +505,7 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
528
505
  }, "getInfuraProviderConfig");
529
506
 
530
507
  // src/evm/initJsonRpcProvider.ts
531
- import { assertEx as assertEx7, isDefined as isDefined3 } from "@xylabs/sdk-js";
508
+ import { assertEx as assertEx8, isDefined as isDefined3 } from "@xylabs/sdk-js";
532
509
  import { JsonRpcProvider } from "ethers/providers";
533
510
  var initJsonRpcProvider = /* @__PURE__ */ __name((config) => {
534
511
  const providerConfig = getJsonRpcProviderConfig(config);
@@ -538,7 +515,7 @@ var canUseJsonRpcProvider = /* @__PURE__ */ __name((config) => {
538
515
  return canUseChainId(config) && isDefined3(config.evm.jsonRpc?.url);
539
516
  }, "canUseJsonRpcProvider");
540
517
  var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config) => {
541
- const jsonRpcUrl = assertEx7(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
518
+ const jsonRpcUrl = assertEx8(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
542
519
  return [
543
520
  jsonRpcUrl,
544
521
  getChainId(config)
@@ -554,7 +531,7 @@ var initEvmProvider = /* @__PURE__ */ __name(async ({ config }) => {
554
531
  } else if (canUseJsonRpcProvider(config)) {
555
532
  provider = initJsonRpcProvider(config);
556
533
  }
557
- return assertEx8(await provider, () => "No provider available");
534
+ return assertEx9(await provider, () => "No provider available");
558
535
  }, "initEvmProvider");
559
536
  var canUseEvmProvider = /* @__PURE__ */ __name(({ config }) => {
560
537
  return canUseInfuraProvider(config) || canUseJsonRpcProvider(config);
@@ -657,7 +634,7 @@ var ServiceLifetime = {
657
634
 
658
635
  // src/init/initBalanceSummaryMap.ts
659
636
  import { BaseMongoSdk } from "@xylabs/mongo";
660
- import { assertEx as assertEx9 } from "@xylabs/sdk-js";
637
+ import { assertEx as assertEx10 } from "@xylabs/sdk-js";
661
638
  import { MongoMap } from "@xyo-network/chain-protocol";
662
639
  import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-protocol-sdk";
663
640
  async function initBalanceSummaryMap({ config, logger }) {
@@ -682,7 +659,7 @@ async function initBalanceSummaryMap({ config, logger }) {
682
659
  maxEntries: 5e3
683
660
  }
684
661
  });
685
- assertEx9(await result.start(), () => "Failed to start transfer summary map");
662
+ assertEx10(await result.start(), () => "Failed to start transfer summary map");
686
663
  return result;
687
664
  } else {
688
665
  logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
@@ -692,18 +669,18 @@ async function initBalanceSummaryMap({ config, logger }) {
692
669
  __name(initBalanceSummaryMap, "initBalanceSummaryMap");
693
670
 
694
671
  // src/init/initBridgedModule.ts
695
- import { assertEx as assertEx10 } from "@xylabs/sdk-js";
672
+ import { assertEx as assertEx11 } from "@xylabs/sdk-js";
696
673
  import { asAttachableArchivistInstance } from "@xyo-network/archivist-model";
697
674
  import { asAttachableModuleInstance } from "@xyo-network/module-model";
698
- import { Mutex as Mutex12 } from "async-mutex";
699
- var initMutex = new Mutex12();
675
+ import { Mutex as Mutex10 } from "async-mutex";
676
+ var initMutex = new Mutex10();
700
677
  var bridgedModuleDictionary = {};
701
678
  var initBridgedModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) => {
702
679
  return await initMutex.runExclusive(async () => {
703
680
  const existing = bridgedModuleDictionary?.[bridge.address]?.[moduleName];
704
681
  if (existing) return existing;
705
- const mod = assertEx10(await bridge.resolve(moduleName), () => `Could not resolve ${moduleName}`);
706
- const moduleInstance = assertEx10(asAttachableModuleInstance(mod), () => `Could not convert ${moduleName} to attachable module instance`);
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`);
707
684
  let moduleMap = bridgedModuleDictionary[bridge.address];
708
685
  if (moduleMap === void 0) {
709
686
  moduleMap = {};
@@ -714,60 +691,81 @@ var initBridgedModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) =>
714
691
  });
715
692
  }, "initBridgedModule");
716
693
  var initBridgedArchivistModule = /* @__PURE__ */ __name(async ({ bridge, moduleName }) => {
717
- return assertEx10(asAttachableArchivistInstance(await initBridgedModule({
694
+ return assertEx11(asAttachableArchivistInstance(await initBridgedModule({
718
695
  bridge,
719
696
  moduleName
720
697
  })), () => `Could not convert ${moduleName} to attachable archivist instance`);
721
698
  }, "initBridgedArchivistModule");
722
699
 
723
700
  // src/init/initChainStakeViewer.ts
724
- import { asAddress, assertEx as assertEx11, toAddress, toEthAddress } from "@xylabs/sdk-js";
725
- import { EthereumChainStakeEvents, EthereumChainStakeViewer } from "@xyo-network/chain-sdk";
701
+ import { asAddress, assertEx as assertEx12, toAddress, toEthAddress } from "@xylabs/sdk-js";
702
+ import { EthereumChainStakeEventsViewer, EthereumChainStakeViewer } from "@xyo-network/chain-sdk";
726
703
  import { StakedXyoChainV2__factory } from "@xyo-network/typechain";
727
- import { SimpleChainStakeViewer } from "@xyo-network/xl1-protocol-sdk";
728
- async function initEvmChainStakeViewer(config, logger) {
704
+ import { SimpleStakeViewer } from "@xyo-network/xl1-protocol-sdk";
705
+ async function initEvmChainStakeViewer(context, config, logger) {
729
706
  const provider2 = await initEvmProvider({
730
707
  config,
731
708
  logger
732
709
  });
733
- const contractAddress = assertEx11(config.chain.id, () => "Missing config.evm.chainId");
710
+ const contractAddress = assertEx12(config.chain.id, () => "Missing config.evm.chainId");
734
711
  const contract = StakedXyoChainV2__factory.connect(toEthAddress(contractAddress), provider2);
735
- const stakeEventsViewer = await EthereumChainStakeEvents.create({
712
+ const stakeEventsViewer = await EthereumChainStakeEventsViewer.create({
736
713
  contract,
737
- logger
714
+ logger,
715
+ context
738
716
  });
739
- assertEx11(await stakeEventsViewer.start(), () => "Failed to start EthereumChainStakeEvents reader");
717
+ assertEx12(await stakeEventsViewer.start(), () => "Failed to start EthereumChainStakeEvents reader");
740
718
  const stakeChainViewer = await EthereumChainStakeViewer.create({
741
719
  contract,
742
720
  stakeEventsViewer,
743
- logger
721
+ logger,
722
+ context
744
723
  });
745
- assertEx11(await stakeChainViewer.start(), () => "Failed to start EthereumChainStake viewer");
724
+ assertEx12(await stakeChainViewer.start(), () => "Failed to start EthereumChainStake viewer");
746
725
  return stakeChainViewer;
747
726
  }
748
727
  __name(initEvmChainStakeViewer, "initEvmChainStakeViewer");
749
- async function initSimpleStakeViewer(config, logger) {
750
- const stakeChainViewer = await SimpleChainStakeViewer.create({
728
+ async function initSimpleStakeViewer(context, config, logger) {
729
+ const stakeViewer = await SimpleStakeViewer.create({
730
+ context,
751
731
  chainId: asAddress(toAddress(1n), true),
752
732
  logger,
753
733
  positions: []
754
734
  });
755
- assertEx11(await stakeChainViewer.start(), () => "Failed to start SimpleChainStake viewer");
756
- return stakeChainViewer;
735
+ assertEx12(await stakeViewer.start(), () => "Failed to start SimpleChainStake viewer");
736
+ return stakeViewer;
757
737
  }
758
738
  __name(initSimpleStakeViewer, "initSimpleStakeViewer");
759
- async function initStakeViewer({ config, logger }) {
739
+ async function initStakeViewer({ config, logger, context }) {
760
740
  if (canUseEvmProvider({
761
741
  config
762
742
  })) {
763
- return await initEvmChainStakeViewer(config, logger);
743
+ return await initEvmChainStakeViewer(context, config, logger);
764
744
  } else {
765
745
  console.warn("[API] Infura configuration not found. Using SimpleChainStakeViewer with no positions. This means no staking data will be available.");
766
- return await initSimpleStakeViewer(config, logger);
746
+ return await initSimpleStakeViewer(context, config, logger);
767
747
  }
768
748
  }
769
749
  __name(initStakeViewer, "initStakeViewer");
770
750
 
751
+ // src/init/initFinalizedArchivist.ts
752
+ import { MongoDBArchivistV2 } from "@xyo-network/archivist-mongodb";
753
+ async function initMongoFinalizedArchivist(config) {
754
+ const payloadSdkConfig = {
755
+ ...config.storage.mongo,
756
+ collection: "chain_validated"
757
+ };
758
+ return await MongoDBArchivistV2.create({
759
+ payloadSdkConfig
760
+ });
761
+ }
762
+ __name(initMongoFinalizedArchivist, "initMongoFinalizedArchivist");
763
+ async function initFinalizedArchivist(config) {
764
+ const finalizedArchivist = await initMongoFinalizedArchivist(config);
765
+ return finalizedArchivist;
766
+ }
767
+ __name(initFinalizedArchivist, "initFinalizedArchivist");
768
+
771
769
  // src/init/initProducerAccount.ts
772
770
  import { isUndefined } from "@xylabs/sdk-js";
773
771
  import { HDWallet } from "@xyo-network/wallet";
@@ -793,7 +791,7 @@ ${randomMnemonic}
793
791
  }, "initProducerAccount");
794
792
 
795
793
  // src/init/initSeedPhrase.ts
796
- import { assertEx as assertEx12, isString } from "@xylabs/sdk-js";
794
+ import { assertEx as assertEx13, isString } from "@xylabs/sdk-js";
797
795
  import { HDWallet as HDWallet2 } from "@xyo-network/wallet";
798
796
  async function initSeedPhrase({ config, logger, bios }) {
799
797
  const storedSeedPhrase = await bios.seedPhraseStore.get("os");
@@ -813,18 +811,18 @@ async function initSeedPhrase({ config, logger, bios }) {
813
811
  }
814
812
  await bios.seedPhraseStore.set("os", seedPhrase);
815
813
  }
816
- return assertEx12(await bios.seedPhraseStore.get("os"), () => "Unable to acquire mnemonic from bios");
814
+ return assertEx13(await bios.seedPhraseStore.get("os"), () => "Unable to acquire mnemonic from bios");
817
815
  }
818
816
  __name(initSeedPhrase, "initSeedPhrase");
819
817
 
820
818
  // src/init/initServerNode.ts
821
- import { assertEx as assertEx13 } from "@xylabs/sdk-js";
819
+ import { assertEx as assertEx14 } from "@xylabs/sdk-js";
822
820
  import { asArchivistInstance } from "@xyo-network/archivist-model";
823
821
 
824
822
  // src/manifest/getLocator.ts
825
823
  import { isDefined as isDefined5 } from "@xylabs/sdk-js";
826
824
  import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
827
- import { MongoDBArchivistV2 } from "@xyo-network/archivist-mongodb";
825
+ import { MongoDBArchivistV2 as MongoDBArchivistV22 } from "@xyo-network/archivist-mongodb";
828
826
  import { ViewArchivist } from "@xyo-network/archivist-view";
829
827
  import { initTelemetry } from "@xyo-network/chain-telemetry";
830
828
  import { AbstractModule, LoggerModuleStatusReporter } from "@xyo-network/module-abstract";
@@ -864,7 +862,7 @@ var getLocator = /* @__PURE__ */ __name(async ({ config, logger }) => {
864
862
  statusReporter,
865
863
  traceProvider
866
864
  };
867
- locator.register(MongoDBArchivistV2.factory(params), void 0, true);
865
+ locator.register(MongoDBArchivistV22.factory(params), void 0, true);
868
866
  }
869
867
  locator.register(MemoryArchivist2.factory({
870
868
  traceProvider,
@@ -1046,7 +1044,7 @@ async function writableChainArchivistFromNode(node) {
1046
1044
  }
1047
1045
  __name(writableChainArchivistFromNode, "writableChainArchivistFromNode");
1048
1046
  async function readonlyChainArchivistFromNode(node) {
1049
- return assertEx13(asArchivistInstance(await node.resolve("Chain:Validated"), {
1047
+ return assertEx14(asArchivistInstance(await node.resolve("Chain:Validated"), {
1050
1048
  required: true
1051
1049
  }));
1052
1050
  }
@@ -1071,6 +1069,7 @@ async function initServerNode({ wallet, logger, config, node: providedNode, tran
1071
1069
  transfersSummaryMap,
1072
1070
  balancesSummaryMap
1073
1071
  });
1072
+ assertEx14(await node.start(), () => "Failed to start node");
1074
1073
  const writableChainArchivist = await writableChainArchivistFromNode(node);
1075
1074
  const readonlyChainArchivist = await readonlyChainArchivistFromNode(node);
1076
1075
  const pendingTransactionsArchivist = await pendingTransactionsArchivistFromNode(node);
@@ -1101,97 +1100,8 @@ async function initServerWallet({ config, logger }) {
1101
1100
  }
1102
1101
  __name(initServerWallet, "initServerWallet");
1103
1102
 
1104
- // src/status/ServiceStatus.ts
1105
- var LoggerStatusReporter = class {
1106
- static {
1107
- __name(this, "LoggerStatusReporter");
1108
- }
1109
- logger;
1110
- statusMap = {};
1111
- constructor(logger) {
1112
- this.logger = logger;
1113
- }
1114
- report(name, status, progress) {
1115
- this.statusMap[name] = status;
1116
- const starting = Object.entries(this.statusMap).map(([, value]) => value === "starting" ? 1 : 0).reduce((a, b) => a + b, 0);
1117
- const started = Object.entries(this.statusMap).map(([, value]) => value === "started" ? 1 : 0).reduce((a, b) => a + b, 0);
1118
- this.logger.info(`${started}/${starting + started} ${name} status: ${status}`, {
1119
- progress
1120
- });
1121
- }
1122
- };
1123
-
1124
- // src/status/RuntimeStatusMonitor.ts
1125
- var statusPriority = {
1126
- error: 0,
1127
- stopped: 1,
1128
- stopping: 2,
1129
- creating: 3,
1130
- created: 4,
1131
- starting: 5,
1132
- started: 6
1133
- };
1134
- var SENTINEL_STATUS = "starting";
1135
- var reduceToMinimumStatus = /* @__PURE__ */ __name((statuses) => {
1136
- let minStatus = SENTINEL_STATUS;
1137
- let minPriority = Infinity;
1138
- for (const status of statuses) {
1139
- const priority = statusPriority[status];
1140
- if (priority < minPriority) {
1141
- minPriority = priority;
1142
- minStatus = status;
1143
- }
1144
- }
1145
- return minStatus;
1146
- }, "reduceToMinimumStatus");
1147
- var RuntimeStatusMonitor = class extends LoggerStatusReporter {
1148
- static {
1149
- __name(this, "RuntimeStatusMonitor");
1150
- }
1151
- globalTransitions = [];
1152
- transitions = [];
1153
- getGlobalStatus() {
1154
- if (Object.keys(this.statusMap).length === 0) return SENTINEL_STATUS;
1155
- return reduceToMinimumStatus(Object.values(this.statusMap));
1156
- }
1157
- getStatus(name) {
1158
- return this.statusMap[name];
1159
- }
1160
- onGlobalTransition(match, handler) {
1161
- this.globalTransitions.push({
1162
- ...match,
1163
- handler
1164
- });
1165
- }
1166
- /**
1167
- * Register a callback to be called on a specific transition.
1168
- */
1169
- onTransition(match, handler) {
1170
- this.transitions.push({
1171
- ...match,
1172
- handler
1173
- });
1174
- }
1175
- report(name, status, progress) {
1176
- const previous = this.statusMap[name];
1177
- const previousGlobal = this.getGlobalStatus();
1178
- super.report(name, status, progress);
1179
- if (previous === status) return;
1180
- this.runTransitions(this.transitions, previous, status, name);
1181
- const globalStatus = this.getGlobalStatus();
1182
- if (previousGlobal === globalStatus) return;
1183
- this.runTransitions(this.globalTransitions, previousGlobal, globalStatus);
1184
- }
1185
- runTransitions(transitions, prev, next, name) {
1186
- for (const { from, to, name: matchName, handler } of transitions) {
1187
- if ((matchName === void 0 || matchName === name) && (from === void 0 || from === prev) && (to === void 0 || to === next)) {
1188
- handler(prev, next);
1189
- }
1190
- }
1191
- }
1192
- };
1193
-
1194
1103
  // src/init/initStatusReporter.ts
1104
+ import { RuntimeStatusMonitor } from "@xyo-network/xl1-protocol-sdk";
1195
1105
  function initStatusReporter({ logger }) {
1196
1106
  const statusReporter = new RuntimeStatusMonitor(logger);
1197
1107
  statusReporter.onGlobalTransition({
@@ -1211,7 +1121,7 @@ __name(initStatusReporter, "initStatusReporter");
1211
1121
 
1212
1122
  // src/init/initTransferSummaryMap.ts
1213
1123
  import { BaseMongoSdk as BaseMongoSdk2 } from "@xylabs/mongo";
1214
- import { assertEx as assertEx14 } from "@xylabs/sdk-js";
1124
+ import { assertEx as assertEx15 } from "@xylabs/sdk-js";
1215
1125
  import { MongoMap as MongoMap2 } from "@xyo-network/chain-protocol";
1216
1126
  import { hasMongoConfig as hasMongoConfig3, MemoryMap as MemoryMap2 } from "@xyo-network/xl1-protocol-sdk";
1217
1127
  async function initTransferSummaryMap({ config, logger }) {
@@ -1236,7 +1146,7 @@ async function initTransferSummaryMap({ config, logger }) {
1236
1146
  maxEntries: 5e3
1237
1147
  }
1238
1148
  });
1239
- assertEx14(await result.start(), () => "Failed to start transfer summary map");
1149
+ assertEx15(await result.start(), () => "Failed to start transfer summary map");
1240
1150
  return result;
1241
1151
  } else {
1242
1152
  logger?.warn("[API] Mongo configuration not found. Using MemoryMap for TransferSummaryMap.");
@@ -1245,34 +1155,6 @@ async function initTransferSummaryMap({ config, logger }) {
1245
1155
  }
1246
1156
  __name(initTransferSummaryMap, "initTransferSummaryMap");
1247
1157
 
1248
- // src/init/iterator.ts
1249
- import { BaseElectionService, ChainBlockNumberIterationService, XyoStakeIntentService } from "@xyo-network/chain-services";
1250
- import { timeBudget as timeBudget6 } from "@xyo-network/xl1-protocol-sdk";
1251
- var chainIteratorServiceSingleton;
1252
- var stakeIntentServiceSingleton;
1253
- var electionServiceSingleton;
1254
- var initChainIterator = /* @__PURE__ */ __name((params) => {
1255
- if (chainIteratorServiceSingleton) return chainIteratorServiceSingleton;
1256
- return timeBudget6("initChainIterator", params.logger, () => {
1257
- chainIteratorServiceSingleton = ChainBlockNumberIterationService.create(params);
1258
- return chainIteratorServiceSingleton;
1259
- }, 2e3, true);
1260
- }, "initChainIterator");
1261
- var initStakeIntentService = /* @__PURE__ */ __name((params) => {
1262
- if (stakeIntentServiceSingleton) return stakeIntentServiceSingleton;
1263
- return timeBudget6("initStakeIntentService", params.logger, () => {
1264
- stakeIntentServiceSingleton = XyoStakeIntentService.create(params);
1265
- return stakeIntentServiceSingleton;
1266
- }, 2e3, true);
1267
- }, "initStakeIntentService");
1268
- var initElectionService = /* @__PURE__ */ __name((params) => {
1269
- if (electionServiceSingleton) return electionServiceSingleton;
1270
- return timeBudget6("initElectionService", params.logger, () => {
1271
- electionServiceSingleton = BaseElectionService.create(params);
1272
- return electionServiceSingleton;
1273
- }, 2e3, true);
1274
- }, "initElectionService");
1275
-
1276
1158
  // src/orchestrator/Orchestrator.ts
1277
1159
  import { AbstractCreatable as AbstractCreatable2, creatable as creatable3 } from "@xylabs/sdk-js";
1278
1160
  function _ts_decorate3(decorators, target, key, desc) {
@@ -1342,12 +1224,10 @@ export {
1342
1224
  BalanceActor,
1343
1225
  DefaultServiceProvider,
1344
1226
  GenericHost,
1345
- LoggerStatusReporter,
1346
1227
  NodeManifest,
1347
1228
  Orchestrator,
1348
1229
  PrivateChildManifests,
1349
1230
  PublicChildManifests,
1350
- RuntimeStatusMonitor,
1351
1231
  ServiceLifetime,
1352
1232
  ValidatorActor,
1353
1233
  buildTelemetryConfig,
@@ -1358,20 +1238,17 @@ export {
1358
1238
  initBridgedArchivistModule,
1359
1239
  initBridgedModule,
1360
1240
  initChainFinalizedArchivist,
1361
- initChainIterator,
1362
- initElectionService,
1363
1241
  initEvmChainStakeViewer,
1364
1242
  initEvmProvider,
1243
+ initFinalizedArchivist,
1365
1244
  initHealthEndpoints,
1366
1245
  initPendingBlocksArchivist,
1367
- initPendingTransactionsArchivist,
1368
1246
  initProducerAccount,
1369
1247
  initRejectedTransactionsArchivist,
1370
1248
  initSeedPhrase,
1371
1249
  initServerNode,
1372
1250
  initServerWallet,
1373
1251
  initSimpleStakeViewer,
1374
- initStakeIntentService,
1375
1252
  initStakeIntentStateArchivist,
1376
1253
  initStakeViewer,
1377
1254
  initStatusReporter,