@xyo-network/xl1-protocol-sdk 1.17.7 → 1.18.0
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/CreatableProvider/AbstractCreatableProvider.d.ts +104 -1
- package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/CreatableProvider.d.ts +27 -10
- package/dist/neutral/CreatableProvider/CreatableProvider.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/CreatableProviderRegistry.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/ProviderFactory.d.ts +11 -3
- package/dist/neutral/CreatableProvider/ProviderFactory.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts +19 -13
- package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts +14 -10
- package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts.map +1 -1
- package/dist/neutral/config/Bridge.d.ts +3 -0
- package/dist/neutral/config/Bridge.d.ts.map +1 -1
- package/dist/neutral/config/Chain.d.ts +1 -1
- package/dist/neutral/config/Config.d.ts +8 -5
- package/dist/neutral/config/Config.d.ts.map +1 -1
- package/dist/neutral/config/Log.d.ts +1 -1
- package/dist/neutral/config/Services.d.ts +2 -2
- package/dist/neutral/config/Services.d.ts.map +1 -1
- package/dist/neutral/createDeclarationPayload.d.ts +4 -0
- package/dist/neutral/createDeclarationPayload.d.ts.map +1 -0
- package/dist/neutral/createTransferPayload.d.ts +4 -0
- package/dist/neutral/createTransferPayload.d.ts.map +1 -0
- package/dist/neutral/driver/cache/LruCacheMap.d.ts +2 -2
- package/dist/neutral/driver/cache/LruCacheMap.d.ts.map +1 -1
- package/dist/neutral/driver/memory/MemoryMap.d.ts +2 -2
- package/dist/neutral/driver/memory/MemoryMap.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +3 -0
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +1887 -632
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/map/MapType.d.ts +3 -2
- package/dist/neutral/map/MapType.d.ts.map +1 -1
- package/dist/neutral/model/ChainContext/ChainContext.d.ts +4 -4
- package/dist/neutral/model/ChainContext/ChainContext.d.ts.map +1 -1
- package/dist/neutral/model/ChainQualification.d.ts +42 -0
- package/dist/neutral/model/ChainQualification.d.ts.map +1 -0
- package/dist/neutral/model/PayloadBundle/bundledPayloadToHydratedTransaction.d.ts +2 -2
- package/dist/neutral/model/PayloadBundle/bundledPayloadToHydratedTransaction.d.ts.map +1 -1
- package/dist/neutral/model/index.d.ts +1 -1
- package/dist/neutral/model/index.d.ts.map +1 -1
- package/dist/neutral/primitives/block/index.d.ts +2 -0
- package/dist/neutral/primitives/block/index.d.ts.map +1 -0
- package/dist/neutral/primitives/block/range/blockRangeSteps.d.ts +3 -0
- package/dist/neutral/primitives/block/range/blockRangeSteps.d.ts.map +1 -0
- package/dist/neutral/primitives/block/range/index.d.ts +2 -0
- package/dist/neutral/primitives/block/range/index.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/getWindowedChain.d.ts +26 -0
- package/dist/neutral/primitives/chain/getWindowedChain.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/index.d.ts +4 -0
- package/dist/neutral/primitives/chain/index.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/step/chainStepRewardAddress.d.ts +5 -0
- package/dist/neutral/primitives/chain/step/chainStepRewardAddress.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/step/index.d.ts +5 -0
- package/dist/neutral/primitives/chain/step/index.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/step/stepRewardBlock.d.ts +4 -0
- package/dist/neutral/primitives/chain/step/stepRewardBlock.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/step/stepRewardTotal.d.ts +4 -0
- package/dist/neutral/primitives/chain/step/stepRewardTotal.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/step/stepsRewardTotal.d.ts +6 -0
- package/dist/neutral/primitives/chain/step/stepsRewardTotal.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/time/externalBlockNumberFromXL1BlockNumber.d.ts +5 -0
- package/dist/neutral/primitives/chain/time/externalBlockNumberFromXL1BlockNumber.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/time/externalBlockRangeFromStep.d.ts +5 -0
- package/dist/neutral/primitives/chain/time/externalBlockRangeFromStep.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/time/externalBlockRangeFromXL1BlockRange.d.ts +5 -0
- package/dist/neutral/primitives/chain/time/externalBlockRangeFromXL1BlockRange.d.ts.map +1 -0
- package/dist/neutral/primitives/chain/time/index.d.ts +4 -0
- package/dist/neutral/primitives/chain/time/index.d.ts.map +1 -0
- package/dist/neutral/primitives/index.d.ts +7 -0
- package/dist/neutral/primitives/index.d.ts.map +1 -1
- package/dist/neutral/primitives/mapToMapType.d.ts +3 -0
- package/dist/neutral/primitives/mapToMapType.d.ts.map +1 -0
- package/dist/neutral/primitives/payload/index.d.ts +2 -0
- package/dist/neutral/primitives/payload/index.d.ts.map +1 -0
- package/dist/neutral/primitives/payload/mergeTransfers.d.ts +4 -0
- package/dist/neutral/primitives/payload/mergeTransfers.d.ts.map +1 -0
- package/dist/neutral/primitives/readPayloadMapFromStore.d.ts +5 -4
- package/dist/neutral/primitives/readPayloadMapFromStore.d.ts.map +1 -1
- package/dist/neutral/primitives/rewards/index.d.ts +2 -0
- package/dist/neutral/primitives/rewards/index.d.ts.map +1 -0
- package/dist/neutral/primitives/rewards/networkStakeStepRewardPositionWeight.d.ts +5 -0
- package/dist/neutral/primitives/rewards/networkStakeStepRewardPositionWeight.d.ts.map +1 -0
- package/dist/neutral/primitives/stake/activeStakeAtTimeByAddress.d.ts +4 -0
- package/dist/neutral/primitives/stake/activeStakeAtTimeByAddress.d.ts.map +1 -0
- package/dist/neutral/primitives/stake/activeStakeAtTimeByPosition.d.ts +3 -0
- package/dist/neutral/primitives/stake/activeStakeAtTimeByPosition.d.ts.map +1 -0
- package/dist/neutral/primitives/stake/allStakersForRange.d.ts +4 -0
- package/dist/neutral/primitives/stake/allStakersForRange.d.ts.map +1 -0
- package/dist/neutral/primitives/stake/allStakersForStep.d.ts +6 -0
- package/dist/neutral/primitives/stake/allStakersForStep.d.ts.map +1 -0
- package/dist/neutral/primitives/stake/index.d.ts +7 -0
- package/dist/neutral/primitives/stake/index.d.ts.map +1 -0
- package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByPosition.d.ts +3 -0
- package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByPosition.d.ts.map +1 -0
- package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByStaker.d.ts +4 -0
- package/dist/neutral/primitives/stake/mergedAddRemoveStakeEventsByStaker.d.ts.map +1 -0
- package/dist/neutral/primitives/stake/weightedStakeForRangeByPosition.d.ts +6 -0
- package/dist/neutral/primitives/stake/weightedStakeForRangeByPosition.d.ts.map +1 -0
- package/dist/neutral/primitives/uncle/findBestUncle.d.ts +24 -0
- package/dist/neutral/primitives/uncle/findBestUncle.d.ts.map +1 -0
- package/dist/neutral/primitives/uncle/findUncles.d.ts +26 -0
- package/dist/neutral/primitives/uncle/findUncles.d.ts.map +1 -0
- package/dist/neutral/primitives/uncle/index.d.ts +4 -0
- package/dist/neutral/primitives/uncle/index.d.ts.map +1 -0
- package/dist/neutral/primitives/uncle/scoreUncle.d.ts +3 -0
- package/dist/neutral/primitives/uncle/scoreUncle.d.ts.map +1 -0
- package/dist/neutral/provider/DataLake.d.ts +10 -9
- package/dist/neutral/provider/DataLake.d.ts.map +1 -1
- package/dist/neutral/provider/XyoConnection.d.ts +4 -1
- package/dist/neutral/provider/XyoConnection.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/XyoRunner.d.ts +5 -2
- package/dist/neutral/provider/XyoRunner.d.ts.map +1 -1
- package/dist/neutral/provider/viewer/XyoViewer.d.ts +16 -13
- package/dist/neutral/provider/viewer/XyoViewer.d.ts.map +1 -1
- package/dist/neutral/runners/Block.d.ts +7 -2
- package/dist/neutral/runners/Block.d.ts.map +1 -1
- package/dist/neutral/runners/Mempool.d.ts +4 -1
- package/dist/neutral/runners/Mempool.d.ts.map +1 -1
- package/dist/neutral/services/Chain/ChainService.d.ts +2 -2
- package/dist/neutral/services/Chain/ChainService.d.ts.map +1 -1
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +65 -21
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -1
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts +9 -6
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts +31 -0
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts.map +1 -0
- package/dist/neutral/simple/blockValidation/index.d.ts +2 -0
- package/dist/neutral/simple/blockValidation/index.d.ts.map +1 -0
- package/dist/neutral/simple/chainStake/{SimpleChainStakeViewer.d.ts → SimpleStakeViewer.d.ts} +3 -5
- package/dist/neutral/simple/chainStake/SimpleStakeViewer.d.ts.map +1 -0
- package/dist/neutral/simple/chainStake/index.d.ts +1 -1
- package/dist/neutral/simple/chainStake/index.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/AbstractSimpleDataLake.d.ts +6 -3
- package/dist/neutral/simple/datalake/AbstractSimpleDataLake.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts +4 -3
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts +0 -3
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts.map +1 -1
- package/dist/neutral/simple/index.d.ts +2 -0
- package/dist/neutral/simple/index.d.ts.map +1 -1
- package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts +8 -4
- package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts.map +1 -1
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts.map +1 -1
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts +24 -6
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts.map +1 -1
- package/dist/neutral/simple/{chainStakeEvents/SimpleChainStakeEventsViewer.d.ts → stakeEvents/SimpleStakeEventsViewer.d.ts} +3 -3
- package/dist/neutral/simple/stakeEvents/SimpleStakeEventsViewer.d.ts.map +1 -0
- package/dist/neutral/simple/stakeEvents/index.d.ts +2 -0
- package/dist/neutral/simple/stakeEvents/index.d.ts.map +1 -0
- package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts +4 -3
- package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts.map +1 -1
- package/dist/neutral/status/RuntimeStatusMonitor.d.ts +31 -0
- package/dist/neutral/status/RuntimeStatusMonitor.d.ts.map +1 -0
- package/dist/neutral/status/ServiceStatus.d.ts +8 -0
- package/dist/neutral/status/ServiceStatus.d.ts.map +1 -0
- package/dist/neutral/status/index.d.ts +3 -0
- package/dist/neutral/status/index.d.ts.map +1 -0
- package/dist/neutral/summary/model/summary.d.ts +4 -5
- package/dist/neutral/summary/model/summary.d.ts.map +1 -1
- package/dist/neutral/summary/primitives/balances/balancesStepSummaryFromRange.d.ts +1 -1
- package/dist/neutral/summary/primitives/balances/balancesStepSummaryFromRange.d.ts.map +1 -1
- package/dist/neutral/summary/primitives/balances/balancesSummary.d.ts +2 -2
- package/dist/neutral/summary/primitives/balances/balancesSummary.d.ts.map +1 -1
- package/dist/neutral/summary/primitives/schemas/schemasSummary.d.ts +2 -2
- package/dist/neutral/summary/primitives/schemas/schemasSummary.d.ts.map +1 -1
- package/dist/neutral/summary/primitives/transfers/transfersSummary.d.ts +2 -2
- package/dist/neutral/summary/primitives/transfers/transfersSummary.d.ts.map +1 -1
- package/dist/neutral/transaction/TransactionBuilder.d.ts +82 -0
- package/dist/neutral/transaction/TransactionBuilder.d.ts.map +1 -0
- package/dist/neutral/transaction/buildRandomTransaction.d.ts +6 -0
- package/dist/neutral/transaction/buildRandomTransaction.d.ts.map +1 -0
- package/dist/neutral/transaction/index.d.ts +2 -0
- package/dist/neutral/transaction/index.d.ts.map +1 -1
- package/dist/neutral/viewers/AccountBalance.d.ts +35 -15
- package/dist/neutral/viewers/AccountBalance.d.ts.map +1 -1
- package/dist/neutral/viewers/Block.d.ts +4 -1
- package/dist/neutral/viewers/Block.d.ts.map +1 -1
- package/dist/neutral/viewers/BlockValidation.d.ts +54 -0
- package/dist/neutral/viewers/BlockValidation.d.ts.map +1 -0
- package/dist/neutral/viewers/ChainStakeViewer.d.ts +1 -2
- package/dist/neutral/viewers/ChainStakeViewer.d.ts.map +1 -1
- package/dist/neutral/viewers/Fork.d.ts +0 -1
- package/dist/neutral/viewers/Fork.d.ts.map +1 -1
- package/dist/neutral/viewers/Stake.d.ts +0 -1
- package/dist/neutral/viewers/Stake.d.ts.map +1 -1
- package/dist/neutral/viewers/StakeIntent.d.ts +2 -2
- package/dist/neutral/viewers/StakeIntent.d.ts.map +1 -1
- package/dist/neutral/viewers/TransactionValidation.d.ts +35 -0
- package/dist/neutral/viewers/TransactionValidation.d.ts.map +1 -0
- package/dist/neutral/viewers/index.d.ts +2 -1
- package/dist/neutral/viewers/index.d.ts.map +1 -1
- package/package.json +8 -6
- package/src/CreatableProvider/AbstractCreatableProvider.ts +60 -3
- package/src/CreatableProvider/CreatableProvider.ts +38 -11
- package/src/CreatableProvider/CreatableProviderRegistry.ts +10 -5
- package/src/CreatableProvider/ProviderFactory.ts +73 -10
- package/src/CreatableProvider/ProviderFactoryLocator.ts +79 -19
- package/src/CreatableProvider/ProviderFactoryLocatorInstance.ts +33 -10
- package/src/config/Bridge.ts +22 -4
- package/src/config/Chain.ts +2 -2
- package/src/config/Services.ts +4 -2
- package/src/createDeclarationPayload.ts +14 -0
- package/src/createTransferPayload.ts +15 -0
- package/src/driver/cache/LruCacheMap.ts +2 -2
- package/src/driver/memory/MemoryMap.ts +2 -2
- package/src/index.ts +3 -0
- package/src/map/MapType.ts +4 -2
- package/src/model/ChainContext/ChainContext.ts +4 -4
- package/src/model/ChainQualification.ts +33 -0
- package/src/model/PayloadBundle/bundledPayloadToHydratedTransaction.ts +2 -2
- package/src/model/index.ts +1 -1
- package/src/primitives/block/index.ts +1 -0
- package/src/primitives/block/range/blockRangeSteps.ts +22 -0
- package/src/primitives/block/range/index.ts +1 -0
- package/src/primitives/chain/getWindowedChain.ts +23 -0
- package/src/primitives/chain/index.ts +3 -0
- package/src/primitives/chain/step/chainStepRewardAddress.ts +28 -0
- package/src/primitives/chain/step/index.ts +4 -0
- package/src/primitives/chain/step/stepRewardBlock.ts +11 -0
- package/src/primitives/chain/step/stepRewardTotal.ts +45 -0
- package/src/primitives/chain/step/stepsRewardTotal.ts +34 -0
- package/src/primitives/chain/time/externalBlockNumberFromXL1BlockNumber.ts +31 -0
- package/src/primitives/chain/time/externalBlockRangeFromStep.ts +19 -0
- package/src/primitives/chain/time/externalBlockRangeFromXL1BlockRange.ts +16 -0
- package/src/primitives/chain/time/index.ts +3 -0
- package/src/primitives/index.ts +7 -0
- package/src/primitives/mapToMapType.ts +35 -0
- package/src/primitives/payload/index.ts +1 -0
- package/src/primitives/payload/mergeTransfers.ts +15 -0
- package/src/primitives/readPayloadMapFromStore.ts +38 -8
- package/src/primitives/rewards/index.ts +1 -0
- package/src/primitives/rewards/networkStakeStepRewardPositionWeight.ts +21 -0
- package/src/primitives/stake/activeStakeAtTimeByAddress.ts +26 -0
- package/src/primitives/stake/activeStakeAtTimeByPosition.ts +24 -0
- package/src/primitives/stake/allStakersForRange.ts +31 -0
- package/src/primitives/stake/allStakersForStep.ts +22 -0
- package/src/primitives/stake/index.ts +6 -0
- package/src/primitives/stake/mergedAddRemoveStakeEventsByPosition.ts +14 -0
- package/src/primitives/stake/mergedAddRemoveStakeEventsByStaker.ts +17 -0
- package/src/primitives/stake/weightedStakeForRangeByPosition.ts +54 -0
- package/src/primitives/uncle/findBestUncle.ts +8 -0
- package/src/primitives/uncle/findUncles.ts +75 -0
- package/src/primitives/uncle/index.ts +3 -0
- package/src/primitives/uncle/scoreUncle.ts +6 -0
- package/src/provider/DataLake.ts +12 -11
- package/src/provider/XyoConnection.ts +5 -1
- package/src/provider/XyoGatewayRunner.ts +3 -3
- package/src/provider/XyoRunner.ts +6 -2
- package/src/provider/viewer/XyoViewer.ts +16 -15
- package/src/runners/Block.ts +10 -2
- package/src/runners/Mempool.ts +6 -1
- package/src/services/Chain/ChainService.ts +2 -4
- package/src/simple/accountBalance/SimpleAccountBalanceViewer.ts +65 -42
- package/src/simple/block/SimpleBlockViewer.ts +47 -14
- package/src/simple/blockValidation/SimpleBlockValidationViewer.ts +126 -0
- package/src/simple/blockValidation/index.ts +1 -0
- package/src/simple/chainStake/{SimpleChainStakeViewer.ts → SimpleStakeViewer.ts} +11 -16
- package/src/simple/chainStake/index.ts +1 -1
- package/src/simple/datalake/AbstractSimpleDataLake.ts +19 -18
- package/src/simple/datalake/SimpleDataLakeRunner.ts +4 -3
- package/src/simple/datalake/SimpleDataLakeViewer.ts +0 -19
- package/src/simple/index.ts +2 -0
- package/src/simple/mempool/SimpleMempoolRunner.ts +13 -8
- package/src/simple/mempool/SimpleMempoolViewer.ts +6 -1
- package/src/simple/runner/SimpleXyoRunner.ts +41 -16
- package/src/simple/{chainStakeEvents/SimpleChainStakeEventsViewer.ts → stakeEvents/SimpleStakeEventsViewer.ts} +5 -5
- package/src/simple/stakeEvents/index.ts +1 -0
- package/src/simple/timesync/SimpleTimeSyncViewer.ts +27 -6
- package/src/status/RuntimeStatusMonitor.ts +117 -0
- package/src/status/ServiceStatus.ts +20 -0
- package/src/status/index.ts +2 -0
- package/src/summary/model/summary.ts +6 -5
- package/src/summary/primitives/balances/balancesStepSummaryFromRange.ts +2 -3
- package/src/summary/primitives/balances/balancesSummary.ts +12 -12
- package/src/summary/primitives/schemas/schemasSummary.ts +12 -10
- package/src/summary/primitives/transfers/transfersSummary.ts +14 -16
- package/src/transaction/TransactionBuilder.ts +162 -0
- package/src/transaction/buildRandomTransaction.ts +36 -0
- package/src/transaction/hydrateTransaction.ts +1 -1
- package/src/transaction/index.ts +2 -0
- package/src/viewers/AccountBalance.ts +22 -14
- package/src/viewers/Block.ts +6 -1
- package/src/viewers/BlockValidation.ts +47 -0
- package/src/viewers/ChainStakeViewer.ts +1 -2
- package/src/viewers/Fork.ts +0 -1
- package/src/viewers/Stake.ts +0 -1
- package/src/viewers/StakeIntent.ts +2 -2
- package/src/viewers/TransactionValidation.ts +35 -0
- package/src/viewers/index.ts +2 -1
- package/dist/neutral/model/Qualified.d.ts +0 -6
- package/dist/neutral/model/Qualified.d.ts.map +0 -1
- package/dist/neutral/simple/chain/SimpleChainViewer.d.ts +0 -15
- package/dist/neutral/simple/chain/SimpleChainViewer.d.ts.map +0 -1
- package/dist/neutral/simple/chain/index.d.ts +0 -2
- package/dist/neutral/simple/chain/index.d.ts.map +0 -1
- package/dist/neutral/simple/chainStake/SimpleChainStakeViewer.d.ts.map +0 -1
- package/dist/neutral/simple/chainStakeEvents/SimpleChainStakeEventsViewer.d.ts.map +0 -1
- package/dist/neutral/simple/chainStakeEvents/index.d.ts +0 -2
- package/dist/neutral/simple/chainStakeEvents/index.d.ts.map +0 -1
- package/dist/neutral/viewers/Chain.d.ts +0 -11
- package/dist/neutral/viewers/Chain.d.ts.map +0 -1
- package/src/model/Qualified.ts +0 -9
- package/src/simple/chain/SimpleChainViewer.ts +0 -28
- package/src/simple/chain/index.ts +0 -1
- package/src/simple/chainStakeEvents/index.ts +0 -1
- package/src/viewers/Chain.ts +0 -13
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type Promisable } from '@xylabs/sdk-js';
|
|
2
|
+
import type { HydratedBlock, SignedHydratedBlockWithHashMeta } from '@xyo-network/xl1-protocol';
|
|
3
|
+
import z from 'zod';
|
|
4
|
+
import { type Provider } from '../model/index.ts';
|
|
5
|
+
import type { HydratedBlockValidationError } from '../validation/index.ts';
|
|
6
|
+
export declare const BlockValidationQualificationZod: z.ZodObject<{
|
|
7
|
+
head: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>;
|
|
8
|
+
range: 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>;
|
|
9
|
+
}, z.z.core.$strip>;
|
|
10
|
+
export type BlockValidationQualification = z.infer<typeof BlockValidationQualificationZod>;
|
|
11
|
+
export declare const isBlockValidationQualification: <T>(value: T) => value is T & {
|
|
12
|
+
head: import("@xylabs/sdk-js").Hash;
|
|
13
|
+
range: [import("@xyo-network/xl1-protocol").XL1BlockNumber, import("@xyo-network/xl1-protocol").XL1BlockNumber];
|
|
14
|
+
};
|
|
15
|
+
export declare const BlockValidationConfigFieldsZod: z.ZodObject<{
|
|
16
|
+
value: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
state: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
}, z.z.core.$strip>;
|
|
19
|
+
export declare const BlockValidationConfigZod: z.ZodUnion<readonly [z.ZodObject<{
|
|
20
|
+
value: z.ZodOptional<z.ZodBoolean>;
|
|
21
|
+
state: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
+
head: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>;
|
|
23
|
+
}, z.z.core.$strip>, z.ZodObject<{
|
|
24
|
+
value: z.ZodOptional<z.ZodBoolean>;
|
|
25
|
+
state: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
range: 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>;
|
|
27
|
+
}, z.z.core.$strip>, z.ZodObject<{
|
|
28
|
+
value: z.ZodOptional<z.ZodBoolean>;
|
|
29
|
+
state: z.ZodOptional<z.ZodBoolean>;
|
|
30
|
+
}, z.z.core.$strip>, z.ZodObject<{}, z.z.core.$strip>]>;
|
|
31
|
+
export type BlockValidationConfig = z.infer<typeof BlockValidationConfigZod>;
|
|
32
|
+
export declare const isBlockValidationConfig: <T>(value: T) => value is T & (Record<string, never> | {
|
|
33
|
+
value?: boolean | undefined;
|
|
34
|
+
state?: boolean | undefined;
|
|
35
|
+
} | {
|
|
36
|
+
head: import("@xylabs/sdk-js").Hash;
|
|
37
|
+
value?: boolean | undefined;
|
|
38
|
+
state?: boolean | undefined;
|
|
39
|
+
} | {
|
|
40
|
+
range: [import("@xyo-network/xl1-protocol").XL1BlockNumber, import("@xyo-network/xl1-protocol").XL1BlockNumber];
|
|
41
|
+
value?: boolean | undefined;
|
|
42
|
+
state?: boolean | undefined;
|
|
43
|
+
});
|
|
44
|
+
export interface BlockValidationViewerMethods {
|
|
45
|
+
qualifiedValidateBlocks(blocks: HydratedBlock[], config?: BlockValidationConfig): Promisable<[HydratedBlockValidationError[], BlockValidationQualification]>;
|
|
46
|
+
}
|
|
47
|
+
export declare const BlockValidationViewerMoniker: "BlockValidationViewer";
|
|
48
|
+
export type BlockValidationViewerMoniker = typeof BlockValidationViewerMoniker;
|
|
49
|
+
export interface BlockValidationViewer extends BlockValidationViewerMethods, Provider<BlockValidationViewerMoniker> {
|
|
50
|
+
qualifiedValidateBlock(block: SignedHydratedBlockWithHashMeta, config?: BlockValidationConfig): Promisable<[HydratedBlockValidationError[], BlockValidationQualification]>;
|
|
51
|
+
validateBlock(block: SignedHydratedBlockWithHashMeta, config?: BlockValidationConfig): Promisable<HydratedBlockValidationError[]>;
|
|
52
|
+
validateBlocks(blocks: SignedHydratedBlockWithHashMeta[], config?: BlockValidationConfig): Promisable<HydratedBlockValidationError[]>;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=BlockValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockValidation.d.ts","sourceRoot":"","sources":["../../../src/viewers/BlockValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA;AAC/F,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EAC6E,KAAK,QAAQ,EAChG,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AAE1E,eAAO,MAAM,+BAA+B;;;mBAAwB,CAAA;AACpE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAC1F,eAAO,MAAM,8BAA8B;;;CAAgD,CAAA;AAE3F,eAAO,MAAM,8BAA8B;;;mBAGzC,CAAA;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;uDAKnC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAC5E,eAAO,MAAM,uBAAuB;;;;;;;;;;;EAAyC,CAAA;AAE7E,MAAM,WAAW,4BAA4B;IAC3C,uBAAuB,CACrB,MAAM,EAAE,aAAa,EAAE,EACvB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,UAAU,CAAC,CAAC,4BAA4B,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAA;CAC9E;AAED,eAAO,MAAM,4BAA4B,EAAG,uBAAgC,CAAA;AAC5E,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAA;AAE9E,MAAM,WAAW,qBAAsB,SAAQ,4BAA4B,EAAE,QAAQ,CAAC,4BAA4B,CAAC;IACjH,sBAAsB,CACpB,KAAK,EAAE,+BAA+B,EACtC,MAAM,CAAC,EAAE,qBAAqB,GAC7B,UAAU,CAAC,CAAC,4BAA4B,EAAE,EAAE,4BAA4B,CAAC,CAAC,CAAA;IAC7E,aAAa,CAAC,KAAK,EAAE,+BAA+B,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAA;IACjI,cAAc,CAAC,MAAM,EAAE,+BAA+B,EAAE,EAAE,MAAM,CAAC,EAAE,qBAAqB,GAAG,UAAU,CAAC,4BAA4B,EAAE,CAAC,CAAA;CACtI"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { Provider } from '../model/index.ts';
|
|
2
|
-
import type { ChainViewer } from './Chain.ts';
|
|
3
2
|
import type { ChainContractViewer } from './ChainContract.ts';
|
|
4
3
|
import type { StakeTotalsViewer } from './StakeTotals.ts';
|
|
5
4
|
export declare const ChainStakeViewerMoniker: "ChainStakeViewer";
|
|
6
5
|
export type ChainStakeViewerMoniker = typeof ChainStakeViewerMoniker;
|
|
7
|
-
export interface ChainStakeViewer extends Omit<ChainContractViewer, 'moniker'>, Omit<StakeTotalsViewer, 'moniker'>,
|
|
6
|
+
export interface ChainStakeViewer extends Omit<ChainContractViewer, 'moniker'>, Omit<StakeTotalsViewer, 'moniker'>, Provider<ChainStakeViewerMoniker> {
|
|
8
7
|
}
|
|
9
8
|
//# sourceMappingURL=ChainStakeViewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainStakeViewer.d.ts","sourceRoot":"","sources":["../../../src/viewers/ChainStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ChainStakeViewer.d.ts","sourceRoot":"","sources":["../../../src/viewers/ChainStakeViewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,eAAO,MAAM,uBAAuB,EAAG,kBAA2B,CAAA;AAClE,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAA;AAEpE,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAChH,QAAQ,CAAC,uBAAuB,CAAC;CAElC"}
|
|
@@ -2,7 +2,6 @@ import type { Promisable } from '@xylabs/sdk-js';
|
|
|
2
2
|
import type { ChainId } from '@xyo-network/xl1-protocol';
|
|
3
3
|
export type ForkHistory = Record<number, ChainId>;
|
|
4
4
|
export interface ForkViewerMethods {
|
|
5
|
-
chainIdAtBlock(blockNumber: number): Promisable<ChainId | undefined>;
|
|
6
5
|
forkHistory(): Promisable<ForkHistory>;
|
|
7
6
|
}
|
|
8
7
|
//# sourceMappingURL=Fork.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fork.d.ts","sourceRoot":"","sources":["../../../src/viewers/Fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEjD,MAAM,WAAW,iBAAiB;IAChC,
|
|
1
|
+
{"version":3,"file":"Fork.d.ts","sourceRoot":"","sources":["../../../src/viewers/Fork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEjD,MAAM,WAAW,iBAAiB;IAChC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;CACvC"}
|
|
@@ -2,7 +2,6 @@ import type { Address, Promisable } from '@xylabs/sdk-js';
|
|
|
2
2
|
import type { Position, Provider } from '../model/index.ts';
|
|
3
3
|
import type { StakeEventsViewer } from './StakeEvents.ts';
|
|
4
4
|
export interface StakeViewerProperties {
|
|
5
|
-
chainId: Address;
|
|
6
5
|
minWithdrawalBlocks: number;
|
|
7
6
|
rewardsContract: Address;
|
|
8
7
|
stakeEvents: StakeEventsViewer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stake.d.ts","sourceRoot":"","sources":["../../../src/viewers/Stake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACpC,
|
|
1
|
+
{"version":3,"file":"Stake.d.ts","sourceRoot":"","sources":["../../../src/viewers/Stake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,eAAe,EAAE,OAAO,CAAA;IACxB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,mBAAmB,EAAE,OAAO,CAAA;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC3C,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAClE,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvD,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;CACxD;AAED,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,WAAW,WAAY,SAAQ,kBAAkB,EAAE,qBAAqB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;IAC1G,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACzE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1C,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAClE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC5C,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;CACrE;AAED,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAA;AACxD,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D,MAAM,WAAW,WAAY,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Address, Hash, Promisable } from '@xylabs/sdk-js';
|
|
2
2
|
import type { ChainStakeIntent, XL1BlockRange } from '@xyo-network/xl1-protocol';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ChainQualified, Provider } from '../model/index.ts';
|
|
4
4
|
export interface StakeIntentViewerMethods {
|
|
5
|
-
qualifiedIntentByAddress(address: Address, headOrRange?: Hash | XL1BlockRange): Promisable<
|
|
5
|
+
qualifiedIntentByAddress(address: Address, headOrRange?: Hash | XL1BlockRange): Promisable<ChainQualified<ChainStakeIntent | null>>;
|
|
6
6
|
}
|
|
7
7
|
export declare const StakeIntentViewerMoniker: "StakeIntentViewer";
|
|
8
8
|
export type StakeIntentViewerMoniker = typeof StakeIntentViewerMoniker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StakeIntent.d.ts","sourceRoot":"","sources":["../../../src/viewers/StakeIntent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,UAAU,EAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEhF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"StakeIntent.d.ts","sourceRoot":"","sources":["../../../src/viewers/StakeIntent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAAE,IAAI,EAAE,UAAU,EAC1B,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjE,MAAM,WAAW,wBAAwB;IACvC,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAA;CACpI;AAED,eAAO,MAAM,wBAAwB,EAAG,mBAA4B,CAAA;AACpE,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB,EAAE,QAAQ,CAAC,wBAAwB,CAAC;IACrG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,aAAa,GAAG,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;CAC3G"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type Promisable } from '@xylabs/sdk-js';
|
|
2
|
+
import { type HydratedTransaction, type ValidationError } from '@xyo-network/xl1-protocol';
|
|
3
|
+
import type z from 'zod';
|
|
4
|
+
import { type Provider } from '../model/index.ts';
|
|
5
|
+
export declare const TransactionValidationQualificationZod: z.ZodObject<{
|
|
6
|
+
head: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>;
|
|
7
|
+
range: 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>;
|
|
8
|
+
}, z.z.core.$strip>;
|
|
9
|
+
export type TransactionValidationQualification = z.infer<typeof TransactionValidationQualificationZod>;
|
|
10
|
+
export declare const isTransactionValidationQualification: <T>(value: T) => value is T & {
|
|
11
|
+
head: import("@xylabs/sdk-js").Hash;
|
|
12
|
+
range: [import("@xyo-network/xl1-protocol").XL1BlockNumber, import("@xyo-network/xl1-protocol").XL1BlockNumber];
|
|
13
|
+
};
|
|
14
|
+
export declare const TransactionValidationConfigZod: z.ZodUnion<readonly [z.ZodObject<{
|
|
15
|
+
range: 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>;
|
|
16
|
+
}, z.z.core.$strip>, z.ZodObject<{
|
|
17
|
+
head: z.ZodPipe<z.ZodString, z.ZodTransform<import("@xylabs/sdk-js").Hash, string>>;
|
|
18
|
+
}, z.z.core.$strip>, z.ZodObject<{}, z.z.core.$strip>]>;
|
|
19
|
+
export type TransactionValidationConfig = z.infer<typeof TransactionValidationConfigZod>;
|
|
20
|
+
export declare const isTransactionValidationConfig: <T>(value: T) => value is T & ({
|
|
21
|
+
range: [import("@xyo-network/xl1-protocol").XL1BlockNumber, import("@xyo-network/xl1-protocol").XL1BlockNumber];
|
|
22
|
+
} | {
|
|
23
|
+
head: import("@xylabs/sdk-js").Hash;
|
|
24
|
+
} | Record<string, never>);
|
|
25
|
+
export interface TransactionValidationViewerMethods {
|
|
26
|
+
qualifiedValidateTransactions(transactions: HydratedTransaction[], config?: TransactionValidationConfig): Promisable<[ValidationError[][], TransactionValidationQualification]>;
|
|
27
|
+
}
|
|
28
|
+
export declare const TransactionValidationViewerMoniker: "TransactionValidationViewer";
|
|
29
|
+
export type TransactionValidationViewerMoniker = typeof TransactionValidationViewerMoniker;
|
|
30
|
+
export interface TransactionValidationViewer extends TransactionValidationViewerMethods, Provider<TransactionValidationViewerMoniker> {
|
|
31
|
+
qualifiedValidateTransaction(transaction: HydratedTransaction, config?: TransactionValidationConfig): Promisable<[ValidationError[], TransactionValidationQualification]>;
|
|
32
|
+
validateTransaction(transaction: HydratedTransaction[], config?: TransactionValidationConfig): Promisable<ValidationError[]>;
|
|
33
|
+
validateTransactions(transactions: HydratedTransaction[], config?: TransactionValidationConfig): Promisable<ValidationError[][]>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=TransactionValidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionValidation.d.ts","sourceRoot":"","sources":["../../../src/viewers/TransactionValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC1F,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,OAAO,EAC2C,KAAK,QAAQ,EAC9D,MAAM,mBAAmB,CAAA;AAE1B,eAAO,MAAM,qCAAqC;;;mBAAwB,CAAA;AAC1E,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAA;AACtG,eAAO,MAAM,oCAAoC;;;CAAsD,CAAA;AAEvG,eAAO,MAAM,8BAA8B;;;;uDAA0B,CAAA;AACrE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AACxF,eAAO,MAAM,6BAA6B;;;;0BAA+C,CAAA;AAEzF,MAAM,WAAW,kCAAkC;IACjD,6BAA6B,CAC3B,YAAY,EAAE,mBAAmB,EAAE,EACnC,MAAM,CAAC,EAAE,2BAA2B,GACnC,UAAU,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,kCAAkC,CAAC,CAAC,CAAA;CACzE;AAED,eAAO,MAAM,kCAAkC,EAAG,6BAAsC,CAAA;AACxF,MAAM,MAAM,kCAAkC,GAAG,OAAO,kCAAkC,CAAA;AAE1F,MAAM,WAAW,2BAA4B,SAAQ,kCAAkC,EAAE,QAAQ,CAAC,kCAAkC,CAAC;IACnI,4BAA4B,CAC1B,WAAW,EAAE,mBAAmB,EAChC,MAAM,CAAC,EAAE,2BAA2B,GACnC,UAAU,CAAC,CAAC,eAAe,EAAE,EAAE,kCAAkC,CAAC,CAAC,CAAA;IACtE,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,EAAE,EAAE,MAAM,CAAC,EAAE,2BAA2B,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC,CAAA;IAC5H,oBAAoB,CAAC,YAAY,EAAE,mBAAmB,EAAE,EAAE,MAAM,CAAC,EAAE,2BAA2B,GAAG,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;CACjI"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './AccountBalance.ts';
|
|
2
2
|
export * from './Block.ts';
|
|
3
3
|
export * from './BlockReward.ts';
|
|
4
|
-
export * from './
|
|
4
|
+
export * from './BlockValidation.ts';
|
|
5
5
|
export * from './ChainContract.ts';
|
|
6
6
|
export * from './ChainStakeViewer.ts';
|
|
7
7
|
export * from './Fork.ts';
|
|
@@ -14,5 +14,6 @@ export * from './StepStake.ts';
|
|
|
14
14
|
export * from './StepViewer.ts';
|
|
15
15
|
export * from './TimeSync.ts';
|
|
16
16
|
export * from './Transaction.ts';
|
|
17
|
+
export * from './TransactionValidation.ts';
|
|
17
18
|
export * from './TransferBalance.ts';
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,kBAAkB,CAAA;AAChC,cAAc,
|
|
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,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,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,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,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.
|
|
4
|
+
"version": "1.18.0",
|
|
5
5
|
"description": "XYO Layer One SDK Protocol",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -39,11 +39,12 @@
|
|
|
39
39
|
"!**/*.test.*"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
+
"@opentelemetry/api": "^1.9.0",
|
|
42
43
|
"@xylabs/hex": "~5.0.51",
|
|
43
44
|
"@xylabs/sdk-js": "~5.0.51",
|
|
45
|
+
"@xylabs/zod": "~5.0.51",
|
|
44
46
|
"@xyo-network/account": "~5.2.17",
|
|
45
47
|
"@xyo-network/account-model": "~5.2.17",
|
|
46
|
-
"@xyo-network/archivist-memory": "~5.2.17",
|
|
47
48
|
"@xyo-network/archivist-model": "~5.2.17",
|
|
48
49
|
"@xyo-network/boundwitness-builder": "~5.2.17",
|
|
49
50
|
"@xyo-network/boundwitness-model": "~5.2.17",
|
|
@@ -58,15 +59,16 @@
|
|
|
58
59
|
"zod": "~4.1.13"
|
|
59
60
|
},
|
|
60
61
|
"devDependencies": {
|
|
61
|
-
"@types/node": "~25.0.
|
|
62
|
+
"@types/node": "~25.0.2",
|
|
62
63
|
"@xylabs/events": "~5.0.51",
|
|
63
|
-
"@xylabs/ts-scripts-yarn3": "~7.2.
|
|
64
|
-
"@xylabs/tsconfig": "~7.2.
|
|
64
|
+
"@xylabs/ts-scripts-yarn3": "~7.2.32",
|
|
65
|
+
"@xylabs/tsconfig": "~7.2.32",
|
|
65
66
|
"@xylabs/vitest-extended": "~5.0.51",
|
|
66
67
|
"@xyo-network/account": "~5.2.17",
|
|
68
|
+
"@xyo-network/archivist-mongodb": "~5.2.17",
|
|
67
69
|
"@xyo-network/boundwitness-validator": "~5.2.17",
|
|
68
70
|
"axios": "^1.13.2",
|
|
69
|
-
"eslint": "^9.39.
|
|
71
|
+
"eslint": "^9.39.2",
|
|
70
72
|
"typescript": "~5.9.3",
|
|
71
73
|
"vitest": "~4.0.15"
|
|
72
74
|
},
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { AbstractCreatable } from '@xylabs/sdk-js'
|
|
1
|
+
import { AbstractCreatable, assertEx } from '@xylabs/sdk-js'
|
|
2
2
|
|
|
3
|
+
import type { Provider, ProviderMoniker } from '../model/index.ts'
|
|
3
4
|
import type {
|
|
4
5
|
CreatableProvider,
|
|
5
6
|
CreatableProviderEventData, CreatableProviderFactory, CreatableProviderInstance, CreatableProviderParams,
|
|
@@ -7,11 +8,67 @@ import type {
|
|
|
7
8
|
import { ProviderFactory } from './ProviderFactory.ts'
|
|
8
9
|
|
|
9
10
|
export abstract class AbstractCreatableProvider<TParams extends CreatableProviderParams = CreatableProviderParams,
|
|
10
|
-
TEventData extends CreatableProviderEventData = CreatableProviderEventData> extends AbstractCreatable<TParams, TEventData>
|
|
11
|
+
TEventData extends CreatableProviderEventData = CreatableProviderEventData> extends AbstractCreatable<TParams, TEventData>
|
|
12
|
+
implements Omit<CreatableProviderInstance, 'moniker'> {
|
|
13
|
+
protected _contextCache: TParams['context'] | undefined
|
|
14
|
+
|
|
15
|
+
protected get config() {
|
|
16
|
+
return this.context.config!
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
protected get context() {
|
|
20
|
+
return this.params.context!
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
protected get locator() {
|
|
24
|
+
return this.context.locator!
|
|
25
|
+
}
|
|
26
|
+
|
|
11
27
|
static factory<TModule extends CreatableProviderInstance>(
|
|
12
28
|
this: CreatableProvider<TModule>,
|
|
13
29
|
params?: Partial<TModule['params']>,
|
|
14
30
|
): CreatableProviderFactory<TModule> {
|
|
15
|
-
|
|
31
|
+
const factory = ProviderFactory.withParams<TModule>(this, params)
|
|
32
|
+
return factory
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static async getInstance<T extends CreatableProviderInstance>(
|
|
36
|
+
this: CreatableProvider<T>,
|
|
37
|
+
inParams: T['params'],
|
|
38
|
+
): Promise<T> {
|
|
39
|
+
const instance = await this.create<T>(inParams)
|
|
40
|
+
return instance
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
static override async paramsHandler<T extends CreatableProviderInstance>(
|
|
44
|
+
params: Partial<T['params']> = {},
|
|
45
|
+
) {
|
|
46
|
+
const context = assertEx(params.context, () => new Error('Context is required'))
|
|
47
|
+
const config = assertEx(context.config, () => new Error('Context config is required'))
|
|
48
|
+
const locator = assertEx(context.locator, () => new Error('Context locator is required'))
|
|
49
|
+
return await super.paramsHandler<T>({
|
|
50
|
+
...params,
|
|
51
|
+
statusReporter: params.statusReporter ?? context.statusReporter,
|
|
52
|
+
context: {
|
|
53
|
+
...context, config, locator,
|
|
54
|
+
},
|
|
55
|
+
name: params.name ?? (this as unknown as CreatableProvider<T>).defaultMoniker,
|
|
56
|
+
})
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
static async tryGetInstance<T extends CreatableProviderInstance>(
|
|
60
|
+
this: CreatableProvider<T>,
|
|
61
|
+
inParams: T['params'],
|
|
62
|
+
): Promise<T | undefined> {
|
|
63
|
+
try {
|
|
64
|
+
return await this.create<T>(inParams)
|
|
65
|
+
} catch {
|
|
66
|
+
return
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
async locateAndCreate<TProvider extends Provider<ProviderMoniker>,
|
|
71
|
+
TParams extends CreatableProviderInstance<TProvider>['params'] = CreatableProviderInstance<TProvider>['params']>(moniker: TProvider['moniker']) {
|
|
72
|
+
return await this.locator?.getInstance<TProvider, TParams>(moniker)
|
|
16
73
|
}
|
|
17
74
|
}
|
|
@@ -1,22 +1,38 @@
|
|
|
1
|
+
import type { MeterProvider, TracerProvider } from '@opentelemetry/api'
|
|
1
2
|
import type { EventData } from '@xylabs/events'
|
|
2
3
|
import type {
|
|
3
|
-
Creatable, CreatableInstance, CreatableParams,
|
|
4
|
-
Labels, WithOptionalLabels,
|
|
4
|
+
Creatable, CreatableInstance, CreatableParams,
|
|
5
|
+
Labels, Logger, WithOptionalLabels,
|
|
5
6
|
} from '@xylabs/sdk-js'
|
|
6
7
|
|
|
7
|
-
import type {
|
|
8
|
+
import type { Config } from '../config/index.ts'
|
|
9
|
+
import type { Provider, ProviderMoniker } from '../model/index.ts'
|
|
10
|
+
import type { RuntimeStatusMonitor } from '../status/index.ts'
|
|
8
11
|
import type { LabeledCreatableProviderFactory } from './LabeledCreatableProviderFactory.ts'
|
|
9
12
|
import type { ProviderFactoryLocatorInstance } from './ProviderFactoryLocatorInstance.ts'
|
|
10
13
|
|
|
11
|
-
export interface
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
export interface CreatableProviderContext {
|
|
15
|
+
_id?: string
|
|
16
|
+
config: Config
|
|
17
|
+
locator: ProviderFactoryLocatorInstance
|
|
18
|
+
logger?: Logger
|
|
19
|
+
meterProvider?: MeterProvider
|
|
20
|
+
singletons: Record<string, unknown>
|
|
21
|
+
statusReporter?: RuntimeStatusMonitor
|
|
22
|
+
traceProvider?: TracerProvider
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface CreatableProviderParams<TContext extends CreatableProviderContext = CreatableProviderContext> extends CreatableParams {
|
|
26
|
+
context: TContext
|
|
14
27
|
}
|
|
15
28
|
export interface CreatableProviderEventData extends EventData {}
|
|
16
29
|
|
|
17
|
-
export
|
|
30
|
+
export type CreatableProviderInstance<TProvider extends Provider<ProviderMoniker> = Provider<ProviderMoniker>,
|
|
31
|
+
TParams extends CreatableProviderParams = CreatableProviderParams,
|
|
18
32
|
TEventData extends CreatableProviderEventData = CreatableProviderEventData>
|
|
19
|
-
|
|
33
|
+
= CreatableInstance<TParams, TEventData> & TProvider
|
|
34
|
+
|
|
35
|
+
export type ProviderFactoryScope = 'global' | 'context' | 'local'
|
|
20
36
|
|
|
21
37
|
export interface CreatableProviderFactory<T extends CreatableProviderInstance = CreatableProviderInstance>
|
|
22
38
|
extends Omit<CreatableProvider<T>, 'create' | 'createHandler' | 'paramsHandler'> {
|
|
@@ -24,21 +40,32 @@ export interface CreatableProviderFactory<T extends CreatableProviderInstance =
|
|
|
24
40
|
defaultParams?: Partial<T['params']>
|
|
25
41
|
|
|
26
42
|
labels?: Labels
|
|
43
|
+
resolvedMoniker: string
|
|
44
|
+
scope: ProviderFactoryScope
|
|
27
45
|
|
|
46
|
+
/** @deprecated use getInstance instead */
|
|
28
47
|
create(
|
|
29
48
|
this: CreatableProviderFactory<T>,
|
|
30
|
-
params?: Partial<T['params']
|
|
49
|
+
params?: Partial<T['params'] & CreatableProviderParams>, start?: boolean): Promise<T>
|
|
50
|
+
|
|
51
|
+
getInstance(
|
|
52
|
+
this: CreatableProviderFactory<T>,
|
|
53
|
+
params: T['params'] & CreatableProviderParams, start?: boolean): Promise<T>
|
|
54
|
+
|
|
55
|
+
tryGetInstance(
|
|
56
|
+
this: CreatableProviderFactory<T>,
|
|
57
|
+
params: T['params'] & CreatableProviderParams, start?: boolean): Promise<T | undefined>
|
|
31
58
|
|
|
32
59
|
}
|
|
33
60
|
|
|
34
61
|
export interface LabeledCreatableProvider<T extends CreatableProviderInstance = CreatableProviderInstance> extends CreatableProvider<T>, WithOptionalLabels {
|
|
35
|
-
factory(params?: Partial<T['params']>): LabeledCreatableProviderFactory<T>
|
|
62
|
+
factory(params?: Partial<T['params'] & CreatableProviderParams>): LabeledCreatableProviderFactory<T>
|
|
36
63
|
}
|
|
37
64
|
|
|
38
65
|
export interface CreatableProvider<T extends CreatableProviderInstance = CreatableProviderInstance> extends Creatable<T> {
|
|
39
66
|
defaultMoniker: ProviderMoniker
|
|
40
67
|
monikers: ProviderMoniker[]
|
|
41
|
-
factory(params?: Partial<T['params']>): CreatableProviderFactory<T>
|
|
68
|
+
factory(params?: Partial<T['params'] & CreatableProviderParams>): CreatableProviderFactory<T>
|
|
42
69
|
}
|
|
43
70
|
|
|
44
71
|
/**
|
|
@@ -13,17 +13,22 @@ const buildProviderFactory = <TProvider extends CreatableProviderInstance>(
|
|
|
13
13
|
provider: CreatableProviderFactory<TProvider>,
|
|
14
14
|
labels?: Labels,
|
|
15
15
|
): LabeledCreatableProviderFactory<TProvider> => {
|
|
16
|
-
const factory
|
|
17
|
-
// Destructure instance properties
|
|
18
|
-
...provider,
|
|
19
|
-
|
|
16
|
+
const factory = {
|
|
20
17
|
monikers: provider.monikers,
|
|
21
18
|
// Copy static methods
|
|
19
|
+
// eslint-disable-next-line sonarjs/deprecation
|
|
22
20
|
create: provider.create.bind(provider) as LabeledCreatableProviderFactory<TProvider>['create'],
|
|
23
21
|
|
|
24
22
|
// Merge module & supplied labels
|
|
25
23
|
labels: { ...(provider as LabeledCreatableProviderFactory).labels, ...labels },
|
|
26
|
-
|
|
24
|
+
creatableProvider: provider.creatableProvider,
|
|
25
|
+
resolvedMoniker: provider.resolvedMoniker,
|
|
26
|
+
scope: provider.scope,
|
|
27
|
+
getInstance: provider.getInstance.bind(provider) as LabeledCreatableProviderFactory<TProvider>['getInstance'],
|
|
28
|
+
tryGetInstance: provider.tryGetInstance?.bind(provider) as LabeledCreatableProviderFactory<TProvider>['tryGetInstance'],
|
|
29
|
+
defaultMoniker: provider.defaultMoniker,
|
|
30
|
+
factory: provider.factory.bind(provider) as LabeledCreatableProviderFactory<TProvider>['factory'],
|
|
31
|
+
} satisfies LabeledCreatableProviderFactory<TProvider>
|
|
27
32
|
return factory
|
|
28
33
|
}
|
|
29
34
|
|
|
@@ -3,8 +3,13 @@ import { assertEx } from '@xylabs/sdk-js'
|
|
|
3
3
|
|
|
4
4
|
import type {
|
|
5
5
|
CreatableProvider, CreatableProviderFactory, CreatableProviderInstance,
|
|
6
|
+
ProviderFactoryScope,
|
|
6
7
|
} from './CreatableProvider.ts'
|
|
7
8
|
|
|
9
|
+
declare global {
|
|
10
|
+
var xyoServiceSingletons: Record<string, unknown>
|
|
11
|
+
}
|
|
12
|
+
|
|
8
13
|
export class ProviderFactory<TProvider extends CreatableProviderInstance> implements CreatableProviderFactory<TProvider> {
|
|
9
14
|
creatableProvider: CreatableProvider<TProvider>
|
|
10
15
|
|
|
@@ -16,19 +21,29 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
|
|
|
16
21
|
|
|
17
22
|
monikers: CreatableProvider<TProvider>['monikers']
|
|
18
23
|
|
|
24
|
+
scope: ProviderFactoryScope
|
|
25
|
+
|
|
19
26
|
constructor(
|
|
20
27
|
creatableProvider: CreatableProvider<TProvider>,
|
|
21
28
|
params?: Partial<TProvider['params']>,
|
|
22
29
|
labels: Labels = {},
|
|
30
|
+
scope: ProviderFactoryScope = 'context',
|
|
23
31
|
) {
|
|
24
32
|
this.creatableProvider = creatableProvider
|
|
25
33
|
this.defaultParams = params
|
|
26
34
|
this.defaultMoniker = creatableProvider.defaultMoniker
|
|
27
35
|
this.monikers = creatableProvider.monikers
|
|
36
|
+
this.scope = scope
|
|
28
37
|
assertEx(this.monikers.includes(this.defaultMoniker), () => 'defaultMoniker must be in monikers')
|
|
29
38
|
this.labels = Object.assign({}, (creatableProvider as WithOptionalLabels).labels ?? {}, labels ?? {})
|
|
30
39
|
}
|
|
31
40
|
|
|
41
|
+
get resolvedMoniker() {
|
|
42
|
+
const labels: Labels = this.labels ?? {}
|
|
43
|
+
const labelString = Object.entries(labels).map(([key, value]) => `${key}=${value}`).join(',')
|
|
44
|
+
return labelString.length === 0 ? `${this.defaultMoniker}` : `${this.defaultMoniker}|${labelString}`
|
|
45
|
+
}
|
|
46
|
+
|
|
32
47
|
static withParams<T extends CreatableProviderInstance>(
|
|
33
48
|
creatableProvider: CreatableProvider<T>,
|
|
34
49
|
params?: Partial<T['params']>,
|
|
@@ -37,16 +52,9 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
|
|
|
37
52
|
return new ProviderFactory<T>(creatableProvider, params, labels)
|
|
38
53
|
}
|
|
39
54
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
...params,
|
|
44
|
-
config: {
|
|
45
|
-
...this.defaultParams?.config,
|
|
46
|
-
...params?.config,
|
|
47
|
-
},
|
|
48
|
-
} as TProvider['params']
|
|
49
|
-
return this.creatableProvider.create<TProvider>(mergedParams)
|
|
55
|
+
/** @deprecated use getInstance instead */
|
|
56
|
+
async create(this: CreatableProviderFactory<TProvider>, params?: Partial<TProvider['params']>, start = true): Promise<TProvider> {
|
|
57
|
+
return await this.getInstance(params as TProvider['params'], start)
|
|
50
58
|
}
|
|
51
59
|
|
|
52
60
|
factory<T extends CreatableProviderInstance>(
|
|
@@ -56,4 +64,59 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
|
|
|
56
64
|
): CreatableProviderFactory<T> {
|
|
57
65
|
return new ProviderFactory<T>(this.creatableProvider, params, labels)
|
|
58
66
|
}
|
|
67
|
+
|
|
68
|
+
async getInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], start = true): Promise<TProvider> {
|
|
69
|
+
let scopeObject: Record<string, unknown> = {}
|
|
70
|
+
switch (this.scope) {
|
|
71
|
+
case 'global': {
|
|
72
|
+
if (globalThis.xyoServiceSingletons === undefined) {
|
|
73
|
+
globalThis.xyoServiceSingletons = {}
|
|
74
|
+
}
|
|
75
|
+
scopeObject = globalThis.xyoServiceSingletons
|
|
76
|
+
break
|
|
77
|
+
}
|
|
78
|
+
case 'context': {
|
|
79
|
+
const context = assertEx(
|
|
80
|
+
params?.context,
|
|
81
|
+
() => 'Context is required for context-scoped providers',
|
|
82
|
+
)
|
|
83
|
+
if (context.singletons === undefined) {
|
|
84
|
+
context.singletons = {}
|
|
85
|
+
}
|
|
86
|
+
scopeObject = context.singletons
|
|
87
|
+
break
|
|
88
|
+
}
|
|
89
|
+
default: {
|
|
90
|
+
scopeObject = {}
|
|
91
|
+
break
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const mergedParams: TProvider['params'] = {
|
|
95
|
+
...this.defaultParams,
|
|
96
|
+
...params,
|
|
97
|
+
context: {
|
|
98
|
+
...this.defaultParams?.context,
|
|
99
|
+
...params?.context,
|
|
100
|
+
config: {
|
|
101
|
+
...this.defaultParams?.context?.config,
|
|
102
|
+
...params?.context?.config,
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
} as TProvider['params']
|
|
106
|
+
const resultPromise = scopeObject[this.resolvedMoniker] as Promise<TProvider> ?? this.creatableProvider.create<TProvider>(mergedParams)
|
|
107
|
+
scopeObject[this.resolvedMoniker] = resultPromise
|
|
108
|
+
const result = await resultPromise
|
|
109
|
+
if (start) {
|
|
110
|
+
assertEx(await result.start(), () => 'Failed to start provider instance')
|
|
111
|
+
}
|
|
112
|
+
return result
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
async tryGetInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], start = true): Promise<TProvider | undefined> {
|
|
116
|
+
try {
|
|
117
|
+
return await this.getInstance(params, start)
|
|
118
|
+
} catch {
|
|
119
|
+
return
|
|
120
|
+
}
|
|
121
|
+
}
|
|
59
122
|
}
|