@xyo-network/xl1-protocol-sdk 1.16.23 → 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.
- 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 +10 -4
- package/dist/neutral/config/Config.d.ts.map +1 -1
- package/dist/neutral/config/Producer.d.ts +0 -1
- package/dist/neutral/config/Producer.d.ts.map +1 -1
- package/dist/neutral/config/Services.d.ts +7 -0
- package/dist/neutral/config/Services.d.ts.map +1 -0
- package/dist/neutral/config/Telemetry.d.ts +16 -0
- package/dist/neutral/config/Telemetry.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 +607 -911
- 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 +5 -2
- 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 +22 -28
- 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 +17 -17
- 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/Config.ts +2 -2
- package/src/config/Producer.ts +0 -6
- package/src/config/Services.ts +17 -0
- package/src/config/Telemetry.ts +19 -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 +5 -1
- 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 +5 -6
- package/src/viewers/Block.ts +5 -5
- package/src/viewers/Mempool.ts +18 -0
- package/src/viewers/index.ts +1 -0
- package/dist/neutral/config/App.d.ts +0 -6
- package/dist/neutral/config/App.d.ts.map +0 -1
- 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/config/App.ts +0 -13
- 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
|
@@ -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.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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("@
|
|
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.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
36
|
-
|
|
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("@
|
|
45
|
-
from: z.ZodPipe<z.ZodString, z.ZodTransform<import("@
|
|
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>>;
|
|
@@ -58,11 +52,11 @@ export declare const AccountBalanceHistoryItemZod: z.ZodTuple<[z.ZodObject<{
|
|
|
58
52
|
}, z.z.core.$strip>], null>;
|
|
59
53
|
export type AccountBalanceHistoryItem = z.infer<typeof AccountBalanceHistoryItemZod>;
|
|
60
54
|
export interface AccountBalanceViewerMethods {
|
|
61
|
-
accountBalance(address: Address, headOrRange?: Hash | XL1BlockRange): Promisable<AttoXL1>;
|
|
62
|
-
accountBalanceHistory(address: Address, headOrRange?: Hash | XL1BlockRange): Promisable<AccountBalanceHistoryItem[]>;
|
|
63
55
|
accountsBalances(address: Address[], headOrRange?: Hash | XL1BlockRange): Promisable<Partial<Record<Address, AttoXL1>>>;
|
|
64
56
|
accountsBalancesHistory(address: Address[], headOrRange?: Hash | XL1BlockRange): Promisable<Partial<Record<Address, AccountBalanceHistoryItem[]>>>;
|
|
65
57
|
}
|
|
66
58
|
export interface AccountBalanceViewer extends AccountBalanceViewerMethods {
|
|
59
|
+
accountBalance(address: Address, headOrRange?: Hash | XL1BlockRange): Promisable<AttoXL1>;
|
|
60
|
+
accountBalanceHistory(address: Address, headOrRange?: Hash | XL1BlockRange): Promisable<AccountBalanceHistoryItem[]>;
|
|
67
61
|
}
|
|
68
62
|
//# sourceMappingURL=AccountBalance.d.ts.map
|
|
@@ -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;
|
|
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 {
|
|
2
|
+
import type { SignedHydratedBlockWithHashMeta, XL1BlockNumber } from '@xyo-network/xl1-protocol';
|
|
3
3
|
export interface BlockViewierMethods {
|
|
4
|
-
blockByHash(hash: Hash): Promisable<
|
|
5
|
-
blockByNumber(block: XL1BlockNumber): Promisable<
|
|
6
|
-
blocksByHash(hash: Hash, limit?: number): Promisable<
|
|
7
|
-
currentBlock(): Promisable<
|
|
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,
|
|
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"}
|
|
@@ -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.
|
|
4
|
+
"version": "1.16.25",
|
|
5
5
|
"description": "XYO Layer One SDK Protocol",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -39,19 +39,19 @@
|
|
|
39
39
|
"!**/*.test.*"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@xylabs/sdk-js": "~5.0.
|
|
43
|
-
"@xylabs/telemetry": "~5.0.
|
|
44
|
-
"@xyo-network/account": "~5.
|
|
45
|
-
"@xyo-network/account-model": "~5.
|
|
46
|
-
"@xyo-network/archivist-memory": "~5.
|
|
47
|
-
"@xyo-network/archivist-model": "~5.
|
|
48
|
-
"@xyo-network/boundwitness-builder": "~5.
|
|
49
|
-
"@xyo-network/boundwitness-model": "~5.
|
|
50
|
-
"@xyo-network/payload-builder": "~5.
|
|
51
|
-
"@xyo-network/payload-model": "~5.
|
|
52
|
-
"@xyo-network/wallet": "~5.
|
|
53
|
-
"@xyo-network/wallet-model": "~5.
|
|
54
|
-
"@xyo-network/xl1-protocol": "~1.
|
|
42
|
+
"@xylabs/sdk-js": "~5.0.42",
|
|
43
|
+
"@xylabs/telemetry": "~5.0.42",
|
|
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.13",
|
|
55
55
|
"async-mutex": "~0.5.0",
|
|
56
56
|
"ethers": "~6.15.0",
|
|
57
57
|
"lru-cache": "^11.2.2",
|
|
@@ -61,12 +61,12 @@
|
|
|
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.
|
|
65
|
-
"@xyo-network/boundwitness-validator": "~5.
|
|
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.
|
|
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 {
|
|
3
|
-
import type {
|
|
4
|
-
import {
|
|
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:
|
|
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 => !
|
|
10
|
+
)).filter(x => !isTransactionBoundWitness(x))
|
|
11
11
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Payload
|
|
2
|
-
import type {
|
|
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:
|
|
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,
|
|
2
|
-
import type {
|
|
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:
|
|
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 {
|
|
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<
|
|
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 {
|
|
2
|
-
import
|
|
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):
|
|
7
|
-
return
|
|
4
|
+
export const transactionsFromHydratedBlock = (block: HydratedBlock): TransactionBoundWitnessWithStorageMeta[] => {
|
|
5
|
+
return block[1].filter(isTransactionBoundWitnessWithStorageMeta)
|
|
8
6
|
}
|
|
@@ -1,17 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
asHash, type Hash, isDefined,
|
|
3
|
+
} from '@xylabs/sdk-js'
|
|
2
4
|
import { toSafeJsonString } from '@xylabs/sdk-js'
|
|
3
|
-
import type {
|
|
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 {
|
|
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<
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
}
|
package/src/config/Config.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as z from 'zod'
|
|
2
2
|
|
|
3
3
|
import { ApiConfigZod } from './Api.ts'
|
|
4
|
-
import { AppConfigZod } from './App.ts'
|
|
5
4
|
import { BridgeConfigZod } from './Bridge.ts'
|
|
6
5
|
import { ChainConfigZod } from './Chain.ts'
|
|
7
6
|
import { EvmConfigZod } from './Evm.ts'
|
|
@@ -9,6 +8,7 @@ import { LogConfigZod } from './Log.ts'
|
|
|
9
8
|
import { MempoolConfigZod } from './Mempool.ts'
|
|
10
9
|
import { ProducerConfigZod } from './Producer.ts'
|
|
11
10
|
import { RewardRedemptionApiConfigZod } from './RewardRedemptionApi.ts'
|
|
11
|
+
import { ServicesConfigZod } from './Services.ts'
|
|
12
12
|
import { StorageConfigZod } from './storage/index.ts'
|
|
13
13
|
import { TelemetryConfigZod } from './Telemetry.ts'
|
|
14
14
|
import { ValidationConfigZod } from './Validation.ts'
|
|
@@ -18,13 +18,13 @@ export const Xl1CommonConfigSchema = z.object({ ...LogConfigZod.shape }).describ
|
|
|
18
18
|
export const ConfigZod = z.object({
|
|
19
19
|
...Xl1CommonConfigSchema.shape,
|
|
20
20
|
api: ApiConfigZod.default(ApiConfigZod.parse({})).describe('Configuration for the API node'),
|
|
21
|
-
app: AppConfigZod.default(AppConfigZod.parse({})).describe('Configuration for the application'),
|
|
22
21
|
bridge: BridgeConfigZod.default(BridgeConfigZod.parse({})).describe('Configuration for the Bridge node'),
|
|
23
22
|
chain: ChainConfigZod.default(ChainConfigZod.parse({})).describe('Configuration for the chain'),
|
|
24
23
|
evm: EvmConfigZod.default(EvmConfigZod.parse({})).describe('Configuration for EVM-backed services'),
|
|
25
24
|
mempool: MempoolConfigZod.default(MempoolConfigZod.parse({})).describe('Configuration for the mempool'),
|
|
26
25
|
producer: ProducerConfigZod.default(ProducerConfigZod.parse({})).describe('Configuration for the producer'),
|
|
27
26
|
rewardRedemptionApi: RewardRedemptionApiConfigZod.default(RewardRedemptionApiConfigZod.parse({})).describe('Configuration for the rewards redemption API'),
|
|
27
|
+
services: ServicesConfigZod.default(ServicesConfigZod.parse({})).describe('Configuration for the global services'),
|
|
28
28
|
storage: StorageConfigZod.default(StorageConfigZod.parse({})).describe('Configuration for the storage'),
|
|
29
29
|
telemetry: TelemetryConfigZod.default(TelemetryConfigZod.parse({})).describe('Configuration for telemetry'),
|
|
30
30
|
validation: ValidationConfigZod.default(ValidationConfigZod.parse({})).describe('Configuration for validation'),
|
package/src/config/Producer.ts
CHANGED
|
@@ -16,12 +16,6 @@ export const ProducerConfigZod = z.object({
|
|
|
16
16
|
type: 'array',
|
|
17
17
|
})),
|
|
18
18
|
|
|
19
|
-
apiEndpoint: z.string().optional().register(globalRegistry, {
|
|
20
|
-
description: 'Endpoint of the API to use for chain data',
|
|
21
|
-
title: 'producer.apiEndpoint',
|
|
22
|
-
type: 'string',
|
|
23
|
-
}),
|
|
24
|
-
|
|
25
19
|
disableIntentRedeclaration: z.boolean().optional().register(globalRegistry, {
|
|
26
20
|
description: 'Should the producer skip redeclaring their intent to continue producing blocks',
|
|
27
21
|
title: 'producer.disableIntentRedeclaration',
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { globalRegistry } from 'zod'
|
|
2
|
+
import * as z from 'zod'
|
|
3
|
+
|
|
4
|
+
export const ServicesConfigZod = z.object({
|
|
5
|
+
accountBalanceViewerEndpoint: z.string().optional().register(globalRegistry, {
|
|
6
|
+
description: 'Endpoint of the API to use for instantiating an external AccountBalanceViewer',
|
|
7
|
+
title: 'services.accountBalanceViewerEndpoint',
|
|
8
|
+
type: 'string',
|
|
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
|
+
}),
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
export type ServicesConfig = z.infer<typeof ServicesConfigZod>
|
package/src/config/Telemetry.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import { globalRegistry } from 'zod'
|
|
2
2
|
import * as z from 'zod'
|
|
3
3
|
|
|
4
|
+
export const MetricsScrapeConfigZod = z.object({
|
|
5
|
+
path: z.string().default('/metrics').register(globalRegistry, {
|
|
6
|
+
default: '/metrics',
|
|
7
|
+
description: 'Path for the metrics scrape endpoint',
|
|
8
|
+
title: 'telemetry.metrics.scrape.path',
|
|
9
|
+
type: 'string',
|
|
10
|
+
}),
|
|
11
|
+
port: z.coerce.number().default(9464).register(globalRegistry, {
|
|
12
|
+
default: 9464,
|
|
13
|
+
description: 'Port for the metrics scrape endpoint',
|
|
14
|
+
title: 'telemetry.metrics.scrape.port',
|
|
15
|
+
type: 'number',
|
|
16
|
+
}),
|
|
17
|
+
}).describe('Metrics scrape configuration')
|
|
18
|
+
|
|
19
|
+
export const MetricsConfigZod = z.object({ scrape: MetricsScrapeConfigZod }).describe('Metrics configuration options')
|
|
20
|
+
|
|
4
21
|
export const OpenTelemetryConfigZod = z.object({
|
|
5
22
|
// OpenTelemetry options
|
|
6
23
|
otlpEndpoint: z.url().optional().register(globalRegistry, {
|
|
@@ -11,6 +28,8 @@ export const OpenTelemetryConfigZod = z.object({
|
|
|
11
28
|
})
|
|
12
29
|
|
|
13
30
|
export const TelemetryConfigZod = z.object({
|
|
31
|
+
// Metrics configuration
|
|
32
|
+
metrics: MetricsConfigZod.optional().describe('Metrics configuration'),
|
|
14
33
|
// OpenTelemetry configuration
|
|
15
34
|
otel: OpenTelemetryConfigZod.optional().describe('OpenTelemetry configuration'),
|
|
16
35
|
}).describe('Telemetry configuration options')
|
package/src/index.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import type { AllowedBlockPayload,
|
|
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
|
|
8
|
-
|
|
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:
|
|
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
|
+
}
|
package/src/model/index.ts
CHANGED
|
@@ -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}
|
|
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 {
|
|
2
|
+
import { isBoundWitness } from '@xyo-network/boundwitness-model'
|
|
4
3
|
import { PayloadBuilder } from '@xyo-network/payload-builder'
|
|
5
|
-
import type {
|
|
6
|
-
|
|
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<
|
|
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(
|
|
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
|
-
|
|
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}
|
|
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}
|
|
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],
|