@xyo-network/xl1-protocol-lib 1.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +165 -0
- package/README.md +81 -0
- package/dist/neutral/OpenTelemetryProviders.d.ts +7 -0
- package/dist/neutral/OpenTelemetryProviders.d.ts.map +1 -0
- package/dist/neutral/index.d.ts +10 -0
- package/dist/neutral/index.d.ts.map +1 -0
- package/dist/neutral/index.mjs +375 -0
- package/dist/neutral/index.mjs.map +1 -0
- package/dist/neutral/network/Status.d.ts +26 -0
- package/dist/neutral/network/Status.d.ts.map +1 -0
- package/dist/neutral/network/index.d.ts +2 -0
- package/dist/neutral/network/index.d.ts.map +1 -0
- package/dist/neutral/permissions/InvokerPermission.d.ts +53 -0
- package/dist/neutral/permissions/InvokerPermission.d.ts.map +1 -0
- package/dist/neutral/permissions/XyoPermissions.d.ts +33 -0
- package/dist/neutral/permissions/XyoPermissions.d.ts.map +1 -0
- package/dist/neutral/permissions/index.d.ts +3 -0
- package/dist/neutral/permissions/index.d.ts.map +1 -0
- package/dist/neutral/providers/DataLake/Provider.d.ts +10 -0
- package/dist/neutral/providers/DataLake/Provider.d.ts.map +1 -0
- package/dist/neutral/providers/DataLake/Runner.d.ts +15 -0
- package/dist/neutral/providers/DataLake/Runner.d.ts.map +1 -0
- package/dist/neutral/providers/DataLake/Viewer.d.ts +14 -0
- package/dist/neutral/providers/DataLake/Viewer.d.ts.map +1 -0
- package/dist/neutral/providers/DataLake/index.d.ts +4 -0
- package/dist/neutral/providers/DataLake/index.d.ts.map +1 -0
- package/dist/neutral/providers/TransactionHelper.d.ts +9 -0
- package/dist/neutral/providers/TransactionHelper.d.ts.map +1 -0
- package/dist/neutral/providers/XyoClient.d.ts +23 -0
- package/dist/neutral/providers/XyoClient.d.ts.map +1 -0
- package/dist/neutral/providers/XyoConnection.d.ts +18 -0
- package/dist/neutral/providers/XyoConnection.d.ts.map +1 -0
- package/dist/neutral/providers/XyoGateway.d.ts +20 -0
- package/dist/neutral/providers/XyoGateway.d.ts.map +1 -0
- package/dist/neutral/providers/XyoGatewayRunner.d.ts +50 -0
- package/dist/neutral/providers/XyoGatewayRunner.d.ts.map +1 -0
- package/dist/neutral/providers/XyoNetwork.d.ts +7 -0
- package/dist/neutral/providers/XyoNetwork.d.ts.map +1 -0
- package/dist/neutral/providers/XyoRunner.d.ts +16 -0
- package/dist/neutral/providers/XyoRunner.d.ts.map +1 -0
- package/dist/neutral/providers/index.d.ts +9 -0
- package/dist/neutral/providers/index.d.ts.map +1 -0
- package/dist/neutral/providers/signer/XyoSigner.d.ts +21 -0
- package/dist/neutral/providers/signer/XyoSigner.d.ts.map +1 -0
- package/dist/neutral/providers/signer/index.d.ts +2 -0
- package/dist/neutral/providers/signer/index.d.ts.map +1 -0
- package/dist/neutral/repository/Repository.d.ts +27 -0
- package/dist/neutral/repository/Repository.d.ts.map +1 -0
- package/dist/neutral/repository/TransactionReadRepository.d.ts +6 -0
- package/dist/neutral/repository/TransactionReadRepository.d.ts.map +1 -0
- package/dist/neutral/repository/TransactionRepository.d.ts +13 -0
- package/dist/neutral/repository/TransactionRepository.d.ts.map +1 -0
- package/dist/neutral/repository/TransactionRepositoryIterator.d.ts +6 -0
- package/dist/neutral/repository/TransactionRepositoryIterator.d.ts.map +1 -0
- package/dist/neutral/repository/TransactionWriteRepository.d.ts +6 -0
- package/dist/neutral/repository/TransactionWriteRepository.d.ts.map +1 -0
- package/dist/neutral/repository/index.d.ts +6 -0
- package/dist/neutral/repository/index.d.ts.map +1 -0
- package/dist/neutral/runners/Block.d.ts +16 -0
- package/dist/neutral/runners/Block.d.ts.map +1 -0
- package/dist/neutral/runners/Finalization.d.ts +15 -0
- package/dist/neutral/runners/Finalization.d.ts.map +1 -0
- package/dist/neutral/runners/Mempool.d.ts +25 -0
- package/dist/neutral/runners/Mempool.d.ts.map +1 -0
- package/dist/neutral/runners/index.d.ts +4 -0
- package/dist/neutral/runners/index.d.ts.map +1 -0
- package/dist/neutral/validation/block/BlockValidationFunction.d.ts +6 -0
- package/dist/neutral/validation/block/BlockValidationFunction.d.ts.map +1 -0
- package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts +19 -0
- package/dist/neutral/validation/block/HydratedBlockStateValidationFunction.d.ts.map +1 -0
- package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts +14 -0
- package/dist/neutral/validation/block/HydratedBlockValidationFunction.d.ts.map +1 -0
- package/dist/neutral/validation/block/error.d.ts +21 -0
- package/dist/neutral/validation/block/error.d.ts.map +1 -0
- package/dist/neutral/validation/block/index.d.ts +5 -0
- package/dist/neutral/validation/block/index.d.ts.map +1 -0
- package/dist/neutral/validation/boundwitness/BoundWitnessValidationFunction.d.ts +6 -0
- package/dist/neutral/validation/boundwitness/BoundWitnessValidationFunction.d.ts.map +1 -0
- package/dist/neutral/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts +8 -0
- package/dist/neutral/validation/boundwitness/HydratedBoundWitnessValidationFunction.d.ts.map +1 -0
- package/dist/neutral/validation/boundwitness/error.d.ts +13 -0
- package/dist/neutral/validation/boundwitness/error.d.ts.map +1 -0
- package/dist/neutral/validation/boundwitness/index.d.ts +4 -0
- package/dist/neutral/validation/boundwitness/index.d.ts.map +1 -0
- package/dist/neutral/validation/error.d.ts +11 -0
- package/dist/neutral/validation/error.d.ts.map +1 -0
- package/dist/neutral/validation/index.d.ts +6 -0
- package/dist/neutral/validation/index.d.ts.map +1 -0
- package/dist/neutral/validation/payload/InBlockPayloadValidationFunction.d.ts +10 -0
- package/dist/neutral/validation/payload/InBlockPayloadValidationFunction.d.ts.map +1 -0
- package/dist/neutral/validation/payload/error.d.ts +12 -0
- package/dist/neutral/validation/payload/error.d.ts.map +1 -0
- package/dist/neutral/validation/payload/index.d.ts +3 -0
- package/dist/neutral/validation/payload/index.d.ts.map +1 -0
- package/dist/neutral/validation/transaction/HydratedTransactionStateValidationFunction.d.ts +18 -0
- package/dist/neutral/validation/transaction/HydratedTransactionStateValidationFunction.d.ts.map +1 -0
- package/dist/neutral/validation/transaction/HydratedTransactionValidationFunction.d.ts +16 -0
- package/dist/neutral/validation/transaction/HydratedTransactionValidationFunction.d.ts.map +1 -0
- package/dist/neutral/validation/transaction/error.d.ts +8 -0
- package/dist/neutral/validation/transaction/error.d.ts.map +1 -0
- package/dist/neutral/validation/transaction/index.d.ts +4 -0
- package/dist/neutral/validation/transaction/index.d.ts.map +1 -0
- package/dist/neutral/viewers/Block.d.ts +29 -0
- package/dist/neutral/viewers/Block.d.ts.map +1 -0
- package/dist/neutral/viewers/BlockInvalidation.d.ts +68 -0
- package/dist/neutral/viewers/BlockInvalidation.d.ts.map +1 -0
- package/dist/neutral/viewers/BlockReward.d.ts +14 -0
- package/dist/neutral/viewers/BlockReward.d.ts.map +1 -0
- package/dist/neutral/viewers/BlockValidation.d.ts +68 -0
- package/dist/neutral/viewers/BlockValidation.d.ts.map +1 -0
- package/dist/neutral/viewers/ChainContract.d.ts +22 -0
- package/dist/neutral/viewers/ChainContract.d.ts.map +1 -0
- package/dist/neutral/viewers/ChainStakeViewer.d.ts +11 -0
- package/dist/neutral/viewers/ChainStakeViewer.d.ts.map +1 -0
- package/dist/neutral/viewers/Finalization.d.ts +18 -0
- package/dist/neutral/viewers/Finalization.d.ts.map +1 -0
- package/dist/neutral/viewers/Fork.d.ts +9 -0
- package/dist/neutral/viewers/Fork.d.ts.map +1 -0
- package/dist/neutral/viewers/Mempool.d.ts +31 -0
- package/dist/neutral/viewers/Mempool.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/NetworkStakeViewer.d.ts +17 -0
- package/dist/neutral/viewers/NetworkStake/NetworkStakeViewer.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/ByPositionViewer.d.ts +14 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/ByPositionViewer.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/ByStakerViewer.d.ts +15 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/ByStakerViewer.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/ByStepViewer.d.ts +14 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/ByStepViewer.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/Options.d.ts +19 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/Options.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/TotalViewer.d.ts +14 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/TotalViewer.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/Viewer.d.ts +20 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/Viewer.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/index.d.ts +8 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/index.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts +6 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/templates/MethodsTemplate.d.ts +10 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/templates/MethodsTemplate.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/templates/index.d.ts +3 -0
- package/dist/neutral/viewers/NetworkStake/Rewards/templates/index.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStake/index.d.ts +3 -0
- package/dist/neutral/viewers/NetworkStake/index.d.ts.map +1 -0
- package/dist/neutral/viewers/NetworkStakeStepReward.d.ts +40 -0
- package/dist/neutral/viewers/NetworkStakeStepReward.d.ts.map +1 -0
- package/dist/neutral/viewers/Stake.d.ts +38 -0
- package/dist/neutral/viewers/Stake.d.ts.map +1 -0
- package/dist/neutral/viewers/StakeEvents.d.ts +44 -0
- package/dist/neutral/viewers/StakeEvents.d.ts.map +1 -0
- package/dist/neutral/viewers/StakeIntent.d.ts +15 -0
- package/dist/neutral/viewers/StakeIntent.d.ts.map +1 -0
- package/dist/neutral/viewers/StakeTotals.d.ts +20 -0
- package/dist/neutral/viewers/StakeTotals.d.ts.map +1 -0
- package/dist/neutral/viewers/StepStake.d.ts +14 -0
- package/dist/neutral/viewers/StepStake.d.ts.map +1 -0
- package/dist/neutral/viewers/StepViewer.d.ts +37 -0
- package/dist/neutral/viewers/StepViewer.d.ts.map +1 -0
- package/dist/neutral/viewers/TimeSync.d.ts +21 -0
- package/dist/neutral/viewers/TimeSync.d.ts.map +1 -0
- package/dist/neutral/viewers/Transaction.d.ts +22 -0
- package/dist/neutral/viewers/Transaction.d.ts.map +1 -0
- package/dist/neutral/viewers/TransactionInvalidation.d.ts +66 -0
- package/dist/neutral/viewers/TransactionInvalidation.d.ts.map +1 -0
- package/dist/neutral/viewers/TransactionValidation.d.ts +67 -0
- package/dist/neutral/viewers/TransactionValidation.d.ts.map +1 -0
- package/dist/neutral/viewers/TransferBalance.d.ts +30 -0
- package/dist/neutral/viewers/TransferBalance.d.ts.map +1 -0
- package/dist/neutral/viewers/WindowedBlock.d.ts +18 -0
- package/dist/neutral/viewers/WindowedBlock.d.ts.map +1 -0
- package/dist/neutral/viewers/XyoViewer.d.ts +55 -0
- package/dist/neutral/viewers/XyoViewer.d.ts.map +1 -0
- package/dist/neutral/viewers/index.d.ts +24 -0
- package/dist/neutral/viewers/index.d.ts.map +1 -0
- package/package.json +73 -0
- package/src/OpenTelemetryProviders.ts +7 -0
- package/src/index.ts +9 -0
- package/src/network/Status.ts +30 -0
- package/src/network/index.ts +1 -0
- package/src/permissions/InvokerPermission.ts +58 -0
- package/src/permissions/XyoPermissions.ts +41 -0
- package/src/permissions/index.ts +2 -0
- package/src/providers/DataLake/Provider.ts +11 -0
- package/src/providers/DataLake/Runner.ts +16 -0
- package/src/providers/DataLake/Viewer.ts +16 -0
- package/src/providers/DataLake/index.ts +3 -0
- package/src/providers/TransactionHelper.ts +15 -0
- package/src/providers/XyoClient.ts +27 -0
- package/src/providers/XyoConnection.ts +20 -0
- package/src/providers/XyoGateway.ts +24 -0
- package/src/providers/XyoGatewayRunner.ts +72 -0
- package/src/providers/XyoNetwork.ts +8 -0
- package/src/providers/XyoRunner.ts +19 -0
- package/src/providers/index.ts +8 -0
- package/src/providers/signer/XyoSigner.ts +36 -0
- package/src/providers/signer/index.ts +1 -0
- package/src/repository/Repository.ts +32 -0
- package/src/repository/TransactionReadRepository.ts +6 -0
- package/src/repository/TransactionRepository.ts +12 -0
- package/src/repository/TransactionRepositoryIterator.ts +6 -0
- package/src/repository/TransactionWriteRepository.ts +6 -0
- package/src/repository/index.ts +5 -0
- package/src/runners/Block.ts +21 -0
- package/src/runners/Finalization.ts +17 -0
- package/src/runners/Mempool.ts +31 -0
- package/src/runners/index.ts +3 -0
- package/src/validation/block/BlockValidationFunction.ts +13 -0
- package/src/validation/block/HydratedBlockStateValidationFunction.ts +29 -0
- package/src/validation/block/HydratedBlockValidationFunction.ts +21 -0
- package/src/validation/block/error.ts +51 -0
- package/src/validation/block/index.ts +4 -0
- package/src/validation/boundwitness/BoundWitnessValidationFunction.ts +9 -0
- package/src/validation/boundwitness/HydratedBoundWitnessValidationFunction.ts +15 -0
- package/src/validation/boundwitness/error.ts +29 -0
- package/src/validation/boundwitness/index.ts +3 -0
- package/src/validation/error.ts +25 -0
- package/src/validation/index.ts +5 -0
- package/src/validation/payload/InBlockPayloadValidationFunction.ts +16 -0
- package/src/validation/payload/error.ts +24 -0
- package/src/validation/payload/index.ts +2 -0
- package/src/validation/transaction/HydratedTransactionStateValidationFunction.ts +27 -0
- package/src/validation/transaction/HydratedTransactionValidationFunction.ts +23 -0
- package/src/validation/transaction/error.ts +16 -0
- package/src/validation/transaction/index.ts +3 -0
- package/src/viewers/Block.ts +40 -0
- package/src/viewers/BlockInvalidation.ts +81 -0
- package/src/viewers/BlockReward.ts +18 -0
- package/src/viewers/BlockValidation.ts +81 -0
- package/src/viewers/ChainContract.ts +28 -0
- package/src/viewers/ChainStakeViewer.ts +15 -0
- package/src/viewers/Finalization.ts +22 -0
- package/src/viewers/Fork.ts +10 -0
- package/src/viewers/Mempool.ts +40 -0
- package/src/viewers/NetworkStake/NetworkStakeViewer.ts +20 -0
- package/src/viewers/NetworkStake/Rewards/ByPositionViewer.ts +19 -0
- package/src/viewers/NetworkStake/Rewards/ByStakerViewer.ts +20 -0
- package/src/viewers/NetworkStake/Rewards/ByStepViewer.ts +18 -0
- package/src/viewers/NetworkStake/Rewards/Options.ts +22 -0
- package/src/viewers/NetworkStake/Rewards/TotalViewer.ts +17 -0
- package/src/viewers/NetworkStake/Rewards/Viewer.ts +22 -0
- package/src/viewers/NetworkStake/Rewards/index.ts +7 -0
- package/src/viewers/NetworkStake/Rewards/templates/ByIndexMethodsTemplate.ts +7 -0
- package/src/viewers/NetworkStake/Rewards/templates/MethodsTemplate.ts +10 -0
- package/src/viewers/NetworkStake/Rewards/templates/index.ts +2 -0
- package/src/viewers/NetworkStake/index.ts +4 -0
- package/src/viewers/NetworkStakeStepReward.ts +82 -0
- package/src/viewers/Stake.ts +44 -0
- package/src/viewers/StakeEvents.ts +54 -0
- package/src/viewers/StakeIntent.ts +21 -0
- package/src/viewers/StakeTotals.ts +21 -0
- package/src/viewers/StepStake.ts +26 -0
- package/src/viewers/StepViewer.ts +57 -0
- package/src/viewers/TimeSync.ts +27 -0
- package/src/viewers/Transaction.ts +27 -0
- package/src/viewers/TransactionInvalidation.ts +71 -0
- package/src/viewers/TransactionValidation.ts +72 -0
- package/src/viewers/TransferBalance.ts +35 -0
- package/src/viewers/WindowedBlock.ts +23 -0
- package/src/viewers/XyoViewer.ts +73 -0
- package/src/viewers/index.ts +23 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type Promisable } from '@xylabs/sdk-js'
|
|
2
|
+
import { zodIsFactory } from '@xylabs/sdk-js'
|
|
3
|
+
import type {
|
|
4
|
+
Provider, SignedHydratedTransaction, SignedHydratedTransactionWithHashMeta,
|
|
5
|
+
} from '@xyo-network/xl1-protocol-model'
|
|
6
|
+
import {
|
|
7
|
+
ChainQualificationZod, ChainQualifiedHeadConfigZod, ChainQualifiedRangeConfigZod,
|
|
8
|
+
} from '@xyo-network/xl1-protocol-model'
|
|
9
|
+
import { z } from 'zod'
|
|
10
|
+
|
|
11
|
+
import type { HydratedTransactionValidationError } from '../validation/index.ts'
|
|
12
|
+
|
|
13
|
+
/** TransactionValidationQualificationZod constant. */
|
|
14
|
+
export const TransactionValidationQualificationZod = ChainQualificationZod
|
|
15
|
+
/** TransactionValidationQualification type. */
|
|
16
|
+
export type TransactionValidationQualification = z.infer<typeof TransactionValidationQualificationZod>
|
|
17
|
+
/** Type guard that checks if a value is a valid TransactionValidationQualification. */
|
|
18
|
+
export const isTransactionValidationQualification = zodIsFactory(TransactionValidationQualificationZod)
|
|
19
|
+
|
|
20
|
+
/** TransactionValidationConfigFieldsZod constant. */
|
|
21
|
+
export const TransactionValidationConfigFieldsZod = z.object({
|
|
22
|
+
value: z.boolean().optional(),
|
|
23
|
+
state: z.boolean().optional(),
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
/** TransactionValidationConfigZod constant. */
|
|
27
|
+
export const TransactionValidationConfigZod = z.union([
|
|
28
|
+
TransactionValidationConfigFieldsZod.extend(ChainQualifiedHeadConfigZod.shape),
|
|
29
|
+
TransactionValidationConfigFieldsZod.extend(ChainQualifiedRangeConfigZod.shape),
|
|
30
|
+
TransactionValidationConfigFieldsZod,
|
|
31
|
+
z.object({}),
|
|
32
|
+
])
|
|
33
|
+
|
|
34
|
+
/** TransactionValidationConfig type. */
|
|
35
|
+
export type TransactionValidationConfig = z.infer<typeof TransactionValidationConfigZod>
|
|
36
|
+
/** Type guard that checks if a value is a valid TransactionValidationConfig. */
|
|
37
|
+
export const isTransactionValidationConfig = zodIsFactory(TransactionValidationConfigZod)
|
|
38
|
+
|
|
39
|
+
/** TransactionValidationViewerMethods interface. */
|
|
40
|
+
export interface TransactionValidationViewerMethods {
|
|
41
|
+
qualifiedValidateTransactions(
|
|
42
|
+
blocks: SignedHydratedTransaction[],
|
|
43
|
+
config?: TransactionValidationConfig
|
|
44
|
+
): Promisable<[(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[], TransactionValidationQualification]>
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** Moniker identifier for the TransactionValidationViewer provider. */
|
|
48
|
+
export const TransactionValidationViewerMoniker = 'TransactionValidationViewer' as const
|
|
49
|
+
/** Type literal for the TransactionValidationViewer provider moniker. */
|
|
50
|
+
export type TransactionValidationViewerMoniker = typeof TransactionValidationViewerMoniker
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Checks if transactions are valid (currently valid) according to protocol rules.
|
|
54
|
+
* In the case that they are not valid, they may still become valid in the future.
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
export interface TransactionValidationViewer extends TransactionValidationViewerMethods, Provider<TransactionValidationViewerMoniker> {
|
|
58
|
+
qualifiedValidateTransaction(
|
|
59
|
+
block: SignedHydratedTransaction,
|
|
60
|
+
config?: TransactionValidationConfig
|
|
61
|
+
): Promisable<[HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta, TransactionValidationQualification]>
|
|
62
|
+
|
|
63
|
+
validateTransaction(
|
|
64
|
+
block: SignedHydratedTransaction,
|
|
65
|
+
config?: TransactionValidationConfig
|
|
66
|
+
): Promisable<HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta>
|
|
67
|
+
|
|
68
|
+
validateTransactions(
|
|
69
|
+
blocks: SignedHydratedTransaction[],
|
|
70
|
+
config?: TransactionValidationConfig
|
|
71
|
+
): Promisable<(HydratedTransactionValidationError[] | SignedHydratedTransactionWithHashMeta)[]>
|
|
72
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Address, Promisable } from '@xylabs/sdk-js'
|
|
2
|
+
import type { Signed } from '@xyo-network/sdk-js'
|
|
3
|
+
import type {
|
|
4
|
+
AttoXL1, BlockBoundWitness, Provider, TransactionBoundWitness, Transfer, XL1BlockRange,
|
|
5
|
+
} from '@xyo-network/xl1-protocol-model'
|
|
6
|
+
|
|
7
|
+
/** TransferBalanceHistoryItem type. */
|
|
8
|
+
export type TransferBalanceHistoryItem = [
|
|
9
|
+
Signed<BlockBoundWitness> /* block */,
|
|
10
|
+
Signed<TransactionBoundWitness> | null,
|
|
11
|
+
Transfer, /* the actual transfer payload */
|
|
12
|
+
]
|
|
13
|
+
/** TransferPair type. */
|
|
14
|
+
export type TransferPair = [Address, Address]
|
|
15
|
+
|
|
16
|
+
/** TransferBalancesViewerMethods interface. */
|
|
17
|
+
export interface TransferBalancesViewerMethods {
|
|
18
|
+
transferBalances(address: Address[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>
|
|
19
|
+
transferBalancesHistories(address: Address[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>
|
|
20
|
+
transferPairBalances(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, AttoXL1>>>>
|
|
21
|
+
transferPairBalancesHistories(address: TransferPair[]): Promisable<Partial<Record<Address, Record<Address, TransferBalanceHistoryItem[]>>>>
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Moniker identifier for the TransferBalanceViewer provider. */
|
|
25
|
+
export const TransferBalanceViewerMoniker = 'TransferBalanceViewer' as const
|
|
26
|
+
/** Type literal for the TransferBalanceViewer provider moniker. */
|
|
27
|
+
export type TransferBalanceViewerMoniker = typeof TransferBalanceViewerMoniker
|
|
28
|
+
|
|
29
|
+
/** Viewer interface for reading TransferBalance data. */
|
|
30
|
+
export interface TransferBalanceViewer extends TransferBalancesViewerMethods, Provider<TransferBalanceViewerMoniker> {
|
|
31
|
+
transferBalance(address: Address): Promisable<AttoXL1>
|
|
32
|
+
transferBalanceHistory(address: Address, range?: XL1BlockRange): Promisable<TransferBalanceHistoryItem[]>
|
|
33
|
+
transferPairBalance(address: TransferPair): Promisable<AttoXL1>
|
|
34
|
+
transferPairBalanceHistory(address: TransferPair): Promisable<TransferBalanceHistoryItem[]>
|
|
35
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Hash, Promisable } from '@xylabs/sdk-js'
|
|
2
|
+
import type {
|
|
3
|
+
HydratedBlockWithHashMeta, Provider, ProviderMoniker,
|
|
4
|
+
} from '@xyo-network/xl1-protocol-model'
|
|
5
|
+
|
|
6
|
+
import type { BlockViewerMethods } from './Block.ts'
|
|
7
|
+
|
|
8
|
+
type ExtendableBlockViewerMethods = Omit<BlockViewerMethods, 'rate' | 'stepSizeRate' | 'timeDurationRate'>
|
|
9
|
+
|
|
10
|
+
/** WindowedBlockViewerMethods interface. */
|
|
11
|
+
export interface WindowedBlockViewerMethods extends ExtendableBlockViewerMethods {
|
|
12
|
+
blocksByTransactionHashes(hashes: Hash[]): Promisable<HydratedBlockWithHashMeta[]>
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** Moniker identifier for the WindowedBlockViewer provider. */
|
|
16
|
+
export const WindowedBlockViewerMoniker = 'WindowedBlockViewer' as const
|
|
17
|
+
/** Type literal for the WindowedBlockViewer provider moniker. */
|
|
18
|
+
export type WindowedBlockViewerMoniker = typeof WindowedBlockViewerMoniker
|
|
19
|
+
|
|
20
|
+
/** Viewer interface for reading WindowedBlock data. */
|
|
21
|
+
export interface WindowedBlockViewer<TMoniker extends ProviderMoniker = WindowedBlockViewerMoniker> extends WindowedBlockViewerMethods, Provider<TMoniker> {
|
|
22
|
+
blockByTransactionHash(hash: Hash): Promisable<HydratedBlockWithHashMeta | null>
|
|
23
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { Address, Promisable } from '@xylabs/sdk-js'
|
|
2
|
+
import type {
|
|
3
|
+
AccountBalanceHistoryItem, AccountBalanceViewer, AttoXL1,
|
|
4
|
+
ChainQualifiedConfig, Provider,
|
|
5
|
+
} from '@xyo-network/xl1-protocol-model'
|
|
6
|
+
|
|
7
|
+
import type { BlockViewer, BlockViewerMethods } from './Block.ts'
|
|
8
|
+
import type { FinalizationViewer } from './Finalization.ts'
|
|
9
|
+
import type { ForkViewerMethods } from './Fork.ts'
|
|
10
|
+
import type { MempoolViewer } from './Mempool.ts'
|
|
11
|
+
import type { NetworkStakeViewer } from './NetworkStake/index.ts'
|
|
12
|
+
import type { NetworkStakeStepRewardViewerMethods } from './NetworkStakeStepReward.ts'
|
|
13
|
+
import type { StakeViewer, StakeViewerMethods } from './Stake.ts'
|
|
14
|
+
import type { StepViewer } from './StepViewer.ts'
|
|
15
|
+
import type { TimeSyncViewer } from './TimeSync.ts'
|
|
16
|
+
import type { TransactionViewer, TransactionViewerMethods } from './Transaction.ts'
|
|
17
|
+
|
|
18
|
+
/** XyoViewerMethods interface. */
|
|
19
|
+
export interface XyoViewerMethods extends
|
|
20
|
+
NetworkStakeStepRewardViewerMethods, BlockViewerMethods,
|
|
21
|
+
Omit<TransactionViewerMethods, 'byHash'>, Omit<
|
|
22
|
+
StakeViewerMethods, 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'
|
|
23
|
+
| 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'
|
|
24
|
+
>, ForkViewerMethods {
|
|
25
|
+
/** @deprecated Use .account.balance.accountBalance instead */
|
|
26
|
+
accountBalance(address: Address, config?: ChainQualifiedConfig): Promisable<AttoXL1>
|
|
27
|
+
/** @deprecated Use .account.balance.accountBalanceHistory instead */
|
|
28
|
+
accountBalanceHistory(address: Address, config?: ChainQualifiedConfig): Promisable<AccountBalanceHistoryItem[]>
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** XyoViewerMethodsV2 interface. */
|
|
32
|
+
export interface XyoViewerMethodsV2 {
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Moniker identifier for the XyoViewer provider. */
|
|
37
|
+
export const XyoViewerMoniker = 'XyoViewer' as const
|
|
38
|
+
/** Type literal for the XyoViewer provider moniker. */
|
|
39
|
+
export type XyoViewerMoniker = typeof XyoViewerMoniker
|
|
40
|
+
|
|
41
|
+
/** Viewer interface for reading Xyo data. */
|
|
42
|
+
export interface XyoViewer extends Omit<BlockViewer, 'moniker'>, XyoViewerMethods,
|
|
43
|
+
Omit<
|
|
44
|
+
StakeViewerMethods, 'moniker' | 'minWithdrawalBlocks' | 'rewardsContract' | 'stakingTokenAddress' | 'active'
|
|
45
|
+
| 'activeByAddressStaked' | 'activeByStaker' | 'pending' | 'pendingByStaker' | 'withdrawn' | 'withdrawnByStaker'
|
|
46
|
+
>, Provider<XyoViewerMoniker> {
|
|
47
|
+
account: {
|
|
48
|
+
balance: AccountBalanceViewer
|
|
49
|
+
}
|
|
50
|
+
block: BlockViewer
|
|
51
|
+
finalization: FinalizationViewer
|
|
52
|
+
mempool: MempoolViewer
|
|
53
|
+
networkStake: NetworkStakeViewer
|
|
54
|
+
stake: StakeViewer
|
|
55
|
+
step: StepViewer
|
|
56
|
+
time: TimeSyncViewer
|
|
57
|
+
transaction: TransactionViewer
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** XyoViewerV2 interface. */
|
|
61
|
+
export interface XyoViewerV2 extends XyoViewerMethodsV2, Provider<XyoViewerMoniker> {
|
|
62
|
+
account: {
|
|
63
|
+
balance: AccountBalanceViewer
|
|
64
|
+
}
|
|
65
|
+
block: BlockViewer
|
|
66
|
+
finalization: FinalizationViewer
|
|
67
|
+
mempool: MempoolViewer
|
|
68
|
+
networkStake: NetworkStakeViewer
|
|
69
|
+
stake: StakeViewer
|
|
70
|
+
step: StepViewer
|
|
71
|
+
time: TimeSyncViewer
|
|
72
|
+
transaction: TransactionViewer
|
|
73
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export * from './Block.ts'
|
|
2
|
+
export * from './BlockInvalidation.ts'
|
|
3
|
+
export * from './BlockReward.ts'
|
|
4
|
+
export * from './BlockValidation.ts'
|
|
5
|
+
export * from './ChainContract.ts'
|
|
6
|
+
export * from './ChainStakeViewer.ts'
|
|
7
|
+
export * from './Finalization.ts'
|
|
8
|
+
export * from './Fork.ts'
|
|
9
|
+
export * from './Mempool.ts'
|
|
10
|
+
export * from './NetworkStake/index.ts'
|
|
11
|
+
export * from './NetworkStakeStepReward.ts'
|
|
12
|
+
export * from './Stake.ts'
|
|
13
|
+
export * from './StakeEvents.ts'
|
|
14
|
+
export * from './StakeTotals.ts'
|
|
15
|
+
export * from './StepStake.ts'
|
|
16
|
+
export * from './StepViewer.ts'
|
|
17
|
+
export * from './TimeSync.ts'
|
|
18
|
+
export * from './Transaction.ts'
|
|
19
|
+
export * from './TransactionInvalidation.ts'
|
|
20
|
+
export * from './TransactionValidation.ts'
|
|
21
|
+
export * from './TransferBalance.ts'
|
|
22
|
+
export * from './WindowedBlock.ts'
|
|
23
|
+
export * from './XyoViewer.ts'
|