@xyo-network/chain-services 1.18.0-rc.1 → 1.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) 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/ChainService/Evm/Evm.d.ts +3 -4
  6. package/dist/neutral/ChainService/Evm/Evm.d.ts.map +1 -1
  7. package/dist/neutral/ChainService/Memory/Memory.d.ts +3 -4
  8. package/dist/neutral/ChainService/Memory/Memory.d.ts.map +1 -1
  9. package/dist/neutral/ChainValidator/XyoValidator.d.ts +8 -8
  10. package/dist/neutral/ChainValidator/XyoValidator.d.ts.map +1 -1
  11. package/dist/neutral/ChainValidator/model/Validator.d.ts +1 -1
  12. package/dist/neutral/ChainValidator/model/Validator.d.ts.map +1 -1
  13. package/dist/neutral/Election/BaseElectionService.d.ts +8 -5
  14. package/dist/neutral/Election/BaseElectionService.d.ts.map +1 -1
  15. package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +3 -4
  16. package/dist/neutral/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
  17. package/dist/neutral/PendingTransactions/BasePendingTransactions.d.ts +3 -4
  18. package/dist/neutral/PendingTransactions/BasePendingTransactions.d.ts.map +1 -1
  19. package/dist/neutral/PendingTransactions/bundledPayloadToHydratedTransaction.d.ts +1 -1
  20. package/dist/neutral/PendingTransactions/bundledPayloadToHydratedTransaction.d.ts.map +1 -1
  21. package/dist/neutral/PendingTransactions/hydratedTransactionToPayloadBundle.d.ts +1 -1
  22. package/dist/neutral/PendingTransactions/hydratedTransactionToPayloadBundle.d.ts.map +1 -1
  23. package/dist/neutral/Schemas/BaseSchemasService.d.ts +6 -3
  24. package/dist/neutral/Schemas/BaseSchemasService.d.ts.map +1 -1
  25. package/dist/neutral/StakeIntent/XyoStakeIntentService.d.ts +13 -6
  26. package/dist/neutral/StakeIntent/XyoStakeIntentService.d.ts.map +1 -1
  27. package/dist/neutral/StakeIntent/lib/getBlockSignedStakeDeclarations.d.ts +1 -1
  28. package/dist/neutral/StakeIntent/lib/getBlockSignedStakeDeclarations.d.ts.map +1 -1
  29. package/dist/neutral/StepStake/BaseStepStakeService.d.ts +6 -7
  30. package/dist/neutral/StepStake/BaseStepStakeService.d.ts.map +1 -1
  31. package/dist/neutral/blockViewerFromChainIteratorAndArchivist.d.ts +1 -1
  32. package/dist/neutral/blockViewerFromChainIteratorAndArchivist.d.ts.map +1 -1
  33. package/dist/neutral/implementation/chain/evm.d.ts +1 -2
  34. package/dist/neutral/implementation/chain/evm.d.ts.map +1 -1
  35. package/dist/neutral/implementation/chain/index.d.ts +1 -2
  36. package/dist/neutral/implementation/chain/index.d.ts.map +1 -1
  37. package/dist/neutral/implementation/evm/initChainId.d.ts +1 -1
  38. package/dist/neutral/implementation/evm/initChainId.d.ts.map +1 -1
  39. package/dist/neutral/implementation/evm/initEvmProvider.d.ts +1 -1
  40. package/dist/neutral/implementation/evm/initEvmProvider.d.ts.map +1 -1
  41. package/dist/neutral/implementation/evm/initInfuraProvider.d.ts +1 -1
  42. package/dist/neutral/implementation/evm/initInfuraProvider.d.ts.map +1 -1
  43. package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts +1 -1
  44. package/dist/neutral/implementation/evm/initJsonRpcProvider.d.ts.map +1 -1
  45. package/dist/neutral/implementation/head/createBootstrapHead.d.ts +1 -1
  46. package/dist/neutral/implementation/head/createBootstrapHead.d.ts.map +1 -1
  47. package/dist/neutral/implementation/head/index.d.ts +0 -1
  48. package/dist/neutral/implementation/head/index.d.ts.map +1 -1
  49. package/dist/neutral/implementation/index.d.ts +0 -6
  50. package/dist/neutral/implementation/index.d.ts.map +1 -1
  51. package/dist/neutral/index.d.ts +0 -1
  52. package/dist/neutral/index.d.ts.map +1 -1
  53. package/dist/neutral/index.mjs +229 -425
  54. package/dist/neutral/index.mjs.map +1 -1
  55. package/dist/neutral/model/Params.d.ts +1 -2
  56. package/dist/neutral/model/Params.d.ts.map +1 -1
  57. package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts +32 -18
  58. package/dist/neutral/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  59. package/dist/neutral/simple/block/runner/generateTransactionFeeTransfers.d.ts +1 -1
  60. package/dist/neutral/simple/block/runner/generateTransactionFeeTransfers.d.ts.map +1 -1
  61. package/package.json +26 -31
  62. package/src/AccountBalance/accountBalanceServiceFromArchivist.ts +5 -6
  63. package/src/BlockReward/EvmBlockRewardViewer.ts +3 -5
  64. package/src/ChainService/Evm/Evm.ts +6 -5
  65. package/src/ChainService/Memory/Memory.ts +7 -8
  66. package/src/ChainValidator/XyoValidator.ts +9 -14
  67. package/src/ChainValidator/model/Validator.ts +1 -1
  68. package/src/Election/BaseElectionService.ts +14 -9
  69. package/src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts +10 -11
  70. package/src/PendingTransactions/BasePendingTransactions.ts +11 -11
  71. package/src/PendingTransactions/bundledPayloadToHydratedTransaction.ts +2 -2
  72. package/src/PendingTransactions/hydratedTransactionToPayloadBundle.ts +2 -2
  73. package/src/Schemas/BaseSchemasService.ts +10 -7
  74. package/src/StakeIntent/XyoStakeIntentService.ts +13 -8
  75. package/src/StakeIntent/lib/getBlockSignedStakeDeclarations.ts +2 -2
  76. package/src/StepStake/BaseStepStakeService.ts +7 -11
  77. package/src/blockViewerFromChainIteratorAndArchivist.ts +14 -4
  78. package/src/implementation/chain/evm.ts +1 -2
  79. package/src/implementation/chain/index.ts +1 -2
  80. package/src/implementation/evm/initChainId.ts +1 -1
  81. package/src/implementation/evm/initEvmProvider.ts +1 -1
  82. package/src/implementation/evm/initInfuraProvider.ts +1 -1
  83. package/src/implementation/evm/initJsonRpcProvider.ts +1 -1
  84. package/src/implementation/head/createBootstrapHead.ts +2 -2
  85. package/src/implementation/head/index.ts +0 -1
  86. package/src/implementation/index.ts +0 -6
  87. package/src/index.ts +0 -1
  88. package/src/model/Params.ts +1 -2
  89. package/src/simple/block/runner/SimpleBlockRunner.ts +46 -27
  90. package/src/simple/block/runner/generateTransactionFeeTransfers.ts +5 -4
  91. package/dist/neutral/BaseService.d.ts +0 -19
  92. package/dist/neutral/BaseService.d.ts.map +0 -1
  93. package/dist/neutral/implementation/accountBalance.d.ts +0 -7
  94. package/dist/neutral/implementation/accountBalance.d.ts.map +0 -1
  95. package/dist/neutral/implementation/blockViewer.d.ts +0 -4
  96. package/dist/neutral/implementation/blockViewer.d.ts.map +0 -1
  97. package/dist/neutral/implementation/head/createForkedHead/config/getBridgeDestinationDetails.d.ts +0 -8
  98. package/dist/neutral/implementation/head/createForkedHead/config/getBridgeDestinationDetails.d.ts.map +0 -1
  99. package/dist/neutral/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts +0 -9
  100. package/dist/neutral/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts.map +0 -1
  101. package/dist/neutral/implementation/head/createForkedHead/config/getForkDetails.d.ts +0 -4
  102. package/dist/neutral/implementation/head/createForkedHead/config/getForkDetails.d.ts.map +0 -1
  103. package/dist/neutral/implementation/head/createForkedHead/config/index.d.ts +0 -4
  104. package/dist/neutral/implementation/head/createForkedHead/config/index.d.ts.map +0 -1
  105. package/dist/neutral/implementation/head/createForkedHead/createForkedHead.d.ts +0 -5
  106. package/dist/neutral/implementation/head/createForkedHead/createForkedHead.d.ts.map +0 -1
  107. package/dist/neutral/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts +0 -11
  108. package/dist/neutral/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts.map +0 -1
  109. package/dist/neutral/implementation/head/createForkedHead/getBridgeIntent.d.ts +0 -11
  110. package/dist/neutral/implementation/head/createForkedHead/getBridgeIntent.d.ts.map +0 -1
  111. package/dist/neutral/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts +0 -11
  112. package/dist/neutral/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts.map +0 -1
  113. package/dist/neutral/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts +0 -13
  114. package/dist/neutral/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts.map +0 -1
  115. package/dist/neutral/implementation/head/createForkedHead/index.d.ts +0 -2
  116. package/dist/neutral/implementation/head/createForkedHead/index.d.ts.map +0 -1
  117. package/dist/neutral/implementation/head/getForkFromBlock.d.ts +0 -13
  118. package/dist/neutral/implementation/head/getForkFromBlock.d.ts.map +0 -1
  119. package/dist/neutral/implementation/head/submitNewChain.d.ts +0 -10
  120. package/dist/neutral/implementation/head/submitNewChain.d.ts.map +0 -1
  121. package/dist/neutral/implementation/mempoolRunner.d.ts +0 -7
  122. package/dist/neutral/implementation/mempoolRunner.d.ts.map +0 -1
  123. package/dist/neutral/implementation/mempoolViewer.d.ts +0 -7
  124. package/dist/neutral/implementation/mempoolViewer.d.ts.map +0 -1
  125. package/dist/neutral/implementation/pendingTransactions.d.ts +0 -9
  126. package/dist/neutral/implementation/pendingTransactions.d.ts.map +0 -1
  127. package/dist/neutral/implementation/reward.d.ts +0 -14
  128. package/dist/neutral/implementation/reward.d.ts.map +0 -1
  129. package/src/BaseService.ts +0 -45
  130. package/src/implementation/accountBalance.ts +0 -29
  131. package/src/implementation/blockViewer.ts +0 -24
  132. package/src/implementation/head/createForkedHead/config/getBridgeDestinationDetails.ts +0 -27
  133. package/src/implementation/head/createForkedHead/config/getBridgeSourceDetails.ts +0 -19
  134. package/src/implementation/head/createForkedHead/config/getForkDetails.ts +0 -10
  135. package/src/implementation/head/createForkedHead/config/index.ts +0 -3
  136. package/src/implementation/head/createForkedHead/createForkedHead.ts +0 -29
  137. package/src/implementation/head/createForkedHead/getBridgeDestinationObservation.ts +0 -42
  138. package/src/implementation/head/createForkedHead/getBridgeIntent.ts +0 -51
  139. package/src/implementation/head/createForkedHead/getBridgeSourceObservation.ts +0 -46
  140. package/src/implementation/head/createForkedHead/getFirstBlockForNewChain.ts +0 -41
  141. package/src/implementation/head/createForkedHead/index.ts +0 -1
  142. package/src/implementation/head/getForkFromBlock.ts +0 -45
  143. package/src/implementation/head/submitNewChain.ts +0 -27
  144. package/src/implementation/mempoolRunner.ts +0 -29
  145. package/src/implementation/mempoolViewer.ts +0 -29
  146. package/src/implementation/pendingTransactions.ts +0 -36
  147. package/src/implementation/reward.ts +0 -53
