@xyo-network/xl1-protocol-sdk 1.15.27 → 1.16.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 (327) hide show
  1. package/dist/neutral/ChainServiceCollectionV2.d.ts +1 -1
  2. package/dist/neutral/ChainServiceCollectionV2.d.ts.map +1 -1
  3. package/dist/neutral/block/primitives/blockFromBlockNumber.d.ts +1 -1
  4. package/dist/neutral/block/primitives/blockFromBlockNumber.d.ts.map +1 -1
  5. package/dist/neutral/block/primitives/index.d.ts +1 -0
  6. package/dist/neutral/block/primitives/index.d.ts.map +1 -1
  7. package/dist/neutral/block/primitives/toStepIdentityString.d.ts +3 -0
  8. package/dist/neutral/block/primitives/toStepIdentityString.d.ts.map +1 -0
  9. package/dist/neutral/block/primitives/transfers/transfersStepSummaryFromRange.d.ts.map +1 -1
  10. package/dist/neutral/block/primitives/transfers/transfersSummary.d.ts +3 -2
  11. package/dist/neutral/block/primitives/transfers/transfersSummary.d.ts.map +1 -1
  12. package/dist/neutral/config/Config.d.ts +8 -2
  13. package/dist/neutral/config/Config.d.ts.map +1 -1
  14. package/dist/neutral/config/Log.d.ts +1 -1
  15. package/dist/neutral/config/Mempool.d.ts +9 -0
  16. package/dist/neutral/config/Mempool.d.ts.map +1 -0
  17. package/dist/neutral/driver/cache/LruCacheMap.d.ts +13 -0
  18. package/dist/neutral/driver/cache/LruCacheMap.d.ts.map +1 -0
  19. package/dist/neutral/driver/cache/index.d.ts +2 -0
  20. package/dist/neutral/driver/cache/index.d.ts.map +1 -0
  21. package/dist/neutral/driver/index.d.ts +3 -0
  22. package/dist/neutral/driver/index.d.ts.map +1 -0
  23. package/dist/neutral/driver/memory/MemoryMap.d.ts +12 -0
  24. package/dist/neutral/driver/memory/MemoryMap.d.ts.map +1 -0
  25. package/dist/neutral/driver/memory/index.d.ts +2 -0
  26. package/dist/neutral/driver/memory/index.d.ts.map +1 -0
  27. package/dist/neutral/eip-712/Payloads/EIP712Data.d.ts +0 -16
  28. package/dist/neutral/eip-712/Payloads/EIP712Data.d.ts.map +1 -1
  29. package/dist/neutral/index.d.ts +4 -2
  30. package/dist/neutral/index.d.ts.map +1 -1
  31. package/dist/neutral/index.mjs +438 -184
  32. package/dist/neutral/index.mjs.map +1 -1
  33. package/dist/neutral/instances/index.d.ts +0 -2
  34. package/dist/neutral/instances/index.d.ts.map +1 -1
  35. package/dist/neutral/interfaces/index.d.ts +2 -0
  36. package/dist/neutral/interfaces/index.d.ts.map +1 -0
  37. package/dist/neutral/interfaces/viewers/AccountBalance.d.ts +19 -0
  38. package/dist/neutral/interfaces/viewers/AccountBalance.d.ts.map +1 -0
  39. package/dist/neutral/interfaces/viewers/Block.d.ts +12 -0
  40. package/dist/neutral/interfaces/viewers/Block.d.ts.map +1 -0
  41. package/dist/neutral/interfaces/viewers/Chain.d.ts +6 -0
  42. package/dist/neutral/interfaces/viewers/Chain.d.ts.map +1 -0
  43. package/dist/neutral/interfaces/viewers/ChainContract.d.ts +10 -0
  44. package/dist/neutral/interfaces/viewers/ChainContract.d.ts.map +1 -0
  45. package/dist/neutral/interfaces/viewers/Fork.d.ts +8 -0
  46. package/dist/neutral/interfaces/viewers/Fork.d.ts.map +1 -0
  47. package/dist/neutral/interfaces/viewers/NetworkStakeStepReward.d.ts +30 -0
  48. package/dist/neutral/interfaces/viewers/NetworkStakeStepReward.d.ts.map +1 -0
  49. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/NetworkStakeViewer.d.ts +10 -0
  50. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/NetworkStakeViewer.d.ts.map +1 -0
  51. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RecordKeyType.d.ts +2 -0
  52. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RecordKeyType.d.ts.map +1 -0
  53. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.d.ts +6 -0
  54. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.d.ts.map +1 -0
  55. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.d.ts +7 -0
  56. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.d.ts.map +1 -0
  57. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.d.ts +8 -0
  58. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.d.ts.map +1 -0
  59. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.d.ts +8 -0
  60. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.d.ts.map +1 -0
  61. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.d.ts +8 -0
  62. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.d.ts.map +1 -0
  63. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.d.ts +9 -0
  64. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.d.ts.map +1 -0
  65. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.d.ts +15 -0
  66. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.d.ts.map +1 -0
  67. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.d.ts +13 -0
  68. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.d.ts.map +1 -0
  69. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepViewer.d.ts +26 -0
  70. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepViewer.d.ts.map +1 -0
  71. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/index.d.ts +12 -0
  72. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/index.d.ts.map +1 -0
  73. package/dist/neutral/interfaces/viewers/Stake.d.ts +14 -0
  74. package/dist/neutral/interfaces/viewers/Stake.d.ts.map +1 -0
  75. package/dist/neutral/interfaces/viewers/StakeTotalsViewer.d.ts +12 -0
  76. package/dist/neutral/interfaces/viewers/StakeTotalsViewer.d.ts.map +1 -0
  77. package/dist/neutral/interfaces/viewers/StakeViewer.d.ts +11 -0
  78. package/dist/neutral/interfaces/viewers/StakeViewer.d.ts.map +1 -0
  79. package/dist/neutral/interfaces/viewers/StepStake.d.ts +8 -0
  80. package/dist/neutral/interfaces/viewers/StepStake.d.ts.map +1 -0
  81. package/dist/neutral/interfaces/viewers/TimeSync.d.ts +16 -0
  82. package/dist/neutral/interfaces/viewers/TimeSync.d.ts.map +1 -0
  83. package/dist/neutral/interfaces/viewers/Transaction.d.ts +9 -0
  84. package/dist/neutral/interfaces/viewers/Transaction.d.ts.map +1 -0
  85. package/dist/neutral/interfaces/viewers/TransferBalance.d.ts +23 -0
  86. package/dist/neutral/interfaces/viewers/TransferBalance.d.ts.map +1 -0
  87. package/dist/neutral/interfaces/viewers/index.d.ts +15 -0
  88. package/dist/neutral/interfaces/viewers/index.d.ts.map +1 -0
  89. package/dist/neutral/model/ChainContext/ChainContext.d.ts +14 -4
  90. package/dist/neutral/model/ChainContext/ChainContext.d.ts.map +1 -1
  91. package/dist/neutral/model/ChainContext/ChainStateContext.d.ts +1 -1
  92. package/dist/neutral/model/ChainContext/ChainStateContext.d.ts.map +1 -1
  93. package/dist/neutral/model/ChainStake/ChainStakeRead.d.ts +12 -12
  94. package/dist/neutral/model/ChainStake/ChainStakeRead.d.ts.map +1 -1
  95. package/dist/neutral/model/StakeEvents.d.ts +1 -0
  96. package/dist/neutral/model/StakeEvents.d.ts.map +1 -1
  97. package/dist/neutral/model/summary.d.ts +2 -2
  98. package/dist/neutral/model/summary.d.ts.map +1 -1
  99. package/dist/neutral/primitives/index.d.ts +1 -0
  100. package/dist/neutral/primitives/index.d.ts.map +1 -1
  101. package/dist/neutral/primitives/timeBudget.d.ts +3 -0
  102. package/dist/neutral/primitives/timeBudget.d.ts.map +1 -0
  103. package/dist/neutral/provider/TransactionHelper.d.ts +8 -0
  104. package/dist/neutral/provider/TransactionHelper.d.ts.map +1 -0
  105. package/dist/neutral/provider/TransactionSubmitter.d.ts +18 -0
  106. package/dist/neutral/provider/TransactionSubmitter.d.ts.map +1 -0
  107. package/dist/neutral/provider/XyoClient.d.ts +19 -0
  108. package/dist/neutral/provider/XyoClient.d.ts.map +1 -0
  109. package/dist/neutral/provider/XyoConnection.d.ts +35 -0
  110. package/dist/neutral/provider/XyoConnection.d.ts.map +1 -0
  111. package/dist/neutral/provider/XyoDataLake.d.ts +18 -0
  112. package/dist/neutral/provider/XyoDataLake.d.ts.map +1 -0
  113. package/dist/neutral/provider/XyoGateway.d.ts +19 -0
  114. package/dist/neutral/provider/XyoGateway.d.ts.map +1 -0
  115. package/dist/neutral/provider/XyoGatewayHelpers.d.ts +16 -0
  116. package/dist/neutral/provider/XyoGatewayHelpers.d.ts.map +1 -0
  117. package/dist/neutral/provider/XyoNetwork.d.ts +6 -0
  118. package/dist/neutral/provider/XyoNetwork.d.ts.map +1 -0
  119. package/dist/neutral/provider/XyoRunner.d.ts +7 -0
  120. package/dist/neutral/provider/XyoRunner.d.ts.map +1 -0
  121. package/dist/neutral/provider/XyoSigner.d.ts +14 -0
  122. package/dist/neutral/provider/XyoSigner.d.ts.map +1 -0
  123. package/dist/neutral/provider/XyoViewer.d.ts +7 -0
  124. package/dist/neutral/provider/XyoViewer.d.ts.map +1 -0
  125. package/dist/neutral/provider/XyoWallet.d.ts +15 -0
  126. package/dist/neutral/provider/XyoWallet.d.ts.map +1 -0
  127. package/dist/neutral/provider/index.d.ts +13 -0
  128. package/dist/neutral/provider/index.d.ts.map +1 -0
  129. package/dist/neutral/provider/permissions/InvokerPermission.d.ts +51 -0
  130. package/dist/neutral/provider/permissions/InvokerPermission.d.ts.map +1 -0
  131. package/dist/neutral/provider/permissions/XyoPermissions.d.ts +32 -0
  132. package/dist/neutral/provider/permissions/XyoPermissions.d.ts.map +1 -0
  133. package/dist/neutral/provider/permissions/index.d.ts +3 -0
  134. package/dist/neutral/provider/permissions/index.d.ts.map +1 -0
  135. package/dist/neutral/services/AccountBalanceService.d.ts +16 -0
  136. package/dist/neutral/services/AccountBalanceService.d.ts.map +1 -0
  137. package/dist/neutral/services/AccountTransfersService.d.ts +11 -0
  138. package/dist/neutral/services/AccountTransfersService.d.ts.map +1 -0
  139. package/dist/neutral/services/BlockProducerService.d.ts +6 -0
  140. package/dist/neutral/services/BlockProducerService.d.ts.map +1 -0
  141. package/dist/neutral/services/BlockRewardService.d.ts +6 -0
  142. package/dist/neutral/services/BlockRewardService.d.ts.map +1 -0
  143. package/dist/neutral/services/BlockRewardServiceV2.d.ts +6 -0
  144. package/dist/neutral/services/BlockRewardServiceV2.d.ts.map +1 -0
  145. package/dist/neutral/services/Chain/BaseChainService.d.ts +6 -0
  146. package/dist/neutral/services/Chain/BaseChainService.d.ts.map +1 -0
  147. package/dist/neutral/services/Chain/ChainHeadService.d.ts +6 -0
  148. package/dist/neutral/services/Chain/ChainHeadService.d.ts.map +1 -0
  149. package/dist/neutral/services/Chain/ChainService.d.ts +5 -0
  150. package/dist/neutral/services/Chain/ChainService.d.ts.map +1 -0
  151. package/dist/neutral/services/Chain/index.d.ts +5 -0
  152. package/dist/neutral/services/Chain/index.d.ts.map +1 -0
  153. package/dist/neutral/services/Chain/interfaces/ChainContractViewer.d.ts +4 -0
  154. package/dist/neutral/services/Chain/interfaces/ChainContractViewer.d.ts.map +1 -0
  155. package/dist/neutral/services/Chain/interfaces/ChainStakeViewer.d.ts +5 -0
  156. package/dist/neutral/services/Chain/interfaces/ChainStakeViewer.d.ts.map +1 -0
  157. package/dist/neutral/services/Chain/interfaces/ChainStaker.d.ts +6 -0
  158. package/dist/neutral/services/Chain/interfaces/ChainStaker.d.ts.map +1 -0
  159. package/dist/neutral/services/Chain/interfaces/index.d.ts +4 -0
  160. package/dist/neutral/services/Chain/interfaces/index.d.ts.map +1 -0
  161. package/dist/neutral/services/ChainIterator/ChainIteratorService.d.ts +23 -0
  162. package/dist/neutral/services/ChainIterator/ChainIteratorService.d.ts.map +1 -0
  163. package/dist/neutral/services/ChainIterator/ChainIteratorServiceEventData.d.ts +11 -0
  164. package/dist/neutral/services/ChainIterator/ChainIteratorServiceEventData.d.ts.map +1 -0
  165. package/dist/neutral/services/ChainIterator/index.d.ts +3 -0
  166. package/dist/neutral/services/ChainIterator/index.d.ts.map +1 -0
  167. package/dist/neutral/services/Election.d.ts +12 -0
  168. package/dist/neutral/services/Election.d.ts.map +1 -0
  169. package/dist/neutral/services/NetworkStakeService.d.ts +5 -0
  170. package/dist/neutral/services/NetworkStakeService.d.ts.map +1 -0
  171. package/dist/neutral/services/Params.d.ts +9 -0
  172. package/dist/neutral/services/Params.d.ts.map +1 -0
  173. package/dist/neutral/services/PendingTransactionsService.d.ts +7 -0
  174. package/dist/neutral/services/PendingTransactionsService.d.ts.map +1 -0
  175. package/dist/neutral/services/Service.d.ts +5 -0
  176. package/dist/neutral/services/Service.d.ts.map +1 -0
  177. package/dist/neutral/services/StakeIntentService/ChainIndexingServiceStateSchema.d.ts +32 -0
  178. package/dist/neutral/services/StakeIntentService/ChainIndexingServiceStateSchema.d.ts.map +1 -0
  179. package/dist/neutral/services/StakeIntentService/StakeIntentService.d.ts +31 -0
  180. package/dist/neutral/services/StakeIntentService/StakeIntentService.d.ts.map +1 -0
  181. package/dist/neutral/services/StakeIntentService/index.d.ts +3 -0
  182. package/dist/neutral/services/StakeIntentService/index.d.ts.map +1 -0
  183. package/dist/neutral/services/StepStakeService.d.ts +5 -0
  184. package/dist/neutral/services/StepStakeService.d.ts.map +1 -0
  185. package/dist/neutral/services/TimeSyncService.d.ts +7 -0
  186. package/dist/neutral/services/TimeSyncService.d.ts.map +1 -0
  187. package/dist/neutral/services/index.d.ts +15 -0
  188. package/dist/neutral/services/index.d.ts.map +1 -0
  189. package/dist/neutral/transaction/buildUnsignedTransaction.d.ts +2 -2
  190. package/dist/neutral/transaction/buildUnsignedTransaction.d.ts.map +1 -1
  191. package/dist/neutral/transaction/confirmSubmittedTransaction.d.ts +2 -1
  192. package/dist/neutral/transaction/confirmSubmittedTransaction.d.ts.map +1 -1
  193. package/dist/neutral/transaction/primitives/transactionElevatedPayloads.d.ts +2 -2
  194. package/dist/neutral/transaction/primitives/transactionElevatedPayloads.d.ts.map +1 -1
  195. package/dist/neutral/validation/block/BlockValidationFunction.d.ts +5 -0
  196. package/dist/neutral/validation/block/BlockValidationFunction.d.ts.map +1 -0
  197. package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts +18 -0
  198. package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts.map +1 -0
  199. package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts +11 -0
  200. package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts.map +1 -0
  201. package/dist/neutral/validation/block/error.d.ts +15 -0
  202. package/dist/neutral/validation/block/error.d.ts.map +1 -0
  203. package/dist/neutral/validation/block/error.spec.d.ts +2 -0
  204. package/dist/neutral/validation/block/error.spec.d.ts.map +1 -0
  205. package/dist/neutral/validation/block/index.d.ts +5 -0
  206. package/dist/neutral/validation/block/index.d.ts.map +1 -0
  207. package/dist/neutral/validation/index.d.ts +1 -0
  208. package/dist/neutral/validation/index.d.ts.map +1 -1
  209. package/package.json +31 -27
  210. package/src/ChainServiceCollectionV2.ts +4 -3
  211. package/src/block/primitives/blockFromBlockNumber.ts +30 -27
  212. package/src/block/primitives/frames/spec/calculateFramesFromRange.spec.ts +1 -1
  213. package/src/block/primitives/index.ts +1 -0
  214. package/src/block/primitives/toStepIdentityString.ts +5 -0
  215. package/src/block/primitives/transfers/transfersStepSummaryFromRange.ts +9 -6
  216. package/src/block/primitives/transfers/transfersSummary.ts +11 -7
  217. package/src/config/Config.ts +2 -0
  218. package/src/config/Mempool.ts +42 -0
  219. package/src/driver/cache/LruCacheMap.ts +42 -0
  220. package/src/driver/cache/index.ts +1 -0
  221. package/src/driver/index.ts +2 -0
  222. package/src/driver/memory/MemoryMap.ts +42 -0
  223. package/src/driver/memory/index.ts +1 -0
  224. package/src/eip-712/Payloads/EIP712Data.ts +0 -19
  225. package/src/index.ts +4 -2
  226. package/src/instances/index.ts +0 -2
  227. package/src/interfaces/index.ts +1 -0
  228. package/src/interfaces/viewers/AccountBalance.ts +25 -0
  229. package/src/interfaces/viewers/Block.ts +13 -0
  230. package/src/interfaces/viewers/Chain.ts +6 -0
  231. package/src/interfaces/viewers/ChainContract.ts +10 -0
  232. package/src/interfaces/viewers/Fork.ts +9 -0
  233. package/src/interfaces/viewers/NetworkStakeStepReward.ts +69 -0
  234. package/src/interfaces/viewers/NetworkStakeViewer/NetworkStakeViewer.ts +12 -0
  235. package/src/interfaces/viewers/NetworkStakeViewer/RecordKeyType.ts +2 -0
  236. package/src/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.ts +7 -0
  237. package/src/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.ts +7 -0
  238. package/src/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.ts +9 -0
  239. package/src/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.ts +9 -0
  240. package/src/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.ts +9 -0
  241. package/src/interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.ts +9 -0
  242. package/src/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.ts +18 -0
  243. package/src/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.ts +13 -0
  244. package/src/interfaces/viewers/NetworkStakeViewer/StepViewer.ts +42 -0
  245. package/src/interfaces/viewers/NetworkStakeViewer/index.ts +13 -0
  246. package/src/interfaces/viewers/Stake.ts +22 -0
  247. package/src/interfaces/viewers/StakeTotalsViewer.ts +12 -0
  248. package/src/interfaces/viewers/StakeViewer.ts +13 -0
  249. package/src/interfaces/viewers/StepStake.ts +19 -0
  250. package/src/interfaces/viewers/TimeSync.ts +19 -0
  251. package/src/interfaces/viewers/Transaction.ts +9 -0
  252. package/src/interfaces/viewers/TransferBalance.ts +29 -0
  253. package/src/interfaces/viewers/index.ts +14 -0
  254. package/src/model/ChainContext/ChainContext.ts +49 -4
  255. package/src/model/ChainContext/ChainStateContext.ts +1 -1
  256. package/src/model/ChainStake/ChainStakeRead.ts +13 -12
  257. package/src/model/StakeEvents.ts +1 -0
  258. package/src/model/summary.ts +3 -2
  259. package/src/primitives/index.ts +1 -0
  260. package/src/primitives/summary/balances/balancesStepSummaryFromRange.ts +2 -2
  261. package/src/primitives/summary/balances/balancesSummary.ts +3 -3
  262. package/src/primitives/summary/transfers/transfersStepSummaryFromRange.ts +2 -2
  263. package/src/primitives/summary/transfers/transfersSummary.ts +3 -3
  264. package/src/primitives/timeBudget.ts +11 -0
  265. package/src/provider/TransactionHelper.ts +14 -0
  266. package/src/provider/TransactionSubmitter.ts +26 -0
  267. package/src/provider/XyoClient.ts +21 -0
  268. package/src/provider/XyoConnection.ts +55 -0
  269. package/src/provider/XyoDataLake.ts +43 -0
  270. package/src/provider/XyoGateway.ts +21 -0
  271. package/src/provider/XyoGatewayHelpers.ts +30 -0
  272. package/src/provider/XyoNetwork.ts +6 -0
  273. package/src/provider/XyoRunner.ts +7 -0
  274. package/src/provider/XyoSigner.ts +29 -0
  275. package/src/provider/XyoViewer.ts +17 -0
  276. package/src/provider/XyoWallet.ts +15 -0
  277. package/src/provider/index.ts +12 -0
  278. package/src/provider/permissions/InvokerPermission.ts +56 -0
  279. package/src/provider/permissions/XyoPermissions.ts +40 -0
  280. package/src/provider/permissions/index.ts +2 -0
  281. package/src/services/AccountBalanceService.ts +22 -0
  282. package/src/services/AccountTransfersService.ts +12 -0
  283. package/src/services/BlockProducerService.ts +10 -0
  284. package/src/services/BlockRewardService.ts +8 -0
  285. package/src/services/BlockRewardServiceV2.ts +8 -0
  286. package/src/services/Chain/BaseChainService.ts +7 -0
  287. package/src/services/Chain/ChainHeadService.ts +7 -0
  288. package/src/services/Chain/ChainService.ts +6 -0
  289. package/src/services/Chain/index.ts +4 -0
  290. package/src/services/Chain/interfaces/ChainContractViewer.ts +5 -0
  291. package/src/services/Chain/interfaces/ChainStakeViewer.ts +6 -0
  292. package/src/services/Chain/interfaces/ChainStaker.ts +5 -0
  293. package/src/services/Chain/interfaces/index.ts +3 -0
  294. package/src/services/ChainIterator/ChainIteratorService.ts +45 -0
  295. package/src/services/ChainIterator/ChainIteratorServiceEventData.ts +13 -0
  296. package/src/services/ChainIterator/index.ts +2 -0
  297. package/src/services/Election.ts +15 -0
  298. package/src/services/NetworkStakeService.ts +4 -0
  299. package/src/services/Params.ts +11 -0
  300. package/src/services/PendingTransactionsService.ts +8 -0
  301. package/src/services/Service.ts +5 -0
  302. package/src/services/StakeIntentService/ChainIndexingServiceStateSchema.ts +43 -0
  303. package/src/services/StakeIntentService/StakeIntentService.ts +36 -0
  304. package/src/services/StakeIntentService/index.ts +2 -0
  305. package/src/services/StepStakeService.ts +4 -0
  306. package/src/services/TimeSyncService.ts +6 -0
  307. package/src/services/index.ts +14 -0
  308. package/src/transaction/buildUnsignedTransaction.ts +4 -8
  309. package/src/transaction/confirmSubmittedTransaction.ts +3 -3
  310. package/src/transaction/primitives/transactionElevatedPayloads.ts +2 -2
  311. package/src/transaction/script.ts +3 -3
  312. package/src/validation/block/BlockValidationFunction.ts +9 -0
  313. package/src/validation/block/HydratedBlockStateValidationFunction.ts +24 -0
  314. package/src/validation/block/HydratedBlockValidationFunction.ts +15 -0
  315. package/src/validation/block/error.spec.ts +20 -0
  316. package/src/validation/block/error.ts +46 -0
  317. package/src/validation/block/index.ts +4 -0
  318. package/src/validation/index.ts +1 -0
  319. package/dist/neutral/ChainServiceCollection.d.ts +0 -61
  320. package/dist/neutral/ChainServiceCollection.d.ts.map +0 -1
  321. package/dist/neutral/instances/ShiftedBigIntConfig.d.ts +0 -9
  322. package/dist/neutral/instances/ShiftedBigIntConfig.d.ts.map +0 -1
  323. package/dist/neutral/instances/XL1Amount.d.ts +0 -15
  324. package/dist/neutral/instances/XL1Amount.d.ts.map +0 -1
  325. package/src/ChainServiceCollection.ts +0 -66
  326. package/src/instances/ShiftedBigIntConfig.ts +0 -8
  327. package/src/instances/XL1Amount.ts +0 -29
