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

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 +17 -17
  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
@@ -1,8 +1,8 @@
1
1
  import type {
2
2
  Addressable,
3
- BlockBoundWitness, HydratedBlock, IterableRepository,
3
+ BlockBoundWitness, HydratedBlockWithHashMeta, IterableRepository,
4
4
  } from '@xyo-network/xl1-protocol'
5
5
 
6
- export type NextBlockProducer = IterableRepository<BlockBoundWitness, HydratedBlock | undefined>
6
+ export type NextBlockProducer = IterableRepository<BlockBoundWitness, HydratedBlockWithHashMeta | undefined>
7
7
 
8
8
  export interface BlockProducerService extends Addressable, NextBlockProducer {}
@@ -1,12 +1,14 @@
1
- import type { Address, Hash } from '@xylabs/sdk-js'
1
+ import type {
2
+ Address, CreatableParams, Hash,
3
+ } from '@xylabs/sdk-js'
2
4
  import {
5
+ AbstractCreatable,
3
6
  assertEx, exists, isDefined,
4
7
  } from '@xylabs/sdk-js'
5
8
  import { spanRootAsync } from '@xylabs/telemetry'
6
- import type { Signed } from '@xyo-network/boundwitness-model'
7
- import type { WithStorageMeta } from '@xyo-network/payload-model'
9
+ import type { WithHashMeta, WithStorageMeta } from '@xyo-network/payload-model'
8
10
  import type {
9
- BlockBoundWitness, Transfer, XL1BlockNumber, XL1BlockRange,
11
+ SignedBlockBoundWitnessWithHashMeta, Transfer, XL1BlockNumber, XL1BlockRange,
10
12
  } from '@xyo-network/xl1-protocol'
