@xyo-network/xl1-protocol-sdk 1.17.6 → 1.18.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts +103 -1
  2. package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts.map +1 -1
  3. package/dist/neutral/CreatableProvider/CreatableProvider.d.ts +25 -8
  4. package/dist/neutral/CreatableProvider/CreatableProvider.d.ts.map +1 -1
  5. package/dist/neutral/CreatableProvider/CreatableProviderRegistry.d.ts.map +1 -1
  6. package/dist/neutral/CreatableProvider/ProviderFactory.d.ts +11 -3
  7. package/dist/neutral/CreatableProvider/ProviderFactory.d.ts.map +1 -1
  8. package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts +19 -13
  9. package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts.map +1 -1
  10. package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts +14 -10
  11. package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts.map +1 -1
  12. package/dist/neutral/config/Bridge.d.ts +3 -0
  13. package/dist/neutral/config/Bridge.d.ts.map +1 -1
  14. package/dist/neutral/config/Chain.d.ts +1 -1
  15. package/dist/neutral/config/Config.d.ts +6 -3
  16. package/dist/neutral/config/Config.d.ts.map +1 -1
  17. package/dist/neutral/config/Log.d.ts +1 -1
  18. package/dist/neutral/createDeclarationPayload.d.ts +4 -0
  19. package/dist/neutral/createDeclarationPayload.d.ts.map +1 -0
  20. package/dist/neutral/createTransferPayload.d.ts +4 -0
  21. package/dist/neutral/createTransferPayload.d.ts.map +1 -0
  22. package/dist/neutral/driver/cache/LruCacheMap.d.ts +2 -2
  23. package/dist/neutral/driver/cache/LruCacheMap.d.ts.map +1 -1
  24. package/dist/neutral/driver/memory/MemoryMap.d.ts +2 -2
  25. package/dist/neutral/driver/memory/MemoryMap.d.ts.map +1 -1
  26. package/dist/neutral/index.d.ts +3 -0
  27. package/dist/neutral/index.d.ts.map +1 -1
  28. package/dist/neutral/index.mjs +1584 -655
  29. package/dist/neutral/index.mjs.map +1 -1
  30. package/dist/neutral/map/MapType.d.ts +3 -2
  31. package/dist/neutral/map/MapType.d.ts.map +1 -1
  32. package/dist/neutral/model/ChainContext/ChainContext.d.ts +4 -4
  33. package/dist/neutral/model/ChainContext/ChainContext.d.ts.map +1 -1
  34. package/dist/neutral/model/PayloadBundle/bundledPayloadToHydratedTransaction.d.ts +2 -2
  35. package/dist/neutral/model/PayloadBundle/bundledPayloadToHydratedTransaction.d.ts.map +1 -1
  36. package/dist/neutral/primitives/block/index.d.ts +2 -0
  37. package/dist/neutral/primitives/block/index.d.ts.map +1 -0
  38. package/dist/neutral/primitives/block/range/blockRangeSteps.d.ts +3 -0
  39. package/dist/neutral/primitives/block/range/blockRangeSteps.d.ts.map +1 -0
  40. package/dist/neutral/primitives/block/range/index.d.ts +2 -0
  41. package/dist/neutral/primitives/block/range/index.d.ts.map +1 -0
  42. package/dist/neutral/primitives/chain/index.d.ts +3 -0
  43. package/dist/neutral/primitives/chain/index.d.ts.map +1 -0
  44. package/dist/neutral/primitives/chain/step/chainStepRewardAddress.d.ts +5 -0
  45. package/dist/neutral/primitives/chain/step/chainStepRewardAddress.d.ts.map +1 -0
  46. package/dist/neutral/primitives/chain/step/index.d.ts +5 -0
  47. package/dist/neutral/primitives/chain/step/index.d.ts.map +1 -0
  48. package/dist/neutral/primitives/chain/step/stepRewardBlock.d.ts +4 -0
  49. package/dist/neutral/primitives/chain/step/stepRewardBlock.d.ts.map +1 -0
  50. package/dist/neutral/primitives/chain/step/stepRewardTotal.d.ts +4 -0
  51. package/dist/neutral/primitives/chain/step/stepRewardTotal.d.ts.map +1 -0
  52. package/dist/neutral/primitives/chain/step/stepsRewardTotal.d.ts +6 -0
  53. package/dist/neutral/primitives/chain/step/stepsRewardTotal.d.ts.map +1 -0
  54. package/dist/neutral/primitives/chain/time/externalBlockNumberFromXL1BlockNumber.d.ts +5 -0
  55. package/dist/neutral/primitives/chain/time/externalBlockNumberFromXL1BlockNumber.d.ts.map +1 -0
  56. package/dist/neutral/primitives/chain/time/externalBlockRangeFromStep.d.ts +5 -0
  57. package/dist/neutral/primitives/chain/time/externalBlockRangeFromStep.d.ts.map +1 -0
  58. package/dist/neutral/primitives/chain/time/externalBlockRangeFromXL1BlockRange.d.ts +5 -0
  59. package/dist/neutral/primitives/chain/time/externalBlockRangeFromXL1BlockRange.d.ts.map +1 -0
  60. package/dist/neutral/primitives/chain/time/index.d.ts +4 -0
  61. package/dist/neutral/primitives/chain/time/index.d.ts.map +1 -0
  62. package/dist/neutral/primitives/index.d.ts +6 -0
  63. package/dist/neutral/primitives/index.d.ts.map +1 -1
  64. package/dist/neutral/primitives/mapToMapType.d.ts +3 -0
  65. package/dist/neutral/primitives/mapToMapType.d.ts.map +1 -0
  66. package/dist/neutral/primitives/payload/index.d.ts +2 -0
  67. package/dist/neutral/primitives/payload/index.d.ts.map +1 -0
  68. package/dist/neutral/primitives/payload/mergeTransfers.d.ts +4 -0
  69. package/dist/neutral/primitives/payload/mergeTransfers.d.ts.map +1 -0
  70. package/dist/neutral/primitives/readPayloadMapFromStore.d.ts +5 -4
  71. package/dist/neutral/primitives/readPayloadMapFromStore.d.ts.map +1 -1
  72. package/dist/neutral/primitives/rewards/index.d.ts +2 -0
  73. package/dist/neutral/primitives/rewards/index.d.ts.map +1 -0
  74. package/dist/neutral/primitives/rewards/networkStakeStepRewardPositionWeight.d.ts +5 -0
  75. package/dist/neutral/primitives/rewards/networkStakeStepRewardPositionWeight.d.ts.map +1 -0
  76. package/dist/neutral/primitives/stake/activeStakeAtTimeByAddress.d.ts +4 -0
  77. package/dist/neutral/primitives/stake/activeStakeAtTimeByAddress.d.ts.map +1 -0
  78. package/dist/neutral/primitives/stake/activeStakeAtTimeByPosition.d.ts +3 -0
  79. package/dist/neutral/primitives/stake/activeStakeAtTimeByPosition.d.ts.map +1 -0
  80. package/dist/neutral/primitives/stake/allStakersForRange.d.ts +4 -0
  81. package/dist/neutral/primitives/stake/allStakersForRange.d.ts.map +1 -0
  82. package/dist/neutral/primitives/stake/allStakersForStep.d.ts +6 -0
  83. package/dist/neutral/primitives/stake/allStakersForStep.d.ts.map +1 -0
  84. package/dist/neutral/primitives/stake/index.d.ts +7 -0
  85. package/dist/neutral/primitives/stake/index.d.ts.map +1 -0
  86. package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByPosition.d.ts +3 -0
  87. package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByPosition.d.ts.map +1 -0
  88. package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByStaker.d.ts +4 -0
  89. package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByStaker.d.ts.map +1 -0
  90. package/dist/neutral/primitives/stake/weightedStakeForRangeByPosition.d.ts +6 -0
  91. package/dist/neutral/primitives/stake/weightedStakeForRangeByPosition.d.ts.map +1 -0
  92. package/dist/neutral/provider/DataLake.d.ts +10 -9
  93. package/dist/neutral/provider/DataLake.d.ts.map +1 -1
  94. package/dist/neutral/provider/XyoConnection.d.ts +4 -1
  95. package/dist/neutral/provider/XyoConnection.d.ts.map +1 -1
  96. package/dist/neutral/provider/XyoGatewayRunner.d.ts +3 -3
  97. package/dist/neutral/provider/XyoGatewayRunner.d.ts.map +1 -1
  98. package/dist/neutral/provider/XyoRunner.d.ts +5 -2
  99. package/dist/neutral/provider/XyoRunner.d.ts.map +1 -1
  100. package/dist/neutral/provider/viewer/XyoViewer.d.ts +9 -8
  101. package/dist/neutral/provider/viewer/XyoViewer.d.ts.map +1 -1
  102. package/dist/neutral/runners/Block.d.ts +7 -2
  103. package/dist/neutral/runners/Block.d.ts.map +1 -1
  104. package/dist/neutral/runners/Mempool.d.ts +4 -1
  105. package/dist/neutral/runners/Mempool.d.ts.map +1 -1
  106. package/dist/neutral/services/Chain/ChainService.d.ts +2 -2
  107. package/dist/neutral/services/Chain/ChainService.d.ts.map +1 -1
  108. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +5 -12
  109. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -1
  110. package/dist/neutral/simple/block/SimpleBlockViewer.d.ts +9 -6
  111. package/dist/neutral/simple/block/SimpleBlockViewer.d.ts.map +1 -1
  112. package/dist/neutral/simple/chainStake/{SimpleChainStakeViewer.d.ts → SimpleStakeViewer.d.ts} +3 -5
  113. package/dist/neutral/simple/chainStake/SimpleStakeViewer.d.ts.map +1 -0
  114. package/dist/neutral/simple/chainStake/index.d.ts +1 -1
  115. package/dist/neutral/simple/chainStake/index.d.ts.map +1 -1
  116. package/dist/neutral/simple/datalake/AbstractSimpleDataLake.d.ts +5 -2
  117. package/dist/neutral/simple/datalake/AbstractSimpleDataLake.d.ts.map +1 -1
  118. package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts +4 -3
  119. package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts.map +1 -1
  120. package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts +0 -3
  121. package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts.map +1 -1
  122. package/dist/neutral/simple/index.d.ts +1 -0
  123. package/dist/neutral/simple/index.d.ts.map +1 -1
  124. package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts +8 -4
  125. package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts.map +1 -1
  126. package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts.map +1 -1
  127. package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts +24 -6
  128. package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts.map +1 -1
  129. package/dist/neutral/simple/{chainStakeEvents/SimpleChainStakeEventsViewer.d.ts → stakeEvents/SimpleStakeEventsViewer.d.ts} +3 -3
  130. package/dist/neutral/simple/stakeEvents/SimpleStakeEventsViewer.d.ts.map +1 -0
  131. package/dist/neutral/simple/stakeEvents/index.d.ts +2 -0
  132. package/dist/neutral/simple/stakeEvents/index.d.ts.map +1 -0
  133. package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts +4 -3
  134. package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts.map +1 -1
  135. package/dist/neutral/status/RuntimeStatusMonitor.d.ts +31 -0
  136. package/dist/neutral/status/RuntimeStatusMonitor.d.ts.map +1 -0
  137. package/dist/neutral/status/ServiceStatus.d.ts +8 -0
  138. package/dist/neutral/status/ServiceStatus.d.ts.map +1 -0
  139. package/dist/neutral/status/index.d.ts +3 -0
  140. package/dist/neutral/status/index.d.ts.map +1 -0
  141. package/dist/neutral/summary/model/summary.d.ts +4 -4
  142. package/dist/neutral/summary/model/summary.d.ts.map +1 -1
  143. package/dist/neutral/summary/primitives/balances/balancesStepSummaryFromRange.d.ts +1 -1
  144. package/dist/neutral/summary/primitives/balances/balancesStepSummaryFromRange.d.ts.map +1 -1
  145. package/dist/neutral/transaction/TransactionBuilder.d.ts +82 -0
  146. package/dist/neutral/transaction/TransactionBuilder.d.ts.map +1 -0
  147. package/dist/neutral/transaction/buildRandomTransaction.d.ts +6 -0
  148. package/dist/neutral/transaction/buildRandomTransaction.d.ts.map +1 -0
  149. package/dist/neutral/transaction/index.d.ts +2 -0
  150. package/dist/neutral/transaction/index.d.ts.map +1 -1
  151. package/dist/neutral/viewers/Block.d.ts +4 -1
  152. package/dist/neutral/viewers/Block.d.ts.map +1 -1
  153. package/dist/neutral/viewers/ChainStakeViewer.d.ts +1 -2
  154. package/dist/neutral/viewers/ChainStakeViewer.d.ts.map +1 -1
  155. package/dist/neutral/viewers/Fork.d.ts +0 -1
  156. package/dist/neutral/viewers/Fork.d.ts.map +1 -1
  157. package/dist/neutral/viewers/Stake.d.ts +0 -1
  158. package/dist/neutral/viewers/Stake.d.ts.map +1 -1
  159. package/dist/neutral/viewers/index.d.ts +0 -1
  160. package/dist/neutral/viewers/index.d.ts.map +1 -1
  161. package/package.json +10 -8
  162. package/src/CreatableProvider/AbstractCreatableProvider.ts +44 -3
  163. package/src/CreatableProvider/CreatableProvider.ts +36 -9
  164. package/src/CreatableProvider/CreatableProviderRegistry.ts +9 -5
  165. package/src/CreatableProvider/ProviderFactory.ts +72 -10
  166. package/src/CreatableProvider/ProviderFactoryLocator.ts +78 -19
  167. package/src/CreatableProvider/ProviderFactoryLocatorInstance.ts +33 -10
  168. package/src/config/Bridge.ts +22 -4
  169. package/src/config/Chain.ts +2 -2
  170. package/src/createDeclarationPayload.ts +14 -0
  171. package/src/createTransferPayload.ts +15 -0
  172. package/src/driver/cache/LruCacheMap.ts +2 -2
  173. package/src/driver/memory/MemoryMap.ts +2 -2
  174. package/src/index.ts +3 -0
  175. package/src/map/MapType.ts +4 -2
  176. package/src/model/ChainContext/ChainContext.ts +4 -4
  177. package/src/model/PayloadBundle/bundledPayloadToHydratedTransaction.ts +2 -2
  178. package/src/primitives/block/index.ts +1 -0
  179. package/src/primitives/block/range/blockRangeSteps.ts +22 -0
  180. package/src/primitives/block/range/index.ts +1 -0
  181. package/src/primitives/chain/index.ts +2 -0
  182. package/src/primitives/chain/step/chainStepRewardAddress.ts +28 -0
  183. package/src/primitives/chain/step/index.ts +4 -0
  184. package/src/primitives/chain/step/stepRewardBlock.ts +11 -0
  185. package/src/primitives/chain/step/stepRewardTotal.ts +45 -0
  186. package/src/primitives/chain/step/stepsRewardTotal.ts +34 -0
  187. package/src/primitives/chain/time/externalBlockNumberFromXL1BlockNumber.ts +31 -0
  188. package/src/primitives/chain/time/externalBlockRangeFromStep.ts +19 -0
  189. package/src/primitives/chain/time/externalBlockRangeFromXL1BlockRange.ts +16 -0
  190. package/src/primitives/chain/time/index.ts +3 -0
  191. package/src/primitives/index.ts +6 -0
  192. package/src/primitives/mapToMapType.ts +35 -0
  193. package/src/primitives/payload/index.ts +1 -0
  194. package/src/primitives/payload/mergeTransfers.ts +15 -0
  195. package/src/primitives/readPayloadMapFromStore.ts +38 -8
  196. package/src/primitives/rewards/index.ts +1 -0
  197. package/src/primitives/rewards/networkStakeStepRewardPositionWeight.ts +21 -0
  198. package/src/primitives/stake/activeStakeAtTimeByAddress.ts +26 -0
  199. package/src/primitives/stake/activeStakeAtTimeByPosition.ts +24 -0
  200. package/src/primitives/stake/allStakersForRange.ts +31 -0
  201. package/src/primitives/stake/allStakersForStep.ts +22 -0
  202. package/src/primitives/stake/index.ts +6 -0
  203. package/src/primitives/stake/mergedAddRemoveStakeEventsByPosition.ts +14 -0
  204. package/src/primitives/stake/mergedAddRemoveStakeEventsByStaker.ts +17 -0
  205. package/src/primitives/stake/weightedStakeForRangeByPosition.ts +54 -0
  206. package/src/provider/DataLake.ts +12 -11
  207. package/src/provider/XyoConnection.ts +5 -1
  208. package/src/provider/XyoGatewayRunner.ts +3 -3
  209. package/src/provider/XyoRunner.ts +6 -2
  210. package/src/provider/viewer/XyoViewer.ts +9 -8
  211. package/src/runners/Block.ts +10 -2
  212. package/src/runners/Mempool.ts +6 -1
  213. package/src/services/Chain/ChainService.ts +2 -4
  214. package/src/simple/accountBalance/SimpleAccountBalanceViewer.ts +21 -14
  215. package/src/simple/block/SimpleBlockViewer.ts +47 -14
  216. package/src/simple/chainStake/{SimpleChainStakeViewer.ts → SimpleStakeViewer.ts} +11 -16
  217. package/src/simple/chainStake/index.ts +1 -1
  218. package/src/simple/datalake/AbstractSimpleDataLake.ts +17 -17
  219. package/src/simple/datalake/SimpleDataLakeRunner.ts +4 -3
  220. package/src/simple/datalake/SimpleDataLakeViewer.ts +0 -18
  221. package/src/simple/index.ts +1 -0
  222. package/src/simple/mempool/SimpleMempoolRunner.ts +13 -8
  223. package/src/simple/mempool/SimpleMempoolViewer.ts +6 -1
  224. package/src/simple/runner/SimpleXyoRunner.ts +41 -16
  225. package/src/simple/{chainStakeEvents/SimpleChainStakeEventsViewer.ts → stakeEvents/SimpleStakeEventsViewer.ts} +5 -5
  226. package/src/simple/stakeEvents/index.ts +1 -0
  227. package/src/simple/timesync/SimpleTimeSyncViewer.ts +26 -5
  228. package/src/status/RuntimeStatusMonitor.ts +117 -0
  229. package/src/status/ServiceStatus.ts +20 -0
  230. package/src/status/index.ts +2 -0
  231. package/src/summary/model/summary.ts +6 -4
  232. package/src/summary/primitives/balances/balancesStepSummaryFromRange.ts +2 -3
  233. package/src/transaction/TransactionBuilder.ts +162 -0
  234. package/src/transaction/buildRandomTransaction.ts +36 -0
  235. package/src/transaction/hydrateTransaction.ts +1 -1
  236. package/src/transaction/index.ts +2 -0
  237. package/src/viewers/Block.ts +6 -1
  238. package/src/viewers/ChainStakeViewer.ts +1 -2
  239. package/src/viewers/Fork.ts +0 -1
  240. package/src/viewers/Stake.ts +0 -1
  241. package/src/viewers/index.ts +0 -1
  242. package/dist/neutral/simple/chain/SimpleChainViewer.d.ts +0 -15
  243. package/dist/neutral/simple/chain/SimpleChainViewer.d.ts.map +0 -1
  244. package/dist/neutral/simple/chain/index.d.ts +0 -2
  245. package/dist/neutral/simple/chain/index.d.ts.map +0 -1
  246. package/dist/neutral/simple/chainStake/SimpleChainStakeViewer.d.ts.map +0 -1
  247. package/dist/neutral/simple/chainStakeEvents/SimpleChainStakeEventsViewer.d.ts.map +0 -1
  248. package/dist/neutral/simple/chainStakeEvents/index.d.ts +0 -2
  249. package/dist/neutral/simple/chainStakeEvents/index.d.ts.map +0 -1
  250. package/dist/neutral/viewers/Chain.d.ts +0 -11
  251. package/dist/neutral/viewers/Chain.d.ts.map +0 -1
  252. package/src/simple/chain/SimpleChainViewer.ts +0 -28
  253. package/src/simple/chain/index.ts +0 -1
  254. package/src/simple/chainStakeEvents/index.ts +0 -1
  255. package/src/viewers/Chain.ts +0 -13