@@ -0,0 +1,6 @@
1
+ export interface ChainStaker {
2
+ addStake(staked: string, amount: bigint): Promise<boolean>;
3
+ removeStake(slot: bigint): Promise<boolean>;
4
+ withdrawStake(slot: bigint): Promise<boolean>;
5
+ }
6
+ //# sourceMappingURL=ChainStaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainStaker.d.ts","sourceRoot":"","sources":["../../../../../src/services/Chain/interfaces/ChainStaker.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C"}
@@ -0,0 +1,4 @@
1
+ export * from './ChainContractViewer.ts';
2
+ export * from './ChainStaker.ts';
3
+ export * from './ChainStakeViewer.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/Chain/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,23 @@
1
+ import type { BaseParams } from '@xylabs/base';
2
+ import type { BaseEmitter } from '@xylabs/events';
3
+ import type { Hash } from '@xylabs/hex';
4
+ import type { WithStorageMeta } from '@xyo-network/payload-model';
5
+ import type { BlockBoundWitness, ChainId, IterableRepository, ReadRepository } from '@xyo-network/xl1-protocol';
6
+ import type { ChainIteratorServiceEventData } from './ChainIteratorServiceEventData.ts';
7
+ export interface ChainIteratorService<TKey> extends ReadRepository<TKey, BlockBoundWitness | undefined>, IterableRepository<TKey, WithStorageMeta<BlockBoundWitness> | undefined> {
8
+ chainId: ChainId;
9
+ head(): Promise<WithStorageMeta<BlockBoundWitness>>;
10
+ previous(cursor?: TKey | undefined, limit?: number): Promise<WithStorageMeta<BlockBoundWitness>[]>;
11
+ updateHead(head: BlockBoundWitness): Promise<void>;
12
+ }
13
+ export interface EventingChainIteratorService<TKey> extends ChainIteratorService<TKey>, BaseEmitter<BaseParams, ChainIteratorServiceEventData> {
14
+ }
15
+ export interface ChainBlockNumberIteratorService extends ChainIteratorService<number> {
16
+ }
17
+ export interface EventingChainBlockNumberIteratorService extends EventingChainIteratorService<number> {
18
+ }
19
+ export interface ChainHashIteratorService extends ChainIteratorService<Hash> {
20
+ }
21
+ export interface EventingChainHashIteratorService extends EventingChainIteratorService<Hash> {
22
+ }
23
+ //# sourceMappingURL=ChainIteratorService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainIteratorService.d.ts","sourceRoot":"","sources":["../../../../src/services/ChainIterator/ChainIteratorService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EACV,iBAAiB,EAAE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAC/D,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAA;AAEvF,MAAM,WAAW,oBAAoB,CAAC,IAAI,CACxC,SAAQ,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC,EAAE,kBAAkB,CAAC,IAAI,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;IACrI,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,IAAI,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAClG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD;AAKD,MAAM,WAAW,4BAA4B,CAAC,IAAI,CAAE,SAAQ,oBAAoB,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,6BAA6B,CAAC;CAAG;AAKjJ,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB,CAAC,MAAM,CAAC;CAAG;AAKxF,MAAM,WAAW,uCAAwC,SAAQ,4BAA4B,CAAC,MAAM,CAAC;CAAG;AAKxG,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB,CAAC,IAAI,CAAC;CAAG;AAK/E,MAAM,WAAW,gCAAiC,SAAQ,4BAA4B,CAAC,IAAI,CAAC;CAAG"}
@@ -0,0 +1,11 @@
1
+ import type { EventData } from '@xylabs/events';
2
+ import type { BlockBoundWitness } from '@xyo-network/xl1-protocol';
3
+ export type HeadEventArgs = {
4
+ blocks: [BlockBoundWitness];
5
+ };
6
+ export interface HeadEventData extends EventData {
7
+ headUpdated: HeadEventArgs;
8
+ }
9
+ export interface ChainIteratorServiceEventData extends HeadEventData {
10
+ }
11
+ //# sourceMappingURL=ChainIteratorServiceEventData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainIteratorServiceEventData.d.ts","sourceRoot":"","sources":["../../../../src/services/ChainIterator/ChainIteratorServiceEventData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG;IAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,CAAA;CAAE,CAAA;AAE3D,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,WAAW,EAAE,aAAa,CAAA;CAC3B;AAED,MAAM,WAAW,6BAA8B,SAAQ,aAAa;CAAI"}
@@ -0,0 +1,3 @@
1
+ export * from './ChainIteratorService.ts';
2
+ export * from './ChainIteratorServiceEventData.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/ChainIterator/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA;AACzC,cAAc,oCAAoC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { WithHashMeta } from '@xyo-network/payload-model';
3
+ import type { BlockBoundWitness } from '@xyo-network/xl1-protocol';
4
+ import type { ServiceInterface } from './Service.ts';
5
+ export interface ElectionService extends ServiceInterface {
6
+ /**
7
+ * Given the current block, get the leader for the next block
8
+ * @param current The previous block
9
+ */
10
+ getCreatorCommitteeForNextBlock(current: WithHashMeta<BlockBoundWitness>): Promise<Address[]>;
11
+ }
12
+ //# sourceMappingURL=Election.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Election.d.ts","sourceRoot":"","sources":["../../../src/services/Election.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IAEvD;;;OAGG;IACH,+BAA+B,CAAC,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;CAE9F"}
@@ -0,0 +1,5 @@
1
+ import type { NetworkStakeStepRewardViewInterface } from '../interfaces/index.ts';
2
+ import type { ServiceInterface } from './Service.ts';
3
+ export interface NetworkStakeStepRewardService extends NetworkStakeStepRewardViewInterface, ServiceInterface {
4
+ }
5
+ //# sourceMappingURL=NetworkStakeService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkStakeService.d.ts","sourceRoot":"","sources":["../../../src/services/NetworkStakeService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,MAAM,WAAW,6BAA8B,SAAQ,mCAAmC,EAAE,gBAAgB;CAAG"}
@@ -0,0 +1,9 @@
1
+ import type { CreatableParams } from '@xylabs/creatable';
2
+ import type { AccountInstance } from '@xyo-network/account-model';
3
+ import type { OpenTelemetryProviders } from '@xyo-network/xl1-protocol';
4
+ export interface BaseServiceParams extends CreatableParams, OpenTelemetryProviders {
5
+ }
6
+ export interface BaseAccountableServiceParams extends BaseServiceParams {
7
+ account: AccountInstance;
8
+ }
9
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../src/services/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAEvE,MAAM,WAAW,iBAAkB,SAAQ,eAAe,EAAE,sBAAsB;CAEjF;AAED,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;IACrE,OAAO,EAAE,eAAe,CAAA;CACzB"}
@@ -0,0 +1,7 @@
1
+ import type { Hash } from '@xylabs/hex';
2
+ import type { SignedHydratedTransaction } from '@xyo-network/xl1-protocol';
3
+ import type { ServiceInterface } from './Service.ts';
4
+ export interface PendingTransactionsService extends ServiceInterface {
5
+ getPendingTransactions(head: Hash, limit: number, timeout?: number): Promise<SignedHydratedTransaction[]>;
6
+ }
7
+ //# sourceMappingURL=PendingTransactionsService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PendingTransactionsService.d.ts","sourceRoot":"","sources":["../../../src/services/PendingTransactionsService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAE1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAA;CAC1G"}
@@ -0,0 +1,5 @@
1
+ import type { Hash } from '@xylabs/hex';
2
+ export interface ServiceInterface {
3
+ sync(head: Hash): Promise<void>;
4
+ }
5
+ //# sourceMappingURL=Service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Service.d.ts","sourceRoot":"","sources":["../../../src/services/Service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC"}
@@ -0,0 +1,32 @@
1
+ import type { Hash } from '@xylabs/hex';
2
+ import type { JsonValue } from '@xylabs/object';
3
+ import type { Payload, WithStorageMeta } from '@xyo-network/payload-model';
4
+ export interface ChainIndexingServiceStateFields<T extends JsonValue = JsonValue> {
5
+ /**
6
+ * The hash of the last block that this service has indexing
7
+ */
8
+ endBlockHash: Hash;
9
+ /**
10
+ * The hash of the block that the service started indexing. If undefined, the service is
11
+ * assumed to have started indexing from the genesis block
12
+ */
13
+ startBlockHash?: Hash;
14
+ /**
15
+ * The indexed state for the range
16
+ */
17
+ state: T;
18
+ }
19
+ export declare const ChainIndexingServiceStateSchema: "network.xyo.chain.indexing.service.state";
20
+ export type ChainIndexingServiceStateSchema = typeof ChainIndexingServiceStateSchema;
21
+ /**
22
+ * The result of a ChainIndexingServiceState
23
+ */
24
+ export type ChainIndexingServiceState<T extends JsonValue = JsonValue> = Payload<ChainIndexingServiceStateFields<T>, ChainIndexingServiceStateSchema>;
25
+ /**
26
+ * Identity functions for determining if an object is an ChainIndexingServiceState
27
+ */
28
+ export declare const isChainIndexingServiceState: <T extends JsonValue = JsonValue>(payload?: unknown) => payload is ChainIndexingServiceState<T>;
29
+ export declare const asChainIndexingServiceState: import("@xylabs/object").AsTypeFunction<ChainIndexingServiceState<JsonValue>>;
30
+ export declare const isChainIndexingServiceStateWithStorageMeta: <T extends JsonValue = JsonValue>(value: unknown) => value is WithStorageMeta<ChainIndexingServiceState<T>>;
31
+ export declare const asChainIndexingServiceStateWithStorageMeta: import("@xylabs/object").AsTypeFunction<WithStorageMeta<ChainIndexingServiceState<JsonValue>>>;
32
+ //# sourceMappingURL=ChainIndexingServiceStateSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainIndexingServiceStateSchema.d.ts","sourceRoot":"","sources":["../../../../src/services/StakeIntentService/ChainIndexingServiceStateSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAG1E,MAAM,WAAW,+BAA+B,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC9E;;OAEG;IACH,YAAY,EAAE,IAAI,CAAA;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB;;OAEG;IACH,KAAK,EAAE,CAAC,CAAA;CACT;AACD,eAAO,MAAM,+BAA+B,EAAG,0CAAmD,CAAA;AAClG,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAA;AAEpF;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAA;AAErJ;;GAEG;AACH,eAAO,MAAM,2BAA2B,GAAI,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,UAAU,OAAO,KAAG,OAAO,IAAI,yBAAyB,CAAC,CAAC,CAEtI,CAAA;AACD,eAAO,MAAM,2BAA2B,+EAA4F,CAAA;AAEpI,eAAO,MAAM,0CAA0C,GAClD,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,OAAO,OAAO,KAAG,KAAK,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAC3C,CAAA;AAEjE,eAAO,MAAM,0CAA0C,gGAC2D,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { Address } from '@xylabs/hex';
2
+ import type { Intent } from '@xyo-network/xl1-protocol';
3
+ import type { ServiceInterface } from '../Service.ts';
4
+ export interface StakeIntentService extends ServiceInterface {
5
+ /**
6
+ * Gets the declared ranges for an address based on historical on-chain data
7
+ * @param address The address to get the declared ranges for
8
+ * @param intent The declared intent to filter for
9
+ */
10
+ getDeclaredCandidateRanges(address: Address, intent: Intent): Promise<Readonly<Readonly<[number, number]>[]>>;
11
+ /**
12
+ * Gets the declared candidates for a block based on historical on-chain data
13
+ * @param block The block number to get the declared candidates for
14
+ * @param intent The declared intent to filter for
15
+ */
16
+ getDeclaredCandidatesForBlock(block: number, intent: Intent): Promise<Address[]>;
17
+ /**
18
+ * Gets the required minimum stake for a given intent
19
+ * @param intent The declared intent to filter for
20
+ * @returns The required minimum stake for the intent
21
+ */
22
+ getRequiredMinimumStakeForIntent(intent: Intent): bigint;
23
+ /**
24
+ * Checks if the address is staked for a block for a given intent
25
+ * @param block The block number to check
26
+ * @param intent The declared intent to filter for
27
+ * @param address The address to check
28
+ */
29
+ isStakedForBlock(block: number, intent: Intent, address: Address): Promise<boolean>;
30
+ }
31
+ //# sourceMappingURL=StakeIntentService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StakeIntentService.d.ts","sourceRoot":"","sources":["../../../../src/services/StakeIntentService/StakeIntentService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAE1D;;;;OAIG;IACH,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAE7G;;;;OAIG;IACH,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAEhF;;;;OAIG;IACH,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IAExD;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACpF"}
@@ -0,0 +1,3 @@
1
+ export * from './ChainIndexingServiceStateSchema.ts';
2
+ export * from './StakeIntentService.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/StakeIntentService/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { StepStakeViewInterface } from '../interfaces/index.ts';
2
+ import type { ServiceInterface } from './Service.ts';
3
+ export interface StepStakeService extends ServiceInterface, StepStakeViewInterface {
4
+ }
5
+ //# sourceMappingURL=StepStakeService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepStakeService.d.ts","sourceRoot":"","sources":["../../../src/services/StepStakeService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,EAAE,sBAAsB;CAAG"}
@@ -0,0 +1,7 @@
1
+ import type { TimeSyncViewInterface, TimeSyncViewInterfaceV2 } from '../interfaces/index.ts';
2
+ import type { ServiceInterface } from './Service.ts';
3
+ export interface TimeSyncService extends ServiceInterface, TimeSyncViewInterface {
4
+ }
5
+ export interface TimeSyncServiceV2 extends ServiceInterface, TimeSyncViewInterfaceV2 {
6
+ }
7
+ //# sourceMappingURL=TimeSyncService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeSyncService.d.ts","sourceRoot":"","sources":["../../../src/services/TimeSyncService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,MAAM,WAAW,eAAgB,SAAQ,gBAAgB,EAAE,qBAAqB;CAAG;AAEnF,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB,EAAE,uBAAuB;CAAG"}
@@ -0,0 +1,15 @@
1
+ export * from './AccountBalanceService.ts';
2
+ export * from './AccountTransfersService.ts';
3
+ export * from './BlockProducerService.ts';
4
+ export * from './BlockRewardService.ts';
5
+ export * from './BlockRewardServiceV2.ts';
6
+ export * from './Chain/index.ts';
7
+ export * from './ChainIterator/index.ts';
8
+ export * from './Election.ts';
9
+ export * from './NetworkStakeService.ts';
10
+ export * from './PendingTransactionsService.ts';
11
+ export * from './Service.ts';
12
+ export * from './StakeIntentService/index.ts';
13
+ export * from './StepStakeService.ts';
14
+ export * from './TimeSyncService.ts';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,cAAc,CAAA;AAC5B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { Address } from '@xylabs/hex';
2
2
  import type { Payload } from '@xyo-network/payload-model';
