@xyo-network/xl1-protocol-model 1.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. package/dist/neutral/BlockNumber/BlockNumber.d.ts +35 -0
  2. package/dist/neutral/BlockNumber/BlockNumber.d.ts.map +1 -0
  3. package/dist/neutral/BlockNumber/EthBlockNumber.d.ts +46 -0
  4. package/dist/neutral/BlockNumber/EthBlockNumber.d.ts.map +1 -0
  5. package/dist/neutral/BlockNumber/Numberish.d.ts +6 -0
  6. package/dist/neutral/BlockNumber/Numberish.d.ts.map +1 -0
  7. package/dist/neutral/BlockNumber/XL1BlockNumber.d.ts +46 -0
  8. package/dist/neutral/BlockNumber/XL1BlockNumber.d.ts.map +1 -0
  9. package/dist/neutral/BlockNumber/index.d.ts +5 -0
  10. package/dist/neutral/BlockNumber/index.d.ts.map +1 -0
  11. package/dist/neutral/Initializable.d.ts +9 -0
  12. package/dist/neutral/Initializable.d.ts.map +1 -0
  13. package/dist/neutral/RecordKeyType.d.ts +4 -0
  14. package/dist/neutral/RecordKeyType.d.ts.map +1 -0
  15. package/dist/neutral/Step/StepHash.d.ts +11 -0
  16. package/dist/neutral/Step/StepHash.d.ts.map +1 -0
  17. package/dist/neutral/Step/StepIdentity.d.ts +19 -0
  18. package/dist/neutral/Step/StepIdentity.d.ts.map +1 -0
  19. package/dist/neutral/Step/StepSizes.d.ts +12 -0
  20. package/dist/neutral/Step/StepSizes.d.ts.map +1 -0
  21. package/dist/neutral/Step/index.d.ts +4 -0
  22. package/dist/neutral/Step/index.d.ts.map +1 -0
  23. package/dist/neutral/TransferPayload.d.ts +79 -0
  24. package/dist/neutral/TransferPayload.d.ts.map +1 -0
  25. package/dist/neutral/amount/ShiftedBigIntConfig.d.ts +9 -0
  26. package/dist/neutral/amount/ShiftedBigIntConfig.d.ts.map +1 -0
  27. package/dist/neutral/amount/XL1AmountInstance.d.ts +16 -0
  28. package/dist/neutral/amount/XL1AmountInstance.d.ts.map +1 -0
  29. package/dist/neutral/amount/index.d.ts +3 -0
  30. package/dist/neutral/amount/index.d.ts.map +1 -0
  31. package/dist/neutral/block/AllowedBlockPayload.d.ts +40 -0
  32. package/dist/neutral/block/AllowedBlockPayload.d.ts.map +1 -0
  33. package/dist/neutral/block/BlockBoundWitness.d.ts +544 -0
  34. package/dist/neutral/block/BlockBoundWitness.d.ts.map +1 -0
  35. package/dist/neutral/block/HydratedBlock.d.ts +1466 -0
  36. package/dist/neutral/block/HydratedBlock.d.ts.map +1 -0
  37. package/dist/neutral/block/index.d.ts +6 -0
  38. package/dist/neutral/block/index.d.ts.map +1 -0
  39. package/dist/neutral/block/signed/SignedBlockBoundWitness.d.ts +168 -0
  40. package/dist/neutral/block/signed/SignedBlockBoundWitness.d.ts.map +1 -0
  41. package/dist/neutral/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts +286 -0
  42. package/dist/neutral/block/signed/SignedBlockBoundWitnessWithHashMeta.d.ts.map +1 -0
  43. package/dist/neutral/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts +343 -0
  44. package/dist/neutral/block/signed/SignedBlockBoundWitnessWithStorageMeta.d.ts.map +1 -0
  45. package/dist/neutral/block/signed/index.d.ts +4 -0
  46. package/dist/neutral/block/signed/index.d.ts.map +1 -0
  47. package/dist/neutral/block/unsigned/UnsignedBlockBoundWitness.d.ts +168 -0
  48. package/dist/neutral/block/unsigned/UnsignedBlockBoundWitness.d.ts.map +1 -0
  49. package/dist/neutral/block/unsigned/index.d.ts +2 -0
  50. package/dist/neutral/block/unsigned/index.d.ts.map +1 -0
  51. package/dist/neutral/chain/Chain.d.ts +4 -0
  52. package/dist/neutral/chain/Chain.d.ts.map +1 -0
  53. package/dist/neutral/chain/ChainAnalyzer.d.ts +10 -0
  54. package/dist/neutral/chain/ChainAnalyzer.d.ts.map +1 -0
  55. package/dist/neutral/chain/ChainId.d.ts +4 -0
  56. package/dist/neutral/chain/ChainId.d.ts.map +1 -0
  57. package/dist/neutral/chain/index.d.ts +4 -0
  58. package/dist/neutral/chain/index.d.ts.map +1 -0
  59. package/dist/neutral/fields/Addressable.d.ts +6 -0
  60. package/dist/neutral/fields/Addressable.d.ts.map +1 -0
  61. package/dist/neutral/fields/BlockDuration.d.ts +25 -0
  62. package/dist/neutral/fields/BlockDuration.d.ts.map +1 -0
  63. package/dist/neutral/fields/BlockNumber.d.ts +32 -0
  64. package/dist/neutral/fields/BlockNumber.d.ts.map +1 -0
  65. package/dist/neutral/fields/ChainReference.d.ts +11 -0
  66. package/dist/neutral/fields/ChainReference.d.ts.map +1 -0
  67. package/dist/neutral/fields/index.d.ts +5 -0
  68. package/dist/neutral/fields/index.d.ts.map +1 -0
  69. package/dist/neutral/index.d.ts +15 -0
  70. package/dist/neutral/index.d.ts.map +1 -0
  71. package/dist/neutral/index.mjs +1699 -0
  72. package/dist/neutral/index.mjs.map +1 -0
  73. package/dist/neutral/map/AsyncMap.d.ts +42 -0
  74. package/dist/neutral/map/AsyncMap.d.ts.map +1 -0
  75. package/dist/neutral/map/MapType.d.ts +17 -0
  76. package/dist/neutral/map/MapType.d.ts.map +1 -0
  77. package/dist/neutral/map/SyncMap.d.ts +41 -0
  78. package/dist/neutral/map/SyncMap.d.ts.map +1 -0
  79. package/dist/neutral/map/index.d.ts +4 -0
  80. package/dist/neutral/map/index.d.ts.map +1 -0
  81. package/dist/neutral/model/AccountBalance.d.ts +133 -0
  82. package/dist/neutral/model/AccountBalance.d.ts.map +1 -0
  83. package/dist/neutral/model/ArrayBuffer.d.ts +6 -0
  84. package/dist/neutral/model/ArrayBuffer.d.ts.map +1 -0
  85. package/dist/neutral/model/BlockRange/BlockRange.d.ts +32 -0
  86. package/dist/neutral/model/BlockRange/BlockRange.d.ts.map +1 -0
  87. package/dist/neutral/model/BlockRange/EthBlockRange.d.ts +32 -0
  88. package/dist/neutral/model/BlockRange/EthBlockRange.d.ts.map +1 -0
  89. package/dist/neutral/model/BlockRange/Numberish.d.ts +4 -0
  90. package/dist/neutral/model/BlockRange/Numberish.d.ts.map +1 -0
  91. package/dist/neutral/model/BlockRange/Range.d.ts +18 -0
  92. package/dist/neutral/model/BlockRange/Range.d.ts.map +1 -0
  93. package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts +32 -0
  94. package/dist/neutral/model/BlockRange/XL1BlockRange.d.ts.map +1 -0
  95. package/dist/neutral/model/BlockRange/index.d.ts +5 -0
  96. package/dist/neutral/model/BlockRange/index.d.ts.map +1 -0
  97. package/dist/neutral/model/BlockRate.d.ts +290 -0
  98. package/dist/neutral/model/BlockRate.d.ts.map +1 -0
  99. package/dist/neutral/model/ChainQualification.d.ts +57 -0
  100. package/dist/neutral/model/ChainQualification.d.ts.map +1 -0
  101. package/dist/neutral/model/Context/BaseContext.d.ts +5 -0
  102. package/dist/neutral/model/Context/BaseContext.d.ts.map +1 -0
  103. package/dist/neutral/model/Context/BaseContext.zod.d.ts +26 -0
  104. package/dist/neutral/model/Context/BaseContext.zod.d.ts.map +1 -0
  105. package/dist/neutral/model/Context/BlockContext.d.ts +9 -0
  106. package/dist/neutral/model/Context/BlockContext.d.ts.map +1 -0
  107. package/dist/neutral/model/Context/BlockContext.zod.d.ts +33 -0
  108. package/dist/neutral/model/Context/BlockContext.zod.d.ts.map +1 -0
  109. package/dist/neutral/model/Context/CachingContext.d.ts +5 -0
  110. package/dist/neutral/model/Context/CachingContext.d.ts.map +1 -0
  111. package/dist/neutral/model/Context/CachingContext.zod.d.ts +10 -0
  112. package/dist/neutral/model/Context/CachingContext.zod.d.ts.map +1 -0
  113. package/dist/neutral/model/Context/ChainContext.d.ts +9 -0
  114. package/dist/neutral/model/Context/ChainContext.d.ts.map +1 -0
  115. package/dist/neutral/model/Context/ChainContext.zod.d.ts +115 -0
  116. package/dist/neutral/model/Context/ChainContext.zod.d.ts.map +1 -0
  117. package/dist/neutral/model/Context/HeadContext.d.ts +5 -0
  118. package/dist/neutral/model/Context/HeadContext.d.ts.map +1 -0
  119. package/dist/neutral/model/Context/HeadContext.zod.d.ts +70 -0
  120. package/dist/neutral/model/Context/HeadContext.zod.d.ts.map +1 -0
  121. package/dist/neutral/model/Context/index.d.ts +11 -0
  122. package/dist/neutral/model/Context/index.d.ts.map +1 -0
  123. package/dist/neutral/model/GatewayName.d.ts +6 -0
  124. package/dist/neutral/model/GatewayName.d.ts.map +1 -0
  125. package/dist/neutral/model/HydratedTransaction.d.ts +2300 -0
  126. package/dist/neutral/model/HydratedTransaction.d.ts.map +1 -0
  127. package/dist/neutral/model/OpCodes.d.ts +3 -0
  128. package/dist/neutral/model/OpCodes.d.ts.map +1 -0
  129. package/dist/neutral/model/PayloadMap.d.ts +10 -0
  130. package/dist/neutral/model/PayloadMap.d.ts.map +1 -0
  131. package/dist/neutral/model/Permission.d.ts +59 -0
  132. package/dist/neutral/model/Permission.d.ts.map +1 -0
  133. package/dist/neutral/model/Position.d.ts +13 -0
  134. package/dist/neutral/model/Position.d.ts.map +1 -0
  135. package/dist/neutral/model/PositionId.d.ts +6 -0
  136. package/dist/neutral/model/PositionId.d.ts.map +1 -0
  137. package/dist/neutral/model/RangeMultipliers.d.ts +10 -0
  138. package/dist/neutral/model/RangeMultipliers.d.ts.map +1 -0
  139. package/dist/neutral/model/RewardShare.d.ts +3 -0
  140. package/dist/neutral/model/RewardShare.d.ts.map +1 -0
  141. package/dist/neutral/model/RewardsRangeOptions.d.ts +16 -0
  142. package/dist/neutral/model/RewardsRangeOptions.d.ts.map +1 -0
  143. package/dist/neutral/model/Sequence.d.ts +15 -0
  144. package/dist/neutral/model/Sequence.d.ts.map +1 -0
  145. package/dist/neutral/model/Stake.d.ts +121 -0
  146. package/dist/neutral/model/Stake.d.ts.map +1 -0
  147. package/dist/neutral/model/StakeShare.d.ts +3 -0
  148. package/dist/neutral/model/StakeShare.d.ts.map +1 -0
  149. package/dist/neutral/model/TimeDomain.d.ts +4 -0
  150. package/dist/neutral/model/TimeDomain.d.ts.map +1 -0
  151. package/dist/neutral/model/TransferPair.d.ts +12 -0
  152. package/dist/neutral/model/TransferPair.d.ts.map +1 -0
  153. package/dist/neutral/model/addresses.d.ts +28 -0
  154. package/dist/neutral/model/addresses.d.ts.map +1 -0
  155. package/dist/neutral/model/defaultRewardRatio.d.ts +3 -0
  156. package/dist/neutral/model/defaultRewardRatio.d.ts.map +1 -0
  157. package/dist/neutral/model/defaultTransactionFees.d.ts +4 -0
  158. package/dist/neutral/model/defaultTransactionFees.d.ts.map +1 -0
  159. package/dist/neutral/model/index.d.ts +28 -0
  160. package/dist/neutral/model/index.d.ts.map +1 -0
  161. package/dist/neutral/model/minTransactionFees.d.ts +4 -0
  162. package/dist/neutral/model/minTransactionFees.d.ts.map +1 -0
  163. package/dist/neutral/model/rewards.d.ts +15 -0
  164. package/dist/neutral/model/rewards.d.ts.map +1 -0
  165. package/dist/neutral/model/version.d.ts +11 -0
  166. package/dist/neutral/model/version.d.ts.map +1 -0
  167. package/dist/neutral/payload/StepIdentityPayload.d.ts +20 -0
  168. package/dist/neutral/payload/StepIdentityPayload.d.ts.map +1 -0
  169. package/dist/neutral/payload/elevatable/Bridge/BridgeCompletion.d.ts +23 -0
  170. package/dist/neutral/payload/elevatable/Bridge/BridgeCompletion.d.ts.map +1 -0
  171. package/dist/neutral/payload/elevatable/Bridge/BridgeDestinationObservation.d.ts +33 -0
  172. package/dist/neutral/payload/elevatable/Bridge/BridgeDestinationObservation.d.ts.map +1 -0
  173. package/dist/neutral/payload/elevatable/Bridge/BridgeDetails.d.ts +45 -0
  174. package/dist/neutral/payload/elevatable/Bridge/BridgeDetails.d.ts.map +1 -0
  175. package/dist/neutral/payload/elevatable/Bridge/BridgeIntent.d.ts +31 -0
  176. package/dist/neutral/payload/elevatable/Bridge/BridgeIntent.d.ts.map +1 -0
  177. package/dist/neutral/payload/elevatable/Bridge/BridgeSourceObservation.d.ts +33 -0
  178. package/dist/neutral/payload/elevatable/Bridge/BridgeSourceObservation.d.ts.map +1 -0
  179. package/dist/neutral/payload/elevatable/Bridge/index.d.ts +6 -0
  180. package/dist/neutral/payload/elevatable/Bridge/index.d.ts.map +1 -0
  181. package/dist/neutral/payload/elevatable/ChainStakeIntent.d.ts +24 -0
  182. package/dist/neutral/payload/elevatable/ChainStakeIntent.d.ts.map +1 -0
  183. package/dist/neutral/payload/elevatable/Executable.d.ts +20 -0
  184. package/dist/neutral/payload/elevatable/Executable.d.ts.map +1 -0
  185. package/dist/neutral/payload/elevatable/Hash.d.ts +21 -0
  186. package/dist/neutral/payload/elevatable/Hash.d.ts.map +1 -0
  187. package/dist/neutral/payload/elevatable/StepComplete.d.ts +22 -0
  188. package/dist/neutral/payload/elevatable/StepComplete.d.ts.map +1 -0
  189. package/dist/neutral/payload/elevatable/Time.d.ts +71 -0
  190. package/dist/neutral/payload/elevatable/Time.d.ts.map +1 -0
  191. package/dist/neutral/payload/elevatable/index.d.ts +7 -0
  192. package/dist/neutral/payload/elevatable/index.d.ts.map +1 -0
  193. package/dist/neutral/payload/index.d.ts +3 -0
  194. package/dist/neutral/payload/index.d.ts.map +1 -0
  195. package/dist/neutral/provider/Provider.d.ts +6 -0
  196. package/dist/neutral/provider/Provider.d.ts.map +1 -0
  197. package/dist/neutral/provider/ProviderMoniker.d.ts +9 -0
  198. package/dist/neutral/provider/ProviderMoniker.d.ts.map +1 -0
  199. package/dist/neutral/provider/index.d.ts +3 -0
  200. package/dist/neutral/provider/index.d.ts.map +1 -0
  201. package/dist/neutral/transaction/TransactionBoundWitness.d.ts +2127 -0
  202. package/dist/neutral/transaction/TransactionBoundWitness.d.ts.map +1 -0
  203. package/dist/neutral/transaction/TransactionFees.d.ts +138 -0
  204. package/dist/neutral/transaction/TransactionFees.d.ts.map +1 -0
  205. package/dist/neutral/transaction/TransactionGasCosts.d.ts +38 -0
  206. package/dist/neutral/transaction/TransactionGasCosts.d.ts.map +1 -0
  207. package/dist/neutral/transaction/index.d.ts +4 -0
  208. package/dist/neutral/transaction/index.d.ts.map +1 -0
  209. package/dist/neutral/xl1/AttoXL1.d.ts +15 -0
  210. package/dist/neutral/xl1/AttoXL1.d.ts.map +1 -0
  211. package/dist/neutral/xl1/FemtoXL1.d.ts +15 -0
  212. package/dist/neutral/xl1/FemtoXL1.d.ts.map +1 -0
  213. package/dist/neutral/xl1/MicroXL1.d.ts +15 -0
  214. package/dist/neutral/xl1/MicroXL1.d.ts.map +1 -0
  215. package/dist/neutral/xl1/MilliXL1.d.ts +15 -0
  216. package/dist/neutral/xl1/MilliXL1.d.ts.map +1 -0
  217. package/dist/neutral/xl1/NanoXL1.d.ts +15 -0
  218. package/dist/neutral/xl1/NanoXL1.d.ts.map +1 -0
  219. package/dist/neutral/xl1/PicoXL1.d.ts +15 -0
  220. package/dist/neutral/xl1/PicoXL1.d.ts.map +1 -0
  221. package/dist/neutral/xl1/XL1.d.ts +15 -0
  222. package/dist/neutral/xl1/XL1.d.ts.map +1 -0
  223. package/dist/neutral/xl1/XL1Units.d.ts +10 -0
  224. package/dist/neutral/xl1/XL1Units.d.ts.map +1 -0
  225. package/dist/neutral/xl1/index.d.ts +9 -0
  226. package/dist/neutral/xl1/index.d.ts.map +1 -0
  227. package/dist/neutral/xl1/isXL1Factory.d.ts +12 -0
  228. package/dist/neutral/xl1/isXL1Factory.d.ts.map +1 -0
  229. package/dist/neutral/xl1/xl1MaxValue.d.ts +3 -0
  230. package/dist/neutral/xl1/xl1MaxValue.d.ts.map +1 -0
  231. package/package.json +65 -0
  232. package/src/BlockNumber/BlockNumber.ts +24 -0
  233. package/src/BlockNumber/EthBlockNumber.ts +25 -0
  234. package/src/BlockNumber/Numberish.ts +9 -0
  235. package/src/BlockNumber/XL1BlockNumber.ts +25 -0
  236. package/src/BlockNumber/index.ts +4 -0
  237. package/src/RecordKeyType.ts +5 -0
  238. package/src/Step/StepHash.ts +10 -0
  239. package/src/Step/StepIdentity.ts +46 -0
  240. package/src/Step/StepSizes.ts +47 -0
  241. package/src/Step/index.ts +3 -0
  242. package/src/TransferPayload.ts +35 -0
  243. package/src/amount/ShiftedBigIntConfig.ts +8 -0
  244. package/src/amount/XL1AmountInstance.ts +19 -0
  245. package/src/amount/index.ts +2 -0
  246. package/src/block/AllowedBlockPayload.ts +73 -0
  247. package/src/block/BlockBoundWitness.ts +72 -0
  248. package/src/block/HydratedBlock.ts +135 -0
  249. package/src/block/index.ts +5 -0
  250. package/src/block/signed/SignedBlockBoundWitness.ts +22 -0
  251. package/src/block/signed/SignedBlockBoundWitnessWithHashMeta.ts +35 -0
  252. package/src/block/signed/SignedBlockBoundWitnessWithStorageMeta.ts +41 -0
  253. package/src/block/signed/index.ts +3 -0
  254. package/src/block/unsigned/UnsignedBlockBoundWitness.ts +22 -0
  255. package/src/block/unsigned/index.ts +1 -0
  256. package/src/chain/Chain.ts +7 -0
  257. package/src/chain/ChainAnalyzer.ts +11 -0
  258. package/src/chain/ChainId.ts +4 -0
  259. package/src/chain/index.ts +3 -0
  260. package/src/fields/Addressable.ts +7 -0
  261. package/src/fields/BlockDuration.ts +25 -0
  262. package/src/fields/BlockNumber.ts +40 -0
  263. package/src/fields/ChainReference.ts +11 -0
  264. package/src/fields/index.ts +4 -0
  265. package/src/index.ts +14 -0
  266. package/src/map/AsyncMap.ts +38 -0
  267. package/src/map/MapType.ts +27 -0
  268. package/src/map/SyncMap.ts +38 -0
  269. package/src/map/index.ts +3 -0
  270. package/src/model/AccountBalance.ts +58 -0
  271. package/src/model/ArrayBuffer.ts +44 -0
  272. package/src/model/BlockRange/BlockRange.ts +43 -0
  273. package/src/model/BlockRange/EthBlockRange.ts +43 -0
  274. package/src/model/BlockRange/Numberish.ts +6 -0
  275. package/src/model/BlockRange/Range.ts +17 -0
  276. package/src/model/BlockRange/XL1BlockRange.ts +43 -0
  277. package/src/model/BlockRange/index.ts +4 -0
  278. package/src/model/BlockRate.ts +108 -0
  279. package/src/model/ChainQualification.ts +48 -0
  280. package/src/model/Context/BaseContext.ts +6 -0
  281. package/src/model/Context/BaseContext.zod.ts +36 -0
  282. package/src/model/Context/BlockContext.ts +12 -0
  283. package/src/model/Context/BlockContext.zod.ts +20 -0
  284. package/src/model/Context/CachingContext.ts +6 -0
  285. package/src/model/Context/CachingContext.zod.ts +4 -0
  286. package/src/model/Context/ChainContext.ts +12 -0
  287. package/src/model/Context/ChainContext.zod.ts +17 -0
  288. package/src/model/Context/HeadContext.ts +6 -0
  289. package/src/model/Context/HeadContext.zod.ts +13 -0
  290. package/src/model/Context/index.ts +10 -0
  291. package/src/model/GatewayName.ts +4 -0
  292. package/src/model/HydratedTransaction.ts +169 -0
  293. package/src/model/OpCodes.ts +2 -0
  294. package/src/model/PayloadMap.ts +13 -0
  295. package/src/model/Permission.ts +29 -0
  296. package/src/model/Position.ts +21 -0
  297. package/src/model/PositionId.ts +4 -0
  298. package/src/model/RangeMultipliers.ts +13 -0
  299. package/src/model/RewardShare.ts +2 -0
  300. package/src/model/RewardsRangeOptions.ts +13 -0
  301. package/src/model/Sequence.ts +21 -0
  302. package/src/model/Stake.ts +47 -0
  303. package/src/model/StakeShare.ts +2 -0
  304. package/src/model/TimeDomain.ts +8 -0
  305. package/src/model/TransferPair.ts +7 -0
  306. package/src/model/addresses.ts +36 -0
  307. package/src/model/defaultRewardRatio.ts +3 -0
  308. package/src/model/defaultTransactionFees.ts +11 -0
  309. package/src/model/index.ts +27 -0
  310. package/src/model/minTransactionFees.ts +10 -0
  311. package/src/model/rewards.ts +18 -0
  312. package/src/model/spec/fixtures/index.ts +2 -0
  313. package/src/model/spec/fixtures/signedHydratedTransaction.ts +58 -0
  314. package/src/model/spec/fixtures/unsignedHydratedTransaction.ts +62 -0
  315. package/src/model/version.ts +10 -0
  316. package/src/payload/StepIdentityPayload.ts +25 -0
  317. package/src/payload/elevatable/Bridge/BridgeCompletion.ts +28 -0
  318. package/src/payload/elevatable/Bridge/BridgeDestinationObservation.ts +38 -0
  319. package/src/payload/elevatable/Bridge/BridgeDetails.ts +69 -0
  320. package/src/payload/elevatable/Bridge/BridgeIntent.ts +36 -0
  321. package/src/payload/elevatable/Bridge/BridgeSourceObservation.ts +37 -0
  322. package/src/payload/elevatable/Bridge/index.ts +5 -0
  323. package/src/payload/elevatable/ChainStakeIntent.ts +45 -0
  324. package/src/payload/elevatable/Executable.ts +35 -0
  325. package/src/payload/elevatable/Hash.ts +25 -0
  326. package/src/payload/elevatable/StepComplete.ts +31 -0
  327. package/src/payload/elevatable/Time.ts +61 -0
  328. package/src/payload/elevatable/index.ts +6 -0
  329. package/src/payload/index.ts +2 -0
  330. package/src/provider/Provider.ts +6 -0
  331. package/src/provider/ProviderMoniker.ts +15 -0
  332. package/src/provider/index.ts +2 -0
  333. package/src/transaction/TransactionBoundWitness.ts +187 -0
  334. package/src/transaction/TransactionFees.ts +73 -0
  335. package/src/transaction/TransactionGasCosts.ts +42 -0
  336. package/src/transaction/index.ts +3 -0
  337. package/src/xl1/AttoXL1.ts +19 -0
  338. package/src/xl1/FemtoXL1.ts +20 -0
  339. package/src/xl1/MicroXL1.ts +20 -0
  340. package/src/xl1/MilliXL1.ts +20 -0
  341. package/src/xl1/NanoXL1.ts +20 -0
  342. package/src/xl1/PicoXL1.ts +20 -0
  343. package/src/xl1/XL1.ts +20 -0
  344. package/src/xl1/XL1Units.ts +26 -0
  345. package/src/xl1/index.ts +8 -0
  346. package/src/xl1/isXL1Factory.ts +56 -0
  347. package/src/xl1/xl1MaxValue.ts +2 -0
@@ -0,0 +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/provider/ProviderMoniker.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 { 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"],"mappings":";AAAA,SAAS,gBAAAA,qBAAoB;AAI7B;AAAA,EACE;AAAA,EAAoB;AAAA,EAAY;AAAA,EAAiB;AAAA,OAC5C;AACP,SAAS,KAAAC,WAAS;;;ACPlB,SAAS,iBAAiB,UAAAC,eAAc;AAExC,SAAS,UAAU,0BAA0B;;;ACF7C,SAAS,cAAc;AACvB,SAAS,SAAS;AAKX,IAAM,oCAAoC,EAAE,OAAO;AAAA;AAAA;AAAA;AAAA,EAIxD,MAAM,OAAO,SAAS,oCAAoC;AAAA;AAAA;AAAA;AAAA,EAI1D,aAAa,OAAO,SAAS,2CAA2C;AAAA;AAAA;AAAA;AAAA,EAIxE,YAAY,OAAO,SAAS,2CAA2C;AAAA;AAAA;AAAA;AAAA,EAIvE,WAAW,OAAO,SAAS,4BAA4B;AACzD,CAAC;AAUM,IAAM,+BAA+B,EAAE,OAAO;AAAA;AAAA;AAAA;AAAA,EAInD,KAAK,OAAO,SAAS,+BAA+B;AAAA;AAAA;AAAA;AAAA,EAKpD,YAAY,OAAO,SAAS,sCAAsC;AAAA;AAAA;AAAA;AAAA,EAIlE,WAAW,OAAO,SAAS,wCAAwC;AAAA;AAAA;AAAA;AAAA,EAInE,UAAU,OAAO,SAAS,8BAA8B;AAC1D,CAAC;AAUM,IAAM,yBAAyB,6BAA6B;AAAA,EACjE,kCAAkC;AACpC;;;ADvDO,IAAM,qCAAqC,SAAS,oDAAoD,IAAI;AAO5G,IAAM,wCAAwC,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA,EAIjF,kBAAkBC,QAAO,SAAS,EAAE,SAAS,gCAAgC;AAC/E,CAAC;AAWM,IAAM,iCAAiC;AAAA,EAC5C;AAAA,EACA;AACF;AAGO,IAAM,iCAAiC,gBAAgB,OAAO,8BAA8B;;;AErCnG,SAAS,mBAAAC,wBAAuB;AAEhC,SAAS,YAAAC,WAAU,sBAAAC,2BAA0B;AAC7C,SAAS,KAAAC,UAAS;AAKX,IAAM,qBAAqBC,UAAS,mCAAmC,IAAI;AAO3E,IAAM,wBAAwB,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA,EAIjE,OAAOC,GAAE,OAAO,EAAE,SAAS,yCAAyC;AACtE,CAAC;AASM,IAAM,iBAAiBC;AAAA,EAC5B;AAAA,EACA;AACF;AAGO,IAAM,iBAAiBC,iBAAgB,OAAO,cAAc;;;ACnCnE,SAAS,mBAAAC,kBAAiB,UAAAC,eAAc;AAExC,SAAS,YAAAC,WAAU,sBAAAC,2BAA0B;AAMtC,IAAM,gCAAgCC,UAAS,+CAA+C,IAAI;AAOlG,IAAM,mCAAmC,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA,EAI5E,iBAAiBC,QAAO,SAAS,EAAE,SAAS,2BAA2B;AACzE,CAAC;AAUM,IAAM,4BAA4BC;AAAA,EACvC;AAAA,EACA;AACF;AAGO,IAAM,4BAA4BC,iBAAgB,OAAO,yBAAyB;;;ACpCzF,SAAS,mBAAAC,wBAAuB;AAEhC;AAAA,EACE,YAAAC;AAAA,EAAU;AAAA,EAAuB;AAAA,OAC5B;AAMA,IAAM,yBAAyBA,UAAS,kCAAkC,IAAI;AAmB9E,IAAM,qBAAqB,CAAC,MAA8C;AAC/E,SAAO,sBAAwC,sBAAsB,EAAE,CAAC,KACnE,qBAAqB,EAAE,GAAG,MAAM,UAChC,qBAAqB,EAAE,GAAG,MAAM;AACvC;AAEO,IAAM,qBAAqBD,iBAAgB,OAAO,kBAAkB;AAGpE,IAAM,oCAAoC,CAAC,MAA+D;AAC/G,SAAO,mBAAmB,CAAC,KAAK,cAAc,CAAC;AACjD;AAEA,IAAM,uBAAuB,CAAC,QAAgB;AAC5C,SAAQ,OAAO,UAAU,GAAG,KAAK,OAAO,IAAK,MAAM;AACrD;;;AC3CA,SAAS,oBAAoB;AAStB,IAAM,UAAU,CAAC,UAAwC;AAC9D,SAAQ,MAAqB,SAAS;AACxC;AAaO,IAAM,eAAe,CAAwB,UAAiD;AACnG,SAAO,aAAa,KAAK,KAAK,MAAM,QAAS,MAAsC,MAAM;AAC3F;AAGO,IAAM,eAAe,CAAwB,UAAoD;AACtG,SAAO,aAAa,KAAK,IACrB,QACA;AACN;;;ACjCA,SAAS,mBAAAE,wBAAuB;AAEhC,SAAS,YAAAC,WAAU,yBAAAC,8BAA6B;AAGzC,IAAM,aAAaD,UAAS,oBAAoB,IAAI;AAapD,IAAM,gBAAgBC,uBAAmC,UAAU;AAGnE,IAAM,gBAAgBF,iBAAgB,OAAO,aAAa;AAE1D,IAAM,+BAA+BA,iBAAgB,OAAO,aAAa;;;ACvBhF,SAAS,mBAAAG,wBAAuB;AAEhC,SAAS,YAAAC,WAAU,yBAAAC,8BAA6B;AAKzC,IAAM,qBAAqBD,UAAS,mCAAmC,IAAI;AAmB3E,IAAM,iBAAiBC,uBAAoC,kBAAkB;AAG7E,IAAM,iBAAiBF,iBAAgB,OAAO,cAAc;;;AC9BnE,SAAS,mBAAAG,kBAAiB,eAAe;AACzC;AAAA,EACE,YAAAC;AAAA,EAAU,yBAAAC;AAAA,EAAuB;AAAA,OAC5B;AACP,SAAS,KAAAC,UAAS;AAOX,IAAM,aAAaF,UAAS,oBAAoB,IAAI;AAKpD,IAAM,mBAAmBE,GAAE,OAAO;AAAA;AAAA,EAEvC,KAAKA,GAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAEzB,SAAS,QAAQ,SAAS;AAC5B,CAAC;AAGM,IAAM,wBAAwBA,GAAE,OAAO;AAAA;AAAA,EAE5C,UAAUA,GAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAE9B,cAAc,QAAQ,SAAS;AACjC,CAAC;AAGM,IAAM,qBAAqBA,GAAE,OAAO;AAAA;AAAA,EAEzC,OAAOA,GAAE,OAAO;AAClB,CAAC;AAGM,IAAM,gBAAgB,iBAAiB,OAAO,iBAAiB,KAAK,EAAE,OAAO,sBAAsB,KAAK,EAAE,OAAO,mBAAmB,KAAK;AAGzI,IAAM,iBAAiB,mBAAmB,UAAU,EAAE,OAAO,cAAc,KAAK;AAOhF,IAAM,cAAc,CAAC,UAAoC;AAC9D,SAAO,OAAO,UAAU,YAAY,QAAQ,IAAI,KAAK,IAAI;AAC3D;AAGO,IAAM,gBAAgB,CAAC,UAAyC;AACrE,SAAOD,uBAAmC,UAAU,EAAE,KAAK,KAAK,YAAY,MAAM,KAAK;AACzF;AAGO,IAAM,gBAAgBF,iBAAgB,OAAO,aAAa;AAE1D,IAAM,+BAA+BA,iBAAgB,OAAO,aAAa;;;AC5DhF,SAAS,mBAAAI,wBAAuB;AAEhC,SAAS,YAAAC,WAAU,sBAAAC,2BAA0B;;;ACF7C,SAAqB,mBAAmB;AACxC,SAAS,KAAAC,UAAS;;;ACAlB,SAAS,cAAc,oBAAoB;AAC3C,SAAS,KAAAC,UAAS;;;ACFlB,SAAS,KAAAC,UAAS;AAGX,IAAM,eAAeA,GAAE,MAAM,CAACA,GAAE,OAAO,GAAGA,GAAE,OAAO,GAAGA,GAAE,OAAO,CAAC,CAAC,EACrE,UAAU,OAAM,OAAO,MAAM,WAAW,OAAO,CAAC,IAAI,OAAO,MAAM,WAAW,OAAO,CAAC,IAAI,CAAE,EAC1F,KAAKA,GAAE,OAAO,CAAC;;;ADKX,IAAM,iBAAiBC,GAAE,OAAO,EAAE,UAAU,OAAK,CAAgB;AAEjE,IAAM,oBAAoB,aAAa,UAAU,OAAK,CAAgB;AAMtE,IAAM,gBAAgB,aAA0B,gBAAgB,eAAe;AAE/E,IAAM,gBAAgB,aAA0B,mBAAmB,eAAe;AAGlF,IAAM,oBAAoB,cAAc,CAAC;;;AEtBhD,SAAS,gBAAAC,eAAc,gBAAAC,qBAAoB;AAC3C,SAAS,KAAAC,UAAS;AASX,IAAM,oBAAoBC,GAAE,OAAO,EAAE,UAAU,OAAK,CAAmB;AAEvE,IAAM,uBAAuB,kBAAkB,UAAU,OAAK,CAAmB;AAMjF,IAAM,mBAAmBC,cAA6B,mBAAmB,kBAAkB;AAE3F,IAAM,mBAAmBC,cAA6B,sBAAsB,kBAAkB;AAG9F,IAAM,wBAAwB,iBAAiB,CAAC;;;ACvBvD,SAAS,gBAAAC,eAAc,gBAAAC,qBAAoB;AAC3C,SAAS,KAAAC,UAAS;AASX,IAAM,oBAAoBC,GAAE,OAAO,EAAE,UAAU,OAAK,CAAmB;AAEvE,IAAM,uBAAuB,kBAAkB,UAAU,OAAK,CAAmB;AAMjF,IAAM,mBAAmBC,cAA6B,mBAAmB,kBAAkB;AAE3F,IAAM,mBAAmBC,cAA6B,sBAAsB,kBAAkB;AAG9F,IAAM,wBAAwB,iBAAiB,CAAC;;;AJlBhD,IAAM,kBAAkBC,GAAE,OAAO;AAAA,EACtC,OAAO,kBAAkB,SAAS,2CAA2C;AAAA,EAC7E,MAAMA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,+CAA+C;AAC/F,CAAC;AAUD,SAAS,YAAY,OAAmC;AAEtD,MAAI,UAAU,GAAI,QAAO;AAEzB,QAAM,MAAM,OAAO,KAAK;AAExB,SAAO,OAAO,UAAU,GAAG,IAAI,MAAM;AACvC;AAGO,IAAM,iBAAiB,CAAC,uBAAyD;AACtF,MAAI;AACF,UAAM,CAAC,mBAAmB,UAAU,IAAI,mBAAmB,MAAM,GAAG;AACpE,QAAI,YAAY,iBAAiB,KAAK,YAAY,UAAU,GAAG;AAC7D,aAAO;AAAA,IACT;AACA,UAAM,OAAO,YAAY,UAAU;AACnC,UAAM,QAAQ,iBAAiB,iBAAiB;AAChD,QAAI,YAAY,KAAK,KAAK,YAAY,IAAI,GAAG;AAC3C,aAAO;AAAA,IACT;AAEA,WAAO,EAAE,OAAO,KAAK;AAAA,EACvB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;;;AK7CA,SAAS,qBAAqB;AAQvB,IAAM,YAA8B;AAAA,EACzC,iBAAiB,GAAG,IAAI;AAAA,EACxB,iBAAiB,IAAI,IAAI;AAAA,EACzB,iBAAiB,KAAK,IAAI;AAAA,EAC1B,iBAAiB,MAAM,IAAI;AAAA,EAC3B,iBAAiB,OAAQ,IAAI;AAAA,EAC7B,iBAAiB,QAAS,IAAI;AAAA,EAC9B,iBAAiB,SAAW,IAAI;AAAA,EAChC,iBAAiB,WAAa,IAAI;AAAA,EAClC,iBAAiB,YAAe,IAAI;AACtC;AAGO,SAAS,YAAY,MAA+B;AACzD,MAAI,OAAO,SAAS,YAAY,OAAO,UAAU,IAAI,GAAG;AACtD,WAAS,QAAQ,KAAO,OAAO,UAAU;AAAA,EAC3C;AACA,SAAO;AACT;AAGO,IAAM,cAAc,cAAc,OAAe,WAAW;AAG5D,SAAS,SAAS,MAAsB;AAC7C,QAAM,gBAAgB,YAAY,MAAM,MAAM,iBAAiB,IAAI,uCAAuC,UAAU,SAAS,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC;AACpJ,SAAO,UAAU,aAAa;AAChC;AAGO,IAAM,sBAAsB;AAAA,EACjC,CAAC,IAAI,EAAE;AAAA;AAAA,EACP,CAAC,IAAI,EAAE;AAAA;AAAA,EACP,CAAC,IAAI,EAAE;AAAA;AAAA,EACP,CAAC,IAAI,MAAO;AAAA;AAAA,EACZ,CAAC,IAAI,KAAK;AAAA;AAAA,EACV,CAAC,IAAI,IAAI;AAAA;AAAA,EACT,CAAC,KAAK,IAAI;AAAA;AACZ;;;ANtCO,IAAM,qBAAqBC,UAAS,mCAAmC,IAAI;AAa3E,IAAM,wBAAwBC,oBAAwC,iBAAiB,kBAAkB;AAGzG,IAAM,wBAAwBC,iBAAgB,OAAO,qBAAqB;;;AOxBjF;AAAA,EACE;AAAA,EACA,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP;AAAA,EACE;AAAA,EAAiB;AAAA,EAAa;AAAA,EAAuB;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,KAAAC,WAAS;;;ACVlB,SAAS,cAAc,iBAAiB;AACxC,SAAS,KAAAC,UAAS;AAKX,IAAM,WAAWA,GAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,EAAE,UAAmB,OAAK,UAAU,CAAC,CAAY;;;ACNpH;AAAA,EACE;AAAA,EAAiB,UAAAC;AAAA,EAAQ;AAAA,EACzB,gBAAAC;AAAA,EAAc;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP,SAAS,KAAAC,WAAS;;;ACJlB,SAAS,KAAAC,WAAS;;;ACCX,IAAM,cAAc,CAAC,WAAmB,QAAQ,MAAM,UAAU;;;ADIhE,IAAM,eAAe,CAAmB,WAAmB,CAAC,QAA2B;AAC5F,MAAI,OAAO,QAAQ,SAAU,QAAO;AACpC,SAAO,OAAO,MAAM,OAAO,YAAY,MAAM;AAC/C;AAGO,IAAM,gBAAgB,CAAmB,QAAgB,SAAiB;AAC/E,QAAM,KAAK,aAAgB,MAAM;AACjC,QAAM,UAAU,qBAAqB,IAAI,2BAA2B,YAAY,MAAM,CAAC;AACvF,SAAOC,IAAE,OAAO,EAAE;AAAA,IAChB,CAAC,MAAM;AACL,YAAM,SAAS,GAAG,CAAC;AACnB,aAAO;AAAA,IACT;AAAA,IACA,EAAE,QAAQ;AAAA,EACZ;AACF;AAGO,IAAM,yBAAyB,CAAmB,QAAgB,SAAiB;AACxF,QAAM,KAAK,aAAgB,MAAM;AACjC,QAAM,UAAU,qBAAqB,IAAI,2BAA2B,YAAY,MAAM,CAAC;AACvF,SAAOA,IAAE,MAAM,CAACA,IAAE,OAAO,GAAGA,IAAE,OAAO,GAAGA,IAAE,OAAO,GAAGA,IAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,SAAO,OAAO,GAAG,CAAM,EAAE;AAAA,IACnG,CAAC,MAAM;AACL,YAAM,SAAS,GAAG,CAAC;AACnB,aAAO;AAAA,IACT;AAAA,IACA,EAAE,QAAQ;AAAA,EACZ;AACF;AAGO,IAAM,eAAe,CAAmB,WAAmB;AAChE,QAAM,MAAM,cAAiB,QAAQ,OAAO;AAC5C,SAAO,CAAC,QAAoB;AAC1B,UAAM,SAAS,IAAI,UAAU,GAAG;AAChC,QAAI,OAAO,SAAS;AAClB,aAAO,OAAO;AAAA,IAChB;AACA,UAAM,OAAO;AAAA,EACf;AACF;AAGO,IAAM,eAAe,CAAmB,WAAmB;AAChE,QAAM,MAAM,uBAA0B,QAAQ,OAAO;AACrD,SAAO,CAAC,QAAgC;AACtC,UAAM,SAAS,IAAI,UAAU,GAAG;AAChC,WAAO,OAAO,UAAU,OAAO,OAAY;AAAA,EAC7C;AACF;;;AEpDO,IAAM,YAAsC;AAAA,EACjD,KAAK;AAAA,EACL,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AACR;AAMO,IAAM,uBAAiD;AAAA,EAC5D,KAAK,OAAO,UAAU;AAAA,EACtB,OAAO,OAAO,UAAU;AAAA,EACxB,OAAO,OAAO,UAAU;AAAA,EACxB,MAAM,OAAO,UAAU;AAAA,EACvB,MAAM,OAAO,UAAU;AAAA,EACvB,OAAO,OAAO,UAAU;AAAA,EACxB,MAAM,OAAO,UAAU;AACzB;;;AClBO,IAAM,kBAAkB,YAAY,UAAU,IAAI;AAIlD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAEtD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAEtD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAGtD,IAAM,UAAU;;;ACXhB,IAAM,mBAAmB,YAAY,UAAU,KAAK;AAIpD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAEzD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAGzD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAGzD,IAAM,WAAW;;;ACZjB,IAAM,mBAAmB,YAAY,UAAU,KAAK;AAIpD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAEzD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAGzD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAGzD,IAAM,WAAW;;;ACZjB,IAAM,mBAAmB,YAAY,UAAU,KAAK;AAIpD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAEzD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAGzD,IAAM,aAAa,aAAuB,UAAU,KAAK;AAGzD,IAAM,WAAW;;;ACZjB,IAAM,kBAAkB,YAAY,UAAU,IAAI;AAIlD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAEtD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAGtD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAGtD,IAAM,UAAU;;;ACZhB,IAAM,kBAAkB,YAAY,UAAU,IAAI;AAIlD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAEtD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAGtD,IAAM,YAAY,aAAsB,UAAU,IAAI;AAGtD,IAAM,UAAU;;;ACZhB,IAAM,cAAc,YAAY,UAAU,GAAG;AAI7C,IAAM,QAAQ,aAAkB,UAAU,GAAG;AAE7C,IAAM,QAAQ,aAAkB,UAAU,GAAG;AAG7C,IAAM,QAAQ,aAAkB,UAAU,GAAG;AAG7C,IAAM,MAAM;;;AVqDnB,SAA4B,mBAAnBC,wBAAwC;AA/D1C,IAAM,UAAUC,IAAE,OAAO;AAEzB,IAAM,gBAAgB,gBAAgB,UAAU,OAAK,UAAU,CAAC,CAAC;AAKjE,IAAM,wBAAwBA,IAAE,OAAO;AAAA,EAC5C,MAAMC;AAAA,EACN,UAAUA;AAAA,EACV,UAAUA;AAAA,EACV,UAAUA;AACZ,CAAC;AAMM,IAAM,uBAAuB,aAAa,qBAAqB;AAE/D,IAAM,uBAAuBC,cAAa,uBAAuB,sBAAsB;AAEvF,IAAM,uBAAuBC,cAAa,uBAAuB,sBAAsB;AAGvF,IAAM,2BAA2BH,IAAE,OAAO;AAAA,EAC/C,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACZ,CAAC;AAMM,IAAM,0BAA0B,aAAa,wBAAwB;AAErE,IAAM,0BAA0BE,cAAa,0BAA0B,yBAAyB;AAEhG,IAAM,0BAA0BC,cAAa,0BAA0B,yBAAyB;AAGhG,IAAM,iCAAiC,sBAAsB,UAAU,UAAQ;AAAA,EACpF,MAAM,gBAAgB,MAAM,IAAI,IAAI;AAAA,EACpC,UAAU,gBAAgB,MAAM,IAAI,QAAQ;AAAA,EAC5C,UAAU,gBAAgB,MAAM,IAAI,QAAQ;AAAA,EAC5C,UAAU,gBAAgB,MAAM,IAAI,QAAQ;AAC9C,EAAE;AAGK,IAAM,iCAAiC,yBAAyB,UAAU,UAAQ;AAAA,EACvF,MAAM,gBAAgB,MAAM,IAAI,IAAI;AAAA,EACpC,UAAU,gBAAgB,MAAM,IAAI,QAAQ;AAAA,EAC5C,UAAU,gBAAgB,MAAM,IAAI,QAAQ;AAAA,EAC5C,UAAU,gBAAgB,MAAM,IAAI,QAAQ;AAC9C,EAAE;;;AFhDK,IAAM,gBAAgBC,IAAE,OAAO,EAAE,KAAK,kBAAkB,CAAC;AAEzD,IAAM,cAAcA,IAAE,OAAO,EAAE,KAAK,kBAAkB,CAAC;AAEvD,IAAM,mBAAmBA,IAAE,OAAO,EAAE,KAAK,mBAAmB,KAAK,kBAAkB,CAAC;AAEpF,IAAM,kBAAkBA,IAAE,OAAO,EAAE,QAAQA,IAAE,MAAMA,IAAE,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;AAG3E,IAAM,qBAAqBA,IAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGnE,IAAM,wCAAwCA,IAAE,OAAO,EAAE,OAAO,UAAU,MAAM,WAAW,CAAC;AAG5F,IAAM,mCAAmCA,IAAE,OAAO,EACtD,WAAW,iBAAiB,KAAK,EACjC,WAAW,mBAAmB,KAAK,EACnC,WAAW,sCAAsC,KAAK,EACtD,WAAW,gBAAgB,KAAK;AAM5B,IAAM,6BAA6B,gBACvC,WAAW,iCAAiC,KAAK;AAM7C,IAAM,4BAA4BC,cAAa,0BAA0B;AAEzE,IAAM,4BAA4BC,cAAa,4BAA4B,2BAA2B;AAEtG,IAAM,4BAA4BC,cAAa,4BAA4B,2BAA2B;AAGtG,IAAM,yCAAyC,2BACnD,WAAW,YAAY,KAAK;AAMxB,IAAM,wCAAwCF,cAAa,sCAAsC;AAEjG,IAAM,wCAAwCC,cAAa,wCAAwC,uCAAuC;AAE1I,IAAM,wCAAwCC,cAAa,wCAAwC,uCAAuC;AAG1I,IAAM,4CAA4C,2BACtD,WAAW,eAAe,KAAK;AAM3B,IAAM,2CAA2CF,cAAa,yCAAyC;AAEvG,IAAM,2CAA2CC,cAAa,2CAA2C,0CAA0C;AAEnJ,IAAM,2CAA2CC,cAAa,2CAA2C,0CAA0C;AAGnJ,IAAM,qCAAqC,wBAC/C,WAAW,iCAAiC,KAAK;AAM7C,IAAM,oCAAoCF,cAAa,kCAAkC;AAEzF,IAAM,oCAAoCC,cAAa,oCAAoC,mCAAmC;AAE9H,IAAM,oCAAoCC,cAAa,oCAAoC,mCAAmC;AAG9H,IAAM,iDAAiD,mCAAmC,WAAW,YAAY,KAAK;AAMtH,IAAM,gDAAgDF,cAAa,8CAA8C;AAEjH,IAAM,gDAAgDC;AAAA,EAC3D;AAAA,EACA;AACF;AAEO,IAAM,gDAAgDC;AAAA,EAC3D;AAAA,EACA;AACF;AAGO,IAAM,oDAAoD,mCAC9D,WAAW,eAAe,KAAK;AAM3B,IAAM,mDAAmDF,cAAa,iDAAiD;AAEvH,IAAM,mDAAmDC;AAAA,EAC9D;AAAA,EACA;AACF;AAEO,IAAM,mDAAmDC;AAAA,EAC9D;AAAA,EACA;AACF;AAGO,IAAM,mCAAmC,sBAC7C,WAAW,iCAAiC,KAAK;AAM7C,IAAM,kCAAkCF,cAAa,gCAAgC;AAErF,IAAM,kCAAkCC,cAAa,kCAAkC,iCAAiC;AAExH,IAAM,kCAAkCC,cAAa,kCAAkC,iCAAiC;AAGxH,IAAM,+CAA+C,gBAAgB,gCAAgC;AAMrG,IAAM,8CAA8CF,cAAa,4CAA4C;AAE7G,IAAM,8CAA8CC;AAAA,EACzD;AAAA,EACA;AACF;AAEO,IAAM,8CAA8CC;AAAA,EACzD;AAAA,EACA;AACF;AAGO,IAAM,kDAAkD,mBAAmB,gCAAgC;AAM3G,IAAM,iDAAiDF,cAAa,+CAA+C;AAEnH,IAAM,iDAAiDC;AAAA,EAC5D;AAAA,EACA;AACF;AAEO,IAAM,iDAAiDC;AAAA,EAC5D;AAAA,EACA;AACF;;;AazLO,IAAM,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjC,kBAAkB;AAAA;AAAA,EAGlB,mBAAmB;AAAA;AAAA,EAGnB,qBAAqB;AAAA;AAAA,EAGrB,gBAAgB;AAAA;AAAA,EAGhB,mBAAmB;AACrB;;;ACnBA;AAAA,EACE,cAAAC;AAAA,EACA,mBAAAC;AAAA,EAAiB,UAAAC;AAAA,EAAQ;AAAA,OACpB;AACP;AAAA,EACE,YAAAC;AAAA,EAAU,yBAAAC;AAAA,EAAuB,sBAAAC;AAAA,OAC5B;AACP,SAAS,KAAAC,WAAS;AAGX,IAAM,iBAAiBH,UAAS,wBAAwB,IAAI;AAK5D,IAAM,oBAAoBG,IAAE,OAAO;AAAA;AAAA;AAAA,EAGxC,SAAS,cAAc,SAAS;AAAA,EAChC,OAAOA,IAAE,OAAO;AAAA,EAChB,MAAMN;AAAA,EACN,WAAWM,IAAE,OAAON,aAAYE,OAAM;AACxC,CAAC;AAGM,IAAM,cAAcG,oBAAmB,cAAc,EAAE,OAAO,kBAAkB,KAAK;AAMrF,IAAM,aAAaD,uBAAgC,cAAc;AAGjE,IAAM,aAAaH,iBAAgB,OAAO,UAAU;;;A/BEpD,IAAM,6BAA6B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,IAAM,+BAA+BM,IAAE,KAAK,0BAA0B;AAItE,IAAM,8BAA8BC,cAAa,4BAA4B;AAG7E,IAAM,wBAAwB,CAAI,UAA+C;AACtF,SAAO,WAAW,KAAK,KAClB,+BAA+B,KAAK,KACpC,eAAe,KAAK,KACpB,0BAA0B,KAAK,KAC/B,mBAAmB,KAAK,KACxB,cAAc,KAAK,KACnB,gBAAgB,KAAK,KACrB,cAAc,KAAK,KACnB,0BAA0B,KAAK;AACtC;AAGO,IAAM,oCAAoC,CAAI,UAAgE;AACnH,SAAO,sBAAsB,KAAK,KAAK,WAAW,KAAK;AACzD;;;AgCxEA;AAAA,EACE,WAAAC;AAAA,EACA,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP;AAAA,EACE,mBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,sBAAAC;AAAA,OACK;AACP,SAAS,KAAAC,WAAS;AAMX,IAAM,6BAA6BC,IAAE,OAAO;AAAA,EACjD,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAUC,SAAQ,SAAS;AAAA,EAC3B,UAAUD,IAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,aAAaA,IAAE,MAAMC,QAAO,EAAE,SAAS;AACzC,CAAC;AAGM,IAAM,2BAA2BD,IAAE,OAAO,EAAE,QAAQA,IAAE,OAAO,EAAE,CAAC;AAGhE,IAAM,uBAAuBA,IAAE,OAAO;AAAA,EAC3C,GAAGE,iBAAgB;AAAA,EACnB,GAAG,2BAA2B;AAAA,EAC9B,GAAG,yBAAyB;AAC9B,CAAC;AAMM,IAAM,sBAAsBC,cAAa,oBAAoB;AAE7D,IAAM,sBAAsBC,cAAa,sBAAsB,qBAAqB;AAEpF,IAAM,sBAAsBC,cAAa,sBAAsB,qBAAqB;AAGpF,IAAM,mCAAmCC,iBAAgB,oBAAoB;AAQ7E,IAAM,kCAAkCH,cAAaG,iBAAgB,oBAAoB,CAAC;AAE1F,IAAM,kCAAkCF,cAAaE,iBAAgB,oBAAoB,GAAG,iCAAiC;AAE7H,IAAM,kCAAkCD,cAAaC,iBAAgB,oBAAoB,GAAG,iCAAiC;AAG7H,IAAM,sCAAsCC,oBAAmB,oBAAoB;AAQnF,IAAM,qCAAqCJ,cAAaI,oBAAmB,oBAAoB,CAAC;AAEhG,IAAM,qCAAqCH,cAAaG,oBAAmB,oBAAoB,GAAG,oCAAoC;AAEtI,IAAM,qCAAqCF,cAAaE,oBAAmB,oBAAoB,GAAG,oCAAoC;;;ACvE7I;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP;AAAA,EACE;AAAA,EACA;AAAA,EAAiB,mBAAAC;AAAA,EAAiB,sBAAAC;AAAA,OAC7B;AACP,SAAS,KAAAC,WAAS;;;ACPlB;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP,SAAS,yBAAAC,8BAA6B;AAM/B,IAAM,6BAA6BC,uBACvC,WAAW,2BAA2B,KAAK,EAC3C,WAAW,yBAAyB,KAAK;AAMrC,IAAM,4BAA4BC,cAAa,0BAA0B;AAEzE,IAAM,4BAA4BC,cAAa,4BAA4B,2BAA2B;AAEtG,IAAM,4BAA4BC,cAAa,4BAA4B,2BAA2B;;;ACrB7G;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP,SAAS,gBAAgB,mBAAAC,wBAAuB;AAMzC,IAAM,yCAAyCC,iBAAgB,0BAA0B;AAMzF,IAAM,wCAAwCC,cAAa,sCAAsC;AAEjG,IAAM,wCAAwCC,cAAa,wCAAwC,uCAAuC;AAG1I,IAAM,4CAA4C,2BAA2B,UAAU,OAAO,SAAS;AAC5G,MAAI,sCAAsC,IAAI,GAAG;AAC/C,WAAO;AAAA,EACT;AACA,MAAI,0BAA0B,IAAI,GAAG;AACnC,WAAO,MAAM,eAAe,YAAY,IAAI;AAAA,EAC9C;AACA,QAAM,IAAI,MAAM,uDAAuD;AACzE,CAAC;AAMM,IAAM,wCAAwCC,cAAa,wCAAwC,uCAAuC;;;AClCjJ;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP,SAAS,kBAAAC,iBAAgB,sBAAAC,2BAA0B;AAM5C,IAAM,4CAA4CC,oBAAmB,0BAA0B;AAM/F,IAAM,2CAA2CC,cAAa,yCAAyC;AAEvG,IAAM,2CAA2CC;AAAA,EACtD;AAAA,EACA;AACF;AAGO,IAAM,+CAA+C,2BAA2B,UAAU,OAAO,SAAS;AAC/G,MAAI,yCAAyC,IAAI,GAAG;AAClD,WAAO;AAAA,EACT;AACA,MAAI,0BAA0B,IAAI,GAAG;AACnC,WAAO,MAAMC,gBAAe,eAAe,IAAI;AAAA,EACjD;AACA,QAAM,IAAI,MAAM,0DAA0D;AAC5E,CAAC;AAMM,IAAM,2CAA2CC;AAAA,EACtD;AAAA,EACA;AACF;;;AH3BO,IAAM,mBAAmBC,IAAE,MAAM;AAAA,EACtC;AAAA,EACAA,IAAE,MAAM,eAAe;AACzB,CAAC;AAMM,IAAM,kBAAkBC,cAAa,gBAAgB;AAErD,IAAM,kBAAkBC,eAAa,kBAAkB,iBAAiB;AAExE,IAAM,kBAAkBC,eAAa,kBAAkB,iBAAiB;AAGxE,IAAM,+BAA+BH,IAAE,MAAM;AAAA,EAClDI,iBAAgB,oBAAoB;AAAA,EACpCJ,IAAE,MAAMI,iBAAgB,UAAU,EAAE,MAAM,CAAC;AAC7C,CAAC;AAMM,IAAM,8BAA8BH,cAAa,4BAA4B;AAE7E,IAAM,8BAA8BC,eAAa,8BAA8B,6BAA6B;AAE5G,IAAM,8BAA8BC,eAAa,8BAA8B,6BAA6B;AAG5G,IAAM,kCAAkCH,IAAE,MAAM;AAAA,EACrDK,oBAAmB,oBAAoB;AAAA,EACvCL,IAAE,MAAMK,oBAAmB,UAAU,EAAE,MAAM,CAAC;AAChD,CAAC;AAMM,IAAM,iCAAiCJ,cAAa,+BAA+B;AAEnF,IAAM,iCAAiCC,eAAa,iCAAiC,gCAAgC;AAErH,IAAM,iCAAiCC,eAAa,iCAAiC,gCAAgC;AAGrH,IAAM,yBAAyBH,IAAE,MAAM;AAAA,EAC5C;AAAA,EACAA,IAAE,MAAM,WAAW,MAAM,CAAC;AAC5B,CAAC;AAMM,IAAM,wBAAwBC,cAAa,sBAAsB;AAEjE,IAAM,wBAAwBC,eAAa,wBAAwB,uBAAuB;AAE1F,IAAM,wBAAwBC,eAAa,wBAAwB,uBAAuB;AAG1F,IAAM,+BAA+BH,IAAE,MAAM;AAAA,EAClD;AAAA,EACAA,IAAE,MAAM,WAAW,MAAM,CAAC;AAC5B,CAAC;AAMM,IAAM,8BAA8BC,cAAa,4BAA4B;AAE7E,IAAM,8BAA8BC,eAAa,8BAA8B,6BAA6B;AAE5G,IAAM,8BAA8BC,eAAa,8BAA8B,6BAA6B;AAG5G,IAAM,qCAAqCH,IAAE,MAAM;AAAA,EACxDI,iBAAgB,0BAA0B;AAAA,EAC1CJ,IAAE,MAAMI,iBAAgB,UAAU,EAAE,MAAM,CAAC;AAC7C,CAAC;AAMM,IAAM,wCAAwCJ,IAAE,MAAM;AAAA,EAC3DA,IAAE,MAAM,CAACI,iBAAgB,0BAA0B,CAAC,CAAC;AAAA,EACrDJ,IAAE,MAAMI,iBAAgB,UAAU,EAAE,MAAM,CAAC;AAC7C,CAAC;AAGM,IAAM,oCAAoCH,cAAa,kCAAkC;AAEzF,IAAM,oCAAoCC,eAAa,oCAAoC,mCAAmC;AAG9H,IAAM,oCAAoCC,eAAa,oCAAoC,mCAAmC;AAG9H,IAAM,wCAAwCH,IAAE,MAAM;AAAA,EAC3DK,oBAAmB,0BAA0B;AAAA,EAC7CL,IAAE,MAAMK,oBAAmB,UAAU,EAAE,MAAM,CAAC;AAChD,CAAC;AAKM,IAAM,uCAAuCJ,cAAa,qCAAqC;AAE/F,IAAM,uCAAuCC,eAAa,uCAAuC,sCAAsC;AAEvI,IAAM,uCAAuCC,eAAa,uCAAuC,sCAAsC;AAGvI,IAAM,2CAA2CH,IAAE,MAAM;AAAA,EAC9DA,IAAE,MAAM,CAACK,oBAAmB,0BAA0B,CAAC,CAAC;AAAA,EACxDL,IAAE,MAAMK,oBAAmB,UAAU,EAAE,MAAM,CAAC;AAChD,CAAC;;;AItID;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP,SAAS,2BAAAC,gCAA+B;AAMjC,IAAM,+BAA+BC,yBACzC,WAAW,2BAA2B,KAAK,EAC3C,WAAW,yBAAyB,KAAK;AAMrC,IAAM,8BAA8BC,cAAa,4BAA4B;AAE7E,IAAM,8BAA8BC,eAAa,8BAA8B,6BAA6B;AAE5G,IAAM,8BAA8BC,eAAa,8BAA8B,6BAA6B;;;ACrBnH,SAAS,mBAAAC,yBAAuB;AAEhC;AAAA,EACE,YAAAC;AAAA,EACA,yBAAAC;AAAA,EACA;AAAA,OACK;AAKA,IAAM,oBAAoBD,WAAS,kCAAkC,IAAI;AAmBzE,IAAM,uBAAuBC,uBAA0C,iBAAiB;AAExF,IAAM,uBAAuBF,kBAAgB,OAA2B,oBAAoB;AAK5F,IAAM,kCAAkC,iCAAqD,iBAAiB;AAE9G,IAAM,kCAAkCA,kBAAgB,OAAwC,+BAA+B;;;ACtCtI,SAAS,gBAAAG,sBAAoB;AAC7B,SAAS,mBAAAC,wBAAuB;AAChC,SAAS,KAAAC,WAAS;;;ACHlB,SAAS,WAAAC,UAAS,gBAAAC,sBAAoB;AACtC,SAAS,KAAAC,WAAS;;;ACAlB;AAAA,EACE;AAAA,EACA;AAAA,EAAW,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACpB;AACP,SAAS,KAAAC,WAAS;AAWX,IAAM,gBAAgBC,IAAE,MAAM,CAAC,gBAAgB,cAAc,CAAC;AAE9D,IAAM,mBAAmBA,IAAE,MAAM,CAAC,mBAAmB,iBAAiB,CAAC;AAMvE,IAAM,eAAeC,eAAyB,eAAe,YAAY;AAEzE,IAAM,eAAeC,eAAyB,kBAAkB,YAAY;AAK5E,IAAM,mBAAmB,CAAC,UAAsB,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAOvE,SAAS,mBAAmB,KAAoB,QAA+C;AACpG,QAAM,CAAC,OAAO,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI,OAAK,cAAc,OAAO,CAAC,CAAC,CAAC;AACrE,QAAM,SAAU,UAAU,KAAK,KAAK,UAAU,GAAG,IAAK,CAAC,OAAO,GAAG,IAAI;AACrE,SAAO,YAAY,QAAQ,QAAQ,0BAA0B,GAAG,EAAE;AACpE;;;ACzCA;AAAA,EACE,eAAAC;AAAA,EACA,aAAAC;AAAA,EAAW,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACpB;AACP,SAAS,KAAAC,WAAS;AAWX,IAAM,mBAAmBC,IAAE,MAAM,CAAC,mBAAmB,iBAAiB,CAAC;AAEvE,IAAM,sBAAsBA,IAAE,MAAM,CAAC,sBAAsB,oBAAoB,CAAC;AAMhF,IAAM,kBAAkBC,eAA4B,kBAAkB,eAAe;AAErF,IAAM,kBAAkBC,eAA4B,qBAAqB,eAAe;AAKxF,IAAM,sBAAsB,CAAC,UAAyB,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAO7E,SAAS,sBAAsB,KAAuB,QAAkD;AAC7G,QAAM,CAAC,OAAO,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI,OAAK,iBAAiB,OAAO,CAAC,CAAC,CAAC;AACxE,QAAM,SAAUC,WAAU,KAAK,KAAKA,WAAU,GAAG,IAAK,CAAC,OAAO,GAAG,IAAI;AACrE,SAAOC,aAAY,QAAQ,QAAQ,6BAA6B,GAAG,EAAE;AACvE;;;AC1CA;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP,SAAS,KAAAC,WAAS;AAGX,IAAM,WAAWA,IAAE,MAAM,CAACA,IAAE,OAAO,GAAGA,IAAE,OAAO,CAAC,CAAC;AAMjD,IAAM,UAAUF,eAAoB,QAAQ;AAE5C,IAAM,UAAUD,eAAoB,UAAU,OAAO;AAErD,IAAM,UAAUE,eAAoB,UAAU,OAAO;;;ACf5D;AAAA,EACE,eAAAE;AAAA,EACA,aAAAC;AAAA,EAAW,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACpB;AACP,SAAS,KAAAC,WAAS;AAWX,IAAM,mBAAmBC,IAAE,MAAM,CAAC,mBAAmB,iBAAiB,CAAC;AAEvE,IAAM,sBAAsBA,IAAE,MAAM,CAAC,sBAAsB,oBAAoB,CAAC;AAMhF,IAAM,kBAAkBC,eAA4B,kBAAkB,eAAe;AAErF,IAAM,kBAAkBC,eAA4B,qBAAqB,eAAe;AAKxF,IAAM,sBAAsB,CAAC,UAAyB,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;AAO7E,SAAS,sBAAsB,KAAuB,QAAkD;AAC7G,QAAM,CAAC,OAAO,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI,OAAK,iBAAiB,OAAO,CAAC,CAAC,CAAC;AACxE,QAAM,SAAUC,WAAU,KAAK,KAAKA,WAAU,GAAG,IAAK,CAAC,OAAO,GAAG,IAAI;AACrE,SAAOC,aAAY,QAAQ,QAAQ,6BAA6B,GAAG,EAAE;AACvE;;;AJpCO,IAAM,wBAAwBC,IAAE,OAAO,EAAE,MAAMC,UAAS,OAAO,iBAAiB,CAAC;AAIjF,IAAM,uBAAuBC,eAAa,qBAAqB;AAG/D,IAAM,+BAA+BF,IAAE,OAAO,EAAE,OAAO,iBAAiB,CAAC;AAIzE,IAAM,8BAA8BE,eAAa,4BAA4B;AAG7E,IAAM,8BAA8BF,IAAE,OAAO,EAAE,MAAMC,SAAQ,CAAC;AAI9D,IAAM,6BAA6BC,eAAa,2BAA2B;AAG3E,IAAM,0BAA0BF,IAAE,MAAM,CAAC,8BAA8B,6BAA6BA,IAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAIjH,IAAM,yBAAyBE,eAAa,uBAAuB;AAGnE,IAAM,iCAAiC,CAAI,YAA0B;AAC1E,SAAOF,IAAE,MAAM;AAAA,IACb,6BAA6B,OAAO,OAAO;AAAA,IAC3C,4BAA4B,OAAO,OAAO;AAAA,IAC1C;AAAA,EACF,CAAC;AACH;AAKO,IAAM,oBAAoB,CAAI,YAA0B;AAC7D,SAAOA,IAAE,MAAM,CAAC,SAAS,qBAAqB,CAAC;AACjD;;;ADjCO,IAAM,+BAA+BG,IAAE,MAAM;AAAA,EAClDC,iBAAgB,oBAAoB;AAAA,EACpCA,iBAAgB,0BAA0B,EAAE,SAAS;AAAA,EACrDA,iBAAgB,WAAW;AAC7B,CAAC;AAMM,IAAM,iCAAiC;AAIvC,IAAM,gCAAgCC,eAAa,8BAA8B;AAGjF,IAAM,0BAA0B;AAIhC,IAAM,yBAAyBA,eAAa,uBAAuB;AAoBnE,IAAM,8BAA8B;;;AMlDpC,IAAM,mBAAmB;AAKzB,IAAM,qBAAqB;AAK3B,IAAM,8BAA8B;AAKpC,IAAM,0BAA0B;AAGhC,IAAM,sCAAsC;AAG5C,IAAM,oCAAoC;AAG1C,IAAM,+BAA+B;AAGrC,IAAM,wCAAwC;AAG9C,IAAM,kCAAkC;;;ACnC/C,SAAS,KAAAC,WAAS;AAElB,SAAS,aAAa,IAAwB;AAE5C,MAAI,OAAO,WAAW,eAAe,OAAO,OAAO,SAAS,YAAY;AACtE,WAAO,OAAO,KAAK,EAAE,EAAE,SAAS,QAAQ;AAAA,EAC1C;AAGA,MAAI,SAAS;AACb,QAAM,QAAQ;AACd,WAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,KAAK,OAAO;AAEzC,cAAU,OAAO,aAAa,GAAG,GAAG,SAAS,GAAG,IAAI,KAAK,CAAC;AAAA,EAC5D;AACA,SAAO,KAAK,MAAM;AACpB;AAGA,SAAS,aAAa,KAAyB;AAE7C,MAAI,OAAO,WAAW,eAAe,OAAO,OAAO,SAAS,YAAY;AACtE,WAAO,IAAI,WAAW,OAAO,KAAK,KAAK,QAAQ,CAAC;AAAA,EAClD;AAGA,QAAM,SAAS,KAAK,GAAG;AACvB,QAAM,KAAK,IAAI,WAAW,OAAO,MAAM;AAEvC,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,IAAK,IAAG,CAAC,IAAI,OAAO,WAAW,CAAC;AACnE,SAAO;AACT;AAGO,IAAM,uBAAuBA,IAAE,WAAW,WAAW,EAAE,UAAU,CAAC,MAAM;AAC7E,QAAM,KAAK,IAAI,WAAW,CAAC;AAC3B,SAAO,aAAa,EAAE;AACxB,CAAC;AAGM,IAAM,uBAAuBA,IAAE,OAAO,EAAE,UAAU,CAAC,MAAM;AAC9D,QAAM,KAAK,aAAa,CAAC;AACzB,SAAO,GAAG;AACZ,CAAC;;;AC3CD,SAAS,gBAAAC,gBAAc,gBAAAC,sBAAoB;AAC3C,SAAS,KAAAC,WAAS;AAOX,IAAM,mBAAmBC,IAAE,OAAO;AAAA,EACvC,QAAQA,IAAE,OAAO,EAAE,YAAY;AAAA,EAC/B,SAASA,IAAE,OAAO,EAAE,YAAY;AAAA,EAChC,SAASA,IAAE,OAAO,EAAE,YAAY;AAAA,EAChC,OAAOA,IAAE,OAAO,EAAE,YAAY;AAAA,EAC9B,MAAMA,IAAE,OAAO,EAAE,YAAY;AAAA,EAC7B,OAAOA,IAAE,OAAO,EAAE,YAAY;AAChC,CAAC;AAGM,IAAM,kBAAkBC,eAAa,gBAAgB;AAErD,IAAM,kBAAkBC,eAAa,kBAAkB,iBAAiB;AAExE,IAAM,kBAAkBA,eAAa,kBAAkB,iBAAiB;AAMxE,IAAM,eAAeF,IAAE,OAAO;AAAA,EACnC,OAAO,iBAAiB,SAAS,8CAA8C;AAAA,EAC/E,MAAMA,IAAE,OAAO,EAAE,YAAY,EAAE,SAAS,wCAAwC;AAAA,EAChF,UAAU,iBAAiB,MAAM,EAAE,SAAS,gDAAgD;AAAA,EAC5F,MAAMA,IAAE,IAAI,EAAE,YAAY,EAAE,SAAS,+CAA+C;AAAA,EACpF,gBAAgBA,IAAE,OAAO,EAAE,YAAY,EAAE,SAAS,0CAA0C;AAAA,EAC5F,cAAcA,IAAE,OAAO,EAAE,YAAY,EAAE,SAAS,4CAA4C;AAC9F,CAAC;AAgBM,IAAM,cAAcC,eAAa,YAAY;AAE7C,IAAM,cAAcC,eAAa,cAAc,aAAa;AAE5D,IAAM,cAAcA,eAAa,cAAc,aAAa;AAG5D,IAAM,WAAWF,IAAE,IAAI,EAAE,YAAY,EAAE,SAAS,8BAA8B;AAK9E,IAAM,eAAeA,IAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,UAAU,MAAM,EAAE,SAAS,mCAAmC;AAI7G,IAAM,iBAAiBA,IAAE,OAAO,EAAE,SAAS;AAGpC,IAAM,gBAAgBA,IAAE,OAAO;AAAA,EACpC,SAAS,eAAe,SAAS;AAAA,EACjC,OAAO,eAAe,SAAS;AAAA,EAC/B,MAAM,eAAe,SAAS;AAAA,EAC9B,OAAO,eAAe,SAAS;AAAA,EAC/B,QAAQ,eAAe,SAAS;AAAA,EAChC,OAAO,eAAe,SAAS;AACjC,CAAC,EAAE,SAAS,6CAA6C;AAMlD,IAAM,eAAeC,eAAa,aAAa;AAE/C,IAAM,eAAeC,eAAa,eAAe,cAAc;AAE/D,IAAM,eAAeA,eAAa,eAAe,cAAc;AAG/D,IAAM,sBAAsBF,IAAE,MAAM;AAAA,EACzCA,IAAE,OAAO,EAAE,SAAS,eAAe,CAAC;AAAA,EACpCA,IAAE,OAAO,EAAE,OAAO,eAAe,CAAC;AAAA,EAClCA,IAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAAA,EACjCA,IAAE,OAAO,EAAE,OAAO,eAAe,CAAC;AAAA,EAClCA,IAAE,OAAO,EAAE,QAAQ,eAAe,CAAC;AAAA,EACnCA,IAAE,OAAO,EAAE,OAAO,eAAe,CAAC;AACpC,CAAC,EAAE,SAAS,+CAA+C;AAMpD,IAAM,qBAAqBC,eAAa,mBAAmB;AAE3D,IAAM,qBAAqBC,eAAa,qBAAqB,oBAAoB;AAEjF,IAAM,qBAAqBA,eAAa,qBAAqB,oBAAoB;;;ACzGxF,SAAS,KAAAC,WAAS;AAKX,IAAM,YAAYA,IAAE;AAAA,EACzBA,IAAE,OAAO;AAAA,EACTA,IAAE,OAAiC,SAAO,OAAO,OAAO,QAAQ,aAAa,SAAS,OAAO,SAAS,IAAI;AAC5G;AAGO,IAAM,gBAAgBA,IAAE,OAAOA,IAAE,MAAM,CAACA,IAAE,OAAO,GAAGA,IAAE,OAAO,CAAC,CAAC,GAAGA,IAAE,QAAQ,CAAC;AAG7E,IAAM,YAAYA,IAAE,OAAe,SAAO,OAAO,OAAO,QAAQ,YAAY,UAAU,OAAO,WAAW,GAAG;AAG3G,IAAM,mBAAmBA,IAAE,OAAsB,SAAO,OAAO,OAAO,QAAQ,YAAY,cAAc,GAAG;AAG3G,IAAM,oBAAoBA,IAAE,OAAuB,SAAO,OAAO,OAAO,QAAQ,YAAY,eAAe,GAAG;AAG9G,IAAM,qBAAqBA,IAAE,OAAO;AAGpC,IAAM,iBAAiBA,IAAE,OAAO;AAAA,EACrC,QAAQ,UAAU,SAAS;AAAA,EAC3B,QAAQ,UAAU,SAAS;AAAA,EAC3B,eAAe,iBAAiB,SAAS;AAAA,EACzC,YAAY;AAAA,EACZ,iBAAiB,mBAAmB,SAAS;AAAA,EAC7C,eAAe,kBAAkB,SAAS;AAC5C,CAAC;;;AC/BD,OAAOC,SAAO;;;ACDP,IAAM,oBAAoB,eAAe,OAAO,EAAE,QAAQ,UAAU,CAAC;;;ADMrE,IAAM,sBAAsB,kBAAkB;AAAA,EACnD,EAAE,UAAUC,IAAE,OAA+B,SAAO,OAAO,OAAO,QAAQ,YAAa,SAAS,GAAI,EAAE;AACxG;AAGO,IAAM,uBAAuB,kBAAkB;AAAA,EACpD,EAAE,UAAUA,IAAE,OAAgC,SAAO,OAAO,OAAO,QAAQ,aAAa,SAAS,OAAO,YAAY,IAAI,EAAE;AAC5H;AAGO,IAAM,kBAAkB;;;AEnB/B,SAAS,mBAAAC,wBAAuB;AAChC,OAAOC,SAAO;AAMP,IAAM,qBAAqBC,IAAE;AAAA,EAClC,EAAE,MAAMC,iBAAgB,oBAAoB,EAAE;AAChD;AAGO,IAAM,iBAAiB,kBAAkB,WAAW,mBAAmB,KAAK;;;ACN5E,IAAM,sBAAsB,oBAAoB,WAAW,mBAAmB,KAAK;AAGnF,IAAM,uBAAuB,qBAAqB;AAAA,EACvD,mBAAmB;AACrB;AAGO,IAAM,kBAAkB,gBAAgB;AAAA,EAC7C,mBAAmB;AACrB;;;ACdO,IAAM,qBAAqB;;;ACE3B,IAAM,qBAA4C;AAAA,EACvD,MAAM,QAAQ,QAAQ,qBAAqB,IAAI;AAAA,EAC/C,UAAU,QAAQ,MAAM,qBAAqB,IAAI;AAAA,EACjD,UAAU,QAAQ,WAAa,qBAAqB,IAAI;AAAA,EACxD,UAAU,QAAQ,KAAK,qBAAqB,IAAI;AAClD;;;ACJO,IAAM,yBAAgD;AAAA,EAC3D,MAAM,mBAAmB;AAAA,EACzB,UAAU,QAAQ,MAAM,qBAAqB,IAAI;AAAA,EACjD,UAAU,QAAQ,WAAa,qBAAqB,IAAI;AAAA,EACxD,UAAU,mBAAmB;AAC/B;;;ACVA;AAAA,EACE,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,EAAc,gBAAAC;AAAA,OACvB;AACP;AAAA,EACE,cAAAC;AAAA,EACA,mBAAAC;AAAA,EAAiB,mBAAAC;AAAA,EACjB,sBAAAC;AAAA,OACK;AACP,SAAS,KAAAC,WAAS;AAOX,IAAM,yBAAyBC,IAAE,MAAM;AAAA,EAC5C;AAAA,EACAA,IAAE,MAAMC,gBAAe;AACzB,CAAC;AAMM,IAAM,wBAAwBC,eAAa,sBAAsB;AAEjE,IAAM,wBAAwBC,eAAa,wBAAwB,uBAAuB;AAE1F,IAAM,wBAAwBC,eAAa,wBAAwB,uBAAuB;AAG1F,IAAM,qCAAqCJ,IAAE,MAAM;AAAA,EACxDK,iBAAgB,0BAA0B;AAAA,EAC1CL,IAAE,MAAMK,iBAAgBC,WAAU,EAAE,MAAM,CAAC;AAC7C,CAAC;AAMM,IAAM,oCAAoCJ,eAAa,kCAAkC;AAEzF,IAAM,oCAAoCC,eAAa,oCAAoC,mCAAmC;AAE9H,IAAM,oCAAoCC,eAAa,oCAAoC,mCAAmC;AAG9H,IAAM,wCAAwCJ,IAAE,MAAM;AAAA,EAC3DO,oBAAmB,0BAA0B;AAAA,EAC7CP,IAAE,MAAMO,oBAAmBD,WAAU,EAAE,MAAM,CAAC;AAChD,CAAC;AAMM,IAAM,uCAAuCJ,eAAa,qCAAqC;AAE/F,IAAM,uCAAuCC,eAAa,uCAAuC,sCAAsC;AAEvI,IAAM,uCAAuCC,eAAa,uCAAuC,sCAAsC;AAGvI,IAAM,iCAAiCJ,IAAE,MAAM;AAAA,EACpD;AAAA,EACAA,IAAE,MAAMC,gBAAe;AACzB,CAAC;AAMM,IAAM,gCAAgCC,eAAa,8BAA8B;AAEjF,IAAM,gCAAgCC,eAAa,gCAAgC,+BAA+B;AAElH,IAAM,gCAAgCC,eAAa,gCAAgC,+BAA+B;AAGlH,IAAM,6CAA6CJ,IAAE,MAAM;AAAA,EAChEK,iBAAgB,kCAAkC;AAAA,EAClDL,IAAE,MAAMK,iBAAgBC,WAAU,EAAE,MAAM,CAAC;AAC7C,CAAC;AAMM,IAAM,4CAA4CJ,eAAa,0CAA0C;AAEzG,IAAM,4CAA4CC,eAAa,4CAA4C,2CAA2C;AAEtJ,IAAM,4CAA4CC,eAAa,4CAA4C,2CAA2C;AAGtJ,IAAM,gDAAgDJ,IAAE,MAAM;AAAA,EACnEO,oBAAmB,kCAAkC;AAAA,EACrDP,IAAE,MAAMO,oBAAmBD,WAAU,EAAE,MAAM,CAAC;AAChD,CAAC;AAMM,IAAM,+CAA+CJ,eAAa,6CAA6C;AAE/G,IAAM,+CAA+CC;AAAA,EAC1D;AAAA,EACA;AACF;AAEO,IAAM,+CAA+CC;AAAA,EAC1D;AAAA,EACA;AACF;AAGO,IAAM,+BAA+BJ,IAAE,MAAM;AAAA,EAClD;AAAA,EACAA,IAAE,MAAMC,gBAAe;AACzB,CAAC;AAMM,IAAM,8BAA8BC,eAAa,4BAA4B;AAE7E,IAAM,8BAA8BC,eAAa,8BAA8B,6BAA6B;AAE5G,IAAM,8BAA8BC,eAAa,8BAA8B,6BAA6B;AAG5G,IAAM,2CAA2CJ,IAAE,MAAM;AAAA,EAC9DK,iBAAgB,gCAAgC;AAAA,EAChDL,IAAE,MAAMK,iBAAgBC,WAAU,EAAE,MAAM,CAAC;AAC7C,CAAC;AAMM,IAAM,0CAA0CJ,eAAa,wCAAwC;AAErG,IAAM,0CAA0CC,eAAa,0CAA0C,yCAAyC;AAEhJ,IAAM,0CAA0CC,eAAa,0CAA0C,yCAAyC;AAGhJ,IAAM,8CAA8CJ,IAAE,MAAM;AAAA,EACjEO,oBAAmB,gCAAgC;AAAA,EACnDP,IAAE,MAAMO,oBAAmBD,WAAU,EAAE,MAAM,CAAC;AAChD,CAAC;AAMM,IAAM,6CAA6CJ,eAAa,2CAA2C;AAE3G,IAAM,6CAA6CC;AAAA,EACxD;AAAA,EACA;AACF;AAEO,IAAM,6CAA6CC;AAAA,EACxD;AAAA,EACA;AACF;;;ACvKO,IAAM,iBAAiB;;;ACD9B,SAAS,KAAAI,WAAS;AAGX,IAAM,iBAAiBA,IAAE,KAAK,CAAC,SAAS,cAAc,oBAAoB,aAAa,0BAA0B,CAAC;AAGlH,IAAM,aAAaA,IAAE,OAAO;AAAA,EACjC,MAAM;AAAA,EACN,OAAOA,IAAE,KAAK;AAChB,CAAC;AAGM,IAAM,gBAAgBA,IAAE,OAAO;AAAA,EACpC,kBAAkBA,IAAE,OAAO;AAAA,EAC3B,SAAS,WAAW,MAAM,EAAE,SAAS;AAAA,EACrC,SAASA,IAAE,OAAO;AACpB,CAAC;AAGM,IAAM,uBAAuB,cAAc,WAAW,EAAE,MAAMA,IAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAGrF,IAAM,uBAAuBA,IAAE,OAAOA,IAAE,OAAO,GAAGA,IAAE,OAAOA,IAAE,OAAO,GAAGA,IAAE,IAAI,CAAC,CAAC;AAG/E,IAAM,yBAAyBA,IAAE,OAAO;AAAA,EAC7C,kBAAkBA,IAAE,OAAO;AAAA,EAC3B,MAAMA,IAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;;;AC5BD,SAAS,oBAAoB;AAKtB,IAAM,qBAAqB;AAE3B,IAAM,8BAA8B,UAAU,aAAa,MAAM,kBAAkB,CAAC;AAEpF,IAAM,8BAA8B;AAEpC,IAAM,oCAAoC;AAE1C,IAAM,sCAAsC;AAE5C,IAAM,+BAA+B,UAAU,aAAa,KAAK,kBAAkB,CAAC;AAEpF,IAAM,6BAA6B,UAAU,aAAa,cAAiB,kBAAkB,CAAC;;;ACjBrG,SAAS,cAAAC,mBAAkB;AAC3B,SAAS,KAAAC,WAAS;AAMX,IAAM,yBAAyBC,IAAE,OAAO;AAAA,EAC7C,WAAWA,IAAE,MAAMA,IAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACxC,OAAO,cAAc,SAAS;AAAA,EAC9B,OAAOA,IAAE,MAAM,eAAe,EAAE,SAAS;AAAA,EACzC,SAASA,IAAE,MAAMC,WAAU,EAAE,SAAS;AACxC,CAAC;;;ACZD,SAAS,gBAAgB,aAAa;AAEtC,SAAS,yBAAyB;AAClC,SAAS,KAAAC,WAAS;AAElB,IAAM,qBAAqB,IAAI,OAAO,eAAe,kBAAkB,oBAAoB,kBAAkB,kBAAkB,CAAC;AAEzH,IAAM,2BAA2BA,IAAE,OAAO,EAAE,MAAM,kBAAkB;AAEpE,IAAM,6BAA6BA,IAAE,OAAO,EAAE,MAAM,kBAAkB,EAAE,UAAyB,OAAK,MAAM,CAAC,CAAkB;AAEtI,IAAM,yBAAyB,IAAI,OAAO,eAAe,kBAAkB,wBAAwB,kBAAkB,sBAAsB,CAAC;AAErI,IAAM,+BAA+BA,IAAE,OAAO,EAAE,MAAM,sBAAsB;AAE5E,IAAM,iCAAiCA,IAAE,OAAO,EAAE,MAAM,sBAAsB,EAAE,UAA6B,OAAK,MAAM,CAAC,CAAsB;AAG/I,IAAM,sBAAsBA,IAAE,MAAM,CAAC,0BAA0B,4BAA4B,CAAC;AAE5F,IAAM,wBAAwBA,IAAE,MAAM,CAAC,4BAA4B,8BAA8B,CAAC;;;ACpBzG,SAAS,cAAAC,aAAY,UAAAC,eAAc;AACnC,SAAS,KAAAC,WAAS;AAQX,IAAM,WAAWC,IAAE,OAAO;AAAA,EAC/B,QAAQ;AAAA;AAAA,EAER,UAAUA,IAAE,OAAO;AAAA;AAAA,EAEnB,IAAIA,IAAE,OAAO;AAAA;AAAA,EAEb,aAAaA,IAAE,OAAO;AAAA;AAAA,EAEtB,QAAQC;AAAA;AAAA,EAER,QAAQA;AAAA;AAAA,EAER,eAAeD,IAAE,OAAO;AAC1B,CAAC;AAGM,IAAM,iBAAiB,SAAS,UAAU,UAAQ;AAAA,EACvD,UAAU,IAAI;AAAA,EACd,QAAQE,iBAAc,MAAM,IAAI,MAAM;AAAA,EACtC,IAAI,IAAI;AAAA,EACR,aAAa,IAAI;AAAA,EACjB,QAAQD,YAAW,MAAM,IAAI,MAAM;AAAA,EACnC,QAAQA,YAAW,MAAM,IAAI,MAAM;AAAA,EACnC,eAAe,IAAI;AACrB,EAAE;AAIK,IAAM,iBAAiB,SAAS,OAAO,EAAE,QAAQE,QAAO,CAAC,EAAE,UAAU,UAAQ;AAAA,EAClF,UAAU,IAAI;AAAA,EACd,QAAQ,cAAc,MAAM,IAAI,MAAM;AAAA,EACtC,IAAI,IAAI;AAAA,EACR,aAAa,IAAI;AAAA,EACjB,QAAQ,IAAI;AAAA,EACZ,QAAQ,IAAI;AAAA,EACZ,eAAe,IAAI;AACrB,EAAE;;;AC9CF,SAAS,KAAAC,WAAS;AAGX,IAAM,gBAAgBA,IAAE,MAAM;AAAA,EACnCA,IAAE,QAAQ,KAAK;AAAA,EACfA,IAAE,QAAQ,OAAO;AAAA,EACjBA,IAAE,QAAQ,UAAU;AACtB,CAAC;;;ACPD,SAAS,cAAAC,mBAAkB;AAC3B,SAAS,KAAAC,WAAS;AAGX,IAAM,kBAAkBA,IAAE,MAAM;AAAA,EACrCD;AAAA,EAAYA;AACd,CAAC;;;ACLM,IAAM,6BAA6B;AAEnC,IAAM,6BAA6B;AAEnC,IAAM,6BAA6B;AAEnC,IAAM,8BAA8B,GAAG,0BAA0B,IAAI,0BAA0B,IAAI,0BAA0B;AAE7H,IAAM,uBAAuB,6BAA6B,MAAY,6BAA6B,MAAO;;;ACTjH,SAAS,UAAU,gBAAgB;AAM5B,IAAM,oBAAoB,CAAI,UAAa;AAChD,QAAM,UAAU,SAAS,KAAK,IAAK,QAAuC;AAC1E,SAAO,SAAS,OAAO;AACzB;AAGO,IAAM,yBAAyB;","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"]}
@@ -0,0 +1,42 @@
1
+ import type { Promisable } from '@xylabs/sdk-js';
2
+ /** AsyncMapRead interface. */
3
+ export interface AsyncMapRead<K, V> {
4
+ get(id: K): Promisable<V | undefined>;
5
+ getMany(id: K[]): Promisable<V[]>;
6
+ has(id: K): Promisable<boolean>;
7
+ }
8
+ /**
9
+ * @deprecated Use AsyncMapRead instead
10
+ */
11
+ export interface AsynchronousMapRead<K, V> extends AsyncMapRead<K, V> {
12
+ }
13
+ /** AsyncMapWrite interface. */
14
+ export interface AsyncMapWrite<K, V> {
15
+ clear(): Promisable<void>;
16
+ delete(id: K): Promisable<boolean>;
17
+ set(id: K, data: V): Promisable<K | undefined | void>;
18
+ setMany(entries: [K, V][]): Promisable<K[] | void>;
19
+ }
20
+ /**
21
+ * @deprecated Use AsyncMapWrite instead
22
+ */
23
+ export interface AsynchronousMapWrite<K, V> extends AsyncMapWrite<K, V> {
24
+ }
25
+ /** AsyncMap interface. */
26
+ export interface AsyncMap<K, V> extends AsyncMapRead<K, V>, AsyncMapWrite<K, V> {
27
+ }
28
+ /**
29
+ * @deprecated Use AsyncMap instead
30
+ */
31
+ export interface AsynchronousMap<K, V> extends AsyncMap<K, V> {
32
+ }
33
+ /** AsyncIterableMapRead interface. */
34
+ export interface AsyncIterableMapRead<K, V> extends AsyncMapRead<K, V>, AsyncIterable<[K, V]> {
35
+ }
36
+ /** AsyncIterableMapWrite interface. */
37
+ export interface AsyncIterableMapWrite<K, V> extends AsyncMapWrite<K, V>, AsyncIterable<[K, V]> {
38
+ }
39
+ /** AsyncIterableMap interface. */
40
+ export interface AsyncIterableMap<K, V> extends AsyncMap<K, V>, AsyncIterable<[K, V]> {
41
+ }
42
+ //# sourceMappingURL=AsyncMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsyncMap.d.ts","sourceRoot":"","sources":["../../../src/map/AsyncMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,8BAA8B;AAC9B,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC;IAChC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,CAAC,CAAA;IACrC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAA;IACjC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;CAChC;AACD;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAExE,+BAA+B;AAC/B,MAAM,WAAW,aAAa,CAAC,CAAC,EAAE,CAAC;IACjC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IAClC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,CAAA;IACrD,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;CACnD;AACD;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAE1E,0BAA0B;AAC1B,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAClF;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAEhE,sCAAsC;AACtC,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAG;AAC/F,uCAAuC;AACvC,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAG;AACjG,kCAAkC;AAClC,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAQ,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAG"}
@@ -0,0 +1,17 @@
1
+ import type { AsyncIterableMap, AsyncIterableMapRead, AsyncIterableMapWrite, AsyncMap, AsyncMapRead, AsyncMapWrite } from './AsyncMap.ts';
2
+ import type { SyncIterableMap, SyncIterableMapRead, SyncIterableMapWrite, SyncMap, SyncMapRead, SyncMapWrite } from './SyncMap.ts';
3
+ /** MapType type. */
4
+ export type MapType<TId, TData> = SyncMap<TId, TData> | AsyncMap<TId, TData>;
5
+ /** MapTypeRead type. */
6
+ export type MapTypeRead<TId, TData> = SyncMapRead<TId, TData> | AsyncMapRead<TId, TData>;
7
+ /** MapTypeWrite type. */
8
+ export type MapTypeWrite<TId, TData> = SyncMapWrite<TId, TData> | AsyncMapWrite<TId, TData>;
9
+ /** AsynchronousMapType type. */
10
+ export type AsynchronousMapType<TId, TData> = AsyncMapRead<TId, TData> & AsyncMapWrite<TId, TData>;
11
+ /** IterableMapRead type. */
12
+ export type IterableMapRead<TId, TData> = SyncIterableMapRead<TId, TData> | AsyncIterableMapRead<TId, TData>;
13
+ /** IterableMapWrite type. */
14
+ export type IterableMapWrite<TId, TData> = SyncIterableMapWrite<TId, TData> | AsyncIterableMapWrite<TId, TData>;
15
+ /** IterableMap type. */
16
+ export type IterableMap<TId, TData> = SyncIterableMap<TId, TData> | AsyncIterableMap<TId, TData>;
17
+ //# sourceMappingURL=MapType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapType.d.ts","sourceRoot":"","sources":["../../../src/map/MapType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EACrG,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EACV,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAC/F,MAAM,cAAc,CAAA;AAErB,oBAAoB;AACpB,MAAM,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAE5E,wBAAwB;AACxB,MAAM,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAExF,yBAAyB;AACzB,MAAM,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAE3F,gCAAgC;AAChC,MAAM,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,IAAI,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAElG,4BAA4B;AAC5B,MAAM,MAAM,eAAe,CAAC,GAAG,EAAE,KAAK,IAAI,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAE5G,6BAA6B;AAC7B,MAAM,MAAM,gBAAgB,CAAC,GAAG,EAAE,KAAK,IAAI,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AAE/G,wBAAwB;AACxB,MAAM,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,IAAI,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA"}
@@ -0,0 +1,41 @@
1
+ /** SyncMapRead interface. */
2
+ export interface SyncMapRead<K, V> {
3
+ get(id: K): V | undefined;
4
+ getMany(id: K[]): V[];
5
+ has(id: K): boolean;
6
+ }
7
+ /**
8
+ * @deprecated Use SyncMapRead instead
9
+ */
10
+ export interface SynchronousMapRead<K, V> extends SyncMapRead<K, V> {
11
+ }
12
+ /** SyncMapWrite interface. */
13
+ export interface SyncMapWrite<K, V> {
14
+ clear(): void;
15
+ delete(id: K): boolean;
16
+ set(id: K, data: V): K | undefined | void;
17
+ setMany(entries: [K, V][]): K[] | void;
18
+ }
19
+ /**
20
+ * @deprecated Use SyncMapWrite instead
21
+ */
22
+ export interface SynchronousMapWrite<K, V> extends SyncMapWrite<K, V> {
23
+ }
24
+ /** SyncMap interface. */
25
+ export interface SyncMap<K, V> extends SyncMapRead<K, V>, SyncMapWrite<K, V> {
26
+ }
27
+ /**
28
+ * @deprecated Use SyncMap instead
29
+ */
30
+ export interface SynchronousMap<K, V> extends SyncMap<K, V> {
31
+ }
32
+ /** SyncIterableMapRead interface. */
33
+ export interface SyncIterableMapRead<K, V> extends SyncMapRead<K, V>, Iterable<[K, V]> {
34
+ }
35
+ /** SyncIterableMapWrite interface. */
36
+ export interface SyncIterableMapWrite<K, V> extends SyncMapWrite<K, V>, Iterable<[K, V]> {
37
+ }
38
+ /** SyncIterableMap interface. */
39
+ export interface SyncIterableMap<K, V> extends SyncMap<K, V>, Iterable<[K, V]> {
40
+ }
41
+ //# sourceMappingURL=SyncMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SyncMap.d.ts","sourceRoot":"","sources":["../../../src/map/SyncMap.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,MAAM,WAAW,WAAW,CAAC,CAAC,EAAE,CAAC;IAC/B,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACzB,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAA;IACrB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAEtE,8BAA8B;AAC9B,MAAM,WAAW,YAAY,CAAC,CAAC,EAAE,CAAC;IAChC,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAA;IACtB,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAAA;IACzC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAExE,yBAAyB;AACzB,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAC/E;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAE9D,qCAAqC;AACrC,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAG;AACzF,sCAAsC;AACtC,MAAM,WAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAG;AAC3F,iCAAiC;AACjC,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAG"}
@@ -0,0 +1,4 @@
1
+ export * from './AsyncMap.ts';
2
+ export * from './MapType.ts';
3
+ export * from './SyncMap.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/map/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}