@xyo-network/chain-services 1.18.0 → 1.18.2

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 (99) hide show
  1. package/dist/neutral/AccountBalance/accountBalanceServiceFromArchivist.d.ts +1 -2
  2. package/dist/neutral/AccountBalance/accountBalanceServiceFromArchivist.d.ts.map +1 -1
  3. package/dist/neutral/BlockReward/EvmBlockRewardViewer.d.ts +1 -2
  4. package/dist/neutral/BlockReward/EvmBlockRewardViewer.d.ts.map +1 -1
  5. package/dist/neutral/ChainValidator/XyoValidator.d.ts +8 -8
  6. package/dist/neutral/ChainValidator/XyoValidator.d.ts.map +1 -1
  7. package/dist/neutral/ChainValidator/model/Validator.d.ts +1 -1
  8. package/dist/neutral/ChainValidator/model/Validator.d.ts.map +1 -1
  9. package/dist/neutral/Election/BaseElectionService.d.ts +8 -5
  10. package/dist/neutral/Election/BaseElectionService.d.ts.map +1 -1
  11. package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +16 -17
  12. package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
  13. package/dist/neutral/PendingTransactions/BasePendingTransactions.d.ts +3 -4
  14. package/dist/neutral/PendingTransactions/BasePendingTransactions.d.ts.map +1 -1
  15. package/dist/neutral/PendingTransactions/bundledPayloadToHydratedTransaction.d.ts +1 -1
  16. package/dist/neutral/PendingTransactions/bundledPayloadToHydratedTransaction.d.ts.map +1 -1
  17. package/dist/neutral/PendingTransactions/hydratedTransactionToPayloadBundle.d.ts +1 -1
  18. package/dist/neutral/PendingTransactions/hydratedTransactionToPayloadBundle.d.ts.map +1 -1
  19. package/dist/neutral/Schemas/BaseSchemasService.d.ts +6 -3
  20. package/dist/neutral/Schemas/BaseSchemasService.d.ts.map +1 -1
  21. package/dist/neutral/StakeIntent/XyoStakeIntentService.d.ts +13 -6
  22. package/dist/neutral/StakeIntent/XyoStakeIntentService.d.ts.map +1 -1
  23. package/dist/neutral/StakeIntent/lib/getBlockSignedStakeDeclarations.d.ts +1 -1
  24. package/dist/neutral/StakeIntent/lib/getBlockSignedStakeDeclarations.d.ts.map +1 -1
  25. package/dist/neutral/StepStake/BaseStepStakeService.d.ts +6 -7
  26. package/dist/neutral/StepStake/BaseStepStakeService.d.ts.map +1 -1
  27. package/dist/neutral/blockViewerFromChainIteratorAndArchivist.d.ts +1 -1
  28. package/dist/neutral/blockViewerFromChainIteratorAndArchivist.d.ts.map +1 -1
  29. package/dist/neutral/implementation/evm/initChainId.d.ts +1 -1
  30. package/dist/neutral/implementation/evm/initChainId.d.ts.map +1 -1
  31. package/dist/neutral/implementation/evm/initEvmProvider.d.ts +1 -1
  32. package/dist/neutral/implementation/evm/initEvmProvider.d.ts.map +1 -1
  33. package/dist/neutral/implementation/evm/initInfuraProvider.d.ts +1 -1
  34. package/dist/neutral/implementation/evm/initInfuraProvider.d.ts.map +1 -1
  35. package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts +1 -1
  36. package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts.map +1 -1
  37. package/dist/neutral/implementation/head/createBootstrapHead.d.ts +1 -1
  38. package/dist/neutral/implementation/head/createBootstrapHead.d.ts.map +1 -1
  39. package/dist/neutral/implementation/index.d.ts +0 -1
  40. package/dist/neutral/implementation/index.d.ts.map +1 -1
  41. package/dist/neutral/index.d.ts +0 -2
  42. package/dist/neutral/index.d.ts.map +1 -1
  43. package/dist/neutral/index.mjs +180 -415
  44. package/dist/neutral/index.mjs.map +1 -1
  45. package/dist/neutral/model/Params.d.ts +1 -2
  46. package/dist/neutral/model/Params.d.ts.map +1 -1
  47. package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts +34 -20
  48. package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  49. package/dist/neutral/simple/block/runner/generateTransactionFeeTransfers.d.ts +1 -1
  50. package/dist/neutral/simple/block/runner/generateTransactionFeeTransfers.d.ts.map +1 -1
  51. package/package.json +29 -32
  52. package/src/AccountBalance/accountBalanceServiceFromArchivist.ts +12 -9
  53. package/src/BlockReward/EvmBlockRewardViewer.ts +5 -7
  54. package/src/ChainValidator/XyoValidator.ts +9 -14
  55. package/src/ChainValidator/model/Validator.ts +1 -1
  56. package/src/Election/BaseElectionService.ts +15 -10
  57. package/src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts +24 -24
  58. package/src/PendingTransactions/BasePendingTransactions.ts +14 -14
  59. package/src/PendingTransactions/bundledPayloadToHydratedTransaction.ts +2 -2
  60. package/src/PendingTransactions/hydratedTransactionToPayloadBundle.ts +2 -2
  61. package/src/Schemas/BaseSchemasService.ts +12 -9
  62. package/src/StakeIntent/XyoStakeIntentService.ts +32 -29
  63. package/src/StakeIntent/lib/getBlockSignedStakeDeclarations.ts +2 -2
  64. package/src/StepStake/BaseStepStakeService.ts +7 -11
  65. package/src/blockViewerFromChainIteratorAndArchivist.ts +14 -4
  66. package/src/implementation/evm/initChainId.ts +1 -1
  67. package/src/implementation/evm/initEvmProvider.ts +1 -1
  68. package/src/implementation/evm/initInfuraProvider.ts +1 -1
  69. package/src/implementation/evm/initJsonRpcProvider.ts +1 -1
  70. package/src/implementation/head/createBootstrapHead.ts +2 -2
  71. package/src/implementation/index.ts +0 -1
  72. package/src/index.ts +0 -2
  73. package/src/model/Params.ts +1 -2
  74. package/src/simple/block/runner/SimpleBlockRunner.ts +39 -36
  75. package/src/simple/block/runner/generateTransactionFeeTransfers.ts +5 -4
  76. package/dist/neutral/BaseService.d.ts +0 -19
  77. package/dist/neutral/BaseService.d.ts.map +0 -1
  78. package/dist/neutral/ChainService/Evm/Evm.d.ts +0 -39
  79. package/dist/neutral/ChainService/Evm/Evm.d.ts.map +0 -1
  80. package/dist/neutral/ChainService/Evm/index.d.ts +0 -2
  81. package/dist/neutral/ChainService/Evm/index.d.ts.map +0 -1
  82. package/dist/neutral/ChainService/Memory/Memory.d.ts +0 -38
  83. package/dist/neutral/ChainService/Memory/Memory.d.ts.map +0 -1
  84. package/dist/neutral/ChainService/Memory/index.d.ts +0 -2
  85. package/dist/neutral/ChainService/Memory/index.d.ts.map +0 -1
  86. package/dist/neutral/ChainService/index.d.ts +0 -3
  87. package/dist/neutral/ChainService/index.d.ts.map +0 -1
  88. package/dist/neutral/implementation/chain/evm.d.ts +0 -7
  89. package/dist/neutral/implementation/chain/evm.d.ts.map +0 -1
  90. package/dist/neutral/implementation/chain/index.d.ts +0 -6
  91. package/dist/neutral/implementation/chain/index.d.ts.map +0 -1
  92. package/src/BaseService.ts +0 -45
  93. package/src/ChainService/Evm/Evm.ts +0 -105
  94. package/src/ChainService/Evm/index.ts +0 -1
  95. package/src/ChainService/Memory/Memory.ts +0 -106
  96. package/src/ChainService/Memory/index.ts +0 -1
  97. package/src/ChainService/index.ts +0 -2
  98. package/src/implementation/chain/evm.ts +0 -39
  99. package/src/implementation/chain/index.ts +0 -44
@@ -3,8 +3,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
3
3
 
4
4
  // src/AccountBalance/accountBalanceServiceFromArchivist.ts
5
5
  import { assertEx } from "@xylabs/sdk-js";
