@xyo-network/chain-sdk 4.1.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/dist/browser/modules/ethereum/block/estimateBlockNumberAt.d.ts +1 -16
  2. package/dist/browser/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -1
  3. package/dist/browser/modules/ethereum/block/findContractDeploymentBlock.d.ts +2 -0
  4. package/dist/browser/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +1 -0
  5. package/dist/browser/modules/ethereum/block/index.d.ts +1 -0
  6. package/dist/browser/modules/ethereum/block/index.d.ts.map +1 -1
  7. package/dist/browser/modules/ethereum/drivers/EvmStakeEventZod.d.ts +1 -244
  8. package/dist/browser/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +1 -1
  9. package/dist/browser/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +1 -57
  10. package/dist/browser/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
  11. package/dist/browser/modules/ethereum/drivers/EvmStakeViewer.d.ts +1 -41
  12. package/dist/browser/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
  13. package/dist/browser/modules/ethereum/index.d.ts +2 -0
  14. package/dist/browser/modules/ethereum/index.d.ts.map +1 -1
  15. package/dist/browser/modules/ethereum/indexing/EvmEventIndexModel.d.ts +107 -0
  16. package/dist/browser/modules/ethereum/indexing/EvmEventIndexModel.d.ts.map +1 -0
  17. package/dist/browser/modules/ethereum/indexing/EvmEventIndexPaths.d.ts +6 -0
  18. package/dist/browser/modules/ethereum/indexing/EvmEventIndexPaths.d.ts.map +1 -0
  19. package/dist/browser/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts +9 -0
  20. package/dist/browser/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts.map +1 -0
  21. package/dist/browser/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +54 -0
  22. package/dist/browser/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +1 -0
  23. package/dist/browser/modules/ethereum/indexing/index.d.ts +5 -0
  24. package/dist/browser/modules/ethereum/indexing/index.d.ts.map +1 -0
  25. package/dist/browser/modules/ethereum/providers/AbstractEvmProvider.d.ts +1 -17
  26. package/dist/browser/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +1 -1
  27. package/dist/browser/modules/ethereum/providers/AbstractEvmViewer.d.ts +1 -11
  28. package/dist/browser/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +1 -1
  29. package/dist/browser/modules/ethereum/providers/EvmChainContractViewer.d.ts +1 -35
  30. package/dist/browser/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +1 -1
  31. package/dist/browser/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +1 -26
  32. package/dist/browser/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +1 -1
  33. package/dist/browser/modules/ethereum/rpc/index.d.ts +4 -0
  34. package/dist/browser/modules/ethereum/rpc/index.d.ts.map +1 -0
  35. package/dist/browser/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +2 -0
  36. package/dist/browser/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +1 -0
  37. package/dist/browser/modules/ethereum/rpc/isRpcRateLimitError.d.ts +1 -5
  38. package/dist/browser/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -1
  39. package/dist/browser/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +1 -18
  40. package/dist/browser/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -1
  41. package/dist/browser/modules/services/BlockReward/EvmBlockRewardViewer.d.ts +1 -21
  42. package/dist/browser/modules/services/BlockReward/EvmBlockRewardViewer.d.ts.map +1 -1
  43. package/dist/browser/modules/services/ChainValidator/XyoValidator.d.ts +7 -1
  44. package/dist/browser/modules/services/ChainValidator/XyoValidator.d.ts.map +1 -1
  45. package/dist/browser/modules/services/Election/BaseElectionService.d.ts +1 -0
  46. package/dist/browser/modules/services/Election/BaseElectionService.d.ts.map +1 -1
  47. package/dist/browser/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +1 -0
  48. package/dist/browser/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
  49. package/dist/browser/modules/services/implementation/processPendingBlocks.d.ts +4 -4
  50. package/dist/browser/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -2
  51. package/dist/browser/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  52. package/dist/browser/modules/services/simple/block/runner/producerTuning.d.ts +13 -0
  53. package/dist/browser/modules/services/simple/block/runner/producerTuning.d.ts.map +1 -0
  54. package/dist/browser/modules/wrappers/index.d.ts +1 -1
  55. package/dist/browser/modules/wrappers/index.d.ts.map +1 -1
  56. package/dist/neutral/ethereum.mjs +312 -775
  57. package/dist/neutral/ethereum.mjs.map +4 -4
  58. package/dist/neutral/modules/ethereum/block/estimateBlockNumberAt.d.ts +1 -16
  59. package/dist/neutral/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -1
  60. package/dist/neutral/modules/ethereum/block/findContractDeploymentBlock.d.ts +2 -0
  61. package/dist/neutral/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +1 -0
  62. package/dist/neutral/modules/ethereum/block/index.d.ts +1 -0
  63. package/dist/neutral/modules/ethereum/block/index.d.ts.map +1 -1
  64. package/dist/neutral/modules/ethereum/drivers/EvmStakeEventZod.d.ts +1 -244
  65. package/dist/neutral/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +1 -1
  66. package/dist/neutral/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +1 -57
  67. package/dist/neutral/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
  68. package/dist/neutral/modules/ethereum/drivers/EvmStakeViewer.d.ts +1 -41
  69. package/dist/neutral/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
  70. package/dist/neutral/modules/ethereum/index.d.ts +2 -0
  71. package/dist/neutral/modules/ethereum/index.d.ts.map +1 -1
  72. package/dist/neutral/modules/ethereum/indexing/EvmEventIndexModel.d.ts +107 -0
  73. package/dist/neutral/modules/ethereum/indexing/EvmEventIndexModel.d.ts.map +1 -0
  74. package/dist/neutral/modules/ethereum/indexing/EvmEventIndexPaths.d.ts +6 -0
  75. package/dist/neutral/modules/ethereum/indexing/EvmEventIndexPaths.d.ts.map +1 -0
  76. package/dist/neutral/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts +9 -0
  77. package/dist/neutral/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts.map +1 -0
  78. package/dist/neutral/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +54 -0
  79. package/dist/neutral/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +1 -0
  80. package/dist/neutral/modules/ethereum/indexing/index.d.ts +5 -0
  81. package/dist/neutral/modules/ethereum/indexing/index.d.ts.map +1 -0
  82. package/dist/neutral/modules/ethereum/providers/AbstractEvmProvider.d.ts +1 -17
  83. package/dist/neutral/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +1 -1
  84. package/dist/neutral/modules/ethereum/providers/AbstractEvmViewer.d.ts +1 -11
  85. package/dist/neutral/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +1 -1
  86. package/dist/neutral/modules/ethereum/providers/EvmChainContractViewer.d.ts +1 -35
  87. package/dist/neutral/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +1 -1
  88. package/dist/neutral/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +1 -26
  89. package/dist/neutral/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +1 -1
  90. package/dist/neutral/modules/ethereum/rpc/index.d.ts +4 -0
  91. package/dist/neutral/modules/ethereum/rpc/index.d.ts.map +1 -0
  92. package/dist/neutral/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +2 -0
  93. package/dist/neutral/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +1 -0
  94. package/dist/neutral/modules/ethereum/rpc/isRpcRateLimitError.d.ts +1 -5
  95. package/dist/neutral/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -1
  96. package/dist/neutral/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +1 -18
  97. package/dist/neutral/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -1
  98. package/dist/neutral/modules/services/BlockReward/EvmBlockRewardViewer.d.ts +1 -21
  99. package/dist/neutral/modules/services/BlockReward/EvmBlockRewardViewer.d.ts.map +1 -1
  100. package/dist/neutral/modules/services/ChainValidator/XyoValidator.d.ts +7 -1
  101. package/dist/neutral/modules/services/ChainValidator/XyoValidator.d.ts.map +1 -1
  102. package/dist/neutral/modules/services/Election/BaseElectionService.d.ts +1 -0
  103. package/dist/neutral/modules/services/Election/BaseElectionService.d.ts.map +1 -1
  104. package/dist/neutral/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +1 -0
  105. package/dist/neutral/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
  106. package/dist/neutral/modules/services/implementation/processPendingBlocks.d.ts +4 -4
  107. package/dist/neutral/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -2
  108. package/dist/neutral/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  109. package/dist/neutral/modules/services/simple/block/runner/producerTuning.d.ts +13 -0
  110. package/dist/neutral/modules/services/simple/block/runner/producerTuning.d.ts.map +1 -0
  111. package/dist/neutral/modules/wrappers/index.d.ts +1 -1
  112. package/dist/neutral/modules/wrappers/index.d.ts.map +1 -1
  113. package/dist/neutral/services.mjs +61 -71
  114. package/dist/neutral/services.mjs.map +4 -4
  115. package/dist/neutral/wrappers.mjs +1 -1
  116. package/dist/neutral/wrappers.mjs.map +1 -1
  117. package/dist/node/modules/ethereum/block/estimateBlockNumberAt.d.ts +1 -16
  118. package/dist/node/modules/ethereum/block/estimateBlockNumberAt.d.ts.map +1 -1
  119. package/dist/node/modules/ethereum/block/findContractDeploymentBlock.d.ts +2 -0
  120. package/dist/node/modules/ethereum/block/findContractDeploymentBlock.d.ts.map +1 -0
  121. package/dist/node/modules/ethereum/block/index.d.ts +1 -0
  122. package/dist/node/modules/ethereum/block/index.d.ts.map +1 -1
  123. package/dist/node/modules/ethereum/drivers/EvmStakeEventZod.d.ts +1 -244
  124. package/dist/node/modules/ethereum/drivers/EvmStakeEventZod.d.ts.map +1 -1
  125. package/dist/node/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts +1 -57
  126. package/dist/node/modules/ethereum/drivers/EvmStakeEventsViewer.d.ts.map +1 -1
  127. package/dist/node/modules/ethereum/drivers/EvmStakeViewer.d.ts +1 -41
  128. package/dist/node/modules/ethereum/drivers/EvmStakeViewer.d.ts.map +1 -1
  129. package/dist/node/modules/ethereum/index.d.ts +2 -0
  130. package/dist/node/modules/ethereum/index.d.ts.map +1 -1
  131. package/dist/node/modules/ethereum/indexing/EvmEventIndexModel.d.ts +107 -0
  132. package/dist/node/modules/ethereum/indexing/EvmEventIndexModel.d.ts.map +1 -0
  133. package/dist/node/modules/ethereum/indexing/EvmEventIndexPaths.d.ts +6 -0
  134. package/dist/node/modules/ethereum/indexing/EvmEventIndexPaths.d.ts.map +1 -0
  135. package/dist/node/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts +9 -0
  136. package/dist/node/modules/ethereum/indexing/EvmEventIndexPublishRunner.d.ts.map +1 -0
  137. package/dist/node/modules/ethereum/indexing/RestStakeEventsViewer.d.ts +54 -0
  138. package/dist/node/modules/ethereum/indexing/RestStakeEventsViewer.d.ts.map +1 -0
  139. package/dist/node/modules/ethereum/indexing/index.d.ts +5 -0
  140. package/dist/node/modules/ethereum/indexing/index.d.ts.map +1 -0
  141. package/dist/node/modules/ethereum/providers/AbstractEvmProvider.d.ts +1 -17
  142. package/dist/node/modules/ethereum/providers/AbstractEvmProvider.d.ts.map +1 -1
  143. package/dist/node/modules/ethereum/providers/AbstractEvmViewer.d.ts +1 -11
  144. package/dist/node/modules/ethereum/providers/AbstractEvmViewer.d.ts.map +1 -1
  145. package/dist/node/modules/ethereum/providers/EvmChainContractViewer.d.ts +1 -35
  146. package/dist/node/modules/ethereum/providers/EvmChainContractViewer.d.ts.map +1 -1
  147. package/dist/node/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts +1 -26
  148. package/dist/node/modules/ethereum/providers/EvmStakeTotalsViewer.d.ts.map +1 -1
  149. package/dist/node/modules/ethereum/rpc/index.d.ts +4 -0
  150. package/dist/node/modules/ethereum/rpc/index.d.ts.map +1 -0
  151. package/dist/node/modules/ethereum/rpc/isRpcRangeLimitError.d.ts +2 -0
  152. package/dist/node/modules/ethereum/rpc/isRpcRangeLimitError.d.ts.map +1 -0
  153. package/dist/node/modules/ethereum/rpc/isRpcRateLimitError.d.ts +1 -5
  154. package/dist/node/modules/ethereum/rpc/isRpcRateLimitError.d.ts.map +1 -1
  155. package/dist/node/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts +1 -18
  156. package/dist/node/modules/ethereum/rpc/withRpcRateLimitBackoff.d.ts.map +1 -1
  157. package/dist/node/modules/services/BlockReward/EvmBlockRewardViewer.d.ts +1 -21
  158. package/dist/node/modules/services/BlockReward/EvmBlockRewardViewer.d.ts.map +1 -1
  159. package/dist/node/modules/services/ChainValidator/XyoValidator.d.ts +7 -1
  160. package/dist/node/modules/services/ChainValidator/XyoValidator.d.ts.map +1 -1
  161. package/dist/node/modules/services/Election/BaseElectionService.d.ts +1 -0
  162. package/dist/node/modules/services/Election/BaseElectionService.d.ts.map +1 -1
  163. package/dist/node/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts +1 -0
  164. package/dist/node/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.d.ts.map +1 -1
  165. package/dist/node/modules/services/implementation/processPendingBlocks.d.ts +4 -4
  166. package/dist/node/modules/services/simple/block/runner/SimpleBlockRunner.d.ts +5 -2
  167. package/dist/node/modules/services/simple/block/runner/SimpleBlockRunner.d.ts.map +1 -1
  168. package/dist/node/modules/services/simple/block/runner/producerTuning.d.ts +13 -0
  169. package/dist/node/modules/services/simple/block/runner/producerTuning.d.ts.map +1 -0
  170. package/dist/node/modules/wrappers/index.d.ts +1 -1
  171. package/dist/node/modules/wrappers/index.d.ts.map +1 -1
  172. package/package.json +20 -24
@@ -12,55 +12,17 @@ var __decorateClass = (decorators, target, key, kind) => {
12
12
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
13
13
 
14
14
  // src/modules/services/BlockReward/EvmBlockRewardViewer.ts
15
- import {
16
- AbstractCreatable,
17
- assertEx,
18
- creatable,
19
- toEthAddress
20
- } from "@ariestools/sdk";
21
- import { IXyoChainRewards__factory } from "@xyo-network/typechain";
22
- import {
23
- asAttoXL1,
24
- BlockRewardViewerMoniker
25
- } from "@xyo-network/xl1-sdk";
26
- var EvmBlockRewardViewer = class extends AbstractCreatable {
27
- moniker = EvmBlockRewardViewer.defaultMoniker;
28
- _contractAddress;
29
- get chainContractViewer() {
30
- return assertEx(this.params.chainContractViewer, () => "chainContractViewer is required");
31
- }
32
- get contractAddress() {
33
- return assertEx(this._contractAddress, () => "contractAddress is required");
34
- }
35
- get provider() {
36
- return assertEx(this.params.provider, () => "provider is required");
37
- }
38
- async allowedRewardForBlock(blockNumber) {
39
- const contract = IXyoChainRewards__factory.connect(toEthAddress(this.contractAddress), this.provider);
40
- return asAttoXL1(await contract.calcBlockReward(blockNumber));
41
- }
42
- async createHandler() {
43
- await super.createHandler();
44
- try {
45
- this._contractAddress = await this.chainContractViewer.rewardsContract();
46
- } catch (ex) {
47
- const error = ex;
48
- throw new Error(`Failed to get rewards contract address: ${error.message}`, { cause: ex });
49
- }
50
- }
51
- };
52
- __publicField(EvmBlockRewardViewer, "connectionTypes", ["evm-rpc"]);
53
- __publicField(EvmBlockRewardViewer, "defaultMoniker", BlockRewardViewerMoniker);
54
- __publicField(EvmBlockRewardViewer, "monikers", [BlockRewardViewerMoniker]);
55
- __publicField(EvmBlockRewardViewer, "surface", "node");
56
- EvmBlockRewardViewer = __decorateClass([
57
- creatable()
58
- ], EvmBlockRewardViewer);
15
+ import { EvmBlockRewardViewer } from "@xyo-network/xl1-sdk";
59
16
 
60
17
  // src/modules/services/ChainValidator/XyoValidator.ts
61
- import { AbstractCreatableProvider, BlockViewerMoniker } from "@xyo-network/xl1-sdk";
18
+ import {
19
+ AbstractCreatableProvider,
20
+ BlockViewerMoniker,
21
+ creatableProvider
22
+ } from "@xyo-network/xl1-sdk";
23
+ var ValidatorMoniker = "Validator";
62
24
  var XyoValidator = class extends AbstractCreatableProvider {
63
- moniker = "Validator";
25
+ moniker = XyoValidator.defaultMoniker;
64
26
  _blockViewer;
65
27
  // get address() {
66
28
  // return this.account.address
@@ -84,6 +46,7 @@ var XyoValidator = class extends AbstractCreatableProvider {
84
46
  // return assertEx(this.params.blockRewardService, () => 'blockRewardService is required')
85
47
  // }
86
48
  async createHandler() {
49
+ await super.createHandler();
87
50
  this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
88
51
  }
89
52
  validatePendingBlock(_block) {
@@ -96,24 +59,32 @@ var XyoValidator = class extends AbstractCreatableProvider {
96
59
  return await Promise.resolve(true);
97
60
  }
98
61
  };
62
+ __publicField(XyoValidator, "connectionTypes", []);
63
+ __publicField(XyoValidator, "defaultMoniker", ValidatorMoniker);
64
+ __publicField(XyoValidator, "dependencies", [BlockViewerMoniker]);
65
+ __publicField(XyoValidator, "monikers", [ValidatorMoniker]);
66
+ __publicField(XyoValidator, "surface", "node");
67
+ XyoValidator = __decorateClass([
68
+ creatableProvider()
69
+ ], XyoValidator);
99
70
 
100
71
  // src/modules/services/Election/BaseElectionService.ts
101
- import { assertEx as assertEx2 } from "@ariestools/sdk";
72
+ import { assertEx } from "@ariestools/sdk";
102
73
  import {
103
74
  AbstractCreatableProvider as AbstractCreatableProvider2,
104
- creatableProvider
75
+ creatableProvider as creatableProvider2
105
76
  } from "@xyo-network/xl1-sdk";
106
77
  import { hexToLast4BytesInt, shuffleWithSeed } from "#utils";
107
78
  var BaseElectionService = class extends AbstractCreatableProvider2 {
108
79
  moniker = BaseElectionService.defaultMoniker;
109
80
  get blockViewer() {
110
- return assertEx2(this.params.blockViewer, () => "No block viewer");
81
+ return assertEx(this.params.blockViewer, () => "No block viewer");
111
82
  }
112
83
  get chainStakeViewer() {
113
- return assertEx2(this.params.chainStakeViewer, () => "No chain stake viewer");
84
+ return assertEx(this.params.chainStakeViewer, () => "No chain stake viewer");
114
85
  }
115
86
  get stakeIntentService() {
116
- return assertEx2(this.params.stakeIntentService, () => "No staked intent service");
87
+ return assertEx(this.params.stakeIntentService, () => "No staked intent service");
117
88
  }
118
89
  async getCreatorCommitteeForNextBlock(current) {
119
90
  return await this.spanAsync("getCreatorCommitteeForNextBlock", async () => {
@@ -130,11 +101,12 @@ var BaseElectionService = class extends AbstractCreatableProvider2 {
130
101
  return creatorArray.slice(0, maxSize);
131
102
  }
132
103
  };
104
+ __publicField(BaseElectionService, "connectionTypes", []);
133
105
  __publicField(BaseElectionService, "defaultMoniker", "Election");
134
106
  __publicField(BaseElectionService, "dependencies", []);
135
107
  __publicField(BaseElectionService, "monikers", ["Election"]);
136
108
  BaseElectionService = __decorateClass([
137
- creatableProvider()
109
+ creatableProvider2()
138
110
  ], BaseElectionService);
139
111
 
140
112
  // src/modules/services/implementation/head/createBootstrapHead.ts
@@ -162,7 +134,7 @@ var createBootstrapHead = async (account, chainId, genesisBlockRewardAmount, gen
162
134
  };
163
135
 
164
136
  // src/modules/services/implementation/processPendingBlocks.ts
165
- import { assertEx as assertEx3, isDefined } from "@ariestools/sdk";
137
+ import { assertEx as assertEx2, isDefined } from "@ariestools/sdk";
166
138
  import { BlockRejectionSchema, isSignedHydratedBlockWithHashMeta } from "@xyo-network/xl1-sdk";
167
139
  import { ChainHeadSelector } from "#analyze";
168
140
  async function processPendingBlocks({
@@ -190,7 +162,7 @@ async function processPendingBlocks({
190
162
  const bestHeadChain = await headSelector.findBestHead();
191
163
  if (isDefined(bestHeadChain) && bestHeadChain.length > 0) {
192
164
  const oldHeadBlock = currentBlock[0];
193
- const newHydratedHeadBlock = assertEx3(bestHeadChain.at(-1), () => "Missing best head block [processPendingBlocks]");
165
+ const newHydratedHeadBlock = assertEx2(bestHeadChain.at(-1), () => "Missing best head block [processPendingBlocks]");
194
166
  const newHeadBlock = newHydratedHeadBlock[0];
195
167
  logger?.debug("Validating new HeadBlock head from (block) ", oldHeadBlock?.block, "to", newHeadBlock.block);
196
168
  logger?.debug("Validating new HeadBlock head from (hash) ", oldHeadBlock?._hash, "to", newHeadBlock._hash);
@@ -238,7 +210,7 @@ async function processPendingBlocks({
238
210
  // src/modules/services/NetworkStakeStepReward/BaseNetworkStakeStepRewardService.ts
239
211
  import {
240
212
  AbstractCreatableProvider as AbstractCreatableProvider3,
241
- creatableProvider as creatableProvider2,
213
+ creatableProvider as creatableProvider3,
242
214
  NetworkStakeStepRewardViewerMoniker
243
215
  } from "@xyo-network/xl1-sdk";
244
216
  var BaseNetworkStakeStepRewardService = class extends AbstractCreatableProvider3 {
@@ -298,16 +270,18 @@ var BaseNetworkStakeStepRewardService = class extends AbstractCreatableProvider3
298
270
  throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
299
271
  }
300
272
  };
273
+ __publicField(BaseNetworkStakeStepRewardService, "connectionTypes", []);
301
274
  __publicField(BaseNetworkStakeStepRewardService, "defaultMoniker", NetworkStakeStepRewardViewerMoniker);
302
275
  __publicField(BaseNetworkStakeStepRewardService, "dependencies", []);
303
276
  __publicField(BaseNetworkStakeStepRewardService, "monikers", [NetworkStakeStepRewardViewerMoniker]);
304
277
  BaseNetworkStakeStepRewardService = __decorateClass([
305
- creatableProvider2()
278
+ creatableProvider3()
306
279
  ], BaseNetworkStakeStepRewardService);
307
280
 
308
281
  // src/modules/services/simple/block/runner/SimpleBlockRunner.ts
309
282
  import {
310
- assertEx as assertEx5,
283
+ asAddress,
284
+ assertEx as assertEx4,
311
285
  hexToBigInt,
312
286
  isDefined as isDefined2,
313
287
  toAddress as toAddress2
@@ -323,10 +297,11 @@ import {
323
297
  AttoXL1,
324
298
  BlockNumberSchema,
325
299
  BlockRejectionSchema as BlockRejectionSchema2,
326
- BlockRewardViewerMoniker as BlockRewardViewerMoniker2,
300
+ BlockRewardViewerMoniker,
327
301
  BlockRunnerMoniker,
328
302
  BlockValidationViewerMoniker,
329
- creatableProvider as creatableProvider3,
303
+ connectArchivist,
304
+ creatableProvider as creatableProvider4,
330
305
  createDeclarationIntent as createDeclarationIntent2,
331
306
  DeadLetterQueueRunnerMoniker,
332
307
  defaultRewardRatio,
@@ -334,6 +309,7 @@ import {
334
309
  isSignedHydratedBlockWithHashMeta as isSignedHydratedBlockWithHashMeta2,
335
310
  isTransfer,
336
311
  MempoolViewerMoniker,
312
+ REJECTED_TRANSACTIONS_ARCHIVIST_ROLE,
337
313
  TimeSyncViewerMoniker,
338
314
  TransactionRejectionSchema,
339
315
  XYO_STEP_REWARD_ADDRESS
@@ -342,7 +318,7 @@ import { FixedPercentageBlockRewardDiviner, FixedPercentageBlockRewardDivinerCon
342
318
  import { buildNextBlock as buildNextBlock2 } from "#protocol";
343
319
 
344
320
  // src/modules/services/simple/block/runner/generateTransactionFeeTransfers.ts
345
- import { assertEx as assertEx4, hexFromBigInt } from "@ariestools/sdk";
321
+ import { assertEx as assertEx3, hexFromBigInt } from "@ariestools/sdk";
346
322
  import { PayloadBuilder } from "@xyo-network/sdk";
347
323
  import {
348
324
  HydratedTransactionWrapper,
@@ -374,7 +350,7 @@ async function generateTransactionFeeTransfers(address, transactions) {
374
350
  return payload;
375
351
  });
376
352
  for (const [from, amount] of Object.entries(txGasCosts)) {
377
- const fromPayload = assertEx4(payloads.find((p) => p.from === from), () => "from payload not found");
353
+ const fromPayload = assertEx3(payloads.find((p) => p.from === from), () => "from payload not found");
378
354
  fromPayload.transfers[address] = hexFromBigInt(amount);
379
355
  }
380
356
  return payloads;
@@ -429,6 +405,12 @@ async function identifyOffendingTransactions(args) {
429
405
  return { offendingHashes: [scored[0].tx[0]._hash], reason: "block-balance" };
430
406
  }
431
407
 
408
+ // src/modules/services/simple/block/runner/producerTuning.ts
409
+ function producerTuningFromConfig(config) {
410
+ const withSection = config;
411
+ return withSection.producer ?? withSection;
412
+ }
413
+
432
414
  // src/modules/services/simple/block/runner/SimpleBlockRunner.ts
433
415
  var DEFAULT_BLOCK_SIZE = 10;
434
416
  var XYO_PRODUCER_REDECLARATION_DURATION = 100;
@@ -490,11 +472,14 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
490
472
  return this._finalizationViewer;
491
473
  }
492
474
  get heartbeatInterval() {
493
- return this.params.heartbeatInterval ?? 36e5;
475
+ return this.params.heartbeatInterval ?? this.producerTuning.heartbeatInterval ?? 36e5;
494
476
  }
495
477
  get mempoolViewer() {
496
478
  return this._mempoolViewer;
497
479
  }
480
+ get producerTuning() {
481
+ return producerTuningFromConfig(this.config);
482
+ }
498
483
  // protected get pendingTransactionsService() {
499
484
  // return assertEx(this.params.pendingTransactionsService, () => 'Missing pendingTransactionsService')
500
485
  // }
@@ -514,15 +499,19 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
514
499
  // return assertEx(this.params.validateHydratedBlockState, () => 'validateHydratedBlockState is required')
515
500
  // }
516
501
  async createHandler() {
517
- this._rejectedTransactionsArchivist = this.params.rejectedTransactionsArchivist ?? await MemoryArchivist.create();
518
- this._account = assertEx5(this.params.account, () => "Account is required");
502
+ const boundConnection = this.boundConnection;
503
+ this._rejectedTransactionsArchivist = this.params.rejectedTransactionsArchivist ?? (boundConnection ? await connectArchivist(boundConnection, { name: REJECTED_TRANSACTIONS_ARCHIVIST_ROLE }) : await MemoryArchivist.create());
504
+ this._account = assertEx4(
505
+ this.params.account ?? this.contextSigner,
506
+ () => "Account is required \u2014 inject params.account or register a context signer"
507
+ );
519
508
  this._address = toAddress2(this.account.address);
520
509
  this._accountBalanceViewer = await this.locateAndCreate(AccountBalanceViewerMoniker);
521
- this._blockRewardViewer = await this.locateAndCreate(BlockRewardViewerMoniker2);
510
+ this._blockRewardViewer = await this.locateAndCreate(BlockRewardViewerMoniker);
522
511
  this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
523
512
  this._finalizationViewer = await this.locateAndCreate(FinalizationViewerMoniker);
524
513
  this._mempoolViewer = await this.locateAndCreate(MempoolViewerMoniker);
525
- this._rewardAddress = this.params.rewardAddress;
514
+ this._rewardAddress = asAddress(this.params.rewardAddress ?? this.producerTuning.rewardAddress ?? this.account.address, true);
526
515
  this._timeSyncViewer = await this.locateAndCreate(TimeSyncViewerMoniker);
527
516
  this._deadLetterQueueRunner = await this.locator.tryGetInstance(DeadLetterQueueRunnerMoniker);
528
517
  }
@@ -531,7 +520,7 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
531
520
  }
532
521
  async produceNextBlock(head, force) {
533
522
  const result = await this.proposeNextValidBlock(head);
534
- return force === true ? assertEx5(result, () => "Failed to produce next block") : result;
523
+ return force === true ? assertEx4(result, () => "Failed to produce next block") : result;
535
524
  }
536
525
  async getBlockRewardTransfers(block) {
537
526
  this._blockRewardDiviner ??= await FixedPercentageBlockRewardDiviner.create({
@@ -554,7 +543,7 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
554
543
  * @returns chain stake intent for the producer redeclaration, or undefined if no redeclaration is needed
555
544
  */
556
545
  getProducerRedeclaration(head) {
557
- if (this.params.disableIntentRedeclaration === true) return;
546
+ if ((this.params.disableIntentRedeclaration ?? this.producerTuning.disableIntentRedeclaration) === true) return;
558
547
  const currentBlock = head.block;
559
548
  if (isDefined2(this._lastRedeclarationBlock)) {
560
549
  const lastDeclarationExpiry = this._lastRedeclarationBlock + SimpleBlockRunner.RedeclarationDuration;
@@ -577,7 +566,7 @@ var SimpleBlockRunner = class extends AbstractCreatableProvider4 {
577
566
  const shouldValidateBalances = validateBalances ?? this.params.validateBalances ?? true;
578
567
  return await this.spanAsync("proposeNextValidBlock", async () => {
579
568
  try {
580
- const { block: previousBlock } = assertEx5(asBlockBoundWitness(head), () => "Invalid head block");
569
+ const { block: previousBlock } = assertEx4(asBlockBoundWitness(head), () => "Invalid head block");
581
570
  const nextBlock = previousBlock + 1;
582
571
  const chainId = await this.finalizationViewer.chainId();
583
572
  const pendingTransactionsRaw = await this.mempoolViewer.pendingTransactions({ limit: SimpleBlockRunner.DefaultBlockSize });
@@ -800,7 +789,7 @@ __publicField(SimpleBlockRunner, "connectionTypes", ["lmdb", "mongo", "memory"])
800
789
  __publicField(SimpleBlockRunner, "defaultMoniker", BlockRunnerMoniker);
801
790
  __publicField(SimpleBlockRunner, "dependencies", [
802
791
  AccountBalanceViewerMoniker,
803
- BlockRewardViewerMoniker2,
792
+ BlockRewardViewerMoniker,
804
793
  BlockValidationViewerMoniker,
805
794
  FinalizationViewerMoniker,
806
795
  MempoolViewerMoniker,
@@ -809,7 +798,7 @@ __publicField(SimpleBlockRunner, "dependencies", [
809
798
  __publicField(SimpleBlockRunner, "monikers", [BlockRunnerMoniker]);
810
799
  __publicField(SimpleBlockRunner, "surface", "node");
811
800
  SimpleBlockRunner = __decorateClass([
812
- creatableProvider3()
801
+ creatableProvider4()
813
802
  ], SimpleBlockRunner);
814
803
 
815
804
  // src/modules/services/StepStake/BaseStepStakeService.ts
@@ -832,6 +821,7 @@ export {
832
821
  DEFAULT_BLOCK_SIZE,
833
822
  EvmBlockRewardViewer,
834
823
  SimpleBlockRunner,
824
+ ValidatorMoniker,
835
825
  XYO_PRODUCER_REDECLARATION_DURATION,
836
826
  XYO_PRODUCER_REDECLARATION_WINDOW,
837
827
  XyoValidator,