@xyo-network/xl1-cli-lib 1.19.14 → 1.19.16
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/node/commands/bridge/runBridge.d.ts +5 -3
- package/dist/node/commands/bridge/runBridge.d.ts.map +1 -1
- package/dist/node/commands/rewardRedemption/runRewardRedemptionApi.d.ts +5 -3
- package/dist/node/commands/rewardRedemption/runRewardRedemptionApi.d.ts.map +1 -1
- package/dist/node/commands/validator/runValidator.d.ts +5 -3
- package/dist/node/commands/validator/runValidator.d.ts.map +1 -1
- package/dist/node/index.d.ts +1 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.mjs +114 -374
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/initLogger.d.ts +2 -2
- package/dist/node/initLogger.d.ts.map +1 -1
- package/dist/node/runCLI.d.ts.map +1 -1
- package/dist/node/xl1.mjs +95 -356
- package/dist/node/xl1.mjs.map +1 -1
- package/package.json +26 -28
- package/src/commands/bridge/runBridge.ts +18 -11
- package/src/commands/rewardRedemption/runRewardRedemptionApi.ts +20 -9
- package/src/commands/validator/runValidator.ts +17 -12
- package/src/index.ts +1 -0
- package/src/initLogger.ts +2 -2
- package/src/runCLI.ts +61 -77
- package/dist/node/locatorFromConfig.d.ts +0 -14
- package/dist/node/locatorFromConfig.d.ts.map +0 -1
- package/dist/node/tryParseConfig.d.ts +0 -431
- package/dist/node/tryParseConfig.d.ts.map +0 -1
- package/src/locatorFromConfig.ts +0 -326
- package/src/spec/MultiProducer.ChainOutput.json +0 -864
- package/src/tryParseConfig.ts +0 -42
package/src/locatorFromConfig.ts
DELETED
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
import type { Logger, Promisable } from '@xylabs/sdk-js'
|
|
2
|
-
import {
|
|
3
|
-
asAddress, assertEx, isDefined, isString,
|
|
4
|
-
} from '@xylabs/sdk-js'
|
|
5
|
-
import {
|
|
6
|
-
initApiWallet, initBalanceSummaryMap, initEvmProvidersIfAvailable, initFinalizationArchivistIfNeeded, initProducerAccount, initServerNode,
|
|
7
|
-
initStatusReporter, initTransferSummaryMap,
|
|
8
|
-
} from '@xyo-network/chain-orchestration'
|
|
9
|
-
import { SimpleBlockRunner } from '@xyo-network/chain-services'
|
|
10
|
-
import { initTelemetry } from '@xyo-network/chain-telemetry'
|
|
11
|
-
import { validateHydratedBlock, validateHydratedBlockState } from '@xyo-network/chain-validation'
|
|
12
|
-
import { HDWallet } from '@xyo-network/wallet'
|
|
13
|
-
import type {
|
|
14
|
-
Config, CreatableProviderContext, ProviderFactoryLocatorInstance, RpcSchemaMap, TransportFactory,
|
|
15
|
-
} from '@xyo-network/xl1-sdk'
|
|
16
|
-
import {
|
|
17
|
-
AccountBalanceViewerRpcSchemas,
|
|
18
|
-
ADDRESS_INDEX,
|
|
19
|
-
BlockViewerRpcSchemas,
|
|
20
|
-
FinalizationViewerRpcSchemas,
|
|
21
|
-
generateXyoBaseWalletFromPhrase,
|
|
22
|
-
HttpRpcTransport,
|
|
23
|
-
JsonRpcAccountBalanceViewer,
|
|
24
|
-
JsonRpcBlockViewer,
|
|
25
|
-
JsonRpcFinalizationViewer,
|
|
26
|
-
JsonRpcMempoolRunner,
|
|
27
|
-
JsonRpcMempoolViewer,
|
|
28
|
-
MempoolRunnerRpcSchemas,
|
|
29
|
-
MempoolViewerRpcSchemas,
|
|
30
|
-
ProviderFactoryLocator,
|
|
31
|
-
SimpleAccountBalanceViewer,
|
|
32
|
-
SimpleBlockRewardViewer,
|
|
33
|
-
SimpleBlockValidationViewer,
|
|
34
|
-
SimpleBlockViewer,
|
|
35
|
-
SimpleFinalizationRunner,
|
|
36
|
-
SimpleFinalizationViewer,
|
|
37
|
-
SimpleMempoolRunner,
|
|
38
|
-
SimpleMempoolViewer,
|
|
39
|
-
SimpleNetworkStakeViewer,
|
|
40
|
-
SimpleStepRewardsByPositionViewer,
|
|
41
|
-
SimpleStepRewardsByStakerViewer,
|
|
42
|
-
SimpleStepRewardsByStepViewer,
|
|
43
|
-
SimpleStepRewardsTotalViewer,
|
|
44
|
-
SimpleStepRewardsViewer,
|
|
45
|
-
SimpleStepViewer,
|
|
46
|
-
SimpleTimeSyncViewer,
|
|
47
|
-
SimpleWindowedBlockViewer,
|
|
48
|
-
SimpleXyoConnectionRunner,
|
|
49
|
-
SimpleXyoConnectionViewer,
|
|
50
|
-
SimpleXyoGateway,
|
|
51
|
-
SimpleXyoGatewayRunner,
|
|
52
|
-
SimpleXyoRunner,
|
|
53
|
-
SimpleXyoSigner,
|
|
54
|
-
SimpleXyoViewer,
|
|
55
|
-
} from '@xyo-network/xl1-sdk'
|
|
56
|
-
|
|
57
|
-
export async function telemetryContextFromConfig(config: Config, serviceName: string, serviceVersion: string) {
|
|
58
|
-
const { otlpEndpoint } = config.telemetry?.otel ?? {}
|
|
59
|
-
const { path: endpoint = '/metrics', port: port = 9466 } = config.telemetry?.metrics?.scrape ?? {}
|
|
60
|
-
return await initTelemetry({
|
|
61
|
-
attributes: {
|
|
62
|
-
serviceName,
|
|
63
|
-
serviceVersion,
|
|
64
|
-
},
|
|
65
|
-
otlpEndpoint,
|
|
66
|
-
metricsConfig: { endpoint, port },
|
|
67
|
-
})
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export async function contextFromConfigWithoutLocator(
|
|
71
|
-
config: Config,
|
|
72
|
-
logger: Logger,
|
|
73
|
-
serviceName: string,
|
|
74
|
-
serviceVersion: string,
|
|
75
|
-
): Promise<Omit<CreatableProviderContext, 'locator'>> {
|
|
76
|
-
const singletons = {}
|
|
77
|
-
const caches = {}
|
|
78
|
-
const telemetryConfig = await telemetryContextFromConfig(config, serviceName, serviceVersion)
|
|
79
|
-
const statusReporter = initStatusReporter({ logger })
|
|
80
|
-
return {
|
|
81
|
-
...telemetryConfig,
|
|
82
|
-
config,
|
|
83
|
-
singletons,
|
|
84
|
-
caches,
|
|
85
|
-
logger,
|
|
86
|
-
statusReporter,
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
export async function rootLocatorFromConfig(
|
|
91
|
-
config: Config,
|
|
92
|
-
context: Omit<CreatableProviderContext, 'locator'>,
|
|
93
|
-
): Promise<ProviderFactoryLocatorInstance> {
|
|
94
|
-
let locator: ProviderFactoryLocatorInstance = new ProviderFactoryLocator(context)
|
|
95
|
-
|
|
96
|
-
locator.registerMany([
|
|
97
|
-
SimpleNetworkStakeViewer.factory<SimpleNetworkStakeViewer>(SimpleNetworkStakeViewer.dependencies, {}),
|
|
98
|
-
SimpleTimeSyncViewer.factory<SimpleTimeSyncViewer>(SimpleTimeSyncViewer.dependencies, {}),
|
|
99
|
-
SimpleStepViewer.factory<SimpleStepViewer>(SimpleStepViewer.dependencies, {}),
|
|
100
|
-
SimpleStepRewardsViewer.factory<SimpleStepRewardsViewer>(SimpleStepRewardsViewer.dependencies, {}),
|
|
101
|
-
SimpleStepRewardsByPositionViewer.factory<SimpleStepRewardsByPositionViewer>(SimpleStepRewardsByPositionViewer.dependencies, {}),
|
|
102
|
-
SimpleStepRewardsByStakerViewer.factory<SimpleStepRewardsByStakerViewer>(SimpleStepRewardsByStakerViewer.dependencies, {}),
|
|
103
|
-
SimpleStepRewardsByStepViewer.factory<SimpleStepRewardsByStepViewer>(SimpleStepRewardsByStepViewer.dependencies, {}),
|
|
104
|
-
SimpleStepRewardsTotalViewer.factory<SimpleStepRewardsTotalViewer>(SimpleStepRewardsTotalViewer.dependencies, {}),
|
|
105
|
-
SimpleBlockValidationViewer.factory<SimpleBlockValidationViewer>(
|
|
106
|
-
SimpleBlockValidationViewer.dependencies,
|
|
107
|
-
{ state: validateHydratedBlockState, protocol: validateHydratedBlock },
|
|
108
|
-
),
|
|
109
|
-
])
|
|
110
|
-
locator = await initEvmProvidersIfAvailable(locator)
|
|
111
|
-
locator = await (isString(config.remote.rpc?.url)
|
|
112
|
-
? remoteLocatorFromConfig(config, { ...context, locator })
|
|
113
|
-
: localLocatorFromConfig(config, { ...context, locator }))
|
|
114
|
-
locator.freeze()
|
|
115
|
-
return locator
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export async function localLocatorFromConfig(
|
|
119
|
-
config: Config,
|
|
120
|
-
context: CreatableProviderContext,
|
|
121
|
-
): Promise<ProviderFactoryLocatorInstance> {
|
|
122
|
-
const balancesSummaryMap = assertEx(await initBalanceSummaryMap(context), () => 'Balance Summary Map not initialized')
|
|
123
|
-
const transfersSummaryMap = assertEx(await initTransferSummaryMap(context), () => 'Transfer Summary Map not initialized')
|
|
124
|
-
|
|
125
|
-
// TODO: this should not be an api wallet, but a server wallet
|
|
126
|
-
const wallet = await initApiWallet(context)
|
|
127
|
-
|
|
128
|
-
const {
|
|
129
|
-
writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist,
|
|
130
|
-
} = await initServerNode({
|
|
131
|
-
...context,
|
|
132
|
-
wallet,
|
|
133
|
-
transfersSummaryMap,
|
|
134
|
-
balancesSummaryMap,
|
|
135
|
-
})
|
|
136
|
-
|
|
137
|
-
await initFinalizationArchivistIfNeeded(writableChainArchivist, config, wallet)
|
|
138
|
-
|
|
139
|
-
const locator = new ProviderFactoryLocator(context)
|
|
140
|
-
locator.registerMany([
|
|
141
|
-
SimpleMempoolViewer.factory<SimpleMempoolViewer>(SimpleMempoolViewer.dependencies, { pendingTransactionsArchivist, pendingBlocksArchivist }),
|
|
142
|
-
SimpleMempoolRunner.factory<SimpleMempoolRunner>(SimpleMempoolRunner.dependencies, { pendingTransactionsArchivist, pendingBlocksArchivist }),
|
|
143
|
-
SimpleAccountBalanceViewer.factory<SimpleAccountBalanceViewer>(SimpleAccountBalanceViewer.dependencies, { balancesSummaryMap, transfersSummaryMap }),
|
|
144
|
-
SimpleFinalizationViewer.factory<SimpleFinalizationViewer>(SimpleFinalizationViewer.dependencies, { finalizedArchivist: readonlyChainArchivist }),
|
|
145
|
-
SimpleBlockViewer.factory<SimpleBlockViewer>(SimpleBlockViewer.dependencies, { finalizedArchivist: readonlyChainArchivist }),
|
|
146
|
-
SimpleWindowedBlockViewer.factory<SimpleWindowedBlockViewer>(SimpleWindowedBlockViewer.dependencies, { maxWindowSize: 10_000, syncInterval: 10_000 }),
|
|
147
|
-
SimpleXyoConnectionViewer.factory<SimpleXyoConnectionViewer>(SimpleXyoConnectionViewer.dependencies, {}),
|
|
148
|
-
SimpleXyoViewer.factory<SimpleXyoViewer>(SimpleXyoViewer.dependencies, { finalizedArchivist: readonlyChainArchivist }),
|
|
149
|
-
SimpleFinalizationViewer.factory<SimpleFinalizationViewer>(SimpleFinalizationViewer.dependencies, { finalizedArchivist: readonlyChainArchivist }),
|
|
150
|
-
SimpleFinalizationRunner.factory<SimpleFinalizationRunner>(SimpleFinalizationRunner.dependencies, { finalizedArchivist: writableChainArchivist }),
|
|
151
|
-
|
|
152
|
-
])
|
|
153
|
-
locator.freeze()
|
|
154
|
-
return locator
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export async function remoteLocatorFromConfig(
|
|
158
|
-
config: Config,
|
|
159
|
-
context: CreatableProviderContext,
|
|
160
|
-
): Promise<ProviderFactoryLocatorInstance> {
|
|
161
|
-
const balancesSummaryMap = assertEx(await initBalanceSummaryMap(context), () => 'Balance Summary Map not initialized')
|
|
162
|
-
const transfersSummaryMap = assertEx(await initTransferSummaryMap(context), () => 'Transfer Summary Map not initialized')
|
|
163
|
-
|
|
164
|
-
// TODO: this should not be an api wallet, but a server wallet
|
|
165
|
-
const wallet = await initApiWallet(context)
|
|
166
|
-
|
|
167
|
-
const {
|
|
168
|
-
readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist,
|
|
169
|
-
} = await initServerNode({
|
|
170
|
-
...context,
|
|
171
|
-
wallet,
|
|
172
|
-
transfersSummaryMap,
|
|
173
|
-
balancesSummaryMap,
|
|
174
|
-
})
|
|
175
|
-
|
|
176
|
-
const locator = new ProviderFactoryLocator(context)
|
|
177
|
-
locator.registerMany([
|
|
178
|
-
SimpleMempoolViewer.factory<SimpleMempoolViewer>(SimpleMempoolViewer.dependencies, { pendingTransactionsArchivist, pendingBlocksArchivist }),
|
|
179
|
-
SimpleMempoolRunner.factory<SimpleMempoolRunner>(SimpleMempoolRunner.dependencies, { pendingTransactionsArchivist, pendingBlocksArchivist }),
|
|
180
|
-
SimpleAccountBalanceViewer.factory<SimpleAccountBalanceViewer>(SimpleAccountBalanceViewer.dependencies, { balancesSummaryMap, transfersSummaryMap }),
|
|
181
|
-
SimpleFinalizationViewer.factory<SimpleFinalizationViewer>(SimpleFinalizationViewer.dependencies, { finalizedArchivist: readonlyChainArchivist }),
|
|
182
|
-
SimpleBlockViewer.factory<SimpleBlockViewer>(SimpleBlockViewer.dependencies, { finalizedArchivist: readonlyChainArchivist }),
|
|
183
|
-
SimpleWindowedBlockViewer.factory<SimpleWindowedBlockViewer>(SimpleWindowedBlockViewer.dependencies, { maxWindowSize: 10_000, syncInterval: 10_000 }),
|
|
184
|
-
SimpleXyoViewer.factory<SimpleXyoViewer>(SimpleXyoViewer.dependencies, { finalizedArchivist: readonlyChainArchivist }),
|
|
185
|
-
])
|
|
186
|
-
locator.freeze()
|
|
187
|
-
return locator
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export async function producerLocatorFromConfig(
|
|
191
|
-
config: Config,
|
|
192
|
-
context: CreatableProviderContext,
|
|
193
|
-
): Promise<ProviderFactoryLocatorInstance> {
|
|
194
|
-
const { logger } = context
|
|
195
|
-
const account = await initProducerAccount({ config })
|
|
196
|
-
const locator = new ProviderFactoryLocator(context)
|
|
197
|
-
const rewardAddress = asAddress(config.actors.producer.rewardAddress ?? account.address, true)
|
|
198
|
-
logger?.info(`Using reward address ${rewardAddress}`)
|
|
199
|
-
if (rewardAddress === account.address) {
|
|
200
|
-
logger?.warn(`Using producer account address as reward address: ${account.address}`)
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
const remoteUrl = config.actors.producer.remote.rpc?.url
|
|
204
|
-
|
|
205
|
-
if (isString(remoteUrl)) {
|
|
206
|
-
const transportFactory: TransportFactory = (schemas: RpcSchemaMap) => new HttpRpcTransport(remoteUrl, schemas)
|
|
207
|
-
|
|
208
|
-
locator.registerMany([
|
|
209
|
-
JsonRpcMempoolViewer.factory<JsonRpcMempoolViewer>(JsonRpcMempoolViewer.dependencies, { transport: await transportFactory(MempoolViewerRpcSchemas) }),
|
|
210
|
-
JsonRpcMempoolRunner.factory<JsonRpcMempoolRunner>(JsonRpcMempoolRunner.dependencies, { transport: await transportFactory(MempoolRunnerRpcSchemas) }),
|
|
211
|
-
JsonRpcAccountBalanceViewer.factory<JsonRpcAccountBalanceViewer>(
|
|
212
|
-
JsonRpcAccountBalanceViewer.dependencies,
|
|
213
|
-
{ transport: await transportFactory(AccountBalanceViewerRpcSchemas) },
|
|
214
|
-
),
|
|
215
|
-
JsonRpcFinalizationViewer.factory<JsonRpcFinalizationViewer>(
|
|
216
|
-
JsonRpcFinalizationViewer.dependencies,
|
|
217
|
-
{ transport: await transportFactory(FinalizationViewerRpcSchemas) },
|
|
218
|
-
),
|
|
219
|
-
JsonRpcBlockViewer.factory<JsonRpcBlockViewer>(JsonRpcBlockViewer.dependencies, { transport: await transportFactory(BlockViewerRpcSchemas) }),
|
|
220
|
-
])
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
locator.registerMany([
|
|
224
|
-
SimpleBlockRewardViewer.factory<SimpleBlockRewardViewer>(SimpleBlockRewardViewer.dependencies, {}),
|
|
225
|
-
SimpleBlockRunner.factory<SimpleBlockRunner>(
|
|
226
|
-
SimpleBlockRunner.dependencies,
|
|
227
|
-
{ account, rewardAddress },
|
|
228
|
-
)])
|
|
229
|
-
locator.freeze()
|
|
230
|
-
return locator
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
export function apiLocatorFromConfig(
|
|
234
|
-
config: Config,
|
|
235
|
-
context: CreatableProviderContext,
|
|
236
|
-
): Promisable<ProviderFactoryLocatorInstance> {
|
|
237
|
-
const locator = new ProviderFactoryLocator(context)
|
|
238
|
-
|
|
239
|
-
locator.registerMany([
|
|
240
|
-
SimpleXyoRunner.factory<SimpleXyoRunner>(SimpleXyoRunner.dependencies, {}),
|
|
241
|
-
SimpleXyoConnectionRunner.factory<SimpleXyoConnectionRunner>(SimpleXyoConnectionRunner.dependencies, {}),
|
|
242
|
-
SimpleXyoGateway.factory<SimpleXyoGateway>(SimpleXyoGateway.dependencies, {}),
|
|
243
|
-
])
|
|
244
|
-
locator.freeze()
|
|
245
|
-
return locator
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
export function mempoolLocatorFromConfig(
|
|
249
|
-
config: Config,
|
|
250
|
-
context: CreatableProviderContext,
|
|
251
|
-
): Promisable<ProviderFactoryLocatorInstance> {
|
|
252
|
-
const locator = new ProviderFactoryLocator(context)
|
|
253
|
-
|
|
254
|
-
locator.registerMany([
|
|
255
|
-
])
|
|
256
|
-
locator.freeze()
|
|
257
|
-
return locator
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
export async function bridgeLocatorFromConfig(
|
|
261
|
-
config: Config,
|
|
262
|
-
context: CreatableProviderContext,
|
|
263
|
-
): Promise<Promise<Promisable<ProviderFactoryLocatorInstance>>> {
|
|
264
|
-
const locator = new ProviderFactoryLocator(context)
|
|
265
|
-
|
|
266
|
-
const { mnemonic } = config.actors.bridge
|
|
267
|
-
const walletPhrase = isDefined(mnemonic) ? mnemonic : HDWallet.generateMnemonic()
|
|
268
|
-
const wallet = await generateXyoBaseWalletFromPhrase(walletPhrase)
|
|
269
|
-
const signerAccount = await wallet.derivePath(ADDRESS_INDEX.XYO)
|
|
270
|
-
|
|
271
|
-
const remoteUrl = config.actors.bridge.remote.rpc?.url
|
|
272
|
-
|
|
273
|
-
if (isString(remoteUrl)) {
|
|
274
|
-
const transportFactory: TransportFactory = (schemas: RpcSchemaMap) => new HttpRpcTransport(remoteUrl, schemas)
|
|
275
|
-
|
|
276
|
-
locator.registerMany([
|
|
277
|
-
JsonRpcMempoolViewer.factory<JsonRpcMempoolViewer>(JsonRpcMempoolViewer.dependencies, { transport: await transportFactory(MempoolViewerRpcSchemas) }),
|
|
278
|
-
JsonRpcMempoolRunner.factory<JsonRpcMempoolRunner>(JsonRpcMempoolRunner.dependencies, { transport: await transportFactory(MempoolRunnerRpcSchemas) }),
|
|
279
|
-
JsonRpcAccountBalanceViewer.factory<JsonRpcAccountBalanceViewer>(
|
|
280
|
-
JsonRpcAccountBalanceViewer.dependencies,
|
|
281
|
-
{ transport: await transportFactory(AccountBalanceViewerRpcSchemas) },
|
|
282
|
-
),
|
|
283
|
-
JsonRpcFinalizationViewer.factory<JsonRpcFinalizationViewer>(
|
|
284
|
-
JsonRpcFinalizationViewer.dependencies,
|
|
285
|
-
{ transport: await transportFactory(FinalizationViewerRpcSchemas) },
|
|
286
|
-
),
|
|
287
|
-
JsonRpcBlockViewer.factory<JsonRpcBlockViewer>(JsonRpcBlockViewer.dependencies, { transport: await transportFactory(BlockViewerRpcSchemas) }),
|
|
288
|
-
])
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
locator.registerMany([
|
|
292
|
-
SimpleXyoSigner.factory<SimpleXyoSigner>(SimpleXyoSigner.dependencies, { account: signerAccount }),
|
|
293
|
-
SimpleXyoRunner.factory<SimpleXyoRunner>(SimpleXyoRunner.dependencies, {}),
|
|
294
|
-
SimpleXyoConnectionRunner.factory<SimpleXyoConnectionRunner>(SimpleXyoConnectionRunner.dependencies, {}),
|
|
295
|
-
SimpleXyoGatewayRunner.factory<SimpleXyoGatewayRunner>(SimpleXyoGatewayRunner.dependencies, {}),
|
|
296
|
-
])
|
|
297
|
-
locator.freeze()
|
|
298
|
-
return locator
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
export function rewardRedemptionLocatorFromConfig(
|
|
302
|
-
config: Config,
|
|
303
|
-
context: CreatableProviderContext,
|
|
304
|
-
): Promisable<ProviderFactoryLocatorInstance> {
|
|
305
|
-
const locator = new ProviderFactoryLocator(context)
|
|
306
|
-
|
|
307
|
-
locator.registerMany([
|
|
308
|
-
SimpleXyoGatewayRunner.factory<SimpleXyoGatewayRunner>(SimpleXyoGatewayRunner.dependencies, {}),
|
|
309
|
-
])
|
|
310
|
-
locator.freeze()
|
|
311
|
-
return locator
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
export async function locatorsFromConfig(
|
|
315
|
-
actors: string[],
|
|
316
|
-
config: Config,
|
|
317
|
-
context: Omit<CreatableProviderContext, 'locator'>,
|
|
318
|
-
): Promise<Record<string, ProviderFactoryLocatorInstance>> {
|
|
319
|
-
const result: Record<string, ProviderFactoryLocatorInstance> = { _root: await rootLocatorFromConfig(config, context) }
|
|
320
|
-
if (actors.includes('producer')) result.producer = await producerLocatorFromConfig(config, result._root.context)
|
|
321
|
-
if (actors.includes('api')) result.api = await apiLocatorFromConfig(config, result._root.context)
|
|
322
|
-
if (actors.includes('mempool')) result.mempool = await mempoolLocatorFromConfig(config, result._root.context)
|
|
323
|
-
if (actors.includes('bridge')) result.bridge = await bridgeLocatorFromConfig(config, result._root.context)
|
|
324
|
-
if (actors.includes('rewardRedemption')) result.rewardRedemption = await rewardRedemptionLocatorFromConfig(config, result._root.context)
|
|
325
|
-
return result
|
|
326
|
-
}
|