3
- import type { AllowedBlockPayload, ChainId, TransactionFeesBigInt, UnsignedHydratedTransactionWithHashStorageMeta } from '@xyo-network/xl1-protocol';
4
- export declare function buildUnsignedTransaction(chain: ChainId, onChainPayloads: AllowedBlockPayload[], offChainPayloads: Payload[], nbf: number, exp: number, from: Address, fees?: TransactionFeesBigInt): Promise<UnsignedHydratedTransactionWithHashStorageMeta>;
3
+ import type { AllowedBlockPayload, ChainId, TransactionFeesBigInt, UnsignedHydratedTransaction } from '@xyo-network/xl1-protocol';
4
+ export declare function buildUnsignedTransaction(chain: ChainId, onChainPayloads: AllowedBlockPayload[], offChainPayloads: Payload[], nbf: number, exp: number, from: Address, fees?: TransactionFeesBigInt): Promise<UnsignedHydratedTransaction>;
5
5
  //# sourceMappingURL=buildUnsignedTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildUnsignedTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/buildUnsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,OAAO,EAGiD,qBAAqB,EAC7E,8CAA8C,EAC/C,MAAM,2BAA2B,CAAA;AAGlC,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,mBAAmB,EAAE,EACtC,gBAAgB,EAAE,OAAO,EAAE,EAC3B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,qBAA8C,GACnD,OAAO,CAAC,8CAA8C,CAAC,CAmCzD"}
