@xyo-network/xl1-protocol 1.25.33 → 1.26.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 (605) hide show
  1. package/dist/neutral/index.d.ts +5 -24
  2. package/dist/neutral/index.d.ts.map +1 -1
  3. package/dist/neutral/index.mjs +6 -2047
  4. package/dist/neutral/index.mjs.map +1 -1
  5. package/package.json +17 -14
  6. package/src/index.ts +5 -24
  7. package/LICENSE +0 -165
  8. package/README.md +0 -81
  9. package/dist/neutral/BlockNumber/BlockNumber.d.ts +0 -35
  10. package/dist/neutral/BlockNumber/BlockNumber.d.ts.map +0 -1
  11. package/dist/neutral/BlockNumber/EthBlockNumber.d.ts +0 -46
  12. package/dist/neutral/BlockNumber/EthBlockNumber.d.ts.map +0 -1
  13. package/dist/neutral/BlockNumber/Numberish.d.ts +0 -6
  14. package/dist/neutral/BlockNumber/Numberish.d.ts.map +0 -1
  15. package/dist/neutral/BlockNumber/XL1BlockNumber.d.ts +0 -46
  16. package/dist/neutral/BlockNumber/XL1BlockNumber.d.ts.map +0 -1
  17. package/dist/neutral/BlockNumber/index.d.ts +0 -5
  18. package/dist/neutral/BlockNumber/index.d.ts.map +0 -1
  19. package/dist/neutral/Initializable.d.ts +0 -9
  20. package/dist/neutral/Initializable.d.ts.map +0 -1
  21. package/dist/neutral/OpenTelemetryProviders.d.ts +0 -7
  22. package/dist/neutral/OpenTelemetryProviders.d.ts.map +0 -1
  23. package/dist/neutral/RecordKeyType.d.ts +0 -4
  24. package/dist/neutral/RecordKeyType.d.ts.map +0 -1
  25. package/dist/neutral/Step/StepHash.d.ts +0 -11
  26. package/dist/neutral/Step/StepHash.d.ts.map +0 -1
  27. package/dist/neutral/Step/StepIdentity.d.ts +0 -19
  28. package/dist/neutral/Step/StepIdentity.d.ts.map +0 -1
  29. package/dist/neutral/Step/StepSizes.d.ts +0 -12
  30. package/dist/neutral/Step/StepSizes.d.ts.map +0 -1
  31. package/dist/neutral/Step/index.d.ts +0 -4
  32. package/dist/neutral/Step/index.d.ts.map +0 -1
  33. package/dist/neutral/TransferPayload.d.ts +0 -79
  34. package/dist/neutral/TransferPayload.d.ts.map +0 -1
  35. package/dist/neutral/amount/ShiftedBigIntConfig.d.ts +0 -9
  36. package/dist/neutral/amount/ShiftedBigIntConfig.d.ts.map +0 -1
  37. package/dist/neutral/amount/XL1AmountInstance.d.ts +0 -16
  38. package/dist/neutral/amount/XL1AmountInstance.d.ts.map +0 -1
  39. package/dist/neutral/amount/index.d.ts +0 -3
  40. package/dist/neutral/amount/index.d.ts.map +0 -1
  41. package/dist/neutral/block/AllowedBlockPayload.d.ts +0 -40
  42. package/dist/neutral/block/AllowedBlockPayload.d.ts.map +0 -1
  43. package/dist/neutral/block/BlockBoundWitness.d.ts +0 -544
  44. package/dist/neutral/block/BlockBoundWitness.d.ts.map +0 -1
  45. package/dist/neutral/block/HydratedBlock.d.ts +0 -1466
  46. package/dist/neutral/block/HydratedBlock.d.ts.map +0 -1
  47. package/dist/neutral/block/index.d.ts +0 -6
  48. package/dist/neutral/block/index.d.ts.map +0 -1
  49. package/dist/neutral/block/signed/SignedBlockBoundWitness.d.ts +0 -168
  50. package/dist/neutral/block/signed/SignedBlockBoundWitness.d.ts.map +0 -1
  51. package/dist/neutral/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts +0 -286
  52. package/dist/neutral/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts.map +0 -1
  53. package/dist/neutral/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts +0 -343
  54. package/dist/neutral/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts.map +0 -1
  55. package/dist/neutral/block/signed/index.d.ts +0 -4
  56. package/dist/neutral/block/signed/index.d.ts.map +0 -1
  57. package/dist/neutral/block/unsigned/UnsignedBlockBoundWitness.d.ts +0 -168
  58. package/dist/neutral/block/unsigned/UnsignedBlockBoundWitness.d.ts.map +0 -1
  59. package/dist/neutral/block/unsigned/index.d.ts +0 -2
  60. package/dist/neutral/block/unsigned/index.d.ts.map +0 -1
  61. package/dist/neutral/chain/Chain.d.ts +0 -4
  62. package/dist/neutral/chain/Chain.d.ts.map +0 -1
  63. package/dist/neutral/chain/ChainAnalyzer.d.ts +0 -10
  64. package/dist/neutral/chain/ChainAnalyzer.d.ts.map +0 -1
  65. package/dist/neutral/chain/ChainId.d.ts +0 -4
  66. package/dist/neutral/chain/ChainId.d.ts.map +0 -1
  67. package/dist/neutral/chain/index.d.ts +0 -4
  68. package/dist/neutral/chain/index.d.ts.map +0 -1
  69. package/dist/neutral/fields/Addressable.d.ts +0 -6
  70. package/dist/neutral/fields/Addressable.d.ts.map +0 -1
  71. package/dist/neutral/fields/BlockDuration.d.ts +0 -25
  72. package/dist/neutral/fields/BlockDuration.d.ts.map +0 -1
  73. package/dist/neutral/fields/BlockNumber.d.ts +0 -32
  74. package/dist/neutral/fields/BlockNumber.d.ts.map +0 -1
  75. package/dist/neutral/fields/ChainReference.d.ts +0 -11
  76. package/dist/neutral/fields/ChainReference.d.ts.map +0 -1
  77. package/dist/neutral/fields/index.d.ts +0 -5
  78. package/dist/neutral/fields/index.d.ts.map +0 -1
  79. package/dist/neutral/map/AsyncMap.d.ts +0 -42
  80. package/dist/neutral/map/AsyncMap.d.ts.map +0 -1
  81. package/dist/neutral/map/MapType.d.ts +0 -17
  82. package/dist/neutral/map/MapType.d.ts.map +0 -1
  83. package/dist/neutral/map/SyncMap.d.ts +0 -41
  84. package/dist/neutral/map/SyncMap.d.ts.map +0 -1
  85. package/dist/neutral/map/index.d.ts +0 -4
  86. package/dist/neutral/map/index.d.ts.map +0 -1
  87. package/dist/neutral/model/AccountBalance.d.ts +0 -133
  88. package/dist/neutral/model/AccountBalance.d.ts.map +0 -1
  89. package/dist/neutral/model/ArrayBuffer.d.ts +0 -6
  90. package/dist/neutral/model/ArrayBuffer.d.ts.map +0 -1
  91. package/dist/neutral/model/BlockRange/BlockRange.d.ts +0 -32
  92. package/dist/neutral/model/BlockRange/BlockRange.d.ts.map +0 -1
  93. package/dist/neutral/model/BlockRange/EthBlockRange.d.ts +0 -32
  94. package/dist/neutral/model/BlockRange/EthBlockRange.d.ts.map +0 -1
  95. package/dist/neutral/model/BlockRange/Numberish.d.ts +0 -4
  96. package/dist/neutral/model/BlockRange/Numberish.d.ts.map +0 -1
  97. package/dist/neutral/model/BlockRange/Range.d.ts +0 -18
  98. package/dist/neutral/model/BlockRange/Range.d.ts.map +0 -1
  99. package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts +0 -32
  100. package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts.map +0 -1
  101. package/dist/neutral/model/BlockRange/index.d.ts +0 -5
  102. package/dist/neutral/model/BlockRange/index.d.ts.map +0 -1
  103. package/dist/neutral/model/BlockRate.d.ts +0 -290
  104. package/dist/neutral/model/BlockRate.d.ts.map +0 -1
  105. package/dist/neutral/model/ChainQualification.d.ts +0 -57
  106. package/dist/neutral/model/ChainQualification.d.ts.map +0 -1
  107. package/dist/neutral/model/Context/BaseContext.d.ts +0 -5
  108. package/dist/neutral/model/Context/BaseContext.d.ts.map +0 -1
  109. package/dist/neutral/model/Context/BaseContext.zod.d.ts +0 -26
  110. package/dist/neutral/model/Context/BaseContext.zod.d.ts.map +0 -1
  111. package/dist/neutral/model/Context/BlockContext.d.ts +0 -9
  112. package/dist/neutral/model/Context/BlockContext.d.ts.map +0 -1
  113. package/dist/neutral/model/Context/BlockContext.zod.d.ts +0 -33
  114. package/dist/neutral/model/Context/BlockContext.zod.d.ts.map +0 -1
  115. package/dist/neutral/model/Context/CachingContext.d.ts +0 -5
  116. package/dist/neutral/model/Context/CachingContext.d.ts.map +0 -1
  117. package/dist/neutral/model/Context/CachingContext.zod.d.ts +0 -10
  118. package/dist/neutral/model/Context/CachingContext.zod.d.ts.map +0 -1
  119. package/dist/neutral/model/Context/ChainContext.d.ts +0 -9
  120. package/dist/neutral/model/Context/ChainContext.d.ts.map +0 -1
  121. package/dist/neutral/model/Context/ChainContext.zod.d.ts +0 -115
  122. package/dist/neutral/model/Context/ChainContext.zod.d.ts.map +0 -1
  123. package/dist/neutral/model/Context/HeadContext.d.ts +0 -5
  124. package/dist/neutral/model/Context/HeadContext.d.ts.map +0 -1
  125. package/dist/neutral/model/Context/HeadContext.zod.d.ts +0 -70
  126. package/dist/neutral/model/Context/HeadContext.zod.d.ts.map +0 -1
  127. package/dist/neutral/model/Context/index.d.ts +0 -11
  128. package/dist/neutral/model/Context/index.d.ts.map +0 -1
  129. package/dist/neutral/model/GatewayName.d.ts +0 -6
  130. package/dist/neutral/model/GatewayName.d.ts.map +0 -1
  131. package/dist/neutral/model/HydratedTransaction.d.ts +0 -2300
  132. package/dist/neutral/model/HydratedTransaction.d.ts.map +0 -1
  133. package/dist/neutral/model/OpCodes.d.ts +0 -3
  134. package/dist/neutral/model/OpCodes.d.ts.map +0 -1
  135. package/dist/neutral/model/PayloadMap.d.ts +0 -10
  136. package/dist/neutral/model/PayloadMap.d.ts.map +0 -1
  137. package/dist/neutral/model/Permission.d.ts +0 -59
  138. package/dist/neutral/model/Permission.d.ts.map +0 -1
  139. package/dist/neutral/model/Position.d.ts +0 -13
  140. package/dist/neutral/model/Position.d.ts.map +0 -1
  141. package/dist/neutral/model/PositionId.d.ts +0 -6
  142. package/dist/neutral/model/PositionId.d.ts.map +0 -1
  143. package/dist/neutral/model/RangeMultipliers.d.ts +0 -10
  144. package/dist/neutral/model/RangeMultipliers.d.ts.map +0 -1
  145. package/dist/neutral/model/RewardShare.d.ts +0 -3
  146. package/dist/neutral/model/RewardShare.d.ts.map +0 -1
  147. package/dist/neutral/model/RewardsRangeOptions.d.ts +0 -16
  148. package/dist/neutral/model/RewardsRangeOptions.d.ts.map +0 -1
  149. package/dist/neutral/model/Sequence.d.ts +0 -15
  150. package/dist/neutral/model/Sequence.d.ts.map +0 -1
  151. package/dist/neutral/model/Stake.d.ts +0 -121
  152. package/dist/neutral/model/Stake.d.ts.map +0 -1
  153. package/dist/neutral/model/StakeShare.d.ts +0 -3
  154. package/dist/neutral/model/StakeShare.d.ts.map +0 -1
  155. package/dist/neutral/model/TimeDomain.d.ts +0 -4
  156. package/dist/neutral/model/TimeDomain.d.ts.map +0 -1
  157. package/dist/neutral/model/TransferPair.d.ts +0 -12
  158. package/dist/neutral/model/TransferPair.d.ts.map +0 -1
  159. package/dist/neutral/model/addresses.d.ts +0 -28
  160. package/dist/neutral/model/addresses.d.ts.map +0 -1
  161. package/dist/neutral/model/defaultRewardRatio.d.ts +0 -3
  162. package/dist/neutral/model/defaultRewardRatio.d.ts.map +0 -1
  163. package/dist/neutral/model/defaultTransactionFees.d.ts +0 -4
  164. package/dist/neutral/model/defaultTransactionFees.d.ts.map +0 -1
  165. package/dist/neutral/model/index.d.ts +0 -28
  166. package/dist/neutral/model/index.d.ts.map +0 -1
  167. package/dist/neutral/model/minTransactionFees.d.ts +0 -4
  168. package/dist/neutral/model/minTransactionFees.d.ts.map +0 -1
  169. package/dist/neutral/model/rewards.d.ts +0 -15
  170. package/dist/neutral/model/rewards.d.ts.map +0 -1
  171. package/dist/neutral/model/version.d.ts +0 -11
  172. package/dist/neutral/model/version.d.ts.map +0 -1
  173. package/dist/neutral/network/NetworkId.d.ts +0 -12
  174. package/dist/neutral/network/NetworkId.d.ts.map +0 -1
  175. package/dist/neutral/network/Status.d.ts +0 -26
  176. package/dist/neutral/network/Status.d.ts.map +0 -1
  177. package/dist/neutral/network/index.d.ts +0 -3
  178. package/dist/neutral/network/index.d.ts.map +0 -1
  179. package/dist/neutral/payload/StepIdentityPayload.d.ts +0 -20
  180. package/dist/neutral/payload/StepIdentityPayload.d.ts.map +0 -1
  181. package/dist/neutral/payload/elevatable/Bridge/BridgeCompletion.d.ts +0 -23
  182. package/dist/neutral/payload/elevatable/Bridge/BridgeCompletion.d.ts.map +0 -1
  183. package/dist/neutral/payload/elevatable/Bridge/BridgeDestinationObservation.d.ts +0 -33
  184. package/dist/neutral/payload/elevatable/Bridge/BridgeDestinationObservation.d.ts.map +0 -1
  185. package/dist/neutral/payload/elevatable/Bridge/BridgeDetails.d.ts +0 -45
  186. package/dist/neutral/payload/elevatable/Bridge/BridgeDetails.d.ts.map +0 -1
  187. package/dist/neutral/payload/elevatable/Bridge/BridgeIntent.d.ts +0 -31
  188. package/dist/neutral/payload/elevatable/Bridge/BridgeIntent.d.ts.map +0 -1
  189. package/dist/neutral/payload/elevatable/Bridge/BridgeSourceObservation.d.ts +0 -33
  190. package/dist/neutral/payload/elevatable/Bridge/BridgeSourceObservation.d.ts.map +0 -1
  191. package/dist/neutral/payload/elevatable/Bridge/index.d.ts +0 -6
  192. package/dist/neutral/payload/elevatable/Bridge/index.d.ts.map +0 -1
  193. package/dist/neutral/payload/elevatable/ChainStakeIntent.d.ts +0 -24
  194. package/dist/neutral/payload/elevatable/ChainStakeIntent.d.ts.map +0 -1
  195. package/dist/neutral/payload/elevatable/Executable.d.ts +0 -20
  196. package/dist/neutral/payload/elevatable/Executable.d.ts.map +0 -1
  197. package/dist/neutral/payload/elevatable/Hash.d.ts +0 -21
  198. package/dist/neutral/payload/elevatable/Hash.d.ts.map +0 -1
  199. package/dist/neutral/payload/elevatable/StepComplete.d.ts +0 -22
  200. package/dist/neutral/payload/elevatable/StepComplete.d.ts.map +0 -1
  201. package/dist/neutral/payload/elevatable/Time.d.ts +0 -71
  202. package/dist/neutral/payload/elevatable/Time.d.ts.map +0 -1
  203. package/dist/neutral/payload/elevatable/index.d.ts +0 -7
  204. package/dist/neutral/payload/elevatable/index.d.ts.map +0 -1
  205. package/dist/neutral/payload/index.d.ts +0 -3
  206. package/dist/neutral/payload/index.d.ts.map +0 -1
  207. package/dist/neutral/permissions/InvokerPermission.d.ts +0 -53
  208. package/dist/neutral/permissions/InvokerPermission.d.ts.map +0 -1
  209. package/dist/neutral/permissions/XyoPermissions.d.ts +0 -33
  210. package/dist/neutral/permissions/XyoPermissions.d.ts.map +0 -1
  211. package/dist/neutral/permissions/index.d.ts +0 -3
  212. package/dist/neutral/permissions/index.d.ts.map +0 -1
  213. package/dist/neutral/provider/Provider.d.ts +0 -6
  214. package/dist/neutral/provider/Provider.d.ts.map +0 -1
  215. package/dist/neutral/provider/ProviderMoniker.d.ts +0 -9
  216. package/dist/neutral/provider/ProviderMoniker.d.ts.map +0 -1
  217. package/dist/neutral/provider/index.d.ts +0 -3
  218. package/dist/neutral/provider/index.d.ts.map +0 -1
  219. package/dist/neutral/providers/DataLake/Provider.d.ts +0 -10
  220. package/dist/neutral/providers/DataLake/Provider.d.ts.map +0 -1
  221. package/dist/neutral/providers/DataLake/Runner.d.ts +0 -15
  222. package/dist/neutral/providers/DataLake/Runner.d.ts.map +0 -1
  223. package/dist/neutral/providers/DataLake/Viewer.d.ts +0 -14
  224. package/dist/neutral/providers/DataLake/Viewer.d.ts.map +0 -1
  225. package/dist/neutral/providers/DataLake/index.d.ts +0 -4
  226. package/dist/neutral/providers/DataLake/index.d.ts.map +0 -1
  227. package/dist/neutral/providers/TransactionHelper.d.ts +0 -9
  228. package/dist/neutral/providers/TransactionHelper.d.ts.map +0 -1
  229. package/dist/neutral/providers/XyoClient.d.ts +0 -23
  230. package/dist/neutral/providers/XyoClient.d.ts.map +0 -1
  231. package/dist/neutral/providers/XyoConnection.d.ts +0 -18
  232. package/dist/neutral/providers/XyoConnection.d.ts.map +0 -1
  233. package/dist/neutral/providers/XyoGateway.d.ts +0 -20
  234. package/dist/neutral/providers/XyoGateway.d.ts.map +0 -1
  235. package/dist/neutral/providers/XyoGatewayRunner.d.ts +0 -55
  236. package/dist/neutral/providers/XyoGatewayRunner.d.ts.map +0 -1
  237. package/dist/neutral/providers/XyoNetwork.d.ts +0 -7
  238. package/dist/neutral/providers/XyoNetwork.d.ts.map +0 -1
  239. package/dist/neutral/providers/XyoRunner.d.ts +0 -17
  240. package/dist/neutral/providers/XyoRunner.d.ts.map +0 -1
  241. package/dist/neutral/providers/index.d.ts +0 -9
  242. package/dist/neutral/providers/index.d.ts.map +0 -1
  243. package/dist/neutral/providers/signer/XyoSigner.d.ts +0 -25
  244. package/dist/neutral/providers/signer/XyoSigner.d.ts.map +0 -1
  245. package/dist/neutral/providers/signer/index.d.ts +0 -2
  246. package/dist/neutral/providers/signer/index.d.ts.map +0 -1
  247. package/dist/neutral/repository/Repository.d.ts +0 -27
  248. package/dist/neutral/repository/Repository.d.ts.map +0 -1
  249. package/dist/neutral/repository/TransactionReadRepository.d.ts +0 -7
  250. package/dist/neutral/repository/TransactionReadRepository.d.ts.map +0 -1
  251. package/dist/neutral/repository/TransactionRepository.d.ts +0 -13
  252. package/dist/neutral/repository/TransactionRepository.d.ts.map +0 -1
  253. package/dist/neutral/repository/TransactionRepositoryIterator.d.ts +0 -7
  254. package/dist/neutral/repository/TransactionRepositoryIterator.d.ts.map +0 -1
  255. package/dist/neutral/repository/TransactionWriteRepository.d.ts +0 -6
  256. package/dist/neutral/repository/TransactionWriteRepository.d.ts.map +0 -1
  257. package/dist/neutral/repository/index.d.ts +0 -6
  258. package/dist/neutral/repository/index.d.ts.map +0 -1
  259. package/dist/neutral/runners/Block.d.ts +0 -17
  260. package/dist/neutral/runners/Block.d.ts.map +0 -1
  261. package/dist/neutral/runners/Finalization.d.ts +0 -16
  262. package/dist/neutral/runners/Finalization.d.ts.map +0 -1
  263. package/dist/neutral/runners/Mempool.d.ts +0 -27
  264. package/dist/neutral/runners/Mempool.d.ts.map +0 -1
  265. package/dist/neutral/runners/index.d.ts +0 -4
  266. package/dist/neutral/runners/index.d.ts.map +0 -1
  267. package/dist/neutral/transaction/TransactionBoundWitness.d.ts +0 -2127
  268. package/dist/neutral/transaction/TransactionBoundWitness.d.ts.map +0 -1
  269. package/dist/neutral/transaction/TransactionFees.d.ts +0 -138
  270. package/dist/neutral/transaction/TransactionFees.d.ts.map +0 -1
  271. package/dist/neutral/transaction/TransactionGasCosts.d.ts +0 -38
  272. package/dist/neutral/transaction/TransactionGasCosts.d.ts.map +0 -1
  273. package/dist/neutral/transaction/index.d.ts +0 -4
  274. package/dist/neutral/transaction/index.d.ts.map +0 -1
  275. package/dist/neutral/validation/block/BlockValidationFunction.d.ts +0 -8
  276. package/dist/neutral/validation/block/BlockValidationFunction.d.ts.map +0 -1
  277. package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts +0 -22
  278. package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts.map +0 -1
  279. package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts +0 -17
  280. package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts.map +0 -1
  281. package/dist/neutral/validation/block/error.d.ts +0 -22
  282. package/dist/neutral/validation/block/error.d.ts.map +0 -1
  283. package/dist/neutral/validation/block/index.d.ts +0 -5
  284. package/dist/neutral/validation/block/index.d.ts.map +0 -1
  285. package/dist/neutral/validation/boundwitness/BoundWitnessValidationFunction.d.ts +0 -6
  286. package/dist/neutral/validation/boundwitness/BoundWitnessValidationFunction.d.ts.map +0 -1
  287. package/dist/neutral/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts +0 -8
  288. package/dist/neutral/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts.map +0 -1
  289. package/dist/neutral/validation/boundwitness/error.d.ts +0 -13
  290. package/dist/neutral/validation/boundwitness/error.d.ts.map +0 -1
  291. package/dist/neutral/validation/boundwitness/index.d.ts +0 -4
  292. package/dist/neutral/validation/boundwitness/index.d.ts.map +0 -1
  293. package/dist/neutral/validation/error.d.ts +0 -11
  294. package/dist/neutral/validation/error.d.ts.map +0 -1
  295. package/dist/neutral/validation/index.d.ts +0 -6
  296. package/dist/neutral/validation/index.d.ts.map +0 -1
  297. package/dist/neutral/validation/payload/InBlockPayloadValidationFunction.d.ts +0 -11
  298. package/dist/neutral/validation/payload/InBlockPayloadValidationFunction.d.ts.map +0 -1
  299. package/dist/neutral/validation/payload/error.d.ts +0 -12
  300. package/dist/neutral/validation/payload/error.d.ts.map +0 -1
  301. package/dist/neutral/validation/payload/index.d.ts +0 -3
  302. package/dist/neutral/validation/payload/index.d.ts.map +0 -1
  303. package/dist/neutral/validation/transaction/HydratedTransactionStateValidationFunction.d.ts +0 -19
  304. package/dist/neutral/validation/transaction/HydratedTransactionStateValidationFunction.d.ts.map +0 -1
  305. package/dist/neutral/validation/transaction/HydratedTransactionValidationFunction.d.ts +0 -18
  306. package/dist/neutral/validation/transaction/HydratedTransactionValidationFunction.d.ts.map +0 -1
  307. package/dist/neutral/validation/transaction/error.d.ts +0 -8
  308. package/dist/neutral/validation/transaction/error.d.ts.map +0 -1
  309. package/dist/neutral/validation/transaction/index.d.ts +0 -4
  310. package/dist/neutral/validation/transaction/index.d.ts.map +0 -1
  311. package/dist/neutral/viewers/Block.d.ts +0 -33
  312. package/dist/neutral/viewers/Block.d.ts.map +0 -1
  313. package/dist/neutral/viewers/BlockInvalidation.d.ts +0 -69
  314. package/dist/neutral/viewers/BlockInvalidation.d.ts.map +0 -1
  315. package/dist/neutral/viewers/BlockReward.d.ts +0 -16
  316. package/dist/neutral/viewers/BlockReward.d.ts.map +0 -1
  317. package/dist/neutral/viewers/BlockValidation.d.ts +0 -69
  318. package/dist/neutral/viewers/BlockValidation.d.ts.map +0 -1
  319. package/dist/neutral/viewers/ChainContract.d.ts +0 -24
  320. package/dist/neutral/viewers/ChainContract.d.ts.map +0 -1
  321. package/dist/neutral/viewers/ChainStakeViewer.d.ts +0 -11
  322. package/dist/neutral/viewers/ChainStakeViewer.d.ts.map +0 -1
  323. package/dist/neutral/viewers/Finalization.d.ts +0 -21
  324. package/dist/neutral/viewers/Finalization.d.ts.map +0 -1
  325. package/dist/neutral/viewers/Fork.d.ts +0 -9
  326. package/dist/neutral/viewers/Fork.d.ts.map +0 -1
  327. package/dist/neutral/viewers/Mempool.d.ts +0 -33
  328. package/dist/neutral/viewers/Mempool.d.ts.map +0 -1
  329. package/dist/neutral/viewers/NetworkStake/NetworkStakeViewer.d.ts +0 -17
  330. package/dist/neutral/viewers/NetworkStake/NetworkStakeViewer.d.ts.map +0 -1
  331. package/dist/neutral/viewers/NetworkStake/Rewards/ByPositionViewer.d.ts +0 -14
  332. package/dist/neutral/viewers/NetworkStake/Rewards/ByPositionViewer.d.ts.map +0 -1
  333. package/dist/neutral/viewers/NetworkStake/Rewards/ByStakerViewer.d.ts +0 -15
  334. package/dist/neutral/viewers/NetworkStake/Rewards/ByStakerViewer.d.ts.map +0 -1
  335. package/dist/neutral/viewers/NetworkStake/Rewards/ByStepViewer.d.ts +0 -15
  336. package/dist/neutral/viewers/NetworkStake/Rewards/ByStepViewer.d.ts.map +0 -1
  337. package/dist/neutral/viewers/NetworkStake/Rewards/Options.d.ts +0 -20
  338. package/dist/neutral/viewers/NetworkStake/Rewards/Options.d.ts.map +0 -1
  339. package/dist/neutral/viewers/NetworkStake/Rewards/TotalViewer.d.ts +0 -15
  340. package/dist/neutral/viewers/NetworkStake/Rewards/TotalViewer.d.ts.map +0 -1
  341. package/dist/neutral/viewers/NetworkStake/Rewards/Viewer.d.ts +0 -20
  342. package/dist/neutral/viewers/NetworkStake/Rewards/Viewer.d.ts.map +0 -1
  343. package/dist/neutral/viewers/NetworkStake/Rewards/index.d.ts +0 -8
  344. package/dist/neutral/viewers/NetworkStake/Rewards/index.d.ts.map +0 -1
  345. package/dist/neutral/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts +0 -7
  346. package/dist/neutral/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts.map +0 -1
  347. package/dist/neutral/viewers/NetworkStake/Rewards/templates/MethodsTemplate.d.ts +0 -10
  348. package/dist/neutral/viewers/NetworkStake/Rewards/templates/MethodsTemplate.d.ts.map +0 -1
  349. package/dist/neutral/viewers/NetworkStake/Rewards/templates/index.d.ts +0 -3
  350. package/dist/neutral/viewers/NetworkStake/Rewards/templates/index.d.ts.map +0 -1
  351. package/dist/neutral/viewers/NetworkStake/index.d.ts +0 -3
  352. package/dist/neutral/viewers/NetworkStake/index.d.ts.map +0 -1
  353. package/dist/neutral/viewers/NetworkStakeStepReward.d.ts +0 -42
  354. package/dist/neutral/viewers/NetworkStakeStepReward.d.ts.map +0 -1
  355. package/dist/neutral/viewers/Stake.d.ts +0 -39
  356. package/dist/neutral/viewers/Stake.d.ts.map +0 -1
  357. package/dist/neutral/viewers/StakeEvents.d.ts +0 -44
  358. package/dist/neutral/viewers/StakeEvents.d.ts.map +0 -1
  359. package/dist/neutral/viewers/StakeIntent.d.ts +0 -17
  360. package/dist/neutral/viewers/StakeIntent.d.ts.map +0 -1
  361. package/dist/neutral/viewers/StakeTotals.d.ts +0 -20
  362. package/dist/neutral/viewers/StakeTotals.d.ts.map +0 -1
  363. package/dist/neutral/viewers/StepStake.d.ts +0 -15
  364. package/dist/neutral/viewers/StepStake.d.ts.map +0 -1
  365. package/dist/neutral/viewers/StepViewer.d.ts +0 -39
  366. package/dist/neutral/viewers/StepViewer.d.ts.map +0 -1
  367. package/dist/neutral/viewers/TimeSync.d.ts +0 -22
  368. package/dist/neutral/viewers/TimeSync.d.ts.map +0 -1
  369. package/dist/neutral/viewers/Transaction.d.ts +0 -23
  370. package/dist/neutral/viewers/Transaction.d.ts.map +0 -1
  371. package/dist/neutral/viewers/TransactionInvalidation.d.ts +0 -67
  372. package/dist/neutral/viewers/TransactionInvalidation.d.ts.map +0 -1
  373. package/dist/neutral/viewers/TransactionValidation.d.ts +0 -68
  374. package/dist/neutral/viewers/TransactionValidation.d.ts.map +0 -1
  375. package/dist/neutral/viewers/TransferBalance.d.ts +0 -35
  376. package/dist/neutral/viewers/TransferBalance.d.ts.map +0 -1
  377. package/dist/neutral/viewers/WindowedBlock.d.ts +0 -19
  378. package/dist/neutral/viewers/WindowedBlock.d.ts.map +0 -1
  379. package/dist/neutral/viewers/XyoViewer.d.ts +0 -57
  380. package/dist/neutral/viewers/XyoViewer.d.ts.map +0 -1
  381. package/dist/neutral/viewers/index.d.ts +0 -24
  382. package/dist/neutral/viewers/index.d.ts.map +0 -1
  383. package/dist/neutral/xl1/AttoXL1.d.ts +0 -15
  384. package/dist/neutral/xl1/AttoXL1.d.ts.map +0 -1
  385. package/dist/neutral/xl1/FemtoXL1.d.ts +0 -15
  386. package/dist/neutral/xl1/FemtoXL1.d.ts.map +0 -1
  387. package/dist/neutral/xl1/MicroXL1.d.ts +0 -15
  388. package/dist/neutral/xl1/MicroXL1.d.ts.map +0 -1
  389. package/dist/neutral/xl1/MilliXL1.d.ts +0 -15
  390. package/dist/neutral/xl1/MilliXL1.d.ts.map +0 -1
  391. package/dist/neutral/xl1/NanoXL1.d.ts +0 -15
  392. package/dist/neutral/xl1/NanoXL1.d.ts.map +0 -1
  393. package/dist/neutral/xl1/PicoXL1.d.ts +0 -15
  394. package/dist/neutral/xl1/PicoXL1.d.ts.map +0 -1
  395. package/dist/neutral/xl1/XL1.d.ts +0 -15
  396. package/dist/neutral/xl1/XL1.d.ts.map +0 -1
  397. package/dist/neutral/xl1/XL1Units.d.ts +0 -10
  398. package/dist/neutral/xl1/XL1Units.d.ts.map +0 -1
  399. package/dist/neutral/xl1/index.d.ts +0 -9
  400. package/dist/neutral/xl1/index.d.ts.map +0 -1
  401. package/dist/neutral/xl1/isXL1Factory.d.ts +0 -12
  402. package/dist/neutral/xl1/isXL1Factory.d.ts.map +0 -1
  403. package/dist/neutral/xl1/xl1MaxValue.d.ts +0 -3
  404. package/dist/neutral/xl1/xl1MaxValue.d.ts.map +0 -1
  405. package/src/BlockNumber/BlockNumber.ts +0 -24
  406. package/src/BlockNumber/EthBlockNumber.ts +0 -25
  407. package/src/BlockNumber/Numberish.ts +0 -9
  408. package/src/BlockNumber/XL1BlockNumber.ts +0 -25
  409. package/src/BlockNumber/index.ts +0 -4
  410. package/src/Initializable.ts +0 -13
  411. package/src/OpenTelemetryProviders.ts +0 -7
  412. package/src/RecordKeyType.ts +0 -5
  413. package/src/Step/StepHash.ts +0 -10
  414. package/src/Step/StepIdentity.ts +0 -46
  415. package/src/Step/StepSizes.ts +0 -47
  416. package/src/Step/index.ts +0 -3
  417. package/src/TransferPayload.ts +0 -35
  418. package/src/amount/ShiftedBigIntConfig.ts +0 -8
  419. package/src/amount/XL1AmountInstance.ts +0 -19
  420. package/src/amount/index.ts +0 -2
  421. package/src/block/AllowedBlockPayload.ts +0 -73
  422. package/src/block/BlockBoundWitness.ts +0 -72
  423. package/src/block/HydratedBlock.ts +0 -135
  424. package/src/block/index.ts +0 -5
  425. package/src/block/signed/SignedBlockBoundWitness.ts +0 -22
  426. package/src/block/signed/SignedBlockBoundWitnessWithHashMeta.ts +0 -35
  427. package/src/block/signed/SignedBlockBoundWitnessWithStorageMeta.ts +0 -41
  428. package/src/block/signed/index.ts +0 -3
  429. package/src/block/unsigned/UnsignedBlockBoundWitness.ts +0 -22
  430. package/src/block/unsigned/index.ts +0 -1
  431. package/src/chain/Chain.ts +0 -7
  432. package/src/chain/ChainAnalyzer.ts +0 -11
  433. package/src/chain/ChainId.ts +0 -4
  434. package/src/chain/index.ts +0 -3
  435. package/src/fields/Addressable.ts +0 -7
  436. package/src/fields/BlockDuration.ts +0 -25
  437. package/src/fields/BlockNumber.ts +0 -40
  438. package/src/fields/ChainReference.ts +0 -11
  439. package/src/fields/index.ts +0 -4
  440. package/src/map/AsyncMap.ts +0 -38
  441. package/src/map/MapType.ts +0 -27
  442. package/src/map/SyncMap.ts +0 -38
  443. package/src/map/index.ts +0 -3
  444. package/src/model/AccountBalance.ts +0 -58
  445. package/src/model/ArrayBuffer.ts +0 -44
  446. package/src/model/BlockRange/BlockRange.ts +0 -43
  447. package/src/model/BlockRange/EthBlockRange.ts +0 -43
  448. package/src/model/BlockRange/Numberish.ts +0 -6
  449. package/src/model/BlockRange/Range.ts +0 -17
  450. package/src/model/BlockRange/XL1BlockRange.ts +0 -43
  451. package/src/model/BlockRange/index.ts +0 -4
  452. package/src/model/BlockRate.ts +0 -108
  453. package/src/model/ChainQualification.ts +0 -48
  454. package/src/model/Context/BaseContext.ts +0 -6
  455. package/src/model/Context/BaseContext.zod.ts +0 -36
  456. package/src/model/Context/BlockContext.ts +0 -12
  457. package/src/model/Context/BlockContext.zod.ts +0 -20
  458. package/src/model/Context/CachingContext.ts +0 -6
  459. package/src/model/Context/CachingContext.zod.ts +0 -4
  460. package/src/model/Context/ChainContext.ts +0 -12
  461. package/src/model/Context/ChainContext.zod.ts +0 -17
  462. package/src/model/Context/HeadContext.ts +0 -6
  463. package/src/model/Context/HeadContext.zod.ts +0 -13
  464. package/src/model/Context/index.ts +0 -10
  465. package/src/model/GatewayName.ts +0 -4
  466. package/src/model/HydratedTransaction.ts +0 -169
  467. package/src/model/OpCodes.ts +0 -2
  468. package/src/model/PayloadMap.ts +0 -13
  469. package/src/model/Permission.ts +0 -29
  470. package/src/model/Position.ts +0 -21
  471. package/src/model/PositionId.ts +0 -4
  472. package/src/model/RangeMultipliers.ts +0 -13
  473. package/src/model/RewardShare.ts +0 -2
  474. package/src/model/RewardsRangeOptions.ts +0 -13
  475. package/src/model/Sequence.ts +0 -21
  476. package/src/model/Stake.ts +0 -47
  477. package/src/model/StakeShare.ts +0 -2
  478. package/src/model/TimeDomain.ts +0 -8
  479. package/src/model/TransferPair.ts +0 -7
  480. package/src/model/addresses.ts +0 -36
  481. package/src/model/defaultRewardRatio.ts +0 -3
  482. package/src/model/defaultTransactionFees.ts +0 -11
  483. package/src/model/index.ts +0 -27
  484. package/src/model/minTransactionFees.ts +0 -10
  485. package/src/model/rewards.ts +0 -18
  486. package/src/model/spec/fixtures/index.ts +0 -2
  487. package/src/model/spec/fixtures/signedHydratedTransaction.ts +0 -58
  488. package/src/model/spec/fixtures/unsignedHydratedTransaction.ts +0 -62
  489. package/src/model/version.ts +0 -10
  490. package/src/network/NetworkId.ts +0 -6
  491. package/src/network/Status.ts +0 -30
  492. package/src/network/index.ts +0 -2
  493. package/src/payload/StepIdentityPayload.ts +0 -25
  494. package/src/payload/elevatable/Bridge/BridgeCompletion.ts +0 -28
  495. package/src/payload/elevatable/Bridge/BridgeDestinationObservation.ts +0 -38
  496. package/src/payload/elevatable/Bridge/BridgeDetails.ts +0 -69
  497. package/src/payload/elevatable/Bridge/BridgeIntent.ts +0 -36
  498. package/src/payload/elevatable/Bridge/BridgeSourceObservation.ts +0 -37
  499. package/src/payload/elevatable/Bridge/index.ts +0 -5
  500. package/src/payload/elevatable/ChainStakeIntent.ts +0 -45
  501. package/src/payload/elevatable/Executable.ts +0 -35
  502. package/src/payload/elevatable/Hash.ts +0 -25
  503. package/src/payload/elevatable/StepComplete.ts +0 -31
  504. package/src/payload/elevatable/Time.ts +0 -61
  505. package/src/payload/elevatable/index.ts +0 -6
  506. package/src/payload/index.ts +0 -2
  507. package/src/permissions/InvokerPermission.ts +0 -58
  508. package/src/permissions/XyoPermissions.ts +0 -41
  509. package/src/permissions/index.ts +0 -2
  510. package/src/provider/Provider.ts +0 -6
  511. package/src/provider/ProviderMoniker.ts +0 -15
  512. package/src/provider/index.ts +0 -2
  513. package/src/providers/DataLake/Provider.ts +0 -12
  514. package/src/providers/DataLake/Runner.ts +0 -16
  515. package/src/providers/DataLake/Viewer.ts +0 -16
  516. package/src/providers/DataLake/index.ts +0 -3
  517. package/src/providers/TransactionHelper.ts +0 -16
  518. package/src/providers/XyoClient.ts +0 -26
  519. package/src/providers/XyoConnection.ts +0 -19
  520. package/src/providers/XyoGateway.ts +0 -23
  521. package/src/providers/XyoGatewayRunner.ts +0 -76
  522. package/src/providers/XyoNetwork.ts +0 -8
  523. package/src/providers/XyoRunner.ts +0 -20
  524. package/src/providers/index.ts +0 -8
  525. package/src/providers/signer/XyoSigner.ts +0 -39
  526. package/src/providers/signer/index.ts +0 -1
  527. package/src/repository/Repository.ts +0 -32
  528. package/src/repository/TransactionReadRepository.ts +0 -6
  529. package/src/repository/TransactionRepository.ts +0 -12
  530. package/src/repository/TransactionRepositoryIterator.ts +0 -6
  531. package/src/repository/TransactionWriteRepository.ts +0 -5
  532. package/src/repository/index.ts +0 -5
  533. package/src/runners/Block.ts +0 -22
  534. package/src/runners/Finalization.ts +0 -19
  535. package/src/runners/Mempool.ts +0 -32
  536. package/src/runners/index.ts +0 -3
  537. package/src/transaction/TransactionBoundWitness.ts +0 -187
  538. package/src/transaction/TransactionFees.ts +0 -73
  539. package/src/transaction/TransactionGasCosts.ts +0 -42
  540. package/src/transaction/index.ts +0 -3
  541. package/src/validation/block/BlockValidationFunction.ts +0 -13
  542. package/src/validation/block/HydratedBlockStateValidationFunction.ts +0 -31
  543. package/src/validation/block/HydratedBlockValidationFunction.ts +0 -22
  544. package/src/validation/block/error.ts +0 -50
  545. package/src/validation/block/index.ts +0 -4
  546. package/src/validation/boundwitness/BoundWitnessValidationFunction.ts +0 -9
  547. package/src/validation/boundwitness/HydratedBoundWitnessValidationFunction.ts +0 -15
  548. package/src/validation/boundwitness/error.ts +0 -29
  549. package/src/validation/boundwitness/index.ts +0 -3
  550. package/src/validation/error.ts +0 -25
  551. package/src/validation/index.ts +0 -5
  552. package/src/validation/payload/InBlockPayloadValidationFunction.ts +0 -17
  553. package/src/validation/payload/error.ts +0 -24
  554. package/src/validation/payload/index.ts +0 -2
  555. package/src/validation/transaction/HydratedTransactionStateValidationFunction.ts +0 -27
  556. package/src/validation/transaction/HydratedTransactionValidationFunction.ts +0 -23
  557. package/src/validation/transaction/error.ts +0 -15
  558. package/src/validation/transaction/index.ts +0 -3
  559. package/src/viewers/Block.ts +0 -44
  560. package/src/viewers/BlockInvalidation.ts +0 -80
  561. package/src/viewers/BlockReward.ts +0 -19
  562. package/src/viewers/BlockValidation.ts +0 -80
  563. package/src/viewers/ChainContract.ts +0 -29
  564. package/src/viewers/ChainStakeViewer.ts +0 -14
  565. package/src/viewers/Finalization.ts +0 -24
  566. package/src/viewers/Fork.ts +0 -11
  567. package/src/viewers/Mempool.ts +0 -41
  568. package/src/viewers/NetworkStake/NetworkStakeViewer.ts +0 -20
  569. package/src/viewers/NetworkStake/Rewards/ByPositionViewer.ts +0 -18
  570. package/src/viewers/NetworkStake/Rewards/ByStakerViewer.ts +0 -20
  571. package/src/viewers/NetworkStake/Rewards/ByStepViewer.ts +0 -18
  572. package/src/viewers/NetworkStake/Rewards/Options.ts +0 -24
  573. package/src/viewers/NetworkStake/Rewards/TotalViewer.ts +0 -17
  574. package/src/viewers/NetworkStake/Rewards/Viewer.ts +0 -21
  575. package/src/viewers/NetworkStake/Rewards/index.ts +0 -7
  576. package/src/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.ts +0 -7
  577. package/src/viewers/NetworkStake/Rewards/templates/MethodsTemplate.ts +0 -10
  578. package/src/viewers/NetworkStake/Rewards/templates/index.ts +0 -2
  579. package/src/viewers/NetworkStake/index.ts +0 -4
  580. package/src/viewers/NetworkStakeStepReward.ts +0 -83
  581. package/src/viewers/Stake.ts +0 -45
  582. package/src/viewers/StakeEvents.ts +0 -55
  583. package/src/viewers/StakeIntent.ts +0 -22
  584. package/src/viewers/StakeTotals.ts +0 -22
  585. package/src/viewers/StepStake.ts +0 -28
  586. package/src/viewers/StepViewer.ts +0 -57
  587. package/src/viewers/TimeSync.ts +0 -27
  588. package/src/viewers/Transaction.ts +0 -27
  589. package/src/viewers/TransactionInvalidation.ts +0 -70
  590. package/src/viewers/TransactionValidation.ts +0 -71
  591. package/src/viewers/TransferBalance.ts +0 -39
  592. package/src/viewers/WindowedBlock.ts +0 -22
  593. package/src/viewers/XyoViewer.ts +0 -74
  594. package/src/viewers/index.ts +0 -23
  595. package/src/xl1/AttoXL1.ts +0 -19
  596. package/src/xl1/FemtoXL1.ts +0 -20
  597. package/src/xl1/MicroXL1.ts +0 -20
  598. package/src/xl1/MilliXL1.ts +0 -20
  599. package/src/xl1/NanoXL1.ts +0 -20
  600. package/src/xl1/PicoXL1.ts +0 -20
  601. package/src/xl1/XL1.ts +0 -20
  602. package/src/xl1/XL1Units.ts +0 -26
  603. package/src/xl1/index.ts +0 -8
  604. package/src/xl1/isXL1Factory.ts +0 -56
  605. package/src/xl1/xl1MaxValue.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/block/AllowedBlockPayload.ts","../../src/payload/elevatable/Bridge/BridgeDestinationObservation.ts","../../src/payload/elevatable/Bridge/BridgeDetails.ts","../../src/payload/elevatable/Bridge/BridgeIntent.ts","../../src/payload/elevatable/Bridge/BridgeSourceObservation.ts","../../src/payload/elevatable/ChainStakeIntent.ts","../../src/payload/elevatable/Executable.ts","../../src/payload/elevatable/Hash.ts","../../src/payload/elevatable/StepComplete.ts","../../src/payload/elevatable/Time.ts","../../src/payload/StepIdentityPayload.ts","../../src/Step/StepIdentity.ts","../../src/BlockNumber/BlockNumber.ts","../../src/BlockNumber/Numberish.ts","../../src/BlockNumber/EthBlockNumber.ts","../../src/BlockNumber/XL1BlockNumber.ts","../../src/Step/StepSizes.ts","../../src/transaction/TransactionBoundWitness.ts","../../src/chain/Chain.ts","../../src/transaction/TransactionFees.ts","../../src/xl1/isXL1Factory.ts","../../src/xl1/xl1MaxValue.ts","../../src/xl1/XL1Units.ts","../../src/xl1/AttoXL1.ts","../../src/xl1/FemtoXL1.ts","../../src/xl1/MicroXL1.ts","../../src/xl1/MilliXL1.ts","../../src/xl1/NanoXL1.ts","../../src/xl1/PicoXL1.ts","../../src/xl1/XL1.ts","../../src/transaction/TransactionGasCosts.ts","../../src/TransferPayload.ts","../../src/block/BlockBoundWitness.ts","../../src/block/HydratedBlock.ts","../../src/block/signed/SignedBlockBoundWitness.ts","../../src/block/signed/SignedBlockBoundWitnessWithHashMeta.ts","../../src/block/signed/SignedBlockBoundWitnessWithStorageMeta.ts","../../src/block/unsigned/UnsignedBlockBoundWitness.ts","../../src/fields/BlockNumber.ts","../../src/model/AccountBalance.ts","../../src/model/ChainQualification.ts","../../src/model/BlockRange/BlockRange.ts","../../src/model/BlockRange/EthBlockRange.ts","../../src/model/BlockRange/Range.ts","../../src/model/BlockRange/XL1BlockRange.ts","../../src/model/addresses.ts","../../src/model/ArrayBuffer.ts","../../src/model/BlockRate.ts","../../src/model/Context/BaseContext.zod.ts","../../src/model/Context/BlockContext.zod.ts","../../src/model/Context/CachingContext.zod.ts","../../src/model/Context/HeadContext.zod.ts","../../src/model/Context/ChainContext.zod.ts","../../src/model/defaultRewardRatio.ts","../../src/model/minTransactionFees.ts","../../src/model/defaultTransactionFees.ts","../../src/model/HydratedTransaction.ts","../../src/model/OpCodes.ts","../../src/model/Permission.ts","../../src/model/rewards.ts","../../src/model/RewardsRangeOptions.ts","../../src/model/Sequence.ts","../../src/model/Stake.ts","../../src/model/TimeDomain.ts","../../src/model/TransferPair.ts","../../src/model/version.ts","../../src/network/Status.ts","../../src/provider/ProviderMoniker.ts","../../src/providers/DataLake/Runner.ts","../../src/providers/DataLake/Viewer.ts","../../src/providers/signer/XyoSigner.ts","../../src/providers/XyoConnection.ts","../../src/providers/XyoGateway.ts","../../src/providers/XyoGatewayRunner.ts","../../src/providers/XyoRunner.ts","../../src/runners/Block.ts","../../src/runners/Finalization.ts","../../src/runners/Mempool.ts","../../src/validation/error.ts","../../src/validation/block/error.ts","../../src/validation/boundwitness/error.ts","../../src/validation/payload/error.ts","../../src/validation/transaction/error.ts","../../src/viewers/Block.ts","../../src/viewers/BlockInvalidation.ts","../../src/viewers/BlockReward.ts","../../src/viewers/BlockValidation.ts","../../src/viewers/ChainContract.ts","../../src/viewers/ChainStakeViewer.ts","../../src/viewers/Finalization.ts","../../src/viewers/Mempool.ts","../../src/viewers/NetworkStake/NetworkStakeViewer.ts","../../src/viewers/NetworkStake/Rewards/ByPositionViewer.ts","../../src/viewers/NetworkStake/Rewards/ByStakerViewer.ts","../../src/viewers/NetworkStake/Rewards/ByStepViewer.ts","../../src/viewers/NetworkStake/Rewards/TotalViewer.ts","../../src/viewers/NetworkStake/Rewards/Viewer.ts","../../src/viewers/NetworkStakeStepReward.ts","../../src/viewers/Stake.ts","../../src/viewers/StakeEvents.ts","../../src/viewers/StakeTotals.ts","../../src/viewers/StepStake.ts","../../src/viewers/StepViewer.ts","../../src/viewers/TimeSync.ts","../../src/viewers/Transaction.ts","../../src/viewers/TransactionInvalidation.ts","../../src/viewers/TransactionValidation.ts","../../src/viewers/TransferBalance.ts","../../src/viewers/WindowedBlock.ts","../../src/viewers/XyoViewer.ts"],"sourcesContent":["import { zodIsFactory } from '@xylabs/sdk-js'\nimport type {\n Schema, SchemaPayload, WithStorageMeta,\n} from '@xyo-network/sdk-js'\nimport {\n BoundWitnessSchema, isHashMeta, isSchemaPayload, SchemaSchema,\n} from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nimport type {\n BridgeDestinationObservation, BridgeIntent, BridgeSourceObservation, ChainStakeIntent, HashPayload, StepComplete, TimePayload,\n} from '../payload/index.ts'\nimport {\n BridgeDestinationObservationSchema, BridgeIntentSchema, BridgeSourceObservationSchema, ChainStakeIntentSchema, HashSchema,\n isBridgeDestinationObservation, isBridgeIntent, isBridgeSourceObservation, isChainStakeIntent, isHashPayload, isTimePayload, StepCompleteSchema,\n TimeSchema,\n} from '../payload/index.ts'\nimport { isTransactionBoundWitness, type TransactionBoundWitness } from '../transaction/index.ts'\nimport {\n isTransfer, type Transfer, TransferSchema,\n} from '../TransferPayload.ts'\n\n/** AllowedBlockPayload type. */\nexport type AllowedBlockPayload\n = | BridgeDestinationObservation\n | BridgeIntent\n | BridgeSourceObservation\n | ChainStakeIntent\n | HashPayload\n | SchemaPayload\n | StepComplete\n | TimePayload\n | TransactionBoundWitness\n | Transfer\n\n/** AllowedBlockPayloadSchemas constant. */\nexport const AllowedBlockPayloadSchemas = [\n BoundWitnessSchema,\n BridgeDestinationObservationSchema,\n BridgeIntentSchema,\n BridgeSourceObservationSchema,\n ChainStakeIntentSchema,\n HashSchema,\n SchemaSchema,\n StepCompleteSchema,\n TimeSchema,\n TransferSchema,\n] satisfies Schema[]\n\n/** AllowedBlockPayloadSchemaZod constant. */\nexport const AllowedBlockPayloadSchemaZod = z.enum(AllowedBlockPayloadSchemas)\n/** Schema type for AllowedBlockPayload payloads. */\nexport type AllowedBlockPayloadSchema = z.infer<typeof AllowedBlockPayloadSchemaZod>\n/** Schema identifier for isAllowedBlockPayload payloads. */\nexport const isAllowedBlockPayloadSchema = zodIsFactory(AllowedBlockPayloadSchemaZod)\n\n/** Type guard that checks if a value is a valid AllowedBlockPayload. */\nexport const isAllowedBlockPayload = <T>(value: T): value is AllowedBlockPayload & T => {\n return isTransfer(value)\n || isBridgeDestinationObservation(value)\n || isBridgeIntent(value)\n || isBridgeSourceObservation(value)\n || isChainStakeIntent(value)\n || isHashPayload(value)\n || isSchemaPayload(value)\n || isTimePayload(value)\n || isTransactionBoundWitness(value)\n}\n\n/** Type guard that checks if a value is a valid AllowedBlockPayloadWithHashMeta. */\nexport const isAllowedBlockPayloadWithHashMeta = <T>(value: T): value is WithStorageMeta<AllowedBlockPayload & T> => {\n return isAllowedBlockPayload(value) && isHashMeta(value)\n}\n","import { AsObjectFactory, HexZod } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk-js'\nimport type { z } from 'zod'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeDestinationObservation payloads. */\nexport const BridgeDestinationObservationSchema = asSchema('network.xyo.chain.bridge.observation.destination', true)\n/** Schema type for BridgeDestinationObservation payloads. */\nexport type BridgeDestinationObservationSchema = typeof BridgeDestinationObservationSchema\n\n/**\n * Represents an observation that confirms a bridge action occurred on the destination chain.\n */\nexport const BridgeDestinationObservationFieldsZod = BridgeDetailsFieldsZod.extend({\n /**\n * Destination chain confirmation\n */\n destConfirmation: HexZod.optional().describe('Destination chain confirmation'),\n})\n\n/** BridgeDestinationObservationFields type. */\nexport type BridgeDestinationObservationFields = z.infer<typeof BridgeDestinationObservationFieldsZod>\n\n/**\n * Represents an observation that confirms a bridge action occurred on the destination chain.\n */\nexport type BridgeDestinationObservation = Payload<BridgeDestinationObservationFields, BridgeDestinationObservationSchema>\n\n/** Type guard that checks if a value is a valid BridgeDestinationObservation. */\nexport const isBridgeDestinationObservation = isPayloadOfZodType<BridgeDestinationObservation>(\n BridgeDestinationObservationFieldsZod,\n BridgeDestinationObservationSchema,\n)\n\n/** Converts a value to BridgeDestinationObservation, throwing if invalid. */\nexport const asBridgeDestinationObservation = AsObjectFactory.create(isBridgeDestinationObservation)\n","import { HexZod } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\n/**\n * Represents a transfer destination\n */\nexport const BridgeDetailsDestinationFieldsZod = z.object({\n /**\n * Destination network\n */\n dest: HexZod.describe('The destination network identifier'),\n /**\n * Destination address (EOA or contract)\n */\n destAddress: HexZod.describe('The destination address (EOA or contract)'),\n /**\n * Token amount to bridge to destination\n */\n destAmount: HexZod.describe('The token amount to bridge to destination'),\n /**\n * Token being bridged to\n */\n destToken: HexZod.describe('The token being bridged to'),\n})\n\n/**\n * Represents a transfer destination\n */\nexport type BridgeDetailsDestinationFields = z.infer<typeof BridgeDetailsDestinationFieldsZod>\n\n/**\n * Represents a transfer source\n */\nexport const BridgeDetailsSourceFieldsZod = z.object({\n /**\n * Source network\n */\n src: HexZod.describe('The source network identifier'),\n\n /**\n * Source address (EOA or contract)\n */\n srcAddress: HexZod.describe('The source address (EOA or contract)'),\n /**\n * Token amount to bridge from source\n */\n srcAmount: HexZod.describe('The token amount to bridge from source'),\n /**\n * Token being bridged from\n */\n srcToken: HexZod.describe('The token being bridged from'),\n})\n\n/**\n * Represents a transfer source\n */\nexport type BridgeDetailsSourceFields = z.infer<typeof BridgeDetailsSourceFieldsZod>\n\n/**\n * Represents a transfer from a source chain/token/address/amount to a destination chain/token/address/amount.\n */\nexport const BridgeDetailsFieldsZod = BridgeDetailsSourceFieldsZod.extend(\n BridgeDetailsDestinationFieldsZod.shape,\n)\n\n/**\n * Represents a transfer from a source chain/token/address/amount to a destination chain/token/address/amount.\n */\nexport type BridgeDetailsFields = z.infer<typeof BridgeDetailsFieldsZod>\n","import { AsObjectFactory } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeIntent payloads. */\nexport const BridgeIntentSchema = asSchema('network.xyo.chain.bridge.intent', true)\n/** Schema type for BridgeIntent payloads. */\nexport type BridgeIntentSchema = typeof BridgeIntentSchema\n\n/**\n * Represents an Address's intent to initiate a token bridge.\n */\nexport const BridgeIntentFieldsZod = BridgeDetailsFieldsZod.extend({\n /**\n * Unique identifier for replay protection\n */\n nonce: z.string().describe('Unique identifier for replay protection'),\n})\n\n/** BridgeIntentFields type. */\nexport type BridgeIntentFields = z.infer<typeof BridgeIntentFieldsZod>\n\n/** BridgeIntent type. */\nexport type BridgeIntent = Payload<BridgeIntentFields, BridgeIntentSchema>\n\n/** Type guard that checks if a value is a valid BridgeIntent. */\nexport const isBridgeIntent = isPayloadOfZodType<BridgeIntent>(\n BridgeIntentFieldsZod,\n BridgeIntentSchema,\n)\n\n/** Converts a value to BridgeIntent, throwing if invalid. */\nexport const asBridgeIntent = AsObjectFactory.create(isBridgeIntent)\n","import { AsObjectFactory, HexZod } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk-js'\nimport type { z } from 'zod'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeSourceObservation payloads. */\nexport const BridgeSourceObservationSchema = asSchema('network.xyo.chain.bridge.observation.source', true)\n/** Schema type for BridgeSourceObservation payloads. */\nexport type BridgeSourceObservationSchema = typeof BridgeSourceObservationSchema\n\n/**\n * Represents an observation that confirms a bridge action occurred on the source chain.\n */\nexport const BridgeSourceObservationFieldsZod = BridgeDetailsFieldsZod.extend({\n /**\n * Source chain confirmation\n */\n srcConfirmation: HexZod.optional().describe('Source chain confirmation'),\n})\n\n/** BridgeSourceObservationFields type. */\nexport type BridgeSourceObservationFields = z.infer<typeof BridgeSourceObservationFieldsZod>\n/**\n * Represents an observation that confirms a bridge action occurred on the source chain.\n */\nexport type BridgeSourceObservation = Payload<BridgeSourceObservationFields, BridgeSourceObservationSchema>\n\n/** Type guard that checks if a value is a valid BridgeSourceObservation. */\nexport const isBridgeSourceObservation = isPayloadOfZodType<BridgeSourceObservation>(\n BridgeSourceObservationFieldsZod,\n BridgeSourceObservationSchema,\n)\n\n/** Converts a value to BridgeSourceObservation, throwing if invalid. */\nexport const asBridgeSourceObservation = AsObjectFactory.create(isBridgeSourceObservation)\n","import { AsObjectFactory } from '@xylabs/sdk-js'\nimport type { Payload, WithStorageMeta } from '@xyo-network/sdk-js'\nimport {\n asSchema, isPayloadOfSchemaType, isStorageMeta,\n} from '@xyo-network/sdk-js'\n\nimport type { BlockDuration } from '../../fields/index.ts'\nimport type { FromFields } from './Executable.ts'\n\n/** Schema identifier for chain stake intent payloads. */\nexport const ChainStakeIntentSchema = asSchema('network.xyo.chain.stake.intent', true)\n/** Schema type for ChainStakeIntent payloads. */\nexport type ChainStakeIntentSchema = typeof ChainStakeIntentSchema\n\n/** The type of staking intent, currently limited to 'producer'. */\nexport type Intent = 'producer' // | 'bank'\n\n/** Fields for a chain stake intent, including the staking intent type and source address. */\nexport interface ChainStakeIntentFields extends BlockDuration, FromFields {\n /*\n * The intent of the staking\n */\n intent: Intent\n}\n\n/** A payload representing an intent to stake on the chain. */\nexport type ChainStakeIntent = Payload<ChainStakeIntentFields, ChainStakeIntentSchema>\n\n/** Type guard that checks whether a value is a valid ChainStakeIntent with non-negative nbf and exp. */\nexport const isChainStakeIntent = (x?: unknown | null): x is ChainStakeIntent => {\n return isPayloadOfSchemaType<ChainStakeIntent>(ChainStakeIntentSchema)(x)\n && asNonNegativeInteger(x.nbf) !== undefined\n && asNonNegativeInteger(x.exp) !== undefined\n}\n/** Casts a value to ChainStakeIntent or returns undefined if it does not match. */\nexport const asChainStakeIntent = AsObjectFactory.create(isChainStakeIntent)\n\n/** Type guard that checks whether a value is a ChainStakeIntent with storage metadata. */\nexport const isChainStakeIntentWithStorageMeta = (x?: unknown | null): x is WithStorageMeta<ChainStakeIntent> => {\n return isChainStakeIntent(x) && isStorageMeta(x)\n}\n\nconst asNonNegativeInteger = (num: number) => {\n return (Number.isInteger(num) && num >= 0) ? num : undefined\n}\n","import type { Address, EmptyObject } from '@xylabs/sdk-js'\nimport { isAnyPayload } from '@xyo-network/sdk-js'\n\n/** FromFields interface. */\nexport interface FromFields {\n // the address that is treated as the source of this action\n from: Address\n}\n\n/** hasFrom constant. */\nexport const hasFrom = (value: unknown): value is FromFields => {\n return (value as FromFields).from !== undefined\n}\n\n/** ExecutableFields interface. */\nexport interface ExecutableFields {\n script: string[]\n}\n\n/** Executable type. */\nexport type Executable<T extends EmptyObject = EmptyObject> = T & ExecutableFields\n/** OptionalExecutable type. */\nexport type OptionalExecutable<T extends EmptyObject = EmptyObject> = T & Partial<ExecutableFields>\n\n/** Type guard that checks if a value is a valid Executable. */\nexport const isExecutable = <T extends EmptyObject>(value: T | undefined): value is Executable<T> => {\n return isAnyPayload(value) && Array.isArray((value as unknown as ExecutableFields).script)\n}\n\n/** Converts a value to Executable, throwing if invalid. */\nexport const asExecutable = <T extends EmptyObject>(value: T | undefined): Executable<T> | undefined => {\n return isExecutable(value)\n ? value as unknown as Executable<T>\n : undefined\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport { AsObjectFactory } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\n/** Schema identifier for hash payloads. */\nexport const HashSchema = asSchema('network.xyo.hash', true)\n/** Schema type for Hash payloads. */\nexport type HashSchema = typeof HashSchema\n\n/** Fields for a hash payload containing a single hash value. */\nexport interface HashFields {\n hash: Hash\n}\n\n/** A payload containing a hash value. */\nexport type HashPayload = Payload<HashFields, HashSchema>\n\n/** Type guard that checks whether a value is a HashPayload. */\nexport const isHashPayload = isPayloadOfSchemaType<HashPayload>(HashSchema)\n\n/** Casts a value to HashPayload or returns undefined if it does not match. */\nexport const asHashPayload = AsObjectFactory.create(isHashPayload)\n/** Casts a value to HashPayload with storage metadata or returns undefined. */\nexport const asHashPayloadWithStorageMeta = AsObjectFactory.create(isHashPayload)\n","import type { Hash } from '@xylabs/sdk-js'\nimport { AsObjectFactory } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\n\nimport type { FromFields } from './Executable.ts'\n\n/** Schema identifier for StepComplete payloads. */\nexport const StepCompleteSchema = asSchema('network.xyo.chain.step.complete', true)\n/** Schema type for StepComplete payloads. */\nexport type StepCompleteSchema = typeof StepCompleteSchema\n\n/* This records the completion of a step in the network - needed for network staking rewards */\n/* We will only write these for steps that are eligible for rewards Step 3 (2311) */\n\nexport interface StepCompleteFields extends FromFields {\n block: number /* The block number on the XL1 network */\n hash: Hash /* The Step Hash */\n size: number /* The size of the step */\n stakeBlock: number /* The block number on ethereum or other staking system */\n}\n\n// if this payload is included in a boundwitness, it needs to be available for inspection to be included in block\n/** StepComplete type. */\nexport type StepComplete = Payload<StepCompleteFields, StepCompleteSchema>\n\n/** Type guard that checks if a value is a valid StepComplete. */\nexport const isStepComplete = isPayloadOfSchemaType<StepComplete>(StepCompleteSchema)\n\n/** Converts a value to StepComplete, throwing if invalid. */\nexport const asStepComplete = AsObjectFactory.create(isStepComplete)\n","import { AsObjectFactory, HashZod } from '@xylabs/sdk-js'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\n// xl1 = xl1 block number, epoch = epoch number, ethereum = ethereum block number\n/** Supported time domains: xl1 block number, epoch timestamp, or ethereum block number. */\nexport type TimeDomain = 'xl1' | 'epoch' | 'ethereum'\n\n/** Schema identifier for time payloads. */\nexport const TimeSchema = asSchema('network.xyo.time', true)\n/** Schema type for Time payloads. */\nexport type TimeSchema = typeof TimeSchema\n\n/** Zod schema for XL1 time fields including block number and hash. */\nexport const XL1TimeFieldsZod = z.object({\n // block number\n xl1: z.number().optional(),\n // block hash\n xl1Hash: HashZod.optional(),\n})\n\n/** Zod schema for Ethereum time fields including block number and hash. */\nexport const EthereumTimeFieldsZod = z.object({\n // block number\n ethereum: z.number().optional(),\n // block hash\n ethereumHash: HashZod.optional(),\n})\n\n/** Zod schema for epoch time fields in milliseconds. */\nexport const EpochTimeFieldsZod = z.object({\n // in milliseconds\n epoch: z.number(),\n})\n\n/** Combined Zod schema for all time fields across XL1, Ethereum, and epoch domains. */\nexport const TimeFieldsZod = XL1TimeFieldsZod.extend(XL1TimeFieldsZod.shape).extend(EthereumTimeFieldsZod.shape).extend(EpochTimeFieldsZod.shape)\n\n/** Zod schema for a complete time payload including schema and all time fields. */\nexport const TimePayloadZod = PayloadZodOfSchema(TimeSchema).extend(TimeFieldsZod.shape)\n\n/** A payload containing time information across multiple domains. */\nexport type TimePayload = z.infer<typeof TimePayloadZod>\n\n// to prevent scaling problems, we use double the current time as a max safe epoch\n/** Checks whether a value is a safe epoch timestamp (less than double the current time). */\nexport const isSafeEpoch = (value: unknown): value is number => {\n return typeof value === 'number' && value < 2 * Date.now()\n}\n\n/** Type guard that checks whether a value is a valid TimePayload with a safe epoch. */\nexport const isTimePayload = (value: unknown): value is TimePayload => {\n return isPayloadOfSchemaType<TimePayload>(TimeSchema)(value) && isSafeEpoch(value.epoch)\n}\n\n/** Casts a value to TimePayload or returns undefined if it does not match. */\nexport const asTimePayload = AsObjectFactory.create(isTimePayload)\n/** Casts a value to TimePayload with storage metadata or returns undefined. */\nexport const asTimePayloadWithStorageMeta = AsObjectFactory.create(isTimePayload)\n","import { AsObjectFactory } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk-js'\nimport type { z } from 'zod'\n\nimport { StepIdentityZod } from '../Step/index.ts'\n\n/** Schema identifier for step identity payloads. */\nexport const StepIdentitySchema = asSchema('network.xyo.chain.step.identity', true)\n/** Schema type for StepIdentity payloads. */\nexport type StepIdentitySchema = typeof StepIdentitySchema\n\n/** Fields for a step identity, inferred from the StepIdentityZod schema. */\nexport type StepIdentityFields = z.infer<typeof StepIdentityZod>\n\n/**\n * A Step Identity Payload\n */\nexport type StepIdentityPayload = Payload<StepIdentityFields, StepIdentitySchema>\n\n/** Type guard that checks whether a value is a StepIdentityPayload. */\nexport const isStepIdentityPayload = isPayloadOfZodType<StepIdentityPayload>(StepIdentityZod, StepIdentitySchema)\n\n/** Casts a value to StepIdentityPayload or returns undefined if it does not match. */\nexport const asStepIdentityPayload = AsObjectFactory.create(isStepIdentityPayload)\n","import { type Brand, isUndefined } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport { toXL1BlockNumber, XL1BlockNumberZod } from '../BlockNumber/index.ts'\n\n/** Zod schema for a step identity combining a block number and step index */\nexport const StepIdentityZod = z.object({\n block: XL1BlockNumberZod.describe('The block number at which the step occurs'),\n step: z.number().int().nonnegative().describe('The index of the step into the StepSize array'),\n})\n/** Identifies a specific step by its block number and step index */\nexport type StepIdentity = z.infer<typeof StepIdentityZod>\n\n/** @deprecated use StepIdentity instead */\nexport interface StepContext extends StepIdentity {}\n\n/** Branded string representing a block number and step index separated by a pipe character */\nexport type StepIdentityString = Brand<string, { readonly __stepIdentityString: true }>\n\nfunction tryParseInt(value: string): number | undefined {\n // Prevent coercion of empty strings to 0\n if (value === '') return undefined\n // Parse number\n const num = Number(value)\n // Check if integer\n return Number.isInteger(num) ? num : undefined\n}\n\n/** Parses a pipe-separated string into a StepIdentity, returning undefined if invalid */\nexport const asStepIdentity = (stepIdentityString: string): StepIdentity | undefined => {\n try {\n const [blockNumberString, stepString] = stepIdentityString.split('|')\n if (isUndefined(blockNumberString) || isUndefined(stepString)) {\n return undefined\n }\n const step = tryParseInt(stepString)\n const block = toXL1BlockNumber(blockNumberString)\n if (isUndefined(block) || isUndefined(step)) {\n return undefined\n }\n\n return { block, step }\n } catch {\n return undefined\n }\n}\n","import { type Brand } from '@xylabs/sdk-js'\nimport { zodAsFactory, zodToFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport { NumberishZod } from './Numberish.ts'\n\n/** Branded number type representing a generic block number */\nexport type BlockNumber = Brand<number, { readonly __blockNumber: true }>\n\n/** Zod schema that validates and brands a number as a BlockNumber */\nexport const BlockNumberZod = z.number().transform(v => v as BlockNumber)\n/** Zod schema that coerces a Numberish value into a BlockNumber */\nexport const BlockNumberishZod = NumberishZod.transform(v => v as BlockNumber)\n\n/** Input type for BlockNumberishZod, accepting number, string, or bigint */\nexport type BlockNumberish = z.input<typeof BlockNumberishZod>\n\n/** Casts a number to BlockNumber, returning undefined if validation fails */\nexport const asBlockNumber = zodAsFactory<BlockNumber>(BlockNumberZod, 'asBlockNumber')\n/** Coerces a Numberish value to BlockNumber, returning undefined if conversion fails */\nexport const toBlockNumber = zodToFactory<BlockNumber>(BlockNumberishZod, 'toBlockNumber')\n\n/** The zero block number constant */\nexport const BLOCK_NUMBER_ZERO = asBlockNumber(0)\n","import { z } from 'zod'\n\n/** Zod schema that accepts number, string, or bigint and coerces to number */\nexport const NumberishZod = z.union([z.number(), z.string(), z.bigint()])\n .transform(v => (typeof v === 'bigint' ? Number(v) : typeof v === 'string' ? Number(v) : v))\n .pipe(z.number())\n\n/** A value that can be coerced to a number: number, string, or bigint */\nexport type Numberish = z.input<typeof NumberishZod>\n","import { type Brand } from '@xylabs/sdk-js'\nimport { zodAsFactory, zodToFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { BlockNumber } from './BlockNumber.ts'\nimport { BlockNumberishZod } from './BlockNumber.ts'\n\n/** Branded type representing a block number on the Ethereum chain */\nexport type EthBlockNumber = Brand<BlockNumber, { readonly __ethBlockNumber: true }>\n\n/** Zod schema that validates and brands a number as an EthBlockNumber */\nexport const EthBlockNumberZod = z.number().transform(v => v as EthBlockNumber)\n/** Zod schema that coerces a Numberish value into an EthBlockNumber */\nexport const EthBlockNumberishZod = BlockNumberishZod.transform(v => v as EthBlockNumber)\n\n/** Input type for EthBlockNumberishZod, accepting number, string, or bigint */\nexport type EthBlockNumberish = z.input<typeof EthBlockNumberishZod>\n\n/** Casts a number to EthBlockNumber, returning undefined if validation fails */\nexport const asEthBlockNumber = zodAsFactory<EthBlockNumber>(EthBlockNumberZod, 'asEthBlockNumber')\n/** Coerces a Numberish value to EthBlockNumber, returning undefined if conversion fails */\nexport const toEthBlockNumber = zodToFactory<EthBlockNumber>(EthBlockNumberishZod, 'toEthBlockNumber')\n\n/** The zero block number constant for the Ethereum chain */\nexport const ETH_BLOCK_NUMBER_ZERO = asEthBlockNumber(0)\n","import { type Brand } from '@xylabs/sdk-js'\nimport { zodAsFactory, zodToFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { BlockNumber } from './BlockNumber.ts'\nimport { BlockNumberishZod } from './BlockNumber.ts'\n\n/** Branded type representing a block number on the XL1 chain */\nexport type XL1BlockNumber = Brand<BlockNumber, { readonly __xl1BlockNumber: true }>\n\n/** Zod schema that validates and brands a number as an XL1BlockNumber */\nexport const XL1BlockNumberZod = z.number().transform(v => v as XL1BlockNumber)\n/** Zod schema that coerces a Numberish value into an XL1BlockNumber */\nexport const XL1BlockNumberishZod = BlockNumberishZod.transform(v => v as XL1BlockNumber)\n\n/** Input type for XL1BlockNumberishZod, accepting number, string, or bigint */\nexport type XL1BlockNumberish = z.input<typeof XL1BlockNumberishZod>\n\n/** Casts a number to XL1BlockNumber, returning undefined if validation fails */\nexport const asXL1BlockNumber = zodAsFactory<XL1BlockNumber>(XL1BlockNumberZod, 'asXL1BlockNumber')\n/** Coerces a Numberish value to XL1BlockNumber, returning undefined if conversion fails */\nexport const toXL1BlockNumber = zodToFactory<XL1BlockNumber>(XL1BlockNumberishZod, 'toXL1BlockNumber')\n\n/** The zero block number constant for the XL1 chain */\nexport const XL1_BLOCK_NUMBER_ZERO = asXL1BlockNumber(0)\n","import { AsTypeFactory } from '@xylabs/sdk-js'\n\nimport { asXL1BlockNumber, type XL1BlockNumber } from '../BlockNumber/index.ts'\n\n// StepsV2 are primorial(n+2) + 1, where n is the index of the step size\n// primorial(n+2) = 2 → 2×3=6 → 6×5=30 → 30×7=210 → 210×11=2310\n\n/** Array of step sizes based on primorial(n+2) + 1, defining the block intervals for each step level */\nexport const StepSizes: XL1BlockNumber[] = [\n asXL1BlockNumber(7, true),\n asXL1BlockNumber(31, true),\n asXL1BlockNumber(211, true),\n asXL1BlockNumber(2311, true),\n asXL1BlockNumber(30_031, true),\n asXL1BlockNumber(510_511, true),\n asXL1BlockNumber(9_699_691, true),\n asXL1BlockNumber(223_092_871, true),\n asXL1BlockNumber(6_469_693_231, true),\n]\n\n/** Type guard that checks if a value is a valid step index within the StepSizes array */\nexport function isValidStep(step: unknown): step is number {\n if (typeof step === 'number' && Number.isInteger(step)) {\n return ((step >= 0) && (step < StepSizes.length))\n }\n return false\n}\n\n/** Casts a value to a valid step index, returning undefined if invalid */\nexport const asValidStep = AsTypeFactory.create<number>(isValidStep)\n\n/** Returns the block interval size for a given step index */\nexport function stepSize(step: number): number {\n const validatedStep = asValidStep(step, () => `Invalid step (${step}), must be an integer between 0 and ${StepSizes.length - 1}`, { required: true })\n return StepSizes[validatedStep]\n}\n\n/** Fraction of block rewards allocated at each step level, expressed as [numerator, denominator] pairs */\nexport const StepRewardFractions = [\n [0n, 1n], // 0%\n [0n, 1n], // 0%\n [0n, 1n], // 0%\n [1n, 10_000n], // 0.01%\n [2n, 1000n], // 0.2%\n [3n, 100n], // 3%\n [45n, 100n], // 45%\n] as const\n","import {\n AddressZod,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n BoundWitnessZod, HashMetaZod, SignedBoundWitnessZod, StorageMetaZod,\n UnsignedBoundWitnessZod,\n WithHashMetaZod,\n WithStorageMetaZod,\n} from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainZod } from '../chain/index.ts'\nimport { TransactionFeesHexZod } from './TransactionFees.ts'\n\n/** BlockStartZod constant. */\nexport const BlockStartZod = z.object({ nbf: XL1BlockNumberZod })\n/** BlockEndZod constant. */\nexport const BlockEndZod = z.object({ exp: XL1BlockNumberZod })\n/** BlockDurationZod constant. */\nexport const BlockDurationZod = z.object({ nbf: XL1BlockNumberZod, exp: XL1BlockNumberZod })\n/** BlockScriptsZod constant. */\nexport const BlockScriptsZod = z.object({ script: z.array(z.string()).optional() })\n\n/** TransactionFeesZod constant. */\nexport const TransactionFeesZod = z.object({ fees: TransactionFeesHexZod })\n\n/** TransactionBoundWitnessIdentityFields constant. */\nexport const TransactionBoundWitnessIdentityFields = z.object({ chain: ChainZod, from: AddressZod })\n\n/** TransactionBoundWitnessFieldsZod constant. */\nexport const TransactionBoundWitnessFieldsZod = z.object()\n .safeExtend(BlockDurationZod.shape)\n .safeExtend(TransactionFeesZod.shape)\n .safeExtend(TransactionBoundWitnessIdentityFields.shape)\n .safeExtend(BlockScriptsZod.shape)\n\n/** TransactionBoundWitnessFields type. */\nexport type TransactionBoundWitnessFields = z.infer<typeof TransactionBoundWitnessFieldsZod>\n\n/** TransactionBoundWitnessZod constant. */\nexport const TransactionBoundWitnessZod = BoundWitnessZod\n .safeExtend(TransactionBoundWitnessFieldsZod.shape)\n\n/** TransactionBoundWitness type. */\nexport type TransactionBoundWitness = z.infer<typeof TransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitness. */\nexport const isTransactionBoundWitness = zodIsFactory(TransactionBoundWitnessZod)\n/** Converts a value to TransactionBoundWitness, throwing if invalid. */\nexport const asTransactionBoundWitness = zodAsFactory(TransactionBoundWitnessZod, 'asTransactionBoundWitness')\n/** toTransactionBoundWitness constant. */\nexport const toTransactionBoundWitness = zodToFactory(TransactionBoundWitnessZod, 'toTransactionBoundWitness')\n\n/** TransactionBoundWitnessWithHashMetaZod constant. */\nexport const TransactionBoundWitnessWithHashMetaZod = TransactionBoundWitnessZod\n .safeExtend(HashMetaZod.shape)\n\n/** TransactionBoundWitnessWithHashMeta type. */\nexport type TransactionBoundWitnessWithHashMeta = z.infer<typeof TransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitnessWithHashMeta. */\nexport const isTransactionBoundWitnessWithHashMeta = zodIsFactory(TransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to TransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asTransactionBoundWitnessWithHashMeta = zodAsFactory(TransactionBoundWitnessWithHashMetaZod, 'asTransactionBoundWitnessWithHashMeta')\n/** toTransactionBoundWitnessWithHashMeta constant. */\nexport const toTransactionBoundWitnessWithHashMeta = zodToFactory(TransactionBoundWitnessWithHashMetaZod, 'toTransactionBoundWitnessWithHashMeta')\n\n/** TransactionBoundWitnessWithStorageMetaZod constant. */\nexport const TransactionBoundWitnessWithStorageMetaZod = TransactionBoundWitnessZod\n .safeExtend(StorageMetaZod.shape)\n\n/** TransactionBoundWitnessWithStorageMeta type. */\nexport type TransactionBoundWitnessWithStorageMeta = z.infer<typeof TransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitnessWithStorageMeta. */\nexport const isTransactionBoundWitnessWithStorageMeta = zodIsFactory(TransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to TransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asTransactionBoundWitnessWithStorageMeta = zodAsFactory(TransactionBoundWitnessWithStorageMetaZod, 'asTransactionBoundWitnessWithStorageMeta')\n/** toTransactionBoundWitnessWithStorageMeta constant. */\nexport const toTransactionBoundWitnessWithStorageMeta = zodToFactory(TransactionBoundWitnessWithStorageMetaZod, 'toTransactionBoundWitnessWithStorageMeta')\n\n/** UnsignedTransactionBoundWitnessZod constant. */\nexport const UnsignedTransactionBoundWitnessZod = UnsignedBoundWitnessZod\n .safeExtend(TransactionBoundWitnessFieldsZod.shape)\n\n/** UnsignedTransactionBoundWitness type. */\nexport type UnsignedTransactionBoundWitness = z.infer<typeof UnsignedTransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitness. */\nexport const isUnsignedTransactionBoundWitness = zodIsFactory(UnsignedTransactionBoundWitnessZod)\n/** Converts a value to UnsignedTransactionBoundWitness, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitness = zodAsFactory(UnsignedTransactionBoundWitnessZod, 'asUnsignedTransactionBoundWitness')\n/** toUnsignedTransactionBoundWitness constant. */\nexport const toUnsignedTransactionBoundWitness = zodToFactory(UnsignedTransactionBoundWitnessZod, 'toUnsignedTransactionBoundWitness')\n\n/** UnsignedTransactionBoundWitnessWithHashMetaZod constant. */\nexport const UnsignedTransactionBoundWitnessWithHashMetaZod = UnsignedTransactionBoundWitnessZod.safeExtend(HashMetaZod.shape)\n\n/** UnsignedTransactionBoundWitnessWithHashMeta type. */\nexport type UnsignedTransactionBoundWitnessWithHashMeta = z.infer<typeof UnsignedTransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitnessWithHashMeta. */\nexport const isUnsignedTransactionBoundWitnessWithHashMeta = zodIsFactory(UnsignedTransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to UnsignedTransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitnessWithHashMeta = zodAsFactory(\n UnsignedTransactionBoundWitnessWithHashMetaZod,\n 'asUnsignedTransactionBoundWitnessWithHashMeta',\n)\n/** toUnsignedTransactionBoundWitnessWithHashMeta constant. */\nexport const toUnsignedTransactionBoundWitnessWithHashMeta = zodToFactory(\n UnsignedTransactionBoundWitnessWithHashMetaZod,\n 'toUnsignedTransactionBoundWitnessWithHashMeta',\n)\n\n/** UnsignedTransactionBoundWitnessWithStorageMetaZod constant. */\nexport const UnsignedTransactionBoundWitnessWithStorageMetaZod = UnsignedTransactionBoundWitnessZod\n .safeExtend(StorageMetaZod.shape)\n\n/** UnsignedTransactionBoundWitnessWithStorageMeta type. */\nexport type UnsignedTransactionBoundWitnessWithStorageMeta = z.infer<typeof UnsignedTransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitnessWithStorageMeta. */\nexport const isUnsignedTransactionBoundWitnessWithStorageMeta = zodIsFactory(UnsignedTransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to UnsignedTransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitnessWithStorageMeta = zodAsFactory(\n UnsignedTransactionBoundWitnessWithStorageMetaZod,\n 'asUnsignedTransactionBoundWitnessWithStorageMeta',\n)\n/** toUnsignedTransactionBoundWitnessWithStorageMeta constant. */\nexport const toUnsignedTransactionBoundWitnessWithStorageMeta = zodToFactory(\n UnsignedTransactionBoundWitnessWithStorageMetaZod,\n 'toUnsignedTransactionBoundWitnessWithStorageMeta',\n)\n\n/** SignedTransactionBoundWitnessZod constant. */\nexport const SignedTransactionBoundWitnessZod = SignedBoundWitnessZod\n .safeExtend(TransactionBoundWitnessFieldsZod.shape)\n\n/** SignedTransactionBoundWitness type. */\nexport type SignedTransactionBoundWitness = z.infer<typeof SignedTransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitness. */\nexport const isSignedTransactionBoundWitness = zodIsFactory(SignedTransactionBoundWitnessZod)\n/** Converts a value to SignedTransactionBoundWitness, throwing if invalid. */\nexport const asSignedTransactionBoundWitness = zodAsFactory(SignedTransactionBoundWitnessZod, 'asSignedTransactionBoundWitness')\n/** toSignedTransactionBoundWitness constant. */\nexport const toSignedTransactionBoundWitness = zodToFactory(SignedTransactionBoundWitnessZod, 'toSignedTransactionBoundWitness')\n\n/** SignedTransactionBoundWitnessWithHashMetaZod constant. */\nexport const SignedTransactionBoundWitnessWithHashMetaZod = WithHashMetaZod(SignedTransactionBoundWitnessZod)\n\n/** SignedTransactionBoundWitnessWithHashMeta type. */\nexport type SignedTransactionBoundWitnessWithHashMeta = z.infer<typeof SignedTransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitnessWithHashMeta. */\nexport const isSignedTransactionBoundWitnessWithHashMeta = zodIsFactory(SignedTransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to SignedTransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asSignedTransactionBoundWitnessWithHashMeta = zodAsFactory(\n SignedTransactionBoundWitnessWithHashMetaZod,\n 'asSignedTransactionBoundWitnessWithHashMeta',\n)\n/** toSignedTransactionBoundWitnessWithHashMeta constant. */\nexport const toSignedTransactionBoundWitnessWithHashMeta = zodToFactory(\n SignedTransactionBoundWitnessWithHashMetaZod,\n 'toSignedTransactionBoundWitnessWithHashMeta',\n)\n\n/** SignedTransactionBoundWitnessWithStorageMetaZod constant. */\nexport const SignedTransactionBoundWitnessWithStorageMetaZod = WithStorageMetaZod(SignedTransactionBoundWitnessZod)\n\n/** SignedTransactionBoundWitnessWithStorageMeta type. */\nexport type SignedTransactionBoundWitnessWithStorageMeta = z.infer<typeof SignedTransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitnessWithStorageMeta. */\nexport const isSignedTransactionBoundWitnessWithStorageMeta = zodIsFactory(SignedTransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to SignedTransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asSignedTransactionBoundWitnessWithStorageMeta = zodAsFactory(\n SignedTransactionBoundWitnessWithStorageMetaZod,\n 'asSignedTransactionBoundWitnessWithStorageMeta',\n)\n/** toSignedTransactionBoundWitnessWithStorageMeta constant. */\nexport const toSignedTransactionBoundWitnessWithStorageMeta = zodToFactory(\n SignedTransactionBoundWitnessWithStorageMetaZod,\n 'toSignedTransactionBoundWitnessWithStorageMeta',\n)\n","import { AddressRegEx, toAddress } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { ChainId } from './ChainId.ts'\n\n/** ChainZod constant. */\nexport const ChainZod = z.string().toLowerCase().regex(AddressRegEx).transform<ChainId>(v => toAddress(v) as ChainId)\n","import {\n BigIntToJsonZod, HexZod, JsonToBigIntZod,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport { asAttoXL1 } from '../xl1/index.ts'\n\n/** AttoZod constant. */\nexport const AttoZod = z.bigint()\n/** JsonToAttoZod constant. */\nexport const JsonToAttoZod = JsonToBigIntZod.transform(v => asAttoXL1(v))\n\n/** AttoToJsonZod constant. */\n\n/** TransactionFeesHexZod constant. */\nexport const TransactionFeesHexZod = z.object({\n base: HexZod,\n gasLimit: HexZod,\n gasPrice: HexZod,\n priority: HexZod,\n})\n\n/** TransactionFeesHex type. */\nexport type TransactionFeesHex = z.infer<typeof TransactionFeesHexZod>\n\n/** Type guard that checks if a value is a valid TransactionFeesHex. */\nexport const isTransactionFeesHex = zodIsFactory(TransactionFeesHexZod)\n/** Converts a value to TransactionFeesHex, throwing if invalid. */\nexport const asTransactionFeesHex = zodAsFactory(TransactionFeesHexZod, 'asTransactionFeesHex')\n/** toTransactionFeesHex constant. */\nexport const toTransactionFeesHex = zodToFactory(TransactionFeesHexZod, 'toTransactionFeesHex')\n\n/** TransactionFeesBigIntZod constant. */\nexport const TransactionFeesBigIntZod = z.object({\n base: AttoZod,\n gasLimit: AttoZod,\n gasPrice: AttoZod,\n priority: AttoZod,\n})\n\n/** TransactionFeesBigInt type. */\nexport type TransactionFeesBigInt = z.infer<typeof TransactionFeesBigIntZod>\n\n/** Type guard that checks if a value is a valid TransactionFeesBigInt. */\nexport const isTransactionFeesBigInt = zodIsFactory(TransactionFeesBigIntZod)\n/** Converts a value to TransactionFeesBigInt, throwing if invalid. */\nexport const asTransactionFeesBigInt = zodAsFactory(TransactionFeesBigIntZod, 'asTransactionFeesBigInt')\n/** toTransactionFeesBigInt constant. */\nexport const toTransactionFeesBigInt = zodToFactory(TransactionFeesBigIntZod, 'toTransactionFeesBigInt')\n\n/** TransactionFeesJsonToBigIntZod constant. */\nexport const TransactionFeesJsonToBigIntZod = TransactionFeesHexZod.transform(val => ({\n base: JsonToBigIntZod.parse(val.base),\n gasLimit: JsonToBigIntZod.parse(val.gasLimit),\n gasPrice: JsonToBigIntZod.parse(val.gasPrice),\n priority: JsonToBigIntZod.parse(val.priority),\n}))\n\n/** TransactionFeesBigIntToJsonZod constant. */\nexport const TransactionFeesBigIntToJsonZod = TransactionFeesBigIntZod.transform(val => ({\n base: BigIntToJsonZod.parse(val.base),\n gasLimit: BigIntToJsonZod.parse(val.gasLimit),\n gasPrice: BigIntToJsonZod.parse(val.gasPrice),\n priority: BigIntToJsonZod.parse(val.priority),\n}))\n\n/** TransactionFeesJsonToBigIntZodType type. */\nexport type TransactionFeesJsonToBigIntZodType = z.infer<typeof TransactionFeesJsonToBigIntZod>\n/** TransactionFeesBigIntToJsonZodType type. */\nexport type TransactionFeesBigIntToJsonZodType = z.infer<typeof TransactionFeesBigIntToJsonZod>\n\nexport { BigIntToJsonZod as AttoToJsonZod } from '@xylabs/sdk-js'\n","import { z } from 'zod'\n\nimport { xl1MaxValue } from './xl1MaxValue.ts'\n\n/** Type guard that checks if a value is a valid XL1Factory. */\nexport const isXL1Factory = <T extends bigint>(places: bigint) => (val: unknown): val is T => {\n if (typeof val !== 'bigint') return false\n return val >= 0n && val <= xl1MaxValue(places)\n}\n\n/** Creates a Zod schema factory for XL1 branded bigint types. */\nexport const XL1ZodFactory = <T extends bigint>(places: bigint, name: string) => {\n const is = isXL1Factory<T>(places)\n const message = `Invalid value for ${name}, must be between 0 and ${xl1MaxValue(places)}`\n return z.bigint().refine(\n (x) => {\n const result = is(x)\n return result\n },\n { message },\n )\n}\n\n/** Creates a Zod transform factory that converts values between XL1 unit types. */\nexport const XL1TransformZodFactory = <T extends bigint>(places: bigint, name: string) => {\n const is = isXL1Factory<T>(places)\n const message = `Invalid value for ${name}, must be between 0 and ${xl1MaxValue(places)}`\n return z.union([z.bigint(), z.number(), z.string(), z.boolean()]).transform(val => BigInt(val) as T).refine(\n (x) => {\n const result = is(x)\n return result\n },\n { message },\n )\n}\n\n/** Converts a value to XL1Factory, throwing if invalid. */\nexport const asXL1Factory = <T extends bigint>(places: bigint) => {\n const zod = XL1ZodFactory<T>(places, 'local')\n return (val: unknown): T => {\n const result = zod.safeParse(val)\n if (result.success) {\n return result.data as T\n }\n throw result.error\n }\n}\n\n/** Creates a factory function that converts bigint values to a specific XL1 branded type. */\nexport const toXL1Factory = <T extends bigint>(places: bigint) => {\n const zod = XL1TransformZodFactory<T>(places, 'local')\n return (val: unknown): T | undefined => {\n const result = zod.safeParse(val)\n return result.success ? result.data as T : undefined\n }\n}\n","/** Computes the maximum value for an XL1 unit given its decimal places. */\nexport const xl1MaxValue = (places: bigint) => 10n ** (32n - places) - 1n\n","type XL1Units = 'xl1' | 'milli' | 'micro' | 'nano' | 'pico' | 'femto' | 'atto'\n\n/** Decimal place definitions for each XL1 currency unit (atto=18, femto=15, etc.). */\nexport const XL1Places: Record<XL1Units, bigint> = {\n xl1: 18n,\n milli: 15n,\n micro: 12n,\n nano: 9n,\n pico: 6n,\n femto: 3n,\n atto: 0n,\n} as const\n\n/**\n * Convert factor by which a respective unit is multiplied to convert it to AttoXL1 or\n * by which AttoXL1 is divided to convert it to respective unit is multiplied.\n */\nexport const AttoXL1ConvertFactor: Record<XL1Units, bigint> = {\n xl1: 10n ** XL1Places.xl1,\n milli: 10n ** XL1Places.milli,\n micro: 10n ** XL1Places.micro,\n nano: 10n ** XL1Places.nano,\n pico: 10n ** XL1Places.pico,\n femto: 10n ** XL1Places.femto,\n atto: 10n ** XL1Places.atto,\n} as const\n","import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXL1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './XL1Units.ts'\n\n/** Maximum value for the AttoXL1 branded type. */\nexport const AttoXL1MaxValue = xl1MaxValue(XL1Places.atto)\n/** AttoXL1 type. */\nexport type AttoXL1 = bigint & { readonly _tag: 'AttoXL1' }\n/** Type guard that checks if a value is a valid AttoXL1. */\nexport const isAttoXL1 = isXL1Factory<AttoXL1>(XL1Places.atto)\n/** Converts a value to AttoXL1, throwing if invalid. */\nexport const asAttoXL1 = asXL1Factory<AttoXL1>(XL1Places.atto)\n/** Converts a bigint value to AttoXL1 without validation. */\nexport const toAttoXL1 = toXL1Factory<AttoXL1>(XL1Places.atto)\n\n/** Shorthand alias for asAttoXL1. */\nexport const AttoXL1 = asAttoXL1\n","import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXL1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './XL1Units.ts'\n\n/** Maximum value for the FemtoXL1 branded type. */\nexport const FemtoXL1MaxValue = xl1MaxValue(XL1Places.femto)\n/** FemtoXL1 type. */\nexport type FemtoXL1 = bigint & { readonly _tag: 'FemtoXL1' }\n/** Type guard that checks if a value is a valid FemtoXL1. */\nexport const isFemtoXL1 = isXL1Factory<FemtoXL1>(XL1Places.femto)\n/** Converts a value to FemtoXL1, throwing if invalid. */\nexport const asFemtoXL1 = asXL1Factory<FemtoXL1>(XL1Places.femto)\n\n/** Converts a bigint value to FemtoXL1 without validation. */\nexport const toFemtoXL1 = toXL1Factory<FemtoXL1>(XL1Places.femto)\n\n/** Shorthand alias for asFemtoXL1. */\nexport const FemtoXL1 = asFemtoXL1\n","import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXL1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './XL1Units.ts'\n\n/** Maximum value for the MicroXL1 branded type. */\nexport const MicroXL1MaxValue = xl1MaxValue(XL1Places.micro)\n/** MicroXL1 type. */\nexport type MicroXL1 = bigint & { readonly _tag: 'MicroXL1' }\n/** Type guard that checks if a value is a valid MicroXL1. */\nexport const isMicroXL1 = isXL1Factory<MicroXL1>(XL1Places.micro)\n/** Converts a value to MicroXL1, throwing if invalid. */\nexport const asMicroXL1 = asXL1Factory<MicroXL1>(XL1Places.micro)\n\n/** Converts a bigint value to MicroXL1 without validation. */\nexport const toMicroXL1 = toXL1Factory<MicroXL1>(XL1Places.micro)\n\n/** Shorthand alias for asMicroXL1. */\nexport const MicroXL1 = asMicroXL1\n","import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXL1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './XL1Units.ts'\n\n/** Maximum value for the MilliXL1 branded type. */\nexport const MilliXL1MaxValue = xl1MaxValue(XL1Places.milli)\n/** MilliXL1 type. */\nexport type MilliXL1 = bigint & { readonly _tag: 'MilliXL1' }\n/** Type guard that checks if a value is a valid MilliXL1. */\nexport const isMilliXL1 = isXL1Factory<MilliXL1>(XL1Places.milli)\n/** Converts a value to MilliXL1, throwing if invalid. */\nexport const asMilliXL1 = asXL1Factory<MilliXL1>(XL1Places.milli)\n\n/** Converts a bigint value to MilliXL1 without validation. */\nexport const toMilliXL1 = toXL1Factory<MilliXL1>(XL1Places.milli)\n\n/** Shorthand alias for asMilliXL1. */\nexport const MilliXL1 = asMilliXL1\n","import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXL1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './XL1Units.ts'\n\n/** Maximum value for the NanoXL1 branded type. */\nexport const NanoXL1MaxValue = xl1MaxValue(XL1Places.nano)\n/** NanoXL1 type. */\nexport type NanoXL1 = bigint & { readonly _tag: 'NanoXL1' }\n/** Type guard that checks if a value is a valid NanoXL1. */\nexport const isNanoXL1 = isXL1Factory<NanoXL1>(XL1Places.nano)\n/** Converts a value to NanoXL1, throwing if invalid. */\nexport const asNanoXL1 = asXL1Factory<NanoXL1>(XL1Places.nano)\n\n/** Converts a bigint value to NanoXL1 without validation. */\nexport const toNanoXL1 = toXL1Factory<NanoXL1>(XL1Places.nano)\n\n/** Shorthand alias for asNanoXL1. */\nexport const NanoXL1 = asNanoXL1\n","import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXL1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './XL1Units.ts'\n\n/** PicoXL1MaxValue constant. */\nexport const PicoXL1MaxValue = xl1MaxValue(XL1Places.pico)\n/** PicoXL1 type. */\nexport type PicoXL1 = bigint & { readonly _tag: 'PicoXL1' }\n/** Type guard that checks if a value is a valid PicoXL1. */\nexport const isPicoXL1 = isXL1Factory<PicoXL1>(XL1Places.pico)\n/** Converts a value to PicoXL1, throwing if invalid. */\nexport const asPicoXL1 = asXL1Factory<PicoXL1>(XL1Places.pico)\n\n/** toPicoXL1 constant. */\nexport const toPicoXL1 = toXL1Factory<PicoXL1>(XL1Places.pico)\n\n/** PicoXL1 constant. */\nexport const PicoXL1 = asPicoXL1\n","import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXL1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './XL1Units.ts'\n\n/** XL1MaxValue constant. */\nexport const XL1MaxValue = xl1MaxValue(XL1Places.xl1)\n/** XL1 type. */\nexport type XL1 = bigint & { readonly _tag: 'XL1' }\n/** Type guard that checks if a value is a valid XL1. */\nexport const isXL1 = isXL1Factory<XL1>(XL1Places.xl1)\n/** Converts a value to XL1, throwing if invalid. */\nexport const asXL1 = asXL1Factory<XL1>(XL1Places.xl1)\n\n/** toXL1 constant. */\nexport const toXL1 = toXL1Factory<XL1>(XL1Places.xl1)\n\n/** XL1 constant. */\nexport const XL1 = asXL1\n","/** TransactionGasCosts constant. */\nexport const TransactionGasCosts = {\n /**\n * The cost of storing each character that is added to the chain\n * This includes the transaction JSON and all the elevated payloads' JSON\n */\n characterStorage: 10n,\n\n /** The cost of static validating every payload that will be included in the chain */\n payloadValidation: 1000n,\n\n /** The cost of validating each signature that will be included in the chain */\n signatureValidation: 1000n,\n\n /** The cost of validating each hash that will be included in the chain */\n hashValidation: 100n,\n\n /** The cost of validating a balance state, triggered by a Transfer payload or gas collection */\n balanceValidation: 100n,\n} as const\n\n/** Gas Calculation\n *\n * 1 Million microXL1 (mXL1) = 1 XL1\n *\n * Gas amount is calculated as follows:\n *\n * 1. Each byte in the transaction cost 10 gas\n * 2. Each payload validation in the transaction costs 1000 gas\n * 3. Each signature verification in the transaction costs 1000 gas\n * 4. Each hash validation in the transaction costs 100 gas\n * 5. Each balance validation in the transaction costs 100 gas\n * 6. Processing/Compute/Storage Cost?\n * 7. operation Costs?\n *\n * The total gas cost is calculated by multiplying the gas amount by the gas price.\n *\n * minGasPrice is initially set to 100 mXL1\n * minBase is initially set to 1000 mXL1\n * minPriority is always 0 mXL1, but can be set to increase the priority of the transaction\n *\n */\n","import {\n AddressZod,\n AsObjectFactory, HexZod, JsonObjectZod,\n} from '@xylabs/sdk-js'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\n/** Schema identifier for XYO transfer payloads */\nexport const TransferSchema = asSchema('network.xyo.transfer', true)\n/** The literal type of the transfer schema string */\nexport type TransferSchema = typeof TransferSchema\n\n/** Zod schema for the fields specific to a transfer payload */\nexport const TransferFieldsZod = z.object({\n // Removed as only transaction have opCodes\n // $opCodes: z.array(z.string()).optional(),\n context: JsonObjectZod.optional(),\n epoch: z.number(),\n from: AddressZod,\n transfers: z.record(AddressZod, HexZod),\n})\n\n/** Zod schema for a complete transfer payload including schema and fields */\nexport const TransferZod = PayloadZodOfSchema(TransferSchema).extend(TransferFieldsZod.shape)\n\n/** A transfer payload representing the movement of XL1 tokens between addresses */\nexport type Transfer = z.infer<typeof TransferZod>\n\n/** Type guard that checks if a value is a Transfer payload */\nexport const isTransfer = isPayloadOfSchemaType<Transfer>(TransferSchema)\n\n/** Casts a value to Transfer or returns undefined if invalid */\nexport const asTransfer = AsObjectFactory.create(isTransfer)\n","import {\n HashZod,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n BoundWitnessZod,\n WithHashMetaZod,\n WithStorageMetaZod,\n} from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainZod } from '../chain/index.ts'\n\n/** BlockBoundWitnessFieldsZod constant. */\nexport const BlockBoundWitnessFieldsZod = z.object({\n block: XL1BlockNumberZod,\n chain: ChainZod,\n previous: HashZod.nullable(),\n protocol: z.number().optional(),\n step_hashes: z.array(HashZod).optional(),\n})\n\n/** BlockBoundWitnessMetaZod constant. */\nexport const BlockBoundWitnessMetaZod = z.object({ $epoch: z.number() })\n\n/** BlockBoundWitnessZod constant. */\nexport const BlockBoundWitnessZod = z.object({\n ...BoundWitnessZod.shape,\n ...BlockBoundWitnessFieldsZod.shape,\n ...BlockBoundWitnessMetaZod.shape,\n})\n\n/** BlockBoundWitness type. */\nexport type BlockBoundWitness = z.infer<typeof BlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitness. */\nexport const isBlockBoundWitness = zodIsFactory(BlockBoundWitnessZod)\n/** Converts a value to BlockBoundWitness, throwing if invalid. */\nexport const asBlockBoundWitness = zodAsFactory(BlockBoundWitnessZod, 'asBlockBoundWitness')\n/** toBlockBoundWitness constant. */\nexport const toBlockBoundWitness = zodToFactory(BlockBoundWitnessZod, 'toBlockBoundWitness')\n\n/** @deprecated use WithHashMetaZod(BlockBoundWitnessZod) instead */\nexport const BlockBoundWitnessWithHashMetaZod = WithHashMetaZod(BlockBoundWitnessZod)\n\n/** @deprecated use WithHashMeta(BlockBoundWitness) instead */\n\n/** BlockBoundWitnessWithHashMeta type. */\nexport type BlockBoundWitnessWithHashMeta = z.infer<typeof BlockBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitnessWithHashMeta. */\nexport const isBlockBoundWitnessWithHashMeta = zodIsFactory(WithHashMetaZod(BlockBoundWitnessZod))\n/** Converts a value to BlockBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asBlockBoundWitnessWithHashMeta = zodAsFactory(WithHashMetaZod(BlockBoundWitnessZod), 'asBlockBoundWitnessWithHashMeta')\n/** toBlockBoundWitnessWithHashMeta constant. */\nexport const toBlockBoundWitnessWithHashMeta = zodToFactory(WithHashMetaZod(BlockBoundWitnessZod), 'toBlockBoundWitnessWithHashMeta')\n\n/** @deprecated use WithStorageMetaZod(BlockBoundWitnessZod) instead */\nexport const BlockBoundWitnessWithStorageMetaZod = WithStorageMetaZod(BlockBoundWitnessZod)\n\n/** @deprecated use WithStorageMeta(BlockBoundWitness) instead */\n\n/** BlockBoundWitnessWithStorageMeta type. */\nexport type BlockBoundWitnessWithStorageMeta = z.infer<typeof BlockBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitnessWithStorageMeta. */\nexport const isBlockBoundWitnessWithStorageMeta = zodIsFactory(WithStorageMetaZod(BlockBoundWitnessZod))\n/** Converts a value to BlockBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asBlockBoundWitnessWithStorageMeta = zodAsFactory(WithStorageMetaZod(BlockBoundWitnessZod), 'asBlockBoundWitnessWithStorageMeta')\n/** toBlockBoundWitnessWithStorageMeta constant. */\nexport const toBlockBoundWitnessWithStorageMeta = zodToFactory(WithStorageMetaZod(BlockBoundWitnessZod), 'toBlockBoundWitnessWithStorageMeta')\n","import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n PayloadZod,\n PayloadZodLoose, WithHashMetaZod, WithStorageMetaZod,\n} from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nimport { BlockBoundWitnessZod } from './BlockBoundWitness.ts'\nimport { SignedBlockBoundWitnessZod } from './signed/index.ts'\n\n/** HydratedBlockZod constant. */\nexport const HydratedBlockZod = z.tuple([\n BlockBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated Block with resolved payloads. */\nexport type HydratedBlock = z.infer<typeof HydratedBlockZod>\n\n/** Type guard that checks if a value is a valid HydratedBlock. */\nexport const isHydratedBlock = zodIsFactory(HydratedBlockZod)\n/** Converts a value to HydratedBlock, throwing if invalid. */\nexport const asHydratedBlock = zodAsFactory(HydratedBlockZod, 'asHydratedBlock')\n/** toHydratedBlock constant. */\nexport const toHydratedBlock = zodToFactory(HydratedBlockZod, 'toHydratedBlock')\n\n/** HydratedBlockWithHashMetaZod constant. */\nexport const HydratedBlockWithHashMetaZod = z.tuple([\n WithHashMetaZod(BlockBoundWitnessZod),\n z.array(WithHashMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated BlockWithHashMeta with resolved payloads. */\nexport type HydratedBlockWithHashMeta = z.infer<typeof HydratedBlockWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedBlockWithHashMeta. */\nexport const isHydratedBlockWithHashMeta = zodIsFactory(HydratedBlockWithHashMetaZod)\n/** Converts a value to HydratedBlockWithHashMeta, throwing if invalid. */\nexport const asHydratedBlockWithHashMeta = zodAsFactory(HydratedBlockWithHashMetaZod, 'asHydratedBlockWithHashMeta')\n/** toHydratedBlockWithHashMeta constant. */\nexport const toHydratedBlockWithHashMeta = zodToFactory(HydratedBlockWithHashMetaZod, 'toHydratedBlockWithHashMeta')\n\n/** HydratedBlockWithStorageMetaZod constant. */\nexport const HydratedBlockWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(BlockBoundWitnessZod),\n z.array(WithStorageMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated BlockWithStorageMeta with resolved payloads. */\nexport type HydratedBlockWithStorageMeta = z.infer<typeof HydratedBlockWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedBlockWithStorageMeta. */\nexport const isHydratedBlockWithStorageMeta = zodIsFactory(HydratedBlockWithStorageMetaZod)\n/** Converts a value to HydratedBlockWithStorageMeta, throwing if invalid. */\nexport const asHydratedBlockWithStorageMeta = zodAsFactory(HydratedBlockWithStorageMetaZod, 'asHydratedBlockWithStorageMeta')\n/** toHydratedBlockWithStorageMeta constant. */\nexport const toHydratedBlockWithStorageMeta = zodToFactory(HydratedBlockWithStorageMetaZod, 'toHydratedBlockWithStorageMeta')\n\n/** SignedHydratedBlockZod constant. */\nexport const SignedHydratedBlockZod = z.tuple([\n SignedBlockBoundWitnessZod,\n z.array(PayloadZod.loose()),\n])\n\n/** Type representing a hydrated SignedBlock with resolved payloads. */\nexport type SignedHydratedBlock = z.infer<typeof SignedHydratedBlockZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlock. */\nexport const isSignedHydratedBlock = zodIsFactory(SignedHydratedBlockZod)\n/** Converts a value to SignedHydratedBlock, throwing if invalid. */\nexport const asSignedHydratedBlock = zodAsFactory(SignedHydratedBlockZod, 'asSignedHydratedBlock')\n/** toSignedHydratedBlock constant. */\nexport const toSignedHydratedBlock = zodToFactory(SignedHydratedBlockZod, 'toSignedHydratedBlock')\n\n/** SignedHydratedBlockToJsonZod constant. */\nexport const SignedHydratedBlockToJsonZod = z.tuple([\n SignedBlockBoundWitnessZod,\n z.array(PayloadZod.loose()),\n])\n\n/** Type representing a hydrated SignedBlockToJson with resolved payloads. */\nexport type SignedHydratedBlockToJson = z.infer<typeof SignedHydratedBlockToJsonZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockToJson. */\nexport const isSignedHydratedBlockToJson = zodIsFactory(SignedHydratedBlockToJsonZod)\n/** Converts a value to SignedHydratedBlockToJson, throwing if invalid. */\nexport const asSignedHydratedBlockToJson = zodAsFactory(SignedHydratedBlockToJsonZod, 'asSignedHydratedBlockToJson')\n/** toSignedHydratedBlockToJson constant. */\nexport const toSignedHydratedBlockToJson = zodToFactory(SignedHydratedBlockToJsonZod, 'toSignedHydratedBlockToJson')\n\n/** SignedHydratedBlockWithHashMetaZod constant. */\nexport const SignedHydratedBlockWithHashMetaZod = z.tuple([\n WithHashMetaZod(SignedBlockBoundWitnessZod),\n z.array(WithHashMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated SignedBlockWithHashMeta with resolved payloads. */\nexport type SignedHydratedBlockWithHashMeta = z.infer<typeof SignedHydratedBlockWithHashMetaZod>\n\n/** SignedHydratedBlockWithHashMetaishZod constant. */\nexport const SignedHydratedBlockWithHashMetaishZod = z.tuple([\n z.union([WithHashMetaZod(SignedBlockBoundWitnessZod)]),\n z.array(WithHashMetaZod(PayloadZod).loose()),\n])\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockWithHashMeta. */\nexport const isSignedHydratedBlockWithHashMeta = zodIsFactory(SignedHydratedBlockWithHashMetaZod)\n/** Converts a value to SignedHydratedBlockWithHashMeta, throwing if invalid. */\nexport const asSignedHydratedBlockWithHashMeta = zodAsFactory(SignedHydratedBlockWithHashMetaZod, 'asSignedHydratedBlockWithHashMeta')\n\n/** toSignedHydratedBlockWithHashMeta constant. */\nexport const toSignedHydratedBlockWithHashMeta = zodToFactory(SignedHydratedBlockWithHashMetaZod, 'toSignedHydratedBlockWithHashMeta')\n\n/** SignedHydratedBlockWithStorageMetaZod constant. */\nexport const SignedHydratedBlockWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(SignedBlockBoundWitnessZod),\n z.array(WithStorageMetaZod(PayloadZod).loose()),\n])\n/** Type representing a hydrated SignedBlockWithStorageMeta with resolved payloads. */\nexport type SignedHydratedBlockWithStorageMeta = z.infer<typeof SignedHydratedBlockWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockWithStorageMeta. */\nexport const isSignedHydratedBlockWithStorageMeta = zodIsFactory(SignedHydratedBlockWithStorageMetaZod)\n/** Converts a value to SignedHydratedBlockWithStorageMeta, throwing if invalid. */\nexport const asSignedHydratedBlockWithStorageMeta = zodAsFactory(SignedHydratedBlockWithStorageMetaZod, 'asSignedHydratedBlockWithStorageMeta')\n/** toSignedHydratedBlockWithStorageMeta constant. */\nexport const toSignedHydratedBlockWithStorageMeta = zodToFactory(SignedHydratedBlockWithStorageMetaZod, 'toSignedHydratedBlockWithStorageMeta')\n\n/** SignedHydratedBlockWithStorageMetaishZod constant. */\nexport const SignedHydratedBlockWithStorageMetaishZod = z.tuple([\n z.union([WithStorageMetaZod(SignedBlockBoundWitnessZod)]),\n z.array(WithStorageMetaZod(PayloadZod).loose()),\n])\n","import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { SignedBoundWitnessZod } from '@xyo-network/sdk-js'\nimport type { z } from 'zod'\n\nimport { BlockBoundWitnessFieldsZod, BlockBoundWitnessMetaZod } from '../BlockBoundWitness.ts'\n\n/** SignedBlockBoundWitnessZod constant. */\nexport const SignedBlockBoundWitnessZod = SignedBoundWitnessZod\n .safeExtend(BlockBoundWitnessFieldsZod.shape)\n .safeExtend(BlockBoundWitnessMetaZod.shape)\n\n/** SignedBlockBoundWitness type. */\nexport type SignedBlockBoundWitness = z.infer<typeof SignedBlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitness. */\nexport const isSignedBlockBoundWitness = zodIsFactory(SignedBlockBoundWitnessZod)\n/** Converts a value to SignedBlockBoundWitness, throwing if invalid. */\nexport const asSignedBlockBoundWitness = zodAsFactory(SignedBlockBoundWitnessZod, 'asSignedBlockBoundWitness')\n/** toSignedBlockBoundWitness constant. */\nexport const toSignedBlockBoundWitness = zodToFactory(SignedBlockBoundWitnessZod, 'toSignedBlockBoundWitness')\n","import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { PayloadBuilder, WithHashMetaZod } from '@xyo-network/sdk-js'\nimport type { z } from 'zod'\n\nimport { isSignedBlockBoundWitness, SignedBlockBoundWitnessZod } from './SignedBlockBoundWitness.ts'\n\n/** SignedBlockBoundWitnessWithHashMetaZod constant. */\nexport const SignedBlockBoundWitnessWithHashMetaZod = WithHashMetaZod(SignedBlockBoundWitnessZod)\n\n/** SignedBlockBoundWitnessWithHashMeta type. */\nexport type SignedBlockBoundWitnessWithHashMeta = z.infer<typeof SignedBlockBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitnessWithHashMeta. */\nexport const isSignedBlockBoundWitnessWithHashMeta = zodIsFactory(SignedBlockBoundWitnessWithHashMetaZod)\n/** Converts a value to SignedBlockBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asSignedBlockBoundWitnessWithHashMeta = zodAsFactory(SignedBlockBoundWitnessWithHashMetaZod, 'asSignedBlockBoundWitnessWithHashMeta')\n\n/** SignedBlockBoundWitnessWithHashMetaishZod constant. */\nexport const SignedBlockBoundWitnessWithHashMetaishZod = SignedBlockBoundWitnessZod.transform(async (data) => {\n if (isSignedBlockBoundWitnessWithHashMeta(data)) {\n return data\n }\n if (isSignedBlockBoundWitness(data)) {\n return await PayloadBuilder.addHashMeta(data)\n }\n throw new Error('Invalid SignedBlockBoundWitnessWithHashMetaish format')\n})\n\n/** SignedBlockBoundWitnessWithHashMetaish type. */\nexport type SignedBlockBoundWitnessWithHashMetaish = z.input<typeof SignedBlockBoundWitnessWithHashMetaishZod>\n\n/** toSignedBlockBoundWitnessWithHashMeta constant. */\nexport const toSignedBlockBoundWitnessWithHashMeta = zodToFactory(SignedBlockBoundWitnessWithHashMetaZod, 'toSignedBlockBoundWitnessWithHashMeta')\n","import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { PayloadBuilder, WithStorageMetaZod } from '@xyo-network/sdk-js'\nimport type { z } from 'zod'\n\nimport { isSignedBlockBoundWitness, SignedBlockBoundWitnessZod } from './SignedBlockBoundWitness.ts'\n\n/** SignedBlockBoundWitnessWithStorageMetaZod constant. */\nexport const SignedBlockBoundWitnessWithStorageMetaZod = WithStorageMetaZod(SignedBlockBoundWitnessZod)\n\n/** SignedBlockBoundWitnessWithStorageMeta type. */\nexport type SignedBlockBoundWitnessWithStorageMeta = z.infer<typeof SignedBlockBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitnessWithStorageMeta. */\nexport const isSignedBlockBoundWitnessWithStorageMeta = zodIsFactory(SignedBlockBoundWitnessWithStorageMetaZod)\n/** Converts a value to SignedBlockBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asSignedBlockBoundWitnessWithStorageMeta = zodAsFactory(\n SignedBlockBoundWitnessWithStorageMetaZod,\n 'asSignedBlockBoundWitnessWithStorageMeta',\n)\n\n/** SignedBlockBoundWitnessWithStorageMetaishZod constant. */\nexport const SignedBlockBoundWitnessWithStorageMetaishZod = SignedBlockBoundWitnessZod.transform(async (data) => {\n if (isSignedBlockBoundWitnessWithStorageMeta(data)) {\n return data\n }\n if (isSignedBlockBoundWitness(data)) {\n return await PayloadBuilder.addStorageMeta(data)\n }\n throw new Error('Invalid SignedBlockBoundWitnessWithStorageMetaish format')\n})\n\n/** SignedBlockBoundWitnessWithStorageMetaish type. */\nexport type SignedBlockBoundWitnessWithStorageMetaish = z.input<typeof SignedBlockBoundWitnessWithStorageMetaishZod>\n\n/** toSignedBlockBoundWitnessWithStorageMeta constant. */\nexport const toSignedBlockBoundWitnessWithStorageMeta = zodToFactory(\n SignedBlockBoundWitnessWithStorageMetaishZod,\n 'toSignedBlockBoundWitnessWithStorageMeta',\n)\n","import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { UnsignedBoundWitnessZod } from '@xyo-network/sdk-js'\nimport type { z } from 'zod'\n\nimport { BlockBoundWitnessFieldsZod, BlockBoundWitnessMetaZod } from '../BlockBoundWitness.ts'\n\n/** UnsignedBlockBoundWitnessZod constant. */\nexport const UnsignedBlockBoundWitnessZod = UnsignedBoundWitnessZod\n .safeExtend(BlockBoundWitnessFieldsZod.shape)\n .safeExtend(BlockBoundWitnessMetaZod.shape)\n\n/** UnsignedBlockBoundWitness type. */\nexport type UnsignedBlockBoundWitness = z.infer<typeof UnsignedBlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid UnsignedBlockBoundWitness. */\nexport const isUnsignedBlockBoundWitness = zodIsFactory(UnsignedBlockBoundWitnessZod)\n/** Converts a value to UnsignedBlockBoundWitness, throwing if invalid. */\nexport const asUnsignedBlockBoundWitness = zodAsFactory(UnsignedBlockBoundWitnessZod, 'asUnsignedBlockBoundWitness')\n/** toUnsignedBlockBoundWitness constant. */\nexport const toUnsignedBlockBoundWitness = zodToFactory(UnsignedBlockBoundWitnessZod, 'toUnsignedBlockBoundWitness')\n","import { AsObjectFactory } from '@xylabs/sdk-js'\nimport type { Payload, WithSources } from '@xyo-network/sdk-js'\nimport {\n asSchema,\n isPayloadOfSchemaType,\n isPayloadOfSchemaTypeWithSources,\n} from '@xyo-network/sdk-js'\n\nimport type { XL1BlockNumber } from '../BlockNumber/index.ts'\n\n/** Schema identifier for BlockNumber payloads. */\nexport const BlockNumberSchema = asSchema('network.xyo.chain.block.number', true)\n/** Schema type for BlockNumber payloads. */\nexport type BlockNumberSchema = typeof BlockNumberSchema\n\n/** BlockNumberFields interface. */\nexport interface BlockNumberFields {\n /**\n * The block number\n */\n block: XL1BlockNumber\n}\n/**\n * The number of a block\n */\nexport type BlockNumberPayload = Payload<BlockNumberFields, BlockNumberSchema>\n\n/**\n * Identity function for determining if an object is a BlockNumber\n */\nexport const isBlockNumberPayload = isPayloadOfSchemaType<BlockNumberPayload>(BlockNumberSchema)\n/** Converts a value to BlockNumberPayload, throwing if invalid. */\nexport const asBlockNumberPayload = AsObjectFactory.create<BlockNumberPayload>(isBlockNumberPayload)\n\n/**\n * Identity function for determining if an object is a BlockNumber with sources\n */\nexport const isBlockNumberPayloadWithSources = isPayloadOfSchemaTypeWithSources<BlockNumberPayload>(BlockNumberSchema)\n/** Converts a value to BlockNumberPayloadWithSources, throwing if invalid. */\nexport const asBlockNumberPayloadWithSources = AsObjectFactory.create<WithSources<BlockNumberPayload>>(isBlockNumberPayloadWithSources)\n","import { type Address, type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport { WithHashMetaZod } from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nimport { BlockBoundWitnessZod } from '../block/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport { TransactionBoundWitnessZod } from '../transaction/index.ts'\nimport { TransferZod } from '../TransferPayload.ts'\nimport type { AttoXL1 } from '../xl1/index.ts'\nimport type { ChainQualified } from './ChainQualification.ts'\nimport { ChainQualificationZod, ChainQualifiedConfigZod } from './ChainQualification.ts'\n\n/** AccountBalanceHistoryItemZod constant. */\nexport const AccountBalanceHistoryItemZod = z.tuple([\n WithHashMetaZod(BlockBoundWitnessZod),\n WithHashMetaZod(TransactionBoundWitnessZod).nullable(),\n WithHashMetaZod(TransferZod),\n])\n\n/** AccountBalanceHistoryItem type. */\nexport type AccountBalanceHistoryItem = z.infer<typeof AccountBalanceHistoryItemZod>\n\n/** AccountBalanceQualificationZod constant. */\nexport const AccountBalanceQualificationZod = ChainQualificationZod\n/** AccountBalanceQualification type. */\nexport type AccountBalanceQualification = z.infer<typeof AccountBalanceQualificationZod>\n/** Type guard that checks if a value is a valid AccountBalanceQualification. */\nexport const isAccountBalanceQualification = zodIsFactory(AccountBalanceQualificationZod)\n\n/** AccountBalanceConfigZod constant. */\nexport const AccountBalanceConfigZod = ChainQualifiedConfigZod\n/** AccountBalanceConfig type. */\nexport type AccountBalanceConfig = z.infer<typeof AccountBalanceConfigZod>\n/** Type guard that checks if a value is a valid AccountBalanceConfig. */\nexport const isAccountBalanceConfig = zodIsFactory(AccountBalanceConfigZod)\n\n/** AccountBalanceViewerMethods interface. */\nexport interface AccountBalanceViewerMethods {\n qualifiedAccountBalanceHistories(\n address: Address[],\n config: AccountBalanceConfig\n ): Promisable<ChainQualified<Record<Address, AccountBalanceHistoryItem[]>>>\n qualifiedAccountBalances(address: Address[], config: AccountBalanceConfig): Promisable<ChainQualified<Record<Address, AttoXL1>>>\n}\n\n/** Viewer interface for reading AccountBalance data. */\nexport interface AccountBalanceViewer extends AccountBalanceViewerMethods, Provider<AccountBalanceViewerMoniker> {\n accountBalance(address: Address, config?: AccountBalanceConfig): Promisable<AttoXL1>\n accountBalanceHistories(address: Address[], config?: AccountBalanceConfig): Promisable<Record<Address, AccountBalanceHistoryItem[]>>\n accountBalanceHistory(address: Address, config?: AccountBalanceConfig): Promisable<AccountBalanceHistoryItem[]>\n accountBalances(address: Address[], config?: AccountBalanceConfig): Promisable<Record<Address, AttoXL1>>\n}\n\n/** Moniker identifier for the AccountBalanceViewer provider. */\nexport const AccountBalanceViewerMoniker = 'AccountBalanceViewer' as const\n/** Type literal for the AccountBalanceViewer provider moniker. */\nexport type AccountBalanceViewerMoniker = typeof AccountBalanceViewerMoniker\n","import { HashZod, zodIsFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport { XL1BlockRangeZod } from './BlockRange/index.ts'\n\n/** ChainQualificationZod constant. */\nexport const ChainQualificationZod = z.object({ head: HashZod, range: XL1BlockRangeZod })\n/** ChainQualification type. */\nexport type ChainQualification = z.infer<typeof ChainQualificationZod>\n/** Type guard that checks if a value is a valid ChainQualification. */\nexport const isChainQualification = zodIsFactory(ChainQualificationZod)\n\n/** ChainQualifiedRangeConfigZod constant. */\nexport const ChainQualifiedRangeConfigZod = z.object({ range: XL1BlockRangeZod })\n/** ChainQualifiedRangeConfig type. */\nexport type ChainQualifiedRangeConfig = z.infer<typeof ChainQualifiedRangeConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedRangeConfig. */\nexport const isChainQualifiedRangeConfig = zodIsFactory(ChainQualifiedRangeConfigZod)\n\n/** ChainQualifiedHeadConfigZod constant. */\nexport const ChainQualifiedHeadConfigZod = z.object({ head: HashZod })\n/** ChainQualifiedHeadConfig type. */\nexport type ChainQualifiedHeadConfig = z.infer<typeof ChainQualifiedHeadConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedHeadConfig. */\nexport const isChainQualifiedHeadConfig = zodIsFactory(ChainQualifiedHeadConfigZod)\n\n/** ChainQualifiedConfigZod constant. */\nexport const ChainQualifiedConfigZod = z.union([ChainQualifiedRangeConfigZod, ChainQualifiedHeadConfigZod, z.object({})])\n/** ChainQualifiedConfig type. */\nexport type ChainQualifiedConfig = z.infer<typeof ChainQualifiedConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedConfig. */\nexport const isChainQualifiedConfig = zodIsFactory(ChainQualifiedConfigZod)\n\n/** ExtendChainQualifiedConfigZod constant. */\nexport const ExtendChainQualifiedConfigZod = (<T>(zodType: z.ZodType<T>) => {\n return z.union([\n ChainQualifiedRangeConfigZod.extend(zodType),\n ChainQualifiedHeadConfigZod.extend(zodType),\n zodType,\n ])\n}) as <T>(zodType: z.ZodType<T>) => z.ZodType<T & ChainQualifiedConfig>\n\n/** ChainQualified type. */\nexport type ChainQualified<T> = [T, ChainQualification]\n/** ChainQualifiedZod constant. */\nexport const ChainQualifiedZod = <T>(zodType: z.ZodType<T>) => {\n return z.tuple([zodType, ChainQualificationZod])\n}\n","import type { AssertConfig, Brand } from '@xylabs/sdk-js'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport {\n asBlockNumber,\n type BlockNumber, BlockNumberishZod, BlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** BlockRange type. */\nexport type BlockRange = [BlockNumber, BlockNumber]\n\n/** BlockRangeZod constant. */\nexport const BlockRangeZod = z.tuple([BlockNumberZod, BlockNumberZod])\n/** BlockRangeishZod constant. */\nexport const BlockRangeishZod = z.tuple([BlockNumberishZod, BlockNumberishZod])\n\n/** BlockRangeish type. */\nexport type BlockRangeish = z.input<typeof BlockRangeishZod>\n\n/** Converts a value to BlockRange, throwing if invalid. */\nexport const asBlockRange = zodAsFactory<BlockRange>(BlockRangeZod, 'BlockRange')\n/** toBlockRange constant. */\nexport const toBlockRange = zodToFactory<BlockRange>(BlockRangeishZod, 'BlockRange')\n\n/** BlockRangeKey type. */\nexport type BlockRangeKey = Brand<string, { readonly __blockRangeKey: true }>\n/** toBlockNumberKey constant. */\nexport const toBlockNumberKey = (range: BlockRange) => `${range[0]}|${range[1]}` as BlockRangeKey\n\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey): BlockRange | undefined\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey, assert: AssertConfig): BlockRange\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey, assert?: AssertConfig): BlockRange | undefined {\n const [start, end] = key.split('|').map(v => asBlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid BlockRangeKey: ${key}`)\n}\n","import type { AssertConfig, Brand } from '@xylabs/sdk-js'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport {\n asEthBlockNumber,\n type EthBlockNumber, EthBlockNumberishZod, EthBlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** EthBlockRange type. */\nexport type EthBlockRange = [EthBlockNumber, EthBlockNumber]\n\n/** EthBlockRangeZod constant. */\nexport const EthBlockRangeZod = z.tuple([EthBlockNumberZod, EthBlockNumberZod])\n/** EthBlockRangeishZod constant. */\nexport const EthBlockRangeishZod = z.tuple([EthBlockNumberishZod, EthBlockNumberishZod])\n\n/** EthBlockRangeish type. */\nexport type EthBlockRangeish = z.input<typeof EthBlockRangeishZod>\n\n/** Converts a value to EthBlockRange, throwing if invalid. */\nexport const asEthBlockRange = zodAsFactory<EthBlockRange>(EthBlockRangeZod, 'EthBlockRange')\n/** toEthBlockRange constant. */\nexport const toEthBlockRange = zodToFactory<EthBlockRange>(EthBlockRangeishZod, 'EthBlockRange')\n\n/** EthBlockRangeKey type. */\nexport type EthBlockRangeKey = Brand<string, { readonly __ethBlockRangeKey: true }>\n/** toEthBlockNumberKey constant. */\nexport const toEthBlockNumberKey = (range: EthBlockRange) => `${range[0]}|${range[1]}` as EthBlockRangeKey\n\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey): EthBlockRange | undefined\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey, assert: AssertConfig): EthBlockRange\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey, assert?: AssertConfig): EthBlockRange | undefined {\n const [start, end] = key.split('|').map(v => asEthBlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid EthBlockRangeKey: ${key}`)\n}\n","import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\n/** RangeZod constant. */\nexport const RangeZod = z.tuple([z.number(), z.number()])\n\n/** Range type. */\nexport type Range = z.infer<typeof RangeZod>\n\n/** Type guard that checks if a value is a valid Range. */\nexport const isRange = zodIsFactory<Range>(RangeZod)\n/** Converts a value to Range, throwing if invalid. */\nexport const asRange = zodAsFactory<Range>(RangeZod, 'Range')\n/** toRange constant. */\nexport const toRange = zodToFactory<Range>(RangeZod, 'Range')\n","import type { AssertConfig, Brand } from '@xylabs/sdk-js'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport {\n asXL1BlockNumber,\n type XL1BlockNumber, XL1BlockNumberishZod, XL1BlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** XL1BlockRange type. */\nexport type XL1BlockRange = [XL1BlockNumber, XL1BlockNumber]\n\n/** XL1BlockRangeZod constant. */\nexport const XL1BlockRangeZod = z.tuple([XL1BlockNumberZod, XL1BlockNumberZod])\n/** XL1BlockRangeishZod constant. */\nexport const XL1BlockRangeishZod = z.tuple([XL1BlockNumberishZod, XL1BlockNumberishZod])\n\n/** XL1BlockRangeish type. */\nexport type XL1BlockRangeish = z.input<typeof XL1BlockRangeishZod>\n\n/** Converts a value to XL1BlockRange, throwing if invalid. */\nexport const asXL1BlockRange = zodAsFactory<XL1BlockRange>(XL1BlockRangeZod, 'XL1BlockRange')\n/** toXL1BlockRange constant. */\nexport const toXL1BlockRange = zodToFactory<XL1BlockRange>(XL1BlockRangeishZod, 'XL1BlockRange')\n\n/** XL1BlockRangeKey type. */\nexport type XL1BlockRangeKey = Brand<string, { readonly __xl1BlockRangeKey: true }>\n/** toXL1BlockNumberKey constant. */\nexport const toXL1BlockNumberKey = (range: XL1BlockRange) => `${range[0]}|${range[1]}` as XL1BlockRangeKey\n\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey): XL1BlockRange | undefined\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey, assert: AssertConfig): XL1BlockRange\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey, assert?: AssertConfig): XL1BlockRange | undefined {\n const [start, end] = key.split('|').map(v => asXL1BlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid XL1BlockRangeKey: ${key}`)\n}\n","import type { Address, EthAddress } from '@xylabs/sdk-js'\n\n/**\n * The Zero Address is used as a marker address for various protocol operations.\n */\nexport const XYO_ZERO_ADDRESS = '0000000000000000000000000000000000000000' as const as Address\n\n/**\n * The Bridge Address is used as a marker address for bridge transactions.\n */\nexport const XYO_BRIDGE_ADDRESS = '3012193230121932301219323012193230121932' as const as Address\n\n/**\n * The Network Staking Address is used as a marker address for staking the network.\n */\nexport const XYO_NETWORK_STAKING_ADDRESS = '1969196919691969196919691969196919691969' as const as Address\n\n/**\n * The Step Reward Address is used as a marker address for step rewards.\n */\nexport const XYO_STEP_REWARD_ADDRESS = '1216197612161976121619761216197612161976' as const as Address\n\n/** XL1_ETH_MAIN_ERC20_CONTRACT_ADDRESS constant. */\nexport const XL1_ETH_MAIN_ERC20_CONTRACT_ADDRESS = '0xf72aE3E0DA743033AbD7A407557D684c1aE66aed' as const as EthAddress\n\n/** XL1_ETH_MAIN_SUB_GOVERNOR_ADDRESS constant. */\nexport const XL1_ETH_MAIN_SUB_GOVERNOR_ADDRESS = '0xbA296Bc5D0949C0484f08c56c30FB95CC4675A29' as const as EthAddress\n\n/** XL1_ETH_MAIN_REWARDS_ADDRESS constant. */\nexport const XL1_ETH_MAIN_REWARDS_ADDRESS = '0x1a546e091FB4EFb274DC584334a28b8754c4ece7' as const as EthAddress\n\n/** XL1_ETH_MAIN_STAKED_XYO_CHAIN_ADDRESS constant. */\nexport const XL1_ETH_MAIN_STAKED_XYO_CHAIN_ADDRESS = '0x319e667cED10452A117472811130444dED357F26' as const as EthAddress\n\n/** XL1_ETH_MAIN_GOVERNANCE_ADDRESS constant. */\nexport const XL1_ETH_MAIN_GOVERNANCE_ADDRESS = '0x7595710956d6B14b4f2F51a8dF41379eEeC9074E' as const as EthAddress\n","import { z } from 'zod'\n\nfunction base64Encode(u8: Uint8Array): string {\n // Node\n if (typeof Buffer !== 'undefined' && typeof Buffer.from === 'function') {\n return Buffer.from(u8).toString('base64')\n }\n\n // Browser\n let binary = ''\n const chunk = 0x80_00\n for (let i = 0; i < u8.length; i += chunk) {\n // eslint-disable-next-line unicorn/prefer-code-point\n binary += String.fromCharCode(...u8.subarray(i, i + chunk))\n }\n return btoa(binary)\n}\n\n/** Base64 decode that works in Node and browsers -> Uint8Array */\nfunction base64Decode(b64: string): Uint8Array {\n // Node\n if (typeof Buffer !== 'undefined' && typeof Buffer.from === 'function') {\n return new Uint8Array(Buffer.from(b64, 'base64'))\n }\n\n // Browser\n const binary = atob(b64)\n const u8 = new Uint8Array(binary.length)\n // eslint-disable-next-line unicorn/prefer-code-point\n for (let i = 0; i < binary.length; i++) u8[i] = binary.charCodeAt(i)\n return u8\n}\n\n/** ArrayBufferToJsonZod constant. */\nexport const ArrayBufferToJsonZod = z.instanceof(ArrayBuffer).transform((x) => {\n const u8 = new Uint8Array(x)\n return base64Encode(u8)\n})\n\n/** JsonToArrayBufferZod constant. */\nexport const JsonToArrayBufferZod = z.string().transform((x) => {\n const u8 = base64Decode(x)\n return u8.buffer\n})\n","import { zodAsFactory, zodIsFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { EthBlockNumber, XL1BlockNumber } from '../BlockNumber/index.ts'\nimport { StepSizes } from '../Step/index.ts'\nimport { XL1BlockRangeZod } from './BlockRange/index.ts'\n\n/** TimeDurationsZod constant. */\nexport const TimeDurationsZod = z.object({\n millis: z.number().nonnegative(),\n seconds: z.number().nonnegative(),\n minutes: z.number().nonnegative(),\n hours: z.number().nonnegative(),\n days: z.number().nonnegative(),\n weeks: z.number().nonnegative(),\n})\n\n/** Type guard that checks if a value is a valid TimeDurations. */\nexport const isTimeDurations = zodIsFactory(TimeDurationsZod)\n/** Converts a value to TimeDurations, throwing if invalid. */\nexport const asTimeDurations = zodAsFactory(TimeDurationsZod, 'asTimeDurations')\n/** toTimeDurations constant. */\nexport const toTimeDurations = zodAsFactory(TimeDurationsZod, 'toTimeDurations')\n\n/** TimeDurations type. */\nexport type TimeDurations = z.infer<typeof TimeDurationsZod>\n\n/** BlockRateZod constant. */\nexport const BlockRateZod = z.object({\n range: XL1BlockRangeZod.describe('the block range the rate was calculated over'),\n rate: z.number().nonnegative().describe('rate of blocks per specified time unit'),\n timeUnit: TimeDurationsZod.keyof().describe('the unit of time for the rate and timePerBlock'),\n span: z.int().nonnegative().describe('number of blocks the rate was calculated over'),\n timeDifference: z.number().nonnegative().describe('time difference from start and end block'),\n timePerBlock: z.number().nonnegative().describe('average time per block for the given range'),\n})\n\n/** BlockRate type. */\nexport type BlockRate = z.infer<typeof BlockRateZod>\n\n/** GenericBlockRate type. */\nexport type GenericBlockRate<TBlockNumber extends number> = Omit<BlockRate, 'range'> & {\n range: [TBlockNumber, TBlockNumber]\n}\n\n/** XL1BlockRate interface. */\nexport interface XL1BlockRate extends GenericBlockRate<XL1BlockNumber> {}\n/** EthBlockRate interface. */\nexport interface EthBlockRate extends GenericBlockRate<EthBlockNumber> {}\n\n/** Type guard that checks if a value is a valid BlockRate. */\nexport const isBlockRate = zodIsFactory(BlockRateZod)\n/** Converts a value to BlockRate, throwing if invalid. */\nexport const asBlockRate = zodAsFactory(BlockRateZod, 'asBlockRate')\n/** toBlockRate constant. */\nexport const toBlockRate = zodAsFactory(BlockRateZod, 'toBlockRate')\n\n/** CountZod constant. */\nexport const CountZod = z.int().nonnegative().describe('A non-negative integer count')\n/** Count type. */\nexport type Count = z.infer<typeof CountZod>\n\n/** StepIndexZod constant. */\nexport const StepIndexZod = z.int().min(0).max(StepSizes.length).describe('A non-negative integer step index')\n/** StepIndex type. */\nexport type StepIndex = z.infer<typeof StepIndexZod>\n\nconst timeUnitSchema = z.number().positive()\n\n/** TimeConfigZod constant. */\nexport const TimeConfigZod = z.object({\n minutes: timeUnitSchema.optional(),\n hours: timeUnitSchema.optional(),\n days: timeUnitSchema.optional(),\n weeks: timeUnitSchema.optional(),\n months: timeUnitSchema.optional(),\n years: timeUnitSchema.optional(),\n}).describe('Time configuration with optional time units')\n\n/** TimeConfig type. */\nexport type TimeConfig = z.infer<typeof TimeConfigZod>\n\n/** Type guard that checks if a value is a valid TimeConfig. */\nexport const isTimeConfig = zodIsFactory(TimeConfigZod)\n/** Converts a value to TimeConfig, throwing if invalid. */\nexport const asTimeConfig = zodAsFactory(TimeConfigZod, 'asTimeConfig')\n/** toTimeConfig constant. */\nexport const toTimeConfig = zodAsFactory(TimeConfigZod, 'toTimeConfig')\n\n/** SingleTimeConfigZod constant. */\nexport const SingleTimeConfigZod = z.union([\n z.object({ minutes: timeUnitSchema }),\n z.object({ hours: timeUnitSchema }),\n z.object({ days: timeUnitSchema }),\n z.object({ weeks: timeUnitSchema }),\n z.object({ months: timeUnitSchema }),\n z.object({ years: timeUnitSchema }),\n]).describe('Time configuration with exactly one time unit')\n\n/** SingleTimeConfig type. */\nexport type SingleTimeConfig = z.infer<typeof SingleTimeConfigZod>\n\n/** Type guard that checks if a value is a valid SingleTimeConfig. */\nexport const isSingleTimeConfig = zodIsFactory(SingleTimeConfigZod)\n/** Converts a value to SingleTimeConfig, throwing if invalid. */\nexport const asSingleTimeConfig = zodAsFactory(SingleTimeConfigZod, 'asSingleTimeConfig')\n/** toSingleTimeConfig constant. */\nexport const toSingleTimeConfig = zodAsFactory(SingleTimeConfigZod, 'toSingleTimeConfig')\n","import type { MeterProvider, TracerProvider } from '@opentelemetry/api'\nimport type { Logger } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { MapType } from '../../map/index.ts'\n\n/** CachesZod constant. */\nexport const CachesZod = z.record(\n z.string(),\n z.custom<MapType<string, unknown>>(val => val && typeof val === 'object' && ('get' in val || 'set' in val)),\n)\n\n/** SingletonsZod constant. */\nexport const SingletonsZod = z.record(z.union([z.string(), z.symbol()]), z.unknown())\n\n/** LoggerZod constant. */\nexport const LoggerZod = z.custom<Logger>(val => val && typeof val === 'object' && 'info' in val && 'error' in val)\n\n/** MeterProviderZod constant. */\nexport const MeterProviderZod = z.custom<MeterProvider>(val => val && typeof val === 'object' && 'getMeter' in val)\n\n/** TracerProviderZod constant. */\nexport const TracerProviderZod = z.custom<TracerProvider>(val => val && typeof val === 'object' && 'getTracer' in val)\n\n/** TimeBudgetLimitZod constant. */\nexport const TimeBudgetLimitZod = z.number()\n\n/** BaseContextZod constant. */\nexport const BaseContextZod = z.object({\n caches: CachesZod.optional(),\n logger: LoggerZod.optional(),\n meterProvider: MeterProviderZod.optional(),\n singletons: SingletonsZod,\n timeBudgetLimit: TimeBudgetLimitZod.optional(),\n traceProvider: TracerProviderZod.optional(),\n})\n","import type {\n Payload,\n ReadArchivist, WriteArchivist,\n} from '@xyo-network/sdk-js'\nimport z from 'zod'\n\nimport { CachingContextZod } from './CachingContext.zod.ts'\n\n/** BlockContextReadZod constant. */\nexport const BlockContextReadZod = CachingContextZod.extend(\n { chainMap: z.custom<ReadArchivist<Payload>>(val => val && typeof val === 'object' && ('get' in val)) },\n)\n\n/** BlockContextWriteZod constant. */\nexport const BlockContextWriteZod = CachingContextZod.extend(\n { chainMap: z.custom<WriteArchivist<Payload>>(val => val && typeof val === 'object' && ('get' in val && 'insert' in val)) },\n)\n\n/** BlockContextZod constant. */\nexport const BlockContextZod = BlockContextWriteZod\n","import { BaseContextZod, CachesZod } from './BaseContext.zod.ts'\n\n/** CachingContextZod constant. */\nexport const CachingContextZod = BaseContextZod.extend({ caches: CachesZod })\n","import { WithHashMetaZod } from '@xyo-network/sdk-js'\nimport z from 'zod'\n\nimport { BlockBoundWitnessZod } from '../../block/index.ts'\nimport { CachingContextZod } from './CachingContext.zod.ts'\n\n/** HeadContextBaseZod constant. */\nexport const HeadContextBaseZod = z.object(\n { head: WithHashMetaZod(BlockBoundWitnessZod) },\n)\n\n/** HeadContextZod constant. */\nexport const HeadContextZod = CachingContextZod.safeExtend(HeadContextBaseZod.shape)\n","import {\n BlockContextReadZod, BlockContextWriteZod, BlockContextZod,\n} from './BlockContext.zod.ts'\nimport { HeadContextBaseZod } from './HeadContext.zod.ts'\n\n/** ChainContextReadZod constant. */\nexport const ChainContextReadZod = BlockContextReadZod.safeExtend(HeadContextBaseZod.shape)\n\n/** ChainContextWriteZod constant. */\nexport const ChainContextWriteZod = BlockContextWriteZod.safeExtend(\n HeadContextBaseZod.shape,\n)\n\n/** ChainContextZod constant. */\nexport const ChainContextZod = BlockContextZod.safeExtend(\n HeadContextBaseZod.shape,\n)\n","// the percent of the block rewards the producer gets\n/** defaultRewardRatio value. */\nexport const defaultRewardRatio = 0.05 as const // 5.0% goes to block producer\n","import type { TransactionFeesBigInt } from '../transaction/index.ts'\nimport { AttoXL1, AttoXL1ConvertFactor } from '../xl1/index.ts'\n\n/** minTransactionFees value. */\nexport const minTransactionFees: TransactionFeesBigInt = {\n base: AttoXL1(1000n * AttoXL1ConvertFactor.nano),\n gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.nano),\n gasLimit: AttoXL1(1_000_000n * AttoXL1ConvertFactor.nano),\n priority: AttoXL1(0n * AttoXL1ConvertFactor.nano),\n} as const\n","import type { TransactionFeesBigInt } from '../transaction/index.ts'\nimport { AttoXL1, AttoXL1ConvertFactor } from '../xl1/index.ts'\nimport { minTransactionFees } from './minTransactionFees.ts'\n\n/** defaultTransactionFees value. */\nexport const defaultTransactionFees: TransactionFeesBigInt = {\n base: minTransactionFees.base,\n gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.nano),\n gasLimit: AttoXL1(1_000_000n * AttoXL1ConvertFactor.nano),\n priority: minTransactionFees.priority,\n} as const\n","import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk-js'\nimport {\n PayloadZod,\n PayloadZodLoose, WithHashMetaZod,\n WithStorageMetaZod,\n} from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nimport {\n SignedTransactionBoundWitnessZod, TransactionBoundWitnessZod, UnsignedTransactionBoundWitnessZod,\n} from '../transaction/index.ts'\n\n/** HydratedTransactionZod constant. */\nexport const HydratedTransactionZod = z.tuple([\n TransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated Transaction with resolved payloads. */\nexport type HydratedTransaction = z.infer<typeof HydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid HydratedTransaction. */\nexport const isHydratedTransaction = zodIsFactory(HydratedTransactionZod)\n/** Converts a value to HydratedTransaction, throwing if invalid. */\nexport const asHydratedTransaction = zodAsFactory(HydratedTransactionZod, 'asHydratedTransaction')\n/** toHydratedTransaction constant. */\nexport const toHydratedTransaction = zodToFactory(HydratedTransactionZod, 'toHydratedTransaction')\n\n/** HydratedTransactionWithHashMetaZod constant. */\nexport const HydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(TransactionBoundWitnessZod),\n z.array(WithHashMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated TransactionWithHashMeta with resolved payloads. */\nexport type HydratedTransactionWithHashMeta = z.infer<typeof HydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedTransactionWithHashMeta. */\nexport const isHydratedTransactionWithHashMeta = zodIsFactory(HydratedTransactionWithHashMetaZod)\n/** Converts a value to HydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asHydratedTransactionWithHashMeta = zodAsFactory(HydratedTransactionWithHashMetaZod, 'asHydratedTransactionWithHashMeta')\n/** toHydratedTransactionWithHashMeta constant. */\nexport const toHydratedTransactionWithHashMeta = zodToFactory(HydratedTransactionWithHashMetaZod, 'toHydratedTransactionWithHashMeta')\n\n/** HydratedTransactionWithStorageMetaZod constant. */\nexport const HydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(TransactionBoundWitnessZod),\n z.array(WithStorageMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated TransactionWithStorageMeta with resolved payloads. */\nexport type HydratedTransactionWithStorageMeta = z.infer<typeof HydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedTransactionWithStorageMeta. */\nexport const isHydratedTransactionWithStorageMeta = zodIsFactory(HydratedTransactionWithStorageMetaZod)\n/** Converts a value to HydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asHydratedTransactionWithStorageMeta = zodAsFactory(HydratedTransactionWithStorageMetaZod, 'asHydratedTransactionWithStorageMeta')\n/** toHydratedTransactionWithStorageMeta constant. */\nexport const toHydratedTransactionWithStorageMeta = zodToFactory(HydratedTransactionWithStorageMetaZod, 'toHydratedTransactionWithStorageMeta')\n\n/** UnsignedHydratedTransactionZod constant. */\nexport const UnsignedHydratedTransactionZod = z.tuple([\n UnsignedTransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated UnsignedTransaction with resolved payloads. */\nexport type UnsignedHydratedTransaction = z.infer<typeof UnsignedHydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransaction. */\nexport const isUnsignedHydratedTransaction = zodIsFactory(UnsignedHydratedTransactionZod)\n/** Converts a value to UnsignedHydratedTransaction, throwing if invalid. */\nexport const asUnsignedHydratedTransaction = zodAsFactory(UnsignedHydratedTransactionZod, 'asUnsignedHydratedTransaction')\n/** toUnsignedHydratedTransaction constant. */\nexport const toUnsignedHydratedTransaction = zodToFactory(UnsignedHydratedTransactionZod, 'toUnsignedHydratedTransaction')\n\n/** UnsignedHydratedTransactionWithHashMetaZod constant. */\nexport const UnsignedHydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(UnsignedTransactionBoundWitnessZod),\n z.array(WithHashMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated UnsignedTransactionWithHashMeta with resolved payloads. */\nexport type UnsignedHydratedTransactionWithHashMeta = z.infer<typeof UnsignedHydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransactionWithHashMeta. */\nexport const isUnsignedHydratedTransactionWithHashMeta = zodIsFactory(UnsignedHydratedTransactionWithHashMetaZod)\n/** Converts a value to UnsignedHydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asUnsignedHydratedTransactionWithHashMeta = zodAsFactory(UnsignedHydratedTransactionWithHashMetaZod, 'asUnsignedHydratedTransactionWithHashMeta')\n/** toUnsignedHydratedTransactionWithHashMeta constant. */\nexport const toUnsignedHydratedTransactionWithHashMeta = zodToFactory(UnsignedHydratedTransactionWithHashMetaZod, 'toUnsignedHydratedTransactionWithHashMeta')\n\n/** UnsignedHydratedTransactionWithStorageMetaZod constant. */\nexport const UnsignedHydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(UnsignedTransactionBoundWitnessZod),\n z.array(WithStorageMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated UnsignedTransactionWithStorageMeta with resolved payloads. */\nexport type UnsignedHydratedTransactionWithStorageMeta = z.infer<typeof UnsignedHydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransactionWithStorageMeta. */\nexport const isUnsignedHydratedTransactionWithStorageMeta = zodIsFactory(UnsignedHydratedTransactionWithStorageMetaZod)\n/** Converts a value to UnsignedHydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asUnsignedHydratedTransactionWithStorageMeta = zodAsFactory(\n UnsignedHydratedTransactionWithStorageMetaZod,\n 'asUnsignedHydratedTransactionWithStorageMeta',\n)\n/** toUnsignedHydratedTransactionWithStorageMeta constant. */\nexport const toUnsignedHydratedTransactionWithStorageMeta = zodToFactory(\n UnsignedHydratedTransactionWithStorageMetaZod,\n 'toUnsignedHydratedTransactionWithStorageMeta',\n)\n\n/** SignedHydratedTransactionZod constant. */\nexport const SignedHydratedTransactionZod = z.tuple([\n SignedTransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated SignedTransaction with resolved payloads. */\nexport type SignedHydratedTransaction = z.infer<typeof SignedHydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransaction. */\nexport const isSignedHydratedTransaction = zodIsFactory(SignedHydratedTransactionZod)\n/** Converts a value to SignedHydratedTransaction, throwing if invalid. */\nexport const asSignedHydratedTransaction = zodAsFactory(SignedHydratedTransactionZod, 'asSignedHydratedTransaction')\n/** toSignedHydratedTransaction constant. */\nexport const toSignedHydratedTransaction = zodToFactory(SignedHydratedTransactionZod, 'toSignedHydratedTransaction')\n\n/** SignedHydratedTransactionWithHashMetaZod constant. */\nexport const SignedHydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(SignedTransactionBoundWitnessZod),\n z.array(WithHashMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated SignedTransactionWithHashMeta with resolved payloads. */\nexport type SignedHydratedTransactionWithHashMeta = z.infer<typeof SignedHydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransactionWithHashMeta. */\nexport const isSignedHydratedTransactionWithHashMeta = zodIsFactory(SignedHydratedTransactionWithHashMetaZod)\n/** Converts a value to SignedHydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asSignedHydratedTransactionWithHashMeta = zodAsFactory(SignedHydratedTransactionWithHashMetaZod, 'asSignedHydratedTransactionWithHashMeta')\n/** toSignedHydratedTransactionWithHashMeta constant. */\nexport const toSignedHydratedTransactionWithHashMeta = zodToFactory(SignedHydratedTransactionWithHashMetaZod, 'toSignedHydratedTransactionWithHashMeta')\n\n/** SignedHydratedTransactionWithStorageMetaZod constant. */\nexport const SignedHydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(SignedTransactionBoundWitnessZod),\n z.array(WithStorageMetaZod(PayloadZod).loose()),\n])\n\n/** Type representing a hydrated SignedTransactionWithStorageMeta with resolved payloads. */\nexport type SignedHydratedTransactionWithStorageMeta = z.infer<typeof SignedHydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransactionWithStorageMeta. */\nexport const isSignedHydratedTransactionWithStorageMeta = zodIsFactory(SignedHydratedTransactionWithStorageMetaZod)\n/** Converts a value to SignedHydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asSignedHydratedTransactionWithStorageMeta = zodAsFactory(\n SignedHydratedTransactionWithStorageMetaZod,\n 'asSignedHydratedTransactionWithStorageMeta',\n)\n/** toSignedHydratedTransactionWithStorageMeta constant. */\nexport const toSignedHydratedTransactionWithStorageMeta = zodToFactory(\n SignedHydratedTransactionWithStorageMetaZod,\n 'toSignedHydratedTransactionWithStorageMeta',\n)\n","/** ELEVATE_OPCODE constant. */\nexport const ELEVATE_OPCODE = 'elevate'\n","import { z } from 'zod'\n\n/** CaveatTypesZod constant. */\nexport const CaveatTypesZod = z.enum(['chain', 'expiration', 'filteredResponse', 'rateLimit', 'restrictReturnedAccounts'])\n\n/** CaveatsZod constant. */\nexport const CaveatsZod = z.object({\n type: CaveatTypesZod,\n value: z.json(),\n})\n\n/** PermissionZod constant. */\nexport const PermissionZod = z.object({\n parentCapability: z.string(),\n caveats: CaveatsZod.array().optional(),\n invoker: z.string(),\n})\n\n/** InvokerPermissionZod constant. */\nexport const InvokerPermissionZod = PermissionZod.safeExtend({ date: z.number().optional() })\n\n/** PermissionRequestZod constant. */\nexport const PermissionRequestZod = z.record(z.string(), z.record(z.string(), z.any()))\n\n/** RequestedPermissionZod constant. */\nexport const RequestedPermissionZod = z.object({\n parentCapability: z.string(),\n date: z.number().optional(),\n})\n","import { toFixedPoint } from '@xylabs/sdk-js'\n\nimport { asAttoXL1 } from '../xl1/index.ts'\n\n/** XL1_REWARDS_PLACES constant. */\nexport const XL1_REWARDS_PLACES = 18 as const\n/** XL1_REWARDS_STARTING_REWARD constant. */\nexport const XL1_REWARDS_STARTING_REWARD = asAttoXL1(toFixedPoint(500n, XL1_REWARDS_PLACES))\n/** XL1_REWARDS_BLOCKS_PER_STEP constant. */\nexport const XL1_REWARDS_BLOCKS_PER_STEP = 1_000_000\n/** XL1_REWARDS_STEP_FACTOR_NUMERATOR constant. */\nexport const XL1_REWARDS_STEP_FACTOR_NUMERATOR = 95n\n/** XL1_REWARDS_STEP_FACTOR_DENOMINATOR constant. */\nexport const XL1_REWARDS_STEP_FACTOR_DENOMINATOR = 100n\n/** XL1_REWARDS_MIN_BLOCK_REWARD constant. */\nexport const XL1_REWARDS_MIN_BLOCK_REWARD = asAttoXL1(toFixedPoint(10n, XL1_REWARDS_PLACES))\n/** XL1_REWARDS_CREATOR_REWARD constant. */\nexport const XL1_REWARDS_CREATOR_REWARD = asAttoXL1(toFixedPoint(20_000_000_000n, XL1_REWARDS_PLACES))\n","import { AddressZod } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport { StepIdentityZod } from '../Step/index.ts'\nimport { BlockRangeZod } from './BlockRange/index.ts'\n\n/** RewardsRangeOptionsZod constant. */\nexport const RewardsRangeOptionsZod = z.object({\n positions: z.array(z.number()).optional(),\n range: BlockRangeZod.optional(),\n steps: z.array(StepIdentityZod).optional(),\n stakers: z.array(AddressZod).optional(),\n})\n","import { HexRegExMinMax, toHex } from '@xylabs/sdk-js'\nimport type { LocalSequence, QualifiedSequence } from '@xyo-network/sdk-js'\nimport { SequenceConstants } from '@xyo-network/sdk-js'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\n/** LocalSequenceToStringZod constant. */\nexport const LocalSequenceToStringZod = z.string().regex(LocalSequenceRegex)\n/** LocalSequenceFromStringZod constant. */\nexport const LocalSequenceFromStringZod = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v) as LocalSequence)\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\n/** QualifiedSequenceToStringZod constant. */\nexport const QualifiedSequenceToStringZod = z.string().regex(QualifiedSequenceRegex)\n/** QualifiedSequenceFromStringZod constant. */\nexport const QualifiedSequenceFromStringZod = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v) as QualifiedSequence)\n\n/** SequenceToStringZod constant. */\nexport const SequenceToStringZod = z.union([LocalSequenceToStringZod, QualifiedSequenceToStringZod])\n/** SequenceFromStringZod constant. */\nexport const SequenceFromStringZod = z.union([LocalSequenceFromStringZod, QualifiedSequenceFromStringZod])\n","import { AddressZod, HexZod } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport {\n AttoToJsonZod, AttoZod, JsonToAttoZod,\n} from '../transaction/index.ts'\nimport type { PositionId } from './PositionId.ts'\n\n/** StakeZod constant. */\nexport const StakeZod = z.object({\n amount: AttoZod,\n // the block number when the stake was added\n addBlock: z.number(),\n // the unique id for the stake item\n id: z.number(),\n // the block number when the stake was removed (set to 0 if not removed)\n removeBlock: z.number(),\n // the address that is being staked\n staked: AddressZod,\n // the address that owns the stake\n staker: AddressZod,\n // the block number when the stake was withdrawn (set to 0 if not withdrawn)\n withdrawBlock: z.number(),\n})\n\n/** StakeToJsonZod constant. */\nexport const StakeToJsonZod = StakeZod.transform(val => ({\n addBlock: val.addBlock,\n amount: AttoToJsonZod.parse(val.amount),\n id: val.id,\n removeBlock: val.removeBlock,\n staked: AddressZod.parse(val.staked),\n staker: AddressZod.parse(val.staker),\n withdrawBlock: val.withdrawBlock,\n}))\n\n// we intentionally use extend and not safeExtend here to ensure all fields are present\n/** JsonToStakeZod constant. */\nexport const JsonToStakeZod = StakeZod.extend({ amount: HexZod }).transform(val => ({\n addBlock: val.addBlock,\n amount: JsonToAttoZod.parse(val.amount),\n id: val.id as PositionId,\n removeBlock: val.removeBlock,\n staked: val.staked,\n staker: val.staker,\n withdrawBlock: val.withdrawBlock,\n}))\n","import { z } from 'zod'\n\n/** TimeDomainZod constant. */\nexport const TimeDomainZod = z.union([\n z.literal('xl1'),\n z.literal('epoch'),\n z.literal('ethereum'),\n])\n","import { AddressZod } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\n/** TransferPairZod constant. */\nexport const TransferPairZod = z.tuple([\n AddressZod, AddressZod,\n])\n","/** XL1_PROTOCOL_VERSION_MAJOR constant. */\nexport const XL1_PROTOCOL_VERSION_MAJOR = 1 as const\n/** XL1_PROTOCOL_VERSION_MINOR constant. */\nexport const XL1_PROTOCOL_VERSION_MINOR = 2 as const\n/** XL1_PROTOCOL_VERSION_PATCH constant. */\nexport const XL1_PROTOCOL_VERSION_PATCH = 0 as const\n/** XL1_PROTOCOL_VERSION_STRING constant. */\nexport const XL1_PROTOCOL_VERSION_STRING = `${XL1_PROTOCOL_VERSION_MAJOR}.${XL1_PROTOCOL_VERSION_MINOR}.${XL1_PROTOCOL_VERSION_PATCH}` as const\n/** XL1_PROTOCOL_VERSION constant. */\nexport const XL1_PROTOCOL_VERSION = XL1_PROTOCOL_VERSION_MAJOR * 1_000_000 + XL1_PROTOCOL_VERSION_MINOR * 1000 + XL1_PROTOCOL_VERSION_PATCH\n","import type { Payload } from '@xyo-network/sdk-js'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk-js'\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 type 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 { assertEx, isString } from '@xylabs/sdk-js'\n\n/** Type literal for the Provider provider moniker. */\nexport type ProviderMoniker = string\n\n/** Moniker identifier for the asProvider provider. */\nexport const asProviderMoniker = <T>(value: T) => {\n const moniker = isString(value) ? (value as unknown as ProviderMoniker) : undefined\n return assertEx(moniker)\n}\n\n/** Moniker identifier for the DefaultProvider provider. */\nexport const DefaultProviderMoniker = 'Provider' as const\n/** Type literal for the DefaultProvider provider moniker. */\nexport type DefaultProviderMoniker = typeof DefaultProviderMoniker\n","import type { Hash } from '@xylabs/sdk-js'\nimport type { WriteArchivistFunctions } from '@xyo-network/sdk-js'\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 '@xylabs/sdk-js'\nimport type { ReadArchivistFunctions, Sequence } from '@xyo-network/sdk-js'\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 { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Payload, Signed } from '@xyo-network/sdk-js'\n\nimport type { AllowedBlockPayload } from '../../block/index.ts'\nimport type { ChainId } from '../../chain/index.ts'\nimport type { SignedHydratedTransactionWithHashMeta } from '../../model/index.ts'\nimport type { Provider } from '../../provider/index.ts'\nimport type { TransactionBoundWitness, TransactionFeesBigInt } from '../../transaction/index.ts'\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. */\nexport interface XyoSignerMethods {\n address(): Promisable<Address>\n // The tx passed in must have all the payloads (on and off chain) in the payloads array\n // Returns the signed transaction and the payloads array excluding the off-chain payloads.\n // The return value is ready to be broadcast to block producers\n signTransaction(tx: [TransactionBoundWitness, Payload[]]): Promisable<SignedHydratedTransactionWithHashMeta>\n}\n\n/** XyoSigner interface. */\nexport interface XyoSigner extends XyoSignerMethods, Provider<XyoSignerMoniker> {}\n\n/** XyoSignerDeprecated interface. */\nexport interface XyoSignerDeprecated {\n /** @deprecated use signTransaction instead */\n createSignedTransaction(\n chain: ChainId,\n elevatedPayloads: AllowedBlockPayload[],\n additionalPayloads: Payload[],\n nbf: number,\n exp: number,\n fees: TransactionFeesBigInt,\n from?: Address,\n ): Promisable<Signed<TransactionBoundWitness>>\n}\n","import type { Provider } from '../provider/index.ts'\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 '../provider/index.ts'\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 Address, Hash, Logger, Promisable,\n} from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\n\nimport type { AllowedBlockPayload } from '../block/index.ts'\nimport type { XL1BlockNumber } from '../BlockNumber/index.ts'\nimport type { ChainId } from '../chain/index.ts'\nimport type {\n SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,\n UnsignedHydratedTransaction,\n} from '../model/index.ts'\nimport type { TransactionFeesBigInt } from '../transaction/index.ts'\nimport type { AttoXL1 } from '../xl1/index.ts'\nimport type { XyoSigner } from './signer/index.ts'\nimport type { XyoGatewayProvider } from './XyoGateway.ts'\n\n/** ConfirmSubmittedTransactionOptions type. */\nexport type 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 * 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?: Address\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: Address, amount: AttoXL1, options?: TransactionOptions): Promisable<Hash>\n sendMany(transfers: Record<Address, 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","import type { Hash, Promisable } from '@xylabs/sdk-js'\n\nimport type { SignedHydratedTransaction } from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\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-js'\n\nimport type {\n BlockBoundWitness, SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta,\n} from '../block/index.ts'\nimport type { Provider } from '../provider/index.ts'\n\n/** BlockRunnerMethods interface. */\nexport interface BlockRunnerMethods {\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force: true): Promise<SignedHydratedBlockWithHashMeta>\n produceNextBlock(head: SignedBlockBoundWitnessWithHashMeta, force?: false): 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 { Hash } from '@xylabs/sdk-js'\n\nimport type { SignedHydratedBlockWithHashMeta } from '../block/index.ts'\nimport type { Provider } from '../provider/index.ts'\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 '@xylabs/sdk-js'\n\nimport type { SignedHydratedBlock } from '../block/index.ts'\nimport type { SignedHydratedTransaction } from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\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 Hash, isHash } from '@xylabs/sdk-js'\nimport { isError } from '@xylabs/sdk-js'\nimport type { Payload } from '@xyo-network/sdk-js'\n\n/** Error thrown during validation operations. */\nexport class ValidationError<TValue = Payload> extends Error {\n hash: Hash\n value: TValue\n constructor(hash: Hash, value: TValue, message?: string, cause?: unknown) {\n super(message)\n this.hash = hash\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 = <TValue = Payload>(\n error: unknown,\n): error is ValidationError<TValue> => {\n return (\n isError(error) && isHash((error as ValidationError<TValue>)?.hash) && (error as ValidationError<TValue>)?.value !== undefined\n )\n}\n","import type { Hash } from '@xylabs/sdk-js'\n\nimport type { BlockBoundWitness, HydratedBlock } from '../../block/index.ts'\nimport type { ChainId } from '../../chain/index.ts'\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during Blockvalidation operations. */\nexport class BlockValidationError extends ValidationError<BlockBoundWitness> {}\n\n/** Type guard that checks if a value is a valid BlockValidationError. */\nexport const isBlockValidationError = (\n error: unknown,\n): error is BlockValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === BlockValidationError.constructor.name\n )\n}\n\n/** Error thrown during HydratedBlockvalidation operations. */\nexport class HydratedBlockValidationError extends ValidationError<HydratedBlock> {}\n\n/** Type guard that checks if a value is a valid HydratedBlockValidationError. */\nexport const isHydratedBlockValidationError = (\n error: unknown,\n): error is HydratedBlockValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedBlockValidationError.constructor.name\n )\n}\n\n/** Error thrown during HydratedBlockStatevalidation operations. */\nexport class HydratedBlockStateValidationError extends ValidationError<HydratedBlock> {\n chainId: ChainId\n constructor(hash: Hash, chainId: ChainId, value: HydratedBlock, message?: string, cause?: unknown) {\n super(hash, value, message, cause)\n this.chainId = chainId\n }\n}\n\n/** Type guard that checks if a value is a valid HydratedBlockStateValidationError. */\nexport const isHydratedBlockStateValidationError = (\n error: unknown,\n): error is HydratedBlockStateValidationError => {\n if (!isValidationError(error)) return false\n return (\n error.name === HydratedBlockStateValidationError.constructor.name\n )\n}\n","import type { BoundWitness, HydratedBoundWitness } from '@xyo-network/sdk-js'\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.constructor.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.constructor.name\n )\n}\n","import type { Hash } from '@xylabs/sdk-js'\nimport { type Payload } from '@xyo-network/sdk-js'\n\nimport type { HydratedBlock } from '../../block/index.ts'\nimport { isValidationError, ValidationError } from '../error.ts'\n\n/** Error thrown during InBlockPayloadvalidation 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.constructor.name\n )\n}\n","import type { HydratedTransaction } from '../../model/index.ts'\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.constructor.name\n )\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\nimport type { Payload, WithHashMeta } from '@xyo-network/sdk-js'\n\nimport type { SignedHydratedBlockWithHashMeta } from '../block/index.ts'\nimport type { XL1BlockNumber } from '../BlockNumber/index.ts'\nimport type { ChainId } from '../chain/index.ts'\nimport type {\n BlockRate, SingleTimeConfig, TimeDurations, XL1BlockRange,\n} from '../model/index.ts'\nimport type { Provider, ProviderMoniker } from '../provider/index.ts'\n\n/** BlockViewerMethods interface. */\nexport interface BlockViewerMethods {\n blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>\n blocksByNumber(block: XL1BlockNumber, limit?: 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> extends BlockViewerMethods, 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 '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { SignedHydratedBlock, SignedHydratedBlockWithHashMeta } from '../block/index.ts'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** BlockInvalidationQualificationZod constant. */\nexport const BlockInvalidationQualificationZod = ChainQualificationZod\n/** BlockInvalidationQualification type. */\nexport type BlockInvalidationQualification = z.infer<typeof BlockInvalidationQualificationZod>\n/** Type guard that checks if a value is a valid BlockInvalidationQualification. */\nexport const isBlockInvalidationQualification = zodIsFactory(BlockInvalidationQualificationZod)\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<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockInvalidationQualification]>\n\n qualifiedInvalidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockInvalidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockInvalidationQualification]>\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<[HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta, BlockInvalidationQualification]>\n}\n","import type { Promisable } from '@xylabs/sdk-js'\n\nimport type { XL1BlockNumber } from '../BlockNumber/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport type { AttoXL1 } from '../xl1/index.ts'\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 '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { SignedHydratedBlock, SignedHydratedBlockWithHashMeta } from '../block/index.ts'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport type { HydratedBlockValidationError } from '../validation/index.ts'\n\n/** BlockValidationQualificationZod constant. */\nexport const BlockValidationQualificationZod = ChainQualificationZod\n/** BlockValidationQualification type. */\nexport type BlockValidationQualification = z.infer<typeof BlockValidationQualificationZod>\n/** Type guard that checks if a value is a valid BlockValidationQualification. */\nexport const isBlockValidationQualification = zodIsFactory(BlockValidationQualificationZod)\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<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockValidationQualification]>\n\n qualifiedValidateUncle(\n blocks: SignedHydratedBlock[],\n config?: BlockValidationConfig\n ): Promisable<[(HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta)[], BlockValidationQualification]>\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<[HydratedBlockValidationError[] | SignedHydratedBlockWithHashMeta, BlockValidationQualification]>\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 {\n Address, Hash, Promisable,\n} from '@xylabs/sdk-js'\n\nimport type { XL1BlockNumber } from '../BlockNumber/index.ts'\nimport type { ChainId } from '../chain/index.ts'\nimport type { Provider } from '../provider/index.ts'\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<Address>\n stakingTokenAddress(): Promisable<Address>\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 '../provider/index.ts'\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 { Hash, Promisable } from '@xylabs/sdk-js'\n\nimport type { SignedBlockBoundWitnessWithHashMeta, SignedHydratedBlockWithHashMeta } from '../block/index.ts'\nimport type { XL1BlockNumber } from '../BlockNumber/index.ts'\nimport type { ChainId } from '../chain/index.ts'\nimport type { Provider } from '../provider/index.ts'\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 { HashZod } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { SignedHydratedBlockWithHashMeta } from '../block/index.ts'\nimport type { SignedHydratedTransactionWithHashMeta } from '../model/index.ts'\nimport { XL1BlockRangeZod } from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\n\n/** PendingTransactionsOptionsZod constant. */\nexport const PendingTransactionsOptionsZod = z.object({\n cursor: HashZod.optional(),\n limit: z.number().int().positive().optional(),\n window: XL1BlockRangeZod.optional(),\n})\n\n/** PendingTransactionsOptions type. */\nexport type PendingTransactionsOptions = z.infer<typeof PendingTransactionsOptionsZod>\n\n/** PendingBlocksOptionsZod constant. */\nexport const PendingBlocksOptionsZod = z.object({\n cursor: HashZod.optional(),\n limit: z.number().int().positive().optional(),\n window: XL1BlockRangeZod.optional(),\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 '@xylabs/sdk-js'\n\nimport type { Provider } from '../../provider/index.ts'\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 { Provider } from '../../../provider/index.ts'\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\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 { Address } from '@xylabs/sdk-js'\n\nimport type { Provider } from '../../../provider/index.ts'\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, Address> {}\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 } from '../../../provider/index.ts'\nimport type { StepIdentityString } from '../../../Step/index.ts'\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 { Provider } from '../../../provider/index.ts'\nimport type { AttoXL1 } from '../../../xl1/index.ts'\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 '../../../provider/index.ts'\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 { Address, Promisable } from '@xylabs/sdk-js'\n\nimport type { Provider } from '../provider/index.ts'\nimport type { StepIdentity, StepIdentityString } from '../Step/index.ts'\nimport type { AttoXL1 } from '../xl1/index.ts'\n\n/** NetworkStakeStepAddressRewardViewerMethods interface. */\nexport interface NetworkStakeStepAddressRewardViewerMethods {\n // the step rewards for a specific network stakers for all of history\n networkStakeStepRewardAddressHistory(address: Address): Promisable<Record<Address, AttoXL1>>\n\n // the step rewards for a specific network stakers for a given step and block\n networkStakeStepRewardAddressReward(context: StepIdentity, address: Address): Promisable<Record<Address, AttoXL1>>\n\n // the shares for a specific network staker for a given step and block\n networkStakeStepRewardAddressShare(context: StepIdentity, address: Address): 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: Address): 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<Address, AttoXL1>>\n\n // all the shares for all the network stakers for a given step and block\n networkStakeStepRewardPoolShares(context: StepIdentity): Promisable<Record<Address, 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: Address): 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: Address): 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 { Address, Promisable } from '@xylabs/sdk-js'\n\nimport type { Position } from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\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<Address>\n stakeById(id: number): Promisable<Position>\n stakeByStaker(staker: Address, slot: number): Promisable<Position>\n stakesByStaked(staked: Address): Promisable<Position[]>\n stakesByStaker(staker: Address): Promisable<Position[]>\n stakingTokenAddress(): Promisable<Address>\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 {\n Address, JsonObject, Promisable,\n} from '@xylabs/sdk-js'\n\nimport type { Provider } from '../provider/index.ts'\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: Address\n staker: Address\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 { Address, Promisable } from '@xylabs/sdk-js'\n\nimport type { Provider } from '../provider/index.ts'\n\n/** StakeTotalsViewerMethods interface. */\nexport interface StakeTotalsViewerMethods {\n active(time?: number): Promisable<bigint>\n activeByStaked(staked: Address, time?: number): Promisable<bigint>\n activeByStaker(address: Address, time?: number): Promisable<bigint>\n pending(time?: number): Promisable<bigint>\n pendingByStaker(staker: Address, time?: number): Promisable<bigint>\n withdrawn(time?: number): Promisable<bigint>\n withdrawnByStaker(staker: Address, 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 { Address, Promisable } from '@xylabs/sdk-js'\n\nimport type { Provider } from '../provider/index.ts'\nimport type { StepIdentity } from '../Step/index.ts'\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<Address, bigint>>\n\n // this is the prorated stake for a specific address in the step\n stepStakeForAddress: (address: Address, 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 { Address, Promisable } from '@xylabs/sdk-js'\n\nimport type { Position, PositionId } from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport type { StepIdentity } from '../Step/index.ts'\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?: Address\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<Address[]>\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 '@xylabs/sdk-js'\n\nimport type { TimeDomain, TimePayload } from '../payload/index.ts'\nimport type { Provider } from '../provider/index.ts'\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 */\n currentTime(domain: TimeDomain): Promisable<[string, 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 '@xylabs/sdk-js'\n\nimport type { SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta } from '../model/index.ts'\nimport type { Provider, ProviderMoniker } from '../provider/index.ts'\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 '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta } from '../model/index.ts'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** TransactionInvalidationQualificationZod constant. */\nexport const TransactionInvalidationQualificationZod = ChainQualificationZod\n/** TransactionInvalidationQualification type. */\nexport type TransactionInvalidationQualification = z.infer<typeof TransactionInvalidationQualificationZod>\n/** Type guard that checks if a value is a valid TransactionInvalidationQualification. */\nexport const isTransactionInvalidationQualification = zodIsFactory(TransactionInvalidationQualificationZod)\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<[(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[], TransactionInvalidationQualification]>\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<[HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta, TransactionInvalidationQualification]>\n}\n","import { type Promisable } from '@xylabs/sdk-js'\nimport { zodIsFactory } from '@xylabs/sdk-js'\nimport { z } from 'zod'\n\nimport type { SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta } from '../model/index.ts'\nimport {\n ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,\n} from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport type { HydratedTransactionValidationError } from '../validation/index.ts'\n\n/** TransactionValidationQualificationZod constant. */\nexport const TransactionValidationQualificationZod = ChainQualificationZod\n/** TransactionValidationQualification type. */\nexport type TransactionValidationQualification = z.infer<typeof TransactionValidationQualificationZod>\n/** Type guard that checks if a value is a valid TransactionValidationQualification. */\nexport const isTransactionValidationQualification = zodIsFactory(TransactionValidationQualificationZod)\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<[(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[], TransactionValidationQualification]>\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<[HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta, TransactionValidationQualification]>\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 { Address, Promisable } from '@xylabs/sdk-js'\nimport type { Signed } from '@xyo-network/sdk-js'\n\nimport type { BlockBoundWitness } from '../block/index.ts'\nimport type { XL1BlockRange } from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport type { TransactionBoundWitness } from '../transaction/index.ts'\nimport type { Transfer } from '../TransferPayload.ts'\nimport type { AttoXL1 } from '../xl1/index.ts'\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 = [Address, Address]\n\n/** TransferBalancesViewerMethods interface. */\nexport interface TransferBalancesViewerMethods {\n transferBalances(address: Address[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>\n transferBalancesHistories(address: Address[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>\n transferPairBalances(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>\n transferPairBalancesHistories(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, 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: Address): Promisable<AttoXL1>\n transferBalanceHistory(address: Address, range?: XL1BlockRange): Promisable<TransferBalanceHistoryItem[]>\n transferPairBalance(address: TransferPair): Promisable<AttoXL1>\n transferPairBalanceHistory(address: TransferPair): Promisable<TransferBalanceHistoryItem[]>\n}\n","import type { Hash, Promisable } from '@xylabs/sdk-js'\n\nimport type { HydratedBlockWithHashMeta } from '../block/index.ts'\nimport type { Provider, ProviderMoniker } from '../provider/index.ts'\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 { Address, Promisable } from '@xylabs/sdk-js'\n\nimport type {\n AccountBalanceHistoryItem, AccountBalanceViewer, ChainQualifiedConfig,\n} from '../model/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport type { AttoXL1 } from '../xl1/index.ts'\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 { 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 /** @deprecated Use .account.balance.accountBalance instead */\n accountBalance(address: Address, config?: ChainQualifiedConfig): Promisable<AttoXL1>\n /** @deprecated Use .account.balance.accountBalanceHistory instead */\n accountBalanceHistory(address: Address, config?: ChainQualifiedConfig): Promisable<AccountBalanceHistoryItem[]>\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 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 step: StepViewer\n time: TimeSyncViewer\n transaction: TransactionViewer\n}\n"],"mappings":"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","names":["zodIsFactory","z","HexZod","HexZod","AsObjectFactory","asSchema","isPayloadOfZodType","z","asSchema","z","isPayloadOfZodType","AsObjectFactory","AsObjectFactory","HexZod","asSchema","isPayloadOfZodType","asSchema","HexZod","isPayloadOfZodType","AsObjectFactory","AsObjectFactory","asSchema","AsObjectFactory","asSchema","isPayloadOfSchemaType","AsObjectFactory","asSchema","isPayloadOfSchemaType","AsObjectFactory","asSchema","isPayloadOfSchemaType","z","AsObjectFactory","asSchema","isPayloadOfZodType","z","z","z","z","zodAsFactory","zodToFactory","z","z","zodAsFactory","zodToFactory","zodAsFactory","zodToFactory","z","z","zodAsFactory","zodToFactory","z","asSchema","isPayloadOfZodType","AsObjectFactory","zodAsFactory","zodIsFactory","zodToFactory","z","z","HexZod","zodAsFactory","zodToFactory","z","z","z","BigIntToJsonZod","z","HexZod","zodAsFactory","zodToFactory","z","zodIsFactory","zodAsFactory","zodToFactory","AddressZod","AsObjectFactory","HexZod","asSchema","isPayloadOfSchemaType","PayloadZodOfSchema","z","z","zodIsFactory","HashZod","zodAsFactory","zodIsFactory","zodToFactory","BoundWitnessZod","WithHashMetaZod","WithStorageMetaZod","z","z","HashZod","BoundWitnessZod","zodIsFactory","zodAsFactory","zodToFactory","WithHashMetaZod","WithStorageMetaZod","zodAsFactory","zodIsFactory","zodToFactory","WithHashMetaZod","WithStorageMetaZod","z","zodAsFactory","zodIsFactory","zodToFactory","SignedBoundWitnessZod","SignedBoundWitnessZod","zodIsFactory","zodAsFactory","zodToFactory","zodAsFactory","zodIsFactory","zodToFactory","WithHashMetaZod","WithHashMetaZod","zodIsFactory","zodAsFactory","zodToFactory","zodAsFactory","zodIsFactory","zodToFactory","PayloadBuilder","WithStorageMetaZod","WithStorageMetaZod","zodIsFactory","zodAsFactory","PayloadBuilder","zodToFactory","z","zodIsFactory","zodAsFactory","zodToFactory","WithHashMetaZod","WithStorageMetaZod","zodAsFactory","zodIsFactory","zodToFactory","UnsignedBoundWitnessZod","UnsignedBoundWitnessZod","zodIsFactory","zodAsFactory","zodToFactory","AsObjectFactory","asSchema","isPayloadOfSchemaType","zodIsFactory","WithHashMetaZod","z","HashZod","zodIsFactory","z","zodAsFactory","zodToFactory","z","z","zodAsFactory","zodToFactory","assertError","isDefined","zodAsFactory","zodToFactory","z","z","zodAsFactory","zodToFactory","isDefined","assertError","zodAsFactory","zodIsFactory","zodToFactory","z","assertError","isDefined","zodAsFactory","zodToFactory","z","z","zodAsFactory","zodToFactory","isDefined","assertError","z","HashZod","zodIsFactory","z","WithHashMetaZod","zodIsFactory","z","zodAsFactory","zodIsFactory","z","z","zodIsFactory","zodAsFactory","z","z","z","WithHashMetaZod","z","z","WithHashMetaZod","zodAsFactory","zodIsFactory","zodToFactory","PayloadZod","PayloadZodLoose","WithHashMetaZod","WithStorageMetaZod","z","z","PayloadZodLoose","zodIsFactory","zodAsFactory","zodToFactory","WithHashMetaZod","PayloadZod","WithStorageMetaZod","z","AddressZod","z","z","AddressZod","z","AddressZod","HexZod","z","z","AddressZod","BigIntToJsonZod","HexZod","z","AddressZod","z","asSchema","isPayloadOfSchemaType","zodIsFactory","z","zodIsFactory","z","zodIsFactory","z","zodIsFactory","z","HashZod","z","z","HashZod","zodIsFactory","z","zodIsFactory","z","zodIsFactory","z","zodIsFactory","z"]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from '@xyo-network/xl1-network-model'\nexport * from '@xyo-network/xl1-protocol-lib'\nexport * from '@xyo-network/xl1-protocol-model'\nexport * from '@xyo-network/xl1-schema'\nexport * from '@xyo-network/xl1-validation'\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}