@xyo-network/xl1-protocol-sdk 1.18.0 → 1.18.2
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 +52 -21
- package/dist/neutral/CreatableProvider/AbstractCreatableProvider.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/CreatableProvider.d.ts +13 -8
- package/dist/neutral/CreatableProvider/CreatableProvider.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/CreatableProviderRegistry.d.ts +2 -4
- package/dist/neutral/CreatableProvider/CreatableProviderRegistry.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/ProviderFactory.d.ts +6 -4
- package/dist/neutral/CreatableProvider/ProviderFactory.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts +7 -7
- package/dist/neutral/CreatableProvider/ProviderFactoryLocator.d.ts.map +1 -1
- package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts +3 -2
- package/dist/neutral/CreatableProvider/ProviderFactoryLocatorInstance.d.ts.map +1 -1
- package/dist/neutral/actor/Actor.d.ts +176 -0
- package/dist/neutral/actor/Actor.d.ts.map +1 -0
- package/dist/neutral/actor/index.d.ts +2 -0
- package/dist/neutral/actor/index.d.ts.map +1 -0
- package/dist/neutral/block/hydrate/allHashesPresent.d.ts +2 -2
- package/dist/neutral/block/hydrate/allHashesPresent.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/config/Api.d.ts +1 -1
- package/dist/neutral/config/Api.d.ts.map +1 -1
- package/dist/neutral/config/Bridge.d.ts +41 -21
- package/dist/neutral/config/Bridge.d.ts.map +1 -1
- package/dist/neutral/config/Chain.d.ts +7 -3
- package/dist/neutral/config/Chain.d.ts.map +1 -1
- package/dist/neutral/config/Config.d.ts +48 -20
- package/dist/neutral/config/Config.d.ts.map +1 -1
- package/dist/neutral/config/Evm.d.ts +1 -1
- package/dist/neutral/config/Evm.d.ts.map +1 -1
- package/dist/neutral/config/Log.d.ts +2 -2
- package/dist/neutral/config/Log.d.ts.map +1 -1
- package/dist/neutral/config/Mempool.d.ts +1 -1
- package/dist/neutral/config/Mempool.d.ts.map +1 -1
- package/dist/neutral/config/Producer.d.ts +6 -2
- package/dist/neutral/config/Producer.d.ts.map +1 -1
- package/dist/neutral/config/RewardRedemptionApi.d.ts +1 -1
- package/dist/neutral/config/RewardRedemptionApi.d.ts.map +1 -1
- package/dist/neutral/config/Services.d.ts +1 -1
- package/dist/neutral/config/Services.d.ts.map +1 -1
- package/dist/neutral/config/Telemetry.d.ts +11 -4
- package/dist/neutral/config/Telemetry.d.ts.map +1 -1
- package/dist/neutral/config/UsageMeta.d.ts +1 -1
- package/dist/neutral/config/UsageMeta.d.ts.map +1 -1
- package/dist/neutral/config/Validation.d.ts +11 -3
- package/dist/neutral/config/Validation.d.ts.map +1 -1
- package/dist/neutral/config/index.d.ts +1 -0
- package/dist/neutral/config/index.d.ts.map +1 -1
- package/dist/neutral/config/storage/Storage.d.ts +1 -1
- package/dist/neutral/config/storage/Storage.d.ts.map +1 -1
- package/dist/neutral/config/storage/driver/Mongo.d.ts +1 -1
- package/dist/neutral/config/storage/driver/Mongo.d.ts.map +1 -1
- package/dist/neutral/eip-712/Payloads/EIP712Data.d.ts +4 -4
- package/dist/neutral/eip-712/Payloads/EIP712Data.d.ts.map +1 -1
- package/dist/neutral/eip-712/Payloads/EIP712Signature.d.ts +3 -3
- package/dist/neutral/eip-712/Payloads/EIP712Signature.d.ts.map +1 -1
- package/dist/neutral/eip-712/Types.d.ts +4 -4
- package/dist/neutral/eip-712/Types.d.ts.map +1 -1
- package/dist/neutral/index.d.ts +1 -0
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +3271 -3246
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/model/ChainQualification.d.ts +15 -15
- package/dist/neutral/model/ChainQualification.d.ts.map +1 -1
- package/dist/neutral/payloads/netBalancesForPayloads.d.ts +5 -2
- package/dist/neutral/payloads/netBalancesForPayloads.d.ts.map +1 -1
- package/dist/neutral/payloads/netSchemasForPayloads.d.ts +5 -2
- package/dist/neutral/payloads/netSchemasForPayloads.d.ts.map +1 -1
- package/dist/neutral/primitives/chain/getWindowedChain.d.ts +8 -23
- package/dist/neutral/primitives/chain/getWindowedChain.d.ts.map +1 -1
- package/dist/neutral/primitives/rewards/networkStakeStepRewardPositionWeight.d.ts.map +1 -1
- package/dist/neutral/primitives/stake/weightedStakeForRangeByPosition.d.ts +2 -1
- package/dist/neutral/primitives/stake/weightedStakeForRangeByPosition.d.ts.map +1 -1
- package/dist/neutral/primitives/uncle/findBestUncle.d.ts +21 -13
- package/dist/neutral/primitives/uncle/findBestUncle.d.ts.map +1 -1
- package/dist/neutral/primitives/uncle/findUncles.d.ts +21 -14
- package/dist/neutral/primitives/uncle/findUncles.d.ts.map +1 -1
- package/dist/neutral/provider/signer/XyoSigner.d.ts +2 -0
- package/dist/neutral/provider/signer/XyoSigner.d.ts.map +1 -1
- package/dist/neutral/runners/Finalization.d.ts +12 -0
- package/dist/neutral/runners/Finalization.d.ts.map +1 -0
- package/dist/neutral/runners/index.d.ts +1 -0
- package/dist/neutral/runners/index.d.ts.map +1 -1
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts +66 -33
- package/dist/neutral/simple/accountBalance/SimpleAccountBalanceViewer.d.ts.map +1 -1
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts +9 -25
- package/dist/neutral/simple/block/SimpleBlockViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockReward/SimpleBlockRewardViewer.d.ts +1 -0
- package/dist/neutral/simple/blockReward/SimpleBlockRewardViewer.d.ts.map +1 -1
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts +4 -3
- package/dist/neutral/simple/blockValidation/SimpleBlockValidationViewer.d.ts.map +1 -1
- package/dist/neutral/simple/chainStake/SimpleStakeViewer.d.ts +1 -0
- package/dist/neutral/simple/chainStake/SimpleStakeViewer.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts +1 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeRunner.d.ts.map +1 -1
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts +1 -0
- package/dist/neutral/simple/datalake/SimpleDataLakeViewer.d.ts.map +1 -1
- package/dist/neutral/simple/finalization/SimpleFinalizationRunner.d.ts +21 -0
- package/dist/neutral/simple/finalization/SimpleFinalizationRunner.d.ts.map +1 -0
- package/dist/neutral/simple/finalization/SimpleFinalizationViewer.d.ts +61 -0
- package/dist/neutral/simple/finalization/SimpleFinalizationViewer.d.ts.map +1 -0
- package/dist/neutral/simple/finalization/index.d.ts +3 -0
- package/dist/neutral/simple/finalization/index.d.ts.map +1 -0
- 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 +2 -0
- package/dist/neutral/simple/mempool/SimpleMempoolRunner.d.ts.map +1 -1
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts +7 -2
- package/dist/neutral/simple/mempool/SimpleMempoolViewer.d.ts.map +1 -1
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts +1 -0
- package/dist/neutral/simple/runner/SimpleXyoRunner.d.ts.map +1 -1
- package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts +19 -3
- package/dist/neutral/simple/signer/SimpleXyoSigner.d.ts.map +1 -1
- package/dist/neutral/simple/stakeEvents/SimpleStakeEventsViewer.d.ts +1 -0
- package/dist/neutral/simple/stakeEvents/SimpleStakeEventsViewer.d.ts.map +1 -1
- package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts +2 -1
- package/dist/neutral/simple/timesync/SimpleTimeSyncViewer.d.ts.map +1 -1
- package/dist/neutral/simple/windowedBlock/SimpleWindowedBlockViewer.d.ts +191 -0
- package/dist/neutral/simple/windowedBlock/SimpleWindowedBlockViewer.d.ts.map +1 -0
- package/dist/neutral/simple/windowedBlock/index.d.ts +2 -0
- package/dist/neutral/simple/windowedBlock/index.d.ts.map +1 -0
- package/dist/neutral/summary/model/summary.d.ts +3 -1
- package/dist/neutral/summary/model/summary.d.ts.map +1 -1
- package/dist/neutral/summary/primitives/transfers/transfersSummary.d.ts +1 -1
- package/dist/neutral/summary/primitives/transfers/transfersSummary.d.ts.map +1 -1
- package/dist/neutral/transaction/TransactionBuilder.d.ts +56 -33
- package/dist/neutral/transaction/TransactionBuilder.d.ts.map +1 -1
- package/dist/neutral/transaction/signTransaction.d.ts +24 -12
- package/dist/neutral/transaction/signTransaction.d.ts.map +1 -1
- package/dist/neutral/utils/isZodError.d.ts +1 -1
- package/dist/neutral/utils/isZodError.d.ts.map +1 -1
- package/dist/neutral/validation/schema/Mnemonic.d.ts +1 -1
- package/dist/neutral/validation/schema/Mnemonic.d.ts.map +1 -1
- package/dist/neutral/viewers/AccountBalance.d.ts +70 -42
- package/dist/neutral/viewers/AccountBalance.d.ts.map +1 -1
- package/dist/neutral/viewers/Block.d.ts +2 -2
- package/dist/neutral/viewers/Block.d.ts.map +1 -1
- package/dist/neutral/viewers/BlockValidation.d.ts +10 -10
- package/dist/neutral/viewers/BlockValidation.d.ts.map +1 -1
- package/dist/neutral/viewers/Finalization.d.ts +14 -0
- package/dist/neutral/viewers/Finalization.d.ts.map +1 -0
- package/dist/neutral/viewers/Mempool.d.ts +5 -5
- package/dist/neutral/viewers/Mempool.d.ts.map +1 -1
- package/dist/neutral/viewers/TransactionValidation.d.ts +8 -8
- package/dist/neutral/viewers/TransactionValidation.d.ts.map +1 -1
- package/dist/neutral/viewers/WindowedBlock.d.ts +14 -0
- package/dist/neutral/viewers/WindowedBlock.d.ts.map +1 -0
- package/dist/neutral/viewers/index.d.ts +2 -0
- package/dist/neutral/viewers/index.d.ts.map +1 -1
- package/package.json +24 -22
- package/src/CreatableProvider/AbstractCreatableProvider.ts +12 -6
- package/src/CreatableProvider/CreatableProvider.ts +21 -9
- package/src/CreatableProvider/CreatableProviderRegistry.ts +3 -3
- package/src/CreatableProvider/ProviderFactory.ts +18 -10
- package/src/CreatableProvider/ProviderFactoryLocator.ts +6 -5
- package/src/CreatableProvider/ProviderFactoryLocatorInstance.ts +6 -2
- package/src/actor/Actor.ts +209 -0
- package/src/actor/index.ts +1 -0
- package/src/block/hydrate/allHashesPresent.ts +2 -2
- package/src/block/hydrate/hydrateBlock.ts +2 -2
- package/src/config/Api.ts +1 -2
- package/src/config/Bridge.ts +1 -2
- package/src/config/Chain.ts +1 -2
- package/src/config/Config.ts +1 -1
- package/src/config/Evm.ts +1 -2
- package/src/config/Log.ts +1 -2
- package/src/config/Mempool.ts +1 -2
- package/src/config/Producer.ts +1 -2
- package/src/config/RewardRedemptionApi.ts +1 -2
- package/src/config/Services.ts +1 -2
- package/src/config/Telemetry.ts +10 -4
- package/src/config/UsageMeta.ts +1 -1
- package/src/config/Validation.ts +1 -2
- package/src/config/index.ts +1 -0
- package/src/config/storage/Storage.ts +1 -2
- package/src/config/storage/driver/Mongo.ts +1 -2
- package/src/eip-712/Payloads/EIP712Data.ts +1 -1
- package/src/eip-712/Payloads/EIP712Signature.ts +1 -1
- package/src/eip-712/Types.ts +1 -1
- package/src/index.ts +1 -0
- package/src/model/ChainQualification.ts +1 -1
- package/src/primitives/chain/getWindowedChain.ts +33 -14
- package/src/primitives/rewards/networkStakeStepRewardPositionWeight.ts +3 -2
- package/src/primitives/stake/allStakersForStep.ts +1 -1
- package/src/primitives/stake/weightedStakeForRangeByPosition.ts +10 -2
- package/src/provider/signer/XyoSigner.ts +3 -0
- package/src/runners/Finalization.ts +15 -0
- package/src/runners/index.ts +1 -0
- package/src/simple/accountBalance/SimpleAccountBalanceViewer.ts +1 -0
- package/src/simple/block/SimpleBlockViewer.ts +23 -37
- package/src/simple/blockReward/SimpleBlockRewardViewer.ts +1 -0
- package/src/simple/blockValidation/SimpleBlockValidationViewer.ts +16 -13
- package/src/simple/chainStake/SimpleStakeViewer.ts +1 -0
- package/src/simple/datalake/SimpleDataLakeRunner.ts +1 -0
- package/src/simple/datalake/SimpleDataLakeViewer.ts +1 -0
- package/src/simple/finalization/SimpleFinalizationRunner.ts +45 -0
- package/src/simple/finalization/SimpleFinalizationViewer.ts +101 -0
- package/src/simple/finalization/index.ts +2 -0
- package/src/simple/index.ts +2 -0
- package/src/simple/mempool/SimpleMempoolRunner.ts +11 -1
- package/src/simple/mempool/SimpleMempoolViewer.ts +41 -8
- package/src/simple/runner/SimpleXyoRunner.ts +3 -1
- package/src/simple/signer/SimpleXyoSigner.ts +26 -5
- package/src/simple/stakeEvents/SimpleStakeEventsViewer.ts +1 -0
- package/src/simple/timesync/SimpleTimeSyncViewer.ts +3 -1
- package/src/simple/windowedBlock/SimpleWindowedBlockViewer.ts +208 -0
- package/src/simple/windowedBlock/index.ts +1 -0
- package/src/summary/model/summary.ts +3 -3
- package/src/summary/primitives/transfers/transfersSummary.ts +1 -1
- package/src/utils/isZodError.ts +1 -1
- package/src/validation/schema/Mnemonic.ts +1 -1
- package/src/viewers/AccountBalance.ts +1 -1
- package/src/viewers/Block.ts +2 -2
- package/src/viewers/BlockValidation.ts +1 -1
- package/src/viewers/Finalization.ts +19 -0
- package/src/viewers/Mempool.ts +1 -1
- package/src/viewers/TransactionValidation.ts +1 -1
- package/src/viewers/WindowedBlock.ts +17 -0
- package/src/viewers/index.ts +2 -0
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.18.
|
|
4
|
+
"version": "1.18.2",
|
|
5
5
|
"description": "XYO Layer One SDK Protocol",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -40,37 +40,39 @@
|
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@opentelemetry/api": "^1.9.0",
|
|
43
|
-
"@xylabs/hex": "~5.0.
|
|
44
|
-
"@xylabs/sdk-js": "~5.0.
|
|
45
|
-
"@xylabs/zod": "~5.0.
|
|
46
|
-
"@xyo-network/account": "~5.2.
|
|
47
|
-
"@xyo-network/account-model": "~5.2.
|
|
48
|
-
"@xyo-network/archivist-model": "~5.2.
|
|
49
|
-
"@xyo-network/boundwitness-builder": "~5.2.
|
|
50
|
-
"@xyo-network/boundwitness-model": "~5.2.
|
|
51
|
-
"@xyo-network/payload-builder": "~5.2.
|
|
52
|
-
"@xyo-network/payload-model": "~5.2.
|
|
53
|
-
"@xyo-network/wallet": "~5.2.
|
|
54
|
-
"@xyo-network/wallet-model": "~5.2.
|
|
55
|
-
"@xyo-network/xl1-protocol": "~1.
|
|
43
|
+
"@xylabs/hex": "~5.0.61",
|
|
44
|
+
"@xylabs/sdk-js": "~5.0.61",
|
|
45
|
+
"@xylabs/zod": "~5.0.61",
|
|
46
|
+
"@xyo-network/account": "~5.2.19",
|
|
47
|
+
"@xyo-network/account-model": "~5.2.19",
|
|
48
|
+
"@xyo-network/archivist-model": "~5.2.19",
|
|
49
|
+
"@xyo-network/boundwitness-builder": "~5.2.19",
|
|
50
|
+
"@xyo-network/boundwitness-model": "~5.2.19",
|
|
51
|
+
"@xyo-network/payload-builder": "~5.2.19",
|
|
52
|
+
"@xyo-network/payload-model": "~5.2.19",
|
|
53
|
+
"@xyo-network/wallet": "~5.2.19",
|
|
54
|
+
"@xyo-network/wallet-model": "~5.2.19",
|
|
55
|
+
"@xyo-network/xl1-protocol": "~1.18.2",
|
|
56
56
|
"async-mutex": "~0.5.0",
|
|
57
57
|
"ethers": "^6.16.0",
|
|
58
58
|
"lru-cache": "^11.2.4",
|
|
59
|
-
"zod": "~4.1
|
|
59
|
+
"zod": "~4.2.1"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@types/node": "~25.0.
|
|
63
|
-
"@xylabs/events": "~5.0.
|
|
62
|
+
"@types/node": "~25.0.3",
|
|
63
|
+
"@xylabs/events": "~5.0.61",
|
|
64
64
|
"@xylabs/ts-scripts-yarn3": "~7.2.32",
|
|
65
65
|
"@xylabs/tsconfig": "~7.2.32",
|
|
66
|
-
"@xylabs/vitest-extended": "~5.0.
|
|
67
|
-
"@xyo-network/account": "~5.2.
|
|
68
|
-
"@xyo-network/archivist-
|
|
69
|
-
"@xyo-network/
|
|
66
|
+
"@xylabs/vitest-extended": "~5.0.61",
|
|
67
|
+
"@xyo-network/account": "~5.2.19",
|
|
68
|
+
"@xyo-network/archivist-memory": "~5.2.19",
|
|
69
|
+
"@xyo-network/archivist-mongodb": "~5.2.19",
|
|
70
|
+
"@xyo-network/boundwitness-validator": "~5.2.19",
|
|
70
71
|
"axios": "^1.13.2",
|
|
71
72
|
"eslint": "^9.39.2",
|
|
73
|
+
"tslib": "^2.8.1",
|
|
72
74
|
"typescript": "~5.9.3",
|
|
73
|
-
"vitest": "~4.0.
|
|
75
|
+
"vitest": "~4.0.16"
|
|
74
76
|
},
|
|
75
77
|
"peerDependencies": {
|
|
76
78
|
"axios": "^1.13.2"
|
|
@@ -3,15 +3,20 @@ import { AbstractCreatable, assertEx } from '@xylabs/sdk-js'
|
|
|
3
3
|
import type { Provider, ProviderMoniker } from '../model/index.ts'
|
|
4
4
|
import type {
|
|
5
5
|
CreatableProvider,
|
|
6
|
-
CreatableProviderEventData,
|
|
6
|
+
CreatableProviderEventData, CreatableProviderInstance, CreatableProviderParams,
|
|
7
|
+
ProviderMap,
|
|
7
8
|
} from './CreatableProvider.ts'
|
|
8
9
|
import { ProviderFactory } from './ProviderFactory.ts'
|
|
9
10
|
|
|
10
11
|
export abstract class AbstractCreatableProvider<TParams extends CreatableProviderParams = CreatableProviderParams,
|
|
11
12
|
TEventData extends CreatableProviderEventData = CreatableProviderEventData> extends AbstractCreatable<TParams, TEventData>
|
|
12
13
|
implements Omit<CreatableProviderInstance, 'moniker'> {
|
|
14
|
+
dependencies: ProviderMap = {}
|
|
15
|
+
|
|
13
16
|
protected _contextCache: TParams['context'] | undefined
|
|
14
17
|
|
|
18
|
+
abstract readonly moniker: ProviderMoniker
|
|
19
|
+
|
|
15
20
|
protected get config() {
|
|
16
21
|
return this.context.config!
|
|
17
22
|
}
|
|
@@ -24,11 +29,12 @@ export abstract class AbstractCreatableProvider<TParams extends CreatableProvide
|
|
|
24
29
|
return this.context.locator!
|
|
25
30
|
}
|
|
26
31
|
|
|
27
|
-
static factory<
|
|
28
|
-
this: CreatableProvider<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
static factory<TInstance extends CreatableProviderInstance, TDependencies extends ProviderMoniker[] = ProviderMoniker[]>(
|
|
33
|
+
this: CreatableProvider<TInstance>,
|
|
34
|
+
dependencies: TDependencies,
|
|
35
|
+
params?: Partial<TInstance['params']>,
|
|
36
|
+
) {
|
|
37
|
+
const factory = ProviderFactory.withParams<TInstance, TDependencies>(this, dependencies, params)
|
|
32
38
|
return factory
|
|
33
39
|
}
|
|
34
40
|
|
|
@@ -27,18 +27,25 @@ export interface CreatableProviderParams<TContext extends CreatableProviderConte
|
|
|
27
27
|
}
|
|
28
28
|
export interface CreatableProviderEventData extends EventData {}
|
|
29
29
|
|
|
30
|
-
export type CreatableProviderInstance<
|
|
30
|
+
export type CreatableProviderInstance<
|
|
31
|
+
TProvider extends Provider<ProviderMoniker> = Provider<ProviderMoniker>,
|
|
32
|
+
TDependencies extends ProviderMoniker[] = ProviderMoniker[],
|
|
31
33
|
TParams extends CreatableProviderParams = CreatableProviderParams,
|
|
32
34
|
TEventData extends CreatableProviderEventData = CreatableProviderEventData>
|
|
33
|
-
= CreatableInstance<TParams, TEventData> & TProvider
|
|
35
|
+
= CreatableInstance<TParams, TEventData> & TProvider & {
|
|
36
|
+
dependencies: ProviderMap<TDependencies[number]>
|
|
37
|
+
}
|
|
34
38
|
|
|
35
39
|
export type ProviderFactoryScope = 'global' | 'context' | 'local'
|
|
36
40
|
|
|
37
|
-
export interface CreatableProviderFactory<T extends CreatableProviderInstance = CreatableProviderInstance
|
|
41
|
+
export interface CreatableProviderFactory<T extends CreatableProviderInstance = CreatableProviderInstance,
|
|
42
|
+
TDependencies extends ProviderMoniker[] = ProviderMoniker[]>
|
|
38
43
|
extends Omit<CreatableProvider<T>, 'create' | 'createHandler' | 'paramsHandler'> {
|
|
39
44
|
creatableProvider: CreatableProvider<T>
|
|
40
45
|
defaultParams?: Partial<T['params']>
|
|
41
46
|
|
|
47
|
+
readonly dependencies: TDependencies
|
|
48
|
+
|
|
42
49
|
labels?: Labels
|
|
43
50
|
resolvedMoniker: string
|
|
44
51
|
scope: ProviderFactoryScope
|
|
@@ -58,14 +65,19 @@ export interface CreatableProviderFactory<T extends CreatableProviderInstance =
|
|
|
58
65
|
|
|
59
66
|
}
|
|
60
67
|
|
|
61
|
-
export interface LabeledCreatableProvider<T extends CreatableProviderInstance = CreatableProviderInstance
|
|
62
|
-
|
|
68
|
+
export interface LabeledCreatableProvider<T extends CreatableProviderInstance = CreatableProviderInstance,
|
|
69
|
+
TDependencies extends ProviderMoniker[] = ProviderMoniker[]> extends CreatableProvider<T>, WithOptionalLabels {
|
|
70
|
+
factory(dependencies: TDependencies, params?: Partial<T['params'] & CreatableProviderParams>): LabeledCreatableProviderFactory<T>
|
|
63
71
|
}
|
|
64
72
|
|
|
65
|
-
export
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
export type ProviderMap<T extends ProviderMoniker = ProviderMoniker> = Partial<Record<T, CreatableProviderInstance<Provider<T>>>>
|
|
74
|
+
|
|
75
|
+
export interface CreatableProvider<T extends CreatableProviderInstance = CreatableProviderInstance,
|
|
76
|
+
TDependencies extends ProviderMoniker[] = ProviderMoniker[]> extends Creatable<T> {
|
|
77
|
+
readonly defaultMoniker: ProviderMoniker
|
|
78
|
+
readonly dependencies: TDependencies
|
|
79
|
+
readonly monikers: ProviderMoniker[]
|
|
80
|
+
factory(dependencies: TDependencies, params?: Partial<T['params'] & CreatableProviderParams>): CreatableProviderFactory<T>
|
|
69
81
|
}
|
|
70
82
|
|
|
71
83
|
/**
|
|
@@ -5,9 +5,8 @@ import type { ProviderMoniker } from '../model/index.ts'
|
|
|
5
5
|
import type { CreatableProviderFactory, CreatableProviderInstance } from './CreatableProvider.ts'
|
|
6
6
|
import type { LabeledCreatableProviderFactory } from './LabeledCreatableProviderFactory.ts'
|
|
7
7
|
|
|
8
|
-
export
|
|
9
|
-
[
|
|
10
|
-
}
|
|
8
|
+
export type CreatableProviderRegistry<TMonikers extends ProviderMoniker[] = ProviderMoniker[]>
|
|
9
|
+
= Record<TMonikers[number], (CreatableProviderFactory | LabeledCreatableProviderFactory)[] | undefined>
|
|
11
10
|
|
|
12
11
|
const buildProviderFactory = <TProvider extends CreatableProviderInstance>(
|
|
13
12
|
provider: CreatableProviderFactory<TProvider>,
|
|
@@ -22,6 +21,7 @@ const buildProviderFactory = <TProvider extends CreatableProviderInstance>(
|
|
|
22
21
|
// Merge module & supplied labels
|
|
23
22
|
labels: { ...(provider as LabeledCreatableProviderFactory).labels, ...labels },
|
|
24
23
|
creatableProvider: provider.creatableProvider,
|
|
24
|
+
dependencies: provider.dependencies,
|
|
25
25
|
resolvedMoniker: provider.resolvedMoniker,
|
|
26
26
|
scope: provider.scope,
|
|
27
27
|
getInstance: provider.getInstance.bind(provider) as LabeledCreatableProviderFactory<TProvider>['getInstance'],
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Labels, WithOptionalLabels } from '@xylabs/sdk-js'
|
|
2
2
|
import { assertEx } from '@xylabs/sdk-js'
|
|
3
3
|
|
|
4
|
+
import type { ProviderMoniker } from '../model/index.ts'
|
|
4
5
|
import type {
|
|
5
6
|
CreatableProvider, CreatableProviderFactory, CreatableProviderInstance,
|
|
6
7
|
ProviderFactoryScope,
|
|
@@ -10,13 +11,16 @@ declare global {
|
|
|
10
11
|
var xyoServiceSingletons: Record<string, unknown>
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
export class ProviderFactory<TProvider extends CreatableProviderInstance
|
|
14
|
+
export class ProviderFactory<TProvider extends CreatableProviderInstance,
|
|
15
|
+
TDependencies extends ProviderMoniker[]> implements CreatableProviderFactory<TProvider> {
|
|
14
16
|
creatableProvider: CreatableProvider<TProvider>
|
|
15
17
|
|
|
16
18
|
defaultMoniker: CreatableProvider<TProvider>['monikers'][number]
|
|
17
19
|
|
|
18
20
|
defaultParams?: Partial<TProvider['params']>
|
|
19
21
|
|
|
22
|
+
dependencies: TDependencies
|
|
23
|
+
|
|
20
24
|
labels?: Labels
|
|
21
25
|
|
|
22
26
|
monikers: CreatableProvider<TProvider>['monikers']
|
|
@@ -25,6 +29,7 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
|
|
|
25
29
|
|
|
26
30
|
constructor(
|
|
27
31
|
creatableProvider: CreatableProvider<TProvider>,
|
|
32
|
+
dependencies: TDependencies,
|
|
28
33
|
params?: Partial<TProvider['params']>,
|
|
29
34
|
labels: Labels = {},
|
|
30
35
|
scope: ProviderFactoryScope = 'context',
|
|
@@ -32,6 +37,7 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
|
|
|
32
37
|
this.creatableProvider = creatableProvider
|
|
33
38
|
this.defaultParams = params
|
|
34
39
|
this.defaultMoniker = creatableProvider.defaultMoniker
|
|
40
|
+
this.dependencies = dependencies
|
|
35
41
|
this.monikers = creatableProvider.monikers
|
|
36
42
|
this.scope = scope
|
|
37
43
|
assertEx(this.monikers.includes(this.defaultMoniker), () => 'defaultMoniker must be in monikers')
|
|
@@ -44,12 +50,13 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
|
|
|
44
50
|
return labelString.length === 0 ? `${this.defaultMoniker}` : `${this.defaultMoniker}|${labelString}`
|
|
45
51
|
}
|
|
46
52
|
|
|
47
|
-
static withParams<
|
|
48
|
-
creatableProvider: CreatableProvider<
|
|
49
|
-
|
|
53
|
+
static withParams<TInstance extends CreatableProviderInstance, TDependencies extends ProviderMoniker[]>(
|
|
54
|
+
creatableProvider: CreatableProvider<TInstance>,
|
|
55
|
+
dependencies: TDependencies,
|
|
56
|
+
params?: Partial<TInstance['params']>,
|
|
50
57
|
labels: Labels = {},
|
|
51
58
|
) {
|
|
52
|
-
return new ProviderFactory<
|
|
59
|
+
return new ProviderFactory<TInstance, TDependencies>(creatableProvider, dependencies, params, labels)
|
|
53
60
|
}
|
|
54
61
|
|
|
55
62
|
/** @deprecated use getInstance instead */
|
|
@@ -57,12 +64,13 @@ export class ProviderFactory<TProvider extends CreatableProviderInstance> implem
|
|
|
57
64
|
return await this.getInstance(params as TProvider['params'], start)
|
|
58
65
|
}
|
|
59
66
|
|
|
60
|
-
factory<
|
|
61
|
-
this: CreatableProviderFactory<
|
|
62
|
-
|
|
67
|
+
factory<TInstance extends CreatableProviderInstance, TDependencies extends ProviderMoniker[]>(
|
|
68
|
+
this: CreatableProviderFactory<TInstance, TDependencies>,
|
|
69
|
+
dependencies: TDependencies,
|
|
70
|
+
params?: Partial<TInstance['params']>,
|
|
63
71
|
labels: Labels = {},
|
|
64
|
-
)
|
|
65
|
-
return new ProviderFactory<
|
|
72
|
+
) {
|
|
73
|
+
return new ProviderFactory<TInstance, TDependencies>(this.creatableProvider, dependencies, params, labels)
|
|
66
74
|
}
|
|
67
75
|
|
|
68
76
|
async getInstance(this: CreatableProviderFactory<TProvider>, params: TProvider['params'], start = true): Promise<TProvider> {
|
|
@@ -12,15 +12,16 @@ import type { ProviderFactoryLocatorInstance } from './ProviderFactoryLocatorIns
|
|
|
12
12
|
/**
|
|
13
13
|
* A class which encapsulates the Service Locator Pattern for Provider Factories
|
|
14
14
|
*/
|
|
15
|
-
export class ProviderFactoryLocator
|
|
16
|
-
|
|
17
|
-
protected readonly
|
|
15
|
+
export class ProviderFactoryLocator<TContext extends CreatableProviderContext = CreatableProviderContext,
|
|
16
|
+
TMonikers extends ProviderMoniker[] = ProviderMoniker[]> implements ProviderFactoryLocatorInstance<TContext> {
|
|
17
|
+
protected readonly _context: TContext
|
|
18
|
+
protected readonly _registry: CreatableProviderRegistry<TMonikers>
|
|
18
19
|
|
|
19
20
|
private _frozen = false
|
|
20
21
|
|
|
21
|
-
constructor(context: Omit<
|
|
22
|
+
constructor(context: Omit<TContext, 'locator'>, registry: CreatableProviderRegistry = {}) {
|
|
22
23
|
this._registry = registry
|
|
23
|
-
this._context = { ...context, locator: this }
|
|
24
|
+
this._context = { ...context, locator: this } as unknown as TContext
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
get context() {
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { Labels } from '@xylabs/sdk-js'
|
|
2
2
|
|
|
3
3
|
import type { Provider, ProviderMoniker } from '../model/index.ts'
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
CreatableProviderContext, CreatableProviderFactory, CreatableProviderInstance,
|
|
6
|
+
} from './CreatableProvider.ts'
|
|
5
7
|
import type { CreatableProviderRegistry } from './CreatableProviderRegistry.ts'
|
|
6
8
|
import type { LabeledCreatableProviderFactory } from './LabeledCreatableProviderFactory.ts'
|
|
7
9
|
|
|
8
|
-
export interface ProviderFactoryLocatorInstance {
|
|
10
|
+
export interface ProviderFactoryLocatorInstance<T extends CreatableProviderContext = CreatableProviderContext> {
|
|
11
|
+
|
|
12
|
+
context: T
|
|
9
13
|
|
|
10
14
|
/**
|
|
11
15
|
* The current registry for the module factory
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
CreatableInstance, CreatableParams, EmptyObject,
|
|
3
|
+
Promisable,
|
|
4
|
+
} from '@xylabs/sdk-js'
|
|
5
|
+
import {
|
|
6
|
+
AbstractCreatable,
|
|
7
|
+
assertEx,
|
|
8
|
+
Base, creatable, delay, IdLogger,
|
|
9
|
+
} from '@xylabs/sdk-js'
|
|
10
|
+
import { AccountInstance } from '@xyo-network/account-model'
|
|
11
|
+
import { Semaphore } from 'async-mutex'
|
|
12
|
+
|
|
13
|
+
import { Config, getDefaultConfig } from '../config/index.ts'
|
|
14
|
+
import { ProviderFactoryLocator, ProviderFactoryLocatorInstance } from '../CreatableProvider/index.ts'
|
|
15
|
+
import { BaseContext } from '../model/index.ts'
|
|
16
|
+
|
|
17
|
+
export type ActorContext = BaseContext & {
|
|
18
|
+
config: Config
|
|
19
|
+
locator?: ProviderFactoryLocatorInstance
|
|
20
|
+
singletons: Record<string, unknown>
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type ActorParams<T extends EmptyObject | void = void> = CreatableParams & {
|
|
24
|
+
account: AccountInstance
|
|
25
|
+
context?: ActorContext
|
|
26
|
+
displayName?: string
|
|
27
|
+
id: string
|
|
28
|
+
} & (T extends void ? EmptyObject : T)
|
|
29
|
+
|
|
30
|
+
export type ActorInstance<T extends ActorParams = ActorParams> = CreatableInstance<T>
|
|
31
|
+
|
|
32
|
+
@creatable()
|
|
33
|
+
export class Actor<TParams extends ActorParams = ActorParams> extends AbstractCreatable<TParams> {
|
|
34
|
+
protected readonly _intervals: Map<string, ReturnType<typeof setInterval>> = new Map()
|
|
35
|
+
protected readonly _semaphores: Map<string, Semaphore> = new Map()
|
|
36
|
+
protected readonly _timeouts: Map<string, ReturnType<typeof setTimeout>> = new Map()
|
|
37
|
+
private _active = false
|
|
38
|
+
|
|
39
|
+
get displayName() {
|
|
40
|
+
return this.params.displayName ?? this.params.name ?? 'UnnamedActor'
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
get id() {
|
|
44
|
+
return this.params.id
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
protected get account() {
|
|
48
|
+
return this.params.account!
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
protected get config() {
|
|
52
|
+
return this.context.config
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
protected get context() {
|
|
56
|
+
return this.params.context!
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
protected get locator() {
|
|
60
|
+
return this.context.locator
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
protected get logPrefix() {
|
|
64
|
+
return `[${this.displayName} (${this.id})] `
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static override async paramsHandler<T extends ActorInstance>(params?: Partial<T['params']>) {
|
|
68
|
+
const baseParams = await super.paramsHandler(params)
|
|
69
|
+
const id = params?.id ?? baseParams.name ?? 'UnnamedActor'
|
|
70
|
+
const displayName = params?.displayName ?? baseParams.name
|
|
71
|
+
const account = assertEx(params?.account, () => `Account is required for actor ${id}.`)
|
|
72
|
+
const context = await this.initContext({
|
|
73
|
+
...params, account, id, displayName,
|
|
74
|
+
})
|
|
75
|
+
const logger = context?.logger ?? new IdLogger(Base.defaultLogger ?? console, () => `[${displayName} (${id})] `)
|
|
76
|
+
return {
|
|
77
|
+
...baseParams, account, context, displayName, id, logger,
|
|
78
|
+
} satisfies ActorParams
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
protected static initContext<T extends ActorInstance>(
|
|
82
|
+
params: T['params'],
|
|
83
|
+
): Promisable<T['params']['context']> {
|
|
84
|
+
const logger = params?.context?.logger
|
|
85
|
+
const config: Config = params?.context?.config ?? getDefaultConfig()
|
|
86
|
+
const singletons = params?.context?.singletons ?? {}
|
|
87
|
+
|
|
88
|
+
const context: ActorContext = {
|
|
89
|
+
...params?.context,
|
|
90
|
+
config,
|
|
91
|
+
logger,
|
|
92
|
+
singletons,
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const locator = params?.context?.locator ?? new ProviderFactoryLocator(context)
|
|
96
|
+
return locator.context
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* The timer runs until the actor is deactivated (or you manually stop it).
|
|
101
|
+
*/
|
|
102
|
+
registerTimer(timerName: string, callback: () => Promise<void>, dueTimeMs: number, periodMs: number) {
|
|
103
|
+
if (!this._active) {
|
|
104
|
+
this.logger?.warn(
|
|
105
|
+
`Cannot register timer '${timerName}' because actor is not active.`,
|
|
106
|
+
)
|
|
107
|
+
return
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
let running = false
|
|
111
|
+
|
|
112
|
+
this._semaphores.set(timerName, new Semaphore(1))
|
|
113
|
+
|
|
114
|
+
const timeoutId = setTimeout(() => {
|
|
115
|
+
const intervalId = setInterval(() => {
|
|
116
|
+
const semaphore = this._semaphores.get(timerName)
|
|
117
|
+
if (!this._active || !this._intervals.has(timerName) || !semaphore || running) return
|
|
118
|
+
if (semaphore.isLocked()) {
|
|
119
|
+
this.logger?.warn(
|
|
120
|
+
`Skipping timer '${this.name}:${timerName}' execution because previous execution is still running.`,
|
|
121
|
+
)
|
|
122
|
+
return
|
|
123
|
+
}
|
|
124
|
+
semaphore.acquire().then(([, release]) => {
|
|
125
|
+
const startTime = Date.now()
|
|
126
|
+
running = true
|
|
127
|
+
callback()
|
|
128
|
+
.then(() => {
|
|
129
|
+
const duration = Date.now() - startTime
|
|
130
|
+
if (duration > periodMs) {
|
|
131
|
+
this.logger?.warn(
|
|
132
|
+
`Timer '${this.name}:${timerName}' execution took longer (${duration}ms) than the period (${periodMs}ms).`,
|
|
133
|
+
)
|
|
134
|
+
} else if (duration > 5000) {
|
|
135
|
+
this.logger?.warn(
|
|
136
|
+
`Timer '${this.name}:${timerName}' execution took longer (${duration}ms) than 5000ms.`,
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
})
|
|
140
|
+
.catch((error) => {
|
|
141
|
+
this.logger?.error(`Error in timer '${this.name}:${timerName}': ${error}`)
|
|
142
|
+
this.logger?.error(error.stack)
|
|
143
|
+
})
|
|
144
|
+
.finally(() => {
|
|
145
|
+
release()
|
|
146
|
+
running = false
|
|
147
|
+
})
|
|
148
|
+
}).catch((error) => {
|
|
149
|
+
this.logger?.error(`Error acquiring semaphore for timer '${this.name}:${timerName}': ${error}`)
|
|
150
|
+
})
|
|
151
|
+
}, periodMs)
|
|
152
|
+
|
|
153
|
+
// store interval so we can clear it on stop()
|
|
154
|
+
this._intervals.set(timerName, intervalId)
|
|
155
|
+
}, dueTimeMs)
|
|
156
|
+
|
|
157
|
+
// store timeout so we can clear it on stop() if interval hasn't started yet
|
|
158
|
+
this._timeouts.set(timerName, timeoutId)
|
|
159
|
+
|
|
160
|
+
this.logger?.log(
|
|
161
|
+
`Timer '${this.name}:${timerName}' registered: first call after ${dueTimeMs}ms, recurring every ${periodMs}ms.`,
|
|
162
|
+
)
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Called by the Orchestrator when the actor is activated.
|
|
167
|
+
*/
|
|
168
|
+
override async startHandler() {
|
|
169
|
+
await super.startHandler()
|
|
170
|
+
this._active = true
|
|
171
|
+
this.logger?.log('Started.')
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Called by the Orchestrator when the actor is deactivated.
|
|
176
|
+
* Stop all running timers.
|
|
177
|
+
*/
|
|
178
|
+
override async stopHandler() {
|
|
179
|
+
await super.stopHandler()
|
|
180
|
+
this._active = false
|
|
181
|
+
this.logger?.log('Stopping all timers...')
|
|
182
|
+
|
|
183
|
+
// wait for all semaphores to be free and acquire them to prevent new tasks from starting
|
|
184
|
+
await Promise.all(
|
|
185
|
+
[...this._semaphores.values()].map(async (semaphore) => {
|
|
186
|
+
// Wait for any running tasks to complete
|
|
187
|
+
while (semaphore.isLocked()) {
|
|
188
|
+
this.logger?.log('Waiting for running timer task to complete...')
|
|
189
|
+
await delay(500)
|
|
190
|
+
}
|
|
191
|
+
await semaphore.acquire()
|
|
192
|
+
}),
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
this._semaphores.clear()
|
|
196
|
+
|
|
197
|
+
for (const [, timeoutRef] of this._timeouts.entries()) {
|
|
198
|
+
clearTimeout(timeoutRef)
|
|
199
|
+
}
|
|
200
|
+
this._timeouts.clear()
|
|
201
|
+
|
|
202
|
+
for (const [, intervalRef] of this._intervals.entries()) {
|
|
203
|
+
clearInterval(intervalRef)
|
|
204
|
+
}
|
|
205
|
+
this._intervals.clear()
|
|
206
|
+
|
|
207
|
+
this.logger?.log('Stopped.')
|
|
208
|
+
}
|
|
209
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Actor.ts'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Hash } from '@xylabs/sdk-js'
|
|
2
|
-
import type { Payload,
|
|
2
|
+
import type { Payload, WithHashMeta } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
|
-
export function allHashesPresent(hashes: Hash[], payloads:
|
|
4
|
+
export function allHashesPresent(hashes: Hash[], payloads: WithHashMeta<Payload>[]): boolean {
|
|
5
5
|
const payloadHashes = new Set(payloads.map(p => p._hash))
|
|
6
6
|
return hashes.every(hash => payloadHashes.has(hash))
|
|
7
7
|
}
|
|
@@ -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 { HydratedBlockWithStorageMeta } 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<HydratedBlockWithStorageMeta> => {
|
|
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')
|
package/src/config/Api.ts
CHANGED
package/src/config/Bridge.ts
CHANGED
|
@@ -3,8 +3,7 @@ import {
|
|
|
3
3
|
} from '@xylabs/hex'
|
|
4
4
|
import type { ChainId } from '@xyo-network/xl1-protocol'
|
|
5
5
|
import { AttoXL1ConvertFactor, XL1 } from '@xyo-network/xl1-protocol'
|
|
6
|
-
import { globalRegistry } from 'zod'
|
|
7
|
-
import * as z from 'zod'
|
|
6
|
+
import { globalRegistry, z } from 'zod'
|
|
8
7
|
|
|
9
8
|
import { MnemonicStringZod } from '../validation/index.ts'
|
|
10
9
|
|
package/src/config/Chain.ts
CHANGED
package/src/config/Config.ts
CHANGED
package/src/config/Evm.ts
CHANGED
package/src/config/Log.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { LogLevelKey } from '@xylabs/sdk-js'
|
|
2
2
|
import { LogLevel } from '@xylabs/sdk-js'
|
|
3
|
-
import { globalRegistry } from 'zod'
|
|
4
|
-
import * as z from 'zod'
|
|
3
|
+
import { globalRegistry, z } from 'zod'
|
|
5
4
|
const LogLevels = Object.keys(LogLevel) as [LogLevelKey, ...LogLevelKey[]]
|
|
6
5
|
|
|
7
6
|
export const LogConfigZod = z.object({
|
package/src/config/Mempool.ts
CHANGED
package/src/config/Producer.ts
CHANGED
package/src/config/Services.ts
CHANGED