@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.
- package/dist/neutral/block/hydrate/blockPayloadsFromHydratedBlock.d.ts +3 -3
- package/dist/neutral/block/hydrate/blockPayloadsFromHydratedBlock.d.ts.map +1 -1
- package/dist/neutral/block/hydrate/flattenHydratedBlock.d.ts +3 -3
- package/dist/neutral/block/hydrate/flattenHydratedBlock.d.ts.map +1 -1
- package/dist/neutral/block/hydrate/flattenHydratedBlocks.d.ts +3 -3
- package/dist/neutral/block/hydrate/flattenHydratedBlocks.d.ts.map +1 -1
- package/dist/neutral/block/hydrate/hydrateBlock.d.ts +2 -2
- package/dist/neutral/block/hydrate/hydrateBlock.d.ts.map +1 -1
- package/dist/neutral/block/hydrate/transactionsFromHydratedBlock.d.ts +2 -3
- package/dist/neutral/block/hydrate/transactionsFromHydratedBlock.d.ts.map +1 -1
- package/dist/neutral/block/primitives/blockFromBlockNumber.d.ts +3 -2
- package/dist/neutral/block/primitives/blockFromBlockNumber.d.ts.map +1 -1
- package/dist/neutral/config/Config.d.ts +1 -0
- package/dist/neutral/config/Config.d.ts.map +1 -1
- package/dist/neutral/config/Services.d.ts +1 -0
- package/dist/neutral/config/Services.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +0 -1
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +534 -851
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/instances/transaction/HydratedTransaction.d.ts +2 -3
- package/dist/neutral/instances/transaction/HydratedTransaction.d.ts.map +1 -1
- package/dist/neutral/instances/transaction/TransactionFields.d.ts +3 -2
- package/dist/neutral/instances/transaction/TransactionFields.d.ts.map +1 -1
- package/dist/neutral/model/PayloadBundle/bundledPayloadToHydratedTransaction.d.ts +4 -0
- package/dist/neutral/model/PayloadBundle/bundledPayloadToHydratedTransaction.d.ts.map +1 -0
- package/dist/neutral/model/PayloadBundle/hydratedTransactionToPayloadBundle.d.ts +4 -0
- package/dist/neutral/model/PayloadBundle/hydratedTransactionToPayloadBundle.d.ts.map +1 -0
- package/dist/neutral/model/PayloadBundle/index.d.ts +3 -0
- package/dist/neutral/model/PayloadBundle/index.d.ts.map +1 -0
- package/dist/neutral/model/index.d.ts +1 -0
- package/dist/neutral/model/index.d.ts.map +1 -1
- package/dist/neutral/primitives/summary/schemas/schemasStepSummaryFromRange.d.ts +2 -2
- package/dist/neutral/primitives/summary/schemas/schemasStepSummaryFromRange.d.ts.map +1 -1
- package/dist/neutral/primitives/transaction/elevatedPayloads.d.ts +3 -3
- package/dist/neutral/primitives/transaction/elevatedPayloads.d.ts.map +1 -1
- package/dist/neutral/provider/TransactionSubmitter.d.ts +3 -3
- package/dist/neutral/provider/TransactionSubmitter.d.ts.map +1 -1
- package/dist/neutral/provider/XyoGatewayRunner.d.ts +3 -3
- package/dist/neutral/provider/XyoGatewayRunner.d.ts.map +1 -1
- package/dist/neutral/provider/signer/XyoSigner.d.ts +2 -2
- package/dist/neutral/provider/signer/XyoSigner.d.ts.map +1 -1
- package/dist/neutral/provider/viewer/XyoViewer.d.ts +3 -0
- package/dist/neutral/provider/viewer/XyoViewer.d.ts.map +1 -1
- package/dist/neutral/services/BlockProducerService.d.ts +2 -2
- package/dist/neutral/services/BlockProducerService.d.ts.map +1 -1
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +18 -6
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -1
- package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts +2 -2
- package/dist/neutral/simple/gateway/SimpleXyoGatewayRunner.d.ts.map +1 -1
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts +9 -0
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts.map +1 -0
- package/dist/neutral/simple/mempool/index.d.ts +2 -0
- package/dist/neutral/simple/mempool/index.d.ts.map +1 -0
- package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts +3 -4
- package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts.map +1 -1
- package/dist/neutral/transaction/buildTransaction.d.ts +2 -2
- package/dist/neutral/transaction/buildTransaction.d.ts.map +1 -1
- package/dist/neutral/transaction/buildUnsignedTransaction.d.ts +2 -2
- package/dist/neutral/transaction/buildUnsignedTransaction.d.ts.map +1 -1
- package/dist/neutral/transaction/hydrateTransaction.d.ts.map +1 -1
- package/dist/neutral/transaction/primitives/transactionBlockByteCount.d.ts +2 -2
- package/dist/neutral/transaction/primitives/transactionBlockByteCount.d.ts.map +1 -1
- package/dist/neutral/transaction/primitives/transactionElevatedPayloads.d.ts +2 -2
- package/dist/neutral/transaction/primitives/transactionElevatedPayloads.d.ts.map +1 -1
- package/dist/neutral/transaction/primitives/transactionRequiredGas.d.ts +3 -3
- package/dist/neutral/transaction/primitives/transactionRequiredGas.d.ts.map +1 -1
- package/dist/neutral/transaction/script.d.ts +3 -3
- package/dist/neutral/transaction/script.d.ts.map +1 -1
- package/dist/neutral/transaction/signTransaction.d.ts +23 -3
- package/dist/neutral/transaction/signTransaction.d.ts.map +1 -1
- package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts +2 -2
- package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts.map +1 -1
- package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts +2 -2
- package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts.map +1 -1
- package/dist/neutral/viewers/AccountBalance.d.ts +20 -26
- package/dist/neutral/viewers/AccountBalance.d.ts.map +1 -1
- package/dist/neutral/viewers/Block.d.ts +5 -5
- package/dist/neutral/viewers/Block.d.ts.map +1 -1
- package/dist/neutral/viewers/Mempool.d.ts +14 -0
- package/dist/neutral/viewers/Mempool.d.ts.map +1 -0
- package/dist/neutral/viewers/index.d.ts +1 -0
- package/dist/neutral/viewers/index.d.ts.map +1 -1
- package/package.json +18 -18
- package/src/block/hydrate/blockPayloadsFromHydratedBlock.ts +5 -5
- package/src/block/hydrate/flattenHydratedBlock.ts +3 -3
- package/src/block/hydrate/flattenHydratedBlocks.ts +3 -3
- package/src/block/hydrate/hydrateBlock.ts +2 -2
- package/src/block/hydrate/transactionsFromHydratedBlock.ts +4 -6
- package/src/block/primitives/blockFromBlockNumber.ts +27 -7
- package/src/config/Services.ts +5 -0
- package/src/index.ts +1 -1
- package/src/instances/transaction/HydratedTransaction.ts +3 -5
- package/src/instances/transaction/TransactionFields.ts +4 -4
- package/src/model/PayloadBundle/bundledPayloadToHydratedTransaction.ts +14 -0
- package/src/model/PayloadBundle/hydratedTransactionToPayloadBundle.ts +18 -0
- package/src/model/PayloadBundle/index.ts +2 -0
- package/src/model/index.ts +1 -0
- package/src/primitives/summary/balances/balancesSummary.ts +1 -1
- package/src/primitives/summary/schemas/schemasStepSummaryFromRange.ts +8 -8
- package/src/primitives/summary/schemas/schemasSummary.ts +1 -1
- package/src/primitives/summary/transfers/transfersSummary.ts +1 -1
- package/src/primitives/transaction/elevatedPayloads.ts +4 -4
- package/src/provider/TransactionSubmitter.ts +3 -2
- package/src/provider/XyoGatewayRunner.ts +3 -2
- package/src/provider/signer/XyoSigner.ts +4 -3
- package/src/provider/viewer/XyoViewer.ts +3 -0
- package/src/services/BlockProducerService.ts +2 -2
- package/src/simple/accountBalance/SimpleAccountBalanceViewer.ts +31 -13
- package/src/simple/gateway/SimpleXyoGatewayRunner.ts +11 -8
- package/src/simple/mempool/SimpleMempoolViewer.ts +37 -0
- package/src/simple/mempool/index.ts +1 -0
- package/src/simple/signer/SimpleXyoSigner.ts +10 -7
- package/src/transaction/buildTransaction.ts +8 -6
- package/src/transaction/buildUnsignedTransaction.ts +5 -4
- package/src/transaction/hydrateTransaction.ts +2 -2
- package/src/transaction/primitives/transactionBlockByteCount.ts +2 -2
- package/src/transaction/primitives/transactionElevatedPayloads.ts +2 -2
- package/src/transaction/primitives/transactionRequiredGas.ts +3 -3
- package/src/transaction/script.ts +3 -3
- package/src/transaction/signTransaction.ts +12 -9
- package/src/validation/block/HydratedBlockStateValidationFunction.ts +2 -2
- package/src/validation/block/HydratedBlockValidationFunction.ts +2 -2
- package/src/viewers/AccountBalance.ts +1 -2
- package/src/viewers/Block.ts +5 -5
- package/src/viewers/Mempool.ts +18 -0
- package/src/viewers/index.ts +1 -0
- package/dist/neutral/zod/ArrayBuffer.d.ts +0 -4
- package/dist/neutral/zod/ArrayBuffer.d.ts.map +0 -1
- package/dist/neutral/zod/BlockBoundWitness.d.ts +0 -44
- package/dist/neutral/zod/BlockBoundWitness.d.ts.map +0 -1
- package/dist/neutral/zod/BoundWitness.d.ts +0 -123
- package/dist/neutral/zod/BoundWitness.d.ts.map +0 -1
- package/dist/neutral/zod/Chain.d.ts +0 -4
- package/dist/neutral/zod/Chain.d.ts.map +0 -1
- package/dist/neutral/zod/HydratedBlock.d.ts +0 -133
- package/dist/neutral/zod/HydratedBlock.d.ts.map +0 -1
- package/dist/neutral/zod/HydratedTransaction.d.ts +0 -210
- package/dist/neutral/zod/HydratedTransaction.d.ts.map +0 -1
- package/dist/neutral/zod/Permission.d.ts +0 -53
- package/dist/neutral/zod/Permission.d.ts.map +0 -1
- package/dist/neutral/zod/RewardsRangeOptions.d.ts +0 -11
- package/dist/neutral/zod/RewardsRangeOptions.d.ts.map +0 -1
- package/dist/neutral/zod/Sequence.d.ts +0 -9
- package/dist/neutral/zod/Sequence.d.ts.map +0 -1
- package/dist/neutral/zod/Stake.d.ts +0 -62
- package/dist/neutral/zod/Stake.d.ts.map +0 -1
- package/dist/neutral/zod/TimeDomain.d.ts +0 -3
- package/dist/neutral/zod/TimeDomain.d.ts.map +0 -1
- package/dist/neutral/zod/TransactionBoundWitness.d.ts +0 -75
- package/dist/neutral/zod/TransactionBoundWitness.d.ts.map +0 -1
- package/dist/neutral/zod/TransactionFees.d.ts +0 -53
- package/dist/neutral/zod/TransactionFees.d.ts.map +0 -1
- package/dist/neutral/zod/TransferPair.d.ts +0 -3
- package/dist/neutral/zod/TransferPair.d.ts.map +0 -1
- package/dist/neutral/zod/index.d.ts +0 -15
- package/dist/neutral/zod/index.d.ts.map +0 -1
- package/src/zod/ArrayBuffer.ts +0 -42
- package/src/zod/BlockBoundWitness.ts +0 -36
- package/src/zod/BoundWitness.ts +0 -56
- package/src/zod/Chain.ts +0 -5
- package/src/zod/HydratedBlock.ts +0 -32
- package/src/zod/HydratedTransaction.ts +0 -37
- package/src/zod/Permission.ts +0 -23
- package/src/zod/RewardsRangeOptions.ts +0 -10
- package/src/zod/Sequence.ts +0 -15
- package/src/zod/Stake.ts +0 -43
- package/src/zod/TimeDomain.ts +0 -7
- package/src/zod/TransactionBoundWitness.ts +0 -42
- package/src/zod/TransactionFees.ts +0 -45
- package/src/zod/TransferPair.ts +0 -6
- package/src/zod/index.ts +0 -14
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
Addressable,
|
|
3
|
-
BlockBoundWitness,
|
|
3
|
+
BlockBoundWitness, HydratedBlockWithHashMeta, IterableRepository,
|
|
4
4
|
} from '@xyo-network/xl1-protocol'
|
|
5
5
|
|
|
6
|
-
export type NextBlockProducer = IterableRepository<BlockBoundWitness,
|
|
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 {
|
|
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 {
|
|
7
|
-
import type { WithStorageMeta } from '@xyo-network/payload-model'
|
|
9
|
+
import type { WithHashMeta, WithStorageMeta } from '@xyo-network/payload-model'
|
|
8
10
|
import type {
|
|
9
|
-
|
|
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
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
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: [
|
|
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
|
-
|
|
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
|
|
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:
|
|
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,
|
|
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:
|
|
29
|
-
exp:
|
|
31
|
+
nbf: XL1BlockNumber,
|
|
32
|
+
exp: XL1BlockNumber,
|
|
30
33
|
fees: TransactionFeesBigInt,
|
|
31
34
|
from?: Address,
|
|
32
|
-
): Promise<
|
|
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: [
|
|
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
|
-
|
|
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:
|
|
22
|
-
exp:
|
|
23
|
+
nbf: XL1BlockNumber,
|
|
24
|
+
exp: XL1BlockNumber,
|
|
23
25
|
from?: Address,
|
|
24
26
|
fees: TransactionFeesBigInt = defaultTransactionFees,
|
|
25
|
-
): Promise<
|
|
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.
|
|
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:
|
|
17
|
-
exp:
|
|
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
|
-
|
|
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 {
|
|
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]:
|
|
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 {
|
|
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]:
|
|
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 {
|
|
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]:
|
|
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:
|
|
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,
|
|
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:
|
|
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:
|
|
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 {
|
|
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:
|
|
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
|
|
18
|
+
const unsignedTx = structuredClone(tx)
|
|
19
19
|
// Update dynamic fields based on account
|
|
20
|
-
|
|
21
|
-
|
|
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(
|
|
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
|
-
|
|
27
|
+
const result: Signed<TransactionBoundWitness> = {
|
|
28
|
+
...unsignedTx,
|
|
29
|
+
$signatures: [hexFromArrayBuffer(signature)],
|
|
30
|
+
}
|
|
28
31
|
// Return the signed transaction
|
|
29
|
-
return
|
|
32
|
+
return result
|
|
30
33
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Promisable } from '@xylabs/sdk-js'
|
|
2
|
-
import type { ChainId,
|
|
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:
|
|
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,
|
|
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:
|
|
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(),
|
package/src/viewers/Block.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Hash, Promisable } from '@xylabs/sdk-js'
|
|
2
|
-
import type {
|
|
2
|
+
import type { SignedHydratedBlockWithHashMeta, XL1BlockNumber } from '@xyo-network/xl1-protocol'
|
|
3
3
|
|
|
4
4
|
export interface BlockViewierMethods {
|
|
5
|
-
blockByHash(hash: Hash): Promisable<
|
|
6
|
-
blockByNumber(block: XL1BlockNumber): Promisable<
|
|
7
|
-
blocksByHash(hash: Hash, limit?: number): Promisable<
|
|
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<
|
|
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 {}
|
package/src/viewers/index.ts
CHANGED
|
@@ -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"}
|