6
- import { StepSizes } from "@xyo-network/xl1-protocol";
7
- import { findMostRecentBlock, LruCacheMap, payloadMapFromStore, SimpleAccountBalanceViewer } from "@xyo-network/xl1-protocol-sdk";
6
+ import { findMostRecentBlock, LruCacheMap, payloadMapFromStore, SimpleAccountBalanceViewer, StepSizes } from "@xyo-network/xl1-sdk";
8
7
  import { Semaphore } from "async-mutex";
9
8
  var accountBalancesViewerFromArchivist = /* @__PURE__ */ __name(async (context, chainId, archivist) => {
10
9
  const summaryMap = new LruCacheMap({
@@ -37,7 +36,8 @@ var accountBalancesViewerFromArchivist = /* @__PURE__ */ __name(async (context,
37
36
  stepSemaphores: StepSizes.map(() => new Semaphore(20)),
38
37
  summaryMap,
39
38
  head: headFunc,
40
- singletons: context.singletons
39
+ singletons: context.singletons,
40
+ caches: context.caches
41
41
  },
42
42
  transfersSummaryContext: {
43
43
  chainId,
@@ -47,16 +47,17 @@ var accountBalancesViewerFromArchivist = /* @__PURE__ */ __name(async (context,
47
47
  stepSemaphores: StepSizes.map(() => new Semaphore(20)),
48
48
  summaryMap: transferSummaryMap,
49
49
  head: headFunc,
50
- singletons: context.singletons
50
+ singletons: context.singletons,
51
+ caches: context.caches
51
52
  }
52
53
  });
53
54
  return service;
54
55
  }, "accountBalancesViewerFromArchivist");
55
56
 
56
- // src/BaseService.ts
57
- import { creatable } from "@xylabs/sdk-js";
58
- import { AbstractCreatableProvider } from "@xyo-network/xl1-protocol-sdk";
59
- import { Mutex } from "async-mutex";
57
+ // src/BlockReward/EvmBlockRewardViewer.ts
58
+ import { AbstractCreatable, assertEx as assertEx2, creatable, toEthAddress } from "@xylabs/sdk-js";
59
+ import { IXyoChainRewards__factory } from "@xyo-network/typechain";
60
+ import { asAttoXL1, BlockRewardViewerMoniker } from "@xyo-network/xl1-sdk";
60
61
  function _ts_decorate(decorators, target, key, desc) {
61
62
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
62
63
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -64,48 +65,6 @@ function _ts_decorate(decorators, target, key, desc) {
64
65
  return c > 3 && r && Object.defineProperty(target, key, r), r;
65
66
  }
66
67
  __name(_ts_decorate, "_ts_decorate");
67
- var BaseService = class extends AbstractCreatableProvider {
68
- static {
69
- __name(this, "BaseService");
70
- }
71
- static singletonInitMutex = new Mutex();
72
- static get singletons() {
73
- return globalThis["xyoServiceSingletons"] ?? (globalThis["xyoServiceSingletons"] = {});
74
- }
75
- static initSingleton(params) {
76
- if (this.singletons[this.name]) throw new Error(`Singleton already initialized for ${this.name}`);
77
- return this.singletonInitMutex.runExclusive(async () => {
78
- return await this.create(params);
79
- });
80
- }
81
- };
82
- BaseService = _ts_decorate([
83
- creatable()
84
- ], BaseService);
85
- var BaseAccountableService = class extends BaseService {
86
- static {
87
- __name(this, "BaseAccountableService");
88
- }
89
- };
90
- function creatableService() {
91
- return (constructor) => {
92
- constructor;
93
- };
94
- }
95
- __name(creatableService, "creatableService");
96
-
97
- // src/BlockReward/EvmBlockRewardViewer.ts
98
- import { AbstractCreatable, assertEx as assertEx2, creatable as creatable2, toEthAddress } from "@xylabs/sdk-js";
99
- import { XyoChainRewards__factory as XyoChainRewardsFactory } from "@xyo-network/typechain";
100
- import { asAttoXL1 } from "@xyo-network/xl1-protocol";
101
- import { BlockRewardViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
102
- function _ts_decorate2(decorators, target, key, desc) {
103
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
104
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
105
- 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;
106
- return c > 3 && r && Object.defineProperty(target, key, r), r;
107
- }
108
- __name(_ts_decorate2, "_ts_decorate");
109
68
  var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable {
110
69
  static {
111
70
  __name(this, "EvmBlockRewardViewer");
@@ -126,7 +85,7 @@ var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable
126
85
  return assertEx2(this.params.provider, () => "provider is required");
127
86
  }
128
87
  async allowedRewardForBlock(blockNumber) {
129
- const contract = XyoChainRewardsFactory.connect(toEthAddress(this.contractAddress), this.provider);
88
+ const contract = IXyoChainRewards__factory.connect(toEthAddress(this.contractAddress), this.provider);
130
89
  return asAttoXL1(await contract.calcBlockReward(blockNumber));
131
90
  }
132
91
  async createHandler() {
@@ -139,15 +98,14 @@ var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable
139
98
  }
140
99
  }
141
100
  };
142
- EvmBlockRewardViewer = _ts_decorate2([
143
- creatable2()
101
+ EvmBlockRewardViewer = _ts_decorate([
102
+ creatable()
144
103
  ], EvmBlockRewardViewer);
145
104
 
146
105
  // src/blockViewerFromChainIteratorAndArchivist.ts
147
106
  import { isDefined } from "@xylabs/sdk-js";
148
107
  import { PayloadBuilder } from "@xyo-network/payload-builder";
149
- import { asSignedBlockBoundWitness, asSignedBlockBoundWitnessWithStorageMeta } from "@xyo-network/xl1-protocol";
150
- import { BlockViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
108
+ import { asSignedBlockBoundWitness, asSignedBlockBoundWitnessWithStorageMeta, BlockViewerMoniker } from "@xyo-network/xl1-sdk";
151
109
  function blockViewerFromChainIteratorAndArchivist(chainIterator, chainArchivist) {
152
110
  const result = {
153
111
  blockByHash: /* @__PURE__ */ __name(async function(hash) {
@@ -225,176 +183,28 @@ function blockViewerFromChainIteratorAndArchivist(chainIterator, chainArchivist)
225
183
  }, "payloadByHash"),
226
184
  payloadsByHash: /* @__PURE__ */ __name(function(_hashes) {
227
185
  throw new Error("Function not implemented.");
228
- }, "payloadsByHash")
186
+ }, "payloadsByHash"),
187
+ rate(..._args) {
188
+ throw new Error("Function not implemented.");
189
+ },
190
+ stepSizeRate(..._args) {
191
+ throw new Error("Function not implemented.");
192
+ },
193
+ timeDurationRate(..._args) {
194
+ throw new Error("Function not implemented.");
195
+ }
229
196
  };
230
197
  return result;
231
198
  }
232
199
  __name(blockViewerFromChainIteratorAndArchivist, "blockViewerFromChainIteratorAndArchivist");
233
200
 
234
- // src/ChainService/Evm/Evm.ts
235
- import { toAddress, toEthAddress as toEthAddress2 } from "@xylabs/sdk-js";
236
- import { ChainContractViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
237
- import { getAddress } from "ethers/address";
238
- var EvmChainViewer = class _EvmChainViewer extends BaseService {
239
- static {
240
- __name(this, "EvmChainViewer");
241
- }
242
- static defaultMoniker = ChainContractViewerMoniker;
243
- static monikers = [
244
- ChainContractViewerMoniker
245
- ];
246
- moniker = _EvmChainViewer.defaultMoniker;
247
- get contract() {
248
- return this.params.contract;
249
- }
250
- async active() {
251
- return await this.contract.active();
252
- }
253
- async activeByStaked(staked) {
254
- return await this.contract.activeByAddressStaked(getAddress(toEthAddress2(staked)));
255
- }
256
- async activeByStaker(address) {
257
- return await this.contract.activeByStaker(getAddress(toEthAddress2(address)));
258
- }
259
- async addStake(staked, amount) {
260
- const result = await this.contract.addStake(getAddress(toEthAddress2(staked)), amount);
261
- await result.wait();
262
- return true;
263
- }
264
- async forkedAtBlockNumber() {
265
- return await this.contract.forkedAtBlockNumber();
266
- }
267
- async forkedAtHash() {
268
- return await this.contract.forkedAtHash();
269
- }
270
- async forkedChainId() {
271
- return toAddress(await this.contract.forkedChainId());
272
- }
273
- async minWithdrawalBlocks() {
274
- return await this.contract.minWithdrawalBlocks();
275
- }
276
- async pending() {
277
- return await this.contract.pending();
278
- }
279
- async pendingByStaker(staker) {
280
- return await this.contract.pendingByStaker(getAddress(toEthAddress2(staker)));
281
- }
282
- async removeStake(slot) {
283
- const result = await this.contract.removeStake(slot);
284
- await result.wait();
285
- return true;
286
- }
287
- rewardForBlock(_block) {
288
- throw new Error("Method not implemented.");
289
- }
290
- async rewardsContract() {
291
- return await this.contract.rewardsContract();
292
- }
293
- async stakingTokenAddress() {
294
- return await this.contract.stakingTokenAddress();
295
- }
296
- async withdrawStake(slot) {
297
- const result = await this.contract.withdrawStake(slot);
298
- await result.wait();
299
- return true;
300
- }
301
- async withdrawn() {
302
- return await this.contract.withdrawn();
303
- }
304
- async withdrawnByStaker(staker) {
305
- return await this.contract.withdrawnByStaker(getAddress(staker));
306
- }
307
- };
308
-
309
- // src/ChainService/Memory/Memory.ts
310
- import { toAddress as toAddress2, ZERO_ADDRESS } from "@xylabs/sdk-js";
311
- import { ChainContractViewerMoniker as ChainContractViewerMoniker2 } from "@xyo-network/xl1-protocol-sdk";
312
- var MemoryChainViewer = class _MemoryChainViewer extends BaseService {
313
- static {
314
- __name(this, "MemoryChainViewer");
315
- }
316
- static defaultMoniker = ChainContractViewerMoniker2;
317
- static monikers = [
318
- ChainContractViewerMoniker2
319
- ];
320
- moniker = _MemoryChainViewer.defaultMoniker;
321
- _chainId;
322
- _simulatedStake = 1n;
323
- async active() {
324
- return await Promise.resolve(this._simulatedStake);
325
- }
326
- async activeByStaked(_staked) {
327
- return await Promise.resolve(this._simulatedStake);
328
- }
329
- async activeByStaker(_address) {
330
- return await Promise.resolve(this._simulatedStake);
331
- }
332
- async addStake(_staked, _amount) {
333
- return await Promise.resolve(true);
334
- }
335
- createHandler() {
336
- const { minStake = 1 } = this.params.context.config.producer ?? {};
337
- this._simulatedStake = BigInt(minStake);
338
- }
339
- async forkedAtBlockNumber() {
340
- return await Promise.resolve(0n);
341
- }
342
- async forkedAtHash() {
343
- return await Promise.resolve(0n);
344
- }
345
- async forkedChainId() {
346
- return await Promise.resolve(ZERO_ADDRESS);
347
- }
348
- async minWithdrawalBlocks() {
349
- return await Promise.resolve(1n);
350
- }
351
- async pending() {
352
- return await Promise.resolve(0n);
353
- }
354
- async pendingByStaker(_staker) {
355
- return await Promise.resolve(0n);
356
- }
357
- async removeStake(_slot) {
358
- return await Promise.resolve(true);
359
- }
360
- rewardForBlock(_block) {
361
- throw new Error("Method not implemented.");
362
- }
363
- async rewardsContract() {
364
- return await Promise.resolve("");
365
- }
366
- async stakingTokenAddress() {
367
- return await Promise.resolve("");
368
- }
369
- async withdrawStake(_slot) {
370
- return await Promise.resolve(true);
371
- }
372
- async withdrawn() {
373
- return await Promise.resolve(0n);
374
- }
375
- async withdrawnByStaker(_staker) {
376
- return await Promise.resolve(0n);
377
- }
378
- async startHandler() {
379
- await super.startHandler();
380
- this._chainId = this.params.chainId ?? toAddress2(1n);
381
- }
382
- };
383
-
384
201
  // src/ChainValidator/XyoValidator.ts
385
- import { creatable as creatable3 } from "@xylabs/sdk-js";
386
- import { BlockViewerMoniker as BlockViewerMoniker2 } from "@xyo-network/xl1-protocol-sdk";
387
- function _ts_decorate3(decorators, target, key, desc) {
388
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
389
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
390
- 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;
391
- return c > 3 && r && Object.defineProperty(target, key, r), r;
392
- }
393
- __name(_ts_decorate3, "_ts_decorate");
394
- var XyoValidator = class extends BaseService {
202
+ import { AbstractCreatableProvider, BlockViewerMoniker as BlockViewerMoniker2 } from "@xyo-network/xl1-sdk";
203
+ var XyoValidator = class extends AbstractCreatableProvider {
395
204
  static {
396
205
  __name(this, "XyoValidator");
397
206
  }
207
+ moniker = "Validator";
398
208
  _blockViewer;
399
209
  // get address() {
400
210
  // return this.account.address
@@ -430,24 +240,28 @@ var XyoValidator = class extends BaseService {
430
240
  return await Promise.resolve(true);
431
241
  }
432
242
  };
433
- XyoValidator = _ts_decorate3([
434
- creatable3()
435
- ], XyoValidator);
436
243
 
437
244
  // src/Election/BaseElectionService.ts
438
- import { assertEx as assertEx3, creatable as creatable4 } from "@xylabs/sdk-js";
245
+ import { assertEx as assertEx3 } from "@xylabs/sdk-js";
439
246
  import { hexToLast4BytesInt, shuffleWithSeed } from "@xyo-network/chain-utils";
440
- function _ts_decorate4(decorators, target, key, desc) {
247
+ import { AbstractCreatableProvider as AbstractCreatableProvider2, creatableProvider } from "@xyo-network/xl1-sdk";
248
+ function _ts_decorate2(decorators, target, key, desc) {
441
249
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
442
250
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
443
251
  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;
444
252
  return c > 3 && r && Object.defineProperty(target, key, r), r;
445
253
  }
446
- __name(_ts_decorate4, "_ts_decorate");
447
- var BaseElectionService = class extends BaseService {
254
+ __name(_ts_decorate2, "_ts_decorate");
255
+ var BaseElectionService = class _BaseElectionService extends AbstractCreatableProvider2 {
448
256
  static {
449
257
  __name(this, "BaseElectionService");
450
258
  }
259
+ static defaultMoniker = "Election";
260
+ static dependencies = [];
261
+ static monikers = [
262
+ "Election"
263
+ ];
264
+ moniker = _BaseElectionService.defaultMoniker;
451
265
  get blockViewer() {
452
266
  return assertEx3(this.params.blockViewer, () => "No block viewer");
453
267
  }
@@ -463,6 +277,8 @@ var BaseElectionService = class extends BaseService {
463
277
  const candidates = await this.stakeIntentService.getDeclaredCandidatesForBlock(nextBlock, "producer");
464
278
  const previousBlockHash = current._hash;
465
279
  return this.generateCreatorCommittee(candidates, previousBlockHash);
280
+ }, {
281
+ timeBudgetLimit: 200
466
282
  });
467
283
  }
468
284
  generateCreatorCommittee(candidates, previousBlockHash, maxSize = 3) {
@@ -472,17 +288,10 @@ var BaseElectionService = class extends BaseService {
472
288
  return creatorArray.slice(0, maxSize);
473
289
  }
474
290
  };
475
- BaseElectionService = _ts_decorate4([
476
- creatable4()
291
+ BaseElectionService = _ts_decorate2([
292
+ creatableProvider()
477
293
  ], BaseElectionService);
478
294
 
479
- // src/implementation/chain/index.ts
480
- import { assertEx as assertEx9 } from "@xylabs/sdk-js";
481
-
482
- // src/implementation/chain/evm.ts
483
- import { asAddress, assertEx as assertEx8, isDefined as isDefined5, ZERO_ADDRESS as ZERO_ADDRESS2 } from "@xylabs/sdk-js";
484
- import { Wallet } from "ethers/wallet";
485
-
486
295
  // src/implementation/evm/initEvmProvider.ts
487
296
  import { assertEx as assertEx7 } from "@xylabs/sdk-js";
488
297
 
@@ -563,69 +372,9 @@ var canUseEvmProvider = /* @__PURE__ */ __name(({ config }) => {
563
372
  return canUseInfuraProvider(config) || canUseJsonRpcProvider(config);
564
373
  }, "canUseEvmProvider");
565
374
 
566
- // src/implementation/chain/evm.ts
567
- var chainStakeServiceSingleton;
568
- var canUseEvmContractChainService = /* @__PURE__ */ __name((config) => {
569
- const { id } = config.chain;
570
- return isDefined5(id) && id !== ZERO_ADDRESS2 && canUseEvmProvider({
571
- config
572
- });
573
- }, "canUseEvmContractChainService");
574
- var initEvmContractChainService = /* @__PURE__ */ __name(async ({ account, context: { config }, traceProvider, meterProvider, logger }) => {
575
- if (chainStakeServiceSingleton) return chainStakeServiceSingleton;
576
- const emvStakingContractAddress = assertEx8(config.chain.id, () => "config.chain.id is required");
577
- const id = assertEx8(asAddress(emvStakingContractAddress), () => "config.chain.id is not a valid address");
578
- const provider2 = assertEx8(await initEvmProvider({
579
- config
580
- }));
581
- const privateKey = assertEx8(account.private?.hex, () => "Account does not have a private key");
582
- const runner = new Wallet(privateKey, provider2);
583
- chainStakeServiceSingleton = EvmChainViewer.create({
584
- id,
585
- runner,
586
- traceProvider,
587
- meterProvider,
588
- logger
589
- });
590
- const result = await chainStakeServiceSingleton;
591
- await result.start();
592
- return result;
593
- }, "initEvmContractChainService");
594
-
595
- // src/implementation/chain/index.ts
596
- var chainStakeServiceSingleton2;
597
- var initChainService = /* @__PURE__ */ __name(({ account, context }) => {
598
- const { logger } = context;
599
- logger?.log("ChainService: Initializing...");
600
- const result = init({
601
- context,
602
- name: "ChainService",
603
- account
604
- });
605
- logger?.log("ChainService: Initialized");
606
- return result;
607
- }, "initChainService");
608
- var initMemoryChainService = /* @__PURE__ */ __name(async ({ context }) => {
609
- const result = await MemoryChainViewer.create({
610
- context,
611
- name: "MemoryChainService"
612
- });
613
- assertEx9(await result.start(), () => "Failed to start MemoryChainService");
614
- return result;
615
- }, "initMemoryChainService");
616
- var init = /* @__PURE__ */ __name(async (params) => {
617
- if (chainStakeServiceSingleton2) return chainStakeServiceSingleton2;
618
- const { config } = params.context;
619
- chainStakeServiceSingleton2 = canUseEvmContractChainService(config) ? await initEvmContractChainService({
620
- ...params,
621
- name: "ChainStakeService"
622
- }) : await initMemoryChainService(params);
623
- return chainStakeServiceSingleton2;
624
- }, "init");
625
-
626
375
  // src/implementation/head/createBootstrapHead.ts
627
376
  import { buildNextBlock, createGenesisBlock } from "@xyo-network/chain-protocol";
628
- import { createDeclarationIntent } from "@xyo-network/xl1-protocol-sdk";
377
+ import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
629
378
  var createBootstrapHead = /* @__PURE__ */ __name(async (account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress) => {
630
379
  const chain = [];
631
380
  const genesisBlock = await createGenesisBlock(account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress);
@@ -641,20 +390,20 @@ var createBootstrapHead = /* @__PURE__ */ __name(async (account, chainId, genesi
641
390
  }, "createBootstrapHead");
642
391
 
643
392
  // src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
644
- import { creatable as creatable5 } from "@xylabs/sdk-js";
645
- import { NetworkStakeStepRewardViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
646
- function _ts_decorate5(decorators, target, key, desc) {
393
+ import { AbstractCreatableProvider as AbstractCreatableProvider3, creatableProvider as creatableProvider2, NetworkStakeStepRewardViewerMoniker } from "@xyo-network/xl1-sdk";
394
+ function _ts_decorate3(decorators, target, key, desc) {
647
395
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
648
396
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
649
397
  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;
650
398
  return c > 3 && r && Object.defineProperty(target, key, r), r;
651
399
  }
652
- __name(_ts_decorate5, "_ts_decorate");
653
- var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends BaseService {
400
+ __name(_ts_decorate3, "_ts_decorate");
401
+ var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends AbstractCreatableProvider3 {
654
402
  static {
655
403
  __name(this, "BaseNetworkStakeStepRewardService");
656
404
  }
657
405
  static defaultMoniker = NetworkStakeStepRewardViewerMoniker;
406
+ static dependencies = [];
658
407
  static monikers = [
659
408
  NetworkStakeStepRewardViewerMoniker
660
409
  ];
@@ -714,22 +463,20 @@ var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService
714
463
  throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
715
464
  }
716
465
  };
717
- BaseNetworkStakeStepRewardService = _ts_decorate5([
718
- creatable5()
466
+ BaseNetworkStakeStepRewardService = _ts_decorate3([
467
+ creatableProvider2()
719
468
  ], BaseNetworkStakeStepRewardService);
720
469
 
721
470
  // src/PendingTransactions/BasePendingTransactions.ts
722
471
  import { ValueType } from "@opentelemetry/api";
723
- import { assertEx as assertEx10, creatable as creatable6, exists, filterAs, filterAsync, forget, isDefined as isDefined6, isUndefined } from "@xylabs/sdk-js";
472
+ import { assertEx as assertEx8, exists, filterAs, filterAsync, forget, isDefined as isDefined5, isUndefined } from "@xylabs/sdk-js";
724
473
  import { MemoryArchivist } from "@xyo-network/archivist-memory";
725
- import { asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, isTransactionBoundWitnessWithStorageMeta } from "@xyo-network/xl1-protocol";
726
- import { findMostRecentBlock as findMostRecentBlock2, MempoolViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
727
- import { TransactionJsonSchemaValidator, validateTransaction } from "@xyo-network/xl1-validation";
728
- import { Mutex as Mutex2 } from "async-mutex";
474
+ import { AbstractCreatableProvider as AbstractCreatableProvider4, asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, creatableProvider as creatableProvider3, findMostRecentBlock as findMostRecentBlock2, isTransactionBoundWitnessWithStorageMeta, MempoolViewerMoniker, TransactionJsonSchemaValidator, validateTransaction } from "@xyo-network/xl1-sdk";
475
+ import { Mutex } from "async-mutex";
729
476
 
730
477
  // src/PendingTransactions/bundledPayloadToHydratedTransaction.ts
731
478
  import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
732
- import { asSignedTransactionBoundWitnessWithHashMeta } from "@xyo-network/xl1-protocol";
479
+ import { asSignedTransactionBoundWitnessWithHashMeta } from "@xyo-network/xl1-sdk";
733
480
  var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name(async (payload) => {
734
481
  const withHashMeta = await PayloadBuilder2.addHashMeta(payload.payloads);
735
482
  const tx = asSignedTransactionBoundWitnessWithHashMeta(withHashMeta.find((p) => p._hash === payload.root));
@@ -744,7 +491,7 @@ var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name(async (payload)
744
491
  // src/PendingTransactions/hydratedTransactionToPayloadBundle.ts
745
492
  import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
746
493
  import { PayloadBundleSchema } from "@xyo-network/payload-model";
747
- import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
494
+ import { flattenHydratedTransaction } from "@xyo-network/xl1-sdk";
748
495
  var hydratedTransactionToPayloadBundle = /* @__PURE__ */ __name((transaction) => {
749
496
  const root = transaction[0]._hash;
750
497
  return bundle(root, transaction);
@@ -760,18 +507,19 @@ var bundle = /* @__PURE__ */ __name((root, transaction) => {
760
507
  }, "bundle");
761
508
 
762
509
  // src/PendingTransactions/BasePendingTransactions.ts
763
- function _ts_decorate6(decorators, target, key, desc) {
510
+ function _ts_decorate4(decorators, target, key, desc) {
764
511
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
765
512
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
766
513
  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;
767
514
  return c > 3 && r && Object.defineProperty(target, key, r), r;
768
515
  }
769
- __name(_ts_decorate6, "_ts_decorate");
770
- var BasePendingTransactionsService = class _BasePendingTransactionsService extends BaseService {
516
+ __name(_ts_decorate4, "_ts_decorate");
517
+ var BasePendingTransactionsService = class _BasePendingTransactionsService extends AbstractCreatableProvider4 {
771
518
  static {
772
519
  __name(this, "BasePendingTransactionsService");
773
520
  }
774
521
  static defaultMoniker = MempoolViewerMoniker;
522
+ static dependencies = [];
775
523
  static monikers = [
776
524
  MempoolViewerMoniker
777
525
  ];
@@ -794,7 +542,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
794
542
  * A mutex to ensure that the counting the number of pending transactions is
795
543
  * not called concurrently
796
544
  */
797
- _countPendingTransactionsMutex = new Mutex2();
545
+ _countPendingTransactionsMutex = new Mutex();
798
546
  /**
799
547
  * A local Archivist optimized for fast retrieval that stores only validated
800
548
  * pending transactions
@@ -814,25 +562,25 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
814
562
  * A mutex to ensure that the curated pending transactions archivist is
815
563
  * updated in a thread-safe manner
816
564
  */
817
- _updateCuratedPendingTransactionsArchivistMutex = new Mutex2();
565
+ _updateCuratedPendingTransactionsArchivistMutex = new Mutex();
818
566
  get additionalPendingTransactionValidators() {
819
567
  return this.params.additionalPendingTransactionValidators ?? [];
820
568
  }
821
569
  get chainArchivist() {
822
- return assertEx10(this.params.chainArchivist, () => "No completed blocks with data archivist");
570
+ return assertEx8(this.params.chainArchivist, () => "No completed blocks with data archivist");
823
571
  }
824
572
  get pendingBundledTransactionsArchivist() {
825
- return assertEx10(this.params.pendingBundledTransactionsArchivist, () => "No pending bundled transactions archivist");
573
+ return assertEx8(this.params.pendingBundledTransactionsArchivist, () => "No pending bundled transactions archivist");
826
574
  }
827
575
  get pendingBundledTransactionsLocalArchivist() {
828
- return assertEx10(this._curatedPendingBundledTransactionsArchivist, () => "No pending bundled transactions curated archivist");
576
+ return assertEx8(this._curatedPendingBundledTransactionsArchivist, () => "No pending bundled transactions curated archivist");
829
577
  }
830
578
  get pendingTransactionsCount() {
831
579
  forget(this.countPendingTransactions());
832
580
  return this._pendingTransactionsCount;
833
581
  }
834
582
  get rejectedTransactionsArchivist() {
835
- return assertEx10(this.params.rejectedTransactionsArchivist, () => "No rejected transactions archivist");
583
+ return assertEx8(this.params.rejectedTransactionsArchivist, () => "No rejected transactions archivist");
836
584
  }
837
585
  async createHandler() {
838
586
  await super.createHandler();
@@ -907,12 +655,14 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
907
655
  }
908
656
  return foundPendingTransactions;
909
657
  }, _BasePendingTransactionsService.MutexPriority.ReadTransactions);
658
+ }, {
659
+ timeBudgetLimit: 100
910
660
  });
911
661
  }
912
662
  async cleanupWorker() {
913
663
  return await this._updateCuratedPendingTransactionsArchivistMutex.runExclusive(async () => {
914
664
  const lastHead = await findMostRecentBlock2(this.chainArchivist);
915
- if (isDefined6(lastHead)) await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
665
+ if (isDefined5(lastHead)) await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
916
666
  }, _BasePendingTransactionsService.MutexPriority.PurgeTransactions);
917
667
  }
918
668
  async countPendingTransactions() {
@@ -953,6 +703,8 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
953
703
  await this.pendingBundledTransactionsLocalArchivist.insert(bundledTransactions);
954
704
  }
955
705
  }, _BasePendingTransactionsService.MutexPriority.InsertNewTransactions);
706
+ }, {
707
+ timeBudgetLimit: 200
956
708
  });
957
709
  }
958
710
  /**
@@ -974,7 +726,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
974
726
  let [lastHead] = filterAs(await this.chainArchivist.get([
975
727
  head
976
728
  ]), (x) => asBlockBoundWitnessWithHashMeta(x));
977
- while (isDefined6(lastHead)) {
729
+ while (isDefined5(lastHead)) {
978
730
  const pendingBundledTransactions = await this.pendingBundledTransactionsLocalArchivist.next({
979
731
  limit: 100,
980
732
  order: "asc",
@@ -1005,36 +757,43 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
1005
757
  this.logger?.log(payload._hash);
1006
758
  }
1007
759
  }
760
+ }, {
761
+ timeBudgetLimit: 200
1008
762
  });
1009
763
  }
1010
764
  };
1011
- BasePendingTransactionsService = _ts_decorate6([
1012
- creatable6()
765
+ BasePendingTransactionsService = _ts_decorate4([
766
+ creatableProvider3()
1013
767
  ], BasePendingTransactionsService);
1014
768
  var isTransactionExpired = /* @__PURE__ */ __name((block) => ([txBw]) => txBw.exp < block, "isTransactionExpired");
1015
769
  var isTransactionActive = /* @__PURE__ */ __name((block) => ([txBw]) => txBw.nbf <= block && txBw.exp >= block, "isTransactionActive");
1016
770
 
1017
771
  // src/Schemas/BaseSchemasService.ts
1018
- import { creatable as creatable7, spanRootAsync } from "@xylabs/sdk-js";
1019
- import { schemasSummary } from "@xyo-network/xl1-protocol-sdk";
1020
- function _ts_decorate7(decorators, target, key, desc) {
772
+ import { AbstractCreatableProvider as AbstractCreatableProvider5, creatableProvider as creatableProvider4, schemasSummary } from "@xyo-network/xl1-sdk";
773
+ function _ts_decorate5(decorators, target, key, desc) {
1021
774
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1022
775
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1023
776
  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;
1024
777
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1025
778
  }
1026
- __name(_ts_decorate7, "_ts_decorate");
1027
- var BaseSchemasService = class extends BaseService {
779
+ __name(_ts_decorate5, "_ts_decorate");
780
+ var BaseSchemasService = class _BaseSchemasService extends AbstractCreatableProvider5 {
1028
781
  static {
1029
782
  __name(this, "BaseSchemasService");
1030
783
  }
784
+ static defaultMoniker = "SchemasService";
785
+ static dependencies = [];
786
+ static monikers = [
787
+ _BaseSchemasService.defaultMoniker
788
+ ];
789
+ moniker = _BaseSchemasService.defaultMoniker;
1031
790
  async schema(head, schema) {
1032
791
  return (await this.schemas(head, [
1033
792
  schema
1034
793
  ]))[schema] ?? 0;
1035
794
  }
1036
795
  async schemas(head, schemas) {
1037
- return await spanRootAsync("transfers", async () => {
796
+ return await this.spanAsync("schemas", async () => {
1038
797
  const [summary] = await schemasSummary(this.params.schemasStepSummaryContext);
1039
798
  const result = {};
1040
799
  for (const schema of schemas) {
@@ -1042,29 +801,28 @@ var BaseSchemasService = class extends BaseService {
1042
801
  result[schema] = count;
1043
802
  }
1044
803
  return result;
804
+ }, {
805
+ timeBudgetLimit: 100
1045
806
  });
1046
807
  }
1047
808
  };
1048
- BaseSchemasService = _ts_decorate7([
1049
- creatable7()
809
+ BaseSchemasService = _ts_decorate5([
810
+ creatableProvider4()
1050
811
  ], BaseSchemasService);
1051
812
 
1052
813
  // src/simple/block/runner/SimpleBlockRunner.ts
1053
- import { assertEx as assertEx12, exists as exists2, hexToBigInt, isDefined as isDefined7 } from "@xylabs/sdk-js";
814
+ import { assertEx as assertEx10, exists as exists2, hexToBigInt, isDefined as isDefined6 } from "@xylabs/sdk-js";
1054
815
  import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
1055
816
  import { FixedPercentageBlockRewardDiviner, FixedPercentageBlockRewardDivinerConfigSchema } from "@xyo-network/chain-modules";
1056
817
  import { buildNextBlock as buildNextBlock2 } from "@xyo-network/chain-protocol";
1057
818
  import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
1058
- import { asBlockBoundWitness, AttoXL1, BlockNumberSchema, defaultRewardRatio, XYO_STEP_REWARD_ADDRESS } from "@xyo-network/xl1-protocol";
1059
- import { AbstractCreatableProvider as AbstractCreatableProvider2, AccountBalanceViewerMoniker, BlockRewardViewerMoniker as BlockRewardViewerMoniker2, BlockRunnerMoniker, BlockValidationViewerMoniker, creatableProvider, createDeclarationIntent as createDeclarationIntent2, MempoolRunnerMoniker, MempoolViewerMoniker as MempoolViewerMoniker2, TimeSyncViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
819
+ import { AbstractCreatableProvider as AbstractCreatableProvider6, AccountBalanceViewerMoniker, asBlockBoundWitness, AttoXL1, BlockNumberSchema, BlockRewardViewerMoniker as BlockRewardViewerMoniker2, BlockRunnerMoniker, BlockValidationViewerMoniker, creatableProvider as creatableProvider5, createDeclarationIntent as createDeclarationIntent2, defaultRewardRatio, MempoolRunnerMoniker, MempoolViewerMoniker as MempoolViewerMoniker2, TimeSyncViewerMoniker, XYO_STEP_REWARD_ADDRESS } from "@xyo-network/xl1-sdk";
1060
820
 
1061
821
  // src/simple/block/runner/generateTransactionFeeTransfers.ts
1062
822
  import { hexFromBigInt } from "@xylabs/sdk-js";
1063
- import { assertEx as assertEx11 } from "@xylabs/sdk-js";
823
+ import { assertEx as assertEx9 } from "@xylabs/sdk-js";
1064
824
  import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
1065
- import { TransferSchema, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-protocol";
1066
- import { transactionRequiredGas } from "@xyo-network/xl1-protocol-sdk";
1067
- import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
825
+ import { HydratedTransactionWrapper, transactionRequiredGas, TransferSchema, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
1068
826
  async function generateTransactionFeeTransfers(address, transactions) {
1069
827
  const txs = await Promise.all(transactions.map(async (tx) => {
1070
828
  return HydratedTransactionWrapper.parse([
@@ -1095,7 +853,7 @@ async function generateTransactionFeeTransfers(address, transactions) {
1095
853
  return payload;
1096
854
  });
1097
855
  for (const [from, amount] of Object.entries(txGasCosts)) {
1098
- const fromPayload = assertEx11(payloads.find((p) => p.from === from), () => "from payload not found");
856
+ const fromPayload = assertEx9(payloads.find((p) => p.from === from), () => "from payload not found");
1099
857
  fromPayload.transfers[address] = hexFromBigInt(amount);
1100
858
  }
1101
859
  return payloads;
@@ -1103,21 +861,29 @@ async function generateTransactionFeeTransfers(address, transactions) {
1103
861
  __name(generateTransactionFeeTransfers, "generateTransactionFeeTransfers");
1104
862
 
1105
863
  // src/simple/block/runner/SimpleBlockRunner.ts
1106
- function _ts_decorate8(decorators, target, key, desc) {
864
+ function _ts_decorate6(decorators, target, key, desc) {
1107
865
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1108
866
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1109
867
  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;
1110
868
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1111
869
  }
1112
- __name(_ts_decorate8, "_ts_decorate");
870
+ __name(_ts_decorate6, "_ts_decorate");
1113
871
  var DEFAULT_BLOCK_SIZE = 10;
1114
872
  var XYO_PRODUCER_REDECLARATION_DURATION = 1e4;
1115
873
  var XYO_PRODUCER_REDECLARATION_WINDOW = 500;
1116
- var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvider2 {
874
+ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvider6 {
1117
875
  static {
1118
876
  __name(this, "SimpleBlockRunner");
1119
877
  }
1120
878
  static defaultMoniker = BlockRunnerMoniker;
879
+ static dependencies = [
880
+ AccountBalanceViewerMoniker,
881
+ BlockRewardViewerMoniker2,
882
+ BlockValidationViewerMoniker,
883
+ MempoolRunnerMoniker,
884
+ MempoolViewerMoniker2,
885
+ TimeSyncViewerMoniker
886
+ ];
1121
887
  static monikers = [
1122
888
  BlockRunnerMoniker
1123
889
  ];
@@ -1130,6 +896,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1130
896
  _address;
1131
897
  _blockRewardViewer;
1132
898
  _blockValidationViewer;
899
+ _chainId;
1133
900
  _mempoolRunner;
1134
901
  _mempoolViewer;
1135
902
  _rewardAddress;
@@ -1169,6 +936,9 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1169
936
  get blockValidationViewer() {
1170
937
  return this._blockValidationViewer;
1171
938
  }
939
+ get chainId() {
940
+ return this._chainId;
941
+ }
1172
942
  // protected get electionService() {
1173
943
  // return assertEx(this.params.electionService, () => 'electionService is required')
1174
944
  // }
@@ -1185,7 +955,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1185
955
  return this._rejectedTransactionsArchivist;
1186
956
  }
1187
957
  get rewardAddress() {
1188
- return assertEx12(this.params.rewardAddress, () => "No reward address provided");
958
+ return this._rewardAddress;
1189
959
  }
1190
960
  // protected get stakeIntentService(): StakeIntentService {
1191
961
  // return assertEx(this.params.stakeIntentService, () => 'No StakeIntentService provided')
@@ -1198,14 +968,15 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1198
968
  // }
1199
969
  async createHandler() {
1200
970
  this._rejectedTransactionsArchivist = this.params.rejectedTransactionsArchivist ?? await MemoryArchivist2.create();
1201
- this._account = assertEx12(this.params.account, () => "Account is required");
1202
- this._rewardAddress = assertEx12(this.params.rewardAddress, () => "No reward address provided");
971
+ this._account = assertEx10(this.params.account, () => "Account is required");
1203
972
  this._address = this.account.address;
1204
973
  this._accountBalanceViewer = await this.locateAndCreate(AccountBalanceViewerMoniker);
1205
974
  this._blockRewardViewer = await this.locateAndCreate(BlockRewardViewerMoniker2);
1206
975
  this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
976
+ this._chainId = this.context.config.chain.id;
1207
977
  this._mempoolRunner = await this.locateAndCreate(MempoolRunnerMoniker);
1208
978
  this._mempoolViewer = await this.locateAndCreate(MempoolViewerMoniker2);
979
+ this._rewardAddress = this.params.rewardAddress ?? this.context.config.producer.rewardAddress;
1209
980
  this._timeSyncViewer = await this.locateAndCreate(TimeSyncViewerMoniker);
1210
981
  }
1211
982
  async next(head) {
@@ -1213,7 +984,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1213
984
  }
1214
985
  async produceNextBlock(head, force) {
1215
986
  const result = await this.proposeNextValidBlock(head);
1216
- return force ? assertEx12(result, () => "Failed to produce next block") : result;
987
+ return force ? assertEx10(result, () => "Failed to produce next block") : result;
1217
988
  }
1218
989
  async getBlockRewardTransfers(block) {
1219
990
  if (!this._blockRewardDiviner) {
@@ -1250,7 +1021,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1250
1021
  async proposeNextValidBlock(head, validateBalances = false, force = false) {
1251
1022
  return await this.spanAsync("proposeNextValidBlock", async () => {
1252
1023
  try {
1253
- const { block: previousBlock } = assertEx12(asBlockBoundWitness(head), () => "Invalid head block");
1024
+ const { block: previousBlock } = assertEx10(asBlockBoundWitness(head), () => "Invalid head block");
1254
1025
  const nextBlock = previousBlock + 1;
1255
1026
  const nextBlockTransactions = await this.mempoolViewer.pendingTransactions({
1256
1027
  limit: _SimpleBlockRunner.DefaultBlockSize
@@ -1264,7 +1035,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1264
1035
  blockPayloads.push(...rewardTransferPayloads);
1265
1036
  const transactionTransfers = await generateTransactionFeeTransfers(this.address, nextBlockTransactions);
1266
1037
  const timeStart = Date.now();
1267
- const timePayload = await this.generateTimePayload(head);
1038
+ const timePayload = await this.generateTimePayload();
1268
1039
  const timeDuration = Date.now() - timeStart;
1269
1040
  if (timeDuration > 100) {
1270
1041
  this.logger?.warn(`[Slow] Generated time payload in ${timeDuration}ms`);
@@ -1278,11 +1049,13 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1278
1049
  ]))[XYO_STEP_REWARD_ADDRESS];
1279
1050
  const block = await buildNextBlock2(head, fundedNextBlockTransactions, blockPayloads, [
1280
1051
  this.account
1281
- ], XYO_STEP_REWARD_ADDRESS, stepRewardPoolBalance);
1052
+ ], XYO_STEP_REWARD_ADDRESS, stepRewardPoolBalance, void 0, this.chainId);
1282
1053
  this.logger?.info(`Built block ${block[0].block} in ${Date.now() - startBuild}ms with ${block[1].length} payloads`);
1283
1054
  this.logger?.info(`Validating block ${block[0].block} with ${block[1].length} payloads`);
1284
1055
  const startValidate = Date.now();
1285
- const errors = await this.blockValidationViewer.validateBlock(block);
1056
+ const errors = await this.blockValidationViewer.validateBlock(block, {
1057
+ head: head._hash
1058
+ });
1286
1059
  this.logger?.info(`Validated block ${block[0].block} in ${Date.now() - startValidate}ms with ${block[1].length} payloads`);
1287
1060
  if (errors.length > 0) {
1288
1061
  this.logger?.warn(`Validation of produced block failed: ${errors.at(0)?.message}`);
@@ -1298,6 +1071,8 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1298
1071
  this.logger?.error(`Error proposing next valid block: ${error.message}`);
1299
1072
  throw error;
1300
1073
  }
1074
+ }, {
1075
+ timeBudgetLimit: 200
1301
1076
  });
1302
1077
  }
1303
1078
  // remove unfunded transactions and block transfers
@@ -1325,7 +1100,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1325
1100
  fundedTransfers
1326
1101
  ];
1327
1102
  }
1328
- async generateTimePayload(head) {
1103
+ async generateTimePayload() {
1329
1104
  return await this.timeSyncViewer.currentTimePayload();
1330
1105
  }
1331
1106
  /**
@@ -1335,7 +1110,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1335
1110
  */
1336
1111
  heartbeatRequired(head) {
1337
1112
  const epoch = head.$epoch;
1338
- if (isDefined7(epoch)) {
1113
+ if (isDefined6(epoch)) {
1339
1114
  const { heartbeatInterval } = this.params.context.config.producer;
1340
1115
  if (Date.now() - epoch > heartbeatInterval) {
1341
1116
  return true;
@@ -1344,8 +1119,8 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1344
1119
  return false;
1345
1120
  }
1346
1121
  };
1347
- SimpleBlockRunner = _ts_decorate8([
1348
- creatableProvider()
1122
+ SimpleBlockRunner = _ts_decorate6([
1123
+ creatableProvider5()
1349
1124
  ], SimpleBlockRunner);
1350
1125
 
1351
1126
  // src/StakeIntent/lib/getBlockSignedStakeDeclarations.ts
@@ -1353,7 +1128,7 @@ import { exists as exists3, filterAs as filterAs2 } from "@xylabs/sdk-js";
1353
1128
  import { isBoundWitness } from "@xyo-network/boundwitness-model";
1354
1129
  import { payloadSchemasContains } from "@xyo-network/boundwitness-validator";
1355
1130
  import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
1356
- import { asChainStakeIntent, ChainStakeIntentSchema } from "@xyo-network/xl1-protocol";
1131
+ import { asChainStakeIntent, ChainStakeIntentSchema } from "@xyo-network/xl1-sdk";
1357
1132
  var getBlockSignedStakeDeclarations = /* @__PURE__ */ __name(async (block, archivist, intent) => {
1358
1133
  const blockData = await archivist.get(block.payload_hashes);
1359
1134
  const bwsFromBlock = blockData.filter((x) => isBoundWitness(x));
@@ -1375,28 +1150,34 @@ var mapBoundWitnessToStakeIntentHashes = /* @__PURE__ */ __name((bw) => {
1375
1150
  }, "mapBoundWitnessToStakeIntentHashes");
1376
1151
 
1377
1152
  // src/StakeIntent/XyoStakeIntentService.ts
1378
- import { asAddress as asAddress2, assertEx as assertEx13, creatable as creatable8, filterAs as filterAs3, isUndefined as isUndefined2 } from "@xylabs/sdk-js";
1153
+ import { asAddress, assertEx as assertEx11, filterAs as filterAs3, isUndefined as isUndefined2 } from "@xylabs/sdk-js";
1379
1154
  import { analyzeChain, ChainStakeIntentAnalyzer, isChainSummaryStakeIntent } from "@xyo-network/chain-analyze";
1380
1155
  import { DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS, findFirstMatching, IntervalMap } from "@xyo-network/chain-utils";
1381
1156
  import { PayloadBuilder as PayloadBuilder6 } from "@xyo-network/payload-builder";
1382
- import { asBlockBoundWitness as asBlockBoundWitness2, asBlockBoundWitnessWithStorageMeta, asChainStakeIntent as asChainStakeIntent2 } from "@xyo-network/xl1-protocol";
1383
- import { asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as BlockViewerMoniker3, ChainIndexingServiceStateSchema, ChainStakeViewerMoniker, isChainIndexingServiceState, readPayloadMapFromStore, timeBudget } from "@xyo-network/xl1-protocol-sdk";
1384
- import { Mutex as Mutex3 } from "async-mutex";
1157
+ import { AbstractCreatableProvider as AbstractCreatableProvider7, asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as BlockViewerMoniker3, ChainIndexingServiceStateSchema, ChainStakeViewerMoniker, creatableProvider as creatableProvider6, isChainIndexingServiceState, readPayloadMapFromStore, timeBudget } from "@xyo-network/xl1-sdk";
1158
+ import { asBlockBoundWitness as asBlockBoundWitness2, asBlockBoundWitnessWithStorageMeta, asChainStakeIntent as asChainStakeIntent2 } from "@xyo-network/xl1-sdk";
1159
+ import { Mutex as Mutex2 } from "async-mutex";
1385
1160
  import { LRUCache } from "lru-cache";
1386
- function _ts_decorate9(decorators, target, key, desc) {
1161
+ function _ts_decorate7(decorators, target, key, desc) {
1387
1162
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1388
1163
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1389
1164
  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;
1390
1165
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1391
1166
  }
1392
- __name(_ts_decorate9, "_ts_decorate");
1167
+ __name(_ts_decorate7, "_ts_decorate");
1393
1168
  var ACTIVE_STAKE_TTL = 1e3 * 60 * 60 * 2;
1394
1169
  var NO_ACTIVE_STAKE_TTL = 1e3 * 2;
1395
1170
  var STAKE_CACHE_MAX_ENTRIES = 1e4;
1396
- var XyoStakeIntentService = class extends BaseService {
1171
+ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatableProvider7 {
1397
1172
  static {
1398
1173
  __name(this, "XyoStakeIntentService");
1399
1174
  }
1175
+ static defaultMoniker = "StakeIntent";
1176
+ static dependencies = [];
1177
+ static monikers = [
1178
+ _XyoStakeIntentService.defaultMoniker
1179
+ ];
1180
+ moniker = "StakeIntent";
1400
1181
  // TODO: Use hash instead of block number to handle chain reorgs
1401
1182
  _lastIndexedBlockHash = void 0;
1402
1183
  // TODO: Interval tree per declaration (bank, validator, etc.)
@@ -1410,26 +1191,26 @@ var XyoStakeIntentService = class extends BaseService {
1410
1191
  _stakeCache = new LRUCache({
1411
1192
  max: STAKE_CACHE_MAX_ENTRIES
1412
1193
  });
1413
- _updateMutex = new Mutex3();
1194
+ _updateMutex = new Mutex2();
1414
1195
  _blockViewer;
1415
1196
  _chainStakeViewer;
1416
1197
  get blockViewer() {
1417
1198
  return this._blockViewer;
1418
1199
  }
1419
1200
  get chainArchivist() {
1420
- return assertEx13(this.params.chainArchivist, () => "chainArchivist not set");
1201
+ return assertEx11(this.params.chainArchivist, () => "chainArchivist not set");
1421
1202
  }
1422
1203
  get chainStakeViewer() {
1423
1204
  return this._chainStakeViewer;
1424
1205
  }
1425
1206
  get stakeIntentStateArchivist() {
1426
- return assertEx13(this.params.stakeIntentStateArchivist, () => "stakeIntentStateArchivist not set");
1207
+ return assertEx11(this.params.stakeIntentStateArchivist, () => "stakeIntentStateArchivist not set");
1427
1208
  }
1428
1209
  static async paramsHandler(params) {
1429
1210
  return {
1430
1211
  ...await super.paramsHandler(params),
1431
- chainArchivist: assertEx13(params?.chainArchivist, () => "chainArchivist is required"),
1432
- stakeIntentStateArchivist: assertEx13(params?.stakeIntentStateArchivist, () => "stakeIntentStateArchivist is required")
1212
+ chainArchivist: assertEx11(params?.chainArchivist, () => "chainArchivist is required"),
1213
+ stakeIntentStateArchivist: assertEx11(params?.stakeIntentStateArchivist, () => "stakeIntentStateArchivist is required")
1433
1214
  };
1434
1215
  }
1435
1216
  async createHandler() {
@@ -1441,13 +1222,13 @@ var XyoStakeIntentService = class extends BaseService {
1441
1222
  }
1442
1223
  async getDeclaredCandidateRanges(address, intent) {
1443
1224
  await Promise.resolve();
1444
- assertEx13(intent === "producer", () => `Support not yet added for intent ${intent}`);
1225
+ assertEx11(intent === "producer", () => `Support not yet added for intent ${intent}`);
1445
1226
  const results = this._producers.get(address);
1446
1227
  return results ?? [];
1447
1228
  }
1448
1229
  async getDeclaredCandidatesForBlock(block, intent) {
1449
1230
  return await this.spanAsync("getDeclaredCandidatesForBlock", async () => {
1450
- assertEx13(intent === "producer", () => `Support not yet added for intent ${intent}`);
1231
+ assertEx11(intent === "producer", () => `Support not yet added for intent ${intent}`);
1451
1232
  const results = this._producers.findAllContaining(block);
1452
1233
  const candidates = [
1453
1234
  ...results
@@ -1455,6 +1236,8 @@ var XyoStakeIntentService = class extends BaseService {
1455
1236
  const requiredMinimumStake = this.getRequiredMinimumStakeForIntent(intent);
1456
1237
  const validCandidates = await this.filterToValidStake(candidates, this.chainStakeViewer, requiredMinimumStake);
1457
1238
  return validCandidates;
1239
+ }, {
1240
+ timeBudgetLimit: 200
1458
1241
  });
1459
1242
  }
1460
1243
  getRequiredMinimumStakeForIntent(intent) {
@@ -1513,7 +1296,7 @@ var XyoStakeIntentService = class extends BaseService {
1513
1296
  }
1514
1297
  async recoverState(current) {
1515
1298
  return await timeBudget("XyoStakeIntentService.recoverState", console, async () => {
1516
- const currentBlock = assertEx13(asBlockBoundWitness2((await this.chainArchivist.get([
1299
+ const currentBlock = assertEx11(asBlockBoundWitness2((await this.chainArchivist.get([
1517
1300
  current
1518
1301
  ]))?.[0]), () => `Block ${current} not found`);
1519
1302
  const currentBlockNum = currentBlock.block;
@@ -1555,56 +1338,48 @@ var XyoStakeIntentService = class extends BaseService {
1555
1338
  return await this.spanAsync("updateIndex", async () => {
1556
1339
  const currentHead = (await this.blockViewer.currentBlock())[0];
1557
1340
  if (isUndefined2(currentHead)) return;
1558
- return await timeBudget("XyoStakeIntentService.updateIndex", console, async () => {
1559
- const currentHeadHash = currentHead._hash;
1560
- const chainMap = readPayloadMapFromStore(this.chainArchivist);
1561
- const result = await analyzeChain({
1562
- chainMap
1563
- }, [
1564
- new ChainStakeIntentAnalyzer("producer")
1565
- ], currentHeadHash, this._lastIndexedBlockHash);
1566
- const signedDeclarations = filterAs3(result.find(isChainSummaryStakeIntent)?.intents ?? [], asChainStakeIntent2);
1567
- if (currentHead.block === void 0) return;
1568
- const currentHeadBlockNum = currentHead.block;
1569
- if (displayProgress) this.logger?.log(`Updating index through 0x${currentHeadBlockNum}`);
1570
- for (const signedDeclaration of signedDeclarations) {
1571
- const { exp, nbf } = signedDeclaration;
1572
- const start = nbf;
1573
- const stop = exp;
1574
- const address = asAddress2(signedDeclaration?.from);
1575
- if (start !== void 0 && stop !== void 0 && address !== void 0) {
1576
- this._producers.insert(address, start, stop);
1577
- }
1341
+ const currentHeadHash = currentHead._hash;
1342
+ const chainMap = readPayloadMapFromStore(this.chainArchivist);
1343
+ const result = await analyzeChain({
1344
+ chainMap
1345
+ }, [
1346
+ new ChainStakeIntentAnalyzer("producer")
1347
+ ], currentHeadHash, this._lastIndexedBlockHash);
1348
+ const signedDeclarations = filterAs3(result.find(isChainSummaryStakeIntent)?.intents ?? [], asChainStakeIntent2);
1349
+ if (currentHead.block === void 0) return;
1350
+ const currentHeadBlockNum = currentHead.block;
1351
+ if (displayProgress) this.logger?.log(`Updating index through 0x${currentHeadBlockNum}`);
1352
+ for (const signedDeclaration of signedDeclarations) {
1353
+ const { exp, nbf } = signedDeclaration;
1354
+ const start = nbf;
1355
+ const stop = exp;
1356
+ const address = asAddress(signedDeclaration?.from);
1357
+ if (start !== void 0 && stop !== void 0 && address !== void 0) {
1358
+ this._producers.insert(address, start, stop);
1578
1359
  }
1579
- this._lastIndexedBlockHash = currentHeadHash;
1580
- }, 2e3, true);
1360
+ }
1361
+ this._lastIndexedBlockHash = currentHeadHash;
1362
+ }, {
1363
+ timeBudgetLimit: 1e3
1581
1364
  });
1582
1365
  });
1583
1366
  }
1584
1367
  };
1585
- XyoStakeIntentService = _ts_decorate9([
1586
- creatable8()
1368
+ XyoStakeIntentService = _ts_decorate7([
1369
+ creatableProvider6()
1587
1370
  ], XyoStakeIntentService);
1588
1371
 
1589
1372
  // src/StepStake/BaseStepStakeService.ts
1590
- import { creatable as creatable9 } from "@xylabs/sdk-js";
1591
- import { StepStakeViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
1592
- function _ts_decorate10(decorators, target, key, desc) {
1593
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1594
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1595
- 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;
1596
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1597
- }
1598
- __name(_ts_decorate10, "_ts_decorate");
1599
- var BaseStepStakeService = class _BaseStepStakeService extends BaseService {
1373
+ import { AbstractCreatableProvider as AbstractCreatableProvider8, StepStakeViewerMoniker } from "@xyo-network/xl1-sdk";
1374
+ var AbstractStepStakeService = class _AbstractStepStakeService extends AbstractCreatableProvider8 {
1600
1375
  static {
1601
- __name(this, "BaseStepStakeService");
1376
+ __name(this, "AbstractStepStakeService");
1602
1377
  }
1603
1378
  static defaultMoniker = StepStakeViewerMoniker;
1604
1379
  static monikers = [
1605
1380
  StepStakeViewerMoniker
1606
1381
  ];
1607
- moniker = _BaseStepStakeService.defaultMoniker;
1382
+ moniker = _AbstractStepStakeService.defaultMoniker;
1608
1383
  stepStake(_step) {
1609
1384
  throw new Error("Method [stepStake] not implemented.");
1610
1385
  }
@@ -1612,21 +1387,14 @@ var BaseStepStakeService = class _BaseStepStakeService extends BaseService {
1612
1387
  throw new Error("Method [stepStakeForAddress] not implemented.");
1613
1388
  }
1614
1389
  };
1615
- BaseStepStakeService = _ts_decorate10([
1616
- creatable9()
1617
- ], BaseStepStakeService);
1618
1390
  export {
1619
- BaseAccountableService,
1391
+ AbstractStepStakeService,
1620
1392
  BaseElectionService,
1621
1393
  BaseNetworkStakeStepRewardService,
1622
1394
  BasePendingTransactionsService,
1623
1395
  BaseSchemasService,
1624
- BaseService,
1625
- BaseStepStakeService,
1626
1396
  DEFAULT_BLOCK_SIZE,
1627
1397
  EvmBlockRewardViewer,
1628
- EvmChainViewer,
1629
- MemoryChainViewer,
1630
1398
  SimpleBlockRunner,
1631
1399
  XYO_PRODUCER_REDECLARATION_DURATION,
1632
1400
  XYO_PRODUCER_REDECLARATION_WINDOW,
@@ -1635,11 +1403,8 @@ export {
1635
1403
  accountBalancesViewerFromArchivist,
1636
1404
  blockViewerFromChainIteratorAndArchivist,
1637
1405
  canUseEvmProvider,
1638
- creatableService,
1639
1406
  createBootstrapHead,
1640
1407
  getBlockSignedStakeDeclarations,
1641
- initChainService,
1642
- initEvmProvider,
1643
- initMemoryChainService
1408
+ initEvmProvider
1644
1409
  };
1645
1410
  //# sourceMappingURL=index.mjs.map