@@ -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({
@@ -53,59 +52,17 @@ var accountBalancesViewerFromArchivist = /* @__PURE__ */ __name(async (context,
53
52
  return service;
54
53
  }, "accountBalancesViewerFromArchivist");
55
54
 
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";
60
- function _ts_decorate(decorators, target, key, desc) {
61
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
62
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
63
- 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;
64
- return c > 3 && r && Object.defineProperty(target, key, r), r;
65
- }
66
- __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
55
  // src/BlockReward/EvmBlockRewardViewer.ts
98
- import { AbstractCreatable, assertEx as assertEx2, creatable as creatable2, toEthAddress } from "@xylabs/sdk-js";
56
+ import { AbstractCreatable, assertEx as assertEx2, creatable, toEthAddress } from "@xylabs/sdk-js";
99
57
  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) {
58
+ import { asAttoXL1, BlockRewardViewerMoniker } from "@xyo-network/xl1-sdk";
59
+ function _ts_decorate(decorators, target, key, desc) {
103
60
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
104
61
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
105
62
  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
63
  return c > 3 && r && Object.defineProperty(target, key, r), r;
107
64
  }
108
- __name(_ts_decorate2, "_ts_decorate");
65
+ __name(_ts_decorate, "_ts_decorate");
109
66
  var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable {
110
67
  static {
111
68
  __name(this, "EvmBlockRewardViewer");
@@ -139,15 +96,14 @@ var EvmBlockRewardViewer = class _EvmBlockRewardViewer extends AbstractCreatable
139
96
  }
140
97
  }
141
98
  };
142
- EvmBlockRewardViewer = _ts_decorate2([
143
- creatable2()
99
+ EvmBlockRewardViewer = _ts_decorate([
100
+ creatable()
144
101
  ], EvmBlockRewardViewer);
145
102
 
146
103
  // src/blockViewerFromChainIteratorAndArchivist.ts
147
104
  import { isDefined } from "@xylabs/sdk-js";
148
105
  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";
106
+ import { asSignedBlockBoundWitness, asSignedBlockBoundWitnessWithStorageMeta, BlockViewerMoniker } from "@xyo-network/xl1-sdk";
151
107
  function blockViewerFromChainIteratorAndArchivist(chainIterator, chainArchivist) {
152
108
  const result = {
153
109
  blockByHash: /* @__PURE__ */ __name(async function(hash) {
@@ -225,7 +181,16 @@ function blockViewerFromChainIteratorAndArchivist(chainIterator, chainArchivist)
225
181
  }, "payloadByHash"),
226
182
  payloadsByHash: /* @__PURE__ */ __name(function(_hashes) {
227
183
  throw new Error("Function not implemented.");
228
- }, "payloadsByHash")
184
+ }, "payloadsByHash"),
185
+ rate(..._args) {
186
+ throw new Error("Function not implemented.");
187
+ },
188
+ stepSizeRate(..._args) {
189
+ throw new Error("Function not implemented.");
190
+ },
191
+ timeDurationRate(..._args) {
192
+ throw new Error("Function not implemented.");
193
+ }
229
194
  };
230
195
  return result;
231
196
  }
@@ -233,9 +198,9 @@ __name(blockViewerFromChainIteratorAndArchivist, "blockViewerFromChainIteratorAn
233
198
 
234
199
  // src/ChainService/Evm/Evm.ts
235
200
  import { toAddress, toEthAddress as toEthAddress2 } from "@xylabs/sdk-js";
236
- import { ChainContractViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
201
+ import { AbstractCreatableProvider, ChainContractViewerMoniker } from "@xyo-network/xl1-sdk";
237
202
  import { getAddress } from "ethers/address";
238
- var EvmChainViewer = class _EvmChainViewer extends BaseService {
203
+ var EvmChainViewer = class _EvmChainViewer extends AbstractCreatableProvider {
239
204
  static {
240
205
  __name(this, "EvmChainViewer");
241
206
  }
@@ -308,8 +273,8 @@ var EvmChainViewer = class _EvmChainViewer extends BaseService {
308
273
 
309
274
  // src/ChainService/Memory/Memory.ts
310
275
  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 {
276
+ import { AbstractCreatableProvider as AbstractCreatableProvider2, ChainContractViewerMoniker as ChainContractViewerMoniker2 } from "@xyo-network/xl1-sdk";
277
+ var MemoryChainViewer = class _MemoryChainViewer extends AbstractCreatableProvider2 {
313
278
  static {
314
279
  __name(this, "MemoryChainViewer");
315
280
  }
@@ -382,19 +347,12 @@ var MemoryChainViewer = class _MemoryChainViewer extends BaseService {
382
347
  };
383
348
 
384
349
  // 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 {
350
+ import { AbstractCreatableProvider as AbstractCreatableProvider3, BlockViewerMoniker as BlockViewerMoniker2 } from "@xyo-network/xl1-sdk";
351
+ var XyoValidator = class extends AbstractCreatableProvider3 {
395
352
  static {
396
353
  __name(this, "XyoValidator");
397
354
  }
355
+ moniker = "Validator";
398
356
  _blockViewer;
399
357
  // get address() {
400
358
  // return this.account.address
@@ -430,24 +388,28 @@ var XyoValidator = class extends BaseService {
430
388
  return await Promise.resolve(true);
431
389
  }
432
390
  };
433
- XyoValidator = _ts_decorate3([
434
- creatable3()
435
- ], XyoValidator);
436
391
 
437
392
  // src/Election/BaseElectionService.ts
438
- import { assertEx as assertEx3, creatable as creatable4 } from "@xylabs/sdk-js";
393
+ import { assertEx as assertEx3 } from "@xylabs/sdk-js";
439
394
  import { hexToLast4BytesInt, shuffleWithSeed } from "@xyo-network/chain-utils";
440
- function _ts_decorate4(decorators, target, key, desc) {
395
+ import { AbstractCreatableProvider as AbstractCreatableProvider4, creatableProvider } from "@xyo-network/xl1-sdk";
396
+ function _ts_decorate2(decorators, target, key, desc) {
441
397
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
442
398
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
443
399
  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
400
  return c > 3 && r && Object.defineProperty(target, key, r), r;
445
401
  }
446
- __name(_ts_decorate4, "_ts_decorate");
447
- var BaseElectionService = class extends BaseService {
402
+ __name(_ts_decorate2, "_ts_decorate");
403
+ var BaseElectionService = class _BaseElectionService extends AbstractCreatableProvider4 {
448
404
  static {
449
405
  __name(this, "BaseElectionService");
450
406
  }
407
+ static defaultMoniker = "Election";
408
+ static dependencies = [];
409
+ static monikers = [
410
+ "Election"
411
+ ];
412
+ moniker = _BaseElectionService.defaultMoniker;
451
413
  get blockViewer() {
452
414
  return assertEx3(this.params.blockViewer, () => "No block viewer");
453
415
  }
@@ -472,71 +434,28 @@ var BaseElectionService = class extends BaseService {
472
434
  return creatorArray.slice(0, maxSize);
473
435
  }
474
436
  };
475
- BaseElectionService = _ts_decorate4([
476
- creatable4()
437
+ BaseElectionService = _ts_decorate2([
438
+ creatableProvider()
477
439
  ], BaseElectionService);
478
440
 
479
- // src/implementation/accountBalance.ts
480
- import { isDefined as isDefined2 } from "@xylabs/sdk-js";
481
- import { AccountBalanceViewerRpcSchemas, HttpRpcTransport, JsonRpcAccountBalanceViewer } from "@xyo-network/xl1-rpc";
482
- var balanceServiceSingleton;
483
- var initAccountBalanceService = /* @__PURE__ */ __name(async (params) => {
484
- const { config, logger } = params;
485
- if (balanceServiceSingleton) return balanceServiceSingleton;
486
- const endpoint = config.services?.accountBalanceViewerEndpoint ?? config.services?.apiEndpoint;
487
- if (isDefined2(endpoint)) {
488
- const transport = new HttpRpcTransport(endpoint, {
489
- ...AccountBalanceViewerRpcSchemas
490
- });
491
- const viewer = await JsonRpcAccountBalanceViewer.create({
492
- transport
493
- });
494
- logger?.log("Using AccountBalanceViewer RPC service at", endpoint);
495
- return viewer;
496
- } else {
497
- throw new Error("No AccountBalanceViewer endpoint configured");
498
- }
499
- }, "initAccountBalanceService");
500
-
501
- // src/implementation/blockViewer.ts
502
- import { isDefined as isDefined3 } from "@xylabs/sdk-js";
503
- import { BlockViewerRpcSchemas, HttpRpcTransport as HttpRpcTransport2, JsonRpcBlockViewer } from "@xyo-network/xl1-rpc";
504
- var blockViewerSingleton;
505
- var initBlockViewer = /* @__PURE__ */ __name(async ({ config, logger }) => {
506
- if (blockViewerSingleton) return blockViewerSingleton;
507
- const endpoint = config.services?.apiEndpoint;
508
- if (isDefined3(endpoint)) {
509
- const transport = new HttpRpcTransport2(endpoint, {
510
- ...BlockViewerRpcSchemas
511
- });
512
- const viewer = await JsonRpcBlockViewer.create({
513
- transport
514
- });
515
- logger?.log("Using BlockViewer RPC service at", endpoint);
516
- return viewer;
517
- } else {
518
- throw new Error("No BlockViewer endpoint configured");
519
- }
520
- }, "initBlockViewer");
521
-
522
441
  // src/implementation/chain/index.ts
523
442
  import { assertEx as assertEx9 } from "@xylabs/sdk-js";
524
443
 
525
444
  // src/implementation/chain/evm.ts
526
- import { asAddress, assertEx as assertEx8, isDefined as isDefined7, ZERO_ADDRESS as ZERO_ADDRESS2 } from "@xylabs/sdk-js";
445
+ import { asAddress, assertEx as assertEx8, isDefined as isDefined5, ZERO_ADDRESS as ZERO_ADDRESS2 } from "@xylabs/sdk-js";
527
446
  import { Wallet } from "ethers/wallet";
528
447
 
529
448
  // src/implementation/evm/initEvmProvider.ts
530
449
  import { assertEx as assertEx7 } from "@xylabs/sdk-js";
531
450
 
532
451
  // src/implementation/evm/initInfuraProvider.ts
533
- import { assertEx as assertEx5, isDefined as isDefined5 } from "@xylabs/sdk-js";
452
+ import { assertEx as assertEx5, isDefined as isDefined3 } from "@xylabs/sdk-js";
534
453
  import { InfuraProvider } from "ethers/providers";
535
454
 
536
455
  // src/implementation/evm/initChainId.ts
537
- import { assertEx as assertEx4, hexFrom, isDefined as isDefined4, isHex } from "@xylabs/sdk-js";
456
+ import { assertEx as assertEx4, hexFrom, isDefined as isDefined2, isHex } from "@xylabs/sdk-js";
538
457
  var canUseChainId = /* @__PURE__ */ __name((config) => {
539
- return isDefined4(config.evm.chainId);
458
+ return isDefined2(config.evm.chainId);
540
459
  }, "canUseChainId");
541
460
  var getChainId = /* @__PURE__ */ __name((config) => {
542
461
  const chainId = assertEx4(config.evm.chainId, () => "Missing config.evm.chainId");
@@ -561,7 +480,7 @@ var initInfuraProvider = /* @__PURE__ */ __name((config) => {
561
480
  return instance;
562
481
  }, "initInfuraProvider");
563
482
  var canUseInfuraProvider = /* @__PURE__ */ __name((config) => {
564
- return canUseChainId(config) && isDefined5(config.evm?.infura?.projectId) && isDefined5(config.evm?.infura?.projectSecret);
483
+ return canUseChainId(config) && isDefined3(config.evm?.infura?.projectId) && isDefined3(config.evm?.infura?.projectSecret);
565
484
  }, "canUseInfuraProvider");
566
485
  var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
567
486
  const projectId = assertEx5(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
@@ -574,14 +493,14 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config) => {
574
493
  }, "getInfuraProviderConfig");
575
494
 
576
495
  // src/implementation/evm/initJsonRpcProvider.ts
577
- import { assertEx as assertEx6, isDefined as isDefined6 } from "@xylabs/sdk-js";
496
+ import { assertEx as assertEx6, isDefined as isDefined4 } from "@xylabs/sdk-js";
578
497
  import { JsonRpcProvider } from "ethers/providers";
579
498
  var initJsonRpcProvider = /* @__PURE__ */ __name((config) => {
580
499
  const providerConfig = getJsonRpcProviderConfig(config);
581
500
  return Promise.resolve(new JsonRpcProvider(...providerConfig));
582
501
  }, "initJsonRpcProvider");
583
502
  var canUseJsonRpcProvider = /* @__PURE__ */ __name((config) => {
584
- return canUseChainId(config) && isDefined6(config.evm.jsonRpc?.url);
503
+ return canUseChainId(config) && isDefined4(config.evm.jsonRpc?.url);
585
504
  }, "canUseJsonRpcProvider");
586
505
  var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config) => {
587
506
  const jsonRpcUrl = assertEx6(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
@@ -610,7 +529,7 @@ var canUseEvmProvider = /* @__PURE__ */ __name(({ config }) => {
610
529
  var chainStakeServiceSingleton;
611
530
  var canUseEvmContractChainService = /* @__PURE__ */ __name((config) => {
612
531
  const { id } = config.chain;
613
- return isDefined7(id) && id !== ZERO_ADDRESS2 && canUseEvmProvider({
532
+ return isDefined5(id) && id !== ZERO_ADDRESS2 && canUseEvmProvider({
614
533
  config
615
534
  });
616
535
  }, "canUseEvmContractChainService");
@@ -668,7 +587,7 @@ var init = /* @__PURE__ */ __name(async (params) => {
668
587
 
669
588
  // src/implementation/head/createBootstrapHead.ts
670
589
  import { buildNextBlock, createGenesisBlock } from "@xyo-network/chain-protocol";
671
- import { createDeclarationIntent } from "@xyo-network/xl1-protocol-sdk";
590
+ import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
672
591
  var createBootstrapHead = /* @__PURE__ */ __name(async (account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress) => {
673
592
  const chain = [];
674
593
  const genesisBlock = await createGenesisBlock(account, chainId, genesisBlockRewardAmount, genesisBlockRewardAddress);
@@ -683,84 +602,94 @@ var createBootstrapHead = /* @__PURE__ */ __name(async (account, chainId, genesi
683
602
  return chain;
684
603
  }, "createBootstrapHead");
685
604
 
686
- // src/implementation/head/submitNewChain.ts
687
- import { delay } from "@xylabs/sdk-js";
688
- import { flattenHydratedBlock } from "@xyo-network/xl1-protocol-sdk";
689
- var submitNewChain = /* @__PURE__ */ __name(async (chain, chainArchivist, chainSubmissionsArchivistWrite) => {
690
- for (const block of chain) {
691
- const [bw] = block;
692
- await chainSubmissionsArchivistWrite.insert(flattenHydratedBlock(block));
693
- while (true) {
694
- const result = await chainArchivist.get([
695
- bw._hash
696
- ]);
697
- if (result.length > 0) break;
698
- await delay(1e3);
699
- }
605
+ // src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
606
+ import { AbstractCreatableProvider as AbstractCreatableProvider5, creatableProvider as creatableProvider2, NetworkStakeStepRewardViewerMoniker } from "@xyo-network/xl1-sdk";
607
+ function _ts_decorate3(decorators, target, key, desc) {
608
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
609
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
610
+ 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;
611
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
612
+ }
613
+ __name(_ts_decorate3, "_ts_decorate");
614
+ var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends AbstractCreatableProvider5 {
615
+ static {
616
+ __name(this, "BaseNetworkStakeStepRewardService");
700
617
  }
701
- }, "submitNewChain");
702
-
703
- // src/implementation/mempoolRunner.ts
704
- import { isDefined as isDefined8 } from "@xylabs/sdk-js";
705
- import { HttpRpcTransport as HttpRpcTransport3, JsonRpcMempoolRunner, MempoolRunnerRpcSchemas } from "@xyo-network/xl1-rpc";
706
- var mempoolRunnerSingleton;
707
- var initMempoolRunner = /* @__PURE__ */ __name(async (params) => {
708
- const { config, logger } = params;
709
- if (mempoolRunnerSingleton) return mempoolRunnerSingleton;
710
- const endpoint = config.services?.apiEndpoint;
711
- if (isDefined8(endpoint)) {
712
- const transport = new HttpRpcTransport3(endpoint, {
713
- ...MempoolRunnerRpcSchemas
714
- });
715
- const runner = await JsonRpcMempoolRunner.create({
716
- transport
717
- });
718
- logger?.log("Using mempoolRunner RPC service at", endpoint);
719
- return runner;
720
- } else {
721
- throw new Error("No MempoolRunner endpoint configured");
618
+ static defaultMoniker = NetworkStakeStepRewardViewerMoniker;
619
+ static dependencies = [];
620
+ static monikers = [
621
+ NetworkStakeStepRewardViewerMoniker
622
+ ];
623
+ moniker = _BaseNetworkStakeStepRewardService.defaultMoniker;
624
+ networkStakeStepRewardAddressHistory(_address) {
625
+ throw new Error("Method [networkStakeStepRewardAddressHistory] not implemented.");
722
626
  }
723
- }, "initMempoolRunner");
724
-
725
- // src/implementation/mempoolViewer.ts
726
- import { isDefined as isDefined9 } from "@xylabs/sdk-js";
727
- import { HttpRpcTransport as HttpRpcTransport4, JsonRpcMempoolViewer, MempoolViewerRpcSchemas } from "@xyo-network/xl1-rpc";
728
- var mempoolViewerSingleton;
729
- var initMempoolViewer = /* @__PURE__ */ __name(async (params) => {
730
- const { config, logger } = params;
731
- if (mempoolViewerSingleton) return mempoolViewerSingleton;
732
- const endpoint = config.services?.apiEndpoint;
733
- if (isDefined9(endpoint)) {
734
- const transport = new HttpRpcTransport4(endpoint, {
735
- ...MempoolViewerRpcSchemas
736
- });
737
- const viewer = await JsonRpcMempoolViewer.create({
738
- transport
739
- });
740
- logger?.log("Using MempoolViewer RPC service at", endpoint);
741
- return viewer;
742
- } else {
743
- throw new Error("No MempoolViewer endpoint configured");
627
+ networkStakeStepRewardAddressReward(_context, _address) {
628
+ throw new Error("Method [networkStakeStepRewardAddressReward] not implemented.");
744
629
  }
745
- }, "initMempoolViewer");
746
-
747
- // src/implementation/pendingTransactions.ts
748
- import { isDefined as isDefined11 } from "@xylabs/sdk-js";
749
- import { timeBudget } from "@xyo-network/xl1-protocol-sdk";
750
- import { HttpRpcTransport as HttpRpcTransport5, JsonRpcMempoolViewer as JsonRpcMempoolViewer2, MempoolViewerRpcSchemas as MempoolViewerRpcSchemas2 } from "@xyo-network/xl1-rpc";
630
+ networkStakeStepRewardAddressShare(_context, _address) {
631
+ throw new Error("Method [networkStakeStepRewardAddressShare] not implemented.");
632
+ }
633
+ networkStakeStepRewardClaimedByAddress(_address) {
634
+ throw new Error("Method [networkStakeStepRewardClaimedByAddress] not implemented.");
635
+ }
636
+ networkStakeStepRewardForPosition(_position, _range) {
637
+ throw new Error("Method [networkStakeStepRewardForPosition] not implemented.");
638
+ }
639
+ networkStakeStepRewardForStep(_context) {
640
+ throw new Error("Method [networkStakeStepRewardForStep] not implemented.");
641
+ }
642
+ networkStakeStepRewardForStepForPosition(_context, _position) {
643
+ throw new Error("Method [networkStakeStepRewardForStepForPosition] not implemented.");
644
+ }
645
+ networkStakeStepRewardPoolRewards(_context) {
646
+ throw new Error("Method [networkStakeStepRewardPoolRewards] not implemented.");
647
+ }
648
+ networkStakeStepRewardPoolShares(_context) {
649
+ throw new Error("Method [networkStakeStepRewardPoolShares] not implemented.");
650
+ }
651
+ networkStakeStepRewardPositionWeight(_context, _position) {
652
+ throw new Error("Method [networkStakeStepRewardPositionWeight] not implemented.");
653
+ }
654
+ networkStakeStepRewardPotentialPositionLoss(_context, _position) {
655
+ throw new Error("Method [networkStakeStepRewardPotentialPositionLoss] not implemented.");
656
+ }
657
+ networkStakeStepRewardRandomizer(_context) {
658
+ throw new Error("Method [networkStakeStepRewardRandomizer] not implemented.");
659
+ }
660
+ networkStakeStepRewardStakerCount(_context) {
661
+ throw new Error("Method [networkStakeStepRewardStakerCount] not implemented.");
662
+ }
663
+ networkStakeStepRewardUnclaimedByAddress(_address) {
664
+ throw new Error("Method [networkStakeStepRewardUnclaimedByAddress] not implemented.");
665
+ }
666
+ networkStakeStepRewardWeightForAddress(_context, _address) {
667
+ throw new Error("Method [networkStakeStepRewardWeightForAddress] not implemented.");
668
+ }
669
+ networkStakeStepRewardsForPosition(_position, _range) {
670
+ throw new Error("Method [networkStakeStepRewardsForPosition] not implemented.");
671
+ }
672
+ networkStakeStepRewardsForRange(_range) {
673
+ throw new Error("Method [networkStakeStepRewardsForRange] not implemented.");
674
+ }
675
+ networkStakeStepRewardsForStepLevel(_stepLevel, _range) {
676
+ throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
677
+ }
678
+ };
679
+ BaseNetworkStakeStepRewardService = _ts_decorate3([
680
+ creatableProvider2()
681
+ ], BaseNetworkStakeStepRewardService);
751
682
 
752
683
  // src/PendingTransactions/BasePendingTransactions.ts
753
684
  import { ValueType } from "@opentelemetry/api";
754
- import { assertEx as assertEx10, creatable as creatable5, exists, filterAs, filterAsync, forget, isDefined as isDefined10, isUndefined } from "@xylabs/sdk-js";
685
+ import { assertEx as assertEx10, exists, filterAs, filterAsync, forget, isDefined as isDefined6, isUndefined } from "@xylabs/sdk-js";
755
686
  import { MemoryArchivist } from "@xyo-network/archivist-memory";
756
- import { asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, isTransactionBoundWitnessWithStorageMeta } from "@xyo-network/xl1-protocol";
757
- import { findMostRecentBlock as findMostRecentBlock2, MempoolViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
758
- import { TransactionJsonSchemaValidator, validateTransaction } from "@xyo-network/xl1-validation";
759
- import { Mutex as Mutex2 } from "async-mutex";
687
+ import { AbstractCreatableProvider as AbstractCreatableProvider6, asBlockBoundWitnessWithHashMeta, asXL1BlockNumber, creatableProvider as creatableProvider3, findMostRecentBlock as findMostRecentBlock2, isTransactionBoundWitnessWithStorageMeta, MempoolViewerMoniker, TransactionJsonSchemaValidator, validateTransaction } from "@xyo-network/xl1-sdk";
688
+ import { Mutex } from "async-mutex";
760
689
 
761
690
  // src/PendingTransactions/bundledPayloadToHydratedTransaction.ts
762
691
  import { PayloadBuilder as PayloadBuilder2 } from "@xyo-network/payload-builder";
763
- import { asSignedTransactionBoundWitnessWithHashMeta } from "@xyo-network/xl1-protocol";
692
+ import { asSignedTransactionBoundWitnessWithHashMeta } from "@xyo-network/xl1-sdk";
764
693
  var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name(async (payload) => {
765
694
  const withHashMeta = await PayloadBuilder2.addHashMeta(payload.payloads);
766
695
  const tx = asSignedTransactionBoundWitnessWithHashMeta(withHashMeta.find((p) => p._hash === payload.root));
@@ -775,7 +704,7 @@ var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name(async (payload)
775
704
  // src/PendingTransactions/hydratedTransactionToPayloadBundle.ts
776
705
  import { PayloadBuilder as PayloadBuilder3 } from "@xyo-network/payload-builder";
777
706
  import { PayloadBundleSchema } from "@xyo-network/payload-model";
778
- import { flattenHydratedTransaction } from "@xyo-network/xl1-protocol-sdk";
707
+ import { flattenHydratedTransaction } from "@xyo-network/xl1-sdk";
779
708
  var hydratedTransactionToPayloadBundle = /* @__PURE__ */ __name((transaction) => {
780
709
  const root = transaction[0]._hash;
781
710
  return bundle(root, transaction);
@@ -791,18 +720,19 @@ var bundle = /* @__PURE__ */ __name((root, transaction) => {
791
720
  }, "bundle");
792
721
 
793
722
  // src/PendingTransactions/BasePendingTransactions.ts
794
- function _ts_decorate5(decorators, target, key, desc) {
723
+ function _ts_decorate4(decorators, target, key, desc) {
795
724
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
796
725
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
797
726
  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;
798
727
  return c > 3 && r && Object.defineProperty(target, key, r), r;
799
728
  }
800
- __name(_ts_decorate5, "_ts_decorate");
801
- var BasePendingTransactionsService = class _BasePendingTransactionsService extends BaseService {
729
+ __name(_ts_decorate4, "_ts_decorate");
730
+ var BasePendingTransactionsService = class _BasePendingTransactionsService extends AbstractCreatableProvider6 {
802
731
  static {
803
732
  __name(this, "BasePendingTransactionsService");
804
733
  }
805
734
  static defaultMoniker = MempoolViewerMoniker;
735
+ static dependencies = [];
806
736
  static monikers = [
807
737
  MempoolViewerMoniker
808
738
  ];
@@ -825,7 +755,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
825
755
  * A mutex to ensure that the counting the number of pending transactions is
826
756
  * not called concurrently
827
757
  */
828
- _countPendingTransactionsMutex = new Mutex2();
758
+ _countPendingTransactionsMutex = new Mutex();
829
759
  /**
830
760
  * A local Archivist optimized for fast retrieval that stores only validated
831
761
  * pending transactions
@@ -845,7 +775,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
845
775
  * A mutex to ensure that the curated pending transactions archivist is
846
776
  * updated in a thread-safe manner
847
777
  */
848
- _updateCuratedPendingTransactionsArchivistMutex = new Mutex2();
778
+ _updateCuratedPendingTransactionsArchivistMutex = new Mutex();
849
779
  get additionalPendingTransactionValidators() {
850
780
  return this.params.additionalPendingTransactionValidators ?? [];
851
781
  }
@@ -943,7 +873,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
943
873
  async cleanupWorker() {
944
874
  return await this._updateCuratedPendingTransactionsArchivistMutex.runExclusive(async () => {
945
875
  const lastHead = await findMostRecentBlock2(this.chainArchivist);
946
- if (isDefined10(lastHead)) await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
876
+ if (isDefined6(lastHead)) await this.pruneCuratedPendingTransactionsArchivist(lastHead._hash);
947
877
  }, _BasePendingTransactionsService.MutexPriority.PurgeTransactions);
948
878
  }
949
879
  async countPendingTransactions() {
@@ -1005,7 +935,7 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
1005
935
  let [lastHead] = filterAs(await this.chainArchivist.get([
1006
936
  head
1007
937
  ]), (x) => asBlockBoundWitnessWithHashMeta(x));
1008
- while (isDefined10(lastHead)) {
938
+ while (isDefined6(lastHead)) {
1009
939
  const pendingBundledTransactions = await this.pendingBundledTransactionsLocalArchivist.next({
1010
940
  limit: 100,
1011
941
  order: "asc",
@@ -1039,163 +969,32 @@ var BasePendingTransactionsService = class _BasePendingTransactionsService exten
1039
969
  });
1040
970
  }
1041
971
  };
1042
- BasePendingTransactionsService = _ts_decorate5([
1043
- creatable5()
972
+ BasePendingTransactionsService = _ts_decorate4([
973
+ creatableProvider3()
1044
974
  ], BasePendingTransactionsService);
1045
975
  var isTransactionExpired = /* @__PURE__ */ __name((block) => ([txBw]) => txBw.exp < block, "isTransactionExpired");
1046
976
  var isTransactionActive = /* @__PURE__ */ __name((block) => ([txBw]) => txBw.nbf <= block && txBw.exp >= block, "isTransactionActive");
1047
977
 
1048
- // src/implementation/pendingTransactions.ts
1049
- var serviceSingleton;
1050
- var initPendingTransactions = /* @__PURE__ */ __name(async ({ config, params, logger }) => {
1051
- if (serviceSingleton) return serviceSingleton;
1052
- return await timeBudget("initPendingTransactions", logger, async () => {
1053
- const endpoint = config.services?.apiEndpoint;
1054
- if (isDefined11(endpoint)) {
1055
- const transport = new HttpRpcTransport5(endpoint, {
1056
- ...MempoolViewerRpcSchemas2
1057
- });
1058
- const viewer = await JsonRpcMempoolViewer2.create({
1059
- transport
1060
- });
1061
- logger?.log("Using MempoolViewer RPC service at", endpoint);
1062
- return viewer;
1063
- } else {
1064
- serviceSingleton = await BasePendingTransactionsService.create(params);
1065
- }
1066
- return serviceSingleton;
1067
- }, 2e3, true);
1068
- }, "initPendingTransactions");
1069
-
1070
- // src/implementation/reward.ts
1071
- import { assertEx as assertEx11 } from "@xylabs/sdk-js";
1072
- import { SimpleBlockRewardViewer, timeBudget as timeBudget2 } from "@xyo-network/xl1-protocol-sdk";
1073
- var rewardServiceSingleton;
1074
- var initBlockRewardViewer = /* @__PURE__ */ __name((params) => {
1075
- if (rewardServiceSingleton) return rewardServiceSingleton;
1076
- return timeBudget2("initBlockRewardViewer", params.logger, () => {
1077
- const { config } = params;
1078
- rewardServiceSingleton = canUseEvmBlockRewardViewer({
1079
- config
1080
- }) ? initEvmBlockRewardViewer(params) : initXyoBlockRewardViewer(params);
1081
- return rewardServiceSingleton;
1082
- }, 2e3, true);
1083
- }, "initBlockRewardViewer");
1084
- var initXyoBlockRewardViewer = /* @__PURE__ */ __name((params) => {
1085
- if (rewardServiceSingleton) return rewardServiceSingleton;
1086
- return timeBudget2("initXyoBlockRewardViewer", params.logger, () => {
1087
- rewardServiceSingleton = SimpleBlockRewardViewer.create(params);
1088
- return rewardServiceSingleton;
1089
- }, 2e3, true);
1090
- }, "initXyoBlockRewardViewer");
1091
- var canUseEvmBlockRewardViewer = /* @__PURE__ */ __name((params) => canUseEvmProvider({
1092
- config: params.config
1093
- }), "canUseEvmBlockRewardViewer");
1094
- var initEvmBlockRewardViewer = /* @__PURE__ */ __name(async (params) => {
1095
- if (rewardServiceSingleton) return rewardServiceSingleton;
1096
- return await timeBudget2("initEvmBlockRewardViewer", params.logger, async () => {
1097
- const provider2 = assertEx11(await initEvmProvider(params));
1098
- const evmBlockRewardViewerParams = {
1099
- ...params,
1100
- provider: provider2
1101
- };
1102
- rewardServiceSingleton = EvmBlockRewardViewer.create(evmBlockRewardViewerParams);
1103
- return rewardServiceSingleton;
1104
- }, 2e3, true);
1105
- }, "initEvmBlockRewardViewer");
1106
-
1107
- // src/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
1108
- import { creatable as creatable6 } from "@xylabs/sdk-js";
1109
- import { NetworkStakeStepRewardViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
1110
- function _ts_decorate6(decorators, target, key, desc) {
1111
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1112
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1113
- 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;
1114
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1115
- }
1116
- __name(_ts_decorate6, "_ts_decorate");
1117
- var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends BaseService {
1118
- static {
1119
- __name(this, "BaseNetworkStakeStepRewardService");
1120
- }
1121
- static defaultMoniker = NetworkStakeStepRewardViewerMoniker;
1122
- static monikers = [
1123
- NetworkStakeStepRewardViewerMoniker
1124
- ];
1125
- moniker = _BaseNetworkStakeStepRewardService.defaultMoniker;
1126
- networkStakeStepRewardAddressHistory(_address) {
1127
- throw new Error("Method [networkStakeStepRewardAddressHistory] not implemented.");
1128
- }
1129
- networkStakeStepRewardAddressReward(_context, _address) {
1130
- throw new Error("Method [networkStakeStepRewardAddressReward] not implemented.");
1131
- }
1132
- networkStakeStepRewardAddressShare(_context, _address) {
1133
- throw new Error("Method [networkStakeStepRewardAddressShare] not implemented.");
1134
- }
1135
- networkStakeStepRewardClaimedByAddress(_address) {
1136
- throw new Error("Method [networkStakeStepRewardClaimedByAddress] not implemented.");
1137
- }
1138
- networkStakeStepRewardForPosition(_position, _range) {
1139
- throw new Error("Method [networkStakeStepRewardForPosition] not implemented.");
1140
- }
1141
- networkStakeStepRewardForStep(_context) {
1142
- throw new Error("Method [networkStakeStepRewardForStep] not implemented.");
1143
- }
1144
- networkStakeStepRewardForStepForPosition(_context, _position) {
1145
- throw new Error("Method [networkStakeStepRewardForStepForPosition] not implemented.");
1146
- }
1147
- networkStakeStepRewardPoolRewards(_context) {
1148
- throw new Error("Method [networkStakeStepRewardPoolRewards] not implemented.");
1149
- }
1150
- networkStakeStepRewardPoolShares(_context) {
1151
- throw new Error("Method [networkStakeStepRewardPoolShares] not implemented.");
1152
- }
1153
- networkStakeStepRewardPositionWeight(_context, _position) {
1154
- throw new Error("Method [networkStakeStepRewardPositionWeight] not implemented.");
1155
- }
1156
- networkStakeStepRewardPotentialPositionLoss(_context, _position) {
1157
- throw new Error("Method [networkStakeStepRewardPotentialPositionLoss] not implemented.");
1158
- }
1159
- networkStakeStepRewardRandomizer(_context) {
1160
- throw new Error("Method [networkStakeStepRewardRandomizer] not implemented.");
1161
- }
1162
- networkStakeStepRewardStakerCount(_context) {
1163
- throw new Error("Method [networkStakeStepRewardStakerCount] not implemented.");
1164
- }
1165
- networkStakeStepRewardUnclaimedByAddress(_address) {
1166
- throw new Error("Method [networkStakeStepRewardUnclaimedByAddress] not implemented.");
1167
- }
1168
- networkStakeStepRewardWeightForAddress(_context, _address) {
1169
- throw new Error("Method [networkStakeStepRewardWeightForAddress] not implemented.");
1170
- }
1171
- networkStakeStepRewardsForPosition(_position, _range) {
1172
- throw new Error("Method [networkStakeStepRewardsForPosition] not implemented.");
1173
- }
1174
- networkStakeStepRewardsForRange(_range) {
1175
- throw new Error("Method [networkStakeStepRewardsForRange] not implemented.");
1176
- }
1177
- networkStakeStepRewardsForStepLevel(_stepLevel, _range) {
1178
- throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
1179
- }
1180
- };
1181
- BaseNetworkStakeStepRewardService = _ts_decorate6([
1182
- creatable6()
1183
- ], BaseNetworkStakeStepRewardService);
1184
-
1185
978
  // src/Schemas/BaseSchemasService.ts
1186
- import { creatable as creatable7, spanRootAsync } from "@xylabs/sdk-js";
1187
- import { schemasSummary } from "@xyo-network/xl1-protocol-sdk";
1188
- function _ts_decorate7(decorators, target, key, desc) {
979
+ import { spanRootAsync } from "@xylabs/sdk-js";
980
+ import { AbstractCreatableProvider as AbstractCreatableProvider7, creatableProvider as creatableProvider4, schemasSummary } from "@xyo-network/xl1-sdk";
981
+ function _ts_decorate5(decorators, target, key, desc) {
1189
982
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1190
983
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1191
984
  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;
1192
985
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1193
986
  }
1194
- __name(_ts_decorate7, "_ts_decorate");
1195
- var BaseSchemasService = class extends BaseService {
987
+ __name(_ts_decorate5, "_ts_decorate");
988
+ var BaseSchemasService = class _BaseSchemasService extends AbstractCreatableProvider7 {
1196
989
  static {
1197
990
  __name(this, "BaseSchemasService");
1198
991
  }
992
+ static defaultMoniker = "SchemasService";
993
+ static dependencies = [];
994
+ static monikers = [
995
+ _BaseSchemasService.defaultMoniker
996
+ ];
997
+ moniker = _BaseSchemasService.defaultMoniker;
1199
998
  async schema(head, schema) {
1200
999
  return (await this.schemas(head, [
1201
1000
  schema
@@ -1213,26 +1012,23 @@ var BaseSchemasService = class extends BaseService {
1213
1012
  });
1214
1013
  }
1215
1014
  };
1216
- BaseSchemasService = _ts_decorate7([
1217
- creatable7()
1015
+ BaseSchemasService = _ts_decorate5([
1016
+ creatableProvider4()
1218
1017
  ], BaseSchemasService);
1219
1018
 
1220
1019
  // src/simple/block/runner/SimpleBlockRunner.ts
1221
- import { assertEx as assertEx13, exists as exists2, hexToBigInt, isDefined as isDefined12 } from "@xylabs/sdk-js";
1020
+ import { assertEx as assertEx12, exists as exists2, hexToBigInt, isDefined as isDefined7 } from "@xylabs/sdk-js";
1222
1021
  import { MemoryArchivist as MemoryArchivist2 } from "@xyo-network/archivist-memory";
1223
1022
  import { FixedPercentageBlockRewardDiviner, FixedPercentageBlockRewardDivinerConfigSchema } from "@xyo-network/chain-modules";
1224
1023
  import { buildNextBlock as buildNextBlock2 } from "@xyo-network/chain-protocol";
1225
1024
  import { PayloadBuilder as PayloadBuilder5 } from "@xyo-network/payload-builder";
1226
- import { asBlockBoundWitness, AttoXL1, BlockNumberSchema, defaultRewardRatio, XYO_STEP_REWARD_ADDRESS } from "@xyo-network/xl1-protocol";
1227
- import { AbstractCreatableProvider as AbstractCreatableProvider2, AccountBalanceViewerMoniker, BlockRewardViewerMoniker as BlockRewardViewerMoniker2, BlockRunnerMoniker, creatableProvider, createDeclarationIntent as createDeclarationIntent2, MempoolRunnerMoniker, MempoolViewerMoniker as MempoolViewerMoniker2, TimeSyncViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
1025
+ import { AbstractCreatableProvider as AbstractCreatableProvider8, 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";
1228
1026
 
1229
1027
  // src/simple/block/runner/generateTransactionFeeTransfers.ts
1230
1028
  import { hexFromBigInt } from "@xylabs/sdk-js";
1231
- import { assertEx as assertEx12 } from "@xylabs/sdk-js";
1029
+ import { assertEx as assertEx11 } from "@xylabs/sdk-js";
1232
1030
  import { PayloadBuilder as PayloadBuilder4 } from "@xyo-network/payload-builder";
1233
- import { TransferSchema, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-protocol";
1234
- import { transactionRequiredGas } from "@xyo-network/xl1-protocol-sdk";
1235
- import { HydratedTransactionWrapper } from "@xyo-network/xl1-wrappers";
1031
+ import { HydratedTransactionWrapper, transactionRequiredGas, TransferSchema, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
1236
1032
  async function generateTransactionFeeTransfers(address, transactions) {
1237
1033
  const txs = await Promise.all(transactions.map(async (tx) => {
1238
1034
  return HydratedTransactionWrapper.parse([
@@ -1263,7 +1059,7 @@ async function generateTransactionFeeTransfers(address, transactions) {
1263
1059
  return payload;
1264
1060
  });
1265
1061
  for (const [from, amount] of Object.entries(txGasCosts)) {
1266
- const fromPayload = assertEx12(payloads.find((p) => p.from === from), () => "from payload not found");
1062
+ const fromPayload = assertEx11(payloads.find((p) => p.from === from), () => "from payload not found");
1267
1063
  fromPayload.transfers[address] = hexFromBigInt(amount);
1268
1064
  }
1269
1065
  return payloads;
@@ -1271,21 +1067,29 @@ async function generateTransactionFeeTransfers(address, transactions) {
1271
1067
  __name(generateTransactionFeeTransfers, "generateTransactionFeeTransfers");
1272
1068
 
1273
1069
  // src/simple/block/runner/SimpleBlockRunner.ts
1274
- function _ts_decorate8(decorators, target, key, desc) {
1070
+ function _ts_decorate6(decorators, target, key, desc) {
1275
1071
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1276
1072
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1277
1073
  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;
1278
1074
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1279
1075
  }
1280
- __name(_ts_decorate8, "_ts_decorate");
1076
+ __name(_ts_decorate6, "_ts_decorate");
1281
1077
  var DEFAULT_BLOCK_SIZE = 10;
1282
1078
  var XYO_PRODUCER_REDECLARATION_DURATION = 1e4;
1283
1079
  var XYO_PRODUCER_REDECLARATION_WINDOW = 500;
1284
- var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvider2 {
1080
+ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvider8 {
1285
1081
  static {
1286
1082
  __name(this, "SimpleBlockRunner");
1287
1083
  }
1288
1084
  static defaultMoniker = BlockRunnerMoniker;
1085
+ static dependencies = [
1086
+ AccountBalanceViewerMoniker,
1087
+ BlockRewardViewerMoniker2,
1088
+ BlockValidationViewerMoniker,
1089
+ MempoolRunnerMoniker,
1090
+ MempoolViewerMoniker2,
1091
+ TimeSyncViewerMoniker
1092
+ ];
1289
1093
  static monikers = [
1290
1094
  BlockRunnerMoniker
1291
1095
  ];
@@ -1297,6 +1101,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1297
1101
  _accountBalanceViewer;
1298
1102
  _address;
1299
1103
  _blockRewardViewer;
1104
+ _blockValidationViewer;
1300
1105
  _mempoolRunner;
1301
1106
  _mempoolViewer;
1302
1107
  _rewardAddress;
@@ -1333,6 +1138,9 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1333
1138
  get blockRewardViewer() {
1334
1139
  return this._blockRewardViewer;
1335
1140
  }
1141
+ get blockValidationViewer() {
1142
+ return this._blockValidationViewer;
1143
+ }
1336
1144
  // protected get electionService() {
1337
1145
  // return assertEx(this.params.electionService, () => 'electionService is required')
1338
1146
  // }
@@ -1349,7 +1157,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1349
1157
  return this._rejectedTransactionsArchivist;
1350
1158
  }
1351
1159
  get rewardAddress() {
1352
- return assertEx13(this.params.rewardAddress, () => "No reward address provided");
1160
+ return this._rewardAddress;
1353
1161
  }
1354
1162
  // protected get stakeIntentService(): StakeIntentService {
1355
1163
  // return assertEx(this.params.stakeIntentService, () => 'No StakeIntentService provided')
@@ -1362,13 +1170,14 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1362
1170
  // }
1363
1171
  async createHandler() {
1364
1172
  this._rejectedTransactionsArchivist = this.params.rejectedTransactionsArchivist ?? await MemoryArchivist2.create();
1365
- this._account = assertEx13(this.params.account, () => "Account is required");
1366
- this._rewardAddress = assertEx13(this.params.rewardAddress, () => "No reward address provided");
1173
+ this._account = assertEx12(this.params.account, () => "Account is required");
1367
1174
  this._address = this.account.address;
1368
1175
  this._accountBalanceViewer = await this.locateAndCreate(AccountBalanceViewerMoniker);
1369
1176
  this._blockRewardViewer = await this.locateAndCreate(BlockRewardViewerMoniker2);
1177
+ this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
1370
1178
  this._mempoolRunner = await this.locateAndCreate(MempoolRunnerMoniker);
1371
1179
  this._mempoolViewer = await this.locateAndCreate(MempoolViewerMoniker2);
1180
+ this._rewardAddress = this.params.rewardAddress ?? this.context.config.producer.rewardAddress;
1372
1181
  this._timeSyncViewer = await this.locateAndCreate(TimeSyncViewerMoniker);
1373
1182
  }
1374
1183
  async next(head) {
@@ -1376,7 +1185,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1376
1185
  }
1377
1186
  async produceNextBlock(head, force) {
1378
1187
  const result = await this.proposeNextValidBlock(head);
1379
- return force ? assertEx13(result, () => "Failed to produce next block") : result;
1188
+ return force ? assertEx12(result, () => "Failed to produce next block") : result;
1380
1189
  }
1381
1190
  async getBlockRewardTransfers(block) {
1382
1191
  if (!this._blockRewardDiviner) {
@@ -1413,7 +1222,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1413
1222
  async proposeNextValidBlock(head, validateBalances = false, force = false) {
1414
1223
  return await this.spanAsync("proposeNextValidBlock", async () => {
1415
1224
  try {
1416
- const { block: previousBlock } = assertEx13(asBlockBoundWitness(head), () => "Invalid head block");
1225
+ const { block: previousBlock } = assertEx12(asBlockBoundWitness(head), () => "Invalid head block");
1417
1226
  const nextBlock = previousBlock + 1;
1418
1227
  const nextBlockTransactions = await this.mempoolViewer.pendingTransactions({
1419
1228
  limit: _SimpleBlockRunner.DefaultBlockSize
@@ -1427,7 +1236,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1427
1236
  blockPayloads.push(...rewardTransferPayloads);
1428
1237
  const transactionTransfers = await generateTransactionFeeTransfers(this.address, nextBlockTransactions);
1429
1238
  const timeStart = Date.now();
1430
- const timePayload = await this.generateTimePayload(head);
1239
+ const timePayload = await this.generateTimePayload();
1431
1240
  const timeDuration = Date.now() - timeStart;
1432
1241
  if (timeDuration > 100) {
1433
1242
  this.logger?.warn(`[Slow] Generated time payload in ${timeDuration}ms`);
@@ -1443,11 +1252,23 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1443
1252
  this.account
1444
1253
  ], XYO_STEP_REWARD_ADDRESS, stepRewardPoolBalance);
1445
1254
  this.logger?.info(`Built block ${block[0].block} in ${Date.now() - startBuild}ms with ${block[1].length} payloads`);
1446
- await this.mempoolRunner.submitBlocks([
1447
- block
1448
- ]);
1449
- return block;
1450
- } catch {
1255
+ this.logger?.info(`Validating block ${block[0].block} with ${block[1].length} payloads`);
1256
+ const startValidate = Date.now();
1257
+ const errors = await this.blockValidationViewer.validateBlock(block);
1258
+ this.logger?.info(`Validated block ${block[0].block} in ${Date.now() - startValidate}ms with ${block[1].length} payloads`);
1259
+ if (errors.length > 0) {
1260
+ this.logger?.warn(`Validation of produced block failed: ${errors.at(0)?.message}`);
1261
+ const rejectedTransactions = block[1];
1262
+ await this.rejectedTransactionsArchivist.insert(rejectedTransactions);
1263
+ } else {
1264
+ await this.mempoolRunner.submitBlocks([
1265
+ block
1266
+ ]);
1267
+ return block;
1268
+ }
1269
+ } catch (error) {
1270
+ this.logger?.error(`Error proposing next valid block: ${error.message}`);
1271
+ throw error;
1451
1272
  }
1452
1273
  });
1453
1274
  }
@@ -1476,7 +1297,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1476
1297
  fundedTransfers
1477
1298
  ];
1478
1299
  }
1479
- async generateTimePayload(head) {
1300
+ async generateTimePayload() {
1480
1301
  return await this.timeSyncViewer.currentTimePayload();
1481
1302
  }
1482
1303
  /**
@@ -1486,7 +1307,7 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1486
1307
  */
1487
1308
  heartbeatRequired(head) {
1488
1309
  const epoch = head.$epoch;
1489
- if (isDefined12(epoch)) {
1310
+ if (isDefined7(epoch)) {
1490
1311
  const { heartbeatInterval } = this.params.context.config.producer;
1491
1312
  if (Date.now() - epoch > heartbeatInterval) {
1492
1313
  return true;
@@ -1495,8 +1316,8 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
1495
1316
  return false;
1496
1317
  }
1497
1318
  };
1498
- SimpleBlockRunner = _ts_decorate8([
1499
- creatableProvider()
1319
+ SimpleBlockRunner = _ts_decorate6([
1320
+ creatableProvider5()
1500
1321
  ], SimpleBlockRunner);
1501
1322
 
1502
1323
  // src/StakeIntent/lib/getBlockSignedStakeDeclarations.ts
@@ -1504,7 +1325,7 @@ import { exists as exists3, filterAs as filterAs2 } from "@xylabs/sdk-js";
1504
1325
  import { isBoundWitness } from "@xyo-network/boundwitness-model";
1505
1326
  import { payloadSchemasContains } from "@xyo-network/boundwitness-validator";
1506
1327
  import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
1507
- import { asChainStakeIntent, ChainStakeIntentSchema } from "@xyo-network/xl1-protocol";
1328
+ import { asChainStakeIntent, ChainStakeIntentSchema } from "@xyo-network/xl1-sdk";
1508
1329
  var getBlockSignedStakeDeclarations = /* @__PURE__ */ __name(async (block, archivist, intent) => {
1509
1330
  const blockData = await archivist.get(block.payload_hashes);
1510
1331
  const bwsFromBlock = blockData.filter((x) => isBoundWitness(x));
@@ -1526,28 +1347,34 @@ var mapBoundWitnessToStakeIntentHashes = /* @__PURE__ */ __name((bw) => {
1526
1347
  }, "mapBoundWitnessToStakeIntentHashes");
1527
1348
 
1528
1349
  // src/StakeIntent/XyoStakeIntentService.ts
1529
- import { asAddress as asAddress2, assertEx as assertEx14, creatable as creatable8, filterAs as filterAs3, isUndefined as isUndefined2 } from "@xylabs/sdk-js";
1350
+ import { asAddress as asAddress2, assertEx as assertEx13, filterAs as filterAs3, isUndefined as isUndefined2 } from "@xylabs/sdk-js";
1530
1351
  import { analyzeChain, ChainStakeIntentAnalyzer, isChainSummaryStakeIntent } from "@xyo-network/chain-analyze";
1531
1352
  import { DEFAULT_FIND_FIRST_MATCHING_NEXT_OPTIONS, findFirstMatching, IntervalMap } from "@xyo-network/chain-utils";
1532
1353
  import { PayloadBuilder as PayloadBuilder6 } from "@xyo-network/payload-builder";
1533
- import { asBlockBoundWitness as asBlockBoundWitness2, asBlockBoundWitnessWithStorageMeta, asChainStakeIntent as asChainStakeIntent2 } from "@xyo-network/xl1-protocol";
1534
- import { asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as BlockViewerMoniker3, ChainIndexingServiceStateSchema, ChainStakeViewerMoniker, isChainIndexingServiceState, readPayloadMapFromStore, timeBudget as timeBudget3 } from "@xyo-network/xl1-protocol-sdk";
1535
- import { Mutex as Mutex3 } from "async-mutex";
1354
+ import { AbstractCreatableProvider as AbstractCreatableProvider9, asChainIndexingServiceStateWithStorageMeta, BlockViewerMoniker as BlockViewerMoniker3, ChainIndexingServiceStateSchema, ChainStakeViewerMoniker, creatableProvider as creatableProvider6, isChainIndexingServiceState, readPayloadMapFromStore, timeBudget } from "@xyo-network/xl1-sdk";
1355
+ import { asBlockBoundWitness as asBlockBoundWitness2, asBlockBoundWitnessWithStorageMeta, asChainStakeIntent as asChainStakeIntent2 } from "@xyo-network/xl1-sdk";
1356
+ import { Mutex as Mutex2 } from "async-mutex";
1536
1357
  import { LRUCache } from "lru-cache";
1537
- function _ts_decorate9(decorators, target, key, desc) {
1358
+ function _ts_decorate7(decorators, target, key, desc) {
1538
1359
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1539
1360
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1540
1361
  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;
1541
1362
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1542
1363
  }
1543
- __name(_ts_decorate9, "_ts_decorate");
1364
+ __name(_ts_decorate7, "_ts_decorate");
1544
1365
  var ACTIVE_STAKE_TTL = 1e3 * 60 * 60 * 2;
1545
1366
  var NO_ACTIVE_STAKE_TTL = 1e3 * 2;
1546
1367
  var STAKE_CACHE_MAX_ENTRIES = 1e4;
1547
- var XyoStakeIntentService = class extends BaseService {
1368
+ var XyoStakeIntentService = class _XyoStakeIntentService extends AbstractCreatableProvider9 {
1548
1369
  static {
1549
1370
  __name(this, "XyoStakeIntentService");
1550
1371
  }
1372
+ static defaultMoniker = "StakeIntent";
1373
+ static dependencies = [];
1374
+ static monikers = [
1375
+ _XyoStakeIntentService.defaultMoniker
1376
+ ];
1377
+ moniker = "StakeIntent";
1551
1378
  // TODO: Use hash instead of block number to handle chain reorgs
1552
1379
  _lastIndexedBlockHash = void 0;
1553
1380
  // TODO: Interval tree per declaration (bank, validator, etc.)
@@ -1561,26 +1388,26 @@ var XyoStakeIntentService = class extends BaseService {
1561
1388
  _stakeCache = new LRUCache({
1562
1389
  max: STAKE_CACHE_MAX_ENTRIES
1563
1390
  });
1564
- _updateMutex = new Mutex3();
1391
+ _updateMutex = new Mutex2();
1565
1392
  _blockViewer;
1566
1393
  _chainStakeViewer;
1567
1394
  get blockViewer() {
1568
1395
  return this._blockViewer;
1569
1396
  }
1570
1397
  get chainArchivist() {
1571
- return assertEx14(this.params.chainArchivist, () => "chainArchivist not set");
1398
+ return assertEx13(this.params.chainArchivist, () => "chainArchivist not set");
1572
1399
  }
1573
1400
  get chainStakeViewer() {
1574
1401
  return this._chainStakeViewer;
1575
1402
  }
1576
1403
  get stakeIntentStateArchivist() {
1577
- return assertEx14(this.params.stakeIntentStateArchivist, () => "stakeIntentStateArchivist not set");
1404
+ return assertEx13(this.params.stakeIntentStateArchivist, () => "stakeIntentStateArchivist not set");
1578
1405
  }
1579
1406
  static async paramsHandler(params) {
1580
1407
  return {
1581
1408
  ...await super.paramsHandler(params),
1582
- chainArchivist: assertEx14(params?.chainArchivist, () => "chainArchivist is required"),
1583
- stakeIntentStateArchivist: assertEx14(params?.stakeIntentStateArchivist, () => "stakeIntentStateArchivist is required")
1409
+ chainArchivist: assertEx13(params?.chainArchivist, () => "chainArchivist is required"),
1410
+ stakeIntentStateArchivist: assertEx13(params?.stakeIntentStateArchivist, () => "stakeIntentStateArchivist is required")
1584
1411
  };
1585
1412
  }
1586
1413
  async createHandler() {
@@ -1592,13 +1419,13 @@ var XyoStakeIntentService = class extends BaseService {
1592
1419
  }
1593
1420
  async getDeclaredCandidateRanges(address, intent) {
1594
1421
  await Promise.resolve();
1595
- assertEx14(intent === "producer", () => `Support not yet added for intent ${intent}`);
1422
+ assertEx13(intent === "producer", () => `Support not yet added for intent ${intent}`);
1596
1423
  const results = this._producers.get(address);
1597
1424
  return results ?? [];
1598
1425
  }
1599
1426
  async getDeclaredCandidatesForBlock(block, intent) {
1600
1427
  return await this.spanAsync("getDeclaredCandidatesForBlock", async () => {
1601
- assertEx14(intent === "producer", () => `Support not yet added for intent ${intent}`);
1428
+ assertEx13(intent === "producer", () => `Support not yet added for intent ${intent}`);
1602
1429
  const results = this._producers.findAllContaining(block);
1603
1430
  const candidates = [
1604
1431
  ...results
@@ -1663,8 +1490,8 @@ var XyoStakeIntentService = class extends BaseService {
1663
1490
  ]);
1664
1491
  }
1665
1492
  async recoverState(current) {
1666
- return await timeBudget3("XyoStakeIntentService.recoverState", console, async () => {
1667
- const currentBlock = assertEx14(asBlockBoundWitness2((await this.chainArchivist.get([
1493
+ return await timeBudget("XyoStakeIntentService.recoverState", console, async () => {
1494
+ const currentBlock = assertEx13(asBlockBoundWitness2((await this.chainArchivist.get([
1668
1495
  current
1669
1496
  ]))?.[0]), () => `Block ${current} not found`);
1670
1497
  const currentBlockNum = currentBlock.block;
@@ -1706,7 +1533,7 @@ var XyoStakeIntentService = class extends BaseService {
1706
1533
  return await this.spanAsync("updateIndex", async () => {
1707
1534
  const currentHead = (await this.blockViewer.currentBlock())[0];
1708
1535
  if (isUndefined2(currentHead)) return;
1709
- return await timeBudget3("XyoStakeIntentService.updateIndex", console, async () => {
1536
+ return await timeBudget("XyoStakeIntentService.updateIndex", console, async () => {
1710
1537
  const currentHeadHash = currentHead._hash;
1711
1538
  const chainMap = readPayloadMapFromStore(this.chainArchivist);
1712
1539
  const result = await analyzeChain({
@@ -1733,29 +1560,21 @@ var XyoStakeIntentService = class extends BaseService {
1733
1560
  });
1734
1561
  }
1735
1562
  };
1736
- XyoStakeIntentService = _ts_decorate9([
1737
- creatable8()
1563
+ XyoStakeIntentService = _ts_decorate7([
1564
+ creatableProvider6()
1738
1565
  ], XyoStakeIntentService);
1739
1566
 
1740
1567
  // src/StepStake/BaseStepStakeService.ts
1741
- import { creatable as creatable9 } from "@xylabs/sdk-js";
1742
- import { StepStakeViewerMoniker } from "@xyo-network/xl1-protocol-sdk";
1743
- function _ts_decorate10(decorators, target, key, desc) {
1744
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1745
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1746
- 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;
1747
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1748
- }
1749
- __name(_ts_decorate10, "_ts_decorate");
1750
- var BaseStepStakeService = class _BaseStepStakeService extends BaseService {
1568
+ import { AbstractCreatableProvider as AbstractCreatableProvider10, StepStakeViewerMoniker } from "@xyo-network/xl1-sdk";
1569
+ var AbstractStepStakeService = class _AbstractStepStakeService extends AbstractCreatableProvider10 {
1751
1570
  static {
1752
- __name(this, "BaseStepStakeService");
1571
+ __name(this, "AbstractStepStakeService");
1753
1572
  }
1754
1573
  static defaultMoniker = StepStakeViewerMoniker;
1755
1574
  static monikers = [
1756
1575
  StepStakeViewerMoniker
1757
1576
  ];
1758
- moniker = _BaseStepStakeService.defaultMoniker;
1577
+ moniker = _AbstractStepStakeService.defaultMoniker;
1759
1578
  stepStake(_step) {
1760
1579
  throw new Error("Method [stepStake] not implemented.");
1761
1580
  }
@@ -1763,17 +1582,12 @@ var BaseStepStakeService = class _BaseStepStakeService extends BaseService {
1763
1582
  throw new Error("Method [stepStakeForAddress] not implemented.");
1764
1583
  }
1765
1584
  };
1766
- BaseStepStakeService = _ts_decorate10([
1767
- creatable9()
1768
- ], BaseStepStakeService);
1769
1585
  export {
1770
- BaseAccountableService,
1586
+ AbstractStepStakeService,
1771
1587
  BaseElectionService,
1772
1588
  BaseNetworkStakeStepRewardService,
1773
1589
  BasePendingTransactionsService,
1774
1590
  BaseSchemasService,
1775
- BaseService,
1776
- BaseStepStakeService,
1777
1591
  DEFAULT_BLOCK_SIZE,
1778
1592
  EvmBlockRewardViewer,
1779
1593
  EvmChainViewer,
@@ -1786,20 +1600,10 @@ export {
1786
1600
  accountBalancesViewerFromArchivist,
1787
1601
  blockViewerFromChainIteratorAndArchivist,
1788
1602
  canUseEvmProvider,
1789
- creatableService,
1790
1603
  createBootstrapHead,
1791
1604
  getBlockSignedStakeDeclarations,
1792
- initAccountBalanceService,
1793
- initBlockRewardViewer,
1794
- initBlockViewer,
1795
1605
  initChainService,
1796
- initEvmBlockRewardViewer,
1797
1606
  initEvmProvider,
1798
- initMemoryChainService,
1799
- initMempoolRunner,
1800
- initMempoolViewer,
1801
- initPendingTransactions,
1802
- initXyoBlockRewardViewer,
1803
- submitNewChain
1607
+ initMemoryChainService
1804
1608
  };
1805
1609
  //# sourceMappingURL=index.mjs.map