@xyo-network/xl1-protocol-lib 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 (260) hide show
  1. package/LICENSE +165 -0
  2. package/README.md +81 -0
  3. package/dist/neutral/OpenTelemetryProviders.d.ts +7 -0
  4. package/dist/neutral/OpenTelemetryProviders.d.ts.map +1 -0
  5. package/dist/neutral/index.d.ts +10 -0
  6. package/dist/neutral/index.d.ts.map +1 -0
  7. package/dist/neutral/index.mjs +375 -0
  8. package/dist/neutral/index.mjs.map +1 -0
  9. package/dist/neutral/network/Status.d.ts +26 -0
  10. package/dist/neutral/network/Status.d.ts.map +1 -0
  11. package/dist/neutral/network/index.d.ts +2 -0
  12. package/dist/neutral/network/index.d.ts.map +1 -0
  13. package/dist/neutral/permissions/InvokerPermission.d.ts +53 -0
  14. package/dist/neutral/permissions/InvokerPermission.d.ts.map +1 -0
  15. package/dist/neutral/permissions/XyoPermissions.d.ts +33 -0
  16. package/dist/neutral/permissions/XyoPermissions.d.ts.map +1 -0
  17. package/dist/neutral/permissions/index.d.ts +3 -0
  18. package/dist/neutral/permissions/index.d.ts.map +1 -0
  19. package/dist/neutral/providers/DataLake/Provider.d.ts +10 -0
  20. package/dist/neutral/providers/DataLake/Provider.d.ts.map +1 -0
  21. package/dist/neutral/providers/DataLake/Runner.d.ts +15 -0
  22. package/dist/neutral/providers/DataLake/Runner.d.ts.map +1 -0
  23. package/dist/neutral/providers/DataLake/Viewer.d.ts +14 -0
  24. package/dist/neutral/providers/DataLake/Viewer.d.ts.map +1 -0
  25. package/dist/neutral/providers/DataLake/index.d.ts +4 -0
  26. package/dist/neutral/providers/DataLake/index.d.ts.map +1 -0
  27. package/dist/neutral/providers/TransactionHelper.d.ts +9 -0
  28. package/dist/neutral/providers/TransactionHelper.d.ts.map +1 -0
  29. package/dist/neutral/providers/XyoClient.d.ts +23 -0
  30. package/dist/neutral/providers/XyoClient.d.ts.map +1 -0
  31. package/dist/neutral/providers/XyoConnection.d.ts +18 -0
  32. package/dist/neutral/providers/XyoConnection.d.ts.map +1 -0
  33. package/dist/neutral/providers/XyoGateway.d.ts +20 -0
  34. package/dist/neutral/providers/XyoGateway.d.ts.map +1 -0
  35. package/dist/neutral/providers/XyoGatewayRunner.d.ts +50 -0
  36. package/dist/neutral/providers/XyoGatewayRunner.d.ts.map +1 -0
  37. package/dist/neutral/providers/XyoNetwork.d.ts +7 -0
  38. package/dist/neutral/providers/XyoNetwork.d.ts.map +1 -0
  39. package/dist/neutral/providers/XyoRunner.d.ts +16 -0
  40. package/dist/neutral/providers/XyoRunner.d.ts.map +1 -0
  41. package/dist/neutral/providers/index.d.ts +9 -0
  42. package/dist/neutral/providers/index.d.ts.map +1 -0
  43. package/dist/neutral/providers/signer/XyoSigner.d.ts +21 -0
  44. package/dist/neutral/providers/signer/XyoSigner.d.ts.map +1 -0
  45. package/dist/neutral/providers/signer/index.d.ts +2 -0
  46. package/dist/neutral/providers/signer/index.d.ts.map +1 -0
  47. package/dist/neutral/repository/Repository.d.ts +27 -0
  48. package/dist/neutral/repository/Repository.d.ts.map +1 -0
  49. package/dist/neutral/repository/TransactionReadRepository.d.ts +6 -0
  50. package/dist/neutral/repository/TransactionReadRepository.d.ts.map +1 -0
  51. package/dist/neutral/repository/TransactionRepository.d.ts +13 -0
  52. package/dist/neutral/repository/TransactionRepository.d.ts.map +1 -0
  53. package/dist/neutral/repository/TransactionRepositoryIterator.d.ts +6 -0
  54. package/dist/neutral/repository/TransactionRepositoryIterator.d.ts.map +1 -0
  55. package/dist/neutral/repository/TransactionWriteRepository.d.ts +6 -0
  56. package/dist/neutral/repository/TransactionWriteRepository.d.ts.map +1 -0
  57. package/dist/neutral/repository/index.d.ts +6 -0
  58. package/dist/neutral/repository/index.d.ts.map +1 -0
  59. package/dist/neutral/runners/Block.d.ts +16 -0
  60. package/dist/neutral/runners/Block.d.ts.map +1 -0
  61. package/dist/neutral/runners/Finalization.d.ts +15 -0
  62. package/dist/neutral/runners/Finalization.d.ts.map +1 -0
  63. package/dist/neutral/runners/Mempool.d.ts +25 -0
  64. package/dist/neutral/runners/Mempool.d.ts.map +1 -0
  65. package/dist/neutral/runners/index.d.ts +4 -0
  66. package/dist/neutral/runners/index.d.ts.map +1 -0
  67. package/dist/neutral/validation/block/BlockValidationFunction.d.ts +6 -0
  68. package/dist/neutral/validation/block/BlockValidationFunction.d.ts.map +1 -0
  69. package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts +19 -0
  70. package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts.map +1 -0
  71. package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts +14 -0
  72. package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts.map +1 -0
  73. package/dist/neutral/validation/block/error.d.ts +21 -0
  74. package/dist/neutral/validation/block/error.d.ts.map +1 -0
  75. package/dist/neutral/validation/block/index.d.ts +5 -0
  76. package/dist/neutral/validation/block/index.d.ts.map +1 -0
  77. package/dist/neutral/validation/boundwitness/BoundWitnessValidationFunction.d.ts +6 -0
  78. package/dist/neutral/validation/boundwitness/BoundWitnessValidationFunction.d.ts.map +1 -0
  79. package/dist/neutral/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts +8 -0
  80. package/dist/neutral/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts.map +1 -0
  81. package/dist/neutral/validation/boundwitness/error.d.ts +13 -0
  82. package/dist/neutral/validation/boundwitness/error.d.ts.map +1 -0
  83. package/dist/neutral/validation/boundwitness/index.d.ts +4 -0
  84. package/dist/neutral/validation/boundwitness/index.d.ts.map +1 -0
  85. package/dist/neutral/validation/error.d.ts +11 -0
  86. package/dist/neutral/validation/error.d.ts.map +1 -0
  87. package/dist/neutral/validation/index.d.ts +6 -0
  88. package/dist/neutral/validation/index.d.ts.map +1 -0
  89. package/dist/neutral/validation/payload/InBlockPayloadValidationFunction.d.ts +10 -0
  90. package/dist/neutral/validation/payload/InBlockPayloadValidationFunction.d.ts.map +1 -0
  91. package/dist/neutral/validation/payload/error.d.ts +12 -0
  92. package/dist/neutral/validation/payload/error.d.ts.map +1 -0
  93. package/dist/neutral/validation/payload/index.d.ts +3 -0
  94. package/dist/neutral/validation/payload/index.d.ts.map +1 -0
  95. package/dist/neutral/validation/transaction/HydratedTransactionStateValidationFunction.d.ts +18 -0
  96. package/dist/neutral/validation/transaction/HydratedTransactionStateValidationFunction.d.ts.map +1 -0
  97. package/dist/neutral/validation/transaction/HydratedTransactionValidationFunction.d.ts +16 -0
  98. package/dist/neutral/validation/transaction/HydratedTransactionValidationFunction.d.ts.map +1 -0
  99. package/dist/neutral/validation/transaction/error.d.ts +8 -0
  100. package/dist/neutral/validation/transaction/error.d.ts.map +1 -0
  101. package/dist/neutral/validation/transaction/index.d.ts +4 -0
  102. package/dist/neutral/validation/transaction/index.d.ts.map +1 -0
  103. package/dist/neutral/viewers/Block.d.ts +29 -0
  104. package/dist/neutral/viewers/Block.d.ts.map +1 -0
  105. package/dist/neutral/viewers/BlockInvalidation.d.ts +68 -0
  106. package/dist/neutral/viewers/BlockInvalidation.d.ts.map +1 -0
  107. package/dist/neutral/viewers/BlockReward.d.ts +14 -0
  108. package/dist/neutral/viewers/BlockReward.d.ts.map +1 -0
  109. package/dist/neutral/viewers/BlockValidation.d.ts +68 -0
  110. package/dist/neutral/viewers/BlockValidation.d.ts.map +1 -0
  111. package/dist/neutral/viewers/ChainContract.d.ts +22 -0
  112. package/dist/neutral/viewers/ChainContract.d.ts.map +1 -0
  113. package/dist/neutral/viewers/ChainStakeViewer.d.ts +11 -0
  114. package/dist/neutral/viewers/ChainStakeViewer.d.ts.map +1 -0
  115. package/dist/neutral/viewers/Finalization.d.ts +18 -0
  116. package/dist/neutral/viewers/Finalization.d.ts.map +1 -0
  117. package/dist/neutral/viewers/Fork.d.ts +9 -0
  118. package/dist/neutral/viewers/Fork.d.ts.map +1 -0
  119. package/dist/neutral/viewers/Mempool.d.ts +31 -0
  120. package/dist/neutral/viewers/Mempool.d.ts.map +1 -0
  121. package/dist/neutral/viewers/NetworkStake/NetworkStakeViewer.d.ts +17 -0
  122. package/dist/neutral/viewers/NetworkStake/NetworkStakeViewer.d.ts.map +1 -0
  123. package/dist/neutral/viewers/NetworkStake/Rewards/ByPositionViewer.d.ts +14 -0
  124. package/dist/neutral/viewers/NetworkStake/Rewards/ByPositionViewer.d.ts.map +1 -0
  125. package/dist/neutral/viewers/NetworkStake/Rewards/ByStakerViewer.d.ts +15 -0
  126. package/dist/neutral/viewers/NetworkStake/Rewards/ByStakerViewer.d.ts.map +1 -0
  127. package/dist/neutral/viewers/NetworkStake/Rewards/ByStepViewer.d.ts +14 -0
  128. package/dist/neutral/viewers/NetworkStake/Rewards/ByStepViewer.d.ts.map +1 -0
  129. package/dist/neutral/viewers/NetworkStake/Rewards/Options.d.ts +19 -0
  130. package/dist/neutral/viewers/NetworkStake/Rewards/Options.d.ts.map +1 -0
  131. package/dist/neutral/viewers/NetworkStake/Rewards/TotalViewer.d.ts +14 -0
  132. package/dist/neutral/viewers/NetworkStake/Rewards/TotalViewer.d.ts.map +1 -0
  133. package/dist/neutral/viewers/NetworkStake/Rewards/Viewer.d.ts +20 -0
  134. package/dist/neutral/viewers/NetworkStake/Rewards/Viewer.d.ts.map +1 -0
  135. package/dist/neutral/viewers/NetworkStake/Rewards/index.d.ts +8 -0
  136. package/dist/neutral/viewers/NetworkStake/Rewards/index.d.ts.map +1 -0
  137. package/dist/neutral/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts +6 -0
  138. package/dist/neutral/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts.map +1 -0
  139. package/dist/neutral/viewers/NetworkStake/Rewards/templates/MethodsTemplate.d.ts +10 -0
  140. package/dist/neutral/viewers/NetworkStake/Rewards/templates/MethodsTemplate.d.ts.map +1 -0
  141. package/dist/neutral/viewers/NetworkStake/Rewards/templates/index.d.ts +3 -0
  142. package/dist/neutral/viewers/NetworkStake/Rewards/templates/index.d.ts.map +1 -0
  143. package/dist/neutral/viewers/NetworkStake/index.d.ts +3 -0
  144. package/dist/neutral/viewers/NetworkStake/index.d.ts.map +1 -0
  145. package/dist/neutral/viewers/NetworkStakeStepReward.d.ts +40 -0
  146. package/dist/neutral/viewers/NetworkStakeStepReward.d.ts.map +1 -0
  147. package/dist/neutral/viewers/Stake.d.ts +38 -0
  148. package/dist/neutral/viewers/Stake.d.ts.map +1 -0
  149. package/dist/neutral/viewers/StakeEvents.d.ts +44 -0
  150. package/dist/neutral/viewers/StakeEvents.d.ts.map +1 -0
  151. package/dist/neutral/viewers/StakeIntent.d.ts +15 -0
  152. package/dist/neutral/viewers/StakeIntent.d.ts.map +1 -0
  153. package/dist/neutral/viewers/StakeTotals.d.ts +20 -0
  154. package/dist/neutral/viewers/StakeTotals.d.ts.map +1 -0
  155. package/dist/neutral/viewers/StepStake.d.ts +14 -0
  156. package/dist/neutral/viewers/StepStake.d.ts.map +1 -0
  157. package/dist/neutral/viewers/StepViewer.d.ts +37 -0
  158. package/dist/neutral/viewers/StepViewer.d.ts.map +1 -0
  159. package/dist/neutral/viewers/TimeSync.d.ts +21 -0
  160. package/dist/neutral/viewers/TimeSync.d.ts.map +1 -0
  161. package/dist/neutral/viewers/Transaction.d.ts +22 -0
  162. package/dist/neutral/viewers/Transaction.d.ts.map +1 -0
  163. package/dist/neutral/viewers/TransactionInvalidation.d.ts +66 -0
  164. package/dist/neutral/viewers/TransactionInvalidation.d.ts.map +1 -0
  165. package/dist/neutral/viewers/TransactionValidation.d.ts +67 -0
  166. package/dist/neutral/viewers/TransactionValidation.d.ts.map +1 -0
  167. package/dist/neutral/viewers/TransferBalance.d.ts +30 -0
  168. package/dist/neutral/viewers/TransferBalance.d.ts.map +1 -0
  169. package/dist/neutral/viewers/WindowedBlock.d.ts +18 -0
  170. package/dist/neutral/viewers/WindowedBlock.d.ts.map +1 -0
  171. package/dist/neutral/viewers/XyoViewer.d.ts +55 -0
  172. package/dist/neutral/viewers/XyoViewer.d.ts.map +1 -0
  173. package/dist/neutral/viewers/index.d.ts +24 -0
  174. package/dist/neutral/viewers/index.d.ts.map +1 -0
  175. package/package.json +73 -0
  176. package/src/OpenTelemetryProviders.ts +7 -0
  177. package/src/index.ts +9 -0
  178. package/src/network/Status.ts +30 -0
  179. package/src/network/index.ts +1 -0
  180. package/src/permissions/InvokerPermission.ts +58 -0
  181. package/src/permissions/XyoPermissions.ts +41 -0
  182. package/src/permissions/index.ts +2 -0
  183. package/src/providers/DataLake/Provider.ts +11 -0
  184. package/src/providers/DataLake/Runner.ts +16 -0
  185. package/src/providers/DataLake/Viewer.ts +16 -0
  186. package/src/providers/DataLake/index.ts +3 -0
  187. package/src/providers/TransactionHelper.ts +15 -0
  188. package/src/providers/XyoClient.ts +27 -0
  189. package/src/providers/XyoConnection.ts +20 -0
  190. package/src/providers/XyoGateway.ts +24 -0
  191. package/src/providers/XyoGatewayRunner.ts +72 -0
  192. package/src/providers/XyoNetwork.ts +8 -0
  193. package/src/providers/XyoRunner.ts +19 -0
  194. package/src/providers/index.ts +8 -0
  195. package/src/providers/signer/XyoSigner.ts +36 -0
  196. package/src/providers/signer/index.ts +1 -0
  197. package/src/repository/Repository.ts +32 -0
  198. package/src/repository/TransactionReadRepository.ts +6 -0
  199. package/src/repository/TransactionRepository.ts +12 -0
  200. package/src/repository/TransactionRepositoryIterator.ts +6 -0
  201. package/src/repository/TransactionWriteRepository.ts +6 -0
  202. package/src/repository/index.ts +5 -0
  203. package/src/runners/Block.ts +21 -0
  204. package/src/runners/Finalization.ts +17 -0
  205. package/src/runners/Mempool.ts +31 -0
  206. package/src/runners/index.ts +3 -0
  207. package/src/validation/block/BlockValidationFunction.ts +13 -0
  208. package/src/validation/block/HydratedBlockStateValidationFunction.ts +29 -0
  209. package/src/validation/block/HydratedBlockValidationFunction.ts +21 -0
  210. package/src/validation/block/error.ts +51 -0
  211. package/src/validation/block/index.ts +4 -0
  212. package/src/validation/boundwitness/BoundWitnessValidationFunction.ts +9 -0
  213. package/src/validation/boundwitness/HydratedBoundWitnessValidationFunction.ts +15 -0
  214. package/src/validation/boundwitness/error.ts +29 -0
  215. package/src/validation/boundwitness/index.ts +3 -0
  216. package/src/validation/error.ts +25 -0
  217. package/src/validation/index.ts +5 -0
  218. package/src/validation/payload/InBlockPayloadValidationFunction.ts +16 -0
  219. package/src/validation/payload/error.ts +24 -0
  220. package/src/validation/payload/index.ts +2 -0
  221. package/src/validation/transaction/HydratedTransactionStateValidationFunction.ts +27 -0
  222. package/src/validation/transaction/HydratedTransactionValidationFunction.ts +23 -0
  223. package/src/validation/transaction/error.ts +16 -0
  224. package/src/validation/transaction/index.ts +3 -0
  225. package/src/viewers/Block.ts +40 -0
  226. package/src/viewers/BlockInvalidation.ts +81 -0
  227. package/src/viewers/BlockReward.ts +18 -0
  228. package/src/viewers/BlockValidation.ts +81 -0
  229. package/src/viewers/ChainContract.ts +28 -0
  230. package/src/viewers/ChainStakeViewer.ts +15 -0
  231. package/src/viewers/Finalization.ts +22 -0
  232. package/src/viewers/Fork.ts +10 -0
  233. package/src/viewers/Mempool.ts +40 -0
  234. package/src/viewers/NetworkStake/NetworkStakeViewer.ts +20 -0
  235. package/src/viewers/NetworkStake/Rewards/ByPositionViewer.ts +19 -0
  236. package/src/viewers/NetworkStake/Rewards/ByStakerViewer.ts +20 -0
  237. package/src/viewers/NetworkStake/Rewards/ByStepViewer.ts +18 -0
  238. package/src/viewers/NetworkStake/Rewards/Options.ts +22 -0
  239. package/src/viewers/NetworkStake/Rewards/TotalViewer.ts +17 -0
  240. package/src/viewers/NetworkStake/Rewards/Viewer.ts +22 -0
  241. package/src/viewers/NetworkStake/Rewards/index.ts +7 -0
  242. package/src/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.ts +7 -0
  243. package/src/viewers/NetworkStake/Rewards/templates/MethodsTemplate.ts +10 -0
  244. package/src/viewers/NetworkStake/Rewards/templates/index.ts +2 -0
  245. package/src/viewers/NetworkStake/index.ts +4 -0
  246. package/src/viewers/NetworkStakeStepReward.ts +82 -0
  247. package/src/viewers/Stake.ts +44 -0
  248. package/src/viewers/StakeEvents.ts +54 -0
  249. package/src/viewers/StakeIntent.ts +21 -0
  250. package/src/viewers/StakeTotals.ts +21 -0
  251. package/src/viewers/StepStake.ts +26 -0
  252. package/src/viewers/StepViewer.ts +57 -0
  253. package/src/viewers/TimeSync.ts +27 -0
  254. package/src/viewers/Transaction.ts +27 -0
  255. package/src/viewers/TransactionInvalidation.ts +71 -0
  256. package/src/viewers/TransactionValidation.ts +72 -0
  257. package/src/viewers/TransferBalance.ts +35 -0
  258. package/src/viewers/WindowedBlock.ts +23 -0
  259. package/src/viewers/XyoViewer.ts +73 -0
  260. package/src/viewers/index.ts +23 -0