@@ -0,0 +1,82 @@
1
+ import type { Hex } from '@xylabs/sdk-js';
2
+ import { Base } from '@xylabs/sdk-js';
3
+ import type { AccountInstance } from '@xyo-network/account-model';
4
+ import { type PayloadBuilderOptions } from '@xyo-network/payload-builder';
5
+ import type { Payload } from '@xyo-network/payload-model';
6
+ import type { AllowedBlockPayload, ChainId, TransactionFeesBigInt } from '@xyo-network/xl1-protocol';
7
+ export declare class TransactionBuilder<TPayload extends Payload> extends Base<Omit<PayloadBuilderOptions, 'schema'>> {
8
+ private _blockRange?;
9
+ private _chain?;
10
+ private _elevatedPayloads;
11
+ private _fees;
12
+ private _payloads;
13
+ private _signers;
14
+ constructor(options?: Omit<PayloadBuilderOptions, 'schema'>);
15
+ build(): Promise<[{
16
+ schema: "network.xyo.boundwitness";
17
+ addresses: import("@xylabs/sdk-js").Address[];
18
+ payload_hashes: import("@xylabs/sdk-js").Hash[];
19
+ payload_schemas: string[];
20
+ previous_hashes: (import("@xylabs/sdk-js").Hash | null)[];
21
+ $signatures: Hex[];
22
+ nbf: import("@xyo-network/xl1-protocol").XL1BlockNumber;
23
+ exp: import("@xyo-network/xl1-protocol").XL1BlockNumber;
24
+ fees: {
25
+ base: Hex;
26
+ gasLimit: Hex;
27
+ gasPrice: Hex;
28
+ priority: Hex;
29
+ };
30
+ chain: Hex;
31
+ from: import("@xylabs/sdk-js").Address;
32
+ _hash: import("@xylabs/sdk-js").Hash;
33
+ _dataHash: import("@xylabs/sdk-js").Hash;
34
+ $destination?: import("@xylabs/sdk-js").Address | undefined;
35
+ $sourceQuery?: import("@xylabs/sdk-js").Hash | undefined;
36
+ script?: string[] | undefined;
37
+ }, {
38
+ schema: string;
39
+ _hash: import("@xylabs/sdk-js").Hash;
40
+ _dataHash: import("@xylabs/sdk-js").Hash;
41
+ }[]]>;
42
+ chain(chain: ChainId): this;
43
+ dryRun(): Promise<[{
44
+ schema: "network.xyo.boundwitness";
45
+ addresses: import("@xylabs/sdk-js").Address[];
46
+ payload_hashes: import("@xylabs/sdk-js").Hash[];
47
+ payload_schemas: string[];
48
+ previous_hashes: (import("@xylabs/sdk-js").Hash | null)[];
49
+ $signatures: Hex[];
50
+ nbf: import("@xyo-network/xl1-protocol").XL1BlockNumber;
51
+ exp: import("@xyo-network/xl1-protocol").XL1BlockNumber;
52
+ fees: {
53
+ base: Hex;
54
+ gasLimit: Hex;
55
+ gasPrice: Hex;
56
+ priority: Hex;
57
+ };
58
+ chain: Hex;
59
+ from: import("@xylabs/sdk-js").Address;
60
+ _hash: import("@xylabs/sdk-js").Hash;
61
+ _dataHash: import("@xylabs/sdk-js").Hash;
62
+ $destination?: import("@xylabs/sdk-js").Address | undefined;
63
+ $sourceQuery?: import("@xylabs/sdk-js").Hash | undefined;
64
+ script?: string[] | undefined;
65
+ }, {
66
+ schema: string;
67
+ _hash: import("@xylabs/sdk-js").Hash;
68
+ _dataHash: import("@xylabs/sdk-js").Hash;
69
+ }[]]>;
70
+ elevatedPayload(payload?: AllowedBlockPayload): this;
71
+ elevatedPayloads(payloads?: AllowedBlockPayload[]): this;
72
+ estimatedMinimumFees(): Promise<TransactionFeesBigInt>;
73
+ fees(fees: TransactionFeesBigInt): this;
74
+ payload(payload?: TPayload): this;
75
+ payloads(payloads?: TPayload[]): this;
76
+ range(blockRange: [number, number]): this;
77
+ removeElevatedPayload(payload: AllowedBlockPayload): Promise<this>;
78
+ removePayload(payload: TPayload): Promise<this>;
79
+ signer(signer?: AccountInstance): this;
80
+ signers(signers?: (AccountInstance | null)[]): this;
81
+ }
82
+ //# sourceMappingURL=TransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/transaction/TransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAY,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,KAAK,EACV,mBAAmB,EACnB,OAAO,EACP,qBAAqB,EACtB,MAAM,2BAA2B,CAAA;AASlC,qBAAa,kBAAkB,CAAC,QAAQ,SAAS,OAAO,CAAE,SAAQ,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;IAC3G,OAAO,CAAC,WAAW,CAAC,CAAkB;IACtC,OAAO,CAAC,MAAM,CAAC,CAAK;IACpB,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,OAAO,GAAE,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAM;IAIzD,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgBX,KAAK,CAAC,KAAK,EAAE,OAAO;IAKd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaZ,eAAe,CAAC,OAAO,CAAC,EAAE,mBAAmB;IAO7C,gBAAgB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,EAAE;IAQ3C,oBAAoB,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAY5D,IAAI,CAAC,IAAI,EAAE,qBAAqB;IAKhC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ;IAK1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE;IAU9B,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ5B,qBAAqB,CAAC,OAAO,EAAE,mBAAmB;IAalD,aAAa,CAAC,OAAO,EAAE,QAAQ;IAarC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe;IAO/B,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE;CAS7C"}
@@ -0,0 +1,6 @@
1
+ import type { Address } from '@xylabs/sdk-js';
2
+ import type { AccountInstance } from '@xyo-network/account-model';
3
+ import type { Payload, Schema } from '@xyo-network/payload-model';
4
+ import type { ChainId, SignedHydratedTransactionWithHashMeta, XL1BlockNumber } from '@xyo-network/xl1-protocol';
5
+ export declare const buildRandomTransaction: (chain: ChainId, payloads?: Payload[], account?: AccountInstance, nbf?: XL1BlockNumber, exp?: XL1BlockNumber, privatePayloadSchemas?: Schema[], receiverAddress?: Address) => Promise<SignedHydratedTransactionWithHashMeta>;
6
+ //# sourceMappingURL=buildRandomTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildRandomTransaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/buildRandomTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EACW,OAAO,EAC5B,qCAAqC,EAErC,cAAc,EACf,MAAM,2BAA2B,CAAA;AAMlC,eAAO,MAAM,sBAAsB,GACjC,OAAO,OAAO,EACd,WAAW,OAAO,EAAE,EACpB,UAAU,eAAe,EACzB,MAAK,cAA0C,EAC/C,MAAK,cAAmD,EACxD,wBAAuB,MAAM,EAAO,EACpC,kBAAkB,OAAO,KACxB,OAAO,CAAC,qCAAqC,CAY/C,CAAA"}
@@ -1,3 +1,4 @@
1
+ export * from './buildRandomTransaction.ts';
1
2
  export * from './buildTransaction.ts';
2
3
  export * from './buildUnsignedTransaction.ts';
3
4
  export * from './confirmSubmittedTransaction.ts';
@@ -5,4 +6,5 @@ export * from './hydrateTransaction.ts';
5
6
  export * from './primitives/index.ts';
6
7
  export * from './script.ts';
7
8
  export * from './signTransaction.ts';
9
+ export * from './TransactionBuilder.ts';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kCAAkC,CAAA;AAChD,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transaction/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kCAAkC,CAAA;AAChD,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AACrC,cAAc,aAAa,CAAA;AAC3B,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { Hash, Promisable } from '@xylabs/sdk-js';
2
2
  import type { Payload, WithHashMeta } from '@xyo-network/payload-model';
3
- import type { SignedHydratedBlockWithHashMeta, XL1BlockNumber } from '@xyo-network/xl1-protocol';
3
+ import type { ChainId, SignedHydratedBlockWithHashMeta, XL1BlockNumber } from '@xyo-network/xl1-protocol';
4
4
  import type { Provider } from '../model/index.ts';
5
5
  export interface BlockViewerMethods {
6
6
  blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>;
@@ -13,6 +13,9 @@ export type BlockViewerMoniker = typeof BlockViewerMoniker;
13
13
  export interface BlockViewer extends BlockViewerMethods, Provider<BlockViewerMoniker> {
14
14
  blockByHash(hash: Hash): Promisable<SignedHydratedBlockWithHashMeta | null>;
15
15
  blockByNumber(block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta | null>;
16
+ chainId(): Promisable<ChainId>;
17
+ chainId(blockNumber: XL1BlockNumber): Promisable<ChainId>;
18
+ chainId(blockNumber: 'latest'): Promisable<ChainId>;
16
19
  currentBlockHash(): Promisable<Hash>;
17
20
  currentBlockNumber(): Promisable<XL1BlockNumber>;
18
21
  payloadByHash(hash: Hash): Promisable<WithHashMeta<Payload> | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../src/viewers/Block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,+BAA+B,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAEhG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAA;IACvF,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAA;IACpG,YAAY,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAA;IAC3D,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CACpE;AAED,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IACnF,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAAA;IAC3E,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAAA;IACxF,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,kBAAkB,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;IAChD,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CACpE"}
1
+ {"version":3,"file":"Block.d.ts","sourceRoot":"","sources":["../../../src/viewers/Block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EACV,OAAO,EAAE,+BAA+B,EAAE,cAAc,EACzD,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAA;IACvF,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAA;IACpG,YAAY,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAA;IAC3D,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CACpE;AAED,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IACnF,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAAA;IAC3E,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,CAAC,+BAA+B,GAAG,IAAI,CAAC,CAAA;IACxF,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAA;IAC9B,OAAO,CAAC,WAAW,EAAE,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACzD,OAAO,CAAC,WAAW,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnD,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,kBAAkB,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;IAChD,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CACpE"}
@@ -1,9 +1,8 @@
1
1
  import type { Provider } from '../model/index.ts';
2
- import type { ChainViewer } from './Chain.ts';
3
2
  import type { ChainContractViewer } from './ChainContract.ts';
4
3
  import type { StakeTotalsViewer } from './StakeTotals.ts';
5
4
  export declare const ChainStakeViewerMoniker: "ChainStakeViewer";
6
5
  export type ChainStakeViewerMoniker = typeof ChainStakeViewerMoniker;
7
- export interface ChainStakeViewer extends Omit<ChainContractViewer, 'moniker'>, Omit<StakeTotalsViewer, 'moniker'>, Omit<ChainViewer, 'moniker'>, Provider<ChainStakeViewerMoniker> {
6
+ export interface ChainStakeViewer extends Omit<ChainContractViewer, 'moniker'>, Omit<StakeTotalsViewer, 'moniker'>, Provider<ChainStakeViewerMoniker> {
8
7
  }
9
8
  //# sourceMappingURL=ChainStakeViewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainStakeViewer.d.ts","sourceRoot":"","sources":["../../../src/viewers/ChainStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,eAAO,MAAM,uBAAuB,EAAG,kBAA2B,CAAA;AAClE,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAA;AAEpE,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAChH,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,uBAAuB,CAAC;CAEhE"}
1
+ {"version":3,"file":"ChainStakeViewer.d.ts","sourceRoot":"","sources":["../../../src/viewers/ChainStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,eAAO,MAAM,uBAAuB,EAAG,kBAA2B,CAAA;AAClE,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAA;AAEpE,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAChH,QAAQ,CAAC,uBAAuB,CAAC;CAElC"}
@@ -2,7 +2,6 @@ import type { Promisable } from '@xylabs/sdk-js';
2
2
  import type { ChainId } from '@xyo-network/xl1-protocol';
3
3
  export type ForkHistory = Record<number, ChainId>;
4
4
  export interface ForkViewerMethods {
5
- chainIdAtBlock(blockNumber: number): Promisable<ChainId | undefined>;
6
5
  forkHistory(): Promisable<ForkHistory>;
7
6
  }
8
7
  //# sourceMappingURL=Fork.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Fork.d.ts","sourceRoot":"","sources":["../../../src/viewers/Fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEjD,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;IACpE,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;CACvC"}
1
+ {"version":3,"file":"Fork.d.ts","sourceRoot":"","sources":["../../../src/viewers/Fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEjD,MAAM,WAAW,iBAAiB;IAChC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;CACvC"}
@@ -2,7 +2,6 @@ import type { Address, Promisable } from '@xylabs/sdk-js';
2
2
  import type { Position, Provider } from '../model/index.ts';
3
3
  import type { StakeEventsViewer } from './StakeEvents.ts';
4
4
  export interface StakeViewerProperties {
5
- chainId: Address;
6
5
  minWithdrawalBlocks: number;
7
6
  rewardsContract: Address;
8
7
  stakeEvents: StakeEventsViewer;
@@ -1 +1 @@
1
- {"version":3,"file":"Stake.d.ts","sourceRoot":"","sources":["../../../src/viewers/Stake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,mBAAmB,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAClE,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvD,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;CACxD;AAED,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAC1G,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACzE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC5C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;CACrE;AAED,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,WAAW,WAAY,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C"}
1
+ {"version":3,"file":"Stake.d.ts","sourceRoot":"","sources":["../../../src/viewers/Stake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,mBAAmB,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAClE,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvD,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;CACxD;AAED,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAC1G,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACzE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC5C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;CACrE;AAED,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,WAAW,WAAY,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C"}
@@ -1,7 +1,6 @@
1
1
  export * from './AccountBalance.ts';
2
2
  export * from './Block.ts';
3
3
  export * from './BlockReward.ts';
4
- export * from './Chain.ts';
5
4
  export * from './ChainContract.ts';
6
5
  export * from './ChainStakeViewer.ts';
7
6
  export * from './Fork.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/viewers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/package.json",
3
3
  "name": "@xyo-network/xl1-protocol-sdk",
4
- "version": "1.17.6",
4
+ "version": "1.18.0-rc.1",
5
5
  "description": "XYO Layer One SDK Protocol",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -39,11 +39,11 @@
39
39
  "!**/*.test.*"
40
40
  ],
41
41
  "dependencies": {
42
+ "@opentelemetry/api": "^1.9.0",
42
43
  "@xylabs/hex": "~5.0.51",
43
44
  "@xylabs/sdk-js": "~5.0.51",
44
45
  "@xyo-network/account": "~5.2.17",
45
46
  "@xyo-network/account-model": "~5.2.17",
46
- "@xyo-network/archivist-memory": "~5.2.17",
47
47
  "@xyo-network/archivist-model": "~5.2.17",
48
48
  "@xyo-network/boundwitness-builder": "~5.2.17",
49
49
  "@xyo-network/boundwitness-model": "~5.2.17",
@@ -58,15 +58,16 @@
58
58
  "zod": "~4.1.13"
59
59
  },
60
60
  "devDependencies": {
61
- "@types/node": "~24.10.3",
61
+ "@types/node": "~25.0.2",
62
62
  "@xylabs/events": "~5.0.51",
63
- "@xylabs/ts-scripts-yarn3": "~7.2.8",
64
- "@xylabs/tsconfig": "~7.2.8",
63
+ "@xylabs/ts-scripts-yarn3": "~7.2.32",
64
+ "@xylabs/tsconfig": "~7.2.32",
65
65
  "@xylabs/vitest-extended": "~5.0.51",
66
66
  "@xyo-network/account": "~5.2.17",
67
+ "@xyo-network/archivist-mongodb": "~5.2.17",
67
68
  "@xyo-network/boundwitness-validator": "~5.2.17",
68
69
  "axios": "^1.13.2",
69
- "eslint": "^9.39.1",
70
+ "eslint": "^9.39.2",
70
71
  "typescript": "~5.9.3",
71
72
  "vitest": "~4.0.15"
72
73
  },
@@ -79,5 +80,6 @@
79
80
  "engineStrict": true,
80
81
  "publishConfig": {
81
82
  "access": "public"
82
- }
83
- }
83
+ },
84
+ "stableVersion": "1.17.7"
85
+ }
@@ -1,5 +1,6 @@
1
- import { AbstractCreatable } from '@xylabs/sdk-js'
1
+ import { AbstractCreatable, assertEx } from '@xylabs/sdk-js'
2
2
 
3
+ import type { Provider, ProviderMoniker } from '../model/index.ts'
3
4
  import type {
4
5
  CreatableProvider,
5
6
  CreatableProviderEventData, CreatableProviderFactory, CreatableProviderInstance, CreatableProviderParams,
@@ -7,11 +8,51 @@ import type {
7
8
  import { ProviderFactory } from './ProviderFactory.ts'
8
9
 
9
10
  export abstract class AbstractCreatableProvider<TParams extends CreatableProviderParams = CreatableProviderParams,
10
- TEventData extends CreatableProviderEventData = CreatableProviderEventData> extends AbstractCreatable<TParams, TEventData> {
11
+ TEventData extends CreatableProviderEventData = CreatableProviderEventData> extends AbstractCreatable<TParams, TEventData>
12
+ implements Omit<CreatableProviderInstance, 'moniker'> {
13
+ protected _contextCache: TParams['context'] | undefined
14
+
15
+ get config() {
16
+ return assertEx(this.context.config, () => 'config is required')
17
+ }
18
+
19
+ get context() {
20
+ return assertEx(this.params.context, () => 'context is required')
21
+ }
22
+
23
+ get locator() {
24
+ return assertEx(this.context.locator, () => 'locator is required')
25
+ }
26
+
11
27
  static factory<TModule extends CreatableProviderInstance>(
12
28
  this: CreatableProvider<TModule>,
13
29
  params?: Partial<TModule['params']>,
14
30
  ): CreatableProviderFactory<TModule> {
15
- return ProviderFactory.withParams<TModule>(this, params)
31
+ const factory = ProviderFactory.withParams<TModule>(this, params)
32
+ return factory
33
+ }
34
+
35
+ static async getInstance<T extends CreatableProviderInstance>(
36
+ this: CreatableProvider<T>,
37
+ inParams: T['params'],
38
+ ): Promise<T> {
39
+ const instance = await this.create<T>(inParams)
40
+ return instance
41
+ }
42
+
43
+ static async tryGetInstance<T extends CreatableProviderInstance>(
44
+ this: CreatableProvider<T>,
45
+ inParams: T['params'],
46
+ ): Promise<T | undefined> {
47
+ try {
48
+ return await this.create<T>(inParams)
49
+ } catch {
50
+ return
51
+ }
52
+ }
53
+
54
+ async locateAndCreate<TProvider extends Provider<ProviderMoniker>,
55
+ TParams extends CreatableProviderInstance<TProvider>['params'] = CreatableProviderInstance<TProvider>['params']>(moniker: TProvider['moniker']) {
56
+ return await this.locator?.getInstance<TProvider, TParams>(moniker)
16
57
  }
17
58
  }
@@ -1,22 +1,38 @@
1
+ import type { MeterProvider, TracerProvider } from '@opentelemetry/api'
1
2
  import type { EventData } from '@xylabs/events'
2
3
  import type {
3
- Creatable, CreatableInstance, CreatableParams, EmptyObject,
4
- Labels, WithOptionalLabels,
4
+ Creatable, CreatableInstance, CreatableParams,
5
+ Labels, Logger, WithOptionalLabels,
5
6
  } from '@xylabs/sdk-js'
6
7
 
7
- import type { ProviderMoniker } from '../model/index.ts'
8
+ import type { Config } from '../config/index.ts'
9
+ import type { Provider, ProviderMoniker } from '../model/index.ts'
10
+ import type { RuntimeStatusMonitor } from '../status/index.ts'
8
11
  import type { LabeledCreatableProviderFactory } from './LabeledCreatableProviderFactory.ts'
9
12
  import type { ProviderFactoryLocatorInstance } from './ProviderFactoryLocatorInstance.ts'
10
13
 
11
- export interface CreatableProviderParams<TConfig extends EmptyObject = EmptyObject> extends CreatableParams {
12
- config?: TConfig
13
- locator?: ProviderFactoryLocatorInstance
14
+ export interface CreatableProviderContext {
15
+ _id?: string
16
+ config: Config
17
+ locator: ProviderFactoryLocatorInstance
18
+ logger?: Logger
19
+ meterProvider?: MeterProvider
20
+ singletons: Record<string, unknown>
21
+ statusReporter?: RuntimeStatusMonitor
22
+ traceProvider?: TracerProvider
23
+ }
24
+
25
+ export interface CreatableProviderParams<TContext extends CreatableProviderContext = CreatableProviderContext> extends CreatableParams {
26
+ context: TContext
14
27
  }
15
28
  export interface CreatableProviderEventData extends EventData {}
16
29
 
17
- export interface CreatableProviderInstance<TParams extends CreatableProviderParams = CreatableProviderParams,
30
+ export type CreatableProviderInstance<TProvider extends Provider<ProviderMoniker> = Provider<ProviderMoniker>,
31
+ TParams extends CreatableProviderParams = CreatableProviderParams,
18
32
  TEventData extends CreatableProviderEventData = CreatableProviderEventData>
19
- extends CreatableInstance<TParams, TEventData> {}
33
+ = CreatableInstance<TParams, TEventData> & TProvider
34
+
35
+ export type ProviderFactoryScope = 'global' | 'context' | 'local'
20
36
 
21
37
  export interface CreatableProviderFactory<T extends CreatableProviderInstance = CreatableProviderInstance>
22
38
  extends Omit<CreatableProvider<T>, 'create' | 'createHandler' | 'paramsHandler'> {
@@ -24,10 +40,21 @@ export interface CreatableProviderFactory<T extends CreatableProviderInstance =
24
40
  defaultParams?: Partial<T['params']>
25
41
 
26
42
  labels?: Labels
43
+ resolvedMoniker: string
44
+ scope: ProviderFactoryScope
27
45
 
46
+ /** @deprecated use getInstance instead */
28
47
  create(
29
48
  this: CreatableProviderFactory<T>,
30
- params?: Partial<T['params']>): Promise<T>
49
+ params?: Partial<T['params']>, start?: boolean): Promise<T>
50
+
51
+ getInstance(
52
+ this: CreatableProviderFactory<T>,
53
+ params: T['params'], start?: boolean): Promise<T>
54
+
55
+ tryGetInstance(
56
+ this: CreatableProviderFactory<T>,
57
+ params: T['params'], start?: boolean): Promise<T | undefined>
31
58
 
32
59
  }
33
60
 
@@ -13,17 +13,21 @@ const buildProviderFactory = <TProvider extends CreatableProviderInstance>(
13
13
  provider: CreatableProviderFactory<TProvider>,
14
14
  labels?: Labels,
15
15
  ): LabeledCreatableProviderFactory<TProvider> => {
16
- const factory: LabeledCreatableProviderFactory<TProvider> = {
17
- // Destructure instance properties
18
- ...provider,
19
-
16
+ const factory = {
20
17
  monikers: provider.monikers,
21
18
  // Copy static methods
22
19
  create: provider.create.bind(provider) as LabeledCreatableProviderFactory<TProvider>['create'],
23
20
 
24
21
  // Merge module & supplied labels
25
22
  labels: { ...(provider as LabeledCreatableProviderFactory).labels, ...labels },
26
- }
23
+ creatableProvider: provider.creatableProvider,
24
+ resolvedMoniker: provider.resolvedMoniker,
25
+ scope: provider.scope,
26
+ getInstance: provider.getInstance.bind(provider) as LabeledCreatableProviderFactory<TProvider>['getInstance'],
27
+ tryGetInstance: provider.tryGetInstance?.bind(provider) as LabeledCreatableProviderFactory<TProvider>['tryGetInstance'],
28
+ defaultMoniker: provider.defaultMoniker,
29
+ factory: provider.factory.bind(provider) as LabeledCreatableProviderFactory<TProvider>['factory'],
30
+ } satisfies LabeledCreatableProviderFactory<TProvider>
27
31
  return factory
28
32
  }
29
33
 
@@ -3,8 +3,13 @@ import { assertEx } from '@xylabs/sdk-js'
3
3
 
4
4
  import type {
5
5
  CreatableProvider, CreatableProviderFactory, CreatableProviderInstance,
6
+ ProviderFactoryScope,
6
7
  } from './CreatableProvider.ts'
7
8
 
9
+ declare global {
10
+ var xyoServiceSingletons: Record<string, unknown>
11
+ }
12
+
8
13
  export class ProviderFactory<TProvider extends CreatableProviderInstance> implements CreatableProviderFactory<TProvider> {
9
14
  creatableProvider: CreatableProvider<TProvider>
10
15
 
@@ -16,19 +21,29 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
16
21
 
17
22
  monikers: CreatableProvider<TProvider>['monikers']
18
23
 
24
+ scope: ProviderFactoryScope
25
+
19
26
  constructor(
20
27
  creatableProvider: CreatableProvider<TProvider>,
21
28
  params?: Partial<TProvider['params']>,
22
29
  labels: Labels = {},
30
+ scope: ProviderFactoryScope = 'context',
23
31
  ) {
24
32
  this.creatableProvider = creatableProvider
25
33
  this.defaultParams = params
26
34
  this.defaultMoniker = creatableProvider.defaultMoniker
27
35
  this.monikers = creatableProvider.monikers
36
+ this.scope = scope
28
37
  assertEx(this.monikers.includes(this.defaultMoniker), () => 'defaultMoniker must be in monikers')
29
38
  this.labels = Object.assign({}, (creatableProvider as WithOptionalLabels).labels ?? {}, labels ?? {})
30
39
  }
31
40
 
41
+ get resolvedMoniker() {
42
+ const labels: Labels = this.labels ?? {}
43
+ const labelString = Object.entries(labels).map(([key, value]) => `${key}=${value}`).join(',')
44
+ return labelString.length === 0 ? `${this.defaultMoniker}` : `${this.defaultMoniker}|${labelString}`
45
+ }
46
+
32
47
  static withParams<T extends CreatableProviderInstance>(
33
48
  creatableProvider: CreatableProvider<T>,
34
49
  params?: Partial<T['params']>,
@@ -37,16 +52,9 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
37
52
  return new ProviderFactory<T>(creatableProvider, params, labels)
38
53
  }
39
54
 
40
- create(this: CreatableProviderFactory<TProvider>, params?: Partial<TProvider['params']>): Promise<TProvider> {
41
- const mergedParams: TProvider['params'] = {
42
- ...this.defaultParams,
43
- ...params,
44
- config: {
45
- ...this.defaultParams?.config,
46
- ...params?.config,
47
- },
48
- } as TProvider['params']
49
- return this.creatableProvider.create<TProvider>(mergedParams)
55
+ /** @deprecated use getInstance instead */
56
+ async create(this: CreatableProviderFactory<TProvider>, params?: Partial<TProvider['params']>, start = true): Promise<TProvider> {
57
+ return await this.getInstance(params as TProvider['params'], start)
50
58
  }
51
59
 
52
60
  factory<T extends CreatableProviderInstance>(
@@ -56,4 +64,58 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
56
64
  ): CreatableProviderFactory<T> {
57
65
  return new ProviderFactory<T>(this.creatableProvider, params, labels)
58
66
  }
67
+
68
+ async getInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], start = true): Promise<TProvider> {
69
+ let scopeObject: Record<string, unknown> = {}
70
+ switch (this.scope) {
71
+ case 'global': {
72
+ if (globalThis.xyoServiceSingletons === undefined) {
73
+ globalThis.xyoServiceSingletons = {}
74
+ }
75
+ scopeObject = globalThis.xyoServiceSingletons
76
+ break
77
+ }
78
+ case 'context': {
79
+ const context = assertEx(
80
+ params?.context,
81
+ () => 'Context is required for context-scoped providers',
82
+ )
83
+ if (context.singletons === undefined) {
84
+ context.singletons = {}
85
+ }
86
+ scopeObject = context.singletons
87
+ break
88
+ }
89
+ default: {
90
+ scopeObject = {}
91
+ break
92
+ }
93
+ }
94
+ const mergedParams: TProvider['params'] = {
95
+ ...this.defaultParams,
96
+ ...params,
97
+ context: {
98
+ ...this.defaultParams?.context,
99
+ ...params?.context,
100
+ config: {
101
+ ...this.defaultParams?.context?.config,
102
+ ...params?.context?.config,
103
+ },
104
+ },
105
+ } as TProvider['params']
106
+ const result = await this.creatableProvider.create<TProvider>(mergedParams)
107
+ if (start) {
108
+ assertEx(await result.start(), () => 'Failed to start provider instance')
109
+ }
110
+ scopeObject[this.resolvedMoniker] = result
111
+ return result
112
+ }
113
+
114
+ async tryGetInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], start = true): Promise<TProvider | undefined> {
115
+ try {
116
+ return await this.getInstance(params, start)
117
+ } catch {
118
+ return
119
+ }
120
+ }
59
121
  }