@xyo-network/xl1-protocol-sdk 1.16.0 → 1.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (217) hide show
  1. package/dist/neutral/config/Config.d.ts +6 -18
  2. package/dist/neutral/config/Config.d.ts.map +1 -1
  3. package/dist/neutral/config/Producer.d.ts +2 -6
  4. package/dist/neutral/config/Producer.d.ts.map +1 -1
  5. package/dist/neutral/config/Validation.d.ts +4 -12
  6. package/dist/neutral/config/Validation.d.ts.map +1 -1
  7. package/dist/neutral/driver/cache/LruCacheMap.d.ts +1 -0
  8. package/dist/neutral/driver/cache/LruCacheMap.d.ts.map +1 -1
  9. package/dist/neutral/driver/memory/MemoryMap.d.ts +1 -0
  10. package/dist/neutral/driver/memory/MemoryMap.d.ts.map +1 -1
  11. package/dist/neutral/eip-712/Payloads/EIP712Signature.d.ts +1 -9
  12. package/dist/neutral/eip-712/Payloads/EIP712Signature.d.ts.map +1 -1
  13. package/dist/neutral/index.d.ts +1 -0
  14. package/dist/neutral/index.d.ts.map +1 -1
  15. package/dist/neutral/index.mjs +462 -31
  16. package/dist/neutral/index.mjs.map +1 -1
  17. package/dist/neutral/interfaces/viewers/index.d.ts +0 -1
  18. package/dist/neutral/interfaces/viewers/index.d.ts.map +1 -1
  19. package/dist/neutral/map/AsynchronousMap.d.ts +1 -0
  20. package/dist/neutral/map/AsynchronousMap.d.ts.map +1 -1
  21. package/dist/neutral/map/SynchronousMap.d.ts +1 -0
  22. package/dist/neutral/map/SynchronousMap.d.ts.map +1 -1
  23. package/dist/neutral/model/RecordKeyType.d.ts.map +1 -0
  24. package/dist/neutral/model/index.d.ts +1 -0
  25. package/dist/neutral/model/index.d.ts.map +1 -1
  26. package/dist/neutral/payloads/netBalancesForPayloads.d.ts +2 -3
  27. package/dist/neutral/payloads/netBalancesForPayloads.d.ts.map +1 -1
  28. package/dist/neutral/provider/DataLake.d.ts +15 -0
  29. package/dist/neutral/provider/DataLake.d.ts.map +1 -0
  30. package/dist/neutral/provider/XyoClient.d.ts +3 -3
  31. package/dist/neutral/provider/XyoClient.d.ts.map +1 -1
  32. package/dist/neutral/provider/XyoConnection.d.ts +4 -27
  33. package/dist/neutral/provider/XyoConnection.d.ts.map +1 -1
  34. package/dist/neutral/provider/XyoGateway.d.ts +4 -10
  35. package/dist/neutral/provider/XyoGateway.d.ts.map +1 -1
  36. package/dist/neutral/provider/XyoGatewayRunner.d.ts +25 -0
  37. package/dist/neutral/provider/XyoGatewayRunner.d.ts.map +1 -0
  38. package/dist/neutral/provider/index.d.ts +4 -4
  39. package/dist/neutral/provider/index.d.ts.map +1 -1
  40. package/dist/neutral/provider/{XyoSigner.d.ts → signer/XyoSigner.d.ts} +2 -2
  41. package/dist/neutral/provider/signer/XyoSigner.d.ts.map +1 -0
  42. package/dist/neutral/provider/signer/index.d.ts +2 -0
  43. package/dist/neutral/provider/signer/index.d.ts.map +1 -0
  44. package/dist/neutral/{interfaces/viewers/NetworkStakeViewer → provider/viewer/NetworkStake}/NetworkStakeViewer.d.ts +2 -2
  45. package/dist/neutral/provider/viewer/NetworkStake/NetworkStakeViewer.d.ts.map +1 -0
  46. package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByPositionViewer.d.ts +7 -0
  47. package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByPositionViewer.d.ts.map +1 -0
  48. package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByStakerViewer.d.ts +8 -0
  49. package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByStakerViewer.d.ts.map +1 -0
  50. package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByStepViewer.d.ts +8 -0
  51. package/dist/neutral/provider/viewer/NetworkStake/Rewards/ByStepViewer.d.ts.map +1 -0
  52. package/dist/neutral/provider/viewer/NetworkStake/Rewards/Options.d.ts +15 -0
  53. package/dist/neutral/provider/viewer/NetworkStake/Rewards/Options.d.ts.map +1 -0
  54. package/dist/neutral/provider/viewer/NetworkStake/Rewards/TotalViewer.d.ts +8 -0
  55. package/dist/neutral/provider/viewer/NetworkStake/Rewards/TotalViewer.d.ts.map +1 -0
  56. package/dist/neutral/provider/viewer/NetworkStake/Rewards/Viewer.d.ts +13 -0
  57. package/dist/neutral/provider/viewer/NetworkStake/Rewards/Viewer.d.ts.map +1 -0
  58. package/dist/neutral/provider/viewer/NetworkStake/Rewards/index.d.ts +8 -0
  59. package/dist/neutral/provider/viewer/NetworkStake/Rewards/index.d.ts.map +1 -0
  60. package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts +6 -0
  61. package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts.map +1 -0
  62. package/dist/neutral/{interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.d.ts → provider/viewer/NetworkStake/Rewards/templates/MethodsTemplate.d.ts} +2 -2
  63. package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/MethodsTemplate.d.ts.map +1 -0
  64. package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/index.d.ts +3 -0
  65. package/dist/neutral/provider/viewer/NetworkStake/Rewards/templates/index.d.ts.map +1 -0
  66. package/dist/neutral/provider/viewer/NetworkStake/index.d.ts +3 -0
  67. package/dist/neutral/provider/viewer/NetworkStake/index.d.ts.map +1 -0
  68. package/dist/neutral/{interfaces/viewers/NetworkStakeViewer → provider/viewer}/StepViewer.d.ts +6 -2
  69. package/dist/neutral/provider/viewer/StepViewer.d.ts.map +1 -0
  70. package/dist/neutral/provider/{XyoViewer.d.ts → viewer/XyoViewer.d.ts} +5 -2
  71. package/dist/neutral/provider/viewer/XyoViewer.d.ts.map +1 -0
  72. package/dist/neutral/provider/viewer/index.d.ts +4 -0
  73. package/dist/neutral/provider/viewer/index.d.ts.map +1 -0
  74. package/dist/neutral/simple/client/SimpleXyoClient.d.ts +7 -0
  75. package/dist/neutral/simple/client/SimpleXyoClient.d.ts.map +1 -0
  76. package/dist/neutral/simple/client/index.d.ts +2 -0
  77. package/dist/neutral/simple/client/index.d.ts.map +1 -0
  78. package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts +15 -0
  79. package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts.map +1 -0
  80. package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts +23 -0
  81. package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts.map +1 -0
  82. package/dist/neutral/simple/datalake/index.d.ts +3 -0
  83. package/dist/neutral/simple/datalake/index.d.ts.map +1 -0
  84. package/dist/neutral/simple/gateway/SimpleXyoGateway.d.ts +9 -0
  85. package/dist/neutral/simple/gateway/SimpleXyoGateway.d.ts.map +1 -0
  86. package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts +20 -0
  87. package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts.map +1 -0
  88. package/dist/neutral/simple/gateway/index.d.ts +3 -0
  89. package/dist/neutral/simple/gateway/index.d.ts.map +1 -0
  90. package/dist/neutral/simple/index.d.ts +8 -0
  91. package/dist/neutral/simple/index.d.ts.map +1 -0
  92. package/dist/neutral/simple/network/SimpleXyoNetwork.d.ts +9 -0
  93. package/dist/neutral/simple/network/SimpleXyoNetwork.d.ts.map +1 -0
  94. package/dist/neutral/simple/network/index.d.ts +2 -0
  95. package/dist/neutral/simple/network/index.d.ts.map +1 -0
  96. package/dist/neutral/simple/network/lib/FailedNetworkStatusPayloads.d.ts +4 -0
  97. package/dist/neutral/simple/network/lib/FailedNetworkStatusPayloads.d.ts.map +1 -0
  98. package/dist/neutral/simple/network/lib/StatusNetworks.d.ts +10 -0
  99. package/dist/neutral/simple/network/lib/StatusNetworks.d.ts.map +1 -0
  100. package/dist/neutral/simple/network/lib/index.d.ts +3 -0
  101. package/dist/neutral/simple/network/lib/index.d.ts.map +1 -0
  102. package/dist/neutral/simple/network/spec/XyoNetwork.spec.d.ts +2 -0
  103. package/dist/neutral/simple/network/spec/XyoNetwork.spec.d.ts.map +1 -0
  104. package/dist/neutral/simple/permissions/SimpleXyoPermissions.d.ts +17 -0
  105. package/dist/neutral/simple/permissions/SimpleXyoPermissions.d.ts.map +1 -0
  106. package/dist/neutral/simple/permissions/index.d.ts +3 -0
  107. package/dist/neutral/simple/permissions/index.d.ts.map +1 -0
  108. package/dist/neutral/simple/permissions/spec/SimpleXyoPermissions.spec.d.ts +2 -0
  109. package/dist/neutral/simple/permissions/spec/SimpleXyoPermissions.spec.d.ts.map +1 -0
  110. package/dist/neutral/simple/permissions/store/MemoryPermissions.d.ts +16 -0
  111. package/dist/neutral/simple/permissions/store/MemoryPermissions.d.ts.map +1 -0
  112. package/dist/neutral/simple/permissions/store/PermissionsStore.d.ts +12 -0
  113. package/dist/neutral/simple/permissions/store/PermissionsStore.d.ts.map +1 -0
  114. package/dist/neutral/simple/permissions/store/index.d.ts +3 -0
  115. package/dist/neutral/simple/permissions/store/index.d.ts.map +1 -0
  116. package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts +11 -0
  117. package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts.map +1 -0
  118. package/dist/neutral/simple/runner/index.d.ts +2 -0
  119. package/dist/neutral/simple/runner/index.d.ts.map +1 -0
  120. package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts +15 -0
  121. package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts.map +1 -0
  122. package/dist/neutral/simple/signer/index.d.ts +2 -0
  123. package/dist/neutral/simple/signer/index.d.ts.map +1 -0
  124. package/package.json +22 -17
  125. package/src/driver/cache/LruCacheMap.ts +6 -0
  126. package/src/driver/memory/MemoryMap.ts +6 -0
  127. package/src/index.ts +1 -0
  128. package/src/interfaces/viewers/index.ts +0 -1
  129. package/src/map/AsynchronousMap.ts +1 -0
  130. package/src/map/SynchronousMap.ts +1 -0
  131. package/src/model/index.ts +1 -0
  132. package/src/provider/DataLake.ts +19 -0
  133. package/src/provider/XyoClient.ts +3 -3
  134. package/src/provider/XyoConnection.ts +4 -47
  135. package/src/provider/XyoGateway.ts +4 -12
  136. package/src/provider/XyoGatewayRunner.ts +42 -0
  137. package/src/provider/index.ts +4 -4
  138. package/src/provider/{XyoSigner.ts → signer/XyoSigner.ts} +2 -2
  139. package/src/provider/signer/index.ts +1 -0
  140. package/src/{interfaces/viewers/NetworkStakeViewer → provider/viewer/NetworkStake}/NetworkStakeViewer.ts +2 -2
  141. package/src/provider/viewer/NetworkStake/Rewards/ByPositionViewer.ts +9 -0
  142. package/src/provider/viewer/NetworkStake/Rewards/ByStakerViewer.ts +10 -0
  143. package/src/provider/viewer/NetworkStake/Rewards/ByStepViewer.ts +10 -0
  144. package/src/provider/viewer/NetworkStake/Rewards/Options.ts +18 -0
  145. package/src/provider/viewer/NetworkStake/Rewards/TotalViewer.ts +9 -0
  146. package/src/provider/viewer/NetworkStake/Rewards/Viewer.ts +13 -0
  147. package/src/provider/viewer/NetworkStake/Rewards/index.ts +7 -0
  148. package/src/provider/viewer/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.ts +7 -0
  149. package/src/{interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.ts → provider/viewer/NetworkStake/Rewards/templates/MethodsTemplate.ts} +1 -1
  150. package/src/provider/viewer/NetworkStake/Rewards/templates/index.ts +2 -0
  151. package/src/provider/viewer/NetworkStake/index.ts +4 -0
  152. package/src/{interfaces/viewers/NetworkStakeViewer → provider/viewer}/StepViewer.ts +8 -3
  153. package/src/provider/{XyoViewer.ts → viewer/XyoViewer.ts} +5 -3
  154. package/src/provider/viewer/index.ts +3 -0
  155. package/src/simple/client/SimpleXyoClient.ts +13 -0
  156. package/src/simple/client/index.ts +1 -0
  157. package/src/simple/datalake/SimpleDataLakeRunner.ts +36 -0
  158. package/src/simple/datalake/SimpleDataLakeViewer.ts +74 -0
  159. package/src/simple/datalake/index.ts +2 -0
  160. package/src/simple/gateway/SimpleXyoGateway.ts +21 -0
  161. package/src/simple/gateway/SimpleXyoGatewayRunner.ts +116 -0
  162. package/src/simple/gateway/index.ts +2 -0
  163. package/src/simple/index.ts +7 -0
  164. package/src/simple/network/SimpleXyoNetwork.ts +48 -0
  165. package/src/simple/network/index.ts +1 -0
  166. package/src/simple/network/lib/FailedNetworkStatusPayloads.ts +14 -0
  167. package/src/simple/network/lib/StatusNetworks.ts +27 -0
  168. package/src/simple/network/lib/index.ts +2 -0
  169. package/src/simple/network/spec/XyoNetwork.spec.ts +77 -0
  170. package/src/simple/permissions/SimpleXyoPermissions.ts +82 -0
  171. package/src/simple/permissions/index.ts +2 -0
  172. package/src/simple/permissions/spec/SimpleXyoPermissions.spec.ts +93 -0
  173. package/src/simple/permissions/store/MemoryPermissions.ts +32 -0
  174. package/src/simple/permissions/store/PermissionsStore.ts +15 -0
  175. package/src/simple/permissions/store/index.ts +2 -0
  176. package/src/simple/runner/SimpleXyoRunner.ts +29 -0
  177. package/src/simple/runner/index.ts +1 -0
  178. package/src/simple/signer/SimpleXyoSigner.ts +52 -0
  179. package/src/simple/signer/index.ts +1 -0
  180. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/NetworkStakeViewer.d.ts.map +0 -1
  181. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RecordKeyType.d.ts.map +0 -1
  182. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.d.ts +0 -6
  183. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.d.ts.map +0 -1
  184. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.d.ts +0 -7
  185. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.d.ts.map +0 -1
  186. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.d.ts +0 -8
  187. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.d.ts.map +0 -1
  188. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.d.ts +0 -8
  189. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.d.ts.map +0 -1
  190. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.d.ts +0 -8
  191. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.d.ts.map +0 -1
  192. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerMethodsTemplate.d.ts.map +0 -1
  193. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.d.ts +0 -15
  194. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.d.ts.map +0 -1
  195. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.d.ts +0 -13
  196. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.d.ts.map +0 -1
  197. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/StepViewer.d.ts.map +0 -1
  198. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/index.d.ts +0 -12
  199. package/dist/neutral/interfaces/viewers/NetworkStakeViewer/index.d.ts.map +0 -1
  200. package/dist/neutral/provider/XyoDataLake.d.ts +0 -18
  201. package/dist/neutral/provider/XyoDataLake.d.ts.map +0 -1
  202. package/dist/neutral/provider/XyoGatewayHelpers.d.ts +0 -16
  203. package/dist/neutral/provider/XyoGatewayHelpers.d.ts.map +0 -1
  204. package/dist/neutral/provider/XyoSigner.d.ts.map +0 -1
  205. package/dist/neutral/provider/XyoViewer.d.ts.map +0 -1
  206. package/src/interfaces/viewers/NetworkStakeViewer/RewardsByIndexViewerMethodsTemplate.ts +0 -7
  207. package/src/interfaces/viewers/NetworkStakeViewer/RewardsByPositionViewer.ts +0 -7
  208. package/src/interfaces/viewers/NetworkStakeViewer/RewardsByStakerViewer.ts +0 -9
  209. package/src/interfaces/viewers/NetworkStakeViewer/RewardsByStepViewer.ts +0 -9
  210. package/src/interfaces/viewers/NetworkStakeViewer/RewardsTotalViewer.ts +0 -9
  211. package/src/interfaces/viewers/NetworkStakeViewer/RewardsViewerOptions.ts +0 -18
  212. package/src/interfaces/viewers/NetworkStakeViewer/StepRewardsViewer.ts +0 -13
  213. package/src/interfaces/viewers/NetworkStakeViewer/index.ts +0 -13
  214. package/src/provider/XyoDataLake.ts +0 -43
  215. package/src/provider/XyoGatewayHelpers.ts +0 -30
  216. /package/dist/neutral/{interfaces/viewers/NetworkStakeViewer → model}/RecordKeyType.d.ts +0 -0
  217. /package/src/{interfaces/viewers/NetworkStakeViewer → model}/RecordKeyType.ts +0 -0
