@xyo-network/xl1-protocol 4.5.0 → 4.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/dist/neutral/modules/network-model/models/Bootstrap.d.ts +2 -0
  2. package/dist/neutral/modules/network-model/models/Bootstrap.d.ts.map +1 -1
  3. package/dist/neutral/modules/network-model/staticRest/layout/chainContractManifest.d.ts +10 -4
  4. package/dist/neutral/modules/network-model/staticRest/layout/chainContractManifest.d.ts.map +1 -1
  5. package/dist/neutral/modules/network-model/staticRest/paths/chainState.d.ts +6 -2
  6. package/dist/neutral/modules/network-model/staticRest/paths/chainState.d.ts.map +1 -1
  7. package/dist/neutral/modules/network-model/utils/ExplorerLinks.d.ts +8 -0
  8. package/dist/neutral/modules/network-model/utils/ExplorerLinks.d.ts.map +1 -1
  9. package/dist/neutral/modules/protocol-lib/OpenTelemetryProviders.d.ts +2 -0
  10. package/dist/neutral/modules/protocol-lib/OpenTelemetryProviders.d.ts.map +1 -1
  11. package/dist/neutral/modules/protocol-lib/network/Status.d.ts +6 -0
  12. package/dist/neutral/modules/protocol-lib/network/Status.d.ts.map +1 -1
  13. package/dist/neutral/modules/protocol-lib/permissions/InvokerPermission.d.ts +1 -1
  14. package/dist/neutral/modules/protocol-lib/permissions/InvokerPermission.d.ts.map +1 -1
  15. package/dist/neutral/modules/protocol-lib/permissions/XyoPermissions.d.ts +3 -1
  16. package/dist/neutral/modules/protocol-lib/permissions/XyoPermissions.d.ts.map +1 -1
  17. package/dist/neutral/modules/protocol-lib/providers/DataLake/Client.d.ts +4 -0
  18. package/dist/neutral/modules/protocol-lib/providers/DataLake/Client.d.ts.map +1 -1
  19. package/dist/neutral/modules/protocol-lib/providers/DataLake/Provider.d.ts +4 -2
  20. package/dist/neutral/modules/protocol-lib/providers/DataLake/Provider.d.ts.map +1 -1
  21. package/dist/neutral/modules/protocol-lib/providers/DataLake/Runner.d.ts +1 -1
  22. package/dist/neutral/modules/protocol-lib/providers/DataLake/Runner.d.ts.map +1 -1
  23. package/dist/neutral/modules/protocol-lib/providers/DataLake/Viewer.d.ts +1 -1
  24. package/dist/neutral/modules/protocol-lib/providers/DataLake/Viewer.d.ts.map +1 -1
  25. package/dist/neutral/modules/protocol-lib/providers/TransactionHelper.d.ts +4 -1
  26. package/dist/neutral/modules/protocol-lib/providers/TransactionHelper.d.ts.map +1 -1
  27. package/dist/neutral/modules/protocol-lib/providers/XyoClient.d.ts +7 -1
  28. package/dist/neutral/modules/protocol-lib/providers/XyoClient.d.ts.map +1 -1
  29. package/dist/neutral/modules/protocol-lib/providers/XyoConnection.d.ts +6 -1
  30. package/dist/neutral/modules/protocol-lib/providers/XyoConnection.d.ts.map +1 -1
  31. package/dist/neutral/modules/protocol-lib/providers/XyoGateway.d.ts +3 -3
  32. package/dist/neutral/modules/protocol-lib/providers/XyoGateway.d.ts.map +1 -1
  33. package/dist/neutral/modules/protocol-lib/providers/XyoGatewayRunner.d.ts +13 -2
  34. package/dist/neutral/modules/protocol-lib/providers/XyoGatewayRunner.d.ts.map +1 -1
  35. package/dist/neutral/modules/protocol-lib/providers/XyoNetwork.d.ts +2 -1
  36. package/dist/neutral/modules/protocol-lib/providers/XyoNetwork.d.ts.map +1 -1
  37. package/dist/neutral/modules/protocol-lib/providers/XyoRunner.d.ts +3 -1
  38. package/dist/neutral/modules/protocol-lib/providers/XyoRunner.d.ts.map +1 -1
  39. package/dist/neutral/modules/protocol-lib/providers/signer/XyoSigner.d.ts +2 -1
  40. package/dist/neutral/modules/protocol-lib/providers/signer/XyoSigner.d.ts.map +1 -1
  41. package/dist/neutral/modules/protocol-lib/repository/Repository.d.ts +10 -7
  42. package/dist/neutral/modules/protocol-lib/repository/Repository.d.ts.map +1 -1
  43. package/dist/neutral/modules/protocol-lib/repository/TransactionReadRepository.d.ts +1 -1
  44. package/dist/neutral/modules/protocol-lib/repository/TransactionReadRepository.d.ts.map +1 -1
  45. package/dist/neutral/modules/protocol-lib/repository/TransactionRepository.d.ts +3 -3
  46. package/dist/neutral/modules/protocol-lib/repository/TransactionRepository.d.ts.map +1 -1
  47. package/dist/neutral/modules/protocol-lib/repository/TransactionRepositoryIterator.d.ts +1 -1
  48. package/dist/neutral/modules/protocol-lib/repository/TransactionRepositoryIterator.d.ts.map +1 -1
  49. package/dist/neutral/modules/protocol-lib/repository/TransactionWriteRepository.d.ts +1 -1
  50. package/dist/neutral/modules/protocol-lib/repository/TransactionWriteRepository.d.ts.map +1 -1
  51. package/dist/neutral/modules/protocol-lib/runners/Block.d.ts +4 -1
  52. package/dist/neutral/modules/protocol-lib/runners/Block.d.ts.map +1 -1
  53. package/dist/neutral/modules/protocol-lib/runners/BlockPublish.d.ts +1 -1
  54. package/dist/neutral/modules/protocol-lib/runners/BlockPublish.d.ts.map +1 -1
  55. package/dist/neutral/modules/protocol-lib/runners/ChainStatePublish.d.ts +8 -1
  56. package/dist/neutral/modules/protocol-lib/runners/ChainStatePublish.d.ts.map +1 -1
  57. package/dist/neutral/modules/protocol-lib/runners/DeadLetterQueue.d.ts +8 -1
  58. package/dist/neutral/modules/protocol-lib/runners/DeadLetterQueue.d.ts.map +1 -1
  59. package/dist/neutral/modules/protocol-lib/runners/EvmEventIndexPublish.d.ts +1 -1
  60. package/dist/neutral/modules/protocol-lib/runners/EvmEventIndexPublish.d.ts.map +1 -1
  61. package/dist/neutral/modules/protocol-lib/runners/Finalization.d.ts +3 -1
  62. package/dist/neutral/modules/protocol-lib/runners/Finalization.d.ts.map +1 -1
  63. package/dist/neutral/modules/protocol-lib/runners/IndexPublish.d.ts +1 -1
  64. package/dist/neutral/modules/protocol-lib/runners/IndexPublish.d.ts.map +1 -1
  65. package/dist/neutral/modules/protocol-lib/runners/Mempool.d.ts +9 -2
  66. package/dist/neutral/modules/protocol-lib/runners/Mempool.d.ts.map +1 -1
  67. package/dist/neutral/modules/protocol-lib/status/SystemStatus.d.ts +24 -0
  68. package/dist/neutral/modules/protocol-lib/status/SystemStatus.d.ts.map +1 -1
  69. package/dist/neutral/modules/protocol-lib/summary/StepSummary.d.ts +2 -0
  70. package/dist/neutral/modules/protocol-lib/summary/StepSummary.d.ts.map +1 -1
  71. package/dist/neutral/modules/protocol-lib/summary/stepPlacement.d.ts +2 -0
  72. package/dist/neutral/modules/protocol-lib/summary/stepPlacement.d.ts.map +1 -1
  73. package/dist/neutral/modules/protocol-lib/validation/block/HydratedBlockStateValidationFunction.d.ts +3 -2
  74. package/dist/neutral/modules/protocol-lib/validation/block/HydratedBlockStateValidationFunction.d.ts.map +1 -1
  75. package/dist/neutral/modules/protocol-lib/validation/block/error.d.ts +18 -0
  76. package/dist/neutral/modules/protocol-lib/validation/block/error.d.ts.map +1 -1
  77. package/dist/neutral/modules/protocol-lib/validation/error.d.ts +9 -0
  78. package/dist/neutral/modules/protocol-lib/validation/error.d.ts.map +1 -1
  79. package/dist/neutral/modules/protocol-lib/validation/payload/error.d.ts +2 -0
  80. package/dist/neutral/modules/protocol-lib/validation/payload/error.d.ts.map +1 -1
  81. package/dist/neutral/modules/protocol-lib/validation/transaction/HydratedTransactionStateValidationFunction.d.ts +3 -0
  82. package/dist/neutral/modules/protocol-lib/validation/transaction/HydratedTransactionStateValidationFunction.d.ts.map +1 -1
  83. package/dist/neutral/modules/protocol-lib/validation/transaction/HydratedTransactionValidationFunction.d.ts +4 -1
  84. package/dist/neutral/modules/protocol-lib/validation/transaction/HydratedTransactionValidationFunction.d.ts.map +1 -1
  85. package/dist/neutral/modules/protocol-lib/viewers/Block.d.ts +33 -1
  86. package/dist/neutral/modules/protocol-lib/viewers/Block.d.ts.map +1 -1
  87. package/dist/neutral/modules/protocol-lib/viewers/BlockInvalidation.d.ts +9 -3
  88. package/dist/neutral/modules/protocol-lib/viewers/BlockInvalidation.d.ts.map +1 -1
  89. package/dist/neutral/modules/protocol-lib/viewers/BlockReward.d.ts +2 -1
  90. package/dist/neutral/modules/protocol-lib/viewers/BlockReward.d.ts.map +1 -1
  91. package/dist/neutral/modules/protocol-lib/viewers/BlockValidation.d.ts +10 -4
  92. package/dist/neutral/modules/protocol-lib/viewers/BlockValidation.d.ts.map +1 -1
  93. package/dist/neutral/modules/protocol-lib/viewers/ChainContract.d.ts +10 -1
  94. package/dist/neutral/modules/protocol-lib/viewers/ChainContract.d.ts.map +1 -1
  95. package/dist/neutral/modules/protocol-lib/viewers/ChainState.d.ts +6 -1
  96. package/dist/neutral/modules/protocol-lib/viewers/ChainState.d.ts.map +1 -1
  97. package/dist/neutral/modules/protocol-lib/viewers/DeadLetterQueue.d.ts +7 -5
  98. package/dist/neutral/modules/protocol-lib/viewers/DeadLetterQueue.d.ts.map +1 -1
  99. package/dist/neutral/modules/protocol-lib/viewers/EvmChain.d.ts +1 -1
  100. package/dist/neutral/modules/protocol-lib/viewers/EvmChain.d.ts.map +1 -1
  101. package/dist/neutral/modules/protocol-lib/viewers/Finalization.d.ts +6 -1
  102. package/dist/neutral/modules/protocol-lib/viewers/Finalization.d.ts.map +1 -1
  103. package/dist/neutral/modules/protocol-lib/viewers/Fork.d.ts +3 -2
  104. package/dist/neutral/modules/protocol-lib/viewers/Fork.d.ts.map +1 -1
  105. package/dist/neutral/modules/protocol-lib/viewers/IndexViewer.d.ts +1 -1
  106. package/dist/neutral/modules/protocol-lib/viewers/IndexViewer.d.ts.map +1 -1
  107. package/dist/neutral/modules/protocol-lib/viewers/Mempool.d.ts +7 -5
  108. package/dist/neutral/modules/protocol-lib/viewers/Mempool.d.ts.map +1 -1
  109. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/NetworkStakeViewer.d.ts +2 -1
  110. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/NetworkStakeViewer.d.ts.map +1 -1
  111. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/ByPositionViewer.d.ts +1 -1
  112. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/ByPositionViewer.d.ts.map +1 -1
  113. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/ByStakerViewer.d.ts +1 -1
  114. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/ByStakerViewer.d.ts.map +1 -1
  115. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/ByStepViewer.d.ts +1 -1
  116. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/ByStepViewer.d.ts.map +1 -1
  117. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/Options.d.ts +4 -0
  118. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/Options.d.ts.map +1 -1
  119. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/TotalViewer.d.ts +1 -1
  120. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/TotalViewer.d.ts.map +1 -1
  121. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/Viewer.d.ts +5 -1
  122. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/Viewer.d.ts.map +1 -1
  123. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts +1 -1
  124. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts.map +1 -1
  125. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/templates/MethodsTemplate.d.ts +6 -1
  126. package/dist/neutral/modules/protocol-lib/viewers/NetworkStake/Rewards/templates/MethodsTemplate.d.ts.map +1 -1
  127. package/dist/neutral/modules/protocol-lib/viewers/NetworkStakeStepReward.d.ts +22 -4
  128. package/dist/neutral/modules/protocol-lib/viewers/NetworkStakeStepReward.d.ts.map +1 -1
  129. package/dist/neutral/modules/protocol-lib/viewers/Stake.d.ts +16 -2
  130. package/dist/neutral/modules/protocol-lib/viewers/Stake.d.ts.map +1 -1
  131. package/dist/neutral/modules/protocol-lib/viewers/StakeEvents.d.ts +21 -8
  132. package/dist/neutral/modules/protocol-lib/viewers/StakeEvents.d.ts.map +1 -1
  133. package/dist/neutral/modules/protocol-lib/viewers/StakeIntent.d.ts +3 -1
  134. package/dist/neutral/modules/protocol-lib/viewers/StakeIntent.d.ts.map +1 -1
  135. package/dist/neutral/modules/protocol-lib/viewers/StakeTotals.d.ts +8 -1
  136. package/dist/neutral/modules/protocol-lib/viewers/StakeTotals.d.ts.map +1 -1
  137. package/dist/neutral/modules/protocol-lib/viewers/StepStake.d.ts +4 -1
  138. package/dist/neutral/modules/protocol-lib/viewers/StepStake.d.ts.map +1 -1
  139. package/dist/neutral/modules/protocol-lib/viewers/StepViewer.d.ts +16 -2
  140. package/dist/neutral/modules/protocol-lib/viewers/StepViewer.d.ts.map +1 -1
  141. package/dist/neutral/modules/protocol-lib/viewers/Sync.d.ts +1 -1
  142. package/dist/neutral/modules/protocol-lib/viewers/Sync.d.ts.map +1 -1
  143. package/dist/neutral/modules/protocol-lib/viewers/TimeSync.d.ts +1 -1
  144. package/dist/neutral/modules/protocol-lib/viewers/TimeSync.d.ts.map +1 -1
  145. package/dist/neutral/modules/protocol-lib/viewers/Transaction.d.ts +4 -1
  146. package/dist/neutral/modules/protocol-lib/viewers/Transaction.d.ts.map +1 -1
  147. package/dist/neutral/modules/protocol-lib/viewers/TransactionInvalidation.d.ts +7 -3
  148. package/dist/neutral/modules/protocol-lib/viewers/TransactionInvalidation.d.ts.map +1 -1
  149. package/dist/neutral/modules/protocol-lib/viewers/TransactionValidation.d.ts +8 -4
  150. package/dist/neutral/modules/protocol-lib/viewers/TransactionValidation.d.ts.map +1 -1
  151. package/dist/neutral/modules/protocol-lib/viewers/TransferBalance.d.ts +11 -3
  152. package/dist/neutral/modules/protocol-lib/viewers/TransferBalance.d.ts.map +1 -1
  153. package/dist/neutral/modules/protocol-lib/viewers/WindowedBlock.d.ts +3 -1
  154. package/dist/neutral/modules/protocol-lib/viewers/WindowedBlock.d.ts.map +1 -1
  155. package/dist/neutral/modules/protocol-lib/viewers/XyoViewer.d.ts +23 -3
  156. package/dist/neutral/modules/protocol-lib/viewers/XyoViewer.d.ts.map +1 -1
  157. package/dist/neutral/modules/protocol-model/RecordKeyType.d.ts +1 -1
  158. package/dist/neutral/modules/protocol-model/RecordKeyType.d.ts.map +1 -1
  159. package/dist/neutral/modules/protocol-model/Step/StepHash.d.ts +4 -2
  160. package/dist/neutral/modules/protocol-model/Step/StepHash.d.ts.map +1 -1
  161. package/dist/neutral/modules/protocol-model/amount/ShiftedBigIntConfig.d.ts +9 -1
  162. package/dist/neutral/modules/protocol-model/amount/ShiftedBigIntConfig.d.ts.map +1 -1
  163. package/dist/neutral/modules/protocol-model/amount/xl1AmountInstance.d.ts +28 -1
  164. package/dist/neutral/modules/protocol-model/amount/xl1AmountInstance.d.ts.map +1 -1
  165. package/dist/neutral/modules/protocol-model/block/AllowedBlockPayload.d.ts +3 -3
  166. package/dist/neutral/modules/protocol-model/block/AllowedBlockPayload.d.ts.map +1 -1
  167. package/dist/neutral/modules/protocol-model/block/BlockBoundWitness.d.ts +9 -9
  168. package/dist/neutral/modules/protocol-model/block/BlockBoundWitness.d.ts.map +1 -1
  169. package/dist/neutral/modules/protocol-model/block/HydratedBlock.d.ts +16 -16
  170. package/dist/neutral/modules/protocol-model/block/HydratedBlock.d.ts.map +1 -1
  171. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitness.d.ts +3 -3
  172. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitness.d.ts.map +1 -1
  173. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts +5 -5
  174. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts.map +1 -1
  175. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts +5 -5
  176. package/dist/neutral/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts.map +1 -1
  177. package/dist/neutral/modules/protocol-model/block/unsigned/UnsignedBlockBoundWitness.d.ts +3 -3
  178. package/dist/neutral/modules/protocol-model/block/unsigned/UnsignedBlockBoundWitness.d.ts.map +1 -1
  179. package/dist/neutral/modules/protocol-model/chain/Chain.d.ts +1 -1
  180. package/dist/neutral/modules/protocol-model/chain/Chain.d.ts.map +1 -1
  181. package/dist/neutral/modules/protocol-model/chain/ChainAnalyzer.d.ts +9 -1
  182. package/dist/neutral/modules/protocol-model/chain/ChainAnalyzer.d.ts.map +1 -1
  183. package/dist/neutral/modules/protocol-model/chain/ChainId.d.ts +2 -2
  184. package/dist/neutral/modules/protocol-model/chain/ChainId.d.ts.map +1 -1
  185. package/dist/neutral/modules/protocol-model/fields/Addressable.d.ts +2 -1
  186. package/dist/neutral/modules/protocol-model/fields/Addressable.d.ts.map +1 -1
  187. package/dist/neutral/modules/protocol-model/fields/BlockDuration.d.ts +2 -2
  188. package/dist/neutral/modules/protocol-model/fields/BlockDuration.d.ts.map +1 -1
  189. package/dist/neutral/modules/protocol-model/fields/BlockNumber.d.ts +1 -1
  190. package/dist/neutral/modules/protocol-model/fields/BlockNumber.d.ts.map +1 -1
  191. package/dist/neutral/modules/protocol-model/map/AsyncMap.d.ts +13 -6
  192. package/dist/neutral/modules/protocol-model/map/AsyncMap.d.ts.map +1 -1
  193. package/dist/neutral/modules/protocol-model/map/MapType.d.ts +7 -7
  194. package/dist/neutral/modules/protocol-model/map/MapType.d.ts.map +1 -1
  195. package/dist/neutral/modules/protocol-model/map/SyncMap.d.ts +13 -6
  196. package/dist/neutral/modules/protocol-model/map/SyncMap.d.ts.map +1 -1
  197. package/dist/neutral/modules/protocol-model/model/AccountBalance.d.ts +11 -5
  198. package/dist/neutral/modules/protocol-model/model/AccountBalance.d.ts.map +1 -1
  199. package/dist/neutral/modules/protocol-model/model/ArrayBuffer.d.ts +2 -2
  200. package/dist/neutral/modules/protocol-model/model/ArrayBuffer.d.ts.map +1 -1
  201. package/dist/neutral/modules/protocol-model/model/BlockRange/BlockRange.d.ts +7 -7
  202. package/dist/neutral/modules/protocol-model/model/BlockRange/BlockRange.d.ts.map +1 -1
  203. package/dist/neutral/modules/protocol-model/model/BlockRange/EthBlockRange.d.ts +7 -7
  204. package/dist/neutral/modules/protocol-model/model/BlockRange/EthBlockRange.d.ts.map +1 -1
  205. package/dist/neutral/modules/protocol-model/model/BlockRange/Numberish.d.ts +1 -1
  206. package/dist/neutral/modules/protocol-model/model/BlockRange/Numberish.d.ts.map +1 -1
  207. package/dist/neutral/modules/protocol-model/model/BlockRange/Range.d.ts +3 -3
  208. package/dist/neutral/modules/protocol-model/model/BlockRange/Range.d.ts.map +1 -1
  209. package/dist/neutral/modules/protocol-model/model/BlockRange/xl1BlockRange.d.ts +7 -7
  210. package/dist/neutral/modules/protocol-model/model/BlockRange/xl1BlockRange.d.ts.map +1 -1
  211. package/dist/neutral/modules/protocol-model/model/BlockRate.d.ts +19 -19
  212. package/dist/neutral/modules/protocol-model/model/BlockRate.d.ts.map +1 -1
  213. package/dist/neutral/modules/protocol-model/model/ChainQualification.d.ts +11 -11
  214. package/dist/neutral/modules/protocol-model/model/ChainQualification.d.ts.map +1 -1
  215. package/dist/neutral/modules/protocol-model/model/Context/BaseContext.d.ts +1 -1
  216. package/dist/neutral/modules/protocol-model/model/Context/BaseContext.d.ts.map +1 -1
  217. package/dist/neutral/modules/protocol-model/model/Context/BaseContext.zod.d.ts +7 -7
  218. package/dist/neutral/modules/protocol-model/model/Context/BaseContext.zod.d.ts.map +1 -1
  219. package/dist/neutral/modules/protocol-model/model/Context/BlockContext.d.ts +3 -3
  220. package/dist/neutral/modules/protocol-model/model/Context/BlockContext.d.ts.map +1 -1
  221. package/dist/neutral/modules/protocol-model/model/Context/BlockContext.zod.d.ts +3 -3
  222. package/dist/neutral/modules/protocol-model/model/Context/BlockContext.zod.d.ts.map +1 -1
  223. package/dist/neutral/modules/protocol-model/model/Context/CachingContext.d.ts +1 -1
  224. package/dist/neutral/modules/protocol-model/model/Context/CachingContext.d.ts.map +1 -1
  225. package/dist/neutral/modules/protocol-model/model/Context/CachingContext.zod.d.ts +1 -1
  226. package/dist/neutral/modules/protocol-model/model/Context/CachingContext.zod.d.ts.map +1 -1
  227. package/dist/neutral/modules/protocol-model/model/Context/ChainContext.d.ts +3 -3
  228. package/dist/neutral/modules/protocol-model/model/Context/ChainContext.d.ts.map +1 -1
  229. package/dist/neutral/modules/protocol-model/model/Context/ChainContext.zod.d.ts +3 -3
  230. package/dist/neutral/modules/protocol-model/model/Context/ChainContext.zod.d.ts.map +1 -1
  231. package/dist/neutral/modules/protocol-model/model/Context/HeadContext.d.ts +1 -1
  232. package/dist/neutral/modules/protocol-model/model/Context/HeadContext.d.ts.map +1 -1
  233. package/dist/neutral/modules/protocol-model/model/Context/HeadContext.zod.d.ts +2 -2
  234. package/dist/neutral/modules/protocol-model/model/Context/HeadContext.zod.d.ts.map +1 -1
  235. package/dist/neutral/modules/protocol-model/model/GatewayName.d.ts +1 -1
  236. package/dist/neutral/modules/protocol-model/model/GatewayName.d.ts.map +1 -1
  237. package/dist/neutral/modules/protocol-model/model/HydratedTransaction.d.ts +18 -18
  238. package/dist/neutral/modules/protocol-model/model/HydratedTransaction.d.ts.map +1 -1
  239. package/dist/neutral/modules/protocol-model/model/OpCodes.d.ts +1 -1
  240. package/dist/neutral/modules/protocol-model/model/OpCodes.d.ts.map +1 -1
  241. package/dist/neutral/modules/protocol-model/model/PayloadMap.d.ts +3 -3
  242. package/dist/neutral/modules/protocol-model/model/PayloadMap.d.ts.map +1 -1
  243. package/dist/neutral/modules/protocol-model/model/Permission.d.ts +6 -6
  244. package/dist/neutral/modules/protocol-model/model/Permission.d.ts.map +1 -1
  245. package/dist/neutral/modules/protocol-model/model/Position.d.ts +8 -1
  246. package/dist/neutral/modules/protocol-model/model/Position.d.ts.map +1 -1
  247. package/dist/neutral/modules/protocol-model/model/PositionId.d.ts +1 -1
  248. package/dist/neutral/modules/protocol-model/model/PositionId.d.ts.map +1 -1
  249. package/dist/neutral/modules/protocol-model/model/RangeMultipliers.d.ts +4 -4
  250. package/dist/neutral/modules/protocol-model/model/RangeMultipliers.d.ts.map +1 -1
  251. package/dist/neutral/modules/protocol-model/model/RewardShare.d.ts +1 -1
  252. package/dist/neutral/modules/protocol-model/model/RewardShare.d.ts.map +1 -1
  253. package/dist/neutral/modules/protocol-model/model/RewardsRangeOptions.d.ts +1 -1
  254. package/dist/neutral/modules/protocol-model/model/RewardsRangeOptions.d.ts.map +1 -1
  255. package/dist/neutral/modules/protocol-model/model/Sequence.d.ts +6 -6
  256. package/dist/neutral/modules/protocol-model/model/Sequence.d.ts.map +1 -1
  257. package/dist/neutral/modules/protocol-model/model/Stake.d.ts +3 -3
  258. package/dist/neutral/modules/protocol-model/model/Stake.d.ts.map +1 -1
  259. package/dist/neutral/modules/protocol-model/model/StakeShare.d.ts +1 -1
  260. package/dist/neutral/modules/protocol-model/model/StakeShare.d.ts.map +1 -1
  261. package/dist/neutral/modules/protocol-model/model/SyncStepSummary.d.ts +9 -9
  262. package/dist/neutral/modules/protocol-model/model/SyncStepSummary.d.ts.map +1 -1
  263. package/dist/neutral/modules/protocol-model/model/TimeDomain.d.ts +1 -1
  264. package/dist/neutral/modules/protocol-model/model/TimeDomain.d.ts.map +1 -1
  265. package/dist/neutral/modules/protocol-model/model/TransferPair.d.ts +1 -1
  266. package/dist/neutral/modules/protocol-model/model/TransferPair.d.ts.map +1 -1
  267. package/dist/neutral/modules/protocol-model/model/addresses.d.ts +5 -5
  268. package/dist/neutral/modules/protocol-model/model/addresses.d.ts.map +1 -1
  269. package/dist/neutral/modules/protocol-model/model/defaultRewardRatio.d.ts +1 -1
  270. package/dist/neutral/modules/protocol-model/model/defaultRewardRatio.d.ts.map +1 -1
  271. package/dist/neutral/modules/protocol-model/model/rewards.d.ts +7 -7
  272. package/dist/neutral/modules/protocol-model/model/rewards.d.ts.map +1 -1
  273. package/dist/neutral/modules/protocol-model/model/version.d.ts +5 -5
  274. package/dist/neutral/modules/protocol-model/model/version.d.ts.map +1 -1
  275. package/dist/neutral/modules/protocol-model/payload/StepWitness.d.ts +1 -1
  276. package/dist/neutral/modules/protocol-model/payload/StepWitness.d.ts.map +1 -1
  277. package/dist/neutral/modules/protocol-model/payload/application/Exchange/ExchangeOutcome.d.ts +1 -1
  278. package/dist/neutral/modules/protocol-model/payload/application/Exchange/ExchangeOutcome.d.ts.map +1 -1
  279. package/dist/neutral/modules/protocol-model/payload/application/Exchange/ExchangeTerms.d.ts +1 -1
  280. package/dist/neutral/modules/protocol-model/payload/application/Exchange/ExchangeTerms.d.ts.map +1 -1
  281. package/dist/neutral/modules/protocol-model/payload/application/Exchange/PartySecretReveal.d.ts +1 -1
  282. package/dist/neutral/modules/protocol-model/payload/application/Exchange/PartySecretReveal.d.ts.map +1 -1
  283. package/dist/neutral/modules/protocol-model/payload/application/Ordinal/Inscription.d.ts +1 -1
  284. package/dist/neutral/modules/protocol-model/payload/application/Ordinal/Inscription.d.ts.map +1 -1
  285. package/dist/neutral/modules/protocol-model/payload/application/Ordinal/OrdinalTransfer.d.ts +1 -1
  286. package/dist/neutral/modules/protocol-model/payload/application/Ordinal/OrdinalTransfer.d.ts.map +1 -1
  287. package/dist/neutral/modules/protocol-model/payload/application/Xrc20/TokenDeploy.d.ts +1 -1
  288. package/dist/neutral/modules/protocol-model/payload/application/Xrc20/TokenDeploy.d.ts.map +1 -1
  289. package/dist/neutral/modules/protocol-model/payload/application/Xrc20/TokenMint.d.ts +1 -1
  290. package/dist/neutral/modules/protocol-model/payload/application/Xrc20/TokenMint.d.ts.map +1 -1
  291. package/dist/neutral/modules/protocol-model/payload/application/Xrc20/TokenTransfer.d.ts +1 -1
  292. package/dist/neutral/modules/protocol-model/payload/application/Xrc20/TokenTransfer.d.ts.map +1 -1
  293. package/dist/neutral/modules/protocol-model/payload/elevatable/Bridge/BridgeDestinationObservation.d.ts +1 -1
  294. package/dist/neutral/modules/protocol-model/payload/elevatable/Bridge/BridgeDestinationObservation.d.ts.map +1 -1
  295. package/dist/neutral/modules/protocol-model/payload/elevatable/Bridge/BridgeIntent.d.ts +2 -2
  296. package/dist/neutral/modules/protocol-model/payload/elevatable/Bridge/BridgeIntent.d.ts.map +1 -1
  297. package/dist/neutral/modules/protocol-model/payload/elevatable/Bridge/BridgeSourceObservation.d.ts +1 -1
  298. package/dist/neutral/modules/protocol-model/payload/elevatable/Bridge/BridgeSourceObservation.d.ts.map +1 -1
  299. package/dist/neutral/modules/protocol-model/payload/elevatable/ChainStakeIntent.d.ts +2 -1
  300. package/dist/neutral/modules/protocol-model/payload/elevatable/ChainStakeIntent.d.ts.map +1 -1
  301. package/dist/neutral/modules/protocol-model/payload/elevatable/Executable.d.ts +10 -5
  302. package/dist/neutral/modules/protocol-model/payload/elevatable/Executable.d.ts.map +1 -1
  303. package/dist/neutral/modules/protocol-model/payload/elevatable/Hash.d.ts +1 -0
  304. package/dist/neutral/modules/protocol-model/payload/elevatable/Hash.d.ts.map +1 -1
  305. package/dist/neutral/modules/protocol-model/payload/elevatable/StepComplete.d.ts +6 -1
  306. package/dist/neutral/modules/protocol-model/payload/elevatable/StepComplete.d.ts.map +1 -1
  307. package/dist/neutral/modules/protocol-model/provider/Provider.d.ts +2 -1
  308. package/dist/neutral/modules/protocol-model/provider/Provider.d.ts.map +1 -1
  309. package/dist/neutral/modules/protocol-model/transaction/TransactionBoundWitness.d.ts +35 -35
  310. package/dist/neutral/modules/protocol-model/transaction/TransactionBoundWitness.d.ts.map +1 -1
  311. package/dist/neutral/modules/protocol-model/transaction/TransactionFees.d.ts +13 -13
  312. package/dist/neutral/modules/protocol-model/transaction/TransactionFees.d.ts.map +1 -1
  313. package/dist/neutral/modules/protocol-model/transaction/TransactionGasCosts.d.ts +1 -1
  314. package/dist/neutral/modules/protocol-model/transaction/TransactionGasCosts.d.ts.map +1 -1
  315. package/dist/neutral/modules/protocol-model/xl1/attoXl1.d.ts +15 -6
  316. package/dist/neutral/modules/protocol-model/xl1/attoXl1.d.ts.map +1 -1
  317. package/dist/neutral/modules/protocol-model/xl1/femtoXl1.d.ts +15 -6
  318. package/dist/neutral/modules/protocol-model/xl1/femtoXl1.d.ts.map +1 -1
  319. package/dist/neutral/modules/protocol-model/xl1/isXl1Factory.d.ts +38 -5
  320. package/dist/neutral/modules/protocol-model/xl1/isXl1Factory.d.ts.map +1 -1
  321. package/dist/neutral/modules/protocol-model/xl1/microXl1.d.ts +15 -6
  322. package/dist/neutral/modules/protocol-model/xl1/microXl1.d.ts.map +1 -1
  323. package/dist/neutral/modules/protocol-model/xl1/milliXl1.d.ts +15 -6
  324. package/dist/neutral/modules/protocol-model/xl1/milliXl1.d.ts.map +1 -1
  325. package/dist/neutral/modules/protocol-model/xl1/nanoXl1.d.ts +15 -6
  326. package/dist/neutral/modules/protocol-model/xl1/nanoXl1.d.ts.map +1 -1
  327. package/dist/neutral/modules/protocol-model/xl1/picoXl1.d.ts +15 -6
  328. package/dist/neutral/modules/protocol-model/xl1/picoXl1.d.ts.map +1 -1
  329. package/dist/neutral/modules/protocol-model/xl1/xl1.d.ts +15 -6
  330. package/dist/neutral/modules/protocol-model/xl1/xl1.d.ts.map +1 -1
  331. package/dist/neutral/modules/protocol-model/xl1/xl1MaxValue.d.ts +6 -1
  332. package/dist/neutral/modules/protocol-model/xl1/xl1MaxValue.d.ts.map +1 -1
  333. package/dist/neutral/modules/protocol-model/xl1/xl1Units.d.ts +6 -3
  334. package/dist/neutral/modules/protocol-model/xl1/xl1Units.d.ts.map +1 -1
  335. package/dist/neutral/modules/schema/boundwitness/BlockBoundWitness.d.ts +1 -0
  336. package/dist/neutral/modules/schema/boundwitness/BlockBoundWitness.d.ts.map +1 -1
  337. package/dist/neutral/modules/schema/boundwitness/BlockBoundWitnessWithStorageMeta.d.ts +1 -0
  338. package/dist/neutral/modules/schema/boundwitness/BlockBoundWitnessWithStorageMeta.d.ts.map +1 -1
  339. package/dist/neutral/modules/schema/boundwitness/TransactionBoundWitness.d.ts +1 -0
  340. package/dist/neutral/modules/schema/boundwitness/TransactionBoundWitness.d.ts.map +1 -1
  341. package/dist/neutral/modules/schema/boundwitness/TransactionBoundWitnessWithStorageMeta.d.ts +1 -0
  342. package/dist/neutral/modules/schema/boundwitness/TransactionBoundWitnessWithStorageMeta.d.ts.map +1 -1
  343. package/dist/neutral/modules/schema/mergeJsonSchemaRequired.d.ts +6 -0
  344. package/dist/neutral/modules/schema/mergeJsonSchemaRequired.d.ts.map +1 -1
  345. package/dist/neutral/modules/schema/payload/ChainStakeIntent.d.ts +1 -0
  346. package/dist/neutral/modules/schema/payload/ChainStakeIntent.d.ts.map +1 -1
  347. package/dist/neutral/modules/schema/payload/HashPayload.d.ts +1 -0
  348. package/dist/neutral/modules/schema/payload/HashPayload.d.ts.map +1 -1
  349. package/dist/neutral/modules/schema/payload/TransferPayload.d.ts +1 -0
  350. package/dist/neutral/modules/schema/payload/TransferPayload.d.ts.map +1 -1
  351. package/dist/neutral/modules/test/buildRandomTransaction.d.ts +7 -0
  352. package/dist/neutral/modules/test/buildRandomTransaction.d.ts.map +1 -1
  353. package/dist/neutral/modules/test/buildTransaction.d.ts +8 -0
  354. package/dist/neutral/modules/test/buildTransaction.d.ts.map +1 -1
  355. package/dist/neutral/modules/test/createTransferPayload.d.ts +1 -0
  356. package/dist/neutral/modules/test/createTransferPayload.d.ts.map +1 -1
  357. package/dist/neutral/modules/validation/transaction/validators/SignerAuthorization.d.ts +3 -0
  358. package/dist/neutral/modules/validation/transaction/validators/SignerAuthorization.d.ts.map +1 -1
  359. package/dist/neutral/network-model.mjs +12 -2
  360. package/dist/neutral/network-model.mjs.map +2 -2
  361. package/dist/neutral/protocol-lib.mjs +11 -1
  362. package/dist/neutral/protocol-lib.mjs.map +2 -2
  363. package/dist/neutral/protocol-model.mjs +2 -2
  364. package/dist/neutral/protocol-model.mjs.map +2 -2
  365. package/dist/neutral/schema.mjs.map +2 -2
  366. package/dist/neutral/test.mjs.map +2 -2
  367. package/dist/neutral/validation.mjs +2 -2
  368. package/dist/neutral/validation.mjs.map +2 -2
  369. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/modules/protocol-lib/address/derivedReceiveAddress.ts", "../../src/modules/protocol-lib/address/rewardAddressFromStepIdentity.ts", "../../src/modules/protocol-lib/address/sentinelAddressFromSchema.ts", "../../src/modules/protocol-lib/network/Status.ts", "../../src/modules/protocol-lib/providers/DataLake/isSchemaAllowed.ts", "../../src/modules/protocol-lib/providers/DataLake/Runner.ts", "../../src/modules/protocol-lib/providers/DataLake/Viewer.ts", "../../src/modules/protocol-lib/providers/signer/XyoSigner.ts", "../../src/modules/protocol-lib/providers/XyoConnection.ts", "../../src/modules/protocol-lib/providers/XyoGateway.ts", "../../src/modules/protocol-lib/providers/XyoGatewayRunner.ts", "../../src/modules/protocol-lib/providers/XyoRunner.ts", "../../src/modules/protocol-lib/runners/Block.ts", "../../src/modules/protocol-lib/runners/BlockPublish.ts", "../../src/modules/protocol-lib/runners/ChainStatePublish.ts", "../../src/modules/protocol-lib/runners/DataLakePublish.ts", "../../src/modules/protocol-lib/runners/DeadLetterQueue.ts", "../../src/modules/protocol-lib/runners/EvmEventIndexPublish.ts", "../../src/modules/protocol-lib/runners/Finalization.ts", "../../src/modules/protocol-lib/runners/IndexPublish.ts", "../../src/modules/protocol-lib/runners/Mempool.ts", "../../src/modules/protocol-lib/status/SystemStatus.ts", "../../src/modules/protocol-lib/summary/BlocksStepSummary.ts", "../../src/modules/protocol-lib/summary/stepPlacement.ts", "../../src/modules/protocol-lib/summary/StepSummary.ts", "../../src/modules/protocol-lib/transaction/elevatedPayloads.ts", "../../src/modules/protocol-lib/transaction/script.ts", "../../src/modules/protocol-lib/validation/block/error.ts", "../../src/modules/protocol-lib/validation/error.ts", "../../src/modules/protocol-lib/validation/boundwitness/error.ts", "../../src/modules/protocol-lib/validation/payload/error.ts", "../../src/modules/protocol-lib/validation/transaction/error.ts", "../../src/modules/protocol-lib/viewers/Block.ts", "../../src/modules/protocol-lib/viewers/BlockInvalidation.ts", "../../src/modules/protocol-lib/viewers/BlockReward.ts", "../../src/modules/protocol-lib/viewers/BlockValidation.ts", "../../src/modules/protocol-lib/viewers/ChainContract.ts", "../../src/modules/protocol-lib/viewers/ChainStakeViewer.ts", "../../src/modules/protocol-lib/viewers/ChainState.ts", "../../src/modules/protocol-lib/viewers/DeadLetterQueue.ts", "../../src/modules/protocol-lib/viewers/EvmChain.ts", "../../src/modules/protocol-lib/viewers/Finalization.ts", "../../src/modules/protocol-lib/viewers/IndexViewer.ts", "../../src/modules/protocol-lib/viewers/Mempool.ts", "../../src/modules/protocol-lib/viewers/NetworkStake/NetworkStakeViewer.ts", "../../src/modules/protocol-lib/viewers/NetworkStake/Rewards/ByPositionViewer.ts", "../../src/modules/protocol-lib/viewers/NetworkStake/Rewards/ByStakerViewer.ts", "../../src/modules/protocol-lib/viewers/NetworkStake/Rewards/ByStepViewer.ts", "../../src/modules/protocol-lib/viewers/NetworkStake/Rewards/TotalViewer.ts", "../../src/modules/protocol-lib/viewers/NetworkStake/Rewards/Viewer.ts", "../../src/modules/protocol-lib/viewers/NetworkStakeStepReward.ts", "../../src/modules/protocol-lib/viewers/Stake.ts", "../../src/modules/protocol-lib/viewers/StakeEvents.ts", "../../src/modules/protocol-lib/viewers/StakeTotals.ts", "../../src/modules/protocol-lib/viewers/StepStake.ts", "../../src/modules/protocol-lib/viewers/StepViewer.ts", "../../src/modules/protocol-lib/viewers/Sync.ts", "../../src/modules/protocol-lib/viewers/TimeSync.ts", "../../src/modules/protocol-lib/viewers/Transaction.ts", "../../src/modules/protocol-lib/viewers/TransactionInvalidation.ts", "../../src/modules/protocol-lib/viewers/TransactionValidation.ts", "../../src/modules/protocol-lib/viewers/TransferBalance.ts", "../../src/modules/protocol-lib/viewers/WindowedBlock.ts", "../../src/modules/protocol-lib/viewers/XyoViewer.ts", "../../src/modules/protocol-lib/index.ts"],
4
- "sourcesContent": ["import { isDefined, toAddress } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { keccak256 } from 'ethers'\n\n/** Returns the deterministic derived receive address for an address and optional scope. */\nexport function derivedReceiveAddress(address: XyoAddress, scope?: string): XyoAddress {\n const encoder = new TextEncoder()\n const addressKey = encoder.encode(isDefined(scope) ? `${scope}|${address}` : address)\n const hash = keccak256(addressKey)\n return toAddress(hash.slice(-40), { prefix: false })\n}\n", "import { toAddress } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { keccak256 } from 'ethers'\n\nimport { type StepIdentity, StepSizes } from '#protocol-model'\n\n/** Returns the deterministic reward-holder address for a completed step. */\nexport function rewardAddressFromStepIdentity({ block, step }: StepIdentity): XyoAddress {\n const resolvedStepSize = step < StepSizes.length ? StepSizes[step] : step\n const encoder = new TextEncoder()\n const addressKey = encoder.encode(`${block}|${resolvedStepSize}`)\n const hash = keccak256(addressKey)\n return toAddress(hash.slice(-40), { prefix: false })\n}\n\n/** @deprecated use rewardAddressFromStepIdentity instead */\nexport const completedStepRewardAddress = rewardAddressFromStepIdentity\n", "import { isDefined, toAddress } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { keccak256 } from 'ethers'\n\n/**\n * Returns a deterministic no-private-key sentinel address derived from a schema,\n * optionally bound to a specific payload hash for per-payload burn semantics.\n *\n * Without `payloadHash`: produces the static protocol sentinel for the schema.\n * Used as the destination for `Transfer` payloads accompanying app\n * data so that `accountBalanceHistory(sentinel)` surfaces every transaction\n * in the protocol with no global indexer required.\n * construction: keccak256(utf8(schema)).slice(-40)\n *\n * With `payloadHash`: produces a per-payload derived burn address scoped to\n * the schema. Each app payload binds dust to a unique no-key\n * destination \u2014 verifiable real cost per operation.\n * construction: keccak256(utf8(`${schema}|${payloadHash}`)).slice(-40)\n *\n * Mirrors the construction used by `rewardAddressFromStepIdentity` and\n * `derivedReceiveAddress` for the chain's own no-key escrow accounts.\n */\nexport function sentinelAddressFromSchema(schema: string, payloadHash?: string): XyoAddress {\n const seed = isDefined(payloadHash) ? `${schema}|${payloadHash}` : schema\n const encoder = new TextEncoder()\n const encoded = encoder.encode(seed)\n const hash = keccak256(encoded)\n return toAddress(hash.slice(-40), { prefix: false })\n}\n", "import type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk'\n\n/** Schema identifier for network status payloads. */\nexport const NetworkStatusSchema = asSchema('network.xyo.chain.status', true)\n/** Schema type for NetworkStatus payloads. */\nexport type NetworkStatusSchema = typeof NetworkStatusSchema\n\n/** Possible states of the network: online, offline, degraded, or unknown. */\nexport type NetworkStatusState = 'online' | 'offline' | 'degraded' | 'unknown'\n\n/** Represents a single network status update with a time range and description. */\nexport interface NetworkStatusUpdate {\n end: number\n start: number\n update: string\n}\n\n/** Fields describing the current network status, including state and optional updates. */\nexport interface NetworkStatusFields {\n description: string\n state: NetworkStatusState\n updates?: NetworkStatusUpdate[]\n}\n\n/** A payload representing the current network status. */\nexport type NetworkStatus = Payload<NetworkStatusFields, NetworkStatusSchema>\n\n/** Type guard that checks whether a value is a NetworkStatus payload. */\nexport const isNetworkStatus = isPayloadOfSchemaType<NetworkStatus>(NetworkStatusSchema)\n", "import type { Schema } from '@xyo-network/sdk'\n\n/**\n * Applies a datalake provider's schema allow/deny lists: a schema passes when it is in\n * `allowedSchemas` (or no allow list is set) and not in `disallowedSchemas`.\n */\nexport function isSchemaAllowed(schema: Schema, allowedSchemas?: Schema[], disallowedSchemas?: Schema[]): boolean {\n if (allowedSchemas && !allowedSchemas.includes(schema)) {\n return false\n }\n if (disallowedSchemas?.includes(schema) === true) {\n return false\n }\n return true\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport type { WriteArchivistFunctions } from '@xyo-network/sdk'\n\nimport type { DataLakeData, DataLakeProvider } from './Provider.ts'\nimport type { DataLakeViewer, DataLakeViewerMethods } from './Viewer.ts'\n\n/** Moniker identifier for the DataLakeRunner provider. */\nexport const DataLakeRunnerMoniker = 'DataLakeRunner' as const\n/** Type literal for the DataLakeRunner provider moniker. */\nexport type DataLakeRunnerMoniker = typeof DataLakeRunnerMoniker\n\n/** DataLakeRunnerMethods interface. */\nexport interface DataLakeRunnerMethods extends WriteArchivistFunctions<DataLakeData, DataLakeData, DataLakeData, Hash>, DataLakeViewerMethods {}\n\n/** Runner interface for executing DataLake operations. */\nexport interface DataLakeRunner extends DataLakeProvider<DataLakeRunnerMoniker>, DataLakeRunnerMethods, Omit<DataLakeViewer, 'moniker'> {}\n", "import type { Hash } from '@ariestools/sdk'\nimport type { ReadArchivistFunctions, Sequence } from '@xyo-network/sdk'\n\nimport type { DataLakeData, DataLakeProvider } from './Provider.ts'\n\n/** Moniker identifier for the DataLakeViewer provider. */\nexport const DataLakeViewerMoniker = 'DataLakeViewer' as const\n/** Type literal for the DataLakeViewer provider moniker. */\nexport type DataLakeViewerMoniker = typeof DataLakeViewerMoniker\n\n/** DataLakeViewerMethods interface. */\nexport interface DataLakeViewerMethods extends ReadArchivistFunctions<DataLakeData, Hash, Sequence> {}\n\n/** Viewer interface for reading DataLake data. */\nexport interface DataLakeViewer extends DataLakeProvider<DataLakeViewerMoniker>, DataLakeViewerMethods {\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type {\n Payload, Signed, SignedHydratedBoundWitnessWithHashMeta, UnsignedBoundWitness, XyoAddress,\n} from '@xyo-network/sdk'\n\nimport type {\n Provider, SignedHydratedTransactionWithHashMeta, UnsignedHydratedTransaction,\n} from '#protocol-model'\n\n/** Moniker identifier for the XyoSigner provider. */\nexport const XyoSignerMoniker = 'XyoSigner' as const\n/** Type literal for the XyoSigner provider moniker. */\nexport type XyoSignerMoniker = typeof XyoSignerMoniker\n\n/** XyoSignerMethods interface \u2014 the RPC-exposable signing surface. */\nexport interface XyoSignerMethods {\n address(): Promisable<XyoAddress>\n /**\n * Signs an unsigned bound witness (plus the payloads it references, on- and off-chain) and returns\n * the signed, hash-meta-stamped result ready to broadcast. Generic over the bound-witness type, so\n * the signed result preserves the input's concrete shape (e.g. a transaction bound witness signs to\n * a signed transaction bound witness).\n */\n sign<T extends UnsignedBoundWitness>(bw: [T, Payload[]]): Promisable<SignedHydratedBoundWitnessWithHashMeta<Signed<T>>>\n}\n\n/** XyoSigner interface. */\nexport interface XyoSigner extends XyoSignerMethods, Provider<XyoSignerMoniker> {\n /** Convenience over {@link XyoSignerMethods.sign} that narrows the result to a signed transaction. */\n signTransaction(tx: UnsignedHydratedTransaction): Promisable<SignedHydratedTransactionWithHashMeta>\n}\n", "import type { Provider } from '#protocol-model'\n\nimport type { NetworkStakeViewer, XyoViewer } from '../viewers/index.ts'\nimport type { DataLakeRunner, DataLakeViewer } from './DataLake/index.ts'\nimport type { XyoNetwork } from './XyoNetwork.ts'\nimport type { XyoRunner } from './XyoRunner.ts'\n\n/** Moniker identifier for the XyoConnection provider. */\nexport const XyoConnectionMoniker = 'XyoConnection' as const\n/** Type literal for the XyoConnection provider moniker. */\nexport type XyoConnectionMoniker = typeof XyoConnectionMoniker\n\n/** XyoConnection interface. */\nexport interface XyoConnection extends Provider<XyoConnectionMoniker> {\n network?: XyoNetwork\n networkStake?: NetworkStakeViewer\n runner?: XyoRunner\n storage?: DataLakeRunner | DataLakeViewer | (DataLakeRunner & DataLakeViewer)\n viewer?: XyoViewer\n}\n", "import type { Provider, ProviderMoniker } from '#protocol-model'\n\nimport type { XyoConnection } from './XyoConnection.ts'\n\n/** Moniker identifier for the XyoGateway provider. */\nexport const XyoGatewayMoniker = 'XyoGateway' as const\n/** Type literal for the XyoGateway provider moniker. */\nexport type XyoGatewayMoniker = typeof XyoGatewayMoniker\n\n/** XyoGatewayMethods interface. */\nexport interface XyoGatewayMethods {}\n\n/** XyoGatewayProvider interface. */\nexport interface XyoGatewayProvider<\n TMoniker extends ProviderMoniker = ProviderMoniker> extends XyoGatewayMethods, Provider<TMoniker> {\n /**\n * Returns the connection provider for this gateway.\n */\n connection: XyoConnection\n}\n\n/** XyoGateway interface. */\nexport interface XyoGateway extends XyoGatewayProvider<XyoGatewayMoniker>, Provider<XyoGatewayMoniker> {\n}\n", "import type {\n Hash, Logger, Promisable,\n} from '@ariestools/sdk'\nimport type { Payload, XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n AllowedBlockPayload, AttoXL1, ChainId,\n HydratedTransactionWithHashMeta,\n SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n TransactionFeesBigInt, UnsignedHydratedTransaction, XL1BlockNumber,\n} from '#protocol-model'\n\nimport type { XyoSigner } from './signer/index.ts'\nimport type { XyoGatewayProvider } from './XyoGateway.ts'\n\n/** ConfirmSubmittedTransactionOptions type. */\nexport interface ConfirmSubmittedTransactionOptions {\n /**\n * Number of attempts to confirm the transaction.\n * Defaults to 20.\n */\n attempts?: number\n /**\n * Delay in milliseconds between confirmation attempts.\n * Defaults to 1000 (1 second).\n */\n delay?: number\n /**\n * Block number after which the transaction is considered expired.\n * If the chain head moves past this value before the transaction is\n * confirmed, confirmation fails with an expired error.\n */\n exp?: XL1BlockNumber\n /**\n * Optional logger instance for logging progress.\n */\n logger?: Logger\n}\n\n/** Options for Transaction. */\nexport interface TransactionOptions {\n chain?: ChainId\n exp?: XL1BlockNumber\n fees?: TransactionFeesBigInt\n from?: XyoAddress\n nbf?: XL1BlockNumber\n}\n\n/** Moniker identifier for the XyoGatewayRunner provider. */\nexport const XyoGatewayRunnerMoniker = 'XyoGatewayRunner' as const\n/** Type literal for the XyoGatewayRunner provider moniker. */\nexport type XyoGatewayRunnerMoniker = typeof XyoGatewayRunnerMoniker\n\n/** XyoGatewayRunnerMethods interface. */\nexport interface XyoGatewayRunnerMethods {\n\n addPayloadsToChain(\n onChain: AllowedBlockPayload[],\n offChain: Payload[],\n options?: TransactionOptions\n ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>\n\n addTransactionToChain(\n tx: UnsignedHydratedTransaction | SignedHydratedTransaction,\n offChain?: Payload[]\n ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>\n\n confirmSubmittedTransaction(txHash: Hash, options?: ConfirmSubmittedTransactionOptions): Promisable<SignedHydratedTransaction>\n\n send(to: XyoAddress, amount: AttoXL1, options?: TransactionOptions): Promisable<Hash>\n sendMany(transfers: Record<XyoAddress, AttoXL1>, options?: TransactionOptions): Promisable<Hash>\n}\n\n/** Runner interface for executing XyoGateway operations. */\nexport interface XyoGatewayRunner extends XyoGatewayRunnerMethods, XyoGatewayProvider<XyoGatewayRunnerMoniker> {\n /**\n * Returns the signer for this gateway.\n */\n signer: XyoSigner\n\n transactionRequiredGas(hydratedTransaction: HydratedTransactionWithHashMeta): AttoXL1\n}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\n\nimport type { Provider, SignedHydratedTransaction } from '#protocol-model'\n\nimport type { MempoolRunner } from '../runners/index.ts'\n\n/** XyoRunnerMethods interface. */\nexport interface XyoRunnerMethods {\n broadcastTransaction(transaction: SignedHydratedTransaction): Promisable<Hash>\n}\n\n/** Moniker identifier for the XyoRunner provider. */\nexport const XyoRunnerMoniker = 'XyoRunner' as const\n/** Type literal for the XyoRunner provider moniker. */\nexport type XyoRunnerMoniker = typeof XyoRunnerMoniker\n\n/** Runner interface for executing Xyo operations. */\nexport interface XyoRunner extends XyoRunnerMethods, Provider<XyoRunnerMoniker> {\n mempool: MempoolRunner\n}\n", "import type { WithHashMeta } from '@xyo-network/sdk'\n\nimport type {\n BlockBoundWitness, Provider,\n SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta,\n} from '#protocol-model'\n\n/** BlockRunnerMethods interface. */\nexport interface BlockRunnerMethods {\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force: true): Promise<SignedHydratedBlockWithHashMeta>\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force?: boolean): Promise<SignedHydratedBlockWithHashMeta | undefined>\n}\n\n/** Moniker identifier for the BlockRunner provider. */\nexport const BlockRunnerMoniker = 'BlockRunner' as const\n/** Type literal for the BlockRunner provider moniker. */\nexport type BlockRunnerMoniker = typeof BlockRunnerMoniker\n\n/** Runner interface for executing Block operations. */\nexport interface BlockRunner extends BlockRunnerMethods, Provider<BlockRunnerMoniker> {\n next(head: WithHashMeta<BlockBoundWitness>): Promise<SignedHydratedBlockWithHashMeta | undefined>\n}\n", "import type {\n Provider, SignedHydratedBlockWithHashMeta, XL1BlockNumber, XL1BlockRange,\n} from '#protocol-model'\n\n/** BlockPublishRunnerMethods interface. */\nexport interface BlockPublishRunnerMethods {\n /**\n * Finds where a catch-up sync should start: walks backwards from the source head until\n * it finds an already published block (never probing below `floor`, default genesis) and\n * returns the block after it. Lets a publisher resume behind an external importer or a\n * stale head pointer without republishing what is already there. Only the topmost\n * contiguous gap is healed \u2014 holes below the first published block found are not probed.\n */\n findCatchUpStart(floor?: XL1BlockNumber): Promise<XL1BlockNumber>\n /** True when the block is already published at its by-number path. */\n hasBlock(block: XL1BlockNumber): Promise<boolean>\n /** Publishes one finalized block and its payloads; null when the source has no such block. */\n publishBlock(block: XL1BlockNumber): Promise<SignedHydratedBlockWithHashMeta | null>\n /**\n * Publishes every block from `from` (inclusive, default genesis) through the source head.\n * Returns the published range, or null when already up to date. Idempotent \u2014 republishing\n * any range is safe.\n */\n sync(from?: XL1BlockNumber): Promise<XL1BlockRange | null>\n}\n\n/** Moniker identifier for the BlockPublishRunner provider. */\nexport const BlockPublishRunnerMoniker = 'BlockPublishRunner' as const\n/** Type literal for the BlockPublishRunner provider moniker. */\nexport type BlockPublishRunnerMoniker = typeof BlockPublishRunnerMoniker\n\n/** Runner interface for publishing finalized blocks. */\nexport interface BlockPublishRunner extends BlockPublishRunnerMethods, Provider<BlockPublishRunnerMoniker> {}\n", "import type { Provider, SignedHydratedBlockWithHashMeta } from '#protocol-model'\n\n/** ChainStatePublishRunnerMethods interface. */\nexport interface ChainStatePublishRunnerMethods {\n /**\n * Publishes the source's current head to the mutable chain state. Callers must ensure the\n * finalized files for that head are published first, so readers never see a head that\n * references missing files.\n */\n publishHead(): Promise<SignedHydratedBlockWithHashMeta>\n}\n\n/** Moniker identifier for the ChainStatePublishRunner provider. */\nexport const ChainStatePublishRunnerMoniker = 'ChainStatePublishRunner' as const\n/** Type literal for the ChainStatePublishRunner provider moniker. */\nexport type ChainStatePublishRunnerMoniker = typeof ChainStatePublishRunnerMoniker\n\n/** Runner interface for publishing the mutable chain state (the current head). */\nexport interface ChainStatePublishRunner extends ChainStatePublishRunnerMethods, Provider<ChainStatePublishRunnerMoniker> {}\n", "import type { Provider } from '#protocol-model'\n\nimport type { DataLakeData } from '../providers/DataLake/Provider.ts'\n\n/**\n * DataLakePublishRunnerMethods interface.\n *\n * Bespoke write-only surface for publishing datalake payloads. Deliberately does not\n * derive from the archivist interfaces (`WriteArchivistFunctions`), but `insert` is\n * signature-compatible with the archivist `insert`, so an implementation can also\n * back a `DataLakeRunner` where one is required.\n */\nexport interface DataLakePublishRunnerMethods {\n /**\n * Publishes the given payloads and returns the published items (with hash meta).\n * Items filtered out (non-payloads, disallowed schemas) are omitted from the result.\n * Idempotent \u2014 keys are content-addressed and contents immutable, so re-inserting\n * any item is safe.\n */\n insert(items: DataLakeData[]): Promise<DataLakeData[]>\n}\n\n/** Moniker identifier for the DataLakePublishRunner provider. */\nexport const DataLakePublishRunnerMoniker = 'DataLakePublishRunner' as const\n/** Type literal for the DataLakePublishRunner provider moniker. */\nexport type DataLakePublishRunnerMoniker = typeof DataLakePublishRunnerMoniker\n\n/** Runner interface for publishing datalake payloads. */\nexport interface DataLakePublishRunner extends DataLakePublishRunnerMethods, Provider<DataLakePublishRunnerMoniker> {}\n", "import type {\n BlockRejection, Provider, TransactionRejection,\n} from '#protocol-model'\n\n/** DeadLetterQueueRunnerMethods interface. */\nexport interface DeadLetterQueueRunnerMethods {\n rejectBlock(rejection: BlockRejection): Promise<boolean>\n rejectTransaction(rejection: TransactionRejection): Promise<boolean>\n}\n\n/** Moniker identifier for the DeadLetterQueueRunner provider. */\nexport const DeadLetterQueueRunnerMoniker = 'DeadLetterQueueRunner' as const\n/** Type literal for the DeadLetterQueueRunner provider moniker. */\nexport type DeadLetterQueueRunnerMoniker = typeof DeadLetterQueueRunnerMoniker\n\n/** Options for DeadLetterQueue pruning. */\nexport interface DeadLetterQueuePruneOptions {\n batchSize?: number\n maxCheck?: number\n maxPrune?: number\n}\n\n/** Runner interface for executing DeadLetterQueue write operations. */\nexport interface DeadLetterQueueRunner extends DeadLetterQueueRunnerMethods, Provider<DeadLetterQueueRunnerMoniker> {\n pruneRejectedBlocks(options?: DeadLetterQueuePruneOptions): Promise<[number, number]>\n pruneRejectedTransactions(options?: DeadLetterQueuePruneOptions): Promise<[number, number]>\n}\n", "import type { Provider } from '#protocol-model'\n\n/** Mutable pointer written after all event-index frames through `block` are durable. */\nexport interface EvmEventIndexHead {\n /** EVM address of the contract whose raw logs are indexed. */\n address: string\n /** Highest finalized EVM block the index is complete through. */\n block: number\n /** EVM chain id the index was built against. */\n chainId: string\n /** Hash of that block, for reorg detection on resume. */\n hash: string\n}\n\n/** EvmEventIndexPublishRunnerMethods interface. */\nexport interface EvmEventIndexPublishRunnerMethods {\n /** Publishes finalized raw logs for a configured EVM contract; null when nothing is publishable yet. */\n publishFinalizedEvents(): Promise<EvmEventIndexHead | null>\n}\n\n/** Moniker identifier for the EvmEventIndexPublishRunner provider. */\nexport const EvmEventIndexPublishRunnerMoniker = 'EvmEventIndexPublishRunner' as const\n/** Type literal for the EvmEventIndexPublishRunner provider moniker. */\nexport type EvmEventIndexPublishRunnerMoniker = typeof EvmEventIndexPublishRunnerMoniker\n\n/** Runner interface for publishing a finalized EVM contract event index. */\nexport interface EvmEventIndexPublishRunner extends EvmEventIndexPublishRunnerMethods, Provider<EvmEventIndexPublishRunnerMoniker> {}\n", "import type { Hash } from '@ariestools/sdk'\n\nimport type { Provider, SignedHydratedBlockWithHashMeta } from '#protocol-model'\n\n/** FinalizationRunnerMethods interface. */\nexport interface FinalizationRunnerMethods {\n finalizeBlocks(blocks: SignedHydratedBlockWithHashMeta[]): Promise<Hash[]>\n}\n\n/** Moniker identifier for the FinalizationRunner provider. */\nexport const FinalizationRunnerMoniker = 'FinalizationRunner' as const\n/** Type literal for the FinalizationRunner provider moniker. */\nexport type FinalizationRunnerMoniker = typeof FinalizationRunnerMoniker\n\n/** Runner interface for executing Finalization operations. */\nexport interface FinalizationRunner extends FinalizationRunnerMethods, Provider<FinalizationRunnerMoniker> {\n finalizeBlock(block: SignedHydratedBlockWithHashMeta): Promise<Hash>\n}\n", "import type { Hash } from '@ariestools/sdk'\n\nimport type { Provider, XL1BlockNumber } from '#protocol-model'\n\n/** The summary families the index publishes, one path tree each. */\nexport type IndexSummaryFamily = 'balances' | 'blocks' | 'schemas' | 'transfers'\n\n/** The indexer's progress: how far the index is complete, and how much it has published. */\nexport interface IndexWatermark {\n /** Highest block the index is complete through (never above the finalized head). */\n block: XL1BlockNumber\n /** Completed frame counts published per family. */\n families: Record<IndexSummaryFamily, number>\n /** Hash of that block. */\n hash: Hash\n}\n\n/** IndexPublishRunnerMethods interface. */\nexport interface IndexPublishRunnerMethods {\n /**\n * Builds and publishes every family's frames completed at or below `ceiling` \u2014 resuming from\n * the published watermark so already-published frames are skipped \u2014 then rewrites the index\n * manifest and the watermark last. Returns the new watermark.\n */\n publishCompletedFramesUpTo(ceiling: XL1BlockNumber): Promise<IndexWatermark>\n /**\n * Publishes one completed frame for a family (building any missing sub-frames it depends on);\n * rejects for an incomplete (in-flight) frame. A no-op when the frame is already published.\n */\n publishFrame(family: IndexSummaryFamily, stepLevel: number, stepIndex: number): Promise<void>\n}\n\n/** Moniker identifier for the IndexPublishRunner provider. */\nexport const IndexPublishRunnerMoniker = 'IndexPublishRunner' as const\n/** Type literal for the IndexPublishRunner provider moniker. */\nexport type IndexPublishRunnerMoniker = typeof IndexPublishRunnerMoniker\n\n/** Runner interface for publishing step summaries (the chain index). */\nexport interface IndexPublishRunner extends IndexPublishRunnerMethods, Provider<IndexPublishRunnerMoniker> {}\n", "import type { Hash } from '@ariestools/sdk'\n\nimport type {\n Provider, SignedHydratedBlock, SignedHydratedTransaction,\n} from '#protocol-model'\n\n/** MempoolRunnerMethods interface. */\nexport interface MempoolRunnerMethods {\n submitBlocks(blocks: SignedHydratedBlock[]): Promise<Hash[]>\n submitTransactions(transactions: SignedHydratedTransaction[]): Promise<Hash[]>\n}\n\n/** Moniker identifier for the MempoolRunner provider. */\nexport const MempoolRunnerMoniker = 'MempoolRunner' as const\n/** Type literal for the MempoolRunner provider moniker. */\nexport type MempoolRunnerMoniker = typeof MempoolRunnerMoniker\n\n/** DEFAULT_MAX_EXP_AHEAD constant. */\nexport const DEFAULT_MAX_EXP_AHEAD = 1000\n\n/** Options for MempoolPrune. */\nexport interface MempoolPruneOptions {\n batchSize?: number\n maxCheck?: number\n maxPrune?: number\n}\n\n/** Runner interface for executing Mempool operations. */\nexport interface MempoolRunner extends MempoolRunnerMethods, Provider<MempoolRunnerMoniker> {\n prunePendingBlocks(options?: MempoolPruneOptions): Promise<[number, number]>\n prunePendingTransactions(options?: MempoolPruneOptions): Promise<[number, number]>\n}\n", "import type {\n CreatableName, CreatableStatus, CreatableStatusReporter,\n} from '@ariestools/sdk'\n\nimport type { Provider } from '#protocol-model'\n\n/**\n * Readiness of an actor's warm-pass, orthogonal to the lifecycle `CreatableStatus`.\n * Mirrors the orchestration-layer `ReadyState` so actors can report it verbatim.\n */\nexport type SystemReadyState = 'failed' | 'pending' | 'ready'\n\n/** A single component's combined lifecycle + readiness record (a serializable view). */\nexport interface SystemStatusRecord {\n error?: string\n lifecycle: CreatableStatus\n name: string\n progress?: number\n readiness?: SystemReadyState\n updatedAt: number\n}\n\n/** Point-in-time view of the whole system's status. */\nexport interface SystemStatusSnapshot {\n components: SystemStatusRecord[]\n globalStatus: CreatableStatus\n isReady: boolean\n isShuttingDown: boolean\n}\n\n/** Filter for a global (aggregate) status transition. */\nexport interface SystemStatusGlobalTransitionMatch {\n from?: CreatableStatus\n to?: CreatableStatus\n}\n\n/** Filter for a named component status transition. */\nexport interface SystemStatusTransitionMatch {\n from?: CreatableStatus\n name: string\n to?: CreatableStatus\n}\n\n/** Callback fired on a matched status transition. */\nexport type SystemStatusTransitionListener = (from: CreatableStatus, to: CreatableStatus) => void\n\n/** Moniker identifier for the SystemStatusRunner provider. */\nexport const SystemStatusRunnerMoniker = 'SystemStatusRunner' as const\n/** Type literal for the SystemStatusRunner provider moniker. */\nexport type SystemStatusRunnerMoniker = typeof SystemStatusRunnerMoniker\n\n/** Moniker identifier for the SystemStatusViewer provider. */\nexport const SystemStatusViewerMoniker = 'SystemStatusViewer' as const\n/** Type literal for the SystemStatusViewer provider moniker. */\nexport type SystemStatusViewerMoniker = typeof SystemStatusViewerMoniker\n\n/** Moniker identifier for the SystemStatusPublisher provider. */\nexport const SystemStatusPublisherMoniker = 'SystemStatusPublisher' as const\n/** Type literal for the SystemStatusPublisher provider moniker. */\nexport type SystemStatusPublisherMoniker = typeof SystemStatusPublisherMoniker\n\n/** Read-only query surface over system status, shared by the Viewer and the Runner. */\nexport interface SystemStatusViewerMethods {\n getGlobalStatus(): CreatableStatus\n getStatus(name: CreatableName): CreatableStatus | undefined\n isReady(): boolean\n isShuttingDown(): boolean\n snapshot(): SystemStatusSnapshot\n}\n\n/** Read-only viewer of system status. */\nexport interface SystemStatusViewer extends SystemStatusViewerMethods, Provider<SystemStatusViewerMoniker> {}\n\n/**\n * Reporting + subscription surface on top of the read-only viewer methods.\n * `report` is inherited from `CreatableStatusReporter`, which is what the\n * lifecycle base (`AbstractCreatable`) calls on every status transition.\n */\nexport interface SystemStatusRunnerMethods extends SystemStatusViewerMethods {\n onGlobalTransition(match: SystemStatusGlobalTransitionMatch, handler: SystemStatusTransitionListener): void\n onTransition(match: SystemStatusTransitionMatch, handler: SystemStatusTransitionListener): void\n reportReady(name: CreatableName, readiness: SystemReadyState, error?: Error | string): void\n setShuttingDown(shuttingDown: boolean): void\n}\n\n/**\n * The process-wide status hub. Actors and providers report lifecycle status\n * (via `report`) and readiness (via `reportReady`) into it; it holds the live\n * state, computes the global status, and fires transition callbacks.\n */\nexport interface SystemStatusRunner extends SystemStatusRunnerMethods, CreatableStatusReporter, Provider<SystemStatusRunnerMoniker> {}\n\n/**\n * Publishes system status outward (console, HTTP, etc.). The publishing work\n * happens in the provider's start/stop handlers; the interface is a marker.\n */\nexport interface SystemStatusPublisher extends Provider<SystemStatusPublisherMoniker> {}\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { WithStorageMeta } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, isStorageMeta,\n} from '@xyo-network/sdk'\n\nimport type { SignedHydratedBlockWithHashMeta } from '#protocol-model'\n\nimport type { StepSummary } from './StepSummary.ts'\n\n/** Schema identifier for blocks step summary payloads */\nexport const BlocksStepSummarySchema = asSchema('network.xyo.step.summary.blocks', true)\n/** Schema type for BlocksStepSummary payloads. */\nexport type BlocksStepSummarySchema = typeof BlocksStepSummarySchema\n\n/** Step summary payload containing every block in the step frame */\nexport type BlocksStepSummary = StepSummary<{\n blocks: SignedHydratedBlockWithHashMeta[]\n}, BlocksStepSummarySchema>\n\n/**\n * Identity function for determining if an object is a BlocksStepSummary\n */\nexport const isBlocksStepSummary = isPayloadOfSchemaType<BlocksStepSummary>(BlocksStepSummarySchema)\n/** Type assertion factory for BlocksStepSummary payloads */\nexport const asBlocksStepSummary = AsObjectFactory.create<BlocksStepSummary>(isBlocksStepSummary)\n\n/**\n * Identity function for determining if an object is a BlocksStepSummary with Storage Meta\n */\nexport const isBlocksStepSummaryWithStorageMeta = (value: unknown): value is WithStorageMeta<BlocksStepSummary> => {\n return isBlocksStepSummary(value) && isStorageMeta(value)\n}\n/** Type assertion factory for BlocksStepSummary with storage metadata */\nexport const asBlocksStepSummaryWithStorageMeta = AsObjectFactory.create<WithStorageMeta<BlocksStepSummary>>(isBlocksStepSummaryWithStorageMeta)\n", "import type { Hash } from '@ariestools/sdk'\n\nimport { asXL1BlockNumber, StepSizes } from '#protocol-model'\n\nimport type { BlockViewer } from '../viewers/Block.ts'\n\n/** A completed step frame's placement in the index: which family file it lives in. */\nexport interface StepPlacement {\n stepIndex: number\n stepLevel: number\n}\n\n/**\n * Resolves a step frame's head block number + frame size to its `(stepLevel, stepIndex)`\n * placement in the index. Returns undefined when `stepSize` isn't a recognized step size, or the\n * resulting index isn't a whole, non-negative step \u2014 i.e. the frame isn't a real completed step.\n */\nexport function stepPlacementForBlockNumber(blockNumber: number, stepSize: number): StepPlacement | undefined {\n const stepLevel = StepSizes.indexOf(asXL1BlockNumber(stepSize, true))\n if (stepLevel === -1) return undefined\n const stepIndex = (blockNumber + 1) / stepSize - 1\n return Number.isSafeInteger(stepIndex) && stepIndex >= 0 ? { stepIndex, stepLevel } : undefined\n}\n\n/**\n * Resolves a step frame's head hash + frame size (the `${hash}|${stepSize}` cache key shared by\n * every `*StepSummaryFromRange` builder) to its `(stepLevel, stepIndex)` placement in the index,\n * by looking up the frame's head block number via `blockViewer`. Returns undefined when the hash\n * can't be resolved to a block, or `stepPlacementForBlockNumber` does.\n */\nexport async function resolveStepPlacement(\n blockViewer: BlockViewer,\n hash: Hash,\n stepSize: number,\n): Promise<StepPlacement | undefined> {\n const block = await blockViewer.blockByHash(hash)\n if (!block) return undefined\n return stepPlacementForBlockNumber(block[0].block, stepSize)\n}\n", "import type { EmptyObject, Hash } from '@ariestools/sdk'\nimport {\n asSchema, type Payload, type Schema,\n} from '@xyo-network/sdk'\n\n/** Schema identifier for step summary payloads */\nexport const StepSummarySchema = asSchema('network.xyo.step.summary', true)\n/** Schema type for StepSummary payloads. */\nexport type StepSummarySchema = typeof StepSummarySchema\n\n/** Fields common to all step summary payloads */\nexport interface StepSummaryFields {\n hash: Hash // the stepHash - the hash of the last block in the step frame\n stepSize: number // the stepSize in blocks\n}\n\n/** Payload type for a step summary with optional additional fields and schema */\nexport type StepSummary<TAdditionalFields extends EmptyObject | void = void,\n TSchema extends Schema | void = void> = Payload<TAdditionalFields extends void ? StepSummaryFields : TAdditionalFields & StepSummaryFields,\n TSchema extends void ? StepSummarySchema : TSchema>\n", "import type { WithHashMeta } from '@xyo-network/sdk'\n\nimport type { AllowedBlockPayload, HydratedTransactionWithHashMeta } from '#protocol-model'\nimport { isAllowedBlockPayload } from '#protocol-model'\n\nconst ELEVATE_OPCODE = 'elevate'\n\n/** Returns all elevated payloads referenced by a transaction script. */\nexport function elevatedPayloads([tx, payloads]: HydratedTransactionWithHashMeta) {\n const opCodes = (tx.script ?? []).filter(operation => operation.startsWith(`${ELEVATE_OPCODE}|`))\n const elevatedPayloads: WithHashMeta<AllowedBlockPayload>[] = []\n for (const opCode of opCodes) {\n const [code, hash] = opCode.split('|')\n if (code === ELEVATE_OPCODE) {\n const elevatedPayload = payloads.find(payload => payload._hash === hash)\n if (isAllowedBlockPayload(elevatedPayload)) {\n elevatedPayloads.push(elevatedPayload)\n }\n }\n }\n if (opCodes.length === elevatedPayloads.length) {\n return elevatedPayloads\n }\n throw new Error('Not all elevated payloads could be found in the transaction payloads')\n}\n", "import {\n asHash, assertEx, filterAs, type Hash,\n} from '@ariestools/sdk'\nimport type { WithHashMeta } from '@xyo-network/sdk'\nimport { isHashMeta } from '@xyo-network/sdk'\n\nimport type { AllowedBlockPayload, HydratedTransactionWithHashMeta } from '#protocol-model'\nimport { isAllowedBlockPayload } from '#protocol-model'\n\n/** Extracts valid elevated payload hashes from a script without throwing. */\nexport const tryExtractElevatedHashesFromScript = (strings: string[]): Hash[] => {\n const hashes = strings\n .filter(str => str.startsWith('elevate|'))\n .map(str => str.split('|', 2)[1])\n return filterAs(hashes, h => asHash(h))\n}\n\n/** Extracts elevated payload hashes from a script and throws on invalid hashes. */\nexport const extractElevatedHashesFromScript = (strings: string[]): Hash[] => {\n const hashes = strings\n .filter(str => str.startsWith('elevate|'))\n .map(str => str.split('|', 2)[1])\n const filtered = filterAs(hashes, h => asHash(h))\n assertEx(filtered.length === hashes.length, () => 'Invalid elevated hashes')\n return filtered\n}\n\n/** Resolves valid elevated payloads from a transaction without throwing on invalid script hashes. */\nexport const tryExtractElevatedHashes = (tx: HydratedTransactionWithHashMeta): WithHashMeta<AllowedBlockPayload>[] => {\n const [bw, payloads] = tx\n const { script } = bw\n const hashes = script ? tryExtractElevatedHashesFromScript(script) : []\n return payloads\n .filter(p => hashes.includes(p._hash))\n .filter(isAllowedBlockPayload)\n .filter(isHashMeta)\n}\n\n/**\n * Returns a copy of the transaction that excludes non-elevated payloads \u2014 i.e. only what ends up on chain.\n * The payloads must carry hash meta so the elevated script hashes can be resolved.\n */\nexport const elevatedTransaction = <T extends HydratedTransactionWithHashMeta>(tx: T): T =>\n // The cast bridges the loose-object payload typing; the elevated payloads are a subset of the originals.\n [tx[0], tryExtractElevatedHashes(tx)] as unknown as T\n\n/** Resolves elevated payloads from a transaction and throws if script references are invalid. */\nexport const extractElevatedHashes = (tx: HydratedTransactionWithHashMeta): WithHashMeta<AllowedBlockPayload>[] => {\n const [bw, payloads] = tx\n const { script } = bw\n const hashes = script ? tryExtractElevatedHashesFromScript(script) : []\n const filtered = payloads\n .filter(p => hashes.includes(p._hash))\n .filter(isAllowedBlockPayload)\n .filter(isHashMeta)\n assertEx(filtered.length === hashes.length, () => 'Invalid elevated hashes')\n return filtered\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport {\n HashZod, HexZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n BlockBoundWitness, ChainId, HydratedBlock,\n} from '#protocol-model'\n\nimport { ValidationError, ValidationErrorZod } from '../error.ts'\n\nexport const BlockValidationErrorZod = ValidationErrorZod.extend({ name: z.literal('BlockValidationError') }).loose()\n\nexport type BlockValidationErrorType = z.infer<typeof BlockValidationErrorZod>\n\n/** Error thrown during Block validation operations. */\nexport class BlockValidationError extends ValidationError<BlockBoundWitness> {}\n\nexport const isBlockValidationError = zodIsFactory(BlockValidationErrorZod)\nexport const asBlockValidationError = zodAsFactory(BlockValidationErrorZod, 'BlockValidationError')\nexport const toBlockValidationError = zodToFactory(BlockValidationErrorZod, 'BlockValidationError')\n\nexport const HydratedBlockValidationErrorZod = ValidationErrorZod.extend({ name: z.literal('HydratedBlockValidationError') }).loose()\n\nexport type HydratedBlockValidationErrorType = z.infer<typeof HydratedBlockValidationErrorZod>\n\n/** Error thrown during HydratedBlock validation operations. */\nexport class HydratedBlockValidationError extends ValidationError<HydratedBlock> {}\n\nexport const isHydratedBlockValidationError = zodIsFactory(HydratedBlockValidationErrorZod)\nexport const asHydratedBlockValidationError = zodAsFactory(HydratedBlockValidationErrorZod, 'HydratedBlockValidationError')\nexport const toHydratedBlockValidationError = zodToFactory(HydratedBlockValidationErrorZod, 'HydratedBlockValidationError')\n\nexport const HydratedBlockStateValidationErrorZod = ValidationErrorZod.extend({\n chainId: HexZod,\n name: z.literal('HydratedBlockStateValidationError'),\n offendingTransactionHashes: z.array(HashZod).optional(),\n}).loose()\n\nexport type HydratedBlockStateValidationErrorType = z.infer<typeof HydratedBlockStateValidationErrorZod>\n\n/** Error thrown during HydratedBlockState validation operations. */\nexport class HydratedBlockStateValidationError extends ValidationError<HydratedBlock> {\n chainId: ChainId\n offendingTransactionHashes?: Hash[]\n constructor(\n hash: Hash,\n chainId: ChainId,\n value: HydratedBlock,\n message: string,\n cause?: unknown,\n offendingTransactionHashes?: Hash[],\n ) {\n super(hash, value, message, cause)\n this.chainId = chainId\n this.offendingTransactionHashes = offendingTransactionHashes\n }\n}\n\nexport const isHydratedBlockStateValidationError = zodIsFactory(HydratedBlockStateValidationErrorZod)\nexport const asHydratedBlockStateValidationError = zodAsFactory(HydratedBlockStateValidationErrorZod, 'HydratedBlockStateValidationError')\nexport const toHydratedBlockStateValidationError = zodToFactory(HydratedBlockStateValidationErrorZod, 'HydratedBlockStateValidationError')\n", "import {\n type Hash, HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nexport const ValidationErrorZod = z.object({\n hash: HashZod,\n message: z.string().optional(),\n name: z.string(),\n value: z.unknown(),\n}).loose()\n\nexport type ValidationErrorType = z.infer<typeof ValidationErrorZod>\n\n/** Error thrown during validation operations. */\nexport class ValidationError<TValue = Payload> extends Error {\n override cause?: unknown\n hash: Hash\n override message: string\n value: TValue\n constructor(hash: Hash, value: TValue, message: string, cause?: unknown) {\n super(message)\n this.hash = hash\n this.message = message\n this.name = this.constructor.name\n this.value = value\n this.cause = cause\n }\n}\n\n/** Type guard that checks if a value is a valid ValidationError. */\nexport const isValidationError = zodIsFactory(ValidationErrorZod)\nexport const asValidationError = zodAsFactory(ValidationErrorZod, 'ValidationError')\nexport const toValidationError = zodToFactory(ValidationErrorZod, 'ValidationError')\n", "import type { BoundWitness, HydratedBoundWitness } from '@xyo-network/sdk'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during BoundWitnessvalidation operations. */\nexport class BoundWitnessValidationError extends ValidationError<BoundWitness> {}\n\n/** Type guard that checks if a value is a valid BoundWitnessValidationError. */\nexport const isBoundWitnessValidationError = (\n error: unknown,\n): error is BoundWitnessValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === BoundWitnessValidationError.name\n )\n}\n\n/** Error thrown during HydratedBoundWitnessvalidation operations. */\nexport class HydratedBoundWitnessValidationError extends ValidationError<HydratedBoundWitness> {}\n\n/** Type guard that checks if a value is a valid HydratedBoundWitnessValidationError. */\nexport const isHydratedBoundWitnessValidationError = (\n error: unknown,\n): error is HydratedBoundWitnessValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedBoundWitnessValidationError.name\n )\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport { type Payload } from '@xyo-network/sdk'\n\nimport type { HydratedBlock } from '#protocol-model'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during InBlockPayload validation operations. */\nexport class InBlockPayloadValidationError extends ValidationError<Payload> {\n block: HydratedBlock\n constructor(hash: Hash, block: HydratedBlock, value: Payload, message: string, cause?: unknown) {\n super(hash, value, message, cause)\n this.block = block\n }\n}\n\n/** Type guard that checks if a value is a valid InBlockPayloadValidationError. */\nexport const isInBlockPayloadValidationError = (\n error: unknown,\n): error is InBlockPayloadValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === InBlockPayloadValidationError.name\n )\n}\n", "import type { HydratedTransaction } from '#protocol-model'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during HydratedTransactionvalidation operations. */\nexport class HydratedTransactionValidationError extends ValidationError<HydratedTransaction> {}\n\n/** Type guard that checks if a value is a valid HydratedTransactionValidationError. */\nexport const isHydratedTransactionValidationError = (\n error: unknown,\n): error is HydratedTransactionValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedTransactionValidationError.name\n )\n}\n", "import type {\n EventData, EventEmitter, Hash, Promisable,\n} from '@ariestools/sdk'\nimport type { Payload, WithHashMeta } from '@xyo-network/sdk'\n\nimport type {\n BlockRate, ChainId,\n Provider, ProviderMoniker, SignedHydratedBlockWithHashMeta, SingleTimeConfig, TimeDurations, XL1BlockNumber, XL1BlockRange,\n} from '#protocol-model'\n\n/** Payload for the BlockViewer `headUpdated` event. */\nexport interface BlockViewerHeadUpdatedEvent {\n block: SignedHydratedBlockWithHashMeta\n}\n\n/** Event map for BlockViewer instances. */\nexport interface BlockViewerEventData extends EventData {\n headUpdated: BlockViewerHeadUpdatedEvent\n}\n\n/** BlockViewerMethods interface. */\nexport interface BlockViewerMethods {\n blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n blocksByNumber(block: XL1BlockNumber, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n blocksByStep(stepLevel: number, stepIndex: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n currentBlock(): Promisable<SignedHydratedBlockWithHashMeta>\n payloadsByHash(hashes: Hash[]): Promisable<WithHashMeta<Payload>[]>\n}\n\n/** Moniker identifier for the BlockViewer provider. */\nexport const BlockViewerMoniker = 'BlockViewer' as const\n/** Type literal for the BlockViewer provider moniker. */\nexport type BlockViewerMoniker = typeof BlockViewerMoniker\n\n/** Viewer interface for reading Block data. */\nexport interface BlockViewer<TMoniker extends ProviderMoniker = BlockViewerMoniker>\n extends BlockViewerMethods, EventEmitter<BlockViewerEventData>, Provider<TMoniker> {\n blockByHash(hash: Hash): Promisable<SignedHydratedBlockWithHashMeta | null>\n blockByNumber(block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta | null>\n chainId(): Promisable<ChainId>\n chainId(blockNumber: XL1BlockNumber): Promisable<ChainId>\n chainId(blockNumber: 'latest'): Promisable<ChainId>\n currentBlockHash(): Promisable<Hash>\n currentBlockNumber(): Promisable<XL1BlockNumber>\n payloadByHash(hash: Hash): Promisable<WithHashMeta<Payload> | null>\n rate(range: XL1BlockRange, timeUnit?: keyof TimeDurations): Promisable<BlockRate>\n stepSizeRate(start: XL1BlockNumber, stepIndex: number, count?: number, timeUnit?: keyof TimeDurations): Promisable<BlockRate>\n timeDurationRate(\n timeConfig: SingleTimeConfig,\n startBlockNumber?: XL1BlockNumber,\n timeUnit?: keyof TimeDurations,\n toleranceMs?: number,\n maxAttempts?: number,\n ): Promisable<BlockRate>\n}\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n ChainQualified,\n Provider, SignedHydratedBlock, SignedHydratedBlockWithHashMeta,\n} from '#protocol-model'\nimport { ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod } from '#protocol-model'\n\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** BlockInvalidationConfigFieldsZod constant. */\nexport const BlockInvalidationConfigFieldsZod = z.object({\n state: z.boolean().optional(),\n value: z.boolean().optional(),\n})\n\n/** BlockInvalidationConfigZod constant. */\nexport const BlockInvalidationConfigZod = z.union([\n BlockInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n BlockInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n BlockInvalidationConfigFieldsZod,\n z.object({}),\n])\n\n/** BlockInvalidationConfig type. */\nexport type BlockInvalidationConfig = z.infer<typeof BlockInvalidationConfigZod>\n/** Type guard that checks if a value is a valid BlockInvalidationConfig. */\nexport const isBlockInvalidationConfig = zodIsFactory(BlockInvalidationConfigZod)\n\n/**\n * Checks if blocks are invalid (impossible to ever become valid) according to protocol rules.\n */\n\nexport interface BlockInvalidationViewerMethods {\n qualifiedInvalidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<ChainQualified<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>>\n\n qualifiedInvalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<ChainQualified<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>>\n}\n\n/** Moniker identifier for the BlockInvalidationViewer provider. */\nexport const BlockInvalidationViewerMoniker = 'BlockInvalidationViewer' as const\n/** Type literal for the BlockInvalidationViewer provider moniker. */\nexport type BlockInvalidationViewerMoniker = typeof BlockInvalidationViewerMoniker\n\n/** Viewer interface for reading BlockInvalidation data. */\nexport interface BlockInvalidationViewer extends BlockInvalidationViewerMethods, Provider<BlockInvalidationViewerMoniker> {\n invalidateBlock(\n block: SignedHydratedBlock,\n config?: BlockInvalidationConfig\n ): Promisable<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>\n\n invalidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n invalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n qualifiedInvalidateBlock(\n block: SignedHydratedBlock,\n config?: BlockInvalidationConfig\n ): Promisable<ChainQualified<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>>\n}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type {\n AttoXL1, Provider, XL1BlockNumber,\n} from '#protocol-model'\n\n/** BlockRewardViewerMethods interface. */\nexport interface BlockRewardViewerMethods {\n // The amount of xl1 to send to the producer from the block reward\n allowedRewardForBlock(block: XL1BlockNumber): Promisable<AttoXL1>\n}\n\n/** Moniker identifier for the BlockRewardViewer provider. */\nexport const BlockRewardViewerMoniker = 'BlockRewardViewer' as const\n/** Type literal for the BlockRewardViewer provider moniker. */\nexport type BlockRewardViewerMoniker = typeof BlockRewardViewerMoniker\n\n/** Viewer interface for reading BlockReward data. */\nexport interface BlockRewardViewer extends BlockRewardViewerMethods, Provider<BlockRewardViewerMoniker> {}\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n ChainQualified,\n Provider, SignedHydratedBlock, SignedHydratedBlockWithHashMeta,\n} from '#protocol-model'\nimport { ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod } from '#protocol-model'\n\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** BlockValidationConfigFieldsZod constant. */\nexport const BlockValidationConfigFieldsZod = z.object({\n value: z.boolean().optional(),\n state: z.boolean().optional(),\n})\n\n/** BlockValidationConfigZod constant. */\nexport const BlockValidationConfigZod = z.union([\n BlockValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n BlockValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n BlockValidationConfigFieldsZod,\n z.object({}),\n])\n\n/** BlockValidationConfig type. */\nexport type BlockValidationConfig = z.infer<typeof BlockValidationConfigZod>\n/** Type guard that checks if a value is a valid BlockValidationConfig. */\nexport const isBlockValidationConfig = zodIsFactory(BlockValidationConfigZod)\n\n/** BlockValidationViewerMethods interface. */\nexport interface BlockValidationViewerMethods {\n qualifiedValidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<ChainQualified<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>>\n\n qualifiedValidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<ChainQualified<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>>\n}\n\n/** Moniker identifier for the BlockValidationViewer provider. */\nexport const BlockValidationViewerMoniker = 'BlockValidationViewer' as const\n/** Type literal for the BlockValidationViewer provider moniker. */\nexport type BlockValidationViewerMoniker = typeof BlockValidationViewerMoniker\n\n/**\n * Checks if blocks are valid (currently valid) according to protocol rules. In the case that they are not valid, they may still become valid in the future.\n */\n\nexport interface BlockValidationViewer extends BlockValidationViewerMethods, Provider<BlockValidationViewerMoniker> {\n qualifiedValidateBlock(\n block: SignedHydratedBlock,\n config?: BlockValidationConfig\n ): Promisable<ChainQualified<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>>\n\n validateBlock(\n block: SignedHydratedBlock,\n config?: BlockValidationConfig\n ): Promisable<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>\n\n validateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n validateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n ChainId, Provider, XL1BlockNumber,\n} from '#protocol-model'\n\n/** ChainContractViewerMethods interface. */\nexport interface ChainContractViewerMethods {\n chainId(): Promisable<ChainId>\n forkedAtBlockNumber(): Promisable<XL1BlockNumber | null>\n forkedAtHash(): Promisable<Hash | null>\n forkedChainId(): Promisable<ChainId | null>\n minWithdrawalBlocks(): Promisable<number>\n rewardsContract(): Promisable<XyoAddress>\n stakingTokenAddress(): Promisable<XyoAddress>\n}\n\n/** Moniker identifier for the ChainContractViewer provider. */\nexport const ChainContractViewerMoniker = 'ChainContractViewer' as const\n/** Type literal for the ChainContractViewer provider moniker. */\nexport type ChainContractViewerMoniker = typeof ChainContractViewerMoniker\n\n/** Viewer interface for reading ChainContract data. */\nexport interface ChainContractViewer extends ChainContractViewerMethods, Provider<ChainContractViewerMoniker> {\n chainIdAtBlockNumber(blockNumber: XL1BlockNumber | 'latest'): Promisable<ChainId>\n forkedChainContractViewer(): Promisable<ChainContractViewer | null>\n}\n", "import type { Provider } from '#protocol-model'\n\nimport type { ChainContractViewer } from './ChainContract.ts'\nimport type { StakeTotalsViewer } from './StakeTotals.ts'\n\n/** Moniker identifier for the ChainStakeViewer provider. */\nexport const ChainStakeViewerMoniker = 'ChainStakeViewer' as const\n/** Type literal for the ChainStakeViewer provider moniker. */\nexport type ChainStakeViewerMoniker = typeof ChainStakeViewerMoniker\n\n/** Viewer interface for reading ChainStake data. */\nexport interface ChainStakeViewer extends Omit<ChainContractViewer, 'moniker'>, Omit<StakeTotalsViewer, 'moniker'>,\n Provider<ChainStakeViewerMoniker> {\n\n}\n", "import type {\n EventData, EventEmitter, Hash, Promisable,\n} from '@ariestools/sdk'\n\nimport type {\n Provider, ProviderMoniker, SignedHydratedBlockWithHashMeta, XL1BlockNumber,\n} from '#protocol-model'\n\n/** Payload for the ChainStateViewer `headUpdated` event. */\nexport interface ChainStateViewerHeadUpdatedEvent {\n block: SignedHydratedBlockWithHashMeta\n}\n\n/** Event map for ChainStateViewer instances. */\nexport interface ChainStateViewerEventData extends EventData {\n headUpdated: ChainStateViewerHeadUpdatedEvent\n}\n\n/** ChainStateViewerMethods interface. */\nexport interface ChainStateViewerMethods {\n currentBlock(): Promisable<SignedHydratedBlockWithHashMeta>\n}\n\n/** Moniker identifier for the ChainStateViewer provider. */\nexport const ChainStateViewerMoniker = 'ChainStateViewer' as const\n/** Type literal for the ChainStateViewer provider moniker. */\nexport type ChainStateViewerMoniker = typeof ChainStateViewerMoniker\n\n/** Viewer interface for reading the mutable chain state (the current head). */\nexport interface ChainStateViewer<TMoniker extends ProviderMoniker = ChainStateViewerMoniker>\n extends ChainStateViewerMethods, EventEmitter<ChainStateViewerEventData>, Provider<TMoniker> {\n currentBlockHash(): Promisable<Hash>\n currentBlockNumber(): Promisable<XL1BlockNumber>\n /** The current head, or undefined when no head has been published yet. */\n tryCurrentBlock(): Promisable<SignedHydratedBlockWithHashMeta | undefined>\n}\n", "import { HashZod } from '@ariestools/sdk'\nimport { z } from 'zod/mini'\n\nimport type {\n BlockRejection, Provider, TransactionRejection,\n} from '#protocol-model'\n\n/** RejectedBlocksOptionsZod constant. */\nexport const RejectedBlocksOptionsZod = z.object({\n cursor: z.optional(HashZod),\n limit: z.optional(z.int().check(z.positive())),\n rejector: z.optional(z.string()),\n})\n\n/** RejectedBlocksOptions type. */\nexport type RejectedBlocksOptions = z.infer<typeof RejectedBlocksOptionsZod>\n\n/** RejectedTransactionsOptionsZod constant. */\nexport const RejectedTransactionsOptionsZod = z.object({\n cursor: z.optional(HashZod),\n limit: z.optional(z.int().check(z.positive())),\n rejector: z.optional(z.string()),\n})\n\n/** RejectedTransactionsOptions type. */\nexport type RejectedTransactionsOptions = z.infer<typeof RejectedTransactionsOptionsZod>\n\n/** DeadLetterQueueViewerMethods interface. */\nexport interface DeadLetterQueueViewerMethods {\n rejectedBlocks(options?: RejectedBlocksOptions): Promise<BlockRejection[]>\n rejectedTransactions(options?: RejectedTransactionsOptions): Promise<TransactionRejection[]>\n}\n\n/** Moniker identifier for the DeadLetterQueueViewer provider. */\nexport const DeadLetterQueueViewerMoniker = 'DeadLetterQueueViewer' as const\n/** Type literal for the DeadLetterQueueViewer provider moniker. */\nexport type DeadLetterQueueViewerMoniker = typeof DeadLetterQueueViewerMoniker\n\n/** Viewer interface for querying rejected blocks and transactions (dead letter queue). */\nexport interface DeadLetterQueueViewer extends DeadLetterQueueViewerMethods, Provider<DeadLetterQueueViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { Provider as EthersProvider } from 'ethers'\n\nimport type { Provider } from '#protocol-model'\n\n/** EvmChainViewerMethods interface. */\nexport interface EvmChainViewerMethods {\n /** The ethers provider for the bound EVM JSON-RPC connection */\n provider(): Promisable<EthersProvider>\n}\n\n/** Moniker identifier for the EvmChainViewer provider. */\nexport const EvmChainViewerMoniker = 'EvmChainViewer' as const\n/** Type literal for the EvmChainViewer provider moniker. */\nexport type EvmChainViewerMoniker = typeof EvmChainViewerMoniker\n\n/** Viewer interface exposing the backing EVM chain connection. */\nexport interface EvmChainViewer extends EvmChainViewerMethods, Provider<EvmChainViewerMoniker> {}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\n\nimport type {\n ChainId, Provider, SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta, XL1BlockNumber,\n} from '#protocol-model'\n\n/** FinalizationViewerMethods interface. */\nexport interface FinalizationViewerMethods {\n head(): Promisable<SignedHydratedBlockWithHashMeta>\n}\n\n/** Moniker identifier for the FinalizationViewer provider. */\nexport const FinalizationViewerMoniker = 'FinalizationViewer' as const\n/** Type literal for the FinalizationViewer provider moniker. */\nexport type FinalizationViewerMoniker = typeof FinalizationViewerMoniker\n\n/** Viewer interface for reading Finalization data. */\nexport interface FinalizationViewer extends FinalizationViewerMethods, Provider<FinalizationViewerMoniker> {\n chainId(): Promisable<ChainId>\n headBlock(): Promisable<SignedBlockBoundWitnessWithHashMeta>\n headHash(): Promisable<Hash>\n headNumber(): Promisable<XL1BlockNumber>\n}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type { Provider, ProviderMoniker } from '#protocol-model'\n\nimport type { IndexSummaryFamily } from '../runners/IndexPublish.ts'\n\n/** IndexViewerMethods interface. */\nexport interface IndexViewerMethods {\n /** The published summary for a completed step in the given family, or null when not (yet) published. */\n stepSummary<T = unknown>(family: IndexSummaryFamily, stepLevel: number, stepIndex: number): Promisable<T | null>\n}\n\n/** Moniker identifier for the IndexViewer provider. */\nexport const IndexViewerMoniker = 'IndexViewer' as const\n/** Type literal for the IndexViewer provider moniker. */\nexport type IndexViewerMoniker = typeof IndexViewerMoniker\n\n/** Viewer interface for reading published step summaries (the chain index). */\nexport interface IndexViewer<TMoniker extends ProviderMoniker = IndexViewerMoniker>\n extends IndexViewerMethods, Provider<TMoniker> {}\n", "import { HashZod } from '@ariestools/sdk'\nimport { z } from 'zod/mini'\n\nimport type {\n Provider, SignedHydratedBlockWithHashMeta, SignedHydratedTransactionWithHashMeta,\n} from '#protocol-model'\nimport { XL1BlockRangeZod } from '#protocol-model'\n\n/** PendingTransactionsOptionsZod constant. */\nexport const PendingTransactionsOptionsZod = z.object({\n cursor: z.optional(HashZod),\n limit: z.optional(z.int().check(z.positive())),\n window: z.optional(XL1BlockRangeZod),\n})\n\n/** PendingTransactionsOptions type. */\nexport type PendingTransactionsOptions = z.infer<typeof PendingTransactionsOptionsZod>\n\n/** PendingBlocksOptionsZod constant. */\nexport const PendingBlocksOptionsZod = z.object({\n cursor: z.optional(HashZod),\n limit: z.optional(z.int().check(z.positive())),\n window: z.optional(XL1BlockRangeZod),\n})\n\n/** PendingBlocksOptions type. */\nexport type PendingBlocksOptions = z.infer<typeof PendingBlocksOptionsZod>\n\n/** MempoolViewerMethods interface. */\nexport interface MempoolViewerMethods {\n pendingBlocks(options?: PendingBlocksOptions): Promise<SignedHydratedBlockWithHashMeta[]>\n pendingTransactions(options?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]>\n}\n\n/** Moniker identifier for the MempoolViewer provider. */\nexport const MempoolViewerMoniker = 'MempoolViewer' as const\n/** Type literal for the MempoolViewer provider moniker. */\nexport type MempoolViewerMoniker = typeof MempoolViewerMoniker\n\n/** Viewer interface for reading Mempool data. */\nexport interface MempoolViewer extends MempoolViewerMethods, Provider<MempoolViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type { Provider } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsViewer } from './Rewards/index.ts'\n\n/** NetworkStakeViewerMethods interface. */\nexport interface NetworkStakeViewerMethods {\n /** @returns the active stake and the number of active validators [active, block] */\n active(blockNumber?: number): Promisable<[bigint, number]>\n}\n\n/** Moniker identifier for the NetworkStakeViewer provider. */\nexport const NetworkStakeViewerMoniker = 'NetworkStakeViewer' as const\n/** Type literal for the NetworkStakeViewer provider moniker. */\nexport type NetworkStakeViewerMoniker = typeof NetworkStakeViewerMoniker\n\n/** Viewer interface for reading NetworkStake data. */\nexport interface NetworkStakeViewer extends NetworkStakeViewerMethods, Provider<NetworkStakeViewerMoniker> {\n stepRewards?: NetworkStakeStepRewardsViewer\n}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type {\n AttoXL1, Provider, StepIdentity, XL1BlockRange,\n} from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsByPositionViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByPositionViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByPositionViewerMethods extends\n NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByPositionViewerOptions, number> {\n /** One position's reward summed over every completed step in the range, with multipliers applied: [positionReward, rangeTotalReward]. */\n totalForPosition(position: number, range: XL1BlockRange): Promisable<[AttoXL1, AttoXL1]>\n /** Total reward pool emitted for one completed step, with multipliers applied. */\n totalForStep(step: StepIdentity): Promisable<AttoXL1>\n /** One position's reward at one completed step, with multipliers applied: [positionReward, stepTotalReward]. */\n totalForStepForPosition(step: StepIdentity, position: number): Promisable<[AttoXL1, AttoXL1]>\n}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByPositionViewer provider. */\nexport const NetworkStakeStepRewardsByPositionViewerMoniker = 'NetworkStakeStepRewardsByPositionViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByPositionViewer provider moniker. */\nexport type NetworkStakeStepRewardsByPositionViewerMoniker = typeof NetworkStakeStepRewardsByPositionViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByPosition data. */\nexport interface NetworkStakeStepRewardsByPositionViewer extends NetworkStakeStepRewardsByPositionViewerMethods,\n Provider<NetworkStakeStepRewardsByPositionViewerMoniker> {}\n", "import type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Provider } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsByStakerViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByStakerViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByStakerViewerMethods\n extends NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStakerViewerOptions, XyoAddress> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByStakerViewer provider. */\nexport const NetworkStakeStepRewardsByStakerViewerMoniker = 'NetworkStakeStepRewardsByStakerViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByStakerViewer provider moniker. */\nexport type NetworkStakeStepRewardsByStakerViewerMoniker = typeof NetworkStakeStepRewardsByStakerViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByStaker data. */\nexport interface NetworkStakeStepRewardsByStakerViewer extends NetworkStakeStepRewardsByStakerViewerMethods,\n Provider<NetworkStakeStepRewardsByStakerViewerMoniker> {}\n", "import type { Provider, StepIdentityString } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsByStepViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsByStepViewerMethods interface. */\nexport interface NetworkStakeStepRewardsByStepViewerMethods extends\n NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStepViewerOptions, StepIdentityString> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByStepViewer provider. */\nexport const NetworkStakeStepRewardsByStepViewerMoniker = 'NetworkStakeStepRewardsByStepViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByStepViewer provider moniker. */\nexport type NetworkStakeStepRewardsByStepViewerMoniker = typeof NetworkStakeStepRewardsByStepViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByStep data. */\nexport interface NetworkStakeStepRewardsByStepViewer extends NetworkStakeStepRewardsByStepViewerMethods, Provider<NetworkStakeStepRewardsByStepViewerMoniker> {}\n", "import type { AttoXL1, Provider } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsRangeOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** NetworkStakeStepRewardsTotalViewerMethods interface. */\nexport interface NetworkStakeStepRewardsTotalViewerMethods extends NetworkStakeStepRewardsViewerMethodsTemplate<NetworkStakeStepRewardsRangeOptions, AttoXL1> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsTotalViewer provider. */\nexport const NetworkStakeStepRewardsTotalViewerMoniker = 'NetworkStakeStepRewardsTotalViewer' as const\n/** Type literal for the NetworkStakeStepRewardsTotalViewer provider moniker. */\nexport type NetworkStakeStepRewardsTotalViewerMoniker = typeof NetworkStakeStepRewardsTotalViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsTotal data. */\nexport interface NetworkStakeStepRewardsTotalViewer extends NetworkStakeStepRewardsTotalViewerMethods, Provider<NetworkStakeStepRewardsTotalViewerMoniker> {}\n", "import type { Provider } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsByPositionViewer } from './ByPositionViewer.ts'\nimport type { NetworkStakeStepRewardsByStakerViewer } from './ByStakerViewer.ts'\nimport type { NetworkStakeStepRewardsByStepViewer } from './ByStepViewer.ts'\nimport type { NetworkStakeStepRewardsTotalViewer } from './TotalViewer.ts'\n\n/** NetworkStakeStepRewardsViewerMethods interface. */\nexport interface NetworkStakeStepRewardsViewerMethods {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsViewer provider. */\nexport const NetworkStakeStepRewardsViewerMoniker = 'NetworkStakeStepRewardsViewer' as const\n/** Type literal for the NetworkStakeStepRewardsViewer provider moniker. */\nexport type NetworkStakeStepRewardsViewerMoniker = typeof NetworkStakeStepRewardsViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewards data. */\nexport interface NetworkStakeStepRewardsViewer extends NetworkStakeStepRewardsViewerMethods, Provider<NetworkStakeStepRewardsViewerMoniker> {\n position?: NetworkStakeStepRewardsByPositionViewer\n staker?: NetworkStakeStepRewardsByStakerViewer\n step?: NetworkStakeStepRewardsByStepViewer\n total?: NetworkStakeStepRewardsTotalViewer\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n AttoXL1, Provider, StepIdentity, StepIdentityString,\n} from '#protocol-model'\n\n/** NetworkStakeStepAddressRewardViewerMethods interface. */\nexport interface NetworkStakeStepAddressRewardViewerMethods {\n // the step rewards for a specific network stakers for all of history\n networkStakeStepRewardAddressHistory(address: XyoAddress): Promisable<Record<XyoAddress, AttoXL1>>\n\n // the step rewards for a specific network stakers for a given step and block\n networkStakeStepRewardAddressReward(context: StepIdentity, address: XyoAddress): Promisable<Record<XyoAddress, AttoXL1>>\n\n // the shares for a specific network staker for a given step and block\n networkStakeStepRewardAddressShare(context: StepIdentity, address: XyoAddress): Promisable<[/* address shares */bigint, /* total shares */bigint]>\n\n // estimate the current reward weight for a given address at a given step\n networkStakeStepRewardWeightForAddress(context: StepIdentity, address: XyoAddress): Promisable<bigint>\n}\n\n/** NetworkStakeStepPoolRewardViewerMethods interface. */\nexport interface NetworkStakeStepPoolRewardViewerMethods {\n\n // all the step rewards for all the network stakers for a given step and block\n networkStakeStepRewardPoolRewards(context: StepIdentity): Promisable<Record<XyoAddress, AttoXL1>>\n\n // all the shares for all the network stakers for a given step and block\n networkStakeStepRewardPoolShares(context: StepIdentity): Promisable<Record<XyoAddress, bigint>>\n}\n\n/** NetworkStakeStepRewardPositionViewerMethods interface. */\nexport interface NetworkStakeStepRewardPositionViewerMethods {\n // estimate the current weight for a given position at a given step\n networkStakeStepRewardPositionWeight(context: StepIdentity, position: number): Promisable<bigint>\n\n // estimate the potential loss for removing a given position at a given step\n networkStakeStepRewardPotentialPositionLoss(context: StepIdentity, position: number): Promisable<AttoXL1>\n}\n\n/** NetworkStakeStepRewardViewerMethods interface. */\nexport interface NetworkStakeStepRewardViewerMethods extends\n NetworkStakeStepPoolRewardViewerMethods,\n NetworkStakeStepAddressRewardViewerMethods,\n NetworkStakeStepRewardPositionViewerMethods\n{\n networkStakeStepRewardClaimedByAddress(address: XyoAddress): Promisable<AttoXL1>\n\n // the share & total rewards for a given position\n networkStakeStepRewardForPosition(position: number, range: [number, number]): Promisable<[AttoXL1, AttoXL1]>\n\n // estimate the total possible block rewards for a given step\n networkStakeStepRewardForStep(context: StepIdentity): Promisable<AttoXL1>\n\n // the share & total rewards for a given step and block for a given position\n networkStakeStepRewardForStepForPosition(context: StepIdentity, position: number): Promisable<[AttoXL1, AttoXL1]>\n\n // the predictable random number for a given step and block\n networkStakeStepRewardRandomizer(context: StepIdentity): Promisable<AttoXL1>\n\n // the total number of stakers for a given step and block\n networkStakeStepRewardStakerCount(context: StepIdentity): Promisable<number>\n\n networkStakeStepRewardUnclaimedByAddress(address: XyoAddress): Promisable<AttoXL1>\n\n // the share & total rewards for a given position for each step in range\n networkStakeStepRewardsForPosition(position: number,\n range: [number, number]): Promisable<Record<StepIdentityString, [AttoXL1, AttoXL1]>>\n\n // the total rewards for a given range\n networkStakeStepRewardsForRange(range: [number, number]): Promisable<AttoXL1>\n\n // the total rewards for a given range and step level\n networkStakeStepRewardsForStepLevel(stepLevel: number, range: [number, number]): Promisable<AttoXL1>\n}\n\n/** Moniker identifier for the NetworkStakeStepRewardViewer provider. */\nexport const NetworkStakeStepRewardViewerMoniker = 'NetworkStakeStepRewardViewer' as const\n/** Type literal for the NetworkStakeStepRewardViewer provider moniker. */\nexport type NetworkStakeStepRewardViewerMoniker = typeof NetworkStakeStepRewardViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepReward data. */\nexport interface NetworkStakeStepRewardViewer extends NetworkStakeStepRewardViewerMethods, Provider<NetworkStakeStepRewardViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Position, Provider } from '#protocol-model'\n\nimport type { StakeEventsViewer } from './StakeEvents.ts'\n\n/** StakeViewerProperties interface. */\nexport interface StakeViewerProperties {\n stakeEvents: StakeEventsViewer\n}\n\n/** StakeViewerMethods interface. */\nexport interface StakeViewerMethods {\n minWithdrawalBlocks(): Promisable<number>\n rewardsContract(): Promisable<XyoAddress>\n stakeById(id: number): Promisable<Position>\n stakeByStaker(staker: XyoAddress, slot: number): Promisable<Position>\n stakesByStaked(staked: XyoAddress): Promisable<Position[]>\n stakesByStaker(staker: XyoAddress): Promisable<Position[]>\n stakingTokenAddress(): Promisable<XyoAddress>\n}\n\n/** Moniker identifier for the StakeViewer provider. */\nexport const StakeViewerMoniker = 'StakeViewer' as const\n/** Type literal for the StakeViewer provider moniker. */\nexport type StakeViewerMoniker = typeof StakeViewerMoniker\n\n/** Viewer interface for reading Stake data. */\nexport interface StakeViewer extends StakeViewerMethods, StakeViewerProperties, Provider<StakeViewerMoniker> {\n activeStakes(): Promisable<Position[]>\n removedStakes(): Promisable<Position[]>\n withdrawnStakes(): Promisable<Position[]>\n}\n\n/** Moniker identifier for the StakeRunner provider. */\nexport const StakeRunnerMoniker = 'StakeRunner' as const\n/** Type literal for the StakeRunner provider moniker. */\nexport type StakeRunnerMoniker = typeof StakeRunnerMoniker\n\n/** Runner interface for executing Stake operations. */\nexport interface StakeRunner extends Provider<StakeRunnerMoniker> {\n addStake(staked: string, amount: bigint): Promise<boolean>\n removeStake(slot: bigint): Promise<boolean>\n withdrawStake(slot: bigint): Promise<boolean>\n}\n", "import type { JsonObject, Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Provider } from '#protocol-model'\n\n/** StakeEventNames constant. */\nexport const StakeEventNames = ['StakeAdded', 'StakeRemoved', 'StakeWithdrawn'] as const\n/** StakeEventName type. */\nexport type StakeEventName = typeof StakeEventNames[number]\n\n/** ExternalEvent interface. */\nexport interface ExternalEvent<TName extends string = string, TArgs extends JsonObject = {}> {\n args: TArgs\n name: TName\n time: number // usually block number\n}\n\n/** EventFilter interface. */\nexport interface EventFilter<TName extends string = string> {\n name?: TName\n time?: [number, number]\n}\n\n/** StakeEventArgs interface. */\nexport interface StakeEventArgs {\n amount: bigint\n id: number\n staked: XyoAddress\n staker: XyoAddress\n}\n\n/** StakeEventFilterArgs type. */\nexport type StakeEventFilterArgs = Partial<Pick<StakeEventArgs, 'staker' | 'staked' | 'id'>>\n\n/** StakeEventFilter interface. */\nexport interface StakeEventFilter<TName extends StakeEventName = StakeEventName> extends EventFilter<TName> {\n args?: StakeEventFilterArgs\n}\n\n/** StakeEvent interface. */\nexport interface StakeEvent<TName extends StakeEventName = StakeEventName> extends ExternalEvent<TName> {\n args: StakeEventArgs\n}\n\n/** Moniker identifier for the StakeEventsViewer provider. */\nexport const StakeEventsViewerMoniker = 'StakeEventsViewer' as const\n/** Type literal for the StakeEventsViewer provider moniker. */\nexport type StakeEventsViewerMoniker = typeof StakeEventsViewerMoniker\n\n/** Viewer interface for reading StakeEvents data. */\nexport interface StakeEventsViewer extends Provider<StakeEventsViewerMoniker> {\n positionCount(range: [number, number | 'latest']): Promisable<number>\n stakeEvents<TName extends StakeEventName>(range: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promisable<StakeEvent<TName>[]>\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Provider } from '#protocol-model'\n\n/** StakeTotalsViewerMethods interface. */\nexport interface StakeTotalsViewerMethods {\n active(time?: number): Promisable<bigint>\n activeByStaked(staked: XyoAddress, time?: number): Promisable<bigint>\n activeByStaker(address: XyoAddress, time?: number): Promisable<bigint>\n pending(time?: number): Promisable<bigint>\n pendingByStaker(staker: XyoAddress, time?: number): Promisable<bigint>\n withdrawn(time?: number): Promisable<bigint>\n withdrawnByStaker(staker: XyoAddress, time?: number): Promisable<bigint>\n}\n\n/** Moniker identifier for the StakeTotalsViewer provider. */\nexport const StakeTotalsViewerMoniker = 'StakeTotalsViewer' as const\n/** Type literal for the StakeTotalsViewer provider moniker. */\nexport type StakeTotalsViewerMoniker = typeof StakeTotalsViewerMoniker\n\n/** Viewer interface for reading StakeTotals data. */\nexport interface StakeTotalsViewer extends StakeTotalsViewerMethods, Provider<StakeTotalsViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Provider, StepIdentity } from '#protocol-model'\n\n/** StepStakeViewerMethods interface. */\nexport interface StepStakeViewerMethods {\n // this is the prorated stake for all addresses in the step\n stepStake: (step: StepIdentity) => Promisable<Record<XyoAddress, bigint>>\n\n // this is the prorated stake for a specific address in the step\n stepStakeForAddress: (address: XyoAddress, step: StepIdentity) => Promisable<bigint>\n}\n\n/* Prorated stake is the amount of stake that is allocated to a specific step\n based on the total stake and the number of steps. This is used to ensure\n that the stake is distributed fairly among all steps.\n\n The simplest way to calculate it is to enumerate every XL1 block in the step add the current stake at that point to a counter.\n For example, if an Address had a stake of 100 for the entire time, then the prorated stake would be 100 * number of blocks in the step.\n*/\n\nexport const StepStakeViewerMoniker = 'StepStakeViewer' as const\n/** Type literal for the StepStakeViewer provider moniker. */\nexport type StepStakeViewerMoniker = typeof StepStakeViewerMoniker\n\n/** Viewer interface for reading StepStake data. */\nexport interface StepStakeViewer extends StepStakeViewerMethods, Provider<StepStakeViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n Position, PositionId, Provider, StepIdentity,\n} from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsViewer } from './NetworkStake/index.ts'\n\n/** Options for PagedPositions. */\nexport interface PagedPositionsOptions {\n cursor?: PositionId\n limit?: number\n}\n\n/** Options for PagedStakers. */\nexport interface PagedStakersOptions {\n cursor?: XyoAddress\n limit?: number\n}\n\n/** StepStatistics interface. */\nexport interface StepStatistics {\n endTime: number\n startTime: number\n}\n\n/** StepViewerMethods interface. */\nexport interface StepViewerMethods {\n\n // the total number of positions for a given step\n positionCount(step: StepIdentity): Promisable<number>\n\n positions(step: StepIdentity, options?: PagedPositionsOptions): Promisable<Position[]>\n\n // the predictable random number for a given step\n randomizer(step: StepIdentity): Promisable<bigint>\n\n // total amount staked during a given step\n stake(step: StepIdentity): Promisable<bigint>\n\n // the total number of stakers for a given step\n stakerCount(step: StepIdentity): Promisable<number>\n\n stakers(step: StepIdentity, options?: PagedStakersOptions): Promisable<XyoAddress[]>\n\n // if no positionId is supplied, returns the total stake weight for the step\n weight(step: StepIdentity, positionId?: PositionId): Promisable<bigint>\n}\n\n/** Moniker identifier for the StepViewer provider. */\nexport const StepViewerMoniker = 'StepViewer' as const\n/** Type literal for the StepViewer provider moniker. */\nexport type StepViewerMoniker = typeof StepViewerMoniker\n\n/** Viewer interface for reading Step data. */\nexport interface StepViewer extends StepViewerMethods, Provider<StepViewerMoniker> {\n rewards?: NetworkStakeStepRewardsViewer\n}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type {\n Provider, SignedHydratedBlockWithHashMeta, SyncStepSummaryMetadata, SyncStepSummaryStatus, XL1BlockNumber,\n} from '#protocol-model'\n\n/** SyncViewerMethods interface. */\nexport interface SyncViewerMethods {\n /** Get the indexed step summary blocks for a completed step boundary. */\n stepSummary(step: number, block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta[] | null>\n\n /** Get metadata for an indexed step summary. */\n stepSummaryMetadata(step: number, block: XL1BlockNumber): Promisable<SyncStepSummaryMetadata | null>\n\n /** Get the current sync indexer status. */\n stepSummaryStatus(): Promisable<SyncStepSummaryStatus>\n}\n\n/** Moniker identifier for the SyncViewer provider. */\nexport const SyncViewerMoniker = 'SyncViewer' as const\n/** Type literal for the SyncViewer provider moniker. */\nexport type SyncViewerMoniker = typeof SyncViewerMoniker\n\n/** Viewer interface for reading sync data. */\nexport interface SyncViewer extends SyncViewerMethods, Provider<SyncViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type {\n Provider, TimeDomain, TimePayload,\n} from '#protocol-model'\n\n/** TimeSyncViewerMethods interface. */\nexport interface TimeSyncViewerMethods {\n /** Convert time between different domains */\n convertTime(fromDomain: TimeDomain, toDomain: TimeDomain, from: number): Promisable<number>\n\n /** Get the current time for a given domain. Returns the resolved domain and time. */\n currentTime(domain: TimeDomain): Promisable<[TimeDomain, number]>\n\n /** Get the current time for a given domain */\n currentTimeAndHash(domain: TimeDomain): Promisable<[number, string | null]>\n\n /** Create a TimePayload with the current time from all configured domains */\n currentTimePayload(): Promisable<TimePayload>\n}\n\n/** Moniker identifier for the TimeSyncViewer provider. */\nexport const TimeSyncViewerMoniker = 'TimeSyncViewer' as const\n/** Type literal for the TimeSyncViewer provider moniker. */\nexport type TimeSyncViewerMoniker = typeof TimeSyncViewerMoniker\n\n/** Viewer interface for reading TimeSync data. */\nexport interface TimeSyncViewer extends TimeSyncViewerMethods, Provider<TimeSyncViewerMoniker> {}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\n\nimport type {\n Provider, ProviderMoniker, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '#protocol-model'\n\n/** TransactionViewerMethods interface. */\nexport interface TransactionViewerMethods {\n byHash(transactionHash: Hash): Promisable<SignedHydratedTransactionWithHashMeta | null>\n\n /** @deprecated use .byBlockHashAndIndex instead */\n transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransaction | null>\n /** @deprecated use .byBlockNumberAndIndex instead */\n transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransaction | null>\n /** @deprecated use .byHash instead */\n transactionByHash(transactionHash: Hash): Promisable<SignedHydratedTransaction | null>\n}\n\n/** Moniker identifier for the TransactionViewer provider. */\nexport const TransactionViewerMoniker = 'TransactionViewer' as const\n/** Type literal for the TransactionViewer provider moniker. */\nexport type TransactionViewerMoniker = typeof TransactionViewerMoniker\n\n/** Viewer interface for reading Transaction data. */\nexport interface TransactionViewer<TMoniker extends ProviderMoniker = TransactionViewerMoniker> extends TransactionViewerMethods, Provider<TMoniker> {\n byBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransactionWithHashMeta | null>\n byBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransactionWithHashMeta | null>\n}\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n ChainQualified,\n Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '#protocol-model'\nimport { ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod } from '#protocol-model'\n\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** TransactionInvalidationConfigFieldsZod constant. */\nexport const TransactionInvalidationConfigFieldsZod = z.object({\n state: z.boolean().optional(),\n value: z.boolean().optional(),\n})\n\n/** TransactionInvalidationConfigZod constant. */\nexport const TransactionInvalidationConfigZod = z.union([\n TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n TransactionInvalidationConfigFieldsZod,\n z.object({}),\n])\n\n/** TransactionInvalidationConfig type. */\nexport type TransactionInvalidationConfig = z.infer<typeof TransactionInvalidationConfigZod>\n/** Type guard that checks if a value is a valid TransactionInvalidationConfig. */\nexport const isTransactionInvalidationConfig = zodIsFactory(TransactionInvalidationConfigZod)\n\n/**\n * Checks if transactions are invalid (impossible to ever become valid) according to protocol rules.\n */\n\nexport interface TransactionInvalidationViewerMethods {\n qualifiedInvalidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionInvalidationConfig\n ): Promisable<ChainQualified<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>>\n}\n\n/** Moniker identifier for the TransactionInvalidationViewer provider. */\nexport const TransactionInvalidationViewerMoniker = 'TransactionInvalidationViewer' as const\n/** Type literal for the TransactionInvalidationViewer provider moniker. */\nexport type TransactionInvalidationViewerMoniker = typeof TransactionInvalidationViewerMoniker\n\n/** Viewer interface for reading TransactionInvalidation data. */\nexport interface TransactionInvalidationViewer extends TransactionInvalidationViewerMethods, Provider<TransactionInvalidationViewerMoniker> {\n invalidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionInvalidationConfig\n ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>\n\n invalidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionInvalidationConfig\n ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>\n\n qualifiedInvalidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionInvalidationConfig\n ): Promisable<ChainQualified<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>>\n}\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n ChainQualified,\n Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '#protocol-model'\nimport { ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod } from '#protocol-model'\n\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** TransactionValidationConfigFieldsZod constant. */\nexport const TransactionValidationConfigFieldsZod = z.object({\n value: z.boolean().optional(),\n state: z.boolean().optional(),\n})\n\n/** TransactionValidationConfigZod constant. */\nexport const TransactionValidationConfigZod = z.union([\n TransactionValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n TransactionValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n TransactionValidationConfigFieldsZod,\n z.object({}),\n])\n\n/** TransactionValidationConfig type. */\nexport type TransactionValidationConfig = z.infer<typeof TransactionValidationConfigZod>\n/** Type guard that checks if a value is a valid TransactionValidationConfig. */\nexport const isTransactionValidationConfig = zodIsFactory(TransactionValidationConfigZod)\n\n/** TransactionValidationViewerMethods interface. */\nexport interface TransactionValidationViewerMethods {\n qualifiedValidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionValidationConfig\n ): Promisable<ChainQualified<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>>\n}\n\n/** Moniker identifier for the TransactionValidationViewer provider. */\nexport const TransactionValidationViewerMoniker = 'TransactionValidationViewer' as const\n/** Type literal for the TransactionValidationViewer provider moniker. */\nexport type TransactionValidationViewerMoniker = typeof TransactionValidationViewerMoniker\n\n/**\n * Checks if transactions are valid (currently valid) according to protocol rules.\n * In the case that they are not valid, they may still become valid in the future.\n */\n\nexport interface TransactionValidationViewer extends TransactionValidationViewerMethods, Provider<TransactionValidationViewerMoniker> {\n qualifiedValidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionValidationConfig\n ): Promisable<ChainQualified<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>>\n\n validateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionValidationConfig\n ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>\n\n validateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionValidationConfig\n ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { Signed, XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n AttoXL1, BlockBoundWitness, Provider, TransactionBoundWitness, Transfer, XL1BlockRange,\n} from '#protocol-model'\n\n/** TransferBalanceHistoryItem type. */\nexport type TransferBalanceHistoryItem = [\n Signed<BlockBoundWitness> /* block */,\n Signed<TransactionBoundWitness> | null,\n Transfer, /* the actual transfer payload */\n]\n/** TransferPair type. */\nexport type TransferPair = [XyoAddress, XyoAddress]\n\n/** TransferBalancesViewerMethods interface. */\nexport interface TransferBalancesViewerMethods {\n transferBalances(address: XyoAddress[]): Promisable<Partial<Record<XyoAddress, Record<XyoAddress, AttoXL1>>>>\n transferBalancesHistories(address: XyoAddress[]): Promisable<Partial<Record<XyoAddress, Record<XyoAddress, TransferBalanceHistoryItem[]>>>>\n transferPairBalances(address: TransferPair[]): Promisable<Partial<Record<XyoAddress, Record<XyoAddress, AttoXL1>>>>\n transferPairBalancesHistories(address: TransferPair[]): Promisable<Partial<Record<XyoAddress, Record<XyoAddress, TransferBalanceHistoryItem[]>>>>\n}\n\n/** Moniker identifier for the TransferBalanceViewer provider. */\nexport const TransferBalanceViewerMoniker = 'TransferBalanceViewer' as const\n/** Type literal for the TransferBalanceViewer provider moniker. */\nexport type TransferBalanceViewerMoniker = typeof TransferBalanceViewerMoniker\n\n/** Viewer interface for reading TransferBalance data. */\nexport interface TransferBalanceViewer extends TransferBalancesViewerMethods, Provider<TransferBalanceViewerMoniker> {\n transferBalance(address: XyoAddress): Promisable<AttoXL1>\n transferBalanceHistory(address: XyoAddress, range?: XL1BlockRange): Promisable<TransferBalanceHistoryItem[]>\n transferPairBalance(address: TransferPair): Promisable<AttoXL1>\n transferPairBalanceHistory(address: TransferPair): Promisable<TransferBalanceHistoryItem[]>\n}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\n\nimport type {\n HydratedBlockWithHashMeta, Provider, ProviderMoniker,\n} from '#protocol-model'\n\nimport type { BlockViewerMethods } from './Block.ts'\n\ntype ExtendableBlockViewerMethods = Omit<BlockViewerMethods, 'rate' | 'stepSizeRate' | 'timeDurationRate'>\n\n/** WindowedBlockViewerMethods interface. */\nexport interface WindowedBlockViewerMethods extends ExtendableBlockViewerMethods {\n blocksByTransactionHashes(hashes: Hash[]): Promisable<HydratedBlockWithHashMeta[]>\n}\n\n/** Moniker identifier for the WindowedBlockViewer provider. */\nexport const WindowedBlockViewerMoniker = 'WindowedBlockViewer' as const\n/** Type literal for the WindowedBlockViewer provider moniker. */\nexport type WindowedBlockViewerMoniker = typeof WindowedBlockViewerMoniker\n\n/** Viewer interface for reading WindowedBlock data. */\nexport interface WindowedBlockViewer<TMoniker extends ProviderMoniker = WindowedBlockViewerMoniker> extends WindowedBlockViewerMethods, Provider<TMoniker> {\n blockByTransactionHash(hash: Hash): Promisable<HydratedBlockWithHashMeta | null>\n}\n", "import type {\n AccountBalanceViewer,\n Provider,\n} from '#protocol-model'\n\nimport type { BlockViewer, BlockViewerMethods } from './Block.ts'\nimport type { FinalizationViewer } from './Finalization.ts'\nimport type { ForkViewerMethods } from './Fork.ts'\nimport type { MempoolViewer } from './Mempool.ts'\nimport type { NetworkStakeViewer } from './NetworkStake/index.ts'\nimport type { NetworkStakeStepRewardViewerMethods } from './NetworkStakeStepReward.ts'\nimport type { StakeViewer, StakeViewerMethods } from './Stake.ts'\nimport type { StakeTotalsViewer } from './StakeTotals.ts'\nimport type { StepViewer } from './StepViewer.ts'\nimport type { TimeSyncViewer } from './TimeSync.ts'\nimport type { TransactionViewer, TransactionViewerMethods } from './Transaction.ts'\n\n/** XyoViewerMethods interface. */\nexport interface XyoViewerMethods extends\n NetworkStakeStepRewardViewerMethods, BlockViewerMethods,\n Omit<TransactionViewerMethods, 'byHash'>, Omit<\n StakeViewerMethods, 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'\n | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'\n >, ForkViewerMethods {\n}\n\n/** XyoViewerMethodsV2 interface. */\nexport interface XyoViewerMethodsV2 {\n\n}\n\n/** Moniker identifier for the XyoViewer provider. */\nexport const XyoViewerMoniker = 'XyoViewer' as const\n/** Type literal for the XyoViewer provider moniker. */\nexport type XyoViewerMoniker = typeof XyoViewerMoniker\n\n/** Viewer interface for reading Xyo data. */\nexport interface XyoViewer extends Omit<BlockViewer, 'moniker'>, XyoViewerMethods,\n Omit<\n StakeViewerMethods, 'moniker' | 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'\n | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'\n >, Provider<XyoViewerMoniker> {\n account: {\n balance: AccountBalanceViewer\n }\n block: BlockViewer\n finalization: FinalizationViewer\n mempool?: MempoolViewer\n networkStake: NetworkStakeViewer\n stake: StakeViewer\n stakeTotals?: StakeTotalsViewer\n step: StepViewer\n time: TimeSyncViewer\n transaction: TransactionViewer\n}\n\n/** XyoViewerV2 interface. */\nexport interface XyoViewerV2 extends XyoViewerMethodsV2, Provider<XyoViewerMoniker> {\n account: {\n balance: AccountBalanceViewer\n }\n block: BlockViewer\n finalization: FinalizationViewer\n mempool?: MempoolViewer\n networkStake: NetworkStakeViewer\n stake: StakeViewer\n stakeTotals?: StakeTotalsViewer\n step: StepViewer\n time: TimeSyncViewer\n transaction: TransactionViewer\n}\n", "export * from './address/index.ts'\nexport * from './network/index.ts'\nexport * from './OpenTelemetryProviders.ts'\nexport * from './permissions/index.ts'\nexport * from './providers/index.ts'\nexport * from './repository/index.ts'\nexport * from './runners/index.ts'\nexport * from './status/index.ts'\nexport * from './summary/index.ts'\nexport * from './transaction/index.ts'\nexport * from './validation/index.ts'\nexport * from './viewers/index.ts'\nexport * from '#protocol-model'\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { isDefined, toAddress } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { keccak256 } from 'ethers'\n\n/** Returns the deterministic derived receive address for an address and optional scope. */\nexport function derivedReceiveAddress(address: XyoAddress, scope?: string): XyoAddress {\n const encoder = new TextEncoder()\n const addressKey = encoder.encode(isDefined(scope) ? `${scope}|${address}` : address)\n const hash = keccak256(addressKey)\n return toAddress(hash.slice(-40), { prefix: false })\n}\n", "import { toAddress } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { keccak256 } from 'ethers'\n\nimport { type StepIdentity, StepSizes } from '#protocol-model'\n\n/** Returns the deterministic reward-holder address for a completed step. */\nexport function rewardAddressFromStepIdentity({ block, step }: StepIdentity): XyoAddress {\n const resolvedStepSize = step < StepSizes.length ? StepSizes[step] : step\n const encoder = new TextEncoder()\n const addressKey = encoder.encode(`${block}|${resolvedStepSize}`)\n const hash = keccak256(addressKey)\n return toAddress(hash.slice(-40), { prefix: false })\n}\n\n/** @deprecated use rewardAddressFromStepIdentity instead */\nexport const completedStepRewardAddress = rewardAddressFromStepIdentity\n", "import { isDefined, toAddress } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { keccak256 } from 'ethers'\n\n/**\n * Returns a deterministic no-private-key sentinel address derived from a schema,\n * optionally bound to a specific payload hash for per-payload burn semantics.\n *\n * Without `payloadHash`: produces the static protocol sentinel for the schema.\n * Used as the destination for `Transfer` payloads accompanying app\n * data so that `accountBalanceHistory(sentinel)` surfaces every transaction\n * in the protocol with no global indexer required.\n * construction: keccak256(utf8(schema)).slice(-40)\n *\n * With `payloadHash`: produces a per-payload derived burn address scoped to\n * the schema. Each app payload binds dust to a unique no-key\n * destination \u2014 verifiable real cost per operation.\n * construction: keccak256(utf8(`${schema}|${payloadHash}`)).slice(-40)\n *\n * Mirrors the construction used by `rewardAddressFromStepIdentity` and\n * `derivedReceiveAddress` for the chain's own no-key escrow accounts.\n */\nexport function sentinelAddressFromSchema(schema: string, payloadHash?: string): XyoAddress {\n const seed = isDefined(payloadHash) ? `${schema}|${payloadHash}` : schema\n const encoder = new TextEncoder()\n const encoded = encoder.encode(seed)\n const hash = keccak256(encoded)\n return toAddress(hash.slice(-40), { prefix: false })\n}\n", "import type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk'\n\n/** Schema identifier for network status payloads. */\nexport const NetworkStatusSchema = asSchema('network.xyo.chain.status', true)\n/** Schema type for NetworkStatus payloads. */\nexport type NetworkStatusSchema = typeof NetworkStatusSchema\n\n/** Possible states of the network: online, offline, degraded, or unknown. */\nexport type NetworkStatusState = 'online' | 'offline' | 'degraded' | 'unknown'\n\n/** Represents a single network status update with a time range and description. */\nexport interface NetworkStatusUpdate {\n /** End of the reported interval. */\n end: number\n /** Start of the reported interval. */\n start: number\n /** Update value recorded for the interval. */\n update: string\n}\n\n/** Fields describing the current network status, including state and optional updates. */\nexport interface NetworkStatusFields {\n /** Human-readable description of the status update. */\n description: string\n /** Current state represented by the update. */\n state: NetworkStatusState\n /** Chronological updates that produced the current status. */\n updates?: NetworkStatusUpdate[]\n}\n\n/** A payload representing the current network status. */\nexport type NetworkStatus = Payload<NetworkStatusFields, NetworkStatusSchema>\n\n/** Type guard that checks whether a value is a NetworkStatus payload. */\nexport const isNetworkStatus = isPayloadOfSchemaType<NetworkStatus>(NetworkStatusSchema)\n", "import type { Schema } from '@xyo-network/sdk'\n\n/**\n * Applies a datalake provider's schema allow/deny lists: a schema passes when it is in\n * `allowedSchemas` (or no allow list is set) and not in `disallowedSchemas`.\n */\nexport function isSchemaAllowed(schema: Schema, allowedSchemas?: Schema[], disallowedSchemas?: Schema[]): boolean {\n if (allowedSchemas && !allowedSchemas.includes(schema)) {\n return false\n }\n if (disallowedSchemas?.includes(schema) === true) {\n return false\n }\n return true\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport type { WriteArchivistFunctions } from '@xyo-network/sdk'\n\nimport type { DataLakeData, DataLakeProvider } from './Provider.ts'\nimport type { DataLakeViewer, DataLakeViewerMethods } from './Viewer.ts'\n\n/** Moniker identifier for the DataLakeRunner provider. */\nexport const DataLakeRunnerMoniker = 'DataLakeRunner' as const\n/** Type literal for the DataLakeRunner provider moniker. */\nexport type DataLakeRunnerMoniker = typeof DataLakeRunnerMoniker\n\n/** Operations exposed by the Data Lake Runner contract. */\nexport interface DataLakeRunnerMethods extends WriteArchivistFunctions<DataLakeData, DataLakeData, DataLakeData, Hash>, DataLakeViewerMethods {}\n\n/** Runner interface for executing DataLake operations. */\nexport interface DataLakeRunner extends DataLakeProvider<DataLakeRunnerMoniker>, DataLakeRunnerMethods, Omit<DataLakeViewer, 'moniker'> {}\n", "import type { Hash } from '@ariestools/sdk'\nimport type { ReadArchivistFunctions, Sequence } from '@xyo-network/sdk'\n\nimport type { DataLakeData, DataLakeProvider } from './Provider.ts'\n\n/** Moniker identifier for the DataLakeViewer provider. */\nexport const DataLakeViewerMoniker = 'DataLakeViewer' as const\n/** Type literal for the DataLakeViewer provider moniker. */\nexport type DataLakeViewerMoniker = typeof DataLakeViewerMoniker\n\n/** Operations exposed by the Data Lake Viewer contract. */\nexport interface DataLakeViewerMethods extends ReadArchivistFunctions<DataLakeData, Hash, Sequence> {}\n\n/** Viewer interface for reading DataLake data. */\nexport interface DataLakeViewer extends DataLakeProvider<DataLakeViewerMoniker>, DataLakeViewerMethods {\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type {\n Payload, Signed, SignedHydratedBoundWitnessWithHashMeta, UnsignedBoundWitness, XyoAddress,\n} from '@xyo-network/sdk'\n\nimport type {\n Provider, SignedHydratedTransactionWithHashMeta, UnsignedHydratedTransaction,\n} from '#protocol-model'\n\n/** Moniker identifier for the XyoSigner provider. */\nexport const XyoSignerMoniker = 'XyoSigner' as const\n/** Type literal for the XyoSigner provider moniker. */\nexport type XyoSignerMoniker = typeof XyoSignerMoniker\n\n/** XyoSignerMethods interface \u2014 the RPC-exposable signing surface. */\nexport interface XyoSignerMethods {\n /** Returns the XYO address whose account will sign requested bound witnesses. */\n address(): Promisable<XyoAddress>\n /**\n * Signs an unsigned bound witness (plus the payloads it references, on- and off-chain) and returns\n * the signed, hash-meta-stamped result ready to broadcast. Generic over the bound-witness type, so\n * the signed result preserves the input's concrete shape (e.g. a transaction bound witness signs to\n * a signed transaction bound witness).\n */\n sign<T extends UnsignedBoundWitness>(bw: [T, Payload[]]): Promisable<SignedHydratedBoundWitnessWithHashMeta<Signed<T>>>\n}\n\n/** Signing provider that exposes an address and produces signed XL1 bound witnesses. */\nexport interface XyoSigner extends XyoSignerMethods, Provider<XyoSignerMoniker> {\n /** Convenience over {@link XyoSignerMethods.sign} that narrows the result to a signed transaction. */\n signTransaction(tx: UnsignedHydratedTransaction): Promisable<SignedHydratedTransactionWithHashMeta>\n}\n", "import type { Provider } from '#protocol-model'\n\nimport type { NetworkStakeViewer, XyoViewer } from '../viewers/index.ts'\nimport type { DataLakeRunner, DataLakeViewer } from './DataLake/index.ts'\nimport type { XyoNetwork } from './XyoNetwork.ts'\nimport type { XyoRunner } from './XyoRunner.ts'\n\n/** Moniker identifier for the XyoConnection provider. */\nexport const XyoConnectionMoniker = 'XyoConnection' as const\n/** Type literal for the XyoConnection provider moniker. */\nexport type XyoConnectionMoniker = typeof XyoConnectionMoniker\n\n/** Public contract for Xyo Connection. */\nexport interface XyoConnection extends Provider<XyoConnectionMoniker> {\n /** Network status and metadata provider. */\n network?: XyoNetwork\n /** Network-staking provider exposed by the connection. */\n networkStake?: NetworkStakeViewer\n /** Mutation capabilities exposed by the connection. */\n runner?: XyoRunner\n /** Storage capabilities exposed by the connection. */\n storage?: DataLakeRunner | DataLakeViewer | (DataLakeRunner & DataLakeViewer)\n /** Read-only capabilities exposed by the connection. */\n viewer?: XyoViewer\n}\n", "import type { Provider, ProviderMoniker } from '#protocol-model'\n\nimport type { XyoConnection } from './XyoConnection.ts'\n\n/** Moniker identifier for the XyoGateway provider. */\nexport const XyoGatewayMoniker = 'XyoGateway' as const\n/** Type literal for the XyoGateway provider moniker. */\nexport type XyoGatewayMoniker = typeof XyoGatewayMoniker\n\n/** Operations exposed by the Xyo Gateway contract. */\nexport interface XyoGatewayMethods {}\n\n/** Public contract for Xyo Gateway Provider. */\nexport interface XyoGatewayProvider<\n TMoniker extends ProviderMoniker = ProviderMoniker> extends XyoGatewayMethods, Provider<TMoniker> {\n /**\n * Returns the connection provider for this gateway.\n */\n connection: XyoConnection\n}\n\n/** Public contract for Xyo Gateway. */\nexport interface XyoGateway extends XyoGatewayProvider<XyoGatewayMoniker>, Provider<XyoGatewayMoniker> {\n}\n", "import type {\n Hash, Logger, Promisable,\n} from '@ariestools/sdk'\nimport type { Payload, XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n AllowedBlockPayload, AttoXL1, ChainId,\n HydratedTransactionWithHashMeta,\n SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n TransactionFeesBigInt, UnsignedHydratedTransaction, XL1BlockNumber,\n} from '#protocol-model'\n\nimport type { XyoSigner } from './signer/index.ts'\nimport type { XyoGatewayProvider } from './XyoGateway.ts'\n\n/** Polling controls used while waiting for a submitted transaction to become queryable. */\nexport interface ConfirmSubmittedTransactionOptions {\n /**\n * Number of attempts to confirm the transaction.\n * Defaults to 20.\n */\n attempts?: number\n /**\n * Delay in milliseconds between confirmation attempts.\n * Defaults to 1000 (1 second).\n */\n delay?: number\n /**\n * Block number after which the transaction is considered expired.\n * If the chain head moves past this value before the transaction is\n * confirmed, confirmation fails with an expired error.\n */\n exp?: XL1BlockNumber\n /**\n * Optional logger instance for logging progress.\n */\n logger?: Logger\n}\n\n/** Options for Transaction. */\nexport interface TransactionOptions {\n /** Chain identifier targeted by the operation. */\n chain?: ChainId\n /** Exclusive expiration block for the transaction. */\n exp?: XL1BlockNumber\n /** Fee limits and prices applied to the transaction. */\n fees?: TransactionFeesBigInt\n /** Source address declared for the operation. */\n from?: XyoAddress\n /** Earliest block at which the transaction may be included. */\n nbf?: XL1BlockNumber\n}\n\n/** Moniker identifier for the XyoGatewayRunner provider. */\nexport const XyoGatewayRunnerMoniker = 'XyoGatewayRunner' as const\n/** Type literal for the XyoGatewayRunner provider moniker. */\nexport type XyoGatewayRunnerMoniker = typeof XyoGatewayRunnerMoniker\n\n/** Transaction construction, submission, confirmation, and transfer operations exposed by a writable gateway. */\nexport interface XyoGatewayRunnerMethods {\n\n /** Builds, submits, and confirms a transaction containing on-chain and off-chain payloads. */\n addPayloadsToChain(\n onChain: AllowedBlockPayload[],\n offChain: Payload[],\n options?: TransactionOptions\n ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>\n\n /** Submits and confirms an existing signed or unsigned hydrated transaction. */\n addTransactionToChain(\n tx: UnsignedHydratedTransaction | SignedHydratedTransaction,\n offChain?: Payload[]\n ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>\n\n /** Polls for a submitted transaction until it is available or the confirmation policy is exhausted. */\n confirmSubmittedTransaction(txHash: Hash, options?: ConfirmSubmittedTransactionOptions): Promisable<SignedHydratedTransaction>\n\n /** Submits a transfer to one address and returns the transaction hash. */\n send(to: XyoAddress, amount: AttoXL1, options?: TransactionOptions): Promisable<Hash>\n /** Submits transfers to multiple addresses in one transaction and returns its hash. */\n sendMany(transfers: Record<XyoAddress, AttoXL1>, options?: TransactionOptions): Promisable<Hash>\n}\n\n/** Runner interface for executing XyoGateway operations. */\nexport interface XyoGatewayRunner extends XyoGatewayRunnerMethods, XyoGatewayProvider<XyoGatewayRunnerMoniker> {\n /**\n * Returns the signer for this gateway.\n */\n signer: XyoSigner\n\n /** Calculates the attoXL1 gas required by a hydrated transaction. */\n transactionRequiredGas(hydratedTransaction: HydratedTransactionWithHashMeta): AttoXL1\n}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\n\nimport type { Provider, SignedHydratedTransaction } from '#protocol-model'\n\nimport type { MempoolRunner } from '../runners/index.ts'\n\n/** Operations exposed by the Xyo Runner contract. */\nexport interface XyoRunnerMethods {\n /** Submits the broadcast transaction operation to its backing provider. */\n broadcastTransaction(transaction: SignedHydratedTransaction): Promisable<Hash>\n}\n\n/** Moniker identifier for the XyoRunner provider. */\nexport const XyoRunnerMoniker = 'XyoRunner' as const\n/** Type literal for the XyoRunner provider moniker. */\nexport type XyoRunnerMoniker = typeof XyoRunnerMoniker\n\n/** Runner interface for executing Xyo operations. */\nexport interface XyoRunner extends XyoRunnerMethods, Provider<XyoRunnerMoniker> {\n /** Mempool mutation provider used by the runner. */\n mempool: MempoolRunner\n}\n", "import type { WithHashMeta } from '@xyo-network/sdk'\n\nimport type {\n BlockBoundWitness, Provider,\n SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta,\n} from '#protocol-model'\n\n/** Operations exposed by the Block Runner contract. */\nexport interface BlockRunnerMethods {\n /** Produces next block. */\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force: true): Promise<SignedHydratedBlockWithHashMeta>\n /** Produces next block. */\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force?: boolean): Promise<SignedHydratedBlockWithHashMeta | undefined>\n}\n\n/** Moniker identifier for the BlockRunner provider. */\nexport const BlockRunnerMoniker = 'BlockRunner' as const\n/** Type literal for the BlockRunner provider moniker. */\nexport type BlockRunnerMoniker = typeof BlockRunnerMoniker\n\n/** Runner interface for executing Block operations. */\nexport interface BlockRunner extends BlockRunnerMethods, Provider<BlockRunnerMoniker> {\n /** Executes the next mutation. */\n next(head: WithHashMeta<BlockBoundWitness>): Promise<SignedHydratedBlockWithHashMeta | undefined>\n}\n", "import type {\n Provider, SignedHydratedBlockWithHashMeta, XL1BlockNumber, XL1BlockRange,\n} from '#protocol-model'\n\n/** Operations exposed by the Block Publish Runner contract. */\nexport interface BlockPublishRunnerMethods {\n /**\n * Finds where a catch-up sync should start: walks backwards from the source head until\n * it finds an already published block (never probing below `floor`, default genesis) and\n * returns the block after it. Lets a publisher resume behind an external importer or a\n * stale head pointer without republishing what is already there. Only the topmost\n * contiguous gap is healed \u2014 holes below the first published block found are not probed.\n */\n findCatchUpStart(floor?: XL1BlockNumber): Promise<XL1BlockNumber>\n /** True when the block is already published at its by-number path. */\n hasBlock(block: XL1BlockNumber): Promise<boolean>\n /** Publishes one finalized block and its payloads; null when the source has no such block. */\n publishBlock(block: XL1BlockNumber): Promise<SignedHydratedBlockWithHashMeta | null>\n /**\n * Publishes every block from `from` (inclusive, default genesis) through the source head.\n * Returns the published range, or null when already up to date. Idempotent \u2014 republishing\n * any range is safe.\n */\n sync(from?: XL1BlockNumber): Promise<XL1BlockRange | null>\n}\n\n/** Moniker identifier for the BlockPublishRunner provider. */\nexport const BlockPublishRunnerMoniker = 'BlockPublishRunner' as const\n/** Type literal for the BlockPublishRunner provider moniker. */\nexport type BlockPublishRunnerMoniker = typeof BlockPublishRunnerMoniker\n\n/** Runner interface for publishing finalized blocks. */\nexport interface BlockPublishRunner extends BlockPublishRunnerMethods, Provider<BlockPublishRunnerMoniker> {}\n", "import type { Provider, SignedHydratedBlockWithHashMeta } from '#protocol-model'\n\n/** Operations exposed by the Chain State Publish Runner contract. */\nexport interface ChainStatePublishRunnerMethods {\n /**\n * Ensures the immutable sparse chain-contract objects (`chain/contracts/<chainId>.json`)\n * for the current chain and its fork ancestors are published. Existence-only: never\n * overwrites an object already present. Intended to run at actor/provider start \u2014 chain\n * contract fields and chainId are fixed for the life of a chain/server.\n */\n publishChainContract(): Promise<void>\n /**\n * Publishes the source's current head to the mutable chain state. Callers must ensure the\n * finalized files for that head are published first, so readers never see a head that\n * references missing files.\n */\n publishHead(): Promise<SignedHydratedBlockWithHashMeta>\n}\n\n/** Moniker identifier for the ChainStatePublishRunner provider. */\nexport const ChainStatePublishRunnerMoniker = 'ChainStatePublishRunner' as const\n/** Type literal for the ChainStatePublishRunner provider moniker. */\nexport type ChainStatePublishRunnerMoniker = typeof ChainStatePublishRunnerMoniker\n\n/** Runner interface for publishing the mutable chain state (the current head). */\nexport interface ChainStatePublishRunner extends ChainStatePublishRunnerMethods, Provider<ChainStatePublishRunnerMoniker> {}\n", "import type { Provider } from '#protocol-model'\n\nimport type { DataLakeData } from '../providers/DataLake/Provider.ts'\n\n/**\n * DataLakePublishRunnerMethods interface.\n *\n * Bespoke write-only surface for publishing datalake payloads. Deliberately does not\n * derive from the archivist interfaces (`WriteArchivistFunctions`), but `insert` is\n * signature-compatible with the archivist `insert`, so an implementation can also\n * back a `DataLakeRunner` where one is required.\n */\nexport interface DataLakePublishRunnerMethods {\n /**\n * Publishes the given payloads and returns the published items (with hash meta).\n * Items filtered out (non-payloads, disallowed schemas) are omitted from the result.\n * Idempotent \u2014 keys are content-addressed and contents immutable, so re-inserting\n * any item is safe.\n */\n insert(items: DataLakeData[]): Promise<DataLakeData[]>\n}\n\n/** Moniker identifier for the DataLakePublishRunner provider. */\nexport const DataLakePublishRunnerMoniker = 'DataLakePublishRunner' as const\n/** Type literal for the DataLakePublishRunner provider moniker. */\nexport type DataLakePublishRunnerMoniker = typeof DataLakePublishRunnerMoniker\n\n/** Runner interface for publishing datalake payloads. */\nexport interface DataLakePublishRunner extends DataLakePublishRunnerMethods, Provider<DataLakePublishRunnerMoniker> {}\n", "import type {\n BlockRejection, Provider, TransactionRejection,\n} from '#protocol-model'\n\n/** Operations exposed by the Dead Letter Queue Runner contract. */\nexport interface DeadLetterQueueRunnerMethods {\n /** Rejects data through the reject block operation. */\n rejectBlock(rejection: BlockRejection): Promise<boolean>\n /** Rejects data through the reject transaction operation. */\n rejectTransaction(rejection: TransactionRejection): Promise<boolean>\n}\n\n/** Moniker identifier for the DeadLetterQueueRunner provider. */\nexport const DeadLetterQueueRunnerMoniker = 'DeadLetterQueueRunner' as const\n/** Type literal for the DeadLetterQueueRunner provider moniker. */\nexport type DeadLetterQueueRunnerMoniker = typeof DeadLetterQueueRunnerMoniker\n\n/** Options for DeadLetterQueue pruning. */\nexport interface DeadLetterQueuePruneOptions {\n /** Maximum number of entries processed in one batch. */\n batchSize?: number\n /** Maximum number of candidates examined per maintenance pass. */\n maxCheck?: number\n /** Maximum number of entries removed per maintenance pass. */\n maxPrune?: number\n}\n\n/** Runner interface for executing DeadLetterQueue write operations. */\nexport interface DeadLetterQueueRunner extends DeadLetterQueueRunnerMethods, Provider<DeadLetterQueueRunnerMoniker> {\n /** Removes data through the prune rejected blocks operation. */\n pruneRejectedBlocks(options?: DeadLetterQueuePruneOptions): Promise<[number, number]>\n /** Removes data through the prune rejected transactions operation. */\n pruneRejectedTransactions(options?: DeadLetterQueuePruneOptions): Promise<[number, number]>\n}\n", "import type { Provider } from '#protocol-model'\n\n/** Mutable pointer written after all event-index frames through `block` are durable. */\nexport interface EvmEventIndexHead {\n /** EVM address of the contract whose raw logs are indexed. */\n address: string\n /** Highest finalized EVM block the index is complete through. */\n block: number\n /** EVM chain id the index was built against. */\n chainId: string\n /** Hash of that block, for reorg detection on resume. */\n hash: string\n}\n\n/** Operations exposed by the Evm Event Index Publish Runner contract. */\nexport interface EvmEventIndexPublishRunnerMethods {\n /** Publishes finalized raw logs for a configured EVM contract; null when nothing is publishable yet. */\n publishFinalizedEvents(): Promise<EvmEventIndexHead | null>\n}\n\n/** Moniker identifier for the EvmEventIndexPublishRunner provider. */\nexport const EvmEventIndexPublishRunnerMoniker = 'EvmEventIndexPublishRunner' as const\n/** Type literal for the EvmEventIndexPublishRunner provider moniker. */\nexport type EvmEventIndexPublishRunnerMoniker = typeof EvmEventIndexPublishRunnerMoniker\n\n/** Runner interface for publishing a finalized EVM contract event index. */\nexport interface EvmEventIndexPublishRunner extends EvmEventIndexPublishRunnerMethods, Provider<EvmEventIndexPublishRunnerMoniker> {}\n", "import type { Hash } from '@ariestools/sdk'\n\nimport type { Provider, SignedHydratedBlockWithHashMeta } from '#protocol-model'\n\n/** Operations exposed by the Finalization Runner contract. */\nexport interface FinalizationRunnerMethods {\n /** Finalizes blocks. */\n finalizeBlocks(blocks: SignedHydratedBlockWithHashMeta[]): Promise<Hash[]>\n}\n\n/** Moniker identifier for the FinalizationRunner provider. */\nexport const FinalizationRunnerMoniker = 'FinalizationRunner' as const\n/** Type literal for the FinalizationRunner provider moniker. */\nexport type FinalizationRunnerMoniker = typeof FinalizationRunnerMoniker\n\n/** Runner interface for executing Finalization operations. */\nexport interface FinalizationRunner extends FinalizationRunnerMethods, Provider<FinalizationRunnerMoniker> {\n /** Finalizes block. */\n finalizeBlock(block: SignedHydratedBlockWithHashMeta): Promise<Hash>\n}\n", "import type { Hash } from '@ariestools/sdk'\n\nimport type { Provider, XL1BlockNumber } from '#protocol-model'\n\n/** The summary families the index publishes, one path tree each. */\nexport type IndexSummaryFamily = 'balances' | 'blocks' | 'schemas' | 'transfers'\n\n/** The indexer's progress: how far the index is complete, and how much it has published. */\nexport interface IndexWatermark {\n /** Highest block the index is complete through (never above the finalized head). */\n block: XL1BlockNumber\n /** Completed frame counts published per family. */\n families: Record<IndexSummaryFamily, number>\n /** Hash of that block. */\n hash: Hash\n}\n\n/** Operations exposed by the Index Publish Runner contract. */\nexport interface IndexPublishRunnerMethods {\n /**\n * Builds and publishes every family's frames completed at or below `ceiling` \u2014 resuming from\n * the published watermark so already-published frames are skipped \u2014 then rewrites the index\n * manifest and the watermark last. Returns the new watermark.\n */\n publishCompletedFramesUpTo(ceiling: XL1BlockNumber): Promise<IndexWatermark>\n /**\n * Publishes one completed frame for a family (building any missing sub-frames it depends on);\n * rejects for an incomplete (in-flight) frame. A no-op when the frame is already published.\n */\n publishFrame(family: IndexSummaryFamily, stepLevel: number, stepIndex: number): Promise<void>\n}\n\n/** Moniker identifier for the IndexPublishRunner provider. */\nexport const IndexPublishRunnerMoniker = 'IndexPublishRunner' as const\n/** Type literal for the IndexPublishRunner provider moniker. */\nexport type IndexPublishRunnerMoniker = typeof IndexPublishRunnerMoniker\n\n/** Runner interface for publishing step summaries (the chain index). */\nexport interface IndexPublishRunner extends IndexPublishRunnerMethods, Provider<IndexPublishRunnerMoniker> {}\n", "import type { Hash } from '@ariestools/sdk'\n\nimport type {\n Provider, SignedHydratedBlock, SignedHydratedTransaction,\n} from '#protocol-model'\n\n/** Operations exposed by the Mempool Runner contract. */\nexport interface MempoolRunnerMethods {\n /** Submits blocks to the backing provider. */\n submitBlocks(blocks: SignedHydratedBlock[]): Promise<Hash[]>\n /** Submits transactions to the backing provider. */\n submitTransactions(transactions: SignedHydratedTransaction[]): Promise<Hash[]>\n}\n\n/** Moniker identifier for the MempoolRunner provider. */\nexport const MempoolRunnerMoniker = 'MempoolRunner' as const\n/** Type literal for the MempoolRunner provider moniker. */\nexport type MempoolRunnerMoniker = typeof MempoolRunnerMoniker\n\n/** Protocol constant defining default max exp ahead. */\nexport const DEFAULT_MAX_EXP_AHEAD = 1000\n\n/** Options for MempoolPrune. */\nexport interface MempoolPruneOptions {\n /** Maximum number of entries processed in one batch. */\n batchSize?: number\n /** Maximum number of candidates examined per maintenance pass. */\n maxCheck?: number\n /** Maximum number of entries removed per maintenance pass. */\n maxPrune?: number\n}\n\n/** Runner interface for executing Mempool operations. */\nexport interface MempoolRunner extends MempoolRunnerMethods, Provider<MempoolRunnerMoniker> {\n /** Removes data through the prune pending blocks operation. */\n prunePendingBlocks(options?: MempoolPruneOptions): Promise<[number, number]>\n /** Removes data through the prune pending transactions operation. */\n prunePendingTransactions(options?: MempoolPruneOptions): Promise<[number, number]>\n}\n", "import type {\n CreatableName, CreatableStatus, CreatableStatusReporter,\n} from '@ariestools/sdk'\n\nimport type { Provider } from '#protocol-model'\n\n/**\n * Readiness of an actor's warm-pass, orthogonal to the lifecycle `CreatableStatus`.\n * Mirrors the orchestration-layer `ReadyState` so actors can report it verbatim.\n */\nexport type SystemReadyState = 'failed' | 'pending' | 'ready'\n\n/** A single component's combined lifecycle + readiness record (a serializable view). */\nexport interface SystemStatusRecord {\n /** Error associated with the current component state, when present. */\n error?: string\n /** Lifecycle state of the component. */\n lifecycle: CreatableStatus\n /** Stable human-readable name for this value. */\n name: string\n /** Optional normalized progress for the current lifecycle state. */\n progress?: number\n /** Readiness state reported by the component. */\n readiness?: SystemReadyState\n /** Epoch timestamp of the most recent status update. */\n updatedAt: number\n}\n\n/** Point-in-time view of the whole system's status. */\nexport interface SystemStatusSnapshot {\n /** Status snapshots keyed by component name. */\n components: SystemStatusRecord[]\n /** Aggregate status derived from all registered components. */\n globalStatus: CreatableStatus\n /** Whether all required components are ready. */\n isReady: boolean\n /** Whether shutdown has begun. */\n isShuttingDown: boolean\n}\n\n/** Filter for a global (aggregate) status transition. */\nexport interface SystemStatusGlobalTransitionMatch {\n /** Previous global lifecycle state to match, or any state when omitted. */\n from?: CreatableStatus\n /** New global lifecycle state to match, or any state when omitted. */\n to?: CreatableStatus\n}\n\n/** Filter for a named component status transition. */\nexport interface SystemStatusTransitionMatch {\n /** Previous component lifecycle state to match, or any state when omitted. */\n from?: CreatableStatus\n /** Stable human-readable name for this value. */\n name: string\n /** New component lifecycle state to match, or any state when omitted. */\n to?: CreatableStatus\n}\n\n/** Callback fired on a matched status transition. */\nexport type SystemStatusTransitionListener = (from: CreatableStatus, to: CreatableStatus) => void\n\n/** Moniker identifier for the SystemStatusRunner provider. */\nexport const SystemStatusRunnerMoniker = 'SystemStatusRunner' as const\n/** Type literal for the SystemStatusRunner provider moniker. */\nexport type SystemStatusRunnerMoniker = typeof SystemStatusRunnerMoniker\n\n/** Moniker identifier for the SystemStatusViewer provider. */\nexport const SystemStatusViewerMoniker = 'SystemStatusViewer' as const\n/** Type literal for the SystemStatusViewer provider moniker. */\nexport type SystemStatusViewerMoniker = typeof SystemStatusViewerMoniker\n\n/** Moniker identifier for the SystemStatusPublisher provider. */\nexport const SystemStatusPublisherMoniker = 'SystemStatusPublisher' as const\n/** Type literal for the SystemStatusPublisher provider moniker. */\nexport type SystemStatusPublisherMoniker = typeof SystemStatusPublisherMoniker\n\n/** Read-only query surface over system status, shared by the Viewer and the Runner. */\nexport interface SystemStatusViewerMethods {\n /** Returns global status. */\n getGlobalStatus(): CreatableStatus\n /** Returns the lifecycle status for a named component, or `undefined` if it has not reported. */\n getStatus(name: CreatableName): CreatableStatus | undefined\n /** Returns whether all required components currently report ready. */\n isReady(): boolean\n /** Returns whether process-wide shutdown has begun. */\n isShuttingDown(): boolean\n /** Returns a serializable point-in-time snapshot of component and aggregate status. */\n snapshot(): SystemStatusSnapshot\n}\n\n/** Read-only viewer of system status. */\nexport interface SystemStatusViewer extends SystemStatusViewerMethods, Provider<SystemStatusViewerMoniker> {}\n\n/**\n * Reporting + subscription surface on top of the read-only viewer methods.\n * `report` is inherited from `CreatableStatusReporter`, which is what the\n * lifecycle base (`AbstractCreatable`) calls on every status transition.\n */\nexport interface SystemStatusRunnerMethods extends SystemStatusViewerMethods {\n /** Handles global transition notifications. */\n onGlobalTransition(match: SystemStatusGlobalTransitionMatch, handler: SystemStatusTransitionListener): void\n /** Handles transition notifications. */\n onTransition(match: SystemStatusTransitionMatch, handler: SystemStatusTransitionListener): void\n /** Reports readiness or failure details for a named component. */\n reportReady(name: CreatableName, readiness: SystemReadyState, error?: Error | string): void\n /** Sets the process-wide shutdown indicator. */\n setShuttingDown(shuttingDown: boolean): void\n}\n\n/**\n * The process-wide status hub. Actors and providers report lifecycle status\n * (via `report`) and readiness (via `reportReady`) into it; it holds the live\n * state, computes the global status, and fires transition callbacks.\n */\nexport interface SystemStatusRunner extends SystemStatusRunnerMethods, CreatableStatusReporter, Provider<SystemStatusRunnerMoniker> {}\n\n/**\n * Publishes system status outward (console, HTTP, etc.). The publishing work\n * happens in the provider's start/stop handlers; the interface is a marker.\n */\nexport interface SystemStatusPublisher extends Provider<SystemStatusPublisherMoniker> {}\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { WithStorageMeta } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, isStorageMeta,\n} from '@xyo-network/sdk'\n\nimport type { SignedHydratedBlockWithHashMeta } from '#protocol-model'\n\nimport type { StepSummary } from './StepSummary.ts'\n\n/** Schema identifier for blocks step summary payloads */\nexport const BlocksStepSummarySchema = asSchema('network.xyo.step.summary.blocks', true)\n/** Schema type for BlocksStepSummary payloads. */\nexport type BlocksStepSummarySchema = typeof BlocksStepSummarySchema\n\n/** Step summary payload containing every block in the step frame */\nexport type BlocksStepSummary = StepSummary<{\n blocks: SignedHydratedBlockWithHashMeta[]\n}, BlocksStepSummarySchema>\n\n/**\n * Identity function for determining if an object is a BlocksStepSummary\n */\nexport const isBlocksStepSummary = isPayloadOfSchemaType<BlocksStepSummary>(BlocksStepSummarySchema)\n/** Type assertion factory for BlocksStepSummary payloads */\nexport const asBlocksStepSummary = AsObjectFactory.create<BlocksStepSummary>(isBlocksStepSummary)\n\n/**\n * Identity function for determining if an object is a BlocksStepSummary with Storage Meta\n */\nexport const isBlocksStepSummaryWithStorageMeta = (value: unknown): value is WithStorageMeta<BlocksStepSummary> => {\n return isBlocksStepSummary(value) && isStorageMeta(value)\n}\n/** Type assertion factory for BlocksStepSummary with storage metadata */\nexport const asBlocksStepSummaryWithStorageMeta = AsObjectFactory.create<WithStorageMeta<BlocksStepSummary>>(isBlocksStepSummaryWithStorageMeta)\n", "import type { Hash } from '@ariestools/sdk'\n\nimport { asXL1BlockNumber, StepSizes } from '#protocol-model'\n\nimport type { BlockViewer } from '../viewers/Block.ts'\n\n/** A completed step frame's placement in the index: which family file it lives in. */\nexport interface StepPlacement {\n /** Zero-based index of the completed step within its size family. */\n stepIndex: number\n /** Index into `StepSizes` identifying the step-size family. */\n stepLevel: number\n}\n\n/**\n * Resolves a step frame's head block number + frame size to its `(stepLevel, stepIndex)`\n * placement in the index. Returns undefined when `stepSize` isn't a recognized step size, or the\n * resulting index isn't a whole, non-negative step \u2014 i.e. the frame isn't a real completed step.\n */\nexport function stepPlacementForBlockNumber(blockNumber: number, stepSize: number): StepPlacement | undefined {\n const stepLevel = StepSizes.indexOf(asXL1BlockNumber(stepSize, true))\n if (stepLevel === -1) return undefined\n const stepIndex = (blockNumber + 1) / stepSize - 1\n return Number.isSafeInteger(stepIndex) && stepIndex >= 0 ? { stepIndex, stepLevel } : undefined\n}\n\n/**\n * Resolves a step frame's head hash + frame size (the `${hash}|${stepSize}` cache key shared by\n * every `*StepSummaryFromRange` builder) to its `(stepLevel, stepIndex)` placement in the index,\n * by looking up the frame's head block number via `blockViewer`. Returns undefined when the hash\n * can't be resolved to a block, or `stepPlacementForBlockNumber` does.\n */\nexport async function resolveStepPlacement(\n blockViewer: BlockViewer,\n hash: Hash,\n stepSize: number,\n): Promise<StepPlacement | undefined> {\n const block = await blockViewer.blockByHash(hash)\n if (!block) return undefined\n return stepPlacementForBlockNumber(block[0].block, stepSize)\n}\n", "import type { EmptyObject, Hash } from '@ariestools/sdk'\nimport {\n asSchema, type Payload, type Schema,\n} from '@xyo-network/sdk'\n\n/** Schema identifier for step summary payloads */\nexport const StepSummarySchema = asSchema('network.xyo.step.summary', true)\n/** Schema type for StepSummary payloads. */\nexport type StepSummarySchema = typeof StepSummarySchema\n\n/** Fields common to all step summary payloads */\nexport interface StepSummaryFields {\n /** Protocol hash identifying this value. */\n hash: Hash // the stepHash - the hash of the last block in the step frame\n /** Number of blocks represented by the step. */\n stepSize: number // the stepSize in blocks\n}\n\n/** Payload type for a step summary with optional additional fields and schema */\nexport type StepSummary<TAdditionalFields extends EmptyObject | void = void,\n TSchema extends Schema | void = void> = Payload<TAdditionalFields extends void ? StepSummaryFields : TAdditionalFields & StepSummaryFields,\n TSchema extends void ? StepSummarySchema : TSchema>\n", "import type { WithHashMeta } from '@xyo-network/sdk'\n\nimport type { AllowedBlockPayload, HydratedTransactionWithHashMeta } from '#protocol-model'\nimport { isAllowedBlockPayload } from '#protocol-model'\n\nconst ELEVATE_OPCODE = 'elevate'\n\n/** Returns all elevated payloads referenced by a transaction script. */\nexport function elevatedPayloads([tx, payloads]: HydratedTransactionWithHashMeta) {\n const opCodes = (tx.script ?? []).filter(operation => operation.startsWith(`${ELEVATE_OPCODE}|`))\n const elevatedPayloads: WithHashMeta<AllowedBlockPayload>[] = []\n for (const opCode of opCodes) {\n const [code, hash] = opCode.split('|', 2)\n if (code === ELEVATE_OPCODE) {\n const elevatedPayload = payloads.find(payload => payload._hash === hash)\n if (isAllowedBlockPayload(elevatedPayload)) {\n elevatedPayloads.push(elevatedPayload)\n }\n }\n }\n if (opCodes.length === elevatedPayloads.length) {\n return elevatedPayloads\n }\n throw new Error('Not all elevated payloads could be found in the transaction payloads')\n}\n", "import {\n asHash, assertEx, filterAs, type Hash,\n} from '@ariestools/sdk'\nimport type { WithHashMeta } from '@xyo-network/sdk'\nimport { isHashMeta } from '@xyo-network/sdk'\n\nimport type { AllowedBlockPayload, HydratedTransactionWithHashMeta } from '#protocol-model'\nimport { isAllowedBlockPayload } from '#protocol-model'\n\n/** Extracts valid elevated payload hashes from a script without throwing. */\nexport const tryExtractElevatedHashesFromScript = (strings: string[]): Hash[] => {\n const hashes = strings\n .filter(str => str.startsWith('elevate|'))\n .map(str => str.split('|', 2)[1])\n return filterAs(hashes, h => asHash(h))\n}\n\n/** Extracts elevated payload hashes from a script and throws on invalid hashes. */\nexport const extractElevatedHashesFromScript = (strings: string[]): Hash[] => {\n const hashes = strings\n .filter(str => str.startsWith('elevate|'))\n .map(str => str.split('|', 2)[1])\n const filtered = filterAs(hashes, h => asHash(h))\n assertEx(filtered.length === hashes.length, () => 'Invalid elevated hashes')\n return filtered\n}\n\n/** Resolves valid elevated payloads from a transaction without throwing on invalid script hashes. */\nexport const tryExtractElevatedHashes = (tx: HydratedTransactionWithHashMeta): WithHashMeta<AllowedBlockPayload>[] => {\n const [bw, payloads] = tx\n const { script } = bw\n const hashes = script ? tryExtractElevatedHashesFromScript(script) : []\n return payloads\n .filter(p => hashes.includes(p._hash))\n .filter(isAllowedBlockPayload)\n .filter(isHashMeta)\n}\n\n/**\n * Returns a copy of the transaction that excludes non-elevated payloads \u2014 i.e. only what ends up on chain.\n * The payloads must carry hash meta so the elevated script hashes can be resolved.\n */\nexport const elevatedTransaction = <T extends HydratedTransactionWithHashMeta>(tx: T): T =>\n // The cast bridges the loose-object payload typing; the elevated payloads are a subset of the originals.\n [tx[0], tryExtractElevatedHashes(tx)] as unknown as T\n\n/** Resolves elevated payloads from a transaction and throws if script references are invalid. */\nexport const extractElevatedHashes = (tx: HydratedTransactionWithHashMeta): WithHashMeta<AllowedBlockPayload>[] => {\n const [bw, payloads] = tx\n const { script } = bw\n const hashes = script ? tryExtractElevatedHashesFromScript(script) : []\n const filtered = payloads\n .filter(p => hashes.includes(p._hash))\n .filter(isAllowedBlockPayload)\n .filter(isHashMeta)\n assertEx(filtered.length === hashes.length, () => 'Invalid elevated hashes')\n return filtered\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport {\n HashZod, HexZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n BlockBoundWitness, ChainId, HydratedBlock,\n} from '#protocol-model'\n\nimport { ValidationError, ValidationErrorZod } from '../error.ts'\n\n/** Zod schema for validating Block Validation Error values. */\nexport const BlockValidationErrorZod = ValidationErrorZod.extend({ name: z.literal('BlockValidationError') }).loose()\n\n/** Type-level representation of Block Validation Error Type. */\nexport type BlockValidationErrorType = z.infer<typeof BlockValidationErrorZod>\n\n/** Error thrown during Block validation operations. */\nexport class BlockValidationError extends ValidationError<BlockBoundWitness> {}\n\n/** Type guard for Block Validation Error values. */\nexport const isBlockValidationError = zodIsFactory(BlockValidationErrorZod)\n/** Conversion helper for Block Validation Error values. */\nexport const asBlockValidationError = zodAsFactory(BlockValidationErrorZod, 'BlockValidationError')\n/** Conversion helper for Block Validation Error values. */\nexport const toBlockValidationError = zodToFactory(BlockValidationErrorZod, 'BlockValidationError')\n\n/** Zod schema for validating Hydrated Block Validation Error values. */\nexport const HydratedBlockValidationErrorZod = ValidationErrorZod.extend({ name: z.literal('HydratedBlockValidationError') }).loose()\n\n/** Type-level representation of Hydrated Block Validation Error Type. */\nexport type HydratedBlockValidationErrorType = z.infer<typeof HydratedBlockValidationErrorZod>\n\n/** Error thrown during HydratedBlock validation operations. */\nexport class HydratedBlockValidationError extends ValidationError<HydratedBlock> {}\n\n/** Type guard for Hydrated Block Validation Error values. */\nexport const isHydratedBlockValidationError = zodIsFactory(HydratedBlockValidationErrorZod)\n/** Conversion helper for Hydrated Block Validation Error values. */\nexport const asHydratedBlockValidationError = zodAsFactory(HydratedBlockValidationErrorZod, 'HydratedBlockValidationError')\n/** Conversion helper for Hydrated Block Validation Error values. */\nexport const toHydratedBlockValidationError = zodToFactory(HydratedBlockValidationErrorZod, 'HydratedBlockValidationError')\n\n/** Zod schema for validating Hydrated Block State Validation Error values. */\nexport const HydratedBlockStateValidationErrorZod = ValidationErrorZod.extend({\n chainId: HexZod,\n name: z.literal('HydratedBlockStateValidationError'),\n offendingTransactionHashes: z.array(HashZod).optional(),\n}).loose()\n\n/** Type-level representation of Hydrated Block State Validation Error Type. */\nexport type HydratedBlockStateValidationErrorType = z.infer<typeof HydratedBlockStateValidationErrorZod>\n\n/** Error thrown during HydratedBlockState validation operations. */\nexport class HydratedBlockStateValidationError extends ValidationError<HydratedBlock> {\n /** `chainId` value exposed by this contract. */\n chainId: ChainId\n /** `offendingTransactionHashes` value exposed by this contract. */\n offendingTransactionHashes?: Hash[]\n /** Creates an instance with the supplied configuration. */\n constructor(\n hash: Hash,\n chainId: ChainId,\n value: HydratedBlock,\n message: string,\n cause?: unknown,\n offendingTransactionHashes?: Hash[],\n ) {\n super(hash, value, message, cause)\n this.chainId = chainId\n this.offendingTransactionHashes = offendingTransactionHashes\n }\n}\n\n/** Type guard for Hydrated Block State Validation Error values. */\nexport const isHydratedBlockStateValidationError = zodIsFactory(HydratedBlockStateValidationErrorZod)\n/** Conversion helper for Hydrated Block State Validation Error values. */\nexport const asHydratedBlockStateValidationError = zodAsFactory(HydratedBlockStateValidationErrorZod, 'HydratedBlockStateValidationError')\n/** Conversion helper for Hydrated Block State Validation Error values. */\nexport const toHydratedBlockStateValidationError = zodToFactory(HydratedBlockStateValidationErrorZod, 'HydratedBlockStateValidationError')\n", "import {\n type Hash, HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\n/** Zod schema for validating Validation Error values. */\nexport const ValidationErrorZod = z.object({\n hash: HashZod,\n message: z.string().optional(),\n name: z.string(),\n value: z.unknown(),\n}).loose()\n\n/** Type-level representation of Validation Error Type. */\nexport type ValidationErrorType = z.infer<typeof ValidationErrorZod>\n\n/** Error thrown during validation operations. */\nexport class ValidationError<TValue = Payload> extends Error {\n /** `cause` value exposed by this contract. */\n override cause?: unknown\n /** Protocol hash identifying this value. */\n hash: Hash\n /** `message` value exposed by this contract. */\n override message: string\n /** `value` value exposed by this contract. */\n value: TValue\n /** Creates an instance with the supplied configuration. */\n constructor(hash: Hash, value: TValue, message: string, cause?: unknown) {\n super(message)\n this.hash = hash\n this.message = message\n this.name = this.constructor.name\n this.value = value\n this.cause = cause\n }\n}\n\n/** Type guard that checks if a value is a valid ValidationError. */\nexport const isValidationError = zodIsFactory(ValidationErrorZod)\n/** Conversion helper for Validation Error values. */\nexport const asValidationError = zodAsFactory(ValidationErrorZod, 'ValidationError')\n/** Conversion helper for Validation Error values. */\nexport const toValidationError = zodToFactory(ValidationErrorZod, 'ValidationError')\n", "import type { BoundWitness, HydratedBoundWitness } from '@xyo-network/sdk'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during BoundWitnessvalidation operations. */\nexport class BoundWitnessValidationError extends ValidationError<BoundWitness> {}\n\n/** Type guard that checks if a value is a valid BoundWitnessValidationError. */\nexport const isBoundWitnessValidationError = (\n error: unknown,\n): error is BoundWitnessValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === BoundWitnessValidationError.name\n )\n}\n\n/** Error thrown during HydratedBoundWitnessvalidation operations. */\nexport class HydratedBoundWitnessValidationError extends ValidationError<HydratedBoundWitness> {}\n\n/** Type guard that checks if a value is a valid HydratedBoundWitnessValidationError. */\nexport const isHydratedBoundWitnessValidationError = (\n error: unknown,\n): error is HydratedBoundWitnessValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedBoundWitnessValidationError.name\n )\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport { type Payload } from '@xyo-network/sdk'\n\nimport type { HydratedBlock } from '#protocol-model'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during InBlockPayload validation operations. */\nexport class InBlockPayloadValidationError extends ValidationError<Payload> {\n /** XL1 block number associated with this value. */\n block: HydratedBlock\n /** Creates an instance with the supplied configuration. */\n constructor(hash: Hash, block: HydratedBlock, value: Payload, message: string, cause?: unknown) {\n super(hash, value, message, cause)\n this.block = block\n }\n}\n\n/** Type guard that checks if a value is a valid InBlockPayloadValidationError. */\nexport const isInBlockPayloadValidationError = (\n error: unknown,\n): error is InBlockPayloadValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === InBlockPayloadValidationError.name\n )\n}\n", "import type { HydratedTransaction } from '#protocol-model'\n\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during HydratedTransactionvalidation operations. */\nexport class HydratedTransactionValidationError extends ValidationError<HydratedTransaction> {}\n\n/** Type guard that checks if a value is a valid HydratedTransactionValidationError. */\nexport const isHydratedTransactionValidationError = (\n error: unknown,\n): error is HydratedTransactionValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedTransactionValidationError.name\n )\n}\n", "import type {\n EventData, EventEmitter, Hash, Promisable,\n} from '@ariestools/sdk'\nimport type { Payload, WithHashMeta } from '@xyo-network/sdk'\n\nimport type {\n BlockRate, ChainId,\n Provider, ProviderMoniker, SignedHydratedBlockWithHashMeta, SingleTimeConfig, TimeDurations, XL1BlockNumber, XL1BlockRange,\n} from '#protocol-model'\n\n/** Payload for the BlockViewer `headUpdated` event. */\nexport interface BlockViewerHeadUpdatedEvent {\n /** New signed and hydrated chain head. */\n block: SignedHydratedBlockWithHashMeta\n}\n\n/** Event map for BlockViewer instances. */\nexport interface BlockViewerEventData extends EventData {\n /** Emitted after the viewer observes a new chain head. */\n headUpdated: BlockViewerHeadUpdatedEvent\n}\n\n/** Batch block and payload queries shared by block-viewer implementations. */\nexport interface BlockViewerMethods {\n /**\n * Up to `limit` blocks ending at the block with `hash`, walking **descending**\n * via each block's `previous` link (newest first) \u2014 `hash` is the window's\n * HIGH end, not its start. See {@link BlockViewerMethods.blocksByNumber}.\n */\n blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n /**\n * Up to `limit` blocks ending at `block`, walking **descending** (newest\n * first): the returned window is `[block - limit + 1 \u2026 block]` \u2014 `block` is\n * the HIGH end, NOT the start. Fewer than `limit` are returned near genesis\n * (the walk stops at block 0). `limit` defaults to the implementation's page\n * size.\n *\n * To sweep a range `[lo, hi]` ascending, request successive windows by their\n * high end \u2014 `blocksByNumber(hi, hi - lo + 1)`, advancing `hi` upward \u2014 rather\n * than passing `lo` as the start.\n */\n blocksByNumber(block: XL1BlockNumber, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n /** Returns the blocks belonging to one step-size level and step index. */\n blocksByStep(stepLevel: number, stepIndex: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n /** Returns the current signed and hydrated chain head. */\n currentBlock(): Promisable<SignedHydratedBlockWithHashMeta>\n /** Returns hydrated payloads for the supplied hashes, omitting hashes that cannot be resolved. */\n payloadsByHash(hashes: Hash[]): Promisable<WithHashMeta<Payload>[]>\n}\n\n/** Moniker identifier for the BlockViewer provider. */\nexport const BlockViewerMoniker = 'BlockViewer' as const\n/** Type literal for the BlockViewer provider moniker. */\nexport type BlockViewerMoniker = typeof BlockViewerMoniker\n\n/** Viewer interface for reading Block data. */\nexport interface BlockViewer<TMoniker extends ProviderMoniker = BlockViewerMoniker>\n extends BlockViewerMethods, EventEmitter<BlockViewerEventData>, Provider<TMoniker> {\n /** Returns the block identified by hash, or `null` when it is unavailable. */\n blockByHash(hash: Hash): Promisable<SignedHydratedBlockWithHashMeta | null>\n /** Returns the block at a height, or `null` when it is unavailable. */\n blockByNumber(block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta | null>\n /** Returns the current chain identifier. */\n chainId(): Promisable<ChainId>\n /** Returns the chain identifier active at a block number. */\n chainId(blockNumber: XL1BlockNumber): Promisable<ChainId>\n /** Returns the chain identifier at the latest block. */\n chainId(blockNumber: 'latest'): Promisable<ChainId>\n /** Returns the hash of the current chain head. */\n currentBlockHash(): Promisable<Hash>\n /** Returns the height of the current chain head. */\n currentBlockNumber(): Promisable<XL1BlockNumber>\n /** Returns one hydrated payload by hash, or `null` when it is unavailable. */\n payloadByHash(hash: Hash): Promisable<WithHashMeta<Payload> | null>\n /** Calculates block production rate over a block range. */\n rate(range: XL1BlockRange, timeUnit?: keyof TimeDurations): Promisable<BlockRate>\n /** Calculates block production rate across a sequence of fixed-size steps. */\n stepSizeRate(start: XL1BlockNumber, stepIndex: number, count?: number, timeUnit?: keyof TimeDurations): Promisable<BlockRate>\n /** Calculates block production rate over a configured time window. */\n timeDurationRate(\n timeConfig: SingleTimeConfig,\n startBlockNumber?: XL1BlockNumber,\n timeUnit?: keyof TimeDurations,\n toleranceMs?: number,\n maxAttempts?: number,\n ): Promisable<BlockRate>\n}\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n ChainQualified,\n Provider, SignedHydratedBlock, SignedHydratedBlockWithHashMeta,\n} from '#protocol-model'\nimport { ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod } from '#protocol-model'\n\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** Zod schema for validating Block Invalidation Config Fields values. */\nexport const BlockInvalidationConfigFieldsZod = z.object({\n state: z.boolean().optional(),\n value: z.boolean().optional(),\n})\n\n/** Zod schema for validating Block Invalidation Config values. */\nexport const BlockInvalidationConfigZod = z.union([\n BlockInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n BlockInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n BlockInvalidationConfigFieldsZod,\n z.object({}),\n])\n\n/** Validated Block Invalidation Config data. */\nexport type BlockInvalidationConfig = z.infer<typeof BlockInvalidationConfigZod>\n/** Type guard that checks if a value is a valid BlockInvalidationConfig. */\nexport const isBlockInvalidationConfig = zodIsFactory(BlockInvalidationConfigZod)\n\n/**\n * Checks if blocks are invalid (impossible to ever become valid) according to protocol rules.\n */\n\nexport interface BlockInvalidationViewerMethods {\n /** Invalidates blocks with explicit chain qualification. */\n qualifiedInvalidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<ChainQualified<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>>\n\n /** Invalidates uncle with explicit chain qualification. */\n qualifiedInvalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<ChainQualified<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>>\n}\n\n/** Moniker identifier for the BlockInvalidationViewer provider. */\nexport const BlockInvalidationViewerMoniker = 'BlockInvalidationViewer' as const\n/** Type literal for the BlockInvalidationViewer provider moniker. */\nexport type BlockInvalidationViewerMoniker = typeof BlockInvalidationViewerMoniker\n\n/** Viewer interface for reading BlockInvalidation data. */\nexport interface BlockInvalidationViewer extends BlockInvalidationViewerMethods, Provider<BlockInvalidationViewerMoniker> {\n /** Marks block as invalid. */\n invalidateBlock(\n block: SignedHydratedBlock,\n config?: BlockInvalidationConfig\n ): Promisable<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>\n\n /** Marks blocks as invalid. */\n invalidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n /** Marks uncle as invalid. */\n invalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n /** Invalidates block with explicit chain qualification. */\n qualifiedInvalidateBlock(\n block: SignedHydratedBlock,\n config?: BlockInvalidationConfig\n ): Promisable<ChainQualified<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>>\n}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type {\n AttoXL1, Provider, XL1BlockNumber,\n} from '#protocol-model'\n\n/** Operations exposed by the Block Reward Viewer contract. */\nexport interface BlockRewardViewerMethods {\n // The amount of xl1 to send to the producer from the block reward\n /** Returns the result of the allowed reward for block query. */\n allowedRewardForBlock(block: XL1BlockNumber): Promisable<AttoXL1>\n}\n\n/** Moniker identifier for the BlockRewardViewer provider. */\nexport const BlockRewardViewerMoniker = 'BlockRewardViewer' as const\n/** Type literal for the BlockRewardViewer provider moniker. */\nexport type BlockRewardViewerMoniker = typeof BlockRewardViewerMoniker\n\n/** Viewer interface for reading BlockReward data. */\nexport interface BlockRewardViewer extends BlockRewardViewerMethods, Provider<BlockRewardViewerMoniker> {}\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n ChainQualified,\n Provider, SignedHydratedBlock, SignedHydratedBlockWithHashMeta,\n} from '#protocol-model'\nimport { ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod } from '#protocol-model'\n\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** Zod schema for validating Block Validation Config Fields values. */\nexport const BlockValidationConfigFieldsZod = z.object({\n value: z.boolean().optional(),\n state: z.boolean().optional(),\n})\n\n/** Zod schema for validating Block Validation Config values. */\nexport const BlockValidationConfigZod = z.union([\n BlockValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n BlockValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n BlockValidationConfigFieldsZod,\n z.object({}),\n])\n\n/** Validated Block Validation Config data. */\nexport type BlockValidationConfig = z.infer<typeof BlockValidationConfigZod>\n/** Type guard that checks if a value is a valid BlockValidationConfig. */\nexport const isBlockValidationConfig = zodIsFactory(BlockValidationConfigZod)\n\n/** Operations exposed by the Block Validation Viewer contract. */\nexport interface BlockValidationViewerMethods {\n /** Validates blocks with explicit chain qualification. */\n qualifiedValidateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<ChainQualified<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>>\n\n /** Validates uncle with explicit chain qualification. */\n qualifiedValidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<ChainQualified<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>>\n}\n\n/** Moniker identifier for the BlockValidationViewer provider. */\nexport const BlockValidationViewerMoniker = 'BlockValidationViewer' as const\n/** Type literal for the BlockValidationViewer provider moniker. */\nexport type BlockValidationViewerMoniker = typeof BlockValidationViewerMoniker\n\n/**\n * Checks if blocks are valid (currently valid) according to protocol rules. In the case that they are not valid, they may still become valid in the future.\n */\n\nexport interface BlockValidationViewer extends BlockValidationViewerMethods, Provider<BlockValidationViewerMoniker> {\n /** Validates block with explicit chain qualification. */\n qualifiedValidateBlock(\n block: SignedHydratedBlock,\n config?: BlockValidationConfig\n ): Promisable<ChainQualified<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>>\n\n /** Validates block and returns the validation result. */\n validateBlock(\n block: SignedHydratedBlock,\n config?: BlockValidationConfig\n ): Promisable<HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta>\n\n /** Validates blocks and returns the validation result. */\n validateBlocks(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n\n /** Validates uncle and returns the validation result. */\n validateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[]>\n}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n ChainId, Provider, XL1BlockNumber,\n} from '#protocol-model'\n\n/** Operations exposed by the Chain Contract Viewer contract. */\nexport interface ChainContractViewerMethods {\n /** Returns the result of the chain id query. */\n chainId(): Promisable<ChainId>\n /** Returns the result of the forked at block number query. */\n forkedAtBlockNumber(): Promisable<XL1BlockNumber | null>\n /** Returns the result of the forked at hash query. */\n forkedAtHash(): Promisable<Hash | null>\n /** Returns the result of the forked chain id query. */\n forkedChainId(): Promisable<ChainId | null>\n /** Returns the result of the min withdrawal blocks query. */\n minWithdrawalBlocks(): Promisable<number>\n /** Returns the result of the rewards contract query. */\n rewardsContract(): Promisable<XyoAddress>\n /** Returns the result of the staking token address query. */\n stakingTokenAddress(): Promisable<XyoAddress>\n}\n\n/** Moniker identifier for the ChainContractViewer provider. */\nexport const ChainContractViewerMoniker = 'ChainContractViewer' as const\n/** Type literal for the ChainContractViewer provider moniker. */\nexport type ChainContractViewerMoniker = typeof ChainContractViewerMoniker\n\n/** Viewer interface for reading ChainContract data. */\nexport interface ChainContractViewer extends ChainContractViewerMethods, Provider<ChainContractViewerMoniker> {\n /** Returns the result of the chain id at block number query. */\n chainIdAtBlockNumber(blockNumber: XL1BlockNumber | 'latest'): Promisable<ChainId>\n /** Returns the result of the forked chain contract viewer query. */\n forkedChainContractViewer(): Promisable<ChainContractViewer | null>\n}\n", "import type { Provider } from '#protocol-model'\n\nimport type { ChainContractViewer } from './ChainContract.ts'\nimport type { StakeTotalsViewer } from './StakeTotals.ts'\n\n/** Moniker identifier for the ChainStakeViewer provider. */\nexport const ChainStakeViewerMoniker = 'ChainStakeViewer' as const\n/** Type literal for the ChainStakeViewer provider moniker. */\nexport type ChainStakeViewerMoniker = typeof ChainStakeViewerMoniker\n\n/** Viewer interface for reading ChainStake data. */\nexport interface ChainStakeViewer extends Omit<ChainContractViewer, 'moniker'>, Omit<StakeTotalsViewer, 'moniker'>,\n Provider<ChainStakeViewerMoniker> {\n\n}\n", "import type {\n EventData, EventEmitter, Hash, Promisable,\n} from '@ariestools/sdk'\n\nimport type {\n Provider, ProviderMoniker, SignedHydratedBlockWithHashMeta, XL1BlockNumber,\n} from '#protocol-model'\n\n/** Payload for the ChainStateViewer `headUpdated` event. */\nexport interface ChainStateViewerHeadUpdatedEvent {\n /** XL1 block number associated with this value. */\n block: SignedHydratedBlockWithHashMeta\n}\n\n/** Event map for ChainStateViewer instances. */\nexport interface ChainStateViewerEventData extends EventData {\n /** `headUpdated` value exposed by this contract. */\n headUpdated: ChainStateViewerHeadUpdatedEvent\n}\n\n/** Operations exposed by the Chain State Viewer contract. */\nexport interface ChainStateViewerMethods {\n /** Returns block. */\n currentBlock(): Promisable<SignedHydratedBlockWithHashMeta>\n}\n\n/** Moniker identifier for the ChainStateViewer provider. */\nexport const ChainStateViewerMoniker = 'ChainStateViewer' as const\n/** Type literal for the ChainStateViewer provider moniker. */\nexport type ChainStateViewerMoniker = typeof ChainStateViewerMoniker\n\n/** Viewer interface for reading the mutable chain state (the current head). */\nexport interface ChainStateViewer<TMoniker extends ProviderMoniker = ChainStateViewerMoniker>\n extends ChainStateViewerMethods, EventEmitter<ChainStateViewerEventData>, Provider<TMoniker> {\n /** Returns block hash. */\n currentBlockHash(): Promisable<Hash>\n /** Returns block number. */\n currentBlockNumber(): Promisable<XL1BlockNumber>\n /** The current head, or undefined when no head has been published yet. */\n tryCurrentBlock(): Promisable<SignedHydratedBlockWithHashMeta | undefined>\n}\n", "import { HashZod } from '@ariestools/sdk'\nimport { z } from 'zod/mini'\n\nimport type {\n BlockRejection, Provider, TransactionRejection,\n} from '#protocol-model'\n\n/** Zod schema for validating Rejected Blocks Options values. */\nexport const RejectedBlocksOptionsZod = z.object({\n cursor: z.optional(HashZod),\n limit: z.optional(z.int().check(z.positive())),\n rejector: z.optional(z.string()),\n})\n\n/** Validated Rejected Blocks Options data. */\nexport type RejectedBlocksOptions = z.infer<typeof RejectedBlocksOptionsZod>\n\n/** Zod schema for validating Rejected Transactions Options values. */\nexport const RejectedTransactionsOptionsZod = z.object({\n cursor: z.optional(HashZod),\n limit: z.optional(z.int().check(z.positive())),\n rejector: z.optional(z.string()),\n})\n\n/** Validated Rejected Transactions Options data. */\nexport type RejectedTransactionsOptions = z.infer<typeof RejectedTransactionsOptionsZod>\n\n/** Operations exposed by the Dead Letter Queue Viewer contract. */\nexport interface DeadLetterQueueViewerMethods {\n /** Rejects data through the rejected blocks operation. */\n rejectedBlocks(options?: RejectedBlocksOptions): Promise<BlockRejection[]>\n /** Rejects data through the rejected transactions operation. */\n rejectedTransactions(options?: RejectedTransactionsOptions): Promise<TransactionRejection[]>\n}\n\n/** Moniker identifier for the DeadLetterQueueViewer provider. */\nexport const DeadLetterQueueViewerMoniker = 'DeadLetterQueueViewer' as const\n/** Type literal for the DeadLetterQueueViewer provider moniker. */\nexport type DeadLetterQueueViewerMoniker = typeof DeadLetterQueueViewerMoniker\n\n/** Viewer interface for querying rejected blocks and transactions (dead letter queue). */\nexport interface DeadLetterQueueViewer extends DeadLetterQueueViewerMethods, Provider<DeadLetterQueueViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { Provider as EthersProvider } from 'ethers'\n\nimport type { Provider } from '#protocol-model'\n\n/** Operations exposed by the Evm Chain Viewer contract. */\nexport interface EvmChainViewerMethods {\n /** The ethers provider for the bound EVM JSON-RPC connection */\n provider(): Promisable<EthersProvider>\n}\n\n/** Moniker identifier for the EvmChainViewer provider. */\nexport const EvmChainViewerMoniker = 'EvmChainViewer' as const\n/** Type literal for the EvmChainViewer provider moniker. */\nexport type EvmChainViewerMoniker = typeof EvmChainViewerMoniker\n\n/** Viewer interface exposing the backing EVM chain connection. */\nexport interface EvmChainViewer extends EvmChainViewerMethods, Provider<EvmChainViewerMoniker> {}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\n\nimport type {\n ChainId, Provider, SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta, XL1BlockNumber,\n} from '#protocol-model'\n\n/** Operations exposed by the Finalization Viewer contract. */\nexport interface FinalizationViewerMethods {\n /** Returns the result of the head query. */\n head(): Promisable<SignedHydratedBlockWithHashMeta>\n}\n\n/** Moniker identifier for the FinalizationViewer provider. */\nexport const FinalizationViewerMoniker = 'FinalizationViewer' as const\n/** Type literal for the FinalizationViewer provider moniker. */\nexport type FinalizationViewerMoniker = typeof FinalizationViewerMoniker\n\n/** Viewer interface for reading Finalization data. */\nexport interface FinalizationViewer extends FinalizationViewerMethods, Provider<FinalizationViewerMoniker> {\n /** Returns the result of the chain id query. */\n chainId(): Promisable<ChainId>\n /** Returns the result of the head block query. */\n headBlock(): Promisable<SignedBlockBoundWitnessWithHashMeta>\n /** Returns the result of the head hash query. */\n headHash(): Promisable<Hash>\n /** Returns the result of the head number query. */\n headNumber(): Promisable<XL1BlockNumber>\n}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type { Provider, ProviderMoniker } from '#protocol-model'\n\nimport type { IndexSummaryFamily } from '../runners/IndexPublish.ts'\n\n/** Operations exposed by the Index Viewer contract. */\nexport interface IndexViewerMethods {\n /** The published summary for a completed step in the given family, or null when not (yet) published. */\n stepSummary<T = unknown>(family: IndexSummaryFamily, stepLevel: number, stepIndex: number): Promisable<T | null>\n}\n\n/** Moniker identifier for the IndexViewer provider. */\nexport const IndexViewerMoniker = 'IndexViewer' as const\n/** Type literal for the IndexViewer provider moniker. */\nexport type IndexViewerMoniker = typeof IndexViewerMoniker\n\n/** Viewer interface for reading published step summaries (the chain index). */\nexport interface IndexViewer<TMoniker extends ProviderMoniker = IndexViewerMoniker>\n extends IndexViewerMethods, Provider<TMoniker> {}\n", "import { HashZod } from '@ariestools/sdk'\nimport { z } from 'zod/mini'\n\nimport type {\n Provider, SignedHydratedBlockWithHashMeta, SignedHydratedTransactionWithHashMeta,\n} from '#protocol-model'\nimport { XL1BlockRangeZod } from '#protocol-model'\n\n/** Zod schema for validating Pending Transactions Options values. */\nexport const PendingTransactionsOptionsZod = z.object({\n cursor: z.optional(HashZod),\n limit: z.optional(z.int().check(z.positive())),\n window: z.optional(XL1BlockRangeZod),\n})\n\n/** Validated Pending Transactions Options data. */\nexport type PendingTransactionsOptions = z.infer<typeof PendingTransactionsOptionsZod>\n\n/** Zod schema for validating Pending Blocks Options values. */\nexport const PendingBlocksOptionsZod = z.object({\n cursor: z.optional(HashZod),\n limit: z.optional(z.int().check(z.positive())),\n window: z.optional(XL1BlockRangeZod),\n})\n\n/** Validated Pending Blocks Options data. */\nexport type PendingBlocksOptions = z.infer<typeof PendingBlocksOptionsZod>\n\n/** Operations exposed by the Mempool Viewer contract. */\nexport interface MempoolViewerMethods {\n /** Returns the result of the pending blocks query. */\n pendingBlocks(options?: PendingBlocksOptions): Promise<SignedHydratedBlockWithHashMeta[]>\n /** Returns the result of the pending transactions query. */\n pendingTransactions(options?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]>\n}\n\n/** Moniker identifier for the MempoolViewer provider. */\nexport const MempoolViewerMoniker = 'MempoolViewer' as const\n/** Type literal for the MempoolViewer provider moniker. */\nexport type MempoolViewerMoniker = typeof MempoolViewerMoniker\n\n/** Viewer interface for reading Mempool data. */\nexport interface MempoolViewer extends MempoolViewerMethods, Provider<MempoolViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type { Provider } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsViewer } from './Rewards/index.ts'\n\n/** Operations exposed by the Network Stake Viewer contract. */\nexport interface NetworkStakeViewerMethods {\n /** @returns the active stake and the number of active validators [active, block] */\n active(blockNumber?: number): Promisable<[bigint, number]>\n}\n\n/** Moniker identifier for the NetworkStakeViewer provider. */\nexport const NetworkStakeViewerMoniker = 'NetworkStakeViewer' as const\n/** Type literal for the NetworkStakeViewer provider moniker. */\nexport type NetworkStakeViewerMoniker = typeof NetworkStakeViewerMoniker\n\n/** Viewer interface for reading NetworkStake data. */\nexport interface NetworkStakeViewer extends NetworkStakeViewerMethods, Provider<NetworkStakeViewerMoniker> {\n /** `stepRewards` value exposed by this contract. */\n stepRewards?: NetworkStakeStepRewardsViewer\n}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type {\n AttoXL1, Provider, StepIdentity, XL1BlockRange,\n} from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsByPositionViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** Operations exposed by the Network Stake Step Rewards By Position Viewer contract. */\nexport interface NetworkStakeStepRewardsByPositionViewerMethods extends\n NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByPositionViewerOptions, number> {\n /** One position's reward summed over every completed step in the range, with multipliers applied: [positionReward, rangeTotalReward]. */\n totalForPosition(position: number, range: XL1BlockRange): Promisable<[AttoXL1, AttoXL1]>\n /** Total reward pool emitted for one completed step, with multipliers applied. */\n totalForStep(step: StepIdentity): Promisable<AttoXL1>\n /** One position's reward at one completed step, with multipliers applied: [positionReward, stepTotalReward]. */\n totalForStepForPosition(step: StepIdentity, position: number): Promisable<[AttoXL1, AttoXL1]>\n}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByPositionViewer provider. */\nexport const NetworkStakeStepRewardsByPositionViewerMoniker = 'NetworkStakeStepRewardsByPositionViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByPositionViewer provider moniker. */\nexport type NetworkStakeStepRewardsByPositionViewerMoniker = typeof NetworkStakeStepRewardsByPositionViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByPosition data. */\nexport interface NetworkStakeStepRewardsByPositionViewer extends NetworkStakeStepRewardsByPositionViewerMethods,\n Provider<NetworkStakeStepRewardsByPositionViewerMoniker> {}\n", "import type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Provider } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsByStakerViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** Operations exposed by the Network Stake Step Rewards By Staker Viewer contract. */\nexport interface NetworkStakeStepRewardsByStakerViewerMethods\n extends NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStakerViewerOptions, XyoAddress> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByStakerViewer provider. */\nexport const NetworkStakeStepRewardsByStakerViewerMoniker = 'NetworkStakeStepRewardsByStakerViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByStakerViewer provider moniker. */\nexport type NetworkStakeStepRewardsByStakerViewerMoniker = typeof NetworkStakeStepRewardsByStakerViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByStaker data. */\nexport interface NetworkStakeStepRewardsByStakerViewer extends NetworkStakeStepRewardsByStakerViewerMethods,\n Provider<NetworkStakeStepRewardsByStakerViewerMoniker> {}\n", "import type { Provider, StepIdentityString } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsByStepViewerOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** Operations exposed by the Network Stake Step Rewards By Step Viewer contract. */\nexport interface NetworkStakeStepRewardsByStepViewerMethods extends\n NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStepViewerOptions, StepIdentityString> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsByStepViewer provider. */\nexport const NetworkStakeStepRewardsByStepViewerMoniker = 'NetworkStakeStepRewardsByStepViewer' as const\n/** Type literal for the NetworkStakeStepRewardsByStepViewer provider moniker. */\nexport type NetworkStakeStepRewardsByStepViewerMoniker = typeof NetworkStakeStepRewardsByStepViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsByStep data. */\nexport interface NetworkStakeStepRewardsByStepViewer extends NetworkStakeStepRewardsByStepViewerMethods, Provider<NetworkStakeStepRewardsByStepViewerMoniker> {}\n", "import type { AttoXL1, Provider } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsRangeOptions } from './Options.ts'\nimport type { NetworkStakeStepRewardsViewerMethodsTemplate } from './templates/index.ts'\n\n// Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.\n\n/** Operations exposed by the Network Stake Step Rewards Total Viewer contract. */\nexport interface NetworkStakeStepRewardsTotalViewerMethods extends NetworkStakeStepRewardsViewerMethodsTemplate<NetworkStakeStepRewardsRangeOptions, AttoXL1> {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsTotalViewer provider. */\nexport const NetworkStakeStepRewardsTotalViewerMoniker = 'NetworkStakeStepRewardsTotalViewer' as const\n/** Type literal for the NetworkStakeStepRewardsTotalViewer provider moniker. */\nexport type NetworkStakeStepRewardsTotalViewerMoniker = typeof NetworkStakeStepRewardsTotalViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewardsTotal data. */\nexport interface NetworkStakeStepRewardsTotalViewer extends NetworkStakeStepRewardsTotalViewerMethods, Provider<NetworkStakeStepRewardsTotalViewerMoniker> {}\n", "import type { Provider } from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsByPositionViewer } from './ByPositionViewer.ts'\nimport type { NetworkStakeStepRewardsByStakerViewer } from './ByStakerViewer.ts'\nimport type { NetworkStakeStepRewardsByStepViewer } from './ByStepViewer.ts'\nimport type { NetworkStakeStepRewardsTotalViewer } from './TotalViewer.ts'\n\n/** Operations exposed by the Network Stake Step Rewards Viewer contract. */\nexport interface NetworkStakeStepRewardsViewerMethods {}\n\n/** Moniker identifier for the NetworkStakeStepRewardsViewer provider. */\nexport const NetworkStakeStepRewardsViewerMoniker = 'NetworkStakeStepRewardsViewer' as const\n/** Type literal for the NetworkStakeStepRewardsViewer provider moniker. */\nexport type NetworkStakeStepRewardsViewerMoniker = typeof NetworkStakeStepRewardsViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepRewards data. */\nexport interface NetworkStakeStepRewardsViewer extends NetworkStakeStepRewardsViewerMethods, Provider<NetworkStakeStepRewardsViewerMoniker> {\n /** `position` value exposed by this contract. */\n position?: NetworkStakeStepRewardsByPositionViewer\n /** `staker` value exposed by this contract. */\n staker?: NetworkStakeStepRewardsByStakerViewer\n /** `step` value exposed by this contract. */\n step?: NetworkStakeStepRewardsByStepViewer\n /** `total` value exposed by this contract. */\n total?: NetworkStakeStepRewardsTotalViewer\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n AttoXL1, Provider, StepIdentity, StepIdentityString,\n} from '#protocol-model'\n\n/** Operations exposed by the Network Stake Step Address Reward Viewer contract. */\nexport interface NetworkStakeStepAddressRewardViewerMethods {\n // the step rewards for a specific network stakers for all of history\n /** Returns the result of the network stake step reward address history query. */\n networkStakeStepRewardAddressHistory(address: XyoAddress): Promisable<Record<XyoAddress, AttoXL1>>\n\n // the step rewards for a specific network stakers for a given step and block\n /** Returns the result of the network stake step reward address reward query. */\n networkStakeStepRewardAddressReward(context: StepIdentity, address: XyoAddress): Promisable<Record<XyoAddress, AttoXL1>>\n\n // the shares for a specific network staker for a given step and block\n /** Returns the result of the network stake step reward address share query. */\n networkStakeStepRewardAddressShare(context: StepIdentity, address: XyoAddress): Promisable<[/* address shares */bigint, /* total shares */bigint]>\n\n // estimate the current reward weight for a given address at a given step\n /** Returns the result of the network stake step reward weight for address query. */\n networkStakeStepRewardWeightForAddress(context: StepIdentity, address: XyoAddress): Promisable<bigint>\n}\n\n/** Operations exposed by the Network Stake Step Pool Reward Viewer contract. */\nexport interface NetworkStakeStepPoolRewardViewerMethods {\n\n // all the step rewards for all the network stakers for a given step and block\n /** Returns the result of the network stake step reward pool rewards query. */\n networkStakeStepRewardPoolRewards(context: StepIdentity): Promisable<Record<XyoAddress, AttoXL1>>\n\n // all the shares for all the network stakers for a given step and block\n /** Returns the result of the network stake step reward pool shares query. */\n networkStakeStepRewardPoolShares(context: StepIdentity): Promisable<Record<XyoAddress, bigint>>\n}\n\n/** Operations exposed by the Network Stake Step Reward Position Viewer contract. */\nexport interface NetworkStakeStepRewardPositionViewerMethods {\n // estimate the current weight for a given position at a given step\n /** Returns the result of the network stake step reward position weight query. */\n networkStakeStepRewardPositionWeight(context: StepIdentity, position: number): Promisable<bigint>\n\n // estimate the potential loss for removing a given position at a given step\n /** Returns the result of the network stake step reward potential position loss query. */\n networkStakeStepRewardPotentialPositionLoss(context: StepIdentity, position: number): Promisable<AttoXL1>\n}\n\n/** Operations exposed by the Network Stake Step Reward Viewer contract. */\nexport interface NetworkStakeStepRewardViewerMethods extends\n NetworkStakeStepPoolRewardViewerMethods,\n NetworkStakeStepAddressRewardViewerMethods,\n NetworkStakeStepRewardPositionViewerMethods\n{\n /** Returns the result of the network stake step reward claimed by address query. */\n networkStakeStepRewardClaimedByAddress(address: XyoAddress): Promisable<AttoXL1>\n\n // the share & total rewards for a given position\n /** Returns the result of the network stake step reward for position query. */\n networkStakeStepRewardForPosition(position: number, range: [number, number]): Promisable<[AttoXL1, AttoXL1]>\n\n // estimate the total possible block rewards for a given step\n /** Returns the result of the network stake step reward for step query. */\n networkStakeStepRewardForStep(context: StepIdentity): Promisable<AttoXL1>\n\n // the share & total rewards for a given step and block for a given position\n /** Returns the result of the network stake step reward for step for position query. */\n networkStakeStepRewardForStepForPosition(context: StepIdentity, position: number): Promisable<[AttoXL1, AttoXL1]>\n\n // the predictable random number for a given step and block\n /** Returns the result of the network stake step reward randomizer query. */\n networkStakeStepRewardRandomizer(context: StepIdentity): Promisable<AttoXL1>\n\n // the total number of stakers for a given step and block\n /** Returns the result of the network stake step reward staker count query. */\n networkStakeStepRewardStakerCount(context: StepIdentity): Promisable<number>\n\n /** Returns the result of the network stake step reward unclaimed by address query. */\n networkStakeStepRewardUnclaimedByAddress(address: XyoAddress): Promisable<AttoXL1>\n\n // the share & total rewards for a given position for each step in range\n /** Returns the result of the network stake step rewards for position query. */\n networkStakeStepRewardsForPosition(position: number,\n range: [number, number]): Promisable<Record<StepIdentityString, [AttoXL1, AttoXL1]>>\n\n // the total rewards for a given range\n /** Returns the result of the network stake step rewards for range query. */\n networkStakeStepRewardsForRange(range: [number, number]): Promisable<AttoXL1>\n\n // the total rewards for a given range and step level\n /** Returns the result of the network stake step rewards for step level query. */\n networkStakeStepRewardsForStepLevel(stepLevel: number, range: [number, number]): Promisable<AttoXL1>\n}\n\n/** Moniker identifier for the NetworkStakeStepRewardViewer provider. */\nexport const NetworkStakeStepRewardViewerMoniker = 'NetworkStakeStepRewardViewer' as const\n/** Type literal for the NetworkStakeStepRewardViewer provider moniker. */\nexport type NetworkStakeStepRewardViewerMoniker = typeof NetworkStakeStepRewardViewerMoniker\n\n/** Viewer interface for reading NetworkStakeStepReward data. */\nexport interface NetworkStakeStepRewardViewer extends NetworkStakeStepRewardViewerMethods, Provider<NetworkStakeStepRewardViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Position, Provider } from '#protocol-model'\n\nimport type { StakeEventsViewer } from './StakeEvents.ts'\n\n/** Public contract for Stake Viewer Properties. */\nexport interface StakeViewerProperties {\n /** `stakeEvents` value exposed by this contract. */\n stakeEvents: StakeEventsViewer\n}\n\n/** Operations exposed by the Stake Viewer contract. */\nexport interface StakeViewerMethods {\n /** Returns the result of the min withdrawal blocks query. */\n minWithdrawalBlocks(): Promisable<number>\n /** Returns the result of the rewards contract query. */\n rewardsContract(): Promisable<XyoAddress>\n /** Returns the result of the stake by id query. */\n stakeById(id: number): Promisable<Position>\n /** Returns the result of the stake by staker query. */\n stakeByStaker(staker: XyoAddress, slot: number): Promisable<Position>\n /** Returns the result of the stakes by staked query. */\n stakesByStaked(staked: XyoAddress): Promisable<Position[]>\n /** Returns the result of the stakes by staker query. */\n stakesByStaker(staker: XyoAddress): Promisable<Position[]>\n /** Returns the result of the staking token address query. */\n stakingTokenAddress(): Promisable<XyoAddress>\n}\n\n/** Moniker identifier for the StakeViewer provider. */\nexport const StakeViewerMoniker = 'StakeViewer' as const\n/** Type literal for the StakeViewer provider moniker. */\nexport type StakeViewerMoniker = typeof StakeViewerMoniker\n\n/** Viewer interface for reading Stake data. */\nexport interface StakeViewer extends StakeViewerMethods, StakeViewerProperties, Provider<StakeViewerMoniker> {\n /** Returns the result of the active stakes query. */\n activeStakes(): Promisable<Position[]>\n /** Returns the result of the removed stakes query. */\n removedStakes(): Promisable<Position[]>\n /** Returns the result of the withdrawn stakes query. */\n withdrawnStakes(): Promisable<Position[]>\n}\n\n/** Moniker identifier for the StakeRunner provider. */\nexport const StakeRunnerMoniker = 'StakeRunner' as const\n/** Type literal for the StakeRunner provider moniker. */\nexport type StakeRunnerMoniker = typeof StakeRunnerMoniker\n\n/** Runner interface for executing Stake operations. */\nexport interface StakeRunner extends Provider<StakeRunnerMoniker> {\n /** Adds stake through the backing provider. */\n addStake(staked: string, amount: bigint): Promise<boolean>\n /** Returns the result of the remove stake query. */\n removeStake(slot: bigint): Promise<boolean>\n /** Returns the result of the withdraw stake query. */\n withdrawStake(slot: bigint): Promise<boolean>\n}\n", "import type { JsonObject, Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Provider } from '#protocol-model'\n\n/** Protocol constant defining stake event names. */\nexport const StakeEventNames = ['StakeAdded', 'StakeRemoved', 'StakeWithdrawn'] as const\n/** Validated Stake Event Name data. */\nexport type StakeEventName = typeof StakeEventNames[number]\n\n/** Public contract for External Event. */\nexport interface ExternalEvent<TName extends string = string, TArgs extends JsonObject = {}> {\n /** `args` value exposed by this contract. */\n args: TArgs\n /** Stable human-readable name for this value. */\n name: TName\n /** `time` value exposed by this contract. */\n time: number // usually block number\n}\n\n/** Public contract for Event Filter. */\nexport interface EventFilter<TName extends string = string> {\n /** Stable human-readable name for this value. */\n name?: TName\n /** `time` value exposed by this contract. */\n time?: [number, number]\n}\n\n/** Public contract for Stake Event Args. */\nexport interface StakeEventArgs {\n /** `amount` value exposed by this contract. */\n amount: bigint\n /** `id` value exposed by this contract. */\n id: number\n /** `staked` value exposed by this contract. */\n staked: XyoAddress\n /** `staker` value exposed by this contract. */\n staker: XyoAddress\n}\n\n/** Validated Stake Event Filter Args data. */\nexport type StakeEventFilterArgs = Partial<Pick<StakeEventArgs, 'staker' | 'staked' | 'id'>>\n\n/** Public contract for Stake Event Filter. */\nexport interface StakeEventFilter<TName extends StakeEventName = StakeEventName> extends EventFilter<TName> {\n /** `args` value exposed by this contract. */\n args?: StakeEventFilterArgs\n}\n\n/** Public contract for Stake Event. */\nexport interface StakeEvent<TName extends StakeEventName = StakeEventName> extends ExternalEvent<TName> {\n /** `args` value exposed by this contract. */\n args: StakeEventArgs\n}\n\n/** Moniker identifier for the StakeEventsViewer provider. */\nexport const StakeEventsViewerMoniker = 'StakeEventsViewer' as const\n/** Type literal for the StakeEventsViewer provider moniker. */\nexport type StakeEventsViewerMoniker = typeof StakeEventsViewerMoniker\n\n/** Viewer interface for reading StakeEvents data. */\nexport interface StakeEventsViewer extends Provider<StakeEventsViewerMoniker> {\n /** Returns the result of the position count query. */\n positionCount(range: [number, number | 'latest']): Promisable<number>\n /** Returns the result of the stake events query. */\n stakeEvents<TName extends StakeEventName>(range: [number, number | 'latest'], filter?: StakeEventFilter<TName>): Promisable<StakeEvent<TName>[]>\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Provider } from '#protocol-model'\n\n/** Operations exposed by the Stake Totals Viewer contract. */\nexport interface StakeTotalsViewerMethods {\n /** Returns the result of the active query. */\n active(time?: number): Promisable<bigint>\n /** Returns the result of the active by staked query. */\n activeByStaked(staked: XyoAddress, time?: number): Promisable<bigint>\n /** Returns the result of the active by staker query. */\n activeByStaker(address: XyoAddress, time?: number): Promisable<bigint>\n /** Returns the result of the pending query. */\n pending(time?: number): Promisable<bigint>\n /** Returns the result of the pending by staker query. */\n pendingByStaker(staker: XyoAddress, time?: number): Promisable<bigint>\n /** Returns the result of the withdrawn query. */\n withdrawn(time?: number): Promisable<bigint>\n /** Returns the result of the withdrawn by staker query. */\n withdrawnByStaker(staker: XyoAddress, time?: number): Promisable<bigint>\n}\n\n/** Moniker identifier for the StakeTotalsViewer provider. */\nexport const StakeTotalsViewerMoniker = 'StakeTotalsViewer' as const\n/** Type literal for the StakeTotalsViewer provider moniker. */\nexport type StakeTotalsViewerMoniker = typeof StakeTotalsViewerMoniker\n\n/** Viewer interface for reading StakeTotals data. */\nexport interface StakeTotalsViewer extends StakeTotalsViewerMethods, Provider<StakeTotalsViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type { Provider, StepIdentity } from '#protocol-model'\n\n/** Operations exposed by the Step Stake Viewer contract. */\nexport interface StepStakeViewerMethods {\n // this is the prorated stake for all addresses in the step\n /** `stepStake` value exposed by this contract. */\n stepStake: (step: StepIdentity) => Promisable<Record<XyoAddress, bigint>>\n\n // this is the prorated stake for a specific address in the step\n /** `stepStakeForAddress` value exposed by this contract. */\n stepStakeForAddress: (address: XyoAddress, step: StepIdentity) => Promisable<bigint>\n}\n\n/* Prorated stake is the amount of stake that is allocated to a specific step\n based on the total stake and the number of steps. This is used to ensure\n that the stake is distributed fairly among all steps.\n\n The simplest way to calculate it is to enumerate every XL1 block in the step add the current stake at that point to a counter.\n For example, if an Address had a stake of 100 for the entire time, then the prorated stake would be 100 * number of blocks in the step.\n*/\n\n/** Protocol-defined value for step stake viewer moniker. */\nexport const StepStakeViewerMoniker = 'StepStakeViewer' as const\n/** Type literal for the StepStakeViewer provider moniker. */\nexport type StepStakeViewerMoniker = typeof StepStakeViewerMoniker\n\n/** Viewer interface for reading StepStake data. */\nexport interface StepStakeViewer extends StepStakeViewerMethods, Provider<StepStakeViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n Position, PositionId, Provider, StepIdentity,\n} from '#protocol-model'\n\nimport type { NetworkStakeStepRewardsViewer } from './NetworkStake/index.ts'\n\n/** Options for PagedPositions. */\nexport interface PagedPositionsOptions {\n /** `cursor` value exposed by this contract. */\n cursor?: PositionId\n /** `limit` value exposed by this contract. */\n limit?: number\n}\n\n/** Options for PagedStakers. */\nexport interface PagedStakersOptions {\n /** `cursor` value exposed by this contract. */\n cursor?: XyoAddress\n /** `limit` value exposed by this contract. */\n limit?: number\n}\n\n/** Public contract for Step Statistics. */\nexport interface StepStatistics {\n /** `endTime` value exposed by this contract. */\n endTime: number\n /** `startTime` value exposed by this contract. */\n startTime: number\n}\n\n/** Operations exposed by the Step Viewer contract. */\nexport interface StepViewerMethods {\n\n // the total number of positions for a given step\n /** Returns the result of the position count query. */\n positionCount(step: StepIdentity): Promisable<number>\n\n /** Returns the result of the positions query. */\n positions(step: StepIdentity, options?: PagedPositionsOptions): Promisable<Position[]>\n\n // the predictable random number for a given step\n /** Returns the result of the randomizer query. */\n randomizer(step: StepIdentity): Promisable<bigint>\n\n // total amount staked during a given step\n /** Returns the result of the stake query. */\n stake(step: StepIdentity): Promisable<bigint>\n\n // the total number of stakers for a given step\n /** Returns the result of the staker count query. */\n stakerCount(step: StepIdentity): Promisable<number>\n\n /** Returns the result of the stakers query. */\n stakers(step: StepIdentity, options?: PagedStakersOptions): Promisable<XyoAddress[]>\n\n // if no positionId is supplied, returns the total stake weight for the step\n /** Returns the result of the weight query. */\n weight(step: StepIdentity, positionId?: PositionId): Promisable<bigint>\n}\n\n/** Moniker identifier for the StepViewer provider. */\nexport const StepViewerMoniker = 'StepViewer' as const\n/** Type literal for the StepViewer provider moniker. */\nexport type StepViewerMoniker = typeof StepViewerMoniker\n\n/** Viewer interface for reading Step data. */\nexport interface StepViewer extends StepViewerMethods, Provider<StepViewerMoniker> {\n /** `rewards` value exposed by this contract. */\n rewards?: NetworkStakeStepRewardsViewer\n}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type {\n Provider, SignedHydratedBlockWithHashMeta, SyncStepSummaryMetadata, SyncStepSummaryStatus, XL1BlockNumber,\n} from '#protocol-model'\n\n/** Operations exposed by the Sync Viewer contract. */\nexport interface SyncViewerMethods {\n /** Get the indexed step summary blocks for a completed step boundary. */\n stepSummary(step: number, block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta[] | null>\n\n /** Get metadata for an indexed step summary. */\n stepSummaryMetadata(step: number, block: XL1BlockNumber): Promisable<SyncStepSummaryMetadata | null>\n\n /** Get the current sync indexer status. */\n stepSummaryStatus(): Promisable<SyncStepSummaryStatus>\n}\n\n/** Moniker identifier for the SyncViewer provider. */\nexport const SyncViewerMoniker = 'SyncViewer' as const\n/** Type literal for the SyncViewer provider moniker. */\nexport type SyncViewerMoniker = typeof SyncViewerMoniker\n\n/** Viewer interface for reading sync data. */\nexport interface SyncViewer extends SyncViewerMethods, Provider<SyncViewerMoniker> {}\n", "import type { Promisable } from '@ariestools/sdk'\n\nimport type {\n Provider, TimeDomain, TimePayload,\n} from '#protocol-model'\n\n/** Operations exposed by the Time Sync Viewer contract. */\nexport interface TimeSyncViewerMethods {\n /** Convert time between different domains */\n convertTime(fromDomain: TimeDomain, toDomain: TimeDomain, from: number): Promisable<number>\n\n /** Get the current time for a given domain. Returns the resolved domain and time. */\n currentTime(domain: TimeDomain): Promisable<[TimeDomain, number]>\n\n /** Get the current time for a given domain */\n currentTimeAndHash(domain: TimeDomain): Promisable<[number, string | null]>\n\n /** Create a TimePayload with the current time from all configured domains */\n currentTimePayload(): Promisable<TimePayload>\n}\n\n/** Moniker identifier for the TimeSyncViewer provider. */\nexport const TimeSyncViewerMoniker = 'TimeSyncViewer' as const\n/** Type literal for the TimeSyncViewer provider moniker. */\nexport type TimeSyncViewerMoniker = typeof TimeSyncViewerMoniker\n\n/** Viewer interface for reading TimeSync data. */\nexport interface TimeSyncViewer extends TimeSyncViewerMethods, Provider<TimeSyncViewerMoniker> {}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\n\nimport type {\n Provider, ProviderMoniker, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '#protocol-model'\n\n/** Operations exposed by the Transaction Viewer contract. */\nexport interface TransactionViewerMethods {\n /** Returns the result of the by hash query. */\n byHash(transactionHash: Hash): Promisable<SignedHydratedTransactionWithHashMeta | null>\n\n /** @deprecated use .byBlockHashAndIndex instead */\n transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransaction | null>\n /** @deprecated use .byBlockNumberAndIndex instead */\n transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransaction | null>\n /** @deprecated use .byHash instead */\n transactionByHash(transactionHash: Hash): Promisable<SignedHydratedTransaction | null>\n}\n\n/** Moniker identifier for the TransactionViewer provider. */\nexport const TransactionViewerMoniker = 'TransactionViewer' as const\n/** Type literal for the TransactionViewer provider moniker. */\nexport type TransactionViewerMoniker = typeof TransactionViewerMoniker\n\n/** Viewer interface for reading Transaction data. */\nexport interface TransactionViewer<TMoniker extends ProviderMoniker = TransactionViewerMoniker> extends TransactionViewerMethods, Provider<TMoniker> {\n /** Returns the result of the by block hash and index query. */\n byBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<SignedHydratedTransactionWithHashMeta | null>\n /** Returns the result of the by block number and index query. */\n byBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<SignedHydratedTransactionWithHashMeta | null>\n}\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n ChainQualified,\n Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '#protocol-model'\nimport { ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod } from '#protocol-model'\n\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** Zod schema for validating Transaction Invalidation Config Fields values. */\nexport const TransactionInvalidationConfigFieldsZod = z.object({\n state: z.boolean().optional(),\n value: z.boolean().optional(),\n})\n\n/** Zod schema for validating Transaction Invalidation Config values. */\nexport const TransactionInvalidationConfigZod = z.union([\n TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n TransactionInvalidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n TransactionInvalidationConfigFieldsZod,\n z.object({}),\n])\n\n/** Validated Transaction Invalidation Config data. */\nexport type TransactionInvalidationConfig = z.infer<typeof TransactionInvalidationConfigZod>\n/** Type guard that checks if a value is a valid TransactionInvalidationConfig. */\nexport const isTransactionInvalidationConfig = zodIsFactory(TransactionInvalidationConfigZod)\n\n/**\n * Checks if transactions are invalid (impossible to ever become valid) according to protocol rules.\n */\n\nexport interface TransactionInvalidationViewerMethods {\n /** Invalidates transactions with explicit chain qualification. */\n qualifiedInvalidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionInvalidationConfig\n ): Promisable<ChainQualified<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>>\n}\n\n/** Moniker identifier for the TransactionInvalidationViewer provider. */\nexport const TransactionInvalidationViewerMoniker = 'TransactionInvalidationViewer' as const\n/** Type literal for the TransactionInvalidationViewer provider moniker. */\nexport type TransactionInvalidationViewerMoniker = typeof TransactionInvalidationViewerMoniker\n\n/** Viewer interface for reading TransactionInvalidation data. */\nexport interface TransactionInvalidationViewer extends TransactionInvalidationViewerMethods, Provider<TransactionInvalidationViewerMoniker> {\n /** Marks transaction as invalid. */\n invalidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionInvalidationConfig\n ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>\n\n /** Marks transactions as invalid. */\n invalidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionInvalidationConfig\n ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>\n\n /** Invalidates transaction with explicit chain qualification. */\n qualifiedInvalidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionInvalidationConfig\n ): Promisable<ChainQualified<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>>\n}\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type {\n ChainQualified,\n Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n} from '#protocol-model'\nimport { ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod } from '#protocol-model'\n\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** Zod schema for validating Transaction Validation Config Fields values. */\nexport const TransactionValidationConfigFieldsZod = z.object({\n value: z.boolean().optional(),\n state: z.boolean().optional(),\n})\n\n/** Zod schema for validating Transaction Validation Config values. */\nexport const TransactionValidationConfigZod = z.union([\n TransactionValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),\n TransactionValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),\n TransactionValidationConfigFieldsZod,\n z.object({}),\n])\n\n/** Validated Transaction Validation Config data. */\nexport type TransactionValidationConfig = z.infer<typeof TransactionValidationConfigZod>\n/** Type guard that checks if a value is a valid TransactionValidationConfig. */\nexport const isTransactionValidationConfig = zodIsFactory(TransactionValidationConfigZod)\n\n/** Operations exposed by the Transaction Validation Viewer contract. */\nexport interface TransactionValidationViewerMethods {\n /** Validates transactions with explicit chain qualification. */\n qualifiedValidateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionValidationConfig\n ): Promisable<ChainQualified<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>>\n}\n\n/** Moniker identifier for the TransactionValidationViewer provider. */\nexport const TransactionValidationViewerMoniker = 'TransactionValidationViewer' as const\n/** Type literal for the TransactionValidationViewer provider moniker. */\nexport type TransactionValidationViewerMoniker = typeof TransactionValidationViewerMoniker\n\n/**\n * Checks if transactions are valid (currently valid) according to protocol rules.\n * In the case that they are not valid, they may still become valid in the future.\n */\n\nexport interface TransactionValidationViewer extends TransactionValidationViewerMethods, Provider<TransactionValidationViewerMoniker> {\n /** Validates transaction with explicit chain qualification. */\n qualifiedValidateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionValidationConfig\n ): Promisable<ChainQualified<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>>\n\n /** Validates transaction and returns the validation result. */\n validateTransaction(\n block: SignedHydratedTransaction,\n config?: TransactionValidationConfig\n ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>\n\n /** Validates transactions and returns the validation result. */\n validateTransactions(\n blocks: SignedHydratedTransaction[],\n config?: TransactionValidationConfig\n ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type { Signed, XyoAddress } from '@xyo-network/sdk'\n\nimport type {\n AttoXL1, BlockBoundWitness, Provider, TransactionBoundWitness, Transfer, XL1BlockRange,\n} from '#protocol-model'\n\n/** Validated Transfer Balance History Item data. */\nexport type TransferBalanceHistoryItem = [\n Signed<BlockBoundWitness> /* block */,\n Signed<TransactionBoundWitness> | null,\n Transfer, /* the actual transfer payload */\n]\n/** Validated Transfer Pair data. */\nexport type TransferPair = [XyoAddress, XyoAddress]\n\n/** Operations exposed by the Transfer Balances Viewer contract. */\nexport interface TransferBalancesViewerMethods {\n /** Returns the result of the transfer balances query. */\n transferBalances(address: XyoAddress[]): Promisable<Partial<Record<XyoAddress, Record<XyoAddress, AttoXL1>>>>\n /** Returns the result of the transfer balances histories query. */\n transferBalancesHistories(address: XyoAddress[]): Promisable<Partial<Record<XyoAddress, Record<XyoAddress, TransferBalanceHistoryItem[]>>>>\n /** Returns the result of the transfer pair balances query. */\n transferPairBalances(address: TransferPair[]): Promisable<Partial<Record<XyoAddress, Record<XyoAddress, AttoXL1>>>>\n /** Returns the result of the transfer pair balances histories query. */\n transferPairBalancesHistories(address: TransferPair[]): Promisable<Partial<Record<XyoAddress, Record<XyoAddress, TransferBalanceHistoryItem[]>>>>\n}\n\n/** Moniker identifier for the TransferBalanceViewer provider. */\nexport const TransferBalanceViewerMoniker = 'TransferBalanceViewer' as const\n/** Type literal for the TransferBalanceViewer provider moniker. */\nexport type TransferBalanceViewerMoniker = typeof TransferBalanceViewerMoniker\n\n/** Viewer interface for reading TransferBalance data. */\nexport interface TransferBalanceViewer extends TransferBalancesViewerMethods, Provider<TransferBalanceViewerMoniker> {\n /** Returns the result of the transfer balance query. */\n transferBalance(address: XyoAddress): Promisable<AttoXL1>\n /** Returns the result of the transfer balance history query. */\n transferBalanceHistory(address: XyoAddress, range?: XL1BlockRange): Promisable<TransferBalanceHistoryItem[]>\n /** Returns the result of the transfer pair balance query. */\n transferPairBalance(address: TransferPair): Promisable<AttoXL1>\n /** Returns the result of the transfer pair balance history query. */\n transferPairBalanceHistory(address: TransferPair): Promisable<TransferBalanceHistoryItem[]>\n}\n", "import type { Hash, Promisable } from '@ariestools/sdk'\n\nimport type {\n HydratedBlockWithHashMeta, Provider, ProviderMoniker,\n} from '#protocol-model'\n\nimport type { BlockViewerMethods } from './Block.ts'\n\ntype ExtendableBlockViewerMethods = Omit<BlockViewerMethods, 'rate' | 'stepSizeRate' | 'timeDurationRate'>\n\n/** Operations exposed by the Windowed Block Viewer contract. */\nexport interface WindowedBlockViewerMethods extends ExtendableBlockViewerMethods {\n /** Returns the result of the blocks by transaction hashes query. */\n blocksByTransactionHashes(hashes: Hash[]): Promisable<HydratedBlockWithHashMeta[]>\n}\n\n/** Moniker identifier for the WindowedBlockViewer provider. */\nexport const WindowedBlockViewerMoniker = 'WindowedBlockViewer' as const\n/** Type literal for the WindowedBlockViewer provider moniker. */\nexport type WindowedBlockViewerMoniker = typeof WindowedBlockViewerMoniker\n\n/** Viewer interface for reading WindowedBlock data. */\nexport interface WindowedBlockViewer<TMoniker extends ProviderMoniker = WindowedBlockViewerMoniker> extends WindowedBlockViewerMethods, Provider<TMoniker> {\n /** Returns the result of the block by transaction hash query. */\n blockByTransactionHash(hash: Hash): Promisable<HydratedBlockWithHashMeta | null>\n}\n", "import type {\n AccountBalanceViewer,\n Provider,\n} from '#protocol-model'\n\nimport type { BlockViewer, BlockViewerMethods } from './Block.ts'\nimport type { FinalizationViewer } from './Finalization.ts'\nimport type { ForkViewerMethods } from './Fork.ts'\nimport type { MempoolViewer } from './Mempool.ts'\nimport type { NetworkStakeViewer } from './NetworkStake/index.ts'\nimport type { NetworkStakeStepRewardViewerMethods } from './NetworkStakeStepReward.ts'\nimport type { StakeViewer, StakeViewerMethods } from './Stake.ts'\nimport type { StakeTotalsViewer } from './StakeTotals.ts'\nimport type { StepViewer } from './StepViewer.ts'\nimport type { TimeSyncViewer } from './TimeSync.ts'\nimport type { TransactionViewer, TransactionViewerMethods } from './Transaction.ts'\n\n/** Operations exposed by the Xyo Viewer contract. */\nexport interface XyoViewerMethods extends\n NetworkStakeStepRewardViewerMethods, BlockViewerMethods,\n Omit<TransactionViewerMethods, 'byHash'>, Omit<\n StakeViewerMethods, 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'\n | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'\n >, ForkViewerMethods {\n}\n\n/** Public contract for Xyo Viewer Methods V2. */\nexport interface XyoViewerMethodsV2 {\n\n}\n\n/** Moniker identifier for the XyoViewer provider. */\nexport const XyoViewerMoniker = 'XyoViewer' as const\n/** Type literal for the XyoViewer provider moniker. */\nexport type XyoViewerMoniker = typeof XyoViewerMoniker\n\n/** Viewer interface for reading Xyo data. */\nexport interface XyoViewer extends Omit<BlockViewer, 'moniker'>, XyoViewerMethods,\n Omit<\n StakeViewerMethods, 'moniker' | 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'\n | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'\n >, Provider<XyoViewerMoniker> {\n /** `account` value exposed by this contract. */\n account: {\n balance: AccountBalanceViewer\n }\n /** XL1 block number associated with this value. */\n block: BlockViewer\n /** `finalization` value exposed by this contract. */\n finalization: FinalizationViewer\n /** Mempool mutation provider used by the runner. */\n mempool?: MempoolViewer\n /** Network-staking provider exposed by the connection. */\n networkStake: NetworkStakeViewer\n /** `stake` value exposed by this contract. */\n stake: StakeViewer\n /** `stakeTotals` value exposed by this contract. */\n stakeTotals?: StakeTotalsViewer\n /** `step` value exposed by this contract. */\n step: StepViewer\n /** `time` value exposed by this contract. */\n time: TimeSyncViewer\n /** `transaction` value exposed by this contract. */\n transaction: TransactionViewer\n}\n\n/** Public contract for Xyo Viewer V2. */\nexport interface XyoViewerV2 extends XyoViewerMethodsV2, Provider<XyoViewerMoniker> {\n /** `account` value exposed by this contract. */\n account: {\n balance: AccountBalanceViewer\n }\n /** XL1 block number associated with this value. */\n block: BlockViewer\n /** `finalization` value exposed by this contract. */\n finalization: FinalizationViewer\n /** Mempool mutation provider used by the runner. */\n mempool?: MempoolViewer\n /** Network-staking provider exposed by the connection. */\n networkStake: NetworkStakeViewer\n /** `stake` value exposed by this contract. */\n stake: StakeViewer\n /** `stakeTotals` value exposed by this contract. */\n stakeTotals?: StakeTotalsViewer\n /** `step` value exposed by this contract. */\n step: StepViewer\n /** `time` value exposed by this contract. */\n time: TimeSyncViewer\n /** `transaction` value exposed by this contract. */\n transaction: TransactionViewer\n}\n", "export * from './address/index.ts'\nexport * from './network/index.ts'\nexport * from './OpenTelemetryProviders.ts'\nexport * from './permissions/index.ts'\nexport * from './providers/index.ts'\nexport * from './repository/index.ts'\nexport * from './runners/index.ts'\nexport * from './status/index.ts'\nexport * from './summary/index.ts'\nexport * from './transaction/index.ts'\nexport * from './validation/index.ts'\nexport * from './viewers/index.ts'\nexport * from '#protocol-model'\n"],
5
+ "mappings": "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",
6
6
  "names": ["toAddress", "keccak256", "isDefined", "toAddress", "keccak256", "asSchema", "isPayloadOfSchemaType", "StepSizes", "asSchema", "elevatedPayloads", "isAllowedBlockPayload", "HashZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "z", "zodIsFactory", "zodAsFactory", "zodToFactory", "HashZod", "zodIsFactory", "z", "zodIsFactory", "z", "ChainQualifiedHeadConfigZod", "ChainQualifiedRangeConfigZod", "HashZod", "z", "HashZod", "z", "zodIsFactory", "z", "ChainQualifiedHeadConfigZod", "ChainQualifiedRangeConfigZod", "zodIsFactory", "z", "ChainQualifiedHeadConfigZod", "ChainQualifiedRangeConfigZod"]
7
7
  }