@xyo-network/xl1-protocol 1.6.2 → 1.6.3

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 (248) hide show
  1. package/dist/neutral/index.d.ts +830 -0
  2. package/dist/neutral/provider/v2/index.d.ts +240 -0
  3. package/package.json +24 -24
  4. package/xy.config.ts +1 -1
  5. package/dist/types/Initializable.d.ts +0 -3
  6. package/dist/types/Initializable.d.ts.map +0 -1
  7. package/dist/types/OpenTelemetryProviders.d.ts +0 -6
  8. package/dist/types/OpenTelemetryProviders.d.ts.map +0 -1
  9. package/dist/types/block/AllowedBlockPayload.d.ts +0 -11
  10. package/dist/types/block/AllowedBlockPayload.d.ts.map +0 -1
  11. package/dist/types/block/BlockBoundWitness.d.ts +0 -32
  12. package/dist/types/block/BlockBoundWitness.d.ts.map +0 -1
  13. package/dist/types/block/HydratedBlock.d.ts +0 -7
  14. package/dist/types/block/HydratedBlock.d.ts.map +0 -1
  15. package/dist/types/block/index.d.ts +0 -4
  16. package/dist/types/block/index.d.ts.map +0 -1
  17. package/dist/types/chain/ChainAnalyzer.d.ts +0 -9
  18. package/dist/types/chain/ChainAnalyzer.d.ts.map +0 -1
  19. package/dist/types/chain/index.d.ts +0 -2
  20. package/dist/types/chain/index.d.ts.map +0 -1
  21. package/dist/types/constants/StepSizes.d.ts +0 -5
  22. package/dist/types/constants/StepSizes.d.ts.map +0 -1
  23. package/dist/types/constants/TransactionGasCosts.d.ts +0 -37
  24. package/dist/types/constants/TransactionGasCosts.d.ts.map +0 -1
  25. package/dist/types/constants/defaultTransactionFees.d.ts +0 -3
  26. package/dist/types/constants/defaultTransactionFees.d.ts.map +0 -1
  27. package/dist/types/constants/index.d.ts +0 -6
  28. package/dist/types/constants/index.d.ts.map +0 -1
  29. package/dist/types/constants/minTransactionFees.d.ts +0 -3
  30. package/dist/types/constants/minTransactionFees.d.ts.map +0 -1
  31. package/dist/types/constants/version.d.ts +0 -6
  32. package/dist/types/constants/version.d.ts.map +0 -1
  33. package/dist/types/fields/Addressable.d.ts +0 -5
  34. package/dist/types/fields/Addressable.d.ts.map +0 -1
  35. package/dist/types/fields/BlockDuration.d.ts +0 -23
  36. package/dist/types/fields/BlockDuration.d.ts.map +0 -1
  37. package/dist/types/fields/BlockNumber.d.ts +0 -25
  38. package/dist/types/fields/BlockNumber.d.ts.map +0 -1
  39. package/dist/types/fields/ChainReference.d.ts +0 -11
  40. package/dist/types/fields/ChainReference.d.ts.map +0 -1
  41. package/dist/types/fields/index.d.ts +0 -5
  42. package/dist/types/fields/index.d.ts.map +0 -1
  43. package/dist/types/index.d.ts +0 -15
  44. package/dist/types/index.d.ts.map +0 -1
  45. package/dist/types/isHydratedBoundWitness.d.ts +0 -3
  46. package/dist/types/isHydratedBoundWitness.d.ts.map +0 -1
  47. package/dist/types/network/NetworkId.d.ts +0 -3
  48. package/dist/types/network/NetworkId.d.ts.map +0 -1
  49. package/dist/types/network/Status.d.ts +0 -17
  50. package/dist/types/network/Status.d.ts.map +0 -1
  51. package/dist/types/network/index.d.ts +0 -3
  52. package/dist/types/network/index.d.ts.map +0 -1
  53. package/dist/types/payload/elevatable/ChainStakeIntent.d.ts +0 -14
  54. package/dist/types/payload/elevatable/ChainStakeIntent.d.ts.map +0 -1
  55. package/dist/types/payload/elevatable/Executable.d.ts +0 -14
  56. package/dist/types/payload/elevatable/Executable.d.ts.map +0 -1
  57. package/dist/types/payload/elevatable/Hash.d.ts +0 -12
  58. package/dist/types/payload/elevatable/Hash.d.ts.map +0 -1
  59. package/dist/types/payload/elevatable/TransferPayload.d.ts +0 -13
  60. package/dist/types/payload/elevatable/TransferPayload.d.ts.map +0 -1
  61. package/dist/types/payload/elevatable/index.d.ts +0 -5
  62. package/dist/types/payload/elevatable/index.d.ts.map +0 -1
  63. package/dist/types/payload/index.d.ts +0 -2
  64. package/dist/types/payload/index.d.ts.map +0 -1
  65. package/dist/types/provider/index.d.ts +0 -2
  66. package/dist/types/provider/index.d.ts.map +0 -1
  67. package/dist/types/provider/v1/XyoDataLake.d.ts +0 -18
  68. package/dist/types/provider/v1/XyoDataLake.d.ts.map +0 -1
  69. package/dist/types/provider/v1/XyoHost.d.ts +0 -65
  70. package/dist/types/provider/v1/XyoHost.d.ts.map +0 -1
  71. package/dist/types/provider/v1/XyoNetwork.d.ts +0 -6
  72. package/dist/types/provider/v1/XyoNetwork.d.ts.map +0 -1
  73. package/dist/types/provider/v1/XyoProvider.d.ts +0 -24
  74. package/dist/types/provider/v1/XyoProvider.d.ts.map +0 -1
  75. package/dist/types/provider/v1/XyoRunner.d.ts +0 -7
  76. package/dist/types/provider/v1/XyoRunner.d.ts.map +0 -1
  77. package/dist/types/provider/v1/XyoSigner.d.ts +0 -11
  78. package/dist/types/provider/v1/XyoSigner.d.ts.map +0 -1
  79. package/dist/types/provider/v1/XyoViewer.d.ts +0 -20
  80. package/dist/types/provider/v1/XyoViewer.d.ts.map +0 -1
  81. package/dist/types/provider/v1/XyoWallet.d.ts +0 -14
  82. package/dist/types/provider/v1/XyoWallet.d.ts.map +0 -1
  83. package/dist/types/provider/v1/index.d.ts +0 -9
  84. package/dist/types/provider/v1/index.d.ts.map +0 -1
  85. package/dist/types/provider/v2/Chain/Block.d.ts +0 -9
  86. package/dist/types/provider/v2/Chain/Block.d.ts.map +0 -1
  87. package/dist/types/provider/v2/Chain/Chain.d.ts +0 -20
  88. package/dist/types/provider/v2/Chain/Chain.d.ts.map +0 -1
  89. package/dist/types/provider/v2/Chain/ChainAccount.d.ts +0 -16
  90. package/dist/types/provider/v2/Chain/ChainAccount.d.ts.map +0 -1
  91. package/dist/types/provider/v2/Chain/index.d.ts +0 -4
  92. package/dist/types/provider/v2/Chain/index.d.ts.map +0 -1
  93. package/dist/types/provider/v2/ChainDefinition/ChainContractProvider.d.ts +0 -9
  94. package/dist/types/provider/v2/ChainDefinition/ChainContractProvider.d.ts.map +0 -1
  95. package/dist/types/provider/v2/ChainDefinition/ChainContractViewer.d.ts +0 -12
  96. package/dist/types/provider/v2/ChainDefinition/ChainContractViewer.d.ts.map +0 -1
  97. package/dist/types/provider/v2/ChainDefinition/ChainDefinitionProvider.d.ts +0 -12
  98. package/dist/types/provider/v2/ChainDefinition/ChainDefinitionProvider.d.ts.map +0 -1
  99. package/dist/types/provider/v2/ChainDefinition/Stake/StakeContractProvider.d.ts +0 -7
  100. package/dist/types/provider/v2/ChainDefinition/Stake/StakeContractProvider.d.ts.map +0 -1
  101. package/dist/types/provider/v2/ChainDefinition/Stake/StakeContractViewer.d.ts +0 -11
  102. package/dist/types/provider/v2/ChainDefinition/Stake/StakeContractViewer.d.ts.map +0 -1
  103. package/dist/types/provider/v2/ChainDefinition/Stake/index.d.ts +0 -3
  104. package/dist/types/provider/v2/ChainDefinition/Stake/index.d.ts.map +0 -1
  105. package/dist/types/provider/v2/ChainDefinition/index.d.ts +0 -4
  106. package/dist/types/provider/v2/ChainDefinition/index.d.ts.map +0 -1
  107. package/dist/types/provider/v2/ChainsProvider.d.ts +0 -7
  108. package/dist/types/provider/v2/ChainsProvider.d.ts.map +0 -1
  109. package/dist/types/provider/v2/ListProvider.d.ts +0 -10
  110. package/dist/types/provider/v2/ListProvider.d.ts.map +0 -1
  111. package/dist/types/provider/v2/QueueProvider.d.ts +0 -8
  112. package/dist/types/provider/v2/QueueProvider.d.ts.map +0 -1
  113. package/dist/types/provider/v2/Runner.d.ts +0 -9
  114. package/dist/types/provider/v2/Runner.d.ts.map +0 -1
  115. package/dist/types/provider/v2/Signer.d.ts +0 -8
  116. package/dist/types/provider/v2/Signer.d.ts.map +0 -1
  117. package/dist/types/provider/v2/WalletProvider.d.ts +0 -9
  118. package/dist/types/provider/v2/WalletProvider.d.ts.map +0 -1
  119. package/dist/types/provider/v2/WalletsProvider.d.ts +0 -5
  120. package/dist/types/provider/v2/WalletsProvider.d.ts.map +0 -1
  121. package/dist/types/provider/v2/Xyo.d.ts +0 -15
  122. package/dist/types/provider/v2/Xyo.d.ts.map +0 -1
  123. package/dist/types/provider/v2/index.d.ts +0 -10
  124. package/dist/types/provider/v2/index.d.ts.map +0 -1
  125. package/dist/types/provider/v2/lake/DataLakeProvider.d.ts +0 -7
  126. package/dist/types/provider/v2/lake/DataLakeProvider.d.ts.map +0 -1
  127. package/dist/types/provider/v2/lake/DataLakeViewer.d.ts +0 -6
  128. package/dist/types/provider/v2/lake/DataLakeViewer.d.ts.map +0 -1
  129. package/dist/types/provider/v2/lake/DataLakesProvider.d.ts +0 -8
  130. package/dist/types/provider/v2/lake/DataLakesProvider.d.ts.map +0 -1
  131. package/dist/types/provider/v2/lake/PayloadLakeProvider.d.ts +0 -8
  132. package/dist/types/provider/v2/lake/PayloadLakeProvider.d.ts.map +0 -1
  133. package/dist/types/provider/v2/lake/PayloadLakeViewer.d.ts +0 -7
  134. package/dist/types/provider/v2/lake/PayloadLakeViewer.d.ts.map +0 -1
  135. package/dist/types/provider/v2/lake/index.d.ts +0 -6
  136. package/dist/types/provider/v2/lake/index.d.ts.map +0 -1
  137. package/dist/types/provider/v2/viewer/PendingTransactionsViewer.d.ts +0 -8
  138. package/dist/types/provider/v2/viewer/PendingTransactionsViewer.d.ts.map +0 -1
  139. package/dist/types/provider/v2/viewer/index.d.ts +0 -2
  140. package/dist/types/provider/v2/viewer/index.d.ts.map +0 -1
  141. package/dist/types/repository/Repository.d.ts +0 -22
  142. package/dist/types/repository/Repository.d.ts.map +0 -1
  143. package/dist/types/repository/TransactionReadRepository.d.ts +0 -5
  144. package/dist/types/repository/TransactionReadRepository.d.ts.map +0 -1
  145. package/dist/types/repository/TransactionRepository.d.ts +0 -10
  146. package/dist/types/repository/TransactionRepository.d.ts.map +0 -1
  147. package/dist/types/repository/TransactionRepositoryIterator.d.ts +0 -5
  148. package/dist/types/repository/TransactionRepositoryIterator.d.ts.map +0 -1
  149. package/dist/types/repository/TransactionWriteRepository.d.ts +0 -5
  150. package/dist/types/repository/TransactionWriteRepository.d.ts.map +0 -1
  151. package/dist/types/repository/index.d.ts +0 -6
  152. package/dist/types/repository/index.d.ts.map +0 -1
  153. package/dist/types/services/AccountBalanceService.d.ts +0 -15
  154. package/dist/types/services/AccountBalanceService.d.ts.map +0 -1
  155. package/dist/types/services/BlockProducerService.d.ts +0 -8
  156. package/dist/types/services/BlockProducerService.d.ts.map +0 -1
  157. package/dist/types/services/BlockRewardService.d.ts +0 -6
  158. package/dist/types/services/BlockRewardService.d.ts.map +0 -1
  159. package/dist/types/services/Chain/BaseChainService.d.ts +0 -6
  160. package/dist/types/services/Chain/BaseChainService.d.ts.map +0 -1
  161. package/dist/types/services/Chain/ChainHeadService.d.ts +0 -6
  162. package/dist/types/services/Chain/ChainHeadService.d.ts.map +0 -1
  163. package/dist/types/services/Chain/ChainService.d.ts +0 -5
  164. package/dist/types/services/Chain/ChainService.d.ts.map +0 -1
  165. package/dist/types/services/Chain/index.d.ts +0 -5
  166. package/dist/types/services/Chain/index.d.ts.map +0 -1
  167. package/dist/types/services/Chain/interfaces/ChainContractViewer.d.ts +0 -11
  168. package/dist/types/services/Chain/interfaces/ChainContractViewer.d.ts.map +0 -1
  169. package/dist/types/services/Chain/interfaces/ChainStakeViewer.d.ts +0 -10
  170. package/dist/types/services/Chain/interfaces/ChainStakeViewer.d.ts.map +0 -1
  171. package/dist/types/services/Chain/interfaces/ChainStaker.d.ts +0 -6
  172. package/dist/types/services/Chain/interfaces/ChainStaker.d.ts.map +0 -1
  173. package/dist/types/services/Chain/interfaces/index.d.ts +0 -4
  174. package/dist/types/services/Chain/interfaces/index.d.ts.map +0 -1
  175. package/dist/types/services/ChainIterator/ChainIteratorService.d.ts +0 -41
  176. package/dist/types/services/ChainIterator/ChainIteratorService.d.ts.map +0 -1
  177. package/dist/types/services/ChainIterator/ChainIteratorServiceEventData.d.ts +0 -14
  178. package/dist/types/services/ChainIterator/ChainIteratorServiceEventData.d.ts.map +0 -1
  179. package/dist/types/services/ChainIterator/index.d.ts +0 -3
  180. package/dist/types/services/ChainIterator/index.d.ts.map +0 -1
  181. package/dist/types/services/ChainServiceCollection.d.ts +0 -67
  182. package/dist/types/services/ChainServiceCollection.d.ts.map +0 -1
  183. package/dist/types/services/ChainServiceCollectionV2.d.ts +0 -67
  184. package/dist/types/services/ChainServiceCollectionV2.d.ts.map +0 -1
  185. package/dist/types/services/Election.d.ts +0 -11
  186. package/dist/types/services/Election.d.ts.map +0 -1
  187. package/dist/types/services/Params.d.ts +0 -9
  188. package/dist/types/services/Params.d.ts.map +0 -1
  189. package/dist/types/services/PendingTransactionsService.d.ts +0 -7
  190. package/dist/types/services/PendingTransactionsService.d.ts.map +0 -1
  191. package/dist/types/services/Service.d.ts +0 -3
  192. package/dist/types/services/Service.d.ts.map +0 -1
  193. package/dist/types/services/StakeIntentService/ChainIndexingServiceStateSchema.d.ts +0 -32
  194. package/dist/types/services/StakeIntentService/ChainIndexingServiceStateSchema.d.ts.map +0 -1
  195. package/dist/types/services/StakeIntentService/StakeIntentService.d.ts +0 -31
  196. package/dist/types/services/StakeIntentService/StakeIntentService.d.ts.map +0 -1
  197. package/dist/types/services/StakeIntentService/index.d.ts +0 -3
  198. package/dist/types/services/StakeIntentService/index.d.ts.map +0 -1
  199. package/dist/types/services/index.d.ts +0 -12
  200. package/dist/types/services/index.d.ts.map +0 -1
  201. package/dist/types/transaction/HydratedTransaction.d.ts +0 -7
  202. package/dist/types/transaction/HydratedTransaction.d.ts.map +0 -1
  203. package/dist/types/transaction/TransactionBoundWitness.d.ts +0 -21
  204. package/dist/types/transaction/TransactionBoundWitness.d.ts.map +0 -1
  205. package/dist/types/transaction/TransactionFeesFields.d.ts +0 -15
  206. package/dist/types/transaction/TransactionFeesFields.d.ts.map +0 -1
  207. package/dist/types/transaction/index.d.ts +0 -4
  208. package/dist/types/transaction/index.d.ts.map +0 -1
  209. package/dist/types/validation/block/BlockValidationFunction.d.ts +0 -6
  210. package/dist/types/validation/block/BlockValidationFunction.d.ts.map +0 -1
  211. package/dist/types/validation/block/HydratedBlockStateValidationFunction.d.ts +0 -19
  212. package/dist/types/validation/block/HydratedBlockStateValidationFunction.d.ts.map +0 -1
  213. package/dist/types/validation/block/HydratedBlockValidationFunction.d.ts +0 -12
  214. package/dist/types/validation/block/HydratedBlockValidationFunction.d.ts.map +0 -1
  215. package/dist/types/validation/block/error.d.ts +0 -15
  216. package/dist/types/validation/block/error.d.ts.map +0 -1
  217. package/dist/types/validation/block/index.d.ts +0 -5
  218. package/dist/types/validation/block/index.d.ts.map +0 -1
  219. package/dist/types/validation/boundwitness/BoundWitnessValidationFunction.d.ts +0 -5
  220. package/dist/types/validation/boundwitness/BoundWitnessValidationFunction.d.ts.map +0 -1
  221. package/dist/types/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts +0 -7
  222. package/dist/types/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts.map +0 -1
  223. package/dist/types/validation/boundwitness/error.d.ts +0 -10
  224. package/dist/types/validation/boundwitness/error.d.ts.map +0 -1
  225. package/dist/types/validation/boundwitness/index.d.ts +0 -4
  226. package/dist/types/validation/boundwitness/index.d.ts.map +0 -1
  227. package/dist/types/validation/error.d.ts +0 -9
  228. package/dist/types/validation/error.d.ts.map +0 -1
  229. package/dist/types/validation/index.d.ts +0 -6
  230. package/dist/types/validation/index.d.ts.map +0 -1
  231. package/dist/types/validation/payload/InBlockPayloadValidationFunction.d.ts +0 -6
  232. package/dist/types/validation/payload/InBlockPayloadValidationFunction.d.ts.map +0 -1
  233. package/dist/types/validation/payload/error.d.ts +0 -10
  234. package/dist/types/validation/payload/error.d.ts.map +0 -1
  235. package/dist/types/validation/payload/index.d.ts +0 -3
  236. package/dist/types/validation/payload/index.d.ts.map +0 -1
  237. package/dist/types/validation/transaction/HydratedTransactionStateValidationFunction.d.ts +0 -14
  238. package/dist/types/validation/transaction/HydratedTransactionStateValidationFunction.d.ts.map +0 -1
  239. package/dist/types/validation/transaction/HydratedTransactionValidationFunction.d.ts +0 -12
  240. package/dist/types/validation/transaction/HydratedTransactionValidationFunction.d.ts.map +0 -1
  241. package/dist/types/validation/transaction/error.d.ts +0 -6
  242. package/dist/types/validation/transaction/error.d.ts.map +0 -1
  243. package/dist/types/validation/transaction/index.d.ts +0 -4
  244. package/dist/types/validation/transaction/index.d.ts.map +0 -1
  245. package/dist/types/xl1/XL1.d.ts +0 -42
  246. package/dist/types/xl1/XL1.d.ts.map +0 -1
  247. package/dist/types/xl1/index.d.ts +0 -2
  248. package/dist/types/xl1/index.d.ts.map +0 -1