@@ -0,0 +1,72 @@
1
+ import { type Promisable } from '@xylabs/sdk-js'
2
+ import { zodIsFactory } from '@xylabs/sdk-js'
3
+ import type {
4
+ Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,
5
+ } from '@xyo-network/xl1-protocol-model'
6
+ import {
7
+ ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,
8
+ } from '@xyo-network/xl1-protocol-model'
9
+ import { z } from 'zod'
10
+
11
+ import type { HydratedTransactionValidationError } from '../validation/index.ts'
12
+
13
+ /** TransactionValidationQualificationZod constant. */
14
+ export const TransactionValidationQualificationZod = ChainQualificationZod
15
+ /** TransactionValidationQualification type. */
16
+ export type TransactionValidationQualification = z.infer<typeof TransactionValidationQualificationZod>
17
+ /** Type guard that checks if a value is a valid TransactionValidationQualification. */
18
+ export const isTransactionValidationQualification = zodIsFactory(TransactionValidationQualificationZod)
19
+
20
+ /** TransactionValidationConfigFieldsZod constant. */
21
+ export const TransactionValidationConfigFieldsZod = z.object({
22
+ value: z.boolean().optional(),
23
+ state: z.boolean().optional(),
24
+ })
25
+
26
+ /** TransactionValidationConfigZod constant. */
27
+ export const TransactionValidationConfigZod = z.union([
28
+ TransactionValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),
29
+ TransactionValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),
30
+ TransactionValidationConfigFieldsZod,
31
+ z.object({}),
32
+ ])
33
+
34
+ /** TransactionValidationConfig type. */
35
+ export type TransactionValidationConfig = z.infer<typeof TransactionValidationConfigZod>
36
+ /** Type guard that checks if a value is a valid TransactionValidationConfig. */
37
+ export const isTransactionValidationConfig = zodIsFactory(TransactionValidationConfigZod)
38
+
39
+ /** TransactionValidationViewerMethods interface. */
40
+ export interface TransactionValidationViewerMethods {
41
+ qualifiedValidateTransactions(
42
+ blocks: SignedHydratedTransaction[],
43
+ config?: TransactionValidationConfig
44
+ ): Promisable<[(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[], TransactionValidationQualification]>
45
+ }
46
+
47
+ /** Moniker identifier for the TransactionValidationViewer provider. */
48
+ export const TransactionValidationViewerMoniker = 'TransactionValidationViewer' as const
49
+ /** Type literal for the TransactionValidationViewer provider moniker. */
50
+ export type TransactionValidationViewerMoniker = typeof TransactionValidationViewerMoniker
51
+
52
+ /**
53
+ * Checks if transactions are valid (currently valid) according to protocol rules.
54
+ * In the case that they are not valid, they may still become valid in the future.
55
+ */
56
+
57
+ export interface TransactionValidationViewer extends TransactionValidationViewerMethods, Provider<TransactionValidationViewerMoniker> {
58
+ qualifiedValidateTransaction(
59
+ block: SignedHydratedTransaction,
60
+ config?: TransactionValidationConfig
61
+ ): Promisable<[HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta, TransactionValidationQualification]>
62
+
63
+ validateTransaction(
64
+ block: SignedHydratedTransaction,
65
+ config?: TransactionValidationConfig
66
+ ): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>
67
+
68
+ validateTransactions(
69
+ blocks: SignedHydratedTransaction[],
70
+ config?: TransactionValidationConfig
71
+ ): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>
72
+ }
@@ -0,0 +1,35 @@
1
+ import type { Address, Promisable } from '@xylabs/sdk-js'
2
+ import type { Signed } from '@xyo-network/sdk-js'
3
+ import type {
4
+ AttoXL1, BlockBoundWitness, Provider, TransactionBoundWitness, Transfer, XL1BlockRange,
5
+ } from '@xyo-network/xl1-protocol-model'
6
+
7
+ /** TransferBalanceHistoryItem type. */
8
+ export type TransferBalanceHistoryItem = [
9
+ Signed<BlockBoundWitness> /* block */,
10
+ Signed<TransactionBoundWitness> | null,
11
+ Transfer, /* the actual transfer payload */
12
+ ]
13
+ /** TransferPair type. */
14
+ export type TransferPair = [Address, Address]
15
+
16
+ /** TransferBalancesViewerMethods interface. */
17
+ export interface TransferBalancesViewerMethods {
18
+ transferBalances(address: Address[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>
19
+ transferBalancesHistories(address: Address[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>
20
+ transferPairBalances(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>
21
+ transferPairBalancesHistories(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>
22
+ }
23
+
24
+ /** Moniker identifier for the TransferBalanceViewer provider. */
25
+ export const TransferBalanceViewerMoniker = 'TransferBalanceViewer' as const
26
+ /** Type literal for the TransferBalanceViewer provider moniker. */
27
+ export type TransferBalanceViewerMoniker = typeof TransferBalanceViewerMoniker
28
+
29
+ /** Viewer interface for reading TransferBalance data. */
30
+ export interface TransferBalanceViewer extends TransferBalancesViewerMethods, Provider<TransferBalanceViewerMoniker> {
31
+ transferBalance(address: Address): Promisable<AttoXL1>
32
+ transferBalanceHistory(address: Address, range?: XL1BlockRange): Promisable<TransferBalanceHistoryItem[]>
33
+ transferPairBalance(address: TransferPair): Promisable<AttoXL1>
34
+ transferPairBalanceHistory(address: TransferPair): Promisable<TransferBalanceHistoryItem[]>
35
+ }
@@ -0,0 +1,23 @@
1
+ import type { Hash, Promisable } from '@xylabs/sdk-js'
2
+ import type {
3
+ HydratedBlockWithHashMeta, Provider, ProviderMoniker,
4
+ } from '@xyo-network/xl1-protocol-model'
5
+
6
+ import type { BlockViewerMethods } from './Block.ts'
7
+
8
+ type ExtendableBlockViewerMethods = Omit<BlockViewerMethods, 'rate' | 'stepSizeRate' | 'timeDurationRate'>
9
+
10
+ /** WindowedBlockViewerMethods interface. */
11
+ export interface WindowedBlockViewerMethods extends ExtendableBlockViewerMethods {
12
+ blocksByTransactionHashes(hashes: Hash[]): Promisable<HydratedBlockWithHashMeta[]>
13
+ }
14
+
15
+ /** Moniker identifier for the WindowedBlockViewer provider. */
16
+ export const WindowedBlockViewerMoniker = 'WindowedBlockViewer' as const
17
+ /** Type literal for the WindowedBlockViewer provider moniker. */
18
+ export type WindowedBlockViewerMoniker = typeof WindowedBlockViewerMoniker
19
+
20
+ /** Viewer interface for reading WindowedBlock data. */
21
+ export interface WindowedBlockViewer<TMoniker extends ProviderMoniker = WindowedBlockViewerMoniker> extends WindowedBlockViewerMethods, Provider<TMoniker> {
22
+ blockByTransactionHash(hash: Hash): Promisable<HydratedBlockWithHashMeta | null>
23
+ }
@@ -0,0 +1,73 @@
1
+ import type { Address, Promisable } from '@xylabs/sdk-js'
2
+ import type {
3
+ AccountBalanceHistoryItem, AccountBalanceViewer, AttoXL1,
4
+ ChainQualifiedConfig, Provider,
5
+ } from '@xyo-network/xl1-protocol-model'
6
+
7
+ import type { BlockViewer, BlockViewerMethods } from './Block.ts'
8
+ import type { FinalizationViewer } from './Finalization.ts'
9
+ import type { ForkViewerMethods } from './Fork.ts'
10
+ import type { MempoolViewer } from './Mempool.ts'
11
+ import type { NetworkStakeViewer } from './NetworkStake/index.ts'
12
+ import type { NetworkStakeStepRewardViewerMethods } from './NetworkStakeStepReward.ts'
13
+ import type { StakeViewer, StakeViewerMethods } from './Stake.ts'
14
+ import type { StepViewer } from './StepViewer.ts'
15
+ import type { TimeSyncViewer } from './TimeSync.ts'
16
+ import type { TransactionViewer, TransactionViewerMethods } from './Transaction.ts'
17
+
18
+ /** XyoViewerMethods interface. */
19
+ export interface XyoViewerMethods extends
20
+ NetworkStakeStepRewardViewerMethods, BlockViewerMethods,
21
+ Omit<TransactionViewerMethods, 'byHash'>, Omit<
22
+ StakeViewerMethods, 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'
23
+ | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'
24
+ >, ForkViewerMethods {
25
+ /** @deprecated Use .account.balance.accountBalance instead */
26
+ accountBalance(address: Address, config?: ChainQualifiedConfig): Promisable<AttoXL1>
27
+ /** @deprecated Use .account.balance.accountBalanceHistory instead */
28
+ accountBalanceHistory(address: Address, config?: ChainQualifiedConfig): Promisable<AccountBalanceHistoryItem[]>
29
+ }
30
+
31
+ /** XyoViewerMethodsV2 interface. */
32
+ export interface XyoViewerMethodsV2 {
33
+
34
+ }
35
+
36
+ /** Moniker identifier for the XyoViewer provider. */
37
+ export const XyoViewerMoniker = 'XyoViewer' as const
38
+ /** Type literal for the XyoViewer provider moniker. */
39
+ export type XyoViewerMoniker = typeof XyoViewerMoniker
40
+
41
+ /** Viewer interface for reading Xyo data. */
42
+ export interface XyoViewer extends Omit<BlockViewer, 'moniker'>, XyoViewerMethods,
43
+ Omit<
44
+ StakeViewerMethods, 'moniker' | 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'
45
+ | 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'
46
+ >, Provider<XyoViewerMoniker> {
47
+ account: {
48
+ balance: AccountBalanceViewer
49
+ }
50
+ block: BlockViewer
51
+ finalization: FinalizationViewer
52
+ mempool: MempoolViewer
53
+ networkStake: NetworkStakeViewer
54
+ stake: StakeViewer
55
+ step: StepViewer
56
+ time: TimeSyncViewer
57
+ transaction: TransactionViewer
58
+ }
59
+
60
+ /** XyoViewerV2 interface. */
61
+ export interface XyoViewerV2 extends XyoViewerMethodsV2, Provider<XyoViewerMoniker> {
62
+ account: {
63
+ balance: AccountBalanceViewer
64
+ }
65
+ block: BlockViewer
66
+ finalization: FinalizationViewer
67
+ mempool: MempoolViewer
68
+ networkStake: NetworkStakeViewer
69
+ stake: StakeViewer
70
+ step: StepViewer
71
+ time: TimeSyncViewer
72
+ transaction: TransactionViewer
73
+ }
@@ -0,0 +1,23 @@
1
+ export * from './Block.ts'
2
+ export * from './BlockInvalidation.ts'
3
+ export * from './BlockReward.ts'
4
+ export * from './BlockValidation.ts'
5
+ export * from './ChainContract.ts'
6
+ export * from './ChainStakeViewer.ts'
7
+ export * from './Finalization.ts'
8
+ export * from './Fork.ts'
9
+ export * from './Mempool.ts'
10
+ export * from './NetworkStake/index.ts'
11
+ export * from './NetworkStakeStepReward.ts'
12
+ export * from './Stake.ts'
13
+ export * from './StakeEvents.ts'
14
+ export * from './StakeTotals.ts'
15
+ export * from './StepStake.ts'
16
+ export * from './StepViewer.ts'
17
+ export * from './TimeSync.ts'
18
+ export * from './Transaction.ts'
19
+ export * from './TransactionInvalidation.ts'
20
+ export * from './TransactionValidation.ts'
21
+ export * from './TransferBalance.ts'
22
+ export * from './WindowedBlock.ts'
23
+ export * from './XyoViewer.ts'