@@ -0,0 +1,42 @@
1
+ import type {
2
+ Address, Hash, Hex,
3
+ } from '@xylabs/hex'
4
+ import type { Promisable } from '@xylabs/promise'
5
+ import type { Payload } from '@xyo-network/payload-model'
6
+ import type {
7
+ AllowedBlockPayload, AttoXL1, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta, TransactionFeesBigInt,
8
+ UnsignedHydratedTransaction,
9
+ } from '@xyo-network/xl1-protocol'
10
+
11
+ import type { DataLakeRunner } from './DataLake.ts'
12
+ import type { XyoGateway } from './XyoGateway.ts'
13
+
14
+ export interface TransactionOptions {
15
+ chain?: Hex
16
+ exp?: number
17
+ fees?: TransactionFeesBigInt
18
+ from?: Address
19
+ nbf?: number
20
+ }
21
+
22
+ export interface XyoGatewayRunnerMethods {
23
+
24
+ addPayloadsToChain(
25
+ onChain: AllowedBlockPayload[],
26
+ offChain: Payload[],
27
+ options?: TransactionOptions
28
+ ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>
29
+
30
+ addTransactionToChain(
31
+ tx: UnsignedHydratedTransaction | SignedHydratedTransaction,
32
+ ): Promisable<[Hash, SignedHydratedTransactionWithHashMeta]>
33
+
34
+ send(to: Address, amount: AttoXL1, options?: TransactionOptions): Promisable<Hash>
35
+ sendMany(transfers: Record<Address, AttoXL1>, options?: TransactionOptions): Promisable<Hash>
36
+ }
37
+
38
+ export interface XyoGatewayRunner extends XyoGatewayRunnerMethods, XyoGateway {
39
+ dataLakes: DataLakeRunner[]
40
+ addDataLake(dataLake: DataLakeRunner): number
41
+ removeDataLake(index: number): void
42
+ }
@@ -1,12 +1,12 @@
1
+ export * from './DataLake.ts'
1
2
  export * from './permissions/index.ts'
3
+ export * from './signer/index.ts'
2
4
  export * from './TransactionSubmitter.ts'
5
+ export * from './viewer/index.ts'
3
6
  export * from './XyoClient.ts'
4
7
  export * from './XyoConnection.ts'
5
- export * from './XyoDataLake.ts'
6
8
  export * from './XyoGateway.ts'
7
- export * from './XyoGatewayHelpers.ts'
9
+ export * from './XyoGatewayRunner.ts'
8
10
  export * from './XyoNetwork.ts'
9
11
  export * from './XyoRunner.ts'
10
- export * from './XyoSigner.ts'
11
- export * from './XyoViewer.ts'
12
12
  export * from './XyoWallet.ts'
@@ -3,7 +3,7 @@ import type { Promisable } from '@xylabs/promise'
3
3
  import type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'
4
4
  import type { Payload } from '@xyo-network/payload-model'
5
5
  import type {
6
- AllowedBlockPayload, ChainId, TransactionBoundWitness,
6
+ AllowedBlockPayload, ChainId, SignedHydratedTransactionWithHashMeta, TransactionBoundWitness,
7
7
  TransactionFeesBigInt,
8
8
  } from '@xyo-network/xl1-protocol'
9
9
 
@@ -12,7 +12,7 @@ export interface XyoSigner {
12
12
  // The tx passed in must have all the payloads (on and off chain) in the payloads array
13
13
  // Returns the signed transaction and the payloads array excluding the off-chain payloads.
14
14
  // The return value is ready to be broadcast to block producers
15
- signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<[Signed<TransactionBoundWitness>, Payload[]]>
15
+ signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<SignedHydratedTransactionWithHashMeta>
16
16
  }
17
17
 
18
18
  export interface XyoSignerDeprecated {
@@ -0,0 +1 @@
1
+ export * from './XyoSigner.ts'
@@ -1,6 +1,6 @@
1
1
  import type { Promisable } from '@xylabs/promise'
2
2
 
3
- import type { StepRewardsViewer } from './StepRewardsViewer.ts'
3
+ import type { NetworkStakeStepRewardsViewer } from './Rewards/index.ts'
4
4
 
5
5
  export interface NetworkStakeViewerMethods {
6
6
  /** @returns the active stake and the number of active validators [active, block] */
@@ -8,5 +8,5 @@ export interface NetworkStakeViewerMethods {
8
8
  }
9
9
 
10
10
  export interface NetworkStakeViewer extends NetworkStakeViewerMethods {
11
- stepRewards?: StepRewardsViewer
11
+ stepRewards?: NetworkStakeStepRewardsViewer
12
12
  }
@@ -0,0 +1,9 @@
1
+ import type { NetworkStakeStepRewardsByPositionViewerOptions } from './Options.ts'
2
+ import type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'
3
+
4
+ // Note: Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.
5
+
6
+ export interface NetworkStakeStepRewardsByPositionViewerMethods extends
7
+ NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByPositionViewerOptions, number> {}
8
+
9
+ export interface NetworkStakeStepRewardsByPositionViewer extends NetworkStakeStepRewardsByPositionViewerMethods {}
@@ -0,0 +1,10 @@
1
+ import type { Address } from '@xylabs/hex'
2
+
3
+ import type { NetworkStakeStepRewardsByStakerViewerOptions } from './Options.ts'
4
+ import type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'
5
+
6
+ // Note: Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.
7
+
8
+ export interface NetworkStakeStepRewardsByStakerViewerMethods
9
+ extends NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStakerViewerOptions, Address> {}
10
+ export interface NetworkStakeStepRewardsByStakerViewer extends NetworkStakeStepRewardsByStakerViewerMethods {}
@@ -0,0 +1,10 @@
1
+ import type { StepIdentityString } from '@xyo-network/xl1-protocol'
2
+
3
+ import type { NetworkStakeStepRewardsByStepViewerOptions } from './Options.ts'
4
+ import type { NetworkStakeStepRewardsByIndexViewerMethodsTemplate } from './templates/index.ts'
5
+
6
+ // Note: Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.
7
+
8
+ export interface NetworkStakeStepRewardsByStepViewerMethods extends
9
+ NetworkStakeStepRewardsByIndexViewerMethodsTemplate<NetworkStakeStepRewardsByStepViewerOptions, StepIdentityString> {}
10
+ export interface NetworkStakeStepRewardsByStepViewer extends NetworkStakeStepRewardsByStepViewerMethods {}
@@ -0,0 +1,18 @@
1
+ import type { Address } from '@xylabs/hex'
2
+ import type { BlockRange, StepIdentity } from '@xyo-network/xl1-protocol'
3
+
4
+ export interface NetworkStakeStepRewardsRangeOptions {
5
+ range?: BlockRange
6
+ }
7
+
8
+ export interface NetworkStakeStepRewardsByStepViewerOptions extends NetworkStakeStepRewardsRangeOptions {
9
+ steps?: StepIdentity[]
10
+ }
11
+
12
+ export interface NetworkStakeStepRewardsByStakerViewerOptions extends NetworkStakeStepRewardsRangeOptions {
13
+ stakers?: Address[]
14
+ }
15
+
16
+ export interface NetworkStakeStepRewardsByPositionViewerOptions extends NetworkStakeStepRewardsRangeOptions {
17
+ positions?: number[]
18
+ }
@@ -0,0 +1,9 @@
1
+ import type { AttoXL1 } from '@xyo-network/xl1-protocol'
2
+
3
+ import type { NetworkStakeStepRewardsRangeOptions } from './Options.ts'
4
+ import type { NetworkStakeStepRewardsViewerMethodsTemplate } from './templates/index.ts'
5
+
6
+ // Note: Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.
7
+
8
+ export interface NetworkStakeStepRewardsTotalViewerMethods extends NetworkStakeStepRewardsViewerMethodsTemplate<NetworkStakeStepRewardsRangeOptions, AttoXL1> {}
9
+ export interface NetworkStakeStepRewardsTotalViewer extends NetworkStakeStepRewardsTotalViewerMethods {}
@@ -0,0 +1,13 @@
1
+ import type { NetworkStakeStepRewardsByPositionViewer } from './ByPositionViewer.ts'
2
+ import type { NetworkStakeStepRewardsByStakerViewer } from './ByStakerViewer.ts'
3
+ import type { NetworkStakeStepRewardsByStepViewer } from './ByStepViewer.ts'
4
+ import type { NetworkStakeStepRewardsTotalViewer } from './TotalViewer.ts'
5
+
6
+ export interface NetworkStakeStepRewardsViewerMethods {}
7
+
8
+ export interface NetworkStakeStepRewardsViewer extends NetworkStakeStepRewardsViewerMethods {
9
+ position?: NetworkStakeStepRewardsByPositionViewer
10
+ staker?: NetworkStakeStepRewardsByStakerViewer
11
+ step?: NetworkStakeStepRewardsByStepViewer
12
+ total?: NetworkStakeStepRewardsTotalViewer
13
+ }
@@ -0,0 +1,7 @@
1
+ export * from './ByPositionViewer.ts'
2
+ export * from './ByStakerViewer.ts'
3
+ export * from './ByStepViewer.ts'
4
+ export * from './Options.ts'
5
+ export * from './templates/index.ts'
6
+ export * from './TotalViewer.ts'
7
+ export * from './Viewer.ts'
@@ -0,0 +1,7 @@
1
+ import type { AttoXL1 } from '@xyo-network/xl1-protocol'
2
+
3
+ import type { RecordKeyType } from '../../../../../model/index.ts'
4
+ import type { NetworkStakeStepRewardsViewerMethodsTemplate } from './MethodsTemplate.ts'
5
+
6
+ export interface NetworkStakeStepRewardsByIndexViewerMethodsTemplate<TOptions, TResultIndex extends RecordKeyType>
7
+ extends NetworkStakeStepRewardsViewerMethodsTemplate<TOptions, Record<TResultIndex, AttoXL1>> {}
@@ -1,6 +1,6 @@
1
1
  import type { Promisable } from '@xylabs/promise'
2
2
 
3
- export interface RewardsViewerMethodsTemplate<TOptions, TResult> {
3
+ export interface NetworkStakeStepRewardsViewerMethodsTemplate<TOptions, TResult> {
4
4
  bonus(options?: TOptions): Promisable<TResult>
5
5
  claimed(options?: TOptions): Promisable<TResult>
6
6
  earned(options?: TOptions): Promisable<TResult>
@@ -0,0 +1,2 @@
1
+ export * from './ByIndexMethodsTemplate.ts'
2
+ export * from './MethodsTemplate.ts'
@@ -0,0 +1,4 @@
1
+ export * from './NetworkStakeViewer.ts'
2
+ export * from './Rewards/index.ts'
3
+
4
+ // Note: Viewers are client objects that can nest other viewers and ViewerMethods objects consist only of methods that return data.
@@ -2,7 +2,8 @@ import type { Address } from '@xylabs/hex'
2
2
  import type { Promisable } from '@xylabs/promise'
3
3
  import type { PositionId, StepIdentity } from '@xyo-network/xl1-protocol'
4
4
 
5
- import type { Position } from '../Stake.ts'
5
+ import type { Position } from '../../interfaces/index.ts'
6
+ import type { NetworkStakeStepRewardsViewer } from './NetworkStake/index.ts'
6
7
 
7
8
  export interface PagedPositionsOptions {
8
9
  cursor?: PositionId
@@ -37,6 +38,10 @@ export interface StepViewerMethods {
37
38
 
38
39
  stakers(step: StepIdentity, options?: PagedStakersOptions): Promisable<Address[]>
39
40
 
40
- // total weight of all stakers during a given step
41
- weight(step: StepIdentity): Promisable<bigint>
41
+ // if no positionId is supplied, returns the total stake weight for the step
42
+ weight(step: StepIdentity, positionId?: PositionId): Promisable<bigint>
43
+ }
44
+
45
+ export interface StepViewer extends StepViewerMethods {
46
+ rewards?: NetworkStakeStepRewardsViewer
42
47
  }
@@ -2,10 +2,11 @@ import type {
2
2
  AccountBalanceViewInterface, BlockViewInterface, ChainViewInterface,
3
3
  ForkViewer,
4
4
  NetworkStakeStepRewardViewInterface,
5
- NetworkStakeViewer,
6
5
  StakeViewer,
7
6
  TransactionViewInterface, TransferBalanceViewInterface,
8
- } from '../interfaces/index.ts'
7
+ } from '../../interfaces/index.ts'
8
+ import type { NetworkStakeViewer } from './NetworkStake/index.ts'
9
+ import type { StepViewer } from './StepViewer.ts'
9
10
 
10
11
  export interface XyoViewerMethods extends AccountBalanceViewInterface, TransferBalanceViewInterface,
11
12
  NetworkStakeStepRewardViewInterface,
@@ -13,5 +14,6 @@ export interface XyoViewerMethods extends AccountBalanceViewInterface, TransferB
13
14
  }
14
15
 
15
16
  export interface XyoViewer extends XyoViewerMethods {
16
- networkStakeViewer?: NetworkStakeViewer
17
+ networkStake?: NetworkStakeViewer
18
+ step?: StepViewer
17
19
  }
@@ -0,0 +1,3 @@
1
+ export * from './NetworkStake/index.ts'
2
+ export * from './StepViewer.ts'
3
+ export * from './XyoViewer.ts'
@@ -0,0 +1,13 @@
1
+ import type {
2
+ XyoClient, XyoGateway, XyoPermissions,
3
+ } from '../../provider/index.ts'
4
+
5
+ export class SimpleXyoClient implements XyoClient {
6
+ gateways: Readonly<Record<string, XyoGateway>>
7
+ permissions: XyoPermissions
8
+
9
+ constructor(gateways: Readonly<Record<string, XyoGateway>>, permissions: XyoPermissions) {
10
+ this.gateways = gateways
11
+ this.permissions = permissions
12
+ }
13
+ }
@@ -0,0 +1 @@
1
+ export * from './SimpleXyoClient.ts'
@@ -0,0 +1,36 @@
1
+ import type { Hash } from '@xylabs/hex'
2
+
3
+ import type { MapType } from '../../map/index.ts'
4
+ import type {
5
+ DataLakeData,
6
+ DataLakeRunner,
7
+ } from '../../provider/index.ts'
8
+ import type { DataLakeViewerParams } from './SimpleDataLakeViewer.ts'
9
+ import { SimpleDataLakeViewer } from './SimpleDataLakeViewer.ts'
10
+
11
+ export interface DataLakeRunnerParams extends DataLakeViewerParams<MapType<Hash, DataLakeData>> {}
12
+
13
+ export class SimpleDataLakeRunner<TParams extends DataLakeRunnerParams> extends SimpleDataLakeViewer<MapType<Hash, DataLakeData>> implements DataLakeRunner {
14
+ constructor(params: TParams) {
15
+ super(params)
16
+ }
17
+
18
+ async clear(): Promise<void> {
19
+ await this.map.clear()
20
+ }
21
+
22
+ async delete(hash: Hash): Promise<boolean> {
23
+ return await this.map.delete(hash)
24
+ }
25
+
26
+ async set(hash: Hash, data: DataLakeData): Promise<void> {
27
+ if (this.isAllowed(data)) {
28
+ await this.map.set(hash, data)
29
+ }
30
+ }
31
+
32
+ async setMany(entries: [Hash, DataLakeData][]): Promise<void> {
33
+ const allowed = entries.filter(([_, data]) => this.isAllowed(data))
34
+ return await this.map.setMany(allowed)
35
+ }
36
+ }
@@ -0,0 +1,74 @@
1
+ import type { Hash } from '@xylabs/hex'
2
+ import { isAnyPayload, type Schema } from '@xyo-network/payload-model'
3
+
4
+ import type { MapTypeRead } from '../../map/index.ts'
5
+ import type {
6
+ DataLakeData,
7
+ DataLakeViewer,
8
+ } from '../../provider/index.ts'
9
+
10
+ export interface DataLakeViewerParams<TMap extends MapTypeRead<Hash, DataLakeData> = MapTypeRead<Hash, DataLakeData>> {
11
+ allowedSchemas?: Schema[]
12
+ disallowedSchemas?: Schema[]
13
+ map: TMap
14
+ }
15
+
16
+ export class SimpleDataLakeViewer<TMap extends MapTypeRead<Hash, DataLakeData> = MapTypeRead<Hash, DataLakeData>,
17
+ TParams extends DataLakeViewerParams<TMap> = DataLakeViewerParams<TMap>> implements DataLakeViewer {
18
+ private readonly _params: TParams
19
+
20
+ constructor(params: TParams) {
21
+ this._params = params
22
+ }
23
+
24
+ get allowedSchemas(): Schema[] | undefined {
25
+ return this._params.allowedSchemas
26
+ }
27
+
28
+ get disallowedSchemas(): Schema[] | undefined {
29
+ return this._params.disallowedSchemas
30
+ }
31
+
32
+ protected get map(): TMap {
33
+ return this._params.map
34
+ }
35
+
36
+ protected get params() {
37
+ return this._params
38
+ }
39
+
40
+ async get(hash: Hash): Promise<DataLakeData | undefined> {
41
+ const result = await this.map.get(hash)
42
+ return this.isAllowed(result) ? result : undefined
43
+ }
44
+
45
+ async getMany(hashes: Hash[]): Promise<DataLakeData[]> {
46
+ const result = await this.map.getMany(hashes)
47
+ return result.filter(data => this.isAllowed(data))
48
+ }
49
+
50
+ async has(hash: Hash): Promise<boolean> {
51
+ const value = await this.get(hash)
52
+ if (isAnyPayload(value)) {
53
+ return this.isAllowed(value)
54
+ }
55
+ return value !== undefined
56
+ }
57
+
58
+ protected isAllowed(value: DataLakeData | undefined): boolean {
59
+ if (isAnyPayload(value)) {
60
+ return this.isAllowedSchema(value.schema)
61
+ }
62
+ return true
63
+ }
64
+
65
+ protected isAllowedSchema(schema: Schema): boolean {
66
+ if (this.allowedSchemas && !this.allowedSchemas.includes(schema)) {
67
+ return false
68
+ }
69
+ if (this.disallowedSchemas && this.disallowedSchemas.includes(schema)) {
70
+ return false
71
+ }
72
+ return true
73
+ }
74
+ }
@@ -0,0 +1,2 @@
1
+ export * from './SimpleDataLakeRunner.ts'
2
+ export * from './SimpleDataLakeViewer.ts'
@@ -0,0 +1,21 @@
1
+ import type {
2
+ XyoConnection, XyoGateway, XyoSigner,
3
+ } from '../../provider/index.ts'
4
+
5
+ export class SimpleXyoGateway implements XyoGateway {
6
+ private readonly _connection: XyoConnection
7
+ private readonly _signer: XyoSigner
8
+
9
+ constructor(signer: XyoSigner, connection: XyoConnection) {
10
+ this._signer = signer
11
+ this._connection = connection
12
+ }
13
+
14
+ get connection(): XyoConnection {
15
+ return this._connection
16
+ }
17
+
18
+ get signer(): XyoSigner {
19
+ return this._signer
20
+ }
21
+ }
@@ -0,0 +1,116 @@
1
+ import { assertEx } from '@xylabs/assert'
2
+ import type {
3
+ Address, Hash, Hex,
4
+ } from '@xylabs/hex'
5
+ import { BigIntToJsonZod } from '@xylabs/hex'
6
+ import { isDefined } from '@xylabs/typeof'
7
+ import { PayloadBuilder } from '@xyo-network/payload-builder'
8
+ import type { Payload, WithHashMeta } from '@xyo-network/payload-model'
9
+ import {
10
+ type AllowedBlockPayload,
11
+ type AttoXL1,
12
+ type SignedHydratedTransaction,
13
+ type SignedHydratedTransactionWithHashMeta,
14
+ type Transfer,
15
+ TransferSchema,
16
+ } from '@xyo-network/xl1-protocol'
17
+
18
+ import type {
19
+ DataLakeRunner,
20
+ TransactionOptions,
21
+ XyoConnection, XyoGateway, XyoGatewayRunner,
22
+ XyoSigner,
23
+ } from '../../provider/index.ts'
24
+ import { buildUnsignedTransaction } from '../../transaction/index.ts'
25
+
26
+ export class SimpleXyoGatewayRunner implements XyoGatewayRunner {
27
+ protected readonly gateway: XyoGateway
28
+ private _dataLakes: (DataLakeRunner | null)[]
29
+
30
+ constructor(gateway: XyoGateway, dataLakes: DataLakeRunner[] = []) {
31
+ this.gateway = gateway
32
+ this._dataLakes = [...dataLakes]
33
+ }
34
+
35
+ get connection(): XyoConnection {
36
+ return this.gateway.connection
37
+ }
38
+
39
+ get dataLakes(): DataLakeRunner[] {
40
+ throw new Error('Method not implemented.')
41
+ }
42
+
43
+ get signer(): XyoSigner {
44
+ return this.gateway.signer
45
+ }
46
+
47
+ addDataLake(dataLake: DataLakeRunner): number {
48
+ this._dataLakes.push(dataLake)
49
+ return this._dataLakes.length - 1
50
+ }
51
+
52
+ async addPayloadsToChain(
53
+ onChain: AllowedBlockPayload[],
54
+ offChain: Payload[],
55
+ options?: TransactionOptions,
56
+ ): Promise<[Hash, SignedHydratedTransactionWithHashMeta]> {
57
+ // Get chain providers
58
+ const viewer = assertEx(this.connection.viewer, () => 'No viewer available on connection')
59
+
60
+ // Resolve transaction options
61
+ const {
62
+ nbf, exp, chain, fees,
63
+ } = options ?? {}
64
+ const resolvedChainId = isDefined(chain) ? chain : await viewer.chainId()
65
+ const resolvedNbf = isDefined(nbf) ? nbf : await viewer?.currentBlockNumber()
66
+ const resolvedExp = isDefined(exp) ? exp : resolvedNbf + 10
67
+
68
+ // Build, sign, and broadcast the transaction
69
+ const tx = await buildUnsignedTransaction(resolvedChainId, onChain, offChain, resolvedNbf, resolvedExp, await this.signer.address(), fees)
70
+ return await this.addTransactionToChain(tx)
71
+ }
72
+
73
+ async addTransactionToChain(tx: SignedHydratedTransaction): Promise<[Hash, SignedHydratedTransactionWithHashMeta]> {
74
+ const connection = this.gateway.connection
75
+ const signer = this.gateway.signer
76
+ const runner = assertEx(connection.runner, () => 'No runner available on connection')
77
+ const signedTx = await signer.signTransaction(tx)
78
+ await this.addPayloadsToDataLakes(signedTx[1])
79
+ return [await runner.broadcastTransaction(
80
+ [await PayloadBuilder.addStorageMeta(signedTx[0]),
81
+ await PayloadBuilder.addStorageMeta(signedTx[1])],
82
+ ), signedTx]
83
+ }
84
+
85
+ removeDataLake(index: number): void {
86
+ this._dataLakes[index] = null
87
+ }
88
+
89
+ async send(to: Address, amount: AttoXL1, options?: TransactionOptions): Promise<Hash> {
90
+ return await this.sendMany({ [to]: amount }, options)
91
+ }
92
+
93
+ async sendMany(transfers: Record<Address, AttoXL1>, options?: TransactionOptions): Promise<Hash> {
94
+ const from = await this.signer.address()
95
+ const hexTransfers: Record<Address, Hex> = Object.fromEntries(
96
+ Object.entries(transfers).map(([address, amount]) => ([
97
+ address, BigIntToJsonZod.parse(amount),
98
+ ])),
99
+ )
100
+ const transfer = new PayloadBuilder<Transfer>({ schema: TransferSchema }).fields({
101
+ from,
102
+ transfers: hexTransfers,
103
+ epoch: Date.now(),
104
+ }).build()
105
+ const [hash] = await this.addPayloadsToChain([transfer], [], options)
106
+ return hash
107
+ }
108
+
109
+ protected async addPayloadsToDataLakes(payloads: WithHashMeta<Payload>[]): Promise<void> {
110
+ await Promise.all(this._dataLakes.map(async (dataLake) => {
111
+ await Promise.all(payloads.map(async (payload) => {
112
+ await dataLake?.set(payload._hash, payload)
113
+ }))
114
+ }))
115
+ }
116
+ }
@@ -0,0 +1,2 @@
1
+ export * from './SimpleXyoGateway.ts'
2
+ export * from './SimpleXyoGatewayRunner.ts'
@@ -0,0 +1,7 @@
1
+ export * from './client/index.ts'
2
+ export * from './datalake/index.ts'
3
+ export * from './gateway/index.ts'
4
+ export * from './network/index.ts'
5
+ export * from './permissions/index.ts'
6
+ export * from './runner/index.ts'
7
+ export * from './signer/index.ts'
@@ -0,0 +1,48 @@
1
+ import { isUndefined } from '@xylabs/typeof'
2
+ import type {
3
+ GatewayName,
4
+ NetworkStatus,
5
+ } from '@xyo-network/xl1-protocol'
6
+ import { isNetworkStatus } from '@xyo-network/xl1-protocol'
7
+ import axios from 'axios'
8
+
9
+ import type { XyoNetwork } from '../../provider/index.ts'
10
+ import {
11
+ errorStatus, StatusNetworks, unknownStatus,
12
+ } from './lib/index.ts'
13
+
14
+ export class SimpleXyoNetwork implements XyoNetwork {
15
+ protected readonly _networkId: GatewayName
16
+
17
+ constructor(networkId: GatewayName) {
18
+ this._networkId = networkId
19
+ }
20
+
21
+ async status(): Promise<NetworkStatus> {
22
+ const statusNetwork = StatusNetworks[this._networkId]
23
+ if (isUndefined(statusNetwork)) {
24
+ throw new Error(`Unknown status network ID: ${this._networkId}`)
25
+ }
26
+
27
+ return await this.makeRequest(statusNetwork.statusUrl)
28
+ }
29
+
30
+ private async makeRequest(url: string): Promise<NetworkStatus> {
31
+ try {
32
+ const response = await axios.get(url)
33
+ if (isNetworkStatus(response.data)) {
34
+ return response.data
35
+ } else {
36
+ if (response.status === 200) {
37
+ console.error('Unknown network status response:', response.data)
38
+
39
+ return unknownStatus
40
+ }
41
+ return errorStatus
42
+ }
43
+ } catch (error) {
44
+ console.error('Error fetching network status:', error)
45
+ return errorStatus
46
+ }
47
+ }
48
+ }
@@ -0,0 +1 @@
1
+ export * from './SimpleXyoNetwork.ts'
@@ -0,0 +1,14 @@
1
+ import type { NetworkStatus } from '@xyo-network/xl1-protocol'
2
+ import { NetworkStatusSchema } from '@xyo-network/xl1-protocol'
3
+
4
+ export const unknownStatus: NetworkStatus = {
5
+ description: 'Unknown Network Status',
6
+ schema: NetworkStatusSchema,
7
+ state: 'unknown',
8
+ }
9
+
10
+ export const errorStatus: NetworkStatus = {
11
+ description: 'Error Fetching Network Status',
12
+ schema: NetworkStatusSchema,
13
+ state: 'unknown',
14
+ }
@@ -0,0 +1,27 @@
1
+ import type { GatewayName } from '@xyo-network/xl1-protocol'
2
+
3
+ export type StatusNetwork = {
4
+ id: GatewayName
5
+ statusUrl: string
6
+ }
7
+
8
+ export const MainNetworkStats: StatusNetwork = {
9
+ id: 'mainnet' as GatewayName,
10
+ statusUrl: 'https://xyo.network/chain-network-status-mainnet.json',
11
+ }
12
+
13
+ export const SequenceNetworkStats: StatusNetwork = {
14
+ id: 'sequence' as GatewayName,
15
+ statusUrl: 'https://beta.xyo.network/chain-network-status-sequence.json',
16
+ }
17
+
18
+ export const LocalNetworkStats: StatusNetwork = {
19
+ id: 'local' as GatewayName,
20
+ statusUrl: 'http://localhost:3002/chain-network-status-local.json',
21
+ }
22
+
23
+ export const StatusNetworks: Record<GatewayName, StatusNetwork> = {
24
+ ['mainnet' as GatewayName]: MainNetworkStats,
25
+ ['sequence' as GatewayName]: SequenceNetworkStats,
26
+ ['local' as GatewayName]: LocalNetworkStats,
27
+ }
@@ -0,0 +1,2 @@
1
+ export * from './FailedNetworkStatusPayloads.ts'
2
+ export * from './StatusNetworks.ts'