@@ -0,0 +1,830 @@
1
+ import { Payload, WithSources, WithStorageMeta, WithHashStorageMeta, Schema } from '@xyo-network/payload-model';
2
+ import { SchemaPayload } from '@xyo-network/schema-payload-plugin';
3
+ import { Address, Hex, Hash } from '@xylabs/hex';
4
+ import { EmptyObject, JsonValue } from '@xylabs/object';
5
+ import { BoundWitness, Signed } from '@xyo-network/boundwitness-model';
6
+ import { Promisable } from '@xylabs/promise';
7
+ import { MeterProvider, TracerProvider } from '@opentelemetry/api';
8
+ import { NextOptions, ArchivistInstance, WriteArchivist, HydratedBoundWitness, HydratedBoundWitnessWithStorageMeta, ReadArchivist } from '@xyo-network/archivist-model';
9
+ import { BaseParams } from '@xylabs/base';
10
+ import { EventData, BaseEmitter } from '@xylabs/events';
11
+ import { WalletInstance } from '@xyo-network/wallet-model';
12
+
13
+ interface Addressable {
14
+ address: Address;
15
+ }
16
+
17
+ interface BlockStart {
18
+ /**
19
+ * The block at which the duration starts
20
+ */
21
+ nbf: number;
22
+ }
23
+ interface BlockEnd {
24
+ /**
25
+ * The block at which the duration ends
26
+ */
27
+ exp: number;
28
+ }
29
+ /**
30
+ * A optional duration referenced to block numbers
31
+ */
32
+ interface OptionalBlockDuration extends Partial<BlockStart>, Partial<BlockEnd> {
33
+ }
34
+ /**
35
+ * A duration referenced to block numbers
36
+ */
37
+ interface BlockDuration extends BlockStart, BlockEnd {
38
+ }
39
+
40
+ declare const BlockNumberSchema: "network.xyo.chain.block.number";
41
+ type BlockNumberSchema = typeof BlockNumberSchema;
42
+ interface BlockNumberFields {
43
+ /**
44
+ * The block number
45
+ */
46
+ block: Hex;
47
+ }
48
+ /**
49
+ * The number of a block
50
+ */
51
+ type BlockNumber = Payload<BlockNumberFields, BlockNumberSchema>;
52
+ /**
53
+ * Identity function for determining if an object is a BlockNumber
54
+ */
55
+ declare const isBlockNumber: (x?: unknown | null) => x is BlockNumber;
56
+ declare const asBlockNumber: _xylabs_object_model.AsTypeFunction<T>;
57
+ /**
58
+ * Identity function for determining if an object is a BlockNumber with sources
59
+ */
60
+ declare const isBlockNumberWithSources: (x?: unknown | null) => x is WithSources<BlockNumber>;
61
+ declare const asBlockNumberWithSources: _xylabs_object_model.AsTypeFunction<T>;
62
+
63
+ /**
64
+ * Required info for a chain reference
65
+ */
66
+ interface ChainReference {
67
+ /**
68
+ * The contract address referenced by the chain
69
+ */
70
+ chain: Address;
71
+ }
72
+
73
+ interface FromFields {
74
+ from: Address;
75
+ }
76
+ declare const hasFrom: (value: unknown) => value is FromFields;
77
+ interface ExecutableFields {
78
+ script: string[];
79
+ }
80
+ type Executable<T extends EmptyObject = EmptyObject> = T & ExecutableFields;
81
+ type OptionalExecutable<T extends EmptyObject = EmptyObject> = T & Partial<ExecutableFields>;
82
+ declare const isExecutable: <T extends EmptyObject>(value: T | undefined) => value is Executable<T>;
83
+ declare const asExecutable: <T extends EmptyObject>(value: T | undefined) => Executable<T> | undefined;
84
+
85
+ declare const ChainStakeIntentSchema: "network.xyo.chain.stake.intent";
86
+ type ChainStakeIntentSchema = typeof ChainStakeIntentSchema;
87
+ type Intent = 'producer';
88
+ interface ChainStakeIntentFields extends BlockDuration, FromFields {
89
+ intent: Intent;
90
+ }
91
+ type ChainStakeIntent = Payload<ChainStakeIntentFields, ChainStakeIntentSchema>;
92
+ declare const isChainStakeIntent: (x?: unknown | null) => x is ChainStakeIntent;
93
+ declare const asChainStakeIntent: _xylabs_object_model.AsTypeFunction<T>;
94
+ declare const isChainStakeIntentWithStorageMeta: (x?: unknown | null) => x is WithStorageMeta<ChainStakeIntent>;
95
+
96
+ declare const HashSchema: "network.xyo.hash";
97
+ type HashSchema = typeof HashSchema;
98
+ interface HashFields {
99
+ hash: Hash;
100
+ }
101
+ type HashPayload = Payload<HashFields, HashSchema>;
102
+ declare const isHashPayload: (x?: unknown | null) => x is HashPayload;
103
+ declare const asHashPayload: _xylabs_object_model.AsTypeFunction<T>;
104
+ declare const asHashPayloadWithStorageMeta: _xylabs_object_model.AsTypeFunction<T>;
105
+
106
+ declare const TransferSchema: "network.xyo.transfer";
107
+ type TransferSchema = typeof TransferSchema;
108
+ interface TransferFields extends FromFields {
109
+ epoch: number;
110
+ transfers: Partial<Record<Address, Hex>>;
111
+ }
112
+ type Transfer = Payload<TransferFields, TransferSchema>;
113
+ declare const isTransfer: (x?: unknown | null) => x is Transfer;
114
+ declare const asTransfer: _xylabs_object_model.AsTypeFunction<T>;
115
+
116
+ type TypingFunc<T extends bigint> = (value: bigint) => T;
117
+ type XL1 = bigint & {
118
+ readonly _tag: 'XL1';
119
+ };
120
+ declare const XL1: TypingFunc<XL1>;
121
+ type MilliXL1 = bigint & {
122
+ readonly _tag: 'MilliXL1';
123
+ };
124
+ declare const MilliXL1: TypingFunc<MilliXL1>;
125
+ type MicroXL1 = bigint & {
126
+ readonly _tag: 'MicroXL1';
127
+ };
128
+ declare const MicroXL1: TypingFunc<MicroXL1>;
129
+ type NanoXL1 = bigint & {
130
+ readonly _tag: 'NanoXL1';
131
+ };
132
+ declare const NanoXL1: TypingFunc<NanoXL1>;
133
+ type PicoXL1 = bigint & {
134
+ readonly _tag: 'PicoXL1';
135
+ };
136
+ declare const PicoXL1: TypingFunc<PicoXL1>;
137
+ type FemtoXL1 = bigint & {
138
+ readonly _tag: 'FemtoXL1';
139
+ };
140
+ declare const FemtoXL1: TypingFunc<FemtoXL1>;
141
+ type AttoXL1 = bigint & {
142
+ readonly _tag: 'AttoXL1';
143
+ };
144
+ declare const AttoXL1: TypingFunc<AttoXL1>;
145
+ type XL1Units = 'xl1' | 'milli' | 'micro' | 'nano' | 'pico' | 'femto' | 'atto';
146
+ /** @deprecated use XL1Places and xl1ConvertFactor(unit) instead */
147
+ declare const XL1ConvertDict: Record<XL1Units, number>;
148
+ declare const XL1Places: Record<XL1Units, bigint>;
149
+ /**
150
+ * Convert factor by which a respective unit is multiplied to convert it to AttoXL1 or
151
+ * by which AttoXL1 is divided to convert it to respective unit is multiplied.
152
+ */
153
+ declare const AttoXL1ConvertFactor: Record<XL1Units, bigint>;
154
+ /** @deprecated use AttoXL1ConvertFactor instead */
155
+ declare function xl1ConvertFactor(unit: XL1Units): bigint;
156
+
157
+ interface TransactionFeesBigInt {
158
+ base: AttoXL1;
159
+ gasLimit: AttoXL1;
160
+ gasPrice: AttoXL1;
161
+ priority: AttoXL1;
162
+ }
163
+ type TransactionFeesHex = {
164
+ [K in keyof TransactionFeesBigInt]: Hex;
165
+ };
166
+ interface TransactionFeesFields {
167
+ fees: TransactionFeesHex;
168
+ }
169
+
170
+ interface TransactionBoundWitnessFields extends BlockDuration, TransactionFeesFields {
171
+ chain: Address;
172
+ }
173
+ type TransactionBoundWitness = BoundWitness<TransactionBoundWitnessFields & OptionalExecutable & FromFields>;
174
+ declare const isTransactionBoundWitness: (value: unknown) => value is TransactionBoundWitness;
175
+ declare const isSignedTransactionBoundWitness: (value: unknown) => value is Signed<TransactionBoundWitness>;
176
+ declare const isSigned: <T extends BoundWitness = BoundWitness>(value: unknown) => value is Signed<T>;
177
+ declare const isTransactionBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<TransactionBoundWitness>;
178
+ declare const isTransactionBoundWitnessWithHashStorageMeta: (value: unknown) => value is WithHashStorageMeta<TransactionBoundWitness>;
179
+ declare const isSignedTransactionBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<Signed<TransactionBoundWitness>>;
180
+ declare const isSignedTransactionBoundWitnessWithHashStorageMeta: (value: unknown) => value is WithHashStorageMeta<Signed<TransactionBoundWitness>>;
181
+ declare const asTransactionBoundWitness: _xylabs_object_model.AsTypeFunction<T>;
182
+ declare const asTransactionBoundWitnessWithStorageMeta: _xylabs_object_model.AsTypeFunction<T>;
183
+ declare const asTransactionBoundWitnessWithHashStorageMeta: _xylabs_object_model.AsTypeFunction<T>;
184
+
185
+ type HydratedTransaction<T extends TransactionBoundWitness = TransactionBoundWitness, P extends Payload = Payload> = [WithStorageMeta<Signed<T>>, WithStorageMeta<P>[]];
186
+ declare const isHydratedTransaction: (value: unknown) => value is HydratedTransaction;
187
+ declare const asHydratedTransaction: _xylabs_object_model.AsTypeFunction<T>;
188
+
189
+ type AllowedBlockPayload = Transfer | ChainStakeIntent | SchemaPayload | TransactionBoundWitness | HashPayload;
190
+ declare const AllowedBlockPayloadSchemas: Schema[];
191
+ type AllowedBlockPayloadSchema = typeof AllowedBlockPayloadSchemas[number];
192
+ declare const isAllowedBlockPayloadSchema: (value: unknown) => value is AllowedBlockPayloadSchema;
193
+ declare const isAllowedBlockPayload: (value: unknown) => value is AllowedBlockPayload;
194
+ declare const isAllowedBlockPayloadWithHashStorageMeta: (value: unknown) => value is WithStorageMeta<AllowedBlockPayload>;
195
+
196
+ interface BlockBoundWitnessMeta {
197
+ $epoch: number;
198
+ }
199
+ interface BlockBoundWitnessFields {
200
+ /** Block number */
201
+ block: number;
202
+ /** Chain id - this should be "0" for the genesis block */
203
+ chain: Hex;
204
+ /** Previous block hash if not block 0 */
205
+ previous: Hash | null;
206
+ /** Version of the protocol being used major * 1,000,000 + minor * 1,000 + patch */
207
+ protocol: number;
208
+ /** Step hashes */
209
+ step_hashes: Hex[];
210
+ }
211
+ type BlockBoundWitness = BoundWitness<BlockBoundWitnessFields & BlockBoundWitnessMeta>;
212
+ declare const isBlockBoundWitness: (value: unknown) => value is BlockBoundWitness;
213
+ declare const isSignedBlockBoundWitness: (value: unknown) => value is Signed<BlockBoundWitness>;
214
+ declare const isBlockBoundWitnessWithStorageMeta: (value: unknown) => value is WithStorageMeta<BlockBoundWitness>;
215
+ declare const isSignedBlockBoundWitnessWithStorageMeta: (value: unknown) => value is Signed<WithStorageMeta<BlockBoundWitness>>;
216
+ declare const isBlockBoundWitnessWithHashStorageMeta: (value: unknown) => value is WithHashStorageMeta<BlockBoundWitness>;
217
+ declare const isSignedBlockBoundWitnessWithHashStorageMeta: (value: unknown) => value is Signed<WithHashStorageMeta<BlockBoundWitness>>;
218
+ declare const asBlockBoundWitness: _xylabs_object_model.AsTypeFunction<T>;
219
+ declare const asSignedBlockBoundWitness: _xylabs_object_model.AsTypeFunction<T>;
220
+ declare const asBlockBoundWitnessWithStorageMeta: _xylabs_object_model.AsTypeFunction<T>;
221
+ declare const asSignedBlockBoundWitnessWithStorageMeta: _xylabs_object_model.AsTypeFunction<T>;
222
+ declare const asBlockBoundWitnessWithHashStorageMeta: _xylabs_object_model.AsTypeFunction<T>;
223
+ declare const asSignedBlockBoundWitnessWithHashStorageMeta: _xylabs_object_model.AsTypeFunction<T>;
224
+
225
+ type HydratedBlock<T extends BlockBoundWitness = BlockBoundWitness, P extends Payload = Payload> = [WithStorageMeta<Signed<T>>, WithStorageMeta<P>[]];
226
+ declare const isHydratedBlock: (value: unknown) => value is HydratedBlock;
227
+ declare const asHydratedBlock: _xylabs_object_model.AsTypeFunction<T>;
228
+
229
+ interface ChainAnalyzer<T extends Payload = Payload> {
230
+ onBlock(block: HydratedBlock): Promisable<boolean>;
231
+ result(): T;
232
+ shouldContinue(): boolean;
233
+ }
234
+
235
+ declare const defaultTransactionFees: TransactionFeesBigInt;
236
+
237
+ declare const minTransactionFees: TransactionFeesBigInt;
238
+
239
+ declare const StepSizes: readonly [7, 31, 211, 2311, 30031, 510511, 9699691, 223092871, 6469693231];
240
+ declare function isValidStep(step: unknown): step is number;
241
+ declare const asValidStep: AsTypeFunction<T>;
242
+ declare function stepSize(step: number): number;
243
+
244
+ declare const TransactionGasCosts: {
245
+ /**
246
+ * The cost of storing each character that is added to the chain
247
+ * This includes the transaction JSON and all the elevated payloads' JSON
248
+ */
249
+ readonly characterStorage: 10n;
250
+ /** The cost of static validating every payload that will be included in the chain */
251
+ readonly payloadValidation: 1000n;
252
+ /** The cost of validating each signature that will be included in the chain */
253
+ readonly signatureValidation: 1000n;
254
+ /** The cost of validating each hash that will be included in the chain */
255
+ readonly hashValidation: 100n;
256
+ /** The cost of validating a balance state, triggered by a Transfer payload or gas collection */
257
+ readonly balanceValidation: 100n;
258
+ };
259
+
260
+ declare const XL1_PROTOCOL_VERSION_MAJOR: 1;
261
+ declare const XL1_PROTOCOL_VERSION_MINOR: 2;
262
+ declare const XL1_PROTOCOL_VERSION_PATCH: 0;
263
+ declare const XL1_PROTOCOL_VERSION_STRING: "1.2.0";
264
+ declare const XL1_PROTOCOL_VERSION: number;
265
+
266
+ type Initializable<T, R> = (params: T) => Promisable<R>;
267
+
268
+ type DefaultNetworkIds = 'mainnet' | 'sequence' | 'local';
269
+ type NetworkId<T extends string | void = void> = T extends void ? DefaultNetworkIds : T | DefaultNetworkIds;
270
+
271
+ declare const NetworkStatusSchema: "network.xyo.chain.status";
272
+ type NetworkStatusSchema = typeof NetworkStatusSchema;
273
+ type NetworkStatusState = 'online' | 'offline' | 'degraded' | 'unknown';
274
+ type NetworkStatusUpdate = {
275
+ end: number;
276
+ start: number;
277
+ update: string;
278
+ };
279
+ interface NetworkStatusFields {
280
+ description: string;
281
+ state: NetworkStatusState;
282
+ updates?: NetworkStatusUpdate[];
283
+ }
284
+ type NetworkStatus = Payload<NetworkStatusFields, NetworkStatusSchema>;
285
+ declare const isNetworkStatus: (x?: unknown | null) => x is NetworkStatus;
286
+
287
+ interface OpenTelemetryProviders {
288
+ meterProvider?: MeterProvider;
289
+ traceProvider?: TracerProvider;
290
+ }
291
+
292
+ interface XyoPayloadLakeViewer {
293
+ getPayloads(hashes: Hash[]): Promisable<Payload[]>;
294
+ }
295
+ interface XyoPayloadLakeProvider extends XyoPayloadLakeViewer {
296
+ addPayloads(payloads: Payload[]): Promisable<Hash[]>;
297
+ }
298
+ interface XyoDataLakeViewer extends XyoPayloadLakeViewer {
299
+ fetch(hashes: Hash[], maxDepth?: number): Promisable<(ArrayBuffer | Payload)[]>;
300
+ get(hashes: Hash[]): Promisable<(ArrayBuffer | Payload)[]>;
301
+ trace(hashes: Hash[]): Promisable<[(ArrayBuffer | Payload), Payload[]][]>;
302
+ }
303
+ interface XyoDataLakeProvider extends XyoDataLakeViewer, XyoPayloadLakeProvider {
304
+ add(items: ArrayBuffer[]): Promisable<Hash[]>;
305
+ }
306
+
307
+ interface ChainConnection {
308
+ /** Chain Identifier - can be a hex (eth contract address) or a string */
309
+ chainId?: string | Hex;
310
+ /** Name of the chain */
311
+ name: string;
312
+ /** Url for accessing the network */
313
+ url: string;
314
+ }
315
+ /**
316
+ * Modeled after EIP-2255
317
+ * See - https://eips.ethereum.org/EIPS/eip-2255#specification
318
+ */
319
+ interface PermissionRequest {
320
+ [capability: string]: {
321
+ [caveatName: string]: JsonValue;
322
+ };
323
+ }
324
+ /**
325
+ * Modeled after EIP-2255
326
+ * See - https://eips.ethereum.org/EIPS/eip-2255#specification
327
+ */
328
+ interface RequestedPermission {
329
+ /** Permission identifier (i.e. RPC method, action, etc.) */
330
+ capability: string;
331
+ /** Optional timestamp for when the permission was granted */
332
+ date?: number;
333
+ }
334
+ type CaveatTypes = 'chain' | 'expiration' | 'filteredResponse' | 'rateLimit';
335
+ /**
336
+ * Modeled after EIP-2255
337
+ * See - https://eips.ethereum.org/EIPS/eip-2255#specification
338
+ */
339
+ interface Caveats {
340
+ /** Type of caveat */
341
+ type: CaveatTypes;
342
+ /** Value for the caveat (i.e. chain id, subset of accounts, expiration, max request per minute, etc.) */
343
+ value: JsonValue;
344
+ }
345
+ /**
346
+ * Modeled after EIP-2255
347
+ * See - https://eips.ethereum.org/EIPS/eip-2255#specification
348
+ */
349
+ interface Permission {
350
+ /** Permission identifier (i.e. RPC method, action, etc.) */
351
+ capability: string;
352
+ /** Caveats for the permission, if applicable (i.e. allowed accounts, signing, etc.) */
353
+ caveats?: Caveats[];
354
+ /** Invoker for the given permission (URI, domain, webpage, address, etc.) */
355
+ invoker: string;
356
+ }
357
+ interface InvokerPermission extends Permission {
358
+ /** Time at which the permission was granted */
359
+ date?: number;
360
+ }
361
+ interface XyoHost {
362
+ addChain(chainConnectionInfo: ChainConnection): Promisable<boolean>;
363
+ chains(): Promisable<ChainConnection[]>;
364
+ getPermissions(): Promisable<InvokerPermission[]>;
365
+ requestPermissions(permissions: Permission[]): Promisable<boolean>;
366
+ revokePermissions(permissions: Permission[]): Promisable<boolean>;
367
+ }
368
+
369
+ interface XyoNetwork {
370
+ status(): Promisable<NetworkStatus>;
371
+ }
372
+
373
+ interface XyoRunner {
374
+ broadcastTransaction(transaction: HydratedTransaction): Promisable<Hash>;
375
+ }
376
+
377
+ interface XyoSigner {
378
+ address(): Promisable<Address>;
379
+ createSignedTransaction(chain: Address, elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[], nbf: number, exp: number, fees: TransactionFeesBigInt, from?: Address): Promisable<Signed<TransactionBoundWitness>>;
380
+ }
381
+
382
+ interface XyoViewer {
383
+ accountBalance: (address: Address) => Promisable<bigint>;
384
+ accountHistory: (address: Address) => Promisable<[TransactionBoundWitness[], Transfer[]]>;
385
+ blockByHash(hash: Hash): Promisable<HydratedBlock | null>;
386
+ blockByNumber(blockNumber: number): Promisable<HydratedBlock | null>;
387
+ blocksByHash(hash: Hash, limit?: number): Promisable<HydratedBlock[]>;
388
+ chainId(): Promisable<Address>;
389
+ currentBlock(): Promisable<HydratedBlock>;
390
+ currentBlockHash(): Promisable<Hash>;
391
+ currentBlockNumber(): Promisable<number>;
392
+ transactionByBlockHashAndIndex(blockHash: Hash, transactionIndex: number): Promisable<HydratedTransaction | null>;
393
+ transactionByBlockNumberAndIndex(blockNumber: number, transactionIndex: number): Promisable<HydratedTransaction | null>;
394
+ transactionByHash(transactionHash: Hash): Promisable<HydratedTransaction | null>;
395
+ }
396
+
397
+ /** @deprecated - use XyoHost instead */
398
+ interface XyoWallet {
399
+ accounts(): Promisable<Address[]>;
400
+ addChain(chain: Address, name?: string): Promisable<object>;
401
+ chain(): Promisable<Address>;
402
+ chains(): Promisable<object>;
403
+ permissions(): Promisable<Record<string, object>>;
404
+ requestPermissions(permissions: object): Promisable<object>;
405
+ revokePermissions(permissions: object): Promisable<object>;
406
+ switchChain(chain: Address): Promisable<void>;
407
+ }
408
+
409
+ interface XyoProvider {
410
+ host?: XyoHost;
411
+ network?: XyoNetwork;
412
+ runner?: XyoRunner;
413
+ send?: (elevatedPayloads: AllowedBlockPayload[], additionalPayloads: Payload[], chain?: Address, nbf?: number, exp?: number, from?: Address, fees?: TransactionFeesBigInt) => Promise<Signed<TransactionBoundWitness>>;
414
+ signer?: XyoSigner;
415
+ storage?: XyoDataLakeProvider;
416
+ viewer?: XyoViewer;
417
+ /** @deprecated - use host instead */
418
+ wallet?: XyoWallet;
419
+ }
420
+
421
+ interface ReadRepository<TId, TData> {
422
+ get(id: TId): Promisable<TData>;
423
+ }
424
+ interface IterableRepository<TId, TData> {
425
+ next(id: TId): Promisable<TData>;
426
+ }
427
+ interface WriteRepository<TData, TResp> {
428
+ insert(data: TData): Promisable<TResp>;
429
+ }
430
+ interface PayloadReadRepository<TId = Hash, TData extends Payload = Payload> extends ReadRepository<TId[], WithStorageMeta<TData>[]> {
431
+ }
432
+ interface PayloadWriteRepository<TData extends Payload = Payload> extends WriteRepository<TData[], WithStorageMeta<TData>[]> {
433
+ }
434
+ interface PayloadIterableRepository<TId = Hash, TData extends Payload = Payload> extends IterableRepository<NextOptions<TId>, WithStorageMeta<TData>[]> {
435
+ }
436
+ interface PayloadRepository<TId = Hash, TData extends Payload = Payload> extends PayloadReadRepository<TId, TData>, PayloadWriteRepository<TData>, PayloadIterableRepository<TId, TData> {
437
+ }
438
+
439
+ interface TransactionReadRepository extends ReadRepository<TransactionBoundWitness, HydratedTransaction | undefined> {
440
+ }
441
+
442
+ interface TransactionRepositoryIterator extends IterableRepository<TransactionBoundWitness, HydratedTransaction | undefined> {
443
+ }
444
+
445
+ interface TransactionWriteRepository extends WriteRepository<HydratedTransaction, boolean> {
446
+ }
447
+
448
+ interface TransactionRepository extends TransactionReadRepository, TransactionWriteRepository {
449
+ }
450
+ interface ReadonlyIterableTransactionRepository extends TransactionReadRepository, TransactionRepositoryIterator {
451
+ }
452
+ interface IterableTransactionRepository extends TransactionRepository, TransactionRepositoryIterator {
453
+ }
454
+
455
+ interface Service {
456
+ }
457
+
458
+ interface AccountBalanceService extends Service {
459
+ getBalanceValue?: (address: Address) => bigint;
460
+ getBalanceValues?: Record<Address, bigint>;
461
+ getBalance(address: Address): Hex;
462
+ getBalances(): Record<Address, Hex>;
463
+ sync(head: Hash): Promise<void>;
464
+ }
465
+ interface AccountBalanceServiceV2 extends Service {
466
+ balances(head: Hash, addresses: Address[]): Promisable<Partial<Record<Address, AttoXL1>>>;
467
+ }
468
+
469
+ type NextBlockProducer = IterableRepository<BlockBoundWitness, HydratedBlock | undefined>;
470
+ interface BlockProducerService extends Addressable, NextBlockProducer, Service {
471
+ }
472
+
473
+ interface BlockRewardService extends Service {
474
+ getRewardForBlock(block: bigint): Promisable<bigint>;
475
+ }
476
+
477
+ interface BaseChainService extends Service {
478
+ chainId: Address;
479
+ }
480
+
481
+ interface ChainHeadService extends BaseChainService {
482
+ head: Hash | null;
483
+ }
484
+
485
+ interface ChainContractViewer {
486
+ active(): Promise<bigint>;
487
+ forkedAtBlockNumber(): Promise<bigint>;
488
+ forkedAtHash(): Promise<bigint>;
489
+ forkedChainId(): Promise<Address>;
490
+ minWithdrawalBlocks(): Promise<bigint>;
491
+ rewardsContract(): Promise<string>;
492
+ stakingTokenAddress(): Promise<string>;
493
+ }
494
+
495
+ interface ChainStaker {
496
+ addStake(staked: string, amount: bigint): Promise<boolean>;
497
+ removeStake(slot: bigint): Promise<boolean>;
498
+ withdrawStake(slot: bigint): Promise<boolean>;
499
+ }
500
+
501
+ interface ChainStakeViewer extends ChainContractViewer {
502
+ activeByAddressStaked(address: string): Promise<bigint>;
503
+ activeByStaker(address: string): Promise<bigint>;
504
+ pending(): Promise<bigint>;
505
+ pendingByStaker(staker: string): Promise<bigint>;
506
+ withdrawn(): Promise<bigint>;
507
+ withdrawnByStaker(staker: string): Promise<bigint>;
508
+ }
509
+
510
+ interface ChainService extends ChainContractViewer, ChainStakeViewer, ChainStaker, BaseChainService {
511
+ }
512
+
513
+ type HeadEventArgs = {
514
+ blocks: [BlockBoundWitness];
515
+ };
516
+ interface HeadEventData extends EventData {
517
+ headUpdated: HeadEventArgs;
518
+ }
519
+ interface ChainIteratorServiceEventData extends HeadEventData {
520
+ }
521
+ /** @deprecated use ChainIteratorServiceEventData instead */
522
+ interface ChainIteratorEventData extends ChainIteratorServiceEventData {
523
+ }
524
+
525
+ interface ChainIteratorService<TKey, THead> extends ReadRepository<TKey, BlockBoundWitness | undefined>, IterableRepository<TKey, BlockBoundWitness | undefined> {
526
+ chainId: Address;
527
+ head(): Promise<THead>;
528
+ previous(cursor?: TKey | undefined, limit?: number): Promise<BlockBoundWitness[]>;
529
+ updateHead(head: THead): Promise<void>;
530
+ }
531
+ /** @deprecated use ChainIteratorService instead */
532
+ interface ChainIterator<TKey, THead> extends ChainIteratorService<TKey, THead> {
533
+ }
534
+ interface EventingChainIteratorService<TKey, THead> extends ChainIteratorService<TKey, THead>, BaseEmitter<BaseParams, ChainIteratorServiceEventData> {
535
+ }
536
+ /** @deprecated use EventingChainIteratorService instead */
537
+ interface EventingChainIterator<TKey, THead> extends EventingChainIteratorService<TKey, THead> {
538
+ }
539
+ interface ChainBlockNumberIteratorService extends ChainIteratorService<number, BlockBoundWitness> {
540
+ }
541
+ /** @deprecated use ChainBlockNumberIteratorService instead */
542
+ interface ChainBlockNumberIterator extends ChainBlockNumberIteratorService {
543
+ }
544
+ interface EventingChainBlockNumberIteratorService extends EventingChainIteratorService<number, BlockBoundWitness> {
545
+ }
546
+ /** @deprecated use EventingChainBlockNumberIteratorService instead */
547
+ interface EventingChainBlockNumberIterator extends EventingChainBlockNumberIteratorService {
548
+ }
549
+ interface ChainHashIteratorService extends ChainIteratorService<Hash, Hash> {
550
+ }
551
+ /** @deprecated use ChainHashIteratorService instead */
552
+ interface ChainHashIterator extends ChainHashIteratorService {
553
+ }
554
+ interface EventingChainHashIteratorService extends EventingChainIteratorService<Hash, Hash> {
555
+ }
556
+ /** @deprecated use EventingChainHashIteratorService instead */
557
+ interface EventingChainHashIterator extends EventingChainHashIteratorService {
558
+ }
559
+
560
+ interface ElectionService extends Service {
561
+ /**
562
+ * Given the current block, get the leader for the next block
563
+ * @param current The previous block
564
+ */
565
+ getCreatorCommitteeForNextBlock(current: BlockBoundWitness): Promise<Address[]>;
566
+ }
567
+
568
+ interface ChainIndexingServiceStateFields<T extends JsonValue = JsonValue> {
569
+ /**
570
+ * The hash of the last block that this service has indexing
571
+ */
572
+ endBlockHash: Hash;
573
+ /**
574
+ * The hash of the block that the service started indexing. If undefined, the service is
575
+ * assumed to have started indexing from the genesis block
576
+ */
577
+ startBlockHash?: Hash;
578
+ /**
579
+ * The indexed state for the range
580
+ */
581
+ state: T;
582
+ }
583
+ declare const ChainIndexingServiceStateSchema: "network.xyo.chain.indexing.service.state";
584
+ type ChainIndexingServiceStateSchema = typeof ChainIndexingServiceStateSchema;
585
+ /**
586
+ * The result of a ChainIndexingServiceState
587
+ */
588
+ type ChainIndexingServiceState<T extends JsonValue = JsonValue> = Payload<ChainIndexingServiceStateFields<T>, ChainIndexingServiceStateSchema>;
589
+ /**
590
+ * Identity functions for determining if an object is an ChainIndexingServiceState
591
+ */
592
+ declare const isChainIndexingServiceState: <T extends JsonValue = JsonValue>(payload?: unknown) => payload is ChainIndexingServiceState<T>;
593
+ declare const asChainIndexingServiceState: _xylabs_object_model.AsTypeFunction<T>;
594
+ declare const isChainIndexingServiceStateWithStorageMeta: <T extends JsonValue = JsonValue>(value: unknown) => value is WithStorageMeta<ChainIndexingServiceState<T>>;
595
+ declare const asChainIndexingServiceStateWithStorageMeta: _xylabs_object_model.AsTypeFunction<T>;
596
+
597
+ interface StakeIntentService extends Service {
598
+ /**
599
+ * Gets the declared ranges for an address based on historical on-chain data
600
+ * @param address The address to get the declared ranges for
601
+ * @param intent The declared intent to filter for
602
+ */
603
+ getDeclaredCandidateRanges(address: Address, intent: Intent): Promise<Readonly<Readonly<[number, number]>[]>>;
604
+ /**
605
+ * Gets the declared candidates for a block based on historical on-chain data
606
+ * @param block The block number to get the declared candidates for
607
+ * @param intent The declared intent to filter for
608
+ */
609
+ getDeclaredCandidatesForBlock(block: number, intent: Intent): Promise<Address[]>;
610
+ /**
611
+ * Gets the required minimum stake for a given intent
612
+ * @param intent The declared intent to filter for
613
+ * @returns The required minimum stake for the intent
614
+ */
615
+ getRequiredMinimumStakeForIntent(intent: Intent): bigint;
616
+ /**
617
+ * Checks if the address is staked for a block for a given intent
618
+ * @param block The block number to check
619
+ * @param intent The declared intent to filter for
620
+ * @param address The address to check
621
+ */
622
+ isStakedForBlock(block: number, intent: Intent, address: Address): Promise<boolean>;
623
+ }
624
+
625
+ /** @deprecated use from @xyo-network/xl1-protocol-sdk instead */
626
+ interface ChainServiceCollection {
627
+ /**
628
+ * The account which is used to sign transactions
629
+ */
630
+ account: WalletInstance;
631
+ /**
632
+ * Services for working with account balances
633
+ */
634
+ balanceService: AccountBalanceService;
635
+ /**
636
+ * The archivist which the chain data is stored in
637
+ */
638
+ chainArchivist: ArchivistInstance;
639
+ /**
640
+ * Service for viewing codified chain information
641
+ * from a contract
642
+ */
643
+ chainContractViewer: ChainContractViewer;
644
+ /**
645
+ * The chain iterator
646
+ */
647
+ chainIterator?: EventingChainBlockNumberIteratorService;
648
+ /**
649
+ * Service for viewing stake information
650
+ */
651
+ chainStakeViewer: ChainStakeViewer;
652
+ /**
653
+ * Service for staking
654
+ */
655
+ chainStaker: ChainStaker;
656
+ /**
657
+ * The archivist which the chain submissions are stored in
658
+ */
659
+ chainSubmissionsArchivistWrite: WriteArchivist;
660
+ /**
661
+ * Service for determining leader election
662
+ */
663
+ electionService: ElectionService;
664
+ /**
665
+ * The archivist which the pending transactions are stored
666
+ * as bundled transactions
667
+ */
668
+ pendingBundledTransactionsArchivistWrite: ArchivistInstance;
669
+ /**
670
+ * The block producer service
671
+ */
672
+ producer: BlockProducerService;
673
+ /**
674
+ * Service response for calculating block rewards
675
+ */
676
+ rewardService: BlockRewardService;
677
+ /**
678
+ * Services for working with staked intents
679
+ */
680
+ stakeIntentService: StakeIntentService;
681
+ }
682
+
683
+ /** @deprecated use from @xyo-network/xl1-protocol-sdk instead */
684
+ interface ChainServiceCollectionV2 {
685
+ /**
686
+ * The account which is used to sign transactions
687
+ */
688
+ account: WalletInstance;
689
+ /**
690
+ * Services for working with account balances
691
+ */
692
+ balanceService: AccountBalanceServiceV2;
693
+ /**
694
+ * The archivist which the chain data is stored in
695
+ */
696
+ chainArchivist: ArchivistInstance;
697
+ /**
698
+ * Service for viewing codified chain information
699
+ * from a contract
700
+ */
701
+ chainContractViewer: ChainContractViewer;
702
+ /**
703
+ * The chain iterator
704
+ */
705
+ chainIterator?: EventingChainBlockNumberIteratorService;
706
+ /**
707
+ * Service for viewing stake information
708
+ */
709
+ chainStakeViewer: ChainStakeViewer;
710
+ /**
711
+ * Service for staking
712
+ */
713
+ chainStaker: ChainStaker;
714
+ /**
715
+ * The archivist which the chain submissions are stored in
716
+ */
717
+ chainSubmissionsArchivistWrite: WriteArchivist;
718
+ /**
719
+ * Service for determining leader election
720
+ */
721
+ electionService: ElectionService;
722
+ /**
723
+ * The archivist which the pending transactions are stored
724
+ * as bundled transactions
725
+ */
726
+ pendingBundledTransactionsArchivistWrite: ArchivistInstance;
727
+ /**
728
+ * The block producer service
729
+ */
730
+ producer: BlockProducerService;
731
+ /**
732
+ * Service response for calculating block rewards
733
+ */
734
+ rewardService: BlockRewardService;
735
+ /**
736
+ * Services for working with staked intents
737
+ */
738
+ stakeIntentService: StakeIntentService;
739
+ }
740
+
741
+ interface PendingTransactionsService extends Service {
742
+ getPendingTransactions(head: Hash, limit: number, timeout?: number): Promise<HydratedTransaction[]>;
743
+ }
744
+
745
+ declare class ValidationError<TValue = Payload> extends Error {
746
+ hash: Hash;
747
+ value: TValue;
748
+ constructor(hash: Hash, value: TValue, message?: string, cause?: unknown);
749
+ }
750
+ declare const isValidationError: <TValue = Payload>(error: unknown) => error is ValidationError<TValue>;
751
+
752
+ declare class BlockValidationError extends ValidationError<BlockBoundWitness> {
753
+ }
754
+ declare const isBlockValidationError: (error: unknown) => error is BlockValidationError;
755
+ declare class HydratedBlockValidationError extends ValidationError<HydratedBlock> {
756
+ }
757
+ declare const isHydratedBlockValidationError: (error: unknown) => error is HydratedBlockValidationError;
758
+ declare class HydratedBlockStateValidationError extends ValidationError<HydratedBlock> {
759
+ chainId: Address;
760
+ constructor(hash: Hash, chainId: Address, value: HydratedBlock, message?: string, cause?: unknown);
761
+ }
762
+ declare const isHydratedBlockStateValidationError: (error: unknown) => error is HydratedBlockStateValidationError;
763
+
764
+ type BlockValidatorFunction = (block: BlockBoundWitness, chainId?: Address) => Promisable<BlockValidationError[]>;
765
+
766
+ /**
767
+ * A function that validates a hydrated block against chain state.
768
+ * @param hydratedBlock The hydrated block to validate.
769
+ * @param chainId The chain ID to use for validation.
770
+ * @param archivist The archivist to use for validation.
771
+ * @returns An array of errors if the block is invalid, or an empty array if it is valid.
772
+ */
773
+ type HydratedBlockStateValidationFunction = (hydratedBlock: HydratedBlock, chainId: Address, services: {
774
+ accountBalance: AccountBalanceService;
775
+ }) => Promisable<HydratedBlockStateValidationError[]>;
776
+ type HydratedBlockStateValidationFunctionV2 = (hydratedBlock: HydratedBlock, chainId: Address, services: {
777
+ accountBalance: AccountBalanceServiceV2;
778
+ }) => Promisable<HydratedBlockStateValidationError[]>;
779
+
780
+ /**
781
+ * A function that validates a hydrated block.
782
+ * @param hydratedBlock The hydrated block to validate.
783
+ * @param chainId The chain ID to use for validation.
784
+ * @returns An array of errors if the block is invalid, or an empty array if it is valid.
785
+ */
786
+ type HydratedBlockValidationFunction = (hydratedBlock: HydratedBlock, chainId?: Address) => Promisable<HydratedBlockValidationError[]>;
787
+
788
+ declare class BoundWitnessValidationError extends ValidationError<BoundWitness> {
789
+ }
790
+ declare const isBoundWitnessValidationError: (error: unknown) => error is BoundWitnessValidationError;
791
+ declare class HydratedBoundWitnessValidationError extends ValidationError<HydratedBoundWitness> {
792
+ }
793
+ declare const isHydratedBoundWitnessValidationError: (error: unknown) => error is HydratedBoundWitnessValidationError;
794
+
795
+ type BoundWitnessValidationFunction<T extends BoundWitness = BoundWitness> = (bw: T) => Promisable<BoundWitnessValidationError[]>;
796
+
797
+ type HydratedBoundWitnessWithHashStorageMeta<T extends BoundWitness = BoundWitness, P extends Payload = Payload> = [WithHashStorageMeta<T>, WithHashStorageMeta<P>[]];
798
+ type HydratedBoundWitnessValidationFunction<T extends BoundWitness = BoundWitness> = (bw: HydratedBoundWitnessWithHashStorageMeta<T>) => Promisable<HydratedBoundWitnessValidationError[]>;
799
+
800
+ declare class InBlockPayloadValidationError extends ValidationError<Payload> {
801
+ block: HydratedBlock;
802
+ constructor(hash: Hash, block: HydratedBlock, value: Payload, message?: string, cause?: unknown);
803
+ }
804
+ declare const isInBlockPayloadValidationError: (error: unknown) => error is InBlockPayloadValidationError;
805
+
806
+ type InBlockPayloadValidationFunction = (payload: WithHashStorageMeta<Payload>, block: HydratedBlock) => Promisable<InBlockPayloadValidationError[]>;
807
+
808
+ declare class HydratedTransactionValidationError extends ValidationError<HydratedTransaction> {
809
+ }
810
+ declare const isHydratedTransactionValidationError: (error: unknown) => error is HydratedTransactionValidationError;
811
+
812
+ /**
813
+ * A function that validates a hydrated transaction against chain state.
814
+ * @param hydratedTransaction The hydrated transaction to validate.
815
+ * @param chainId The chain ID to use for validation.
816
+ * @param archivist The archivist to use for validation.
817
+ * @returns An array of errors if the transaction is invalid, or an empty array if it is valid.
818
+ */
819
+ type HydratedTransactionStateValidationFunction<T extends TransactionBoundWitness = TransactionBoundWitness> = (hydratedTransaction: HydratedBoundWitnessWithStorageMeta<T>, chainId: Address, archivist: ReadArchivist) => Promisable<HydratedTransactionValidationError[]>;
820
+
821
+ /**
822
+ * A function that validates a hydrated transaction.
823
+ * @param bw The hydrated transaction to validate.
824
+ * @param chainId The chain ID to use for validation.
825
+ * @returns An array of errors if the transaction is invalid, or an empty array if it is valid.
826
+ */
827
+ type HydratedTransactionValidationFunction<T extends TransactionBoundWitness = TransactionBoundWitness> = (hydratedTransaction: HydratedTransaction<T>, chainId?: Address) => Promisable<HydratedTransactionValidationError[]>;
828
+
829
+ export { AllowedBlockPayloadSchemas, AttoXL1, AttoXL1ConvertFactor, BlockNumberSchema, BlockValidationError, BoundWitnessValidationError, ChainIndexingServiceStateSchema, ChainStakeIntentSchema, FemtoXL1, HashSchema, HydratedBlockStateValidationError, HydratedBlockValidationError, HydratedBoundWitnessValidationError, HydratedTransactionValidationError, InBlockPayloadValidationError, MicroXL1, MilliXL1, NanoXL1, NetworkStatusSchema, PicoXL1, StepSizes, TransactionGasCosts, TransferSchema, ValidationError, XL1, XL1ConvertDict, XL1Places, XL1_PROTOCOL_VERSION, XL1_PROTOCOL_VERSION_MAJOR, XL1_PROTOCOL_VERSION_MINOR, XL1_PROTOCOL_VERSION_PATCH, XL1_PROTOCOL_VERSION_STRING, asBlockBoundWitness, asBlockBoundWitnessWithHashStorageMeta, asBlockBoundWitnessWithStorageMeta, asBlockNumber, asBlockNumberWithSources, asChainIndexingServiceState, asChainIndexingServiceStateWithStorageMeta, asChainStakeIntent, asExecutable, asHashPayload, asHashPayloadWithStorageMeta, asHydratedBlock, asHydratedTransaction, asSignedBlockBoundWitness, asSignedBlockBoundWitnessWithHashStorageMeta, asSignedBlockBoundWitnessWithStorageMeta, asTransactionBoundWitness, asTransactionBoundWitnessWithHashStorageMeta, asTransactionBoundWitnessWithStorageMeta, asTransfer, asValidStep, defaultTransactionFees, hasFrom, isAllowedBlockPayload, isAllowedBlockPayloadSchema, isAllowedBlockPayloadWithHashStorageMeta, isBlockBoundWitness, isBlockBoundWitnessWithHashStorageMeta, isBlockBoundWitnessWithStorageMeta, isBlockNumber, isBlockNumberWithSources, isBlockValidationError, isBoundWitnessValidationError, isChainIndexingServiceState, isChainIndexingServiceStateWithStorageMeta, isChainStakeIntent, isChainStakeIntentWithStorageMeta, isExecutable, isHashPayload, isHydratedBlock, isHydratedBlockStateValidationError, isHydratedBlockValidationError, isHydratedBoundWitnessValidationError, isHydratedTransaction, isHydratedTransactionValidationError, isInBlockPayloadValidationError, isNetworkStatus, isSigned, isSignedBlockBoundWitness, isSignedBlockBoundWitnessWithHashStorageMeta, isSignedBlockBoundWitnessWithStorageMeta, isSignedTransactionBoundWitness, isSignedTransactionBoundWitnessWithHashStorageMeta, isSignedTransactionBoundWitnessWithStorageMeta, isTransactionBoundWitness, isTransactionBoundWitnessWithHashStorageMeta, isTransactionBoundWitnessWithStorageMeta, isTransfer, isValidStep, isValidationError, minTransactionFees, stepSize, xl1ConvertFactor };
830
+ export type { AccountBalanceService, AccountBalanceServiceV2, Addressable, AllowedBlockPayload, AllowedBlockPayloadSchema, BaseChainService, BlockBoundWitness, BlockBoundWitnessFields, BlockBoundWitnessMeta, BlockDuration, BlockEnd, BlockNumber, BlockNumberFields, BlockProducerService, BlockRewardService, BlockStart, BlockValidatorFunction, BoundWitnessValidationFunction, CaveatTypes, Caveats, ChainAnalyzer, ChainBlockNumberIterator, ChainBlockNumberIteratorService, ChainConnection, ChainContractViewer, ChainHashIterator, ChainHashIteratorService, ChainHeadService, ChainIndexingServiceState, ChainIndexingServiceStateFields, ChainIterator, ChainIteratorEventData, ChainIteratorService, ChainIteratorServiceEventData, ChainReference, ChainService, ChainServiceCollection, ChainServiceCollectionV2, ChainStakeIntent, ChainStakeIntentFields, ChainStakeViewer, ChainStaker, DefaultNetworkIds, ElectionService, EventingChainBlockNumberIterator, EventingChainBlockNumberIteratorService, EventingChainHashIterator, EventingChainHashIteratorService, EventingChainIterator, EventingChainIteratorService, Executable, ExecutableFields, FromFields, HashFields, HashPayload, HeadEventArgs, HeadEventData, HydratedBlock, HydratedBlockStateValidationFunction, HydratedBlockStateValidationFunctionV2, HydratedBlockValidationFunction, HydratedBoundWitnessValidationFunction, HydratedBoundWitnessWithHashStorageMeta, HydratedTransaction, HydratedTransactionStateValidationFunction, HydratedTransactionValidationFunction, InBlockPayloadValidationFunction, Initializable, Intent, InvokerPermission, IterableRepository, IterableTransactionRepository, NetworkId, NetworkStatus, NetworkStatusFields, NetworkStatusState, NetworkStatusUpdate, NextBlockProducer, OpenTelemetryProviders, OptionalBlockDuration, OptionalExecutable, PayloadIterableRepository, PayloadReadRepository, PayloadRepository, PayloadWriteRepository, PendingTransactionsService, Permission, PermissionRequest, ReadRepository, ReadonlyIterableTransactionRepository, RequestedPermission, Service, StakeIntentService, TransactionBoundWitness, TransactionBoundWitnessFields, TransactionFeesBigInt, TransactionFeesFields, TransactionFeesHex, TransactionReadRepository, TransactionRepository, TransactionRepositoryIterator, TransactionWriteRepository, Transfer, TransferFields, TypingFunc, WriteRepository, XyoDataLakeProvider, XyoDataLakeViewer, XyoHost, XyoNetwork, XyoPayloadLakeProvider, XyoPayloadLakeViewer, XyoProvider, XyoRunner, XyoSigner, XyoViewer, XyoWallet };