@xyo-network/xl1-protocol-sdk 1.16.24 → 1.16.26

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 (172) hide show
  1. package/dist/neutral/block/hydrate/blockPayloadsFromHydratedBlock.d.ts +3 -3
  2. package/dist/neutral/block/hydrate/blockPayloadsFromHydratedBlock.d.ts.map +1 -1
  3. package/dist/neutral/block/hydrate/flattenHydratedBlock.d.ts +3 -3
  4. package/dist/neutral/block/hydrate/flattenHydratedBlock.d.ts.map +1 -1
  5. package/dist/neutral/block/hydrate/flattenHydratedBlocks.d.ts +3 -3
  6. package/dist/neutral/block/hydrate/flattenHydratedBlocks.d.ts.map +1 -1
  7. package/dist/neutral/block/hydrate/hydrateBlock.d.ts +2 -2
  8. package/dist/neutral/block/hydrate/hydrateBlock.d.ts.map +1 -1
  9. package/dist/neutral/block/hydrate/transactionsFromHydratedBlock.d.ts +2 -3
  10. package/dist/neutral/block/hydrate/transactionsFromHydratedBlock.d.ts.map +1 -1
  11. package/dist/neutral/block/primitives/blockFromBlockNumber.d.ts +3 -2
  12. package/dist/neutral/block/primitives/blockFromBlockNumber.d.ts.map +1 -1
  13. package/dist/neutral/config/Config.d.ts +1 -0
  14. package/dist/neutral/config/Config.d.ts.map +1 -1
  15. package/dist/neutral/config/Services.d.ts +1 -0
  16. package/dist/neutral/config/Services.d.ts.map +1 -1
  17. package/dist/neutral/index.d.ts +0 -1
  18. package/dist/neutral/index.d.ts.map +1 -1
  19. package/dist/neutral/index.mjs +534 -851
  20. package/dist/neutral/index.mjs.map +1 -1
  21. package/dist/neutral/instances/transaction/HydratedTransaction.d.ts +2 -3
  22. package/dist/neutral/instances/transaction/HydratedTransaction.d.ts.map +1 -1
  23. package/dist/neutral/instances/transaction/TransactionFields.d.ts +3 -2
  24. package/dist/neutral/instances/transaction/TransactionFields.d.ts.map +1 -1
  25. package/dist/neutral/model/PayloadBundle/bundledPayloadToHydratedTransaction.d.ts +4 -0
  26. package/dist/neutral/model/PayloadBundle/bundledPayloadToHydratedTransaction.d.ts.map +1 -0
  27. package/dist/neutral/model/PayloadBundle/hydratedTransactionToPayloadBundle.d.ts +4 -0
  28. package/dist/neutral/model/PayloadBundle/hydratedTransactionToPayloadBundle.d.ts.map +1 -0
  29. package/dist/neutral/model/PayloadBundle/index.d.ts +3 -0
  30. package/dist/neutral/model/PayloadBundle/index.d.ts.map +1 -0
  31. package/dist/neutral/model/index.d.ts +1 -0
  32. package/dist/neutral/model/index.d.ts.map +1 -1
  33. package/dist/neutral/primitives/summary/schemas/schemasStepSummaryFromRange.d.ts +2 -2
  34. package/dist/neutral/primitives/summary/schemas/schemasStepSummaryFromRange.d.ts.map +1 -1
  35. package/dist/neutral/primitives/transaction/elevatedPayloads.d.ts +3 -3
  36. package/dist/neutral/primitives/transaction/elevatedPayloads.d.ts.map +1 -1
  37. package/dist/neutral/provider/TransactionSubmitter.d.ts +3 -3
  38. package/dist/neutral/provider/TransactionSubmitter.d.ts.map +1 -1
  39. package/dist/neutral/provider/XyoGatewayRunner.d.ts +3 -3
  40. package/dist/neutral/provider/XyoGatewayRunner.d.ts.map +1 -1
  41. package/dist/neutral/provider/signer/XyoSigner.d.ts +2 -2
  42. package/dist/neutral/provider/signer/XyoSigner.d.ts.map +1 -1
  43. package/dist/neutral/provider/viewer/XyoViewer.d.ts +3 -0
  44. package/dist/neutral/provider/viewer/XyoViewer.d.ts.map +1 -1
  45. package/dist/neutral/services/BlockProducerService.d.ts +2 -2
  46. package/dist/neutral/services/BlockProducerService.d.ts.map +1 -1
  47. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +18 -6
  48. package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -1
  49. package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts +2 -2
  50. package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts.map +1 -1
  51. package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts +9 -0
  52. package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts.map +1 -0
  53. package/dist/neutral/simple/mempool/index.d.ts +2 -0
  54. package/dist/neutral/simple/mempool/index.d.ts.map +1 -0
  55. package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts +3 -4
  56. package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts.map +1 -1
  57. package/dist/neutral/transaction/buildTransaction.d.ts +2 -2
  58. package/dist/neutral/transaction/buildTransaction.d.ts.map +1 -1
  59. package/dist/neutral/transaction/buildUnsignedTransaction.d.ts +2 -2
  60. package/dist/neutral/transaction/buildUnsignedTransaction.d.ts.map +1 -1
  61. package/dist/neutral/transaction/hydrateTransaction.d.ts.map +1 -1
  62. package/dist/neutral/transaction/primitives/transactionBlockByteCount.d.ts +2 -2
  63. package/dist/neutral/transaction/primitives/transactionBlockByteCount.d.ts.map +1 -1
  64. package/dist/neutral/transaction/primitives/transactionElevatedPayloads.d.ts +2 -2
  65. package/dist/neutral/transaction/primitives/transactionElevatedPayloads.d.ts.map +1 -1
  66. package/dist/neutral/transaction/primitives/transactionRequiredGas.d.ts +3 -3
  67. package/dist/neutral/transaction/primitives/transactionRequiredGas.d.ts.map +1 -1
  68. package/dist/neutral/transaction/script.d.ts +3 -3
  69. package/dist/neutral/transaction/script.d.ts.map +1 -1
  70. package/dist/neutral/transaction/signTransaction.d.ts +23 -3
  71. package/dist/neutral/transaction/signTransaction.d.ts.map +1 -1
  72. package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts +2 -2
  73. package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts.map +1 -1
  74. package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts +2 -2
  75. package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts.map +1 -1
  76. package/dist/neutral/viewers/AccountBalance.d.ts +20 -26
  77. package/dist/neutral/viewers/AccountBalance.d.ts.map +1 -1
  78. package/dist/neutral/viewers/Block.d.ts +5 -5
  79. package/dist/neutral/viewers/Block.d.ts.map +1 -1
  80. package/dist/neutral/viewers/Mempool.d.ts +14 -0
  81. package/dist/neutral/viewers/Mempool.d.ts.map +1 -0
  82. package/dist/neutral/viewers/index.d.ts +1 -0
  83. package/dist/neutral/viewers/index.d.ts.map +1 -1
  84. package/package.json +18 -18
  85. package/src/block/hydrate/blockPayloadsFromHydratedBlock.ts +5 -5
  86. package/src/block/hydrate/flattenHydratedBlock.ts +3 -3
  87. package/src/block/hydrate/flattenHydratedBlocks.ts +3 -3
  88. package/src/block/hydrate/hydrateBlock.ts +2 -2
  89. package/src/block/hydrate/transactionsFromHydratedBlock.ts +4 -6
  90. package/src/block/primitives/blockFromBlockNumber.ts +27 -7
  91. package/src/config/Services.ts +5 -0
  92. package/src/index.ts +1 -1
  93. package/src/instances/transaction/HydratedTransaction.ts +3 -5
  94. package/src/instances/transaction/TransactionFields.ts +4 -4
  95. package/src/model/PayloadBundle/bundledPayloadToHydratedTransaction.ts +14 -0
  96. package/src/model/PayloadBundle/hydratedTransactionToPayloadBundle.ts +18 -0
  97. package/src/model/PayloadBundle/index.ts +2 -0
  98. package/src/model/index.ts +1 -0
  99. package/src/primitives/summary/balances/balancesSummary.ts +1 -1
  100. package/src/primitives/summary/schemas/schemasStepSummaryFromRange.ts +8 -8
  101. package/src/primitives/summary/schemas/schemasSummary.ts +1 -1
  102. package/src/primitives/summary/transfers/transfersSummary.ts +1 -1
  103. package/src/primitives/transaction/elevatedPayloads.ts +4 -4
  104. package/src/provider/TransactionSubmitter.ts +3 -2
  105. package/src/provider/XyoGatewayRunner.ts +3 -2
  106. package/src/provider/signer/XyoSigner.ts +4 -3
  107. package/src/provider/viewer/XyoViewer.ts +3 -0
  108. package/src/services/BlockProducerService.ts +2 -2
  109. package/src/simple/accountBalance/SimpleAccountBalanceViewer.ts +31 -13
  110. package/src/simple/gateway/SimpleXyoGatewayRunner.ts +11 -8
  111. package/src/simple/mempool/SimpleMempoolViewer.ts +37 -0
  112. package/src/simple/mempool/index.ts +1 -0
  113. package/src/simple/signer/SimpleXyoSigner.ts +10 -7
  114. package/src/transaction/buildTransaction.ts +8 -6
  115. package/src/transaction/buildUnsignedTransaction.ts +5 -4
  116. package/src/transaction/hydrateTransaction.ts +2 -2
  117. package/src/transaction/primitives/transactionBlockByteCount.ts +2 -2
  118. package/src/transaction/primitives/transactionElevatedPayloads.ts +2 -2
  119. package/src/transaction/primitives/transactionRequiredGas.ts +3 -3
  120. package/src/transaction/script.ts +3 -3
  121. package/src/transaction/signTransaction.ts +12 -9
  122. package/src/validation/block/HydratedBlockStateValidationFunction.ts +2 -2
  123. package/src/validation/block/HydratedBlockValidationFunction.ts +2 -2
  124. package/src/viewers/AccountBalance.ts +1 -2
  125. package/src/viewers/Block.ts +5 -5
  126. package/src/viewers/Mempool.ts +18 -0
  127. package/src/viewers/index.ts +1 -0
  128. package/dist/neutral/zod/ArrayBuffer.d.ts +0 -4
  129. package/dist/neutral/zod/ArrayBuffer.d.ts.map +0 -1
  130. package/dist/neutral/zod/BlockBoundWitness.d.ts +0 -44
  131. package/dist/neutral/zod/BlockBoundWitness.d.ts.map +0 -1
  132. package/dist/neutral/zod/BoundWitness.d.ts +0 -123
  133. package/dist/neutral/zod/BoundWitness.d.ts.map +0 -1
  134. package/dist/neutral/zod/Chain.d.ts +0 -4
  135. package/dist/neutral/zod/Chain.d.ts.map +0 -1
  136. package/dist/neutral/zod/HydratedBlock.d.ts +0 -133
  137. package/dist/neutral/zod/HydratedBlock.d.ts.map +0 -1
  138. package/dist/neutral/zod/HydratedTransaction.d.ts +0 -210
  139. package/dist/neutral/zod/HydratedTransaction.d.ts.map +0 -1
  140. package/dist/neutral/zod/Permission.d.ts +0 -53
  141. package/dist/neutral/zod/Permission.d.ts.map +0 -1
  142. package/dist/neutral/zod/RewardsRangeOptions.d.ts +0 -11
  143. package/dist/neutral/zod/RewardsRangeOptions.d.ts.map +0 -1
  144. package/dist/neutral/zod/Sequence.d.ts +0 -9
  145. package/dist/neutral/zod/Sequence.d.ts.map +0 -1
  146. package/dist/neutral/zod/Stake.d.ts +0 -62
  147. package/dist/neutral/zod/Stake.d.ts.map +0 -1
  148. package/dist/neutral/zod/TimeDomain.d.ts +0 -3
  149. package/dist/neutral/zod/TimeDomain.d.ts.map +0 -1
  150. package/dist/neutral/zod/TransactionBoundWitness.d.ts +0 -75
  151. package/dist/neutral/zod/TransactionBoundWitness.d.ts.map +0 -1
  152. package/dist/neutral/zod/TransactionFees.d.ts +0 -53
  153. package/dist/neutral/zod/TransactionFees.d.ts.map +0 -1
  154. package/dist/neutral/zod/TransferPair.d.ts +0 -3
  155. package/dist/neutral/zod/TransferPair.d.ts.map +0 -1
  156. package/dist/neutral/zod/index.d.ts +0 -15
  157. package/dist/neutral/zod/index.d.ts.map +0 -1
  158. package/src/zod/ArrayBuffer.ts +0 -42
  159. package/src/zod/BlockBoundWitness.ts +0 -36
  160. package/src/zod/BoundWitness.ts +0 -56
  161. package/src/zod/Chain.ts +0 -5
  162. package/src/zod/HydratedBlock.ts +0 -32
  163. package/src/zod/HydratedTransaction.ts +0 -37
  164. package/src/zod/Permission.ts +0 -23
  165. package/src/zod/RewardsRangeOptions.ts +0 -10
  166. package/src/zod/Sequence.ts +0 -15
  167. package/src/zod/Stake.ts +0 -43
  168. package/src/zod/TimeDomain.ts +0 -7
  169. package/src/zod/TransactionBoundWitness.ts +0 -42
  170. package/src/zod/TransactionFees.ts +0 -45
  171. package/src/zod/TransferPair.ts +0 -6
  172. package/src/zod/index.ts +0 -14
@@ -3,46 +3,40 @@ import { type AttoXL1, type XL1BlockRange } from '@xyo-network/xl1-protocol';
3
3
  import z from 'zod';
4
4
  export declare const AccountBalanceHistoryItemZod: z.ZodTuple<[z.ZodObject<{
5
5
  schema: z.ZodLiteral<"network.xyo.boundwitness">;
6
- addresses: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<Address, string>>>;
7
- payload_hashes: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<Hash, string>>>;
8
- payload_schemas: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodPipe<z.ZodString, z.ZodTransform<string & {
9
- __schema: true;
10
- }, string>>]>>;
11
- previous_hashes: z.ZodArray<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Hash, string>>>>;
12
- $destination: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<Address, string>>>;
13
- $sourceQuery: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<Hash, string>>>;
6
+ addresses: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Address, string>>>;
7
+ payload_hashes: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
8
+ payload_schemas: z.ZodArray<z.ZodString>;
9
+ previous_hashes: z.ZodArray<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>>;
10
+ $destination: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Address, string>>>;
11
+ $sourceQuery: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
14
12
  $signatures: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>, z.ZodNull]>>;
15
- _sequence: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<import("@xyo-network/payload-model").LocalSequence, string>>, z.ZodPipe<z.ZodString, z.ZodTransform<import("@xyo-network/payload-model").QualifiedSequence, string>>]>>;
16
13
  block: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("@xyo-network/xl1-protocol").XL1BlockNumber, number>>;
17
- chain: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xyo-network/xl1-protocol").ChainId, string>>;
18
- previous: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Hash, string>>>;
19
- protocol: z.ZodNumber;
20
- step_hashes: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<Hash, string>>>>;
14
+ chain: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>;
15
+ previous: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
16
+ protocol: z.ZodOptional<z.ZodNumber>;
17
+ step_hashes: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>>;
21
18
  $epoch: z.ZodNumber;
22
19
  _hash: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/hex").Hash, string>>;
23
20
  _dataHash: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/hex").Hash, string>>;
24
21
  }, z.z.core.$strip>, z.ZodNullable<z.ZodObject<{
25
22
  schema: z.ZodLiteral<"network.xyo.boundwitness">;
26
- addresses: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<Address, string>>>;
27
- payload_hashes: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<Hash, string>>>;
28
- payload_schemas: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodPipe<z.ZodString, z.ZodTransform<string & {
29
- __schema: true;
30
- }, string>>]>>;
31
- previous_hashes: z.ZodArray<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<Hash, string>>>>;
32
- $destination: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<Address, string>>>;
33
- $sourceQuery: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<Hash, string>>>;
23
+ addresses: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Address, string>>>;
24
+ payload_hashes: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
25
+ payload_schemas: z.ZodArray<z.ZodString>;
26
+ previous_hashes: z.ZodArray<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>>;
27
+ $destination: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Address, string>>>;
28
+ $sourceQuery: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
34
29
  $signatures: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>, z.ZodNull]>>;
35
- _sequence: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<import("@xyo-network/payload-model").LocalSequence, string>>, z.ZodPipe<z.ZodString, z.ZodTransform<import("@xyo-network/payload-model").QualifiedSequence, string>>]>>;
36
- nbf: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("@xyo-network/xl1-protocol").BlockNumber, number>>;
37
- exp: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("@xyo-network/xl1-protocol").BlockNumber, number>>;
30
+ nbf: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("@xyo-network/xl1-protocol").XL1BlockNumber, number>>;
31
+ exp: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("@xyo-network/xl1-protocol").XL1BlockNumber, number>>;
38
32
  fees: z.ZodObject<{
39
33
  base: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>;
40
34
  gasLimit: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>;
41
35
  gasPrice: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>;
42
36
  priority: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>;
43
37
  }, z.z.core.$strip>;
44
- chain: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xyo-network/xl1-protocol").ChainId, string>>;
45
- from: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xyo-network/xl1-protocol").ChainId, string>>;
38
+ chain: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>;
39
+ from: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Address, string>>;
46
40
  script: z.ZodOptional<z.ZodArray<z.ZodString>>;
47
41
  _hash: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/hex").Hash, string>>;
48
42
  _dataHash: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/hex").Hash, string>>;
@@ -1 +1 @@
1
- {"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../src/viewers/AccountBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,UAAU,EAC1B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAA;AAClC,OAAO,CAAC,MAAM,KAAK,CAAA;AAInB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAIvC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEpF,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACvH,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;CACnJ;AAED,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;IACvE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACzF,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAA;CACrH"}
1
+ {"version":3,"file":"AccountBalance.d.ts","sourceRoot":"","sources":["../../../src/viewers/AccountBalance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,UAAU,EAC1B,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAA;AAElC,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAIvC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEpF,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACvH,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC,CAAC,CAAA;CACnJ;AAED,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;IACvE,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACzF,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAA;CACrH"}
@@ -1,10 +1,10 @@
1
1
  import type { Hash, Promisable } from '@xylabs/sdk-js';
2
- import type { HydratedBlock, XL1BlockNumber } from '@xyo-network/xl1-protocol';
2
+ import type { SignedHydratedBlockWithHashMeta, XL1BlockNumber } from '@xyo-network/xl1-protocol';
3
3
  export interface BlockViewierMethods {
4
- blockByHash(hash: Hash): Promisable<HydratedBlock | null>;
5
- blockByNumber(block: XL1BlockNumber): Promisable<HydratedBlock | null>;
6
- blocksByHash(hash: Hash, limit?: number): Promisable<HydratedBlock[]>;
7
- currentBlock(): Promisable<HydratedBlock>;
4
+ blockByHash(hash: Hash): Promisable<SignedHydratedBlockWithHashMeta | null>;
5
+ blockByNumber(block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta | null>;
6
+ blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>;
7
+ currentBlock(): Promisable<SignedHydratedBlockWithHashMeta>;
8
8
  currentBlockHash(): Promisable<Hash>;
9
9
  currentBlockNumber(): Promisable<XL1BlockNumber>;
10
10
  }
@@ -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,aAAa,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAE9E,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACzD,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACtE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC,CAAA;IAErE,YAAY,IAAI,UAAU,CAAC,aAAa,CAAC,CAAA;IACzC,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,kBAAkB,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,WAAY,SAAQ,mBAAmB;CAAG"}
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,+BAA+B,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAEhG,MAAM,WAAW,mBAAmB;IAClC,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,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAA;IAEvF,YAAY,IAAI,UAAU,CAAC,+BAA+B,CAAC,CAAA;IAC3D,gBAAgB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,kBAAkB,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,WAAY,SAAQ,mBAAmB;CAAG"}
@@ -0,0 +1,14 @@
1
+ import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol';
2
+ import z from 'zod';
3
+ export declare const PendingTransactionsOptionsZod: z.ZodObject<{
4
+ cursor: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
5
+ limit: z.ZodOptional<z.ZodNumber>;
6
+ window: z.ZodOptional<z.ZodTuple<[z.ZodPipe<z.ZodNumber, z.ZodTransform<import("@xyo-network/xl1-protocol").XL1BlockNumber, number>>, z.ZodPipe<z.ZodNumber, z.ZodTransform<import("@xyo-network/xl1-protocol").XL1BlockNumber, number>>], null>>;
7
+ }, z.z.core.$strip>;
8
+ export type PendingTransactionsOptions = z.infer<typeof PendingTransactionsOptionsZod>;
9
+ export interface MempoolViewerMethods {
10
+ pendingTransactions(options?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]>;
11
+ }
12
+ export interface MempoolViewer extends MempoolViewerMethods {
13
+ }
14
+ //# sourceMappingURL=Mempool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mempool.d.ts","sourceRoot":"","sources":["../../../src/viewers/Mempool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,2BAA2B,CAAA;AAEtF,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,eAAO,MAAM,6BAA6B;;;;mBAIxC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEtF,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,CAAC,OAAO,CAAC,EAAE,0BAA0B,GAAG,OAAO,CAAC,qCAAqC,EAAE,CAAC,CAAA;CAC5G;AAED,MAAM,WAAW,aAAc,SAAQ,oBAAoB;CAAG"}
@@ -3,6 +3,7 @@ export * from './Block.ts';
3
3
  export * from './Chain.ts';
4
4
  export * from './ChainContract.ts';
5
5
  export * from './Fork.ts';
6
+ export * from './Mempool.ts';
6
7
  export * from './NetworkStakeStepReward.ts';
7
8
  export * from './Stake.ts';
8
9
  export * from './StakeEvents.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,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,cAAc,6BAA6B,CAAA;AAC3C,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,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,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,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,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.16.24",
4
+ "version": "1.16.26",
5
5
  "description": "XYO Layer One SDK Protocol",
6
6
  "homepage": "https://xylabs.com",
7
7
  "bugs": {
@@ -39,34 +39,34 @@
39
39
  "!**/*.test.*"
40
40
  ],
41
41
  "dependencies": {
42
- "@xylabs/sdk-js": "~5.0.39",
43
- "@xylabs/telemetry": "~5.0.39",
44
- "@xyo-network/account": "~5.1.24",
45
- "@xyo-network/account-model": "~5.1.24",
46
- "@xyo-network/archivist-memory": "~5.1.24",
47
- "@xyo-network/archivist-model": "~5.1.24",
48
- "@xyo-network/boundwitness-builder": "~5.1.24",
49
- "@xyo-network/boundwitness-model": "~5.1.24",
50
- "@xyo-network/payload-builder": "~5.1.24",
51
- "@xyo-network/payload-model": "~5.1.24",
52
- "@xyo-network/wallet": "~5.1.24",
53
- "@xyo-network/wallet-model": "~5.1.24",
54
- "@xyo-network/xl1-protocol": "~1.13.13",
42
+ "@xylabs/sdk-js": "~5.0.46",
43
+ "@xylabs/telemetry": "~5.0.46",
44
+ "@xyo-network/account": "~5.2.10",
45
+ "@xyo-network/account-model": "~5.2.10",
46
+ "@xyo-network/archivist-memory": "~5.2.10",
47
+ "@xyo-network/archivist-model": "~5.2.10",
48
+ "@xyo-network/boundwitness-builder": "~5.2.10",
49
+ "@xyo-network/boundwitness-model": "~5.2.10",
50
+ "@xyo-network/payload-builder": "~5.2.10",
51
+ "@xyo-network/payload-model": "~5.2.10",
52
+ "@xyo-network/wallet": "~5.2.10",
53
+ "@xyo-network/wallet-model": "~5.2.10",
54
+ "@xyo-network/xl1-protocol": "~1.14.15",
55
55
  "async-mutex": "~0.5.0",
56
56
  "ethers": "~6.15.0",
57
57
  "lru-cache": "^11.2.2",
58
- "zod": "~4.1.12"
58
+ "zod": "~4.1.13"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/node": "~24.10.1",
62
62
  "@xylabs/ts-scripts-yarn3": "~7.2.8",
63
63
  "@xylabs/tsconfig": "~7.2.8",
64
- "@xyo-network/account": "~5.1.24",
65
- "@xyo-network/boundwitness-validator": "~5.1.24",
64
+ "@xyo-network/account": "~5.2.10",
65
+ "@xyo-network/boundwitness-validator": "~5.2.10",
66
66
  "axios": "^1.13.2",
67
67
  "eslint": "^9.39.1",
68
68
  "typescript": "~5.9.3",
69
- "vitest": "~4.0.10"
69
+ "vitest": "~4.0.13"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "axios": "^1.13.2"
@@ -1,11 +1,11 @@
1
1
  import { assertEx } from '@xylabs/sdk-js'
2
- import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
3
- import type { HydratedBlock } from '@xyo-network/xl1-protocol'
4
- import { isTransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
2
+ import type { WithStorageMeta } from '@xyo-network/payload-model'
3
+ import type { HydratedBlockWithStorageMeta } from '@xyo-network/xl1-protocol'
4
+ import { isTransactionBoundWitness } from '@xyo-network/xl1-protocol'
5
5
 
6
- export const blockPayloadsFromHydratedBlock = (block: HydratedBlock): WithStorageMeta<Payload>[] => {
6
+ export const blockPayloadsFromHydratedBlock = (block: HydratedBlockWithStorageMeta): WithStorageMeta[] => {
7
7
  return block[0].payload_hashes.map(hash => assertEx(
8
8
  block[1].find(p => p._hash === hash),
9
9
  () => `missing payload ${hash}`,
10
- )).filter(x => !isTransactionBoundWitnessWithStorageMeta(x))
10
+ )).filter(x => !isTransactionBoundWitness(x))
11
11
  }
@@ -1,7 +1,7 @@
1
- import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
2
- import type { HydratedBlock } from '@xyo-network/xl1-protocol'
1
+ import type { Payload } from '@xyo-network/payload-model'
2
+ import type { BlockBoundWitness } from '@xyo-network/xl1-protocol'
3
3
 
4
- export const flattenHydratedBlock = (hydratedBlock: HydratedBlock): WithStorageMeta<Payload>[] => {
4
+ export const flattenHydratedBlock = <B extends BlockBoundWitness, P extends Payload>(hydratedBlock: [B, P[]]): (P | B)[] => {
5
5
  const [blk, blkPayloads] = hydratedBlock
6
6
  return [...blkPayloads, blk]
7
7
  }
@@ -1,7 +1,7 @@
1
- import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
2
- import type { HydratedBlock } from '@xyo-network/xl1-protocol'
1
+ import type { Payload, WithHashMeta } from '@xyo-network/payload-model'
2
+ import type { HydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol'
3
3
 
4
4
  import { flattenHydratedBlock } from './flattenHydratedBlock.ts'
5
5
 
6
- export const flattenHydratedBlocks = (hydratedBlocks: HydratedBlock[]): WithStorageMeta<Payload>[] =>
6
+ export const flattenHydratedBlocks = (hydratedBlocks: HydratedBlockWithHashMeta[]): WithHashMeta<Payload>[] =>
7
7
  hydratedBlocks.flatMap(blk => flattenHydratedBlock(blk))
@@ -1,6 +1,6 @@
1
1
  import type { Hash } from '@xylabs/sdk-js'
2
2
  import { assertEx } from '@xylabs/sdk-js'
3
- import type { HydratedBlock } from '@xyo-network/xl1-protocol'
3
+ import type { HydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol'
4
4
  import { asBlockBoundWitnessWithStorageMeta, isTransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
5
5
 
6
6
  import type { ChainStoreRead } from '../../model/index.ts'
@@ -11,7 +11,7 @@ export const hydrateBlock = async (
11
11
  hash: Hash,
12
12
  maxDepth: number = 1,
13
13
  minDepth = maxDepth,
14
- ): Promise<HydratedBlock> => {
14
+ ): Promise<HydratedBlockWithHashMeta> => {
15
15
  assertEx(maxDepth >= 0, () => 'maxDepth must be greater than or equal to 0')
16
16
  assertEx(minDepth >= 0, () => 'minDepth must be greater than or equal to 0')
17
17
  assertEx(maxDepth >= minDepth, () => 'maxDepth must be greater than or equal to minDepth')
@@ -1,8 +1,6 @@
1
- import { filterAs } from '@xylabs/sdk-js'
2
- import type { WithStorageMeta } from '@xyo-network/payload-model'
3
- import type { HydratedBlock, TransactionBoundWitness } from '@xyo-network/xl1-protocol'
4
- import { asTransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
1
+ import type { HydratedBlock, TransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
2
+ import { isTransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
5
3
 
6
- export const transactionsFromHydratedBlock = (block: HydratedBlock): WithStorageMeta<TransactionBoundWitness>[] => {
7
- return filterAs(block[1], asTransactionBoundWitnessWithStorageMeta)
4
+ export const transactionsFromHydratedBlock = (block: HydratedBlock): TransactionBoundWitnessWithStorageMeta[] => {
5
+ return block[1].filter(isTransactionBoundWitnessWithStorageMeta)
8
6
  }
@@ -1,17 +1,28 @@
1
- import { asHash, type Hash } from '@xylabs/sdk-js'
1
+ import {
2
+ asHash, type Hash, isDefined,
3
+ } from '@xylabs/sdk-js'
2
4
  import { toSafeJsonString } from '@xylabs/sdk-js'
3
- import type { WithStorageMeta } from '@xyo-network/payload-model'
5
+ import type { Signed } from '@xyo-network/boundwitness-model'
6
+ import type { WithHashMeta } from '@xyo-network/payload-model'
4
7
  import type { BlockBoundWitness, XL1BlockNumber } from '@xyo-network/xl1-protocol'
5
- import { asBlockBoundWitnessWithStorageMeta, StepSizes } from '@xyo-network/xl1-protocol'
8
+ import {
9
+ asSignedBlockBoundWitnessWithStorageMeta, SignedBlockBoundWitnessWithHashMetaZod, StepSizes,
10
+ } from '@xyo-network/xl1-protocol'
6
11
 
7
12
  import { type ChainContextRead, withContextCacheResponse } from '../../model/index.ts'
8
13
 
9
- export async function blockFromBlockNumber(context: ChainContextRead, blockNumber: XL1BlockNumber): Promise<WithStorageMeta<BlockBoundWitness>> {
14
+ export async function blockFromBlockNumber(context: ChainContextRead, blockNumber: XL1BlockNumber): Promise<WithHashMeta<Signed<BlockBoundWitness>>> {
10
15
  const cacheKey = `${blockNumber}`
11
16
  return await withContextCacheResponse(context, 'blockFromBlockNumber', cacheKey, async () => {
12
17
  const [headHash] = await context.head()
13
18
  const result = await context.store.chainMap.get(headHash)
14
- let currentBlock = asBlockBoundWitnessWithStorageMeta(result, () => `Head block not found for hash: ${headHash}`, { required: true })
19
+ if (!isDefined(result)) {
20
+ throw new Error(`Head block not found for hash: ${headHash}`)
21
+ }
22
+ let currentBlock = asSignedBlockBoundWitnessWithStorageMeta(
23
+ result,
24
+ () => `Found Payload is not a Signed<BlockBoundWitness>: ${JSON.stringify(result, null, 2)}`,
25
+ )
15
26
  if (currentBlock.block < blockNumber) {
16
27
  throw new Error(`Block number ${blockNumber} is greater than head ${currentBlock.block}.`)
17
28
  }
@@ -22,13 +33,22 @@ export async function blockFromBlockNumber(context: ChainContextRead, blockNumbe
22
33
  const possibleJumpBlockNumber = currentBlock.block - (currentBlock.block % stepSize) - 1
23
34
  if (possibleJumpBlockNumber >= blockNumber && possibleJumpBlockNumber <= jumpBlockNumber) {
24
35
  jumpBlockNumber = possibleJumpBlockNumber
25
- jumpHash = asHash(currentBlock.step_hashes.at(step), () => `Step hash not found for step ${step} in block ${currentBlock.block}`)
36
+ jumpHash = asHash(currentBlock.step_hashes?.at(step), () => `Step hash not found for step ${step} in block ${currentBlock.block}`)
26
37
  }
27
38
  }
28
39
  const newBlock = await context.store.chainMap.get(
29
40
  asHash(jumpHash, () => `Jump hash not found for block number [${blockNumber}]: ${jumpBlockNumber} ${toSafeJsonString(currentBlock, 10)}`),
30
41
  )
31
- currentBlock = asBlockBoundWitnessWithStorageMeta(newBlock, () => `Block not found for hash: ${jumpHash}`, { required: true })
42
+ if (!isDefined(newBlock)) {
43
+ throw new Error(`Block not found for jump hash: ${jumpHash}`)
44
+ }
45
+ currentBlock = asSignedBlockBoundWitnessWithStorageMeta(
46
+ newBlock,
47
+ () => {
48
+ const result = SignedBlockBoundWitnessWithHashMetaZod.safeParse(newBlock)
49
+ return `Found Payload [jump hash] is not a Signed<BlockBoundWitness>: ${result.error}`
50
+ },
51
+ )
32
52
  if (currentBlock.block === blockNumber) {
33
53
  break
34
54
  }
@@ -7,6 +7,11 @@ export const ServicesConfigZod = z.object({
7
7
  title: 'services.accountBalanceViewerEndpoint',
8
8
  type: 'string',
9
9
  }),
10
+ apiEndpoint: z.string().optional().register(globalRegistry, {
11
+ description: 'Endpoint of the API to use for instantiating an external Viewers',
12
+ title: 'services.apiEndpoint',
13
+ type: 'string',
14
+ }),
10
15
  })
11
16
 
12
17
  export type ServicesConfig = z.infer<typeof ServicesConfigZod>
package/src/index.ts CHANGED
@@ -20,4 +20,4 @@ export * from './utils/index.ts'
20
20
  export * from './validation/index.ts'
21
21
  export * from './viewers/index.ts'
22
22
  export * from './wallet/index.ts'
23
- export * from './zod/index.ts'
23
+ // export * from './zod/index.ts'
@@ -1,10 +1,8 @@
1
- import type { AllowedBlockPayload, HydratedTransactionWithStorageMeta } from '@xyo-network/xl1-protocol'
1
+ import type { AllowedBlockPayload, HydratedTransaction } from '@xyo-network/xl1-protocol'
2
2
 
3
3
  import type { HydratedBoundWitnessInstance } from '../HydratedBoundWitness.ts'
4
- import type { SignedInstance } from '../modifiers/index.ts'
5
4
  import type { TransactionFieldsInstance } from './TransactionFields.ts'
6
5
 
7
- export interface HydratedTransactionInstance<T extends HydratedTransactionWithStorageMeta = HydratedTransactionWithStorageMeta,
8
- TElevatedPayload extends AllowedBlockPayload = AllowedBlockPayload>
9
- extends TransactionFieldsInstance<T[1][number] & TElevatedPayload>, HydratedBoundWitnessInstance<T>, SignedInstance {
6
+ export interface HydratedTransactionInstance<T extends HydratedTransaction = HydratedTransaction>
7
+ extends TransactionFieldsInstance<T[1][number] & AllowedBlockPayload>, HydratedBoundWitnessInstance<T> {
10
8
  }
@@ -1,14 +1,12 @@
1
1
  import type { Hash } from '@xylabs/sdk-js'
2
- import type {
3
- Payload, Schema, WithStorageMeta,
4
- } from '@xyo-network/payload-model'
2
+ import type { Payload, Schema } from '@xyo-network/payload-model'
5
3
  import type { AllowedBlockPayload } from '@xyo-network/xl1-protocol'
6
4
 
7
5
  import type { TransactionFeesInstance } from '../Fees.ts'
8
6
 
9
7
  export interface TransactionFieldsInstance<TBlockPayload extends AllowedBlockPayload = AllowedBlockPayload> {
10
8
  elevatedPayloadCount: number
11
- elevatedPayloads: WithStorageMeta<TBlockPayload>[]
9
+ elevatedPayloads: TBlockPayload[]
12
10
  externalPayloads: Record<Hash, Schema | Payload>
13
11
 
14
12
  fees: TransactionFeesInstance
@@ -16,6 +14,8 @@ export interface TransactionFieldsInstance<TBlockPayload extends AllowedBlockPay
16
14
  privateExternalPayloads: Record<Hash, Schema>
17
15
  publicExternalPayloads: Payload[]
18
16
 
17
+ signatureCount: number
18
+
19
19
  elevatedPayload(index: number): TBlockPayload | undefined
20
20
  reward(): bigint
21
21
  }
@@ -0,0 +1,14 @@
1
+ import { PayloadBuilder } from '@xyo-network/payload-builder'
2
+ import type { PayloadBundle, WithHashMeta } from '@xyo-network/payload-model'
3
+ import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol'
4
+ import { asSignedTransactionBoundWitnessWithHashMeta } from '@xyo-network/xl1-protocol'
5
+
6
+ export const bundledPayloadToHydratedTransaction = async (
7
+ payload: WithHashMeta<PayloadBundle>,
8
+ ): Promise<SignedHydratedTransactionWithHashMeta | undefined> => {
9
+ const withHashMeta = await PayloadBuilder.addHashMeta(payload.payloads)
10
+ const tx = asSignedTransactionBoundWitnessWithHashMeta(withHashMeta.find(p => p._hash === payload.root))
11
+ if (tx) {
12
+ return [tx, withHashMeta.filter(p => p._hash !== payload.root)]
13
+ }
14
+ }
@@ -0,0 +1,18 @@
1
+ import type { Hash } from '@xylabs/sdk-js'
2
+ import { PayloadBuilder } from '@xyo-network/payload-builder'
3
+ import { type PayloadBundle, PayloadBundleSchema } from '@xyo-network/payload-model'
4
+ import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol'
5
+
6
+ import { flattenHydratedTransaction } from '../../transaction/index.ts'
7
+
8
+ export const hydratedTransactionToPayloadBundle = (transaction: SignedHydratedTransactionWithHashMeta): PayloadBundle => {
9
+ const root = transaction[0]._hash
10
+ return bundle(root, transaction)
11
+ }
12
+
13
+ const bundle = (root: Hash, transaction: SignedHydratedTransactionWithHashMeta) => {
14
+ const payloads = flattenHydratedTransaction(transaction).flatMap(p => PayloadBuilder.omitStorageMeta(p))
15
+ return new PayloadBuilder<PayloadBundle>({ schema: PayloadBundleSchema })
16
+ .fields({ payloads, root })
17
+ .build()
18
+ }
@@ -0,0 +1,2 @@
1
+ export * from './bundledPayloadToHydratedTransaction.ts'
2
+ export * from './hydratedTransactionToPayloadBundle.ts'
@@ -2,6 +2,7 @@ export * from './ChainContext/index.ts'
2
2
  export * from './ChainFork/index.ts'
3
3
  export * from './ChainIdentity.ts'
4
4
  export * from './ChainStore.ts'
5
+ export * from './PayloadBundle/index.ts'
5
6
  export * from './PayloadMap.ts'
6
7
  export * from './Position.ts'
7
8
  export * from './RecordKeyType.ts'
@@ -16,7 +16,7 @@ export async function balancesSummary(
16
16
  return await spanRootAsync('balancesSummary', async () => {
17
17
  const [headHash] = await context.head()
18
18
  const headResult = await context.store.chainMap.get(headHash)
19
- const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${headHash}`, { required: true })
19
+ const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${headHash}`)
20
20
  const rangeStart = asXL1BlockNumber(isDefined(context.windowSize) ? Math.max(headBoundWitness.block - context.windowSize + 1, 0) : 0)
21
21
  const ranges = deepCalculateFramesFromRange(asXL1BlockRange(
22
22
  [rangeStart, headBoundWitness.block],
@@ -1,9 +1,10 @@
1
- /* eslint-disable max-statements */
2
1
  import { assertEx } from '@xylabs/sdk-js'
3
- import { isBoundWitnessWithStorageMeta } from '@xyo-network/boundwitness-model'
2
+ import { isBoundWitness } from '@xyo-network/boundwitness-model'
4
3
  import { PayloadBuilder } from '@xyo-network/payload-builder'
5
- import type { Schema, WithStorageMeta } from '@xyo-network/payload-model'
6
- import { isAnyPayload } from '@xyo-network/payload-model'
4
+ import type {
5
+ Schema, WithHashMeta, WithStorageMeta,
6
+ } from '@xyo-network/payload-model'
7
+ import { isAnyPayload, isHashMeta } from '@xyo-network/payload-model'
7
8
  import type { XL1BlockRange } from '@xyo-network/xl1-protocol'
8
9
  import { StepSizes } from '@xyo-network/xl1-protocol'
9
10
 
@@ -18,7 +19,7 @@ import { SchemasStepSummarySchema } from '../../../payloads/index.ts'
18
19
  export async function schemasStepSummaryFromRange(
19
20
  context: SchemasStepSummaryContext,
20
21
  range: XL1BlockRange,
21
- ): Promise<WithStorageMeta<SchemasStepSummary>> {
22
+ ): Promise<WithHashMeta<SchemasStepSummary>> {
22
23
  // console.log(`balanceStepSummaryFromRange: head=${head}, range=${range[0]}-${range[1]}`)
23
24
  const frameHeadHash = await hashFromBlockNumber(context, range[1])
24
25
  const frameSize = range[1] - range[0] + 1
@@ -29,7 +30,7 @@ export async function schemasStepSummaryFromRange(
29
30
  if (frameSize === 1) {
30
31
  const hash = await hashFromBlockNumber(context, range[0])
31
32
  const [block, payloads] = await hydrateBlock(context.store, hash)
32
- const boundWitnesses = [block, ...payloads.filter(isBoundWitnessWithStorageMeta)]
33
+ const boundWitnesses = [block, ...payloads.filter(x => isBoundWitness(x) && isHashMeta(x))]
33
34
  const schemas: Record<Schema, number> = {}
34
35
  for (const bw of boundWitnesses) {
35
36
  schemas[bw.schema] = (schemas[bw.schema] ?? 0) + 1
@@ -78,6 +79,5 @@ export async function schemasStepSummaryFromRange(
78
79
  }
79
80
  }
80
81
  // console.log(`balanceStepSummaryFromRange-result: head=${head}, range=${range[0]}-${range[1]}: ${toSafeJsonString(result, 10)}`)
81
- const finalResult = await PayloadBuilder.addStorageMeta(result)
82
- return finalResult
82
+ return await PayloadBuilder.addHashMeta(result)
83
83
  }
@@ -15,7 +15,7 @@ export async function schemasSummary(
15
15
  return await spanRootAsync('schemasSummary', async () => {
16
16
  const [headHash] = await context.head()
17
17
  const headResult = await context.store.chainMap.get(headHash)
18
- const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${headHash}`, { required: true })
18
+ const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${headHash}`)
19
19
  const rangeStart = asXL1BlockNumber(isDefined(context.windowSize) ? Math.max(headBoundWitness.block - context.windowSize + 1, 0) : 0)
20
20
  const ranges = deepCalculateFramesFromRange(asXL1BlockRange(
21
21
  [rangeStart, headBoundWitness.block],
@@ -17,7 +17,7 @@ export async function transfersSummary(
17
17
  return await spanRootAsync('transferSummary', async () => {
18
18
  const [headHash] = await transferContext.head()
19
19
  const headResult = await transferContext.store.chainMap.get(headHash)
20
- const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${transferContext.head}`, { required: true })
20
+ const headBoundWitness = asBlockBoundWitnessWithStorageMeta(headResult, () => `Head block not found for hash: ${transferContext.head}`)
21
21
  const rangeStart = asXL1BlockNumber(isDefined(transferContext.windowSize) ? Math.max(headBoundWitness.block - transferContext.windowSize + 1, 0) : 0)
22
22
  const ranges = deepCalculateFramesFromRange(asXL1BlockRange(
23
23
  [rangeStart, headBoundWitness.block],
@@ -1,12 +1,12 @@
1
- import type { WithStorageMeta } from '@xyo-network/payload-model'
2
- import type { AllowedBlockPayload, SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-protocol'
1
+ import type { WithHashMeta } from '@xyo-network/payload-model'
2
+ import type { AllowedBlockPayload, HydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol'
3
3
  import { isAllowedBlockPayload } from '@xyo-network/xl1-protocol'
4
4
 
5
5
  const ELEVATE_OPCODE = 'elevate'
6
6
 
7
- export function elevatedPayloads([tx, payloads]: SignedHydratedTransactionWithStorageMeta) {
7
+ export function elevatedPayloads([tx, payloads]: HydratedTransactionWithHashMeta) {
8
8
  const opCodes = (tx.script ?? []).filter(operation => operation.startsWith(`${ELEVATE_OPCODE}|`))
9
- const elevatedPayloads: WithStorageMeta<AllowedBlockPayload>[] = []
9
+ const elevatedPayloads: WithHashMeta<AllowedBlockPayload>[] = []
10
10
  for (const opCode of opCodes) {
11
11
  const [code, hash] = opCode.split('|')
12
12
  if (code === ELEVATE_OPCODE) {
@@ -4,15 +4,16 @@ import type {
4
4
  import type { Payload } from '@xyo-network/payload-model'
5
5
  import type {
6
6
  AllowedBlockPayload, SignedHydratedTransaction, TransactionFeesBigInt,
7
+ XL1BlockNumber,
7
8
  } from '@xyo-network/xl1-protocol'
8
9
 
9
10
  /** @deprecated use TransactionOptions instead */
10
11
  export interface TransactionSubmitterOptions {
11
12
  chain?: Hex
12
- exp?: number
13
+ exp?: XL1BlockNumber
13
14
  fees?: TransactionFeesBigInt
14
15
  from?: Address
15
- nbf?: number
16
+ nbf?: XL1BlockNumber
16
17
  }
17
18
 
18
19
  /** @deprecated use XyoGatewayHelpers instead */
@@ -5,6 +5,7 @@ import type { Payload } from '@xyo-network/payload-model'
5
5
  import type {
6
6
  AllowedBlockPayload, AttoXL1, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta, TransactionFeesBigInt,
7
7
  UnsignedHydratedTransaction,
8
+ XL1BlockNumber,
8
9
  } from '@xyo-network/xl1-protocol'
9
10
 
10
11
  import type { ConfirmSubmittedTransactionOptions } from '../transaction/index.ts'
@@ -13,10 +14,10 @@ import type { XyoGateway } from './XyoGateway.ts'
13
14
 
14
15
  export interface TransactionOptions {
15
16
  chain?: Hex
16
- exp?: number
17
+ exp?: XL1BlockNumber
17
18
  fees?: TransactionFeesBigInt
18
19
  from?: Address
19
- nbf?: number
20
+ nbf?: XL1BlockNumber
20
21
  }
21
22
 
22
23
  export interface XyoGatewayRunnerMethods {
@@ -1,8 +1,9 @@
1
1
  import type { Address, Promisable } from '@xylabs/sdk-js'
2
- import type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'
2
+ import type { Signed } from '@xyo-network/boundwitness-model'
3
3
  import type { Payload } from '@xyo-network/payload-model'
4
4
  import type {
5
- AllowedBlockPayload, ChainId, SignedHydratedTransactionWithHashMeta, TransactionBoundWitness,
5
+ AllowedBlockPayload, ChainId,
6
+ SignedHydratedTransactionWithHashMeta, TransactionBoundWitness,
6
7
  TransactionFeesBigInt,
7
8
  } from '@xyo-network/xl1-protocol'
8
9
 
@@ -11,7 +12,7 @@ export interface XyoSigner {
11
12
  // The tx passed in must have all the payloads (on and off chain) in the payloads array
12
13
  // Returns the signed transaction and the payloads array excluding the off-chain payloads.
13
14
  // The return value is ready to be broadcast to block producers
14
- signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promisable<SignedHydratedTransactionWithHashMeta>
15
+ signTransaction(tx: [TransactionBoundWitness, Payload[]]): Promisable<SignedHydratedTransactionWithHashMeta>
15
16
  }
16
17
 
17
18
  export interface XyoSignerDeprecated {
@@ -18,6 +18,9 @@ export interface XyoViewerMethods extends AccountBalanceViewerMethods, TransferB
18
18
  }
19
19
 
20
20
  export interface XyoViewer extends XyoViewerMethods {
21
+ account?: {
22
+ balance?: AccountBalanceViewer
23
+ }
21
24
  networkStake?: NetworkStakeViewer
22
25
  step?: StepViewer
23
26
  }