1
+ {"version":3,"file":"buildUnsignedTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/buildUnsignedTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAI1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EAAE,OAAO,EAAwF,qBAAqB,EACzI,2BAA2B,EAC5B,MAAM,2BAA2B,CAAA;AAGlC,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,mBAAmB,EAAE,EACtC,gBAAgB,EAAE,OAAO,EAAE,EAC3B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,qBAA8C,GACnD,OAAO,CAAC,2BAA2B,CAAC,CAmCtC"}
@@ -1,6 +1,7 @@
1
1
  import type { Logger } from '@xylabs/logger';
2
2
  import type { Signed } from '@xyo-network/boundwitness-model';
3
- import type { SignedHydratedTransaction, TransactionBoundWitness, XyoViewer } from '@xyo-network/xl1-protocol';
3
+ import type { SignedHydratedTransaction, TransactionBoundWitness } from '@xyo-network/xl1-protocol';
4
+ import type { XyoViewer } from '../provider/index.ts';
4
5
  export type ConfirmSubmittedTransactionOptions = {
5
6
  /**
6
7
  * Number of attempts to confirm the transaction.
@@ -1 +1 @@
1
- {"version":3,"file":"confirmSubmittedTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/confirmSubmittedTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAE7D,OAAO,KAAK,EACV,yBAAyB,EAAE,uBAAuB,EAAE,SAAS,EAC9D,MAAM,2BAA2B,CAAA;AAKlC,MAAM,MAAM,kCAAkC,GAAG;IAC/C;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,SAAS,EACjB,aAAa,MAAM,CAAC,uBAAuB,CAAC,EAC5C,UAAU,kCAAkC,KAC3C,OAAO,CAAC,yBAAyB,CAqBnC,CAAA"}
1
+ {"version":3,"file":"confirmSubmittedTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/confirmSubmittedTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAE7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAKrD,MAAM,MAAM,kCAAkC,GAAG;IAC/C;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,SAAS,EACjB,aAAa,MAAM,CAAC,uBAAuB,CAAC,EAC5C,UAAU,kCAAkC,KAC3C,OAAO,CAAC,yBAAyB,CAqBnC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { type Hash } from '@xylabs/hex';
2
- import type { Payload, WithHashStorageMeta } from '@xyo-network/payload-model';
2
+ import type { Payload, WithHashMeta } from '@xyo-network/payload-model';
3
3
  import type { SignedHydratedTransactionWithStorageMeta, TransactionBoundWitness } from '@xyo-network/xl1-protocol';
4
4
  export declare function transactionElevatedPayloadHashes(transaction: TransactionBoundWitness): Hash[];
5
- export declare function transactionElevatedPayloads([transaction, payloads]: SignedHydratedTransactionWithStorageMeta): WithHashStorageMeta<Payload>[];
5
+ export declare function transactionElevatedPayloads([transaction, payloads]: SignedHydratedTransactionWithStorageMeta): WithHashMeta<Payload>[];
6
6
  //# sourceMappingURL=transactionElevatedPayloads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactionElevatedPayloads.d.ts","sourceRoot":"","sources":["../../../../src/transaction/primitives/transactionElevatedPayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,KAAK,EAAE,wCAAwC,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAIlH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI,EAAE,CAG7F;AAED,wBAAgB,2BAA2B,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,wCAAwC,GAAG,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAI7I"}
1
+ {"version":3,"file":"transactionElevatedPayloads.d.ts","sourceRoot":"","sources":["../../../../src/transaction/primitives/transactionElevatedPayloads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,IAAI,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,wCAAwC,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAIlH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI,EAAE,CAG7F;AAED,wBAAgB,2BAA2B,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,wCAAwC,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,CAItI"}
@@ -0,0 +1,5 @@
1
+ import type { Promisable } from '@xylabs/promise';
2
+ import type { BlockBoundWitness, ChainId } from '@xyo-network/xl1-protocol';
3
+ import type { BlockValidationError } from './error.ts';
4
+ export type BlockValidatorFunction = (block: BlockBoundWitness, chainId?: ChainId) => Promisable<BlockValidationError[]>;
5
+ //# sourceMappingURL=BlockValidationFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockValidationFunction.d.ts","sourceRoot":"","sources":["../../../../src/validation/block/BlockValidationFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAE3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEtD,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,OAAO,KACd,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAA"}
@@ -0,0 +1,18 @@
1
+ import type { Promisable } from '@xylabs/promise';
2
+ import type { ChainId, HydratedBlock } from '@xyo-network/xl1-protocol';
3
+ import type { AccountBalanceService, AccountBalanceServiceV2 } from '../../services/index.ts';
4
+ import type { HydratedBlockStateValidationError } from './error.ts';
5
+ /**
6
+ * A function that validates a hydrated block against chain state.
7
+ * @param hydratedBlock The hydrated block to validate.
8
+ * @param chainId The chain ID to use for validation.
9
+ * @param archivist The archivist to use for validation.
10
+ * @returns An array of errors if the block is invalid, or an empty array if it is valid.
11
+ */
12
+ export type HydratedBlockStateValidationFunction = (hydratedBlock: HydratedBlock, chainId: ChainId, services: {
13
+ accountBalance: AccountBalanceService;
14
+ }) => Promisable<HydratedBlockStateValidationError[]>;
15
+ export type HydratedBlockStateValidationFunctionV2 = (hydratedBlock: HydratedBlock, chainId: ChainId, services: {
16
+ accountBalance: AccountBalanceServiceV2;
17
+ }) => Promisable<HydratedBlockStateValidationError[]>;
18
+ //# sourceMappingURL=HydratedBlockStateValidationFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HydratedBlockStateValidationFunction.d.ts","sourceRoot":"","sources":["../../../../src/validation/block/HydratedBlockStateValidationFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAC7F,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAA;AAEnE;;;;;;GAMG;AACH,MAAM,MAAM,oCAAoC,GAAG,CACjD,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE;IAAE,cAAc,EAAE,qBAAqB,CAAA;CAAE,KAChD,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAA;AAEpD,MAAM,MAAM,sCAAsC,GAAG,CACnD,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE;IAAE,cAAc,EAAE,uBAAuB,CAAA;CAAE,KAClD,UAAU,CAAC,iCAAiC,EAAE,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { Promisable } from '@xylabs/promise';
2
+ import type { ChainId, HydratedBlock } from '@xyo-network/xl1-protocol';
3
+ import type { HydratedBlockValidationError } from './error.ts';
4
+ /**
5
+ * A function that validates a hydrated block.
6
+ * @param hydratedBlock The hydrated block to validate.
7
+ * @param chainId The chain ID to use for validation.
8
+ * @returns An array of errors if the block is invalid, or an empty array if it is valid.
9
+ */
10
+ export type HydratedBlockValidationFunction = (hydratedBlock: HydratedBlock, chainId?: ChainId) => Promisable<HydratedBlockValidationError[]>;
11
+ //# sourceMappingURL=HydratedBlockValidationFunction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HydratedBlockValidationFunction.d.ts","sourceRoot":"","sources":["../../../../src/validation/block/HydratedBlockValidationFunction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEvE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,GAAG,CAC5C,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE,OAAO,KACd,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { Hash } from '@xylabs/hex';
2
+ import type { BlockBoundWitness, ChainId, HydratedBlock } from '@xyo-network/xl1-protocol';
3
+ import { ValidationError } from '@xyo-network/xl1-protocol';
4
+ export declare class BlockValidationError extends ValidationError<BlockBoundWitness> {
5
+ }
6
+ export declare const isBlockValidationError: (error: unknown) => error is BlockValidationError;
7
+ export declare class HydratedBlockValidationError extends ValidationError<HydratedBlock> {
8
+ }
9
+ export declare const isHydratedBlockValidationError: (error: unknown) => error is HydratedBlockValidationError;
10
+ export declare class HydratedBlockStateValidationError extends ValidationError<HydratedBlock> {
11
+ chainId: ChainId;
12
+ constructor(hash: Hash, chainId: ChainId, value: HydratedBlock, message?: string, cause?: unknown);
13
+ }
14
+ export declare const isHydratedBlockStateValidationError: (error: unknown) => error is HydratedBlockStateValidationError;
15
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/validation/block/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,KAAK,EACV,iBAAiB,EACjB,OAAO,EACP,aAAa,EACd,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAqB,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE9E,qBAAa,oBAAqB,SAAQ,eAAe,CAAC,iBAAiB,CAAC;CAAG;AAE/E,eAAO,MAAM,sBAAsB,GACjC,OAAO,OAAO,KACb,KAAK,IAAI,oBAKX,CAAA;AAED,qBAAa,4BAA6B,SAAQ,eAAe,CAAC,aAAa,CAAC;CAAG;AAEnF,eAAO,MAAM,8BAA8B,GACzC,OAAO,OAAO,KACb,KAAK,IAAI,4BAKX,CAAA;AAED,qBAAa,iCAAkC,SAAQ,eAAe,CAAC,aAAa,CAAC;IACnF,OAAO,EAAE,OAAO,CAAA;gBACJ,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAIlG;AAED,eAAO,MAAM,mCAAmC,GAC9C,OAAO,OAAO,KACb,KAAK,IAAI,iCAKX,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=error.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.spec.d.ts","sourceRoot":"","sources":["../../../../src/validation/block/error.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './BlockValidationFunction.ts';
2
+ export * from './error.ts';
3
+ export * from './HydratedBlockStateValidationFunction.ts';
4
+ export * from './HydratedBlockValidationFunction.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/validation/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,YAAY,CAAA;AAC1B,cAAc,2CAA2C,CAAA;AACzD,cAAc,sCAAsC,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './block/index.ts';
1
2
  export * from './lib/index.ts';
2
3
  export * from './schema/index.ts';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/xl1-protocol-sdk",
4
- "version": "1.15.27",
4
+ "version": "1.16.0",
5
5
  "description": "XYO Layer One SDK Protocol",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -36,38 +36,42 @@
36
36
  "src"
37
37
  ],
38
38
  "dependencies": {
39
- "@xylabs/array": "~5.0.17",
40
- "@xylabs/arraybuffer": "~5.0.17",
41
- "@xylabs/assert": "~5.0.17",
42
- "@xylabs/delay": "~5.0.17",
43
- "@xylabs/hex": "~5.0.17",
44
- "@xylabs/logger": "~5.0.17",
45
- "@xylabs/object": "~5.0.17",
46
- "@xylabs/promise": "~5.0.17",
47
- "@xylabs/telemetry": "~5.0.17",
48
- "@xylabs/typeof": "~5.0.17",
49
- "@xyo-network/account-model": "~5.1.15",
50
- "@xyo-network/archivist-model": "~5.1.15",
51
- "@xyo-network/boundwitness-builder": "~5.1.15",
52
- "@xyo-network/boundwitness-model": "~5.1.15",
53
- "@xyo-network/payload-builder": "~5.1.15",
54
- "@xyo-network/payload-model": "~5.1.15",
55
- "@xyo-network/wallet": "~5.1.15",
56
- "@xyo-network/wallet-model": "~5.1.15",
57
- "@xyo-network/xl1-protocol": "~1.12.95",
39
+ "@xylabs/array": "~5.0.19",
40
+ "@xylabs/arraybuffer": "~5.0.19",
41
+ "@xylabs/assert": "~5.0.19",
42
+ "@xylabs/base": "~5.0.19",
43
+ "@xylabs/creatable": "~5.0.19",
44
+ "@xylabs/delay": "~5.0.19",
45
+ "@xylabs/events": "~5.0.19",
46
+ "@xylabs/hex": "~5.0.19",
47
+ "@xylabs/logger": "~5.0.19",
48
+ "@xylabs/object": "~5.0.19",
49
+ "@xylabs/promise": "~5.0.19",
50
+ "@xylabs/telemetry": "~5.0.19",
51
+ "@xylabs/typeof": "~5.0.19",
52
+ "@xyo-network/account-model": "~5.1.18",
53
+ "@xyo-network/archivist-model": "~5.1.18",
54
+ "@xyo-network/boundwitness-builder": "~5.1.18",
55
+ "@xyo-network/boundwitness-model": "~5.1.18",
56
+ "@xyo-network/payload-builder": "~5.1.18",
57
+ "@xyo-network/payload-model": "~5.1.18",
58
+ "@xyo-network/wallet": "~5.1.18",
59
+ "@xyo-network/wallet-model": "~5.1.18",
60
+ "@xyo-network/xl1-protocol": "~1.13.0",
58
61
  "async-mutex": "~0.5.0",
59
62
  "ethers": "~6.15.0",
63
+ "lru-cache": "^11.2.2",
60
64
  "zod": "~4.1.12"
61
65
  },
62
66
  "devDependencies": {
63
- "@types/node": "~24.9.2",
64
- "@xylabs/ts-scripts-yarn3": "~7.1.8",
65
- "@xylabs/tsconfig": "~7.1.8",
66
- "@xyo-network/account": "~5.1.15",
67
- "@xyo-network/boundwitness-validator": "~5.1.15",
68
- "eslint": "^9.39.0",
67
+ "@types/node": "~24.10.0",
68
+ "@xylabs/ts-scripts-yarn3": "~7.2.4",
69
+ "@xylabs/tsconfig": "~7.2.4",
70
+ "@xyo-network/account": "~5.1.18",
71
+ "@xyo-network/boundwitness-validator": "~5.1.18",
72
+ "eslint": "^9.39.1",
69
73
  "typescript": "~5.9.3",
70
- "vitest": "~3.2.4"
74
+ "vitest": "~4.0.8"
71
75
  },
72
76
  "engines": {
73
77
  "node": ">=22.3 <23"
@@ -1,11 +1,12 @@
1
1
  import type { ArchivistInstance, WriteArchivist } from '@xyo-network/archivist-model'
2
2
  import type { WalletInstance } from '@xyo-network/wallet-model'
3
+
3
4
  import type {
4
- AccountBalanceServiceV2, BlockProducerService,
5
- BlockRewardService, ChainContractViewer, ChainStaker, ChainStakeViewer, ElectionService, EventingChainBlockNumberIteratorService,
5
+ AccountBalanceServiceV2, BlockProducerService, BlockRewardService, ChainContractViewer,
6
+ ChainStaker, ChainStakeViewer, ElectionService, EventingChainBlockNumberIteratorService,
6
7
  PendingTransactionsService,
7
8
  StakeIntentService,
8
- } from '@xyo-network/xl1-protocol'
9
+ } from './services/index.ts'
9
10
 
10
11
  export interface ChainServiceCollectionV2 {
11
12
 
@@ -4,35 +4,38 @@ import type { WithStorageMeta } from '@xyo-network/payload-model'
4
4
  import type { BlockBoundWitness, XL1BlockNumber } from '@xyo-network/xl1-protocol'
5
5
  import { asBlockBoundWitnessWithStorageMeta, StepSizes } from '@xyo-network/xl1-protocol'
6
6
 
7
- import type { ChainContextRead } from '../../model/index.ts'
7
+ import { type ChainContextRead, withContextCacheResponse } from '../../model/index.ts'
8
8
 
9
9
  export async function blockFromBlockNumber(context: ChainContextRead, blockNumber: XL1BlockNumber): Promise<WithStorageMeta<BlockBoundWitness>> {
10
- const head = await context.head()
11
- const result = await context.store.chainMap.get(head)
12
- let currentBlock = asBlockBoundWitnessWithStorageMeta(result, () => `Head block not found for hash: ${head}`, { required: true })
13
- if (currentBlock.block < blockNumber) {
14
- throw new Error(`Error: Block number ${blockNumber} is greater than head ${currentBlock.block}.`)
15
- }
16
- while (currentBlock.block > blockNumber) {
17
- let jumpHash: Hash | null = currentBlock.previous
18
- let jumpBlockNumber = currentBlock.block - 1
19
- for (const [step, stepSize] of StepSizes.entries()) {
20
- const possibleJumpBlockNumber = currentBlock.block - (currentBlock.block % stepSize) - 1
21
- if (possibleJumpBlockNumber >= blockNumber && possibleJumpBlockNumber <= jumpBlockNumber) {
22
- jumpBlockNumber = possibleJumpBlockNumber
23
- jumpHash = asHash(currentBlock.step_hashes.at(step), () => `Step hash not found for step ${step} in block ${currentBlock.block}`)
24
- }
25
- }
26
- const newBlock = await context.store.chainMap.get(
27
- asHash(jumpHash, () => `Jump hash not found for block number [${blockNumber}]: ${jumpBlockNumber} ${toSafeJsonString(currentBlock, 10)}`),
28
- )
29
- currentBlock = asBlockBoundWitnessWithStorageMeta(newBlock, () => `Block not found for hash: ${jumpHash}`, { required: true })
30
- if (currentBlock.block === blockNumber) {
31
- break
32
- }
10
+ const cacheKey = `${blockNumber}`
11
+ return await withContextCacheResponse(context, 'blockFromBlockNumber', cacheKey, async () => {
12
+ const [headHash] = await context.head()
13
+ const result = await context.store.chainMap.get(headHash)
14
+ let currentBlock = asBlockBoundWitnessWithStorageMeta(result, () => `Head block not found for hash: ${headHash}`, { required: true })
33
15
  if (currentBlock.block < blockNumber) {
34
- throw new Error(`Block number ${blockNumber} is not a valid step block number for block ${head}.`)
16
+ throw new Error(`Error: Block number ${blockNumber} is greater than head ${currentBlock.block}.`)
17
+ }
18
+ while (currentBlock.block > blockNumber) {
19
+ let jumpHash: Hash | null = currentBlock.previous
20
+ let jumpBlockNumber = currentBlock.block - 1
21
+ for (const [step, stepSize] of StepSizes.entries()) {
22
+ const possibleJumpBlockNumber = currentBlock.block - (currentBlock.block % stepSize) - 1
23
+ if (possibleJumpBlockNumber >= blockNumber && possibleJumpBlockNumber <= jumpBlockNumber) {
24
+ jumpBlockNumber = possibleJumpBlockNumber
25
+ jumpHash = asHash(currentBlock.step_hashes.at(step), () => `Step hash not found for step ${step} in block ${currentBlock.block}`)
26
+ }
27
+ }
28
+ const newBlock = await context.store.chainMap.get(
29
+ asHash(jumpHash, () => `Jump hash not found for block number [${blockNumber}]: ${jumpBlockNumber} ${toSafeJsonString(currentBlock, 10)}`),
30
+ )
31
+ currentBlock = asBlockBoundWitnessWithStorageMeta(newBlock, () => `Block not found for hash: ${jumpHash}`, { required: true })
32
+ if (currentBlock.block === blockNumber) {
33
+ break
34
+ }
35
+ if (currentBlock.block < blockNumber) {
36
+ throw new Error(`Block number ${blockNumber} is not a valid step block number for block ${headHash}.`)
37
+ }
35
38
  }
36
- }
37
- return currentBlock
39
+ return currentBlock
40
+ })
38
41
  }