11
13
  import {
12
14
  asRange, asXL1BlockNumber, asXL1BlockRange, AttoXL1,
@@ -22,15 +24,31 @@ import type {
22
24
  AccountBalanceHistoryItem, AccountBalanceViewer, BlockViewer,
23
25
  } from '../../viewers/index.ts'
24
26
 
25
- export class SimpleAccountBalanceViewer implements AccountBalanceViewer {
26
- protected readonly blockViewer: BlockViewer
27
- protected readonly context: BalanceStepSummaryContext
28
- protected readonly transferContext: TransfersStepSummaryContext
27
+ export interface SimpleAccountBalanceViewerParams extends CreatableParams {
28
+ blockViewer: BlockViewer
29
+ context: BalanceStepSummaryContext
30
+ transferContext: TransfersStepSummaryContext
31
+ }
32
+
33
+ export class SimpleAccountBalanceViewer extends AbstractCreatable<SimpleAccountBalanceViewerParams> implements AccountBalanceViewer {
34
+ get blockViewer(): BlockViewer {
35
+ return this.params.blockViewer!
36
+ }
37
+
38
+ get context(): BalanceStepSummaryContext {
39
+ return this.params.context!
40
+ }
41
+
42
+ get transferContext(): TransfersStepSummaryContext {
43
+ return this.params.transferContext!
44
+ }
45
+
46
+ static override async paramsHandler(params: Partial<SimpleAccountBalanceViewerParams>) {
47
+ assertEx(params.blockViewer, () => 'blockViewer is required')
48
+ assertEx(params.context, () => 'context is required')
49
+ assertEx(params.transferContext, () => 'transferContext is required')
29
50
 
30
- constructor(context: BalanceStepSummaryContext, transferContext: TransfersStepSummaryContext, blockViewer: BlockViewer) {
31
- this.context = context
32
- this.transferContext = transferContext
33
- this.blockViewer = blockViewer
51
+ return { ...await super.paramsHandler(params) }
34
52
  }
35
53
 
36
54
  async accountBalance(address: Address, headOrRange?: XL1BlockRange | Hash): Promise<AttoXL1> {
@@ -56,7 +74,7 @@ export class SimpleAccountBalanceViewer implements AccountBalanceViewer {
56
74
  if (transfers.length === 0) {
57
75
  continue
58
76
  }
59
- const pairs: [WithStorageMeta<Signed<BlockBoundWitness>>, WithStorageMeta<Transfer>][] = (transfers.map((transfer) => {
77
+ const pairs: [SignedBlockBoundWitnessWithHashMeta, WithHashMeta<Transfer>][] = (transfers.map((transfer) => {
60
78
  return [block[0], transfer]
61
79
  }))
62
80
  result.push(...pairs.map(([block, transfer]) => [block,
@@ -6,12 +6,15 @@ import {
6
6
  } from '@xylabs/sdk-js'
7
7
  import { PayloadBuilder } from '@xyo-network/payload-builder'
8
8
  import type { Payload, WithHashMeta } from '@xyo-network/payload-model'
9
+ import type {
10
+ AllowedBlockPayload,
11
+ AttoXL1,
12
+ SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,
13
+ Transfer,
14
+ UnsignedHydratedTransaction,
15
+ } from '@xyo-network/xl1-protocol'
9
16
  import {
10
- type AllowedBlockPayload,
11
- type AttoXL1,
12
- type SignedHydratedTransaction,
13
- type SignedHydratedTransactionWithHashMeta,
14
- type Transfer,
17
+ asXL1BlockNumber,
15
18
  TransferSchema,
16
19
  } from '@xyo-network/xl1-protocol'
17
20
 
@@ -65,8 +68,8 @@ export class SimpleXyoGatewayRunner implements XyoGatewayRunner {
65
68
  nbf, exp, chain, fees,
66
69
  } = options ?? {}
67
70
  const resolvedChainId = isDefined(chain) ? chain : await viewer.chainId()
68
- const resolvedNbf = isDefined(nbf) ? nbf : await viewer?.currentBlockNumber()
69
- const resolvedExp = isDefined(exp) ? exp : resolvedNbf + 10
71
+ const resolvedNbf = asXL1BlockNumber(isDefined(nbf) ? nbf : await viewer.currentBlockNumber(), true)
72
+ const resolvedExp = asXL1BlockNumber(isDefined(exp) ? exp : resolvedNbf + 10, true)
70
73
 
71
74
  // Build, sign, and broadcast the transaction
72
75
  // eslint-disable-next-line sonarjs/deprecation
@@ -74,7 +77,7 @@ export class SimpleXyoGatewayRunner implements XyoGatewayRunner {
74
77
  return await this.addTransactionToChain(tx)
75
78
  }
76
79
 
77
- async addTransactionToChain(tx: SignedHydratedTransaction): Promise<[Hash, SignedHydratedTransactionWithHashMeta]> {
80
+ async addTransactionToChain(tx: UnsignedHydratedTransaction): Promise<[Hash, SignedHydratedTransactionWithHashMeta]> {
78
81
  const connection = this.connectionInstance
79
82
 
80
83
  const signer = this.signerInstance
@@ -0,0 +1,37 @@
1
+ import {
2
+ exists, isDefined, isHash,
3
+ } from '@xylabs/sdk-js'
4
+ import type { ArchivistInstance } from '@xyo-network/archivist-model'
5
+ import {
6
+ isHashMeta, isPayloadBundle, type Sequence,
7
+ } from '@xyo-network/payload-model'
8
+ import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol'
9
+
10
+ import { bundledPayloadToHydratedTransaction } from '../../model/index.ts'
11
+ import type {
12
+ MempoolViewer,
13
+ PendingTransactionsOptions,
14
+ } from '../../viewers/index.ts'
15
+
16
+ export class SimpleMempoolViewer implements MempoolViewer {
17
+ protected readonly archivist: ArchivistInstance
18
+
19
+ constructor(archivist: ArchivistInstance) {
20
+ this.archivist = archivist
21
+ }
22
+
23
+ async pendingTransactions({ cursor: providedCursor }: PendingTransactionsOptions = {}): Promise<SignedHydratedTransactionWithHashMeta[]> {
24
+ let cursor: Sequence | undefined = undefined
25
+ if (isHash(providedCursor)) {
26
+ const [p] = await this.archivist.get([providedCursor])
27
+ if (isDefined(p)) {
28
+ cursor = p._sequence
29
+ }
30
+ }
31
+ const bundles = await this.archivist.next({
32
+ order: 'asc', limit: 100, cursor,
33
+ })
34
+ const filteredBundles = bundles.filter(isPayloadBundle).filter(isHashMeta)
35
+ return (await Promise.all(filteredBundles.map(async bundle => await bundledPayloadToHydratedTransaction(bundle)))).filter(exists)
36
+ }
37
+ }
@@ -0,0 +1 @@
1
+ export * from './SimpleMempoolViewer.ts'
@@ -1,11 +1,14 @@
1
1
  import type { Address, Promisable } from '@xylabs/sdk-js'
2
2
  import type { AccountInstance } from '@xyo-network/account-model'
3
- import type { Signed, UnsignedBoundWitness } from '@xyo-network/boundwitness-model'
4
3
  import { PayloadBuilder } from '@xyo-network/payload-builder'
5
4
  import { type Payload } from '@xyo-network/payload-model'
6
5
  import type {
7
- AllowedBlockPayload, ChainId, SignedHydratedTransactionWithHashMeta, TransactionBoundWitness, TransactionFeesBigInt,
6
+ AllowedBlockPayload, ChainId, SignedHydratedTransactionWithHashMeta,
7
+ SignedTransactionBoundWitness, TransactionFeesBigInt,
8
+ UnsignedTransactionBoundWitness,
9
+ XL1BlockNumber,
8
10
  } from '@xyo-network/xl1-protocol'
11
+ import { SignedHydratedTransactionWithHashMetaZod } from '@xyo-network/xl1-protocol'
9
12
 
10
13
  import type { XyoSigner } from '../../provider/index.ts'
11
14
  import { buildTransaction, signTransaction } from '../../transaction/index.ts'
@@ -25,11 +28,11 @@ export class SimpleXyoSigner implements XyoSigner {
25
28
  chain: ChainId,
26
29
  elevatedPayloads: AllowedBlockPayload[],
27
30
  additionalPayloads: Payload[],
28
- nbf: number,
29
- exp: number,
31
+ nbf: XL1BlockNumber,
32
+ exp: XL1BlockNumber,
30
33
  fees: TransactionFeesBigInt,
31
34
  from?: Address,
32
- ): Promise<Signed<TransactionBoundWitness>> {
35
+ ): Promise<SignedTransactionBoundWitness> {
33
36
  const fromAddress = from ?? this._account.address
34
37
  const transaction = await buildTransaction(
35
38
  chain,
@@ -44,8 +47,8 @@ export class SimpleXyoSigner implements XyoSigner {
44
47
  return transaction[0]
45
48
  }
46
49
 
47
- async signTransaction(tx: [UnsignedBoundWitness<TransactionBoundWitness>, Payload[]]): Promise<SignedHydratedTransactionWithHashMeta> {
50
+ async signTransaction(tx: [UnsignedTransactionBoundWitness, Payload[]]): Promise<SignedHydratedTransactionWithHashMeta> {
48
51
  const txBW = await signTransaction(tx[0], this._account)
49
- return [await PayloadBuilder.addStorageMeta(txBW), await PayloadBuilder.addStorageMeta(tx[1])]
52
+ return SignedHydratedTransactionWithHashMetaZod.parse([await PayloadBuilder.addStorageMeta(txBW), await PayloadBuilder.addStorageMeta(tx[1])])
50
53
  }
51
54
  }
@@ -9,7 +9,9 @@ import type {
9
9
  ChainId,
10
10
  ExecutableFields,
11
11
  FromFields,
12
- SignedHydratedTransactionWithStorageMeta, TransactionBoundWitness, TransactionBoundWitnessFields, TransactionFeesBigInt,
12
+ SignedHydratedTransactionWithHashMeta,
13
+ TransactionBoundWitness, TransactionBoundWitnessFields, TransactionFeesBigInt,
14
+ XL1BlockNumber,
13
15
  } from '@xyo-network/xl1-protocol'
14
16
  import { defaultTransactionFees } from '@xyo-network/xl1-protocol'
15
17
 
@@ -18,16 +20,16 @@ export async function buildTransaction(
18
20
  onChainPayloads: AllowedBlockPayload[],
19
21
  offChainPayloads: Payload[],
20
22
  signer: AccountInstance | AccountInstance[],
21
- nbf: number,
22
- exp: number,
23
+ nbf: XL1BlockNumber,
24
+ exp: XL1BlockNumber,
23
25
  from?: Address,
24
26
  fees: TransactionFeesBigInt = defaultTransactionFees,
25
- ): Promise<SignedHydratedTransactionWithStorageMeta> {
27
+ ): Promise<SignedHydratedTransactionWithHashMeta> {
26
28
  if (from === undefined && Array.isArray(signer)) {
27
29
  throw new Error('from is required when signer is an array')
28
30
  }
29
31
 
30
- const txBoundWitnessFields: TransactionBoundWitnessFields = {
32
+ const txBoundWitnessFields: Omit<TransactionBoundWitnessFields, 'from'> = {
31
33
  chain,
32
34
  fees: {
33
35
  base: toHex(fees.base),
@@ -61,5 +63,5 @@ export async function buildTransaction(
61
63
  .signers(Array.isArray(signer) ? signer : [signer])
62
64
  .build()
63
65
 
64
- return [await PayloadBuilder.addStorageMeta(tx), await PayloadBuilder.addStorageMeta(txPayloads)]
66
+ return [await PayloadBuilder.addHashMeta(tx), await PayloadBuilder.addHashMeta(txPayloads)]
65
67
  }
@@ -6,6 +6,7 @@ import type { Payload } from '@xyo-network/payload-model'
6
6
  import type {
7
7
  AllowedBlockPayload, ChainId, ExecutableFields, FromFields, TransactionBoundWitness, TransactionBoundWitnessFields, TransactionFeesBigInt,
8
8
  UnsignedHydratedTransaction,
9
+ XL1BlockNumber,
9
10
  } from '@xyo-network/xl1-protocol'
10
11
  import { defaultTransactionFees } from '@xyo-network/xl1-protocol'
11
12
 
@@ -13,12 +14,12 @@ export async function buildUnsignedTransaction(
13
14
  chain: ChainId,
14
15
  onChainPayloads: AllowedBlockPayload[],
15
16
  offChainPayloads: Payload[],
16
- nbf: number,
17
- exp: number,
17
+ nbf: XL1BlockNumber,
18
+ exp: XL1BlockNumber,
18
19
  from: Address,
19
20
  fees: TransactionFeesBigInt = defaultTransactionFees,
20
21
  ): Promise<UnsignedHydratedTransaction> {
21
- const txBoundWitnessFields: TransactionBoundWitnessFields = {
22
+ const txBoundWitnessFields: Omit<TransactionBoundWitnessFields, 'from'> = {
22
23
  chain,
23
24
  fees: {
24
25
  base: toHex(fees.base),
@@ -49,7 +50,7 @@ export async function buildUnsignedTransaction(
49
50
  .fields(fields)
50
51
  .meta({ $signatures: [] })
51
52
  .payloads([...onChainPayloads, ...offChainPayloads])
52
- .build()
53
+ .build(false)
53
54
 
54
55
  return [tx, txPayloads]
55
56
  }
@@ -3,8 +3,8 @@ import { assertEx } from '@xylabs/sdk-js'
3
3
  import { hydrateTypedBoundWitness, tryHydrateTypedBoundWitness } from '@xyo-network/archivist-model'
4
4
  import type { Payload, WithStorageMeta } from '@xyo-network/payload-model'
5
5
  import type {
6
- AllowedBlockPayload,
7
- SignedHydratedTransaction, SignedHydratedTransactionWithStorageMeta, TransactionBoundWitness,
6
+ AllowedBlockPayload, SignedHydratedTransaction,
7
+ SignedHydratedTransactionWithStorageMeta, TransactionBoundWitness,
8
8
  } from '@xyo-network/xl1-protocol'
9
9
  import { isAllowedBlockPayload, isSignedTransactionBoundWitnessWithStorageMeta } from '@xyo-network/xl1-protocol'
10
10
 
@@ -1,8 +1,8 @@
1
1
  import { PayloadBuilder } from '@xyo-network/payload-builder'
2
- import type { SignedHydratedTransaction } from '@xyo-network/xl1-protocol'
2
+ import type { HydratedTransaction } from '@xyo-network/xl1-protocol'
3
3
 
4
4
  /** The number of bytes that a transaction and its payloads will take up in a block */
5
- export function transactionBlockByteCount([transaction, payloads]: SignedHydratedTransaction): number {
5
+ export function transactionBlockByteCount([transaction, payloads]: HydratedTransaction): number {
6
6
  const cleanTransaction = PayloadBuilder.omitStorageMeta(transaction)
7
7
  const transactionBytes = JSON.stringify(cleanTransaction).length
8
8
  const cleanPayloads = PayloadBuilder.omitStorageMeta(payloads)
@@ -1,6 +1,6 @@
1
1
  import { asHash, type Hash } from '@xylabs/sdk-js'
2
2
  import type { Payload, WithHashMeta } from '@xyo-network/payload-model'
3
- import type { SignedHydratedTransactionWithStorageMeta, TransactionBoundWitness } from '@xyo-network/xl1-protocol'
3
+ import type { HydratedTransactionWithHashMeta, TransactionBoundWitness } from '@xyo-network/xl1-protocol'
4
4
 
5
5
  import { crackOperations } from './transactionOperations.ts'
6
6
 
@@ -9,7 +9,7 @@ export function transactionElevatedPayloadHashes(transaction: TransactionBoundWi
9
9
  return elevateOperations.map(op => asHash(op[1][0], true))
10
10
  }
11
11
 
12
- export function transactionElevatedPayloads([transaction, payloads]: SignedHydratedTransactionWithStorageMeta): WithHashMeta<Payload>[] {
12
+ export function transactionElevatedPayloads([transaction, payloads]: HydratedTransactionWithHashMeta): WithHashMeta<Payload>[] {
13
13
  const hashes = transactionElevatedPayloadHashes(transaction)
14
14
  const elevatedPayloads = payloads.filter(payload => hashes.includes(payload._hash))
15
15
  return elevatedPayloads
@@ -1,16 +1,16 @@
1
- import type { SignedHydratedTransactionWithStorageMeta } from '@xyo-network/xl1-protocol'
1
+ import type { HydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol'
2
2
  import { AttoXL1, TransactionGasCosts } from '@xyo-network/xl1-protocol'
3
3
 
4
4
  import { transactionBlockByteCount } from './transactionBlockByteCount.ts'
5
5
  import { transactionElevatedPayloads } from './transactionElevatedPayloads.ts'
6
6
 
7
7
  /** The required gas for the byte storage on the block chain for a transaction */
8
- export function transactionBytesRequiredGas([transaction, payloads]: SignedHydratedTransactionWithStorageMeta): AttoXL1 {
8
+ export function transactionBytesRequiredGas([transaction, payloads]: HydratedTransactionWithHashMeta): AttoXL1 {
9
9
  const transactionBlockBytes = transactionBlockByteCount([transaction, payloads])
10
10
  return AttoXL1(TransactionGasCosts.characterStorage * BigInt(transactionBlockBytes))
11
11
  }
12
12
 
13
- export function transactionRequiredGas(hydratedTransaction: SignedHydratedTransactionWithStorageMeta): AttoXL1 {
13
+ export function transactionRequiredGas(hydratedTransaction: HydratedTransactionWithHashMeta): AttoXL1 {
14
14
  const elevatedPayloads = transactionElevatedPayloads(hydratedTransaction)
15
15
  const hashes = elevatedPayloads.length + 1 /* for transaction itself */
16
16
  const signatures = hydratedTransaction[0].addresses.length
@@ -1,7 +1,7 @@
1
1
  import { asHash, type Hash } from '@xylabs/sdk-js'
2
2
  import { assertEx, filterAs } from '@xylabs/sdk-js'
3
3
  import type { WithStorageMeta } from '@xyo-network/payload-model'
4
- import type { AllowedBlockPayload, HydratedTransactionWithStorageMeta } from '@xyo-network/xl1-protocol'
4
+ import type { AllowedBlockPayload, HydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol'
5
5
  import { isAllowedBlockPayloadWithHashMeta } from '@xyo-network/xl1-protocol'
6
6
 
7
7
  export const tryExtractElevatedHashesFromScript = (strings: string[]): Hash[] => {
@@ -20,7 +20,7 @@ export const extractElevatedHashesFromScript = (strings: string[]): Hash[] => {
20
20
  return filtered
21
21
  }
22
22
 
23
- export const tryExtractElevatedHashes = (tx: HydratedTransactionWithStorageMeta): WithStorageMeta<AllowedBlockPayload>[] => {
23
+ export const tryExtractElevatedHashes = (tx: HydratedTransactionWithHashMeta): WithStorageMeta<AllowedBlockPayload>[] => {
24
24
  const [bw, payloads] = tx
25
25
  const { script } = bw
26
26
  const hashes = script ? tryExtractElevatedHashesFromScript(script) : []
@@ -29,7 +29,7 @@ export const tryExtractElevatedHashes = (tx: HydratedTransactionWithStorageMeta)
29
29
  .filter(isAllowedBlockPayloadWithHashMeta)
30
30
  }
31
31
 
32
- export const extractElevatedHashes = (tx: HydratedTransactionWithStorageMeta): WithStorageMeta<AllowedBlockPayload>[] => {
32
+ export const extractElevatedHashes = (tx: HydratedTransactionWithHashMeta): WithStorageMeta<AllowedBlockPayload>[] => {
33
33
  const [bw, payloads] = tx
34
34
  const { script } = bw
35
35
  const hashes = script ? tryExtractElevatedHashesFromScript(script) : []
@@ -2,9 +2,9 @@ import {
2
2
  assertEx, hexFromArrayBuffer, toArrayBuffer,
3
3
  } from '@xylabs/sdk-js'
4
4
  import type { AccountInstance } from '@xyo-network/account-model'
5
- import type { Unsigned } from '@xyo-network/boundwitness-model'
5
+ import type { Signed } from '@xyo-network/boundwitness-model'
6
6
  import { PayloadBuilder } from '@xyo-network/payload-builder'
7
- import type { TransactionBoundWitness } from '@xyo-network/xl1-protocol'
7
+ import type { TransactionBoundWitness, UnsignedTransactionBoundWitness } from '@xyo-network/xl1-protocol'
8
8
 
9
9
  /**
10
10
  * Signs an unsigned transaction with the provided account.
@@ -12,19 +12,22 @@ import type { TransactionBoundWitness } from '@xyo-network/xl1-protocol'
12
12
  * @param account The account to sign the transaction with
13
13
  * @returns The signed transaction
14
14
  */
15
- export async function signTransaction(tx: Unsigned<TransactionBoundWitness>, account: AccountInstance) {
15
+ export async function signTransaction(tx: UnsignedTransactionBoundWitness, account: AccountInstance) {
16
16
  assertEx(tx.from === account.address, () => 'Signer address does not match transaction from address')
17
17
  // Clone tx to prevent modifying original
18
- const signedTx = structuredClone(tx)
18
+ const unsignedTx = structuredClone(tx)
19
19
  // Update dynamic fields based on account
20
- signedTx.addresses = [account.address]
21
- signedTx.previous_hashes = [account.previousHash ?? null]
20
+ unsignedTx.addresses = [account.address]
21
+ unsignedTx.previous_hashes = [account.previousHash ?? null]
22
22
  // Calculate tx hash and sign it
23
- const hash = await PayloadBuilder.dataHash(signedTx)
23
+ const hash = await PayloadBuilder.dataHash(unsignedTx)
24
24
  const hashBytes = toArrayBuffer(hash)
25
25
  const [signature] = await account.sign(hashBytes)
26
26
  // Append the signatures to the transaction
27
- signedTx.$signatures = [hexFromArrayBuffer(signature)]
27
+ const result: Signed<TransactionBoundWitness> = {
28
+ ...unsignedTx,
29
+ $signatures: [hexFromArrayBuffer(signature)],
30
+ }
28
31
  // Return the signed transaction
29
- return signedTx
32
+ return result
30
33
  }
@@ -1,5 +1,5 @@
1
1
  import type { Promisable } from '@xylabs/sdk-js'
2
- import type { ChainId, HydratedBlock } from '@xyo-network/xl1-protocol'
2
+ import type { ChainId, HydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol'
3
3
 
4
4
  import type { AccountBalanceViewer } from '../../viewers/index.ts'
5
5
  import type { HydratedBlockStateValidationError } from './error.ts'
@@ -12,7 +12,7 @@ import type { HydratedBlockStateValidationError } from './error.ts'
12
12
  * @returns An array of errors if the block is invalid, or an empty array if it is valid.
13
13
  */
14
14
  export type HydratedBlockStateValidationFunction = (
15
- hydratedBlock: HydratedBlock,
15
+ hydratedBlock: HydratedBlockWithHashMeta,
16
16
  chainId: ChainId,
17
17
  services: { accountBalance: AccountBalanceViewer },
18
18
  ) => Promisable<HydratedBlockStateValidationError[]>
@@ -1,5 +1,5 @@
1
1
  import type { Promisable } from '@xylabs/sdk-js'
2
- import type { ChainId, HydratedBlock } from '@xyo-network/xl1-protocol'
2
+ import type { ChainId, HydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol'
3
3
 
4
4
  import type { HydratedBlockValidationError } from './error.ts'
5
5
 
@@ -10,6 +10,6 @@ import type { HydratedBlockValidationError } from './error.ts'
10
10
  * @returns An array of errors if the block is invalid, or an empty array if it is valid.
11
11
  */
12
12
  export type HydratedBlockValidationFunction = (
13
- hydratedBlock: HydratedBlock,
13
+ hydratedBlock: HydratedBlockWithHashMeta,
14
14
  chainId?: ChainId,
15
15
  ) => Promisable<HydratedBlockValidationError[]>
@@ -7,10 +7,9 @@ import {
7
7
  TransferZod,
8
8
  type XL1BlockRange,
9
9
  } from '@xyo-network/xl1-protocol'
10
+ import { BlockBoundWitnessZod, TransactionBoundWitnessZod } from '@xyo-network/xl1-protocol'
10
11
  import z from 'zod'
11
12
 
12
- import { BlockBoundWitnessZod, TransactionBoundWitnessZod } from '../zod/index.ts'
13
-
14
13
  export const AccountBalanceHistoryItemZod = z.tuple([
15
14
  WithHashMetaZod(BlockBoundWitnessZod),
16
15
  WithHashMetaZod(TransactionBoundWitnessZod).nullable(),
@@ -1,12 +1,12 @@
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
 
4
4
  export interface BlockViewierMethods {
5
- blockByHash(hash: Hash): Promisable<HydratedBlock | null>
6
- blockByNumber(block: XL1BlockNumber): Promisable<HydratedBlock | null>
7
- blocksByHash(hash: Hash, limit?: number): Promisable<HydratedBlock[]>
5
+ blockByHash(hash: Hash): Promisable<SignedHydratedBlockWithHashMeta | null>
6
+ blockByNumber(block: XL1BlockNumber): Promisable<SignedHydratedBlockWithHashMeta | null>
7
+ blocksByHash(hash: Hash, limit?: number): Promisable<SignedHydratedBlockWithHashMeta[]>
8
8
 
9
- currentBlock(): Promisable<HydratedBlock>
9
+ currentBlock(): Promisable<SignedHydratedBlockWithHashMeta>
10
10
  currentBlockHash(): Promisable<Hash>
11
11
  currentBlockNumber(): Promisable<XL1BlockNumber>
12
12
  }
@@ -0,0 +1,18 @@
1
+ import { HashZod } from '@xylabs/sdk-js'
2
+ import type { SignedHydratedTransactionWithHashMeta } from '@xyo-network/xl1-protocol'
3
+ import { XL1BlockRangeZod } from '@xyo-network/xl1-protocol'
4
+ import z from 'zod'
5
+
6
+ export const PendingTransactionsOptionsZod = z.object({
7
+ cursor: HashZod.optional(),
8
+ limit: z.number().int().positive().optional(),
9
+ window: XL1BlockRangeZod.optional(),
10
+ })
11
+
12
+ export type PendingTransactionsOptions = z.infer<typeof PendingTransactionsOptionsZod>
13
+
14
+ export interface MempoolViewerMethods {
15
+ pendingTransactions(options?: PendingTransactionsOptions): Promise<SignedHydratedTransactionWithHashMeta[]>
16
+ }
17
+
18
+ export interface MempoolViewer extends MempoolViewerMethods {}
@@ -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,4 +0,0 @@
1
- import * as z from 'zod';
2
- export declare const ArrayBufferToJsonZod: z.ZodPipe<z.ZodCustom<ArrayBuffer, ArrayBuffer>, z.ZodTransform<string, ArrayBuffer>>;
3
- export declare const JsonToArrayBufferZod: z.ZodPipe<z.ZodString, z.ZodTransform<ArrayBuffer | SharedArrayBuffer, string>>;
4
- //# sourceMappingURL=ArrayBuffer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ArrayBuffer.d.ts","sourceRoot":"","sources":["../../../src/zod/ArrayBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAiCxB,eAAO,MAAM,oBAAoB,uFAG/B,CAAA;AAEF,eAAO,MAAM,oBAAoB,iFAG/B,CAAA"}
@@ -1,44 +0,0 @@
1
- import * as z from 'zod';
2
- export declare const BlockBoundWitnessZod: z.ZodObject<{
3
- schema: z.ZodLiteral<"network.xyo.boundwitness">;
4
- addresses: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Address, string>>>;
5
- payload_hashes: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
6
- payload_schemas: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodPipe<z.ZodString, z.ZodTransform<string & {
7
- __schema: true;
8
- }, string>>]>>;
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>>>;
12
- $signatures: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>, z.ZodNull]>>;
13
- _hash: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
14
- _dataHash: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
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
- 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<import("@xylabs/sdk-js").Hash, string>>>;
19
- protocol: z.ZodNumber;
20
- step_hashes: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>>;
21
- $epoch: z.ZodNumber;
22
- }, z.core.$strip>;
23
- export declare const SignedBlockBoundWitnessZod: z.ZodObject<{
24
- schema: z.ZodLiteral<"network.xyo.boundwitness">;
25
- addresses: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Address, string>>>;
26
- payload_hashes: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
27
- payload_schemas: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodPipe<z.ZodString, z.ZodTransform<string & {
28
- __schema: true;
29
- }, string>>]>>;
30
- previous_hashes: z.ZodArray<z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>>;
31
- $destination: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Address, string>>>;
32
- $sourceQuery: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
33
- $signatures: z.ZodArray<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hex, string>>, z.ZodNull]>>;
34
- _hash: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
35
- _dataHash: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
36
- _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>>]>>;
37
- block: z.ZodPipe<z.ZodNumber, z.ZodTransform<import("@xyo-network/xl1-protocol").XL1BlockNumber, number>>;
38
- chain: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xyo-network/xl1-protocol").ChainId, string>>;
39
- previous: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>;
40
- protocol: z.ZodNumber;
41
- step_hashes: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>>>;
42
- $epoch: z.ZodNumber;
43
- }, z.core.$strip>;
44
- //# sourceMappingURL=BlockBoundWitness.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockBoundWitness.d.ts","sourceRoot":"","sources":["../../../src/zod/BlockBoundWitness.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAkBxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;iBAMC,CAAA;AAElC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;iBAML,CAAA"}