@xyo-network/chain-orchestration 1.20.8 → 1.20.9
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/browser/index.mjs +178 -332
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/neutral/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
- package/dist/browser/neutral/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
- package/dist/browser/neutral/config/locators/basicRemoteViewerLocator.d.ts +1 -2
- package/dist/browser/neutral/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
- package/dist/browser/neutral/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
- package/dist/browser/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
- package/dist/browser/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
- package/dist/browser/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
- package/dist/browser/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
- package/dist/browser/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
- package/dist/browser/node/config/locators/index.d.ts +2 -0
- package/dist/browser/node/config/locators/index.d.ts.map +1 -1
- package/dist/browser/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/browser/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
- package/dist/browser/node/evm/index.d.ts.map +1 -0
- package/dist/browser/node/evm/initChainId.d.ts.map +1 -0
- package/dist/browser/node/evm/initEvmProvider.d.ts.map +1 -0
- package/dist/browser/node/evm/initInfuraProvider.d.ts.map +1 -0
- package/dist/browser/node/evm/initJsonRpcProvider.d.ts.map +1 -0
- package/dist/browser/node/index.d.ts +1 -0
- package/dist/browser/node/index.d.ts.map +1 -1
- package/dist/browser/node/init/index.d.ts +1 -0
- package/dist/browser/node/init/index.d.ts.map +1 -1
- package/dist/browser/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
- package/dist/browser/shared/actor/ValidatorActor.d.ts +3 -1
- package/dist/browser/shared/actor/ValidatorActor.d.ts.map +1 -1
- package/dist/browser/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
- package/dist/browser/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
- package/dist/browser/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
- package/dist/browser/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
- package/dist/browser/shared/config/locators/index.d.ts +2 -2
- package/dist/browser/shared/config/locators/index.d.ts.map +1 -1
- package/dist/browser/shared/index.d.ts +0 -1
- package/dist/browser/shared/index.d.ts.map +1 -1
- package/dist/browser/shared/init/index.d.ts +0 -1
- package/dist/browser/shared/init/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +178 -332
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/neutral/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
- package/dist/neutral/neutral/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
- package/dist/neutral/neutral/config/locators/basicRemoteViewerLocator.d.ts +1 -2
- package/dist/neutral/neutral/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
- package/dist/neutral/neutral/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
- package/dist/neutral/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
- package/dist/neutral/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
- package/dist/neutral/node/config/locators/index.d.ts +2 -0
- package/dist/neutral/node/config/locators/index.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
- package/dist/neutral/node/evm/index.d.ts.map +1 -0
- package/dist/neutral/node/evm/initChainId.d.ts.map +1 -0
- package/dist/neutral/node/evm/initEvmProvider.d.ts.map +1 -0
- package/dist/neutral/node/evm/initInfuraProvider.d.ts.map +1 -0
- package/dist/neutral/node/evm/initJsonRpcProvider.d.ts.map +1 -0
- package/dist/neutral/node/index.d.ts +1 -0
- package/dist/neutral/node/index.d.ts.map +1 -1
- package/dist/neutral/node/init/index.d.ts +1 -0
- package/dist/neutral/node/init/index.d.ts.map +1 -1
- package/dist/neutral/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
- package/dist/neutral/shared/actor/ValidatorActor.d.ts +3 -1
- package/dist/neutral/shared/actor/ValidatorActor.d.ts.map +1 -1
- package/dist/neutral/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
- package/dist/neutral/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
- package/dist/neutral/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
- package/dist/neutral/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
- package/dist/neutral/shared/config/locators/index.d.ts +2 -2
- package/dist/neutral/shared/config/locators/index.d.ts.map +1 -1
- package/dist/neutral/shared/index.d.ts +0 -1
- package/dist/neutral/shared/index.d.ts.map +1 -1
- package/dist/neutral/shared/init/index.d.ts +0 -1
- package/dist/neutral/shared/init/index.d.ts.map +1 -1
- package/dist/node/index.mjs +415 -366
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/neutral/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
- package/dist/node/neutral/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
- package/dist/node/neutral/config/locators/basicRemoteViewerLocator.d.ts +1 -2
- package/dist/node/neutral/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
- package/dist/node/neutral/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
- package/dist/node/node/config/locators/basicRemoteRunnerLocator.d.ts +1 -2
- package/dist/node/node/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -1
- package/dist/node/node/config/locators/basicRemoteViewerLocator.d.ts +1 -2
- package/dist/node/node/config/locators/basicRemoteViewerLocator.d.ts.map +1 -1
- package/dist/node/node/config/locators/contextFromConfigWithoutLocator.d.ts.map +1 -0
- package/dist/node/node/config/locators/index.d.ts +2 -0
- package/dist/node/node/config/locators/index.d.ts.map +1 -1
- package/dist/node/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/node/node/config/locators/telemetryContextFromConfig.d.ts.map +1 -0
- package/dist/node/node/evm/index.d.ts.map +1 -0
- package/dist/node/node/evm/initChainId.d.ts.map +1 -0
- package/dist/node/node/evm/initEvmProvider.d.ts.map +1 -0
- package/dist/node/node/evm/initInfuraProvider.d.ts.map +1 -0
- package/dist/node/node/evm/initJsonRpcProvider.d.ts.map +1 -0
- package/dist/node/node/index.d.ts +1 -0
- package/dist/node/node/index.d.ts.map +1 -1
- package/dist/node/node/init/index.d.ts +1 -0
- package/dist/node/node/init/index.d.ts.map +1 -1
- package/dist/node/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -0
- package/dist/node/shared/actor/ValidatorActor.d.ts +3 -1
- package/dist/node/shared/actor/ValidatorActor.d.ts.map +1 -1
- package/dist/node/shared/config/locators/basicRemoteRunnerLocator.d.ts +9 -0
- package/dist/node/shared/config/locators/basicRemoteRunnerLocator.d.ts.map +1 -0
- package/dist/node/shared/config/locators/basicRemoteViewerLocator.d.ts +7 -0
- package/dist/node/shared/config/locators/basicRemoteViewerLocator.d.ts.map +1 -0
- package/dist/node/shared/config/locators/index.d.ts +2 -2
- package/dist/node/shared/config/locators/index.d.ts.map +1 -1
- package/dist/node/shared/index.d.ts +0 -1
- package/dist/node/shared/index.d.ts.map +1 -1
- package/dist/node/shared/init/index.d.ts +0 -1
- package/dist/node/shared/init/index.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/neutral/config/locators/basicRemoteRunnerLocator.ts +3 -26
- package/src/neutral/config/locators/basicRemoteViewerLocator.ts +3 -29
- package/src/neutral/config/locators/rootLocatorFromConfig.ts +2 -4
- package/src/node/config/locators/basicRemoteRunnerLocator.ts +22 -31
- package/src/node/config/locators/basicRemoteViewerLocator.ts +10 -34
- package/src/{shared → node}/config/locators/contextFromConfigWithoutLocator.ts +1 -1
- package/src/node/config/locators/index.ts +2 -0
- package/src/node/config/locators/localLocatorFromConfig.ts +1 -1
- package/src/node/config/locators/locatorsFromConfig.ts +2 -3
- package/src/node/config/locators/rootLocatorFromConfig.ts +1 -1
- package/src/node/index.ts +1 -0
- package/src/node/init/index.ts +1 -0
- package/src/shared/actor/ValidatorActor.ts +9 -2
- package/src/shared/config/locators/basicRemoteRunnerLocator.ts +63 -0
- package/src/shared/config/locators/basicRemoteViewerLocator.ts +44 -0
- package/src/shared/config/locators/index.ts +2 -2
- package/src/shared/index.ts +0 -1
- package/src/shared/init/index.ts +0 -1
- package/dist/browser/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
- package/dist/browser/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
- package/dist/browser/shared/evm/index.d.ts.map +0 -1
- package/dist/browser/shared/evm/initChainId.d.ts.map +0 -1
- package/dist/browser/shared/evm/initEvmProvider.d.ts.map +0 -1
- package/dist/browser/shared/evm/initInfuraProvider.d.ts.map +0 -1
- package/dist/browser/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
- package/dist/browser/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
- package/dist/neutral/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
- package/dist/neutral/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
- package/dist/neutral/shared/evm/index.d.ts.map +0 -1
- package/dist/neutral/shared/evm/initChainId.d.ts.map +0 -1
- package/dist/neutral/shared/evm/initEvmProvider.d.ts.map +0 -1
- package/dist/neutral/shared/evm/initInfuraProvider.d.ts.map +0 -1
- package/dist/neutral/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
- package/dist/neutral/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
- package/dist/node/shared/config/locators/contextFromConfigWithoutLocator.d.ts.map +0 -1
- package/dist/node/shared/config/locators/telemetryContextFromConfig.d.ts.map +0 -1
- package/dist/node/shared/evm/index.d.ts.map +0 -1
- package/dist/node/shared/evm/initChainId.d.ts.map +0 -1
- package/dist/node/shared/evm/initEvmProvider.d.ts.map +0 -1
- package/dist/node/shared/evm/initInfuraProvider.d.ts.map +0 -1
- package/dist/node/shared/evm/initJsonRpcProvider.d.ts.map +0 -1
- package/dist/node/shared/init/initEvmProvidersIfAvailable.d.ts.map +0 -1
- /package/dist/browser/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
- /package/dist/browser/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
- /package/dist/browser/{shared → node}/evm/index.d.ts +0 -0
- /package/dist/browser/{shared → node}/evm/initChainId.d.ts +0 -0
- /package/dist/browser/{shared → node}/evm/initEvmProvider.d.ts +0 -0
- /package/dist/browser/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
- /package/dist/browser/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
- /package/dist/browser/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
- /package/dist/neutral/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
- /package/dist/neutral/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
- /package/dist/neutral/{shared → node}/evm/index.d.ts +0 -0
- /package/dist/neutral/{shared → node}/evm/initChainId.d.ts +0 -0
- /package/dist/neutral/{shared → node}/evm/initEvmProvider.d.ts +0 -0
- /package/dist/neutral/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
- /package/dist/neutral/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
- /package/dist/neutral/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
- /package/dist/node/{shared → node}/config/locators/contextFromConfigWithoutLocator.d.ts +0 -0
- /package/dist/node/{shared → node}/config/locators/telemetryContextFromConfig.d.ts +0 -0
- /package/dist/node/{shared → node}/evm/index.d.ts +0 -0
- /package/dist/node/{shared → node}/evm/initChainId.d.ts +0 -0
- /package/dist/node/{shared → node}/evm/initEvmProvider.d.ts +0 -0
- /package/dist/node/{shared → node}/evm/initInfuraProvider.d.ts +0 -0
- /package/dist/node/{shared → node}/evm/initJsonRpcProvider.d.ts +0 -0
- /package/dist/node/{shared → node}/init/initEvmProvidersIfAvailable.d.ts +0 -0
- /package/src/{shared → node}/config/locators/telemetryContextFromConfig.ts +0 -0
- /package/src/{shared → node}/evm/index.ts +0 -0
- /package/src/{shared → node}/evm/initChainId.ts +0 -0
- /package/src/{shared → node}/evm/initEvmProvider.ts +0 -0
- /package/src/{shared → node}/evm/initInfuraProvider.ts +0 -0
- /package/src/{shared → node}/evm/initJsonRpcProvider.ts +0 -0
- /package/src/{shared → node}/init/initEvmProvidersIfAvailable.ts +0 -0
package/dist/node/index.mjs
CHANGED
|
@@ -4,7 +4,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
4
4
|
// src/shared/actor/ValidatorActor.ts
|
|
5
5
|
import { creatable } from "@xylabs/sdk-js";
|
|
6
6
|
import { processPendingBlocks } from "@xyo-network/chain-sdk";
|
|
7
|
-
import { ActorV3, BlockViewerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
7
|
+
import { ActorV3, BlockValidationViewerMoniker, BlockViewerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
8
8
|
function _ts_decorate(decorators, target, key, desc) {
|
|
9
9
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
10
10
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -16,6 +16,7 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
16
16
|
static {
|
|
17
17
|
__name(this, "ValidatorActor");
|
|
18
18
|
}
|
|
19
|
+
_blockValidationViewer;
|
|
19
20
|
_blockViewer;
|
|
20
21
|
_finalizationRunner;
|
|
21
22
|
_lastValidatedBlock;
|
|
@@ -24,6 +25,9 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
24
25
|
get allowedProducers() {
|
|
25
26
|
return this.params.config.allowedProducers ?? [];
|
|
26
27
|
}
|
|
28
|
+
get blockValidationViewer() {
|
|
29
|
+
return this._blockValidationViewer;
|
|
30
|
+
}
|
|
27
31
|
get blockViewer() {
|
|
28
32
|
return this._blockViewer;
|
|
29
33
|
}
|
|
@@ -35,6 +39,7 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
35
39
|
}
|
|
36
40
|
async createHandler() {
|
|
37
41
|
await super.startHandler();
|
|
42
|
+
this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
|
|
38
43
|
this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
|
|
39
44
|
this._finalizationRunner = await this.locator.getInstance(FinalizationRunnerMoniker);
|
|
40
45
|
this._mempoolViewer = await this.locator.getInstance(MempoolViewerMoniker);
|
|
@@ -45,6 +50,7 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
45
50
|
await this.spanAsync("processPendingBlocks", async () => {
|
|
46
51
|
console.log("ValidatorActor: Processing pending blocks...");
|
|
47
52
|
await processPendingBlocks({
|
|
53
|
+
blockValidationViewer: this.blockValidationViewer,
|
|
48
54
|
context: this.context,
|
|
49
55
|
logger: this.logger,
|
|
50
56
|
mempoolViewer: this.mempoolViewer,
|
|
@@ -348,6 +354,14 @@ var isValidatorConfigContext = zodIsFactory6(ValidatorConfigContext);
|
|
|
348
354
|
var asValidatorConfigContext = zodAsFactory6(ValidatorConfigContext, "asValidatorConfigContext");
|
|
349
355
|
var toValidatorConfigContext = zodToFactory6(ValidatorConfigContext, "toValidatorConfigContext");
|
|
350
356
|
|
|
357
|
+
// src/shared/config/locators/basicRemoteRunnerLocator.ts
|
|
358
|
+
import { isDefined as isDefined2 } from "@xylabs/sdk-js";
|
|
359
|
+
import { JsonRpcXyoRunner, JsonRpcXyoSigner, ProviderFactoryLocator as ProviderFactoryLocator4, RestDataLakeViewer as RestDataLakeViewer2, SimpleXyoConnectionRunner, SimpleXyoGatewayRunner } from "@xyo-network/xl1-sdk";
|
|
360
|
+
|
|
361
|
+
// src/shared/config/locators/basicRemoteViewerLocator.ts
|
|
362
|
+
import { isDefined } from "@xylabs/sdk-js";
|
|
363
|
+
import { ActorConfigZod as ActorConfigZod2, ProviderFactoryLocator as ProviderFactoryLocator3, RestDataLakeViewer, SimpleTransactionViewer as SimpleTransactionViewer2, SimpleXyoConnectionViewer, SimpleXyoGateway } from "@xyo-network/xl1-sdk";
|
|
364
|
+
|
|
351
365
|
// src/shared/config/locators/commonLocatorFromConfig.ts
|
|
352
366
|
import { validateHydratedBlock, validateHydratedBlockState } from "@xyo-network/chain-validation";
|
|
353
367
|
import { BlockCumulativeBalanceValidatorFactory, ProviderFactoryLocator, SimpleBlockRewardViewer, SimpleBlockValidationViewer, SimpleNetworkStakeViewer, SimpleStepRewardsByPositionViewer, SimpleStepRewardsByStakerViewer, SimpleStepRewardsByStepViewer, SimpleStepRewardsTotalViewer, SimpleStepRewardsViewer, SimpleStepViewer, SimpleTimeSyncViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer } from "@xyo-network/xl1-sdk";
|
|
@@ -388,14 +402,163 @@ function commonLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
388
402
|
}
|
|
389
403
|
__name(commonLocatorFromConfig, "commonLocatorFromConfig");
|
|
390
404
|
|
|
405
|
+
// src/shared/config/locators/remoteLocatorFromConfig.ts
|
|
406
|
+
import { JsonRpcAccountBalanceViewer, JsonRpcBlockViewer, JsonRpcFinalizationViewer, JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcNetworkStakeViewer, JsonRpcStakeViewer, JsonRpcTransactionViewer, JsonRpcXyoViewer, ProviderFactoryLocator as ProviderFactoryLocator2, SimpleStakeEventsViewer } from "@xyo-network/xl1-sdk";
|
|
407
|
+
function remoteLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
408
|
+
const locator = new ProviderFactoryLocator2(context, {}, validateDepsOnRegister);
|
|
409
|
+
locator.registerMany([
|
|
410
|
+
JsonRpcMempoolViewer.factory(JsonRpcMempoolViewer.dependencies, {}),
|
|
411
|
+
JsonRpcMempoolRunner.factory(JsonRpcMempoolRunner.dependencies, {}),
|
|
412
|
+
JsonRpcAccountBalanceViewer.factory(JsonRpcAccountBalanceViewer.dependencies, {}),
|
|
413
|
+
JsonRpcFinalizationViewer.factory(JsonRpcFinalizationViewer.dependencies, {}),
|
|
414
|
+
JsonRpcBlockViewer.factory(JsonRpcBlockViewer.dependencies, {}),
|
|
415
|
+
JsonRpcTransactionViewer.factory(JsonRpcTransactionViewer.dependencies, {}),
|
|
416
|
+
JsonRpcNetworkStakeViewer.factory(JsonRpcNetworkStakeViewer.dependencies, {}),
|
|
417
|
+
JsonRpcStakeViewer.factory(JsonRpcStakeViewer.dependencies, {}),
|
|
418
|
+
SimpleStakeEventsViewer.factory(SimpleStakeEventsViewer.dependencies, {
|
|
419
|
+
positions: []
|
|
420
|
+
}),
|
|
421
|
+
JsonRpcXyoViewer.factory(JsonRpcXyoViewer.dependencies, {})
|
|
422
|
+
]);
|
|
423
|
+
return locator;
|
|
424
|
+
}
|
|
425
|
+
__name(remoteLocatorFromConfig, "remoteLocatorFromConfig");
|
|
426
|
+
|
|
427
|
+
// src/shared/config/locators/basicRemoteViewerLocator.ts
|
|
428
|
+
async function baseBasicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint, options) {
|
|
429
|
+
const config = ActorConfigZod2.parse({
|
|
430
|
+
name,
|
|
431
|
+
remote: remoteConfig
|
|
432
|
+
});
|
|
433
|
+
const rootLocator = await commonLocatorFromConfig({
|
|
434
|
+
config,
|
|
435
|
+
singletons: {},
|
|
436
|
+
caches: {}
|
|
437
|
+
});
|
|
438
|
+
const remoteLocator = await remoteLocatorFromConfig(rootLocator.context);
|
|
439
|
+
const locator = new ProviderFactoryLocator3(remoteLocator.context, {});
|
|
440
|
+
locator.registerMany([
|
|
441
|
+
SimpleXyoGateway.factory(SimpleXyoGateway.dependencies, {}),
|
|
442
|
+
SimpleXyoConnectionViewer.factory(SimpleXyoConnectionViewer.dependencies, {}),
|
|
443
|
+
SimpleTransactionViewer2.factory(SimpleTransactionViewer2.dependencies, {}),
|
|
444
|
+
...options?.additionalProviders ?? []
|
|
445
|
+
]);
|
|
446
|
+
if (isDefined(dataLakeEndpoint)) {
|
|
447
|
+
const dataLakeViewerParams = {
|
|
448
|
+
endpoint: dataLakeEndpoint
|
|
449
|
+
};
|
|
450
|
+
locator.register(RestDataLakeViewer.factory(RestDataLakeViewer.dependencies, dataLakeViewerParams));
|
|
451
|
+
}
|
|
452
|
+
locator.freeze();
|
|
453
|
+
return locator;
|
|
454
|
+
}
|
|
455
|
+
__name(baseBasicRemoteViewerLocator, "baseBasicRemoteViewerLocator");
|
|
456
|
+
|
|
457
|
+
// src/shared/config/locators/basicRemoteRunnerLocator.ts
|
|
458
|
+
async function baseBasicRemoteRunnerLocator(name, remoteConfig, signerTransport, dataLakeEndpoint, options) {
|
|
459
|
+
const remoteViewerLocator = await baseBasicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint, options);
|
|
460
|
+
const locator = new ProviderFactoryLocator4(remoteViewerLocator.context, {});
|
|
461
|
+
const providers = [
|
|
462
|
+
SimpleXyoConnectionRunner.factory(SimpleXyoConnectionRunner.dependencies, {}),
|
|
463
|
+
JsonRpcXyoRunner.factory(JsonRpcXyoRunner.dependencies, {})
|
|
464
|
+
];
|
|
465
|
+
if (!options?.skipGatewayRunner) {
|
|
466
|
+
providers.push(SimpleXyoGatewayRunner.factory(SimpleXyoGatewayRunner.dependencies, {}));
|
|
467
|
+
}
|
|
468
|
+
locator.registerMany([
|
|
469
|
+
...providers,
|
|
470
|
+
...options?.additionalRunnerProviders ?? []
|
|
471
|
+
]);
|
|
472
|
+
if (options?.signerFactory) {
|
|
473
|
+
locator.register(options.signerFactory);
|
|
474
|
+
} else {
|
|
475
|
+
locator.register(JsonRpcXyoSigner.factory(JsonRpcXyoSigner.dependencies, {
|
|
476
|
+
transport: signerTransport
|
|
477
|
+
}));
|
|
478
|
+
}
|
|
479
|
+
if (isDefined2(dataLakeEndpoint)) {
|
|
480
|
+
const dataLakeViewerParams = {
|
|
481
|
+
endpoint: dataLakeEndpoint
|
|
482
|
+
};
|
|
483
|
+
locator.register(RestDataLakeViewer2.factory(RestDataLakeViewer2.dependencies, dataLakeViewerParams));
|
|
484
|
+
}
|
|
485
|
+
locator.freeze();
|
|
486
|
+
return locator;
|
|
487
|
+
}
|
|
488
|
+
__name(baseBasicRemoteRunnerLocator, "baseBasicRemoteRunnerLocator");
|
|
489
|
+
|
|
490
|
+
// src/shared/config/mergeConfig.ts
|
|
491
|
+
import { deepMerge } from "@xylabs/sdk-js";
|
|
492
|
+
function mergeConfig({ actors, ...baseConfig }) {
|
|
493
|
+
return {
|
|
494
|
+
...baseConfig,
|
|
495
|
+
actors: actors.map((actor) => {
|
|
496
|
+
return deepMerge(baseConfig, actor);
|
|
497
|
+
})
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
__name(mergeConfig, "mergeConfig");
|
|
501
|
+
|
|
502
|
+
// src/shared/createDeclarationIntentBlock.ts
|
|
503
|
+
import { buildNextBlock } from "@xyo-network/chain-sdk";
|
|
504
|
+
import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
|
|
505
|
+
async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, range) {
|
|
506
|
+
const producerDeclarationPayload = createDeclarationIntent(producerAccount.address, "producer", range[0], range[1]);
|
|
507
|
+
return await buildNextBlock(prevBlock, [], [
|
|
508
|
+
producerDeclarationPayload
|
|
509
|
+
], [
|
|
510
|
+
producerAccount
|
|
511
|
+
]);
|
|
512
|
+
}
|
|
513
|
+
__name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
|
|
514
|
+
|
|
515
|
+
// src/shared/host/implementation/DefaultHost.ts
|
|
516
|
+
var GenericHost = class {
|
|
517
|
+
static {
|
|
518
|
+
__name(this, "GenericHost");
|
|
519
|
+
}
|
|
520
|
+
services;
|
|
521
|
+
constructor(services) {
|
|
522
|
+
this.services = services;
|
|
523
|
+
}
|
|
524
|
+
async start() {
|
|
525
|
+
await Promise.resolve();
|
|
526
|
+
console.log("Host is starting...");
|
|
527
|
+
}
|
|
528
|
+
async stop() {
|
|
529
|
+
await Promise.resolve();
|
|
530
|
+
console.log("Host is stopping...");
|
|
531
|
+
}
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
// src/shared/host/implementation/DefaultServiceProvider.ts
|
|
535
|
+
var DefaultServiceProvider = class {
|
|
536
|
+
static {
|
|
537
|
+
__name(this, "DefaultServiceProvider");
|
|
538
|
+
}
|
|
539
|
+
_services;
|
|
540
|
+
constructor(services) {
|
|
541
|
+
this._services = services;
|
|
542
|
+
}
|
|
543
|
+
getService(serviceIdentifier) {
|
|
544
|
+
return this._services[serviceIdentifier];
|
|
545
|
+
}
|
|
546
|
+
};
|
|
547
|
+
|
|
548
|
+
// src/shared/host/model/ServiceCollection.ts
|
|
549
|
+
var ServiceLifetime = {
|
|
550
|
+
Singleton: "Singleton",
|
|
551
|
+
Transient: "Transient"
|
|
552
|
+
};
|
|
553
|
+
|
|
391
554
|
// src/shared/init/initActorAccount.ts
|
|
392
|
-
import { isDefined, isUndefined } from "@xylabs/sdk-js";
|
|
555
|
+
import { isDefined as isDefined3, isUndefined } from "@xylabs/sdk-js";
|
|
393
556
|
import { HDWallet } from "@xyo-network/sdk-js";
|
|
394
557
|
import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-sdk";
|
|
395
558
|
var actorAccountSingletons = {};
|
|
396
559
|
async function initActorAccount({ config, logger }) {
|
|
397
560
|
const actorName = config.name;
|
|
398
|
-
if (
|
|
561
|
+
if (isDefined3(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
|
|
399
562
|
let walletPhrase = config.mnemonic;
|
|
400
563
|
if (isUndefined(walletPhrase)) {
|
|
401
564
|
logger?.warn(`[${actorName}}] No wallet mnemonic specified!`);
|
|
@@ -471,141 +634,6 @@ async function initBridgedArchivistModule({ bridge, moduleName }) {
|
|
|
471
634
|
}
|
|
472
635
|
__name(initBridgedArchivistModule, "initBridgedArchivistModule");
|
|
473
636
|
|
|
474
|
-
// src/shared/init/initEvmProvidersIfAvailable.ts
|
|
475
|
-
import { asEthAddress, assertEx as assertEx7 } from "@xylabs/sdk-js";
|
|
476
|
-
import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeTotalsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
|
|
477
|
-
import { SimpleChainContractViewer, SimpleStakeEventsViewer, SimpleStakeTotalsViewer, SimpleStakeViewer, SimpleTimeSyncViewer as SimpleTimeSyncViewer2, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
478
|
-
|
|
479
|
-
// src/shared/evm/initChainId.ts
|
|
480
|
-
import { assertEx as assertEx3, hexFrom, isDefined as isDefined2, isHex } from "@xylabs/sdk-js";
|
|
481
|
-
var canUseChainId = /* @__PURE__ */ __name(({ config }) => {
|
|
482
|
-
return isDefined2(config.evm.chainId);
|
|
483
|
-
}, "canUseChainId");
|
|
484
|
-
var getChainId = /* @__PURE__ */ __name(({ config }) => {
|
|
485
|
-
const chainId = assertEx3(config.evm.chainId, () => "Missing config.evm.chainId");
|
|
486
|
-
if (isHex(chainId, {
|
|
487
|
-
prefix: true
|
|
488
|
-
})) {
|
|
489
|
-
const hex = hexFrom(chainId);
|
|
490
|
-
const parsed = Number.parseInt(hex, 16);
|
|
491
|
-
return parsed;
|
|
492
|
-
} else {
|
|
493
|
-
const parsed = Number.parseInt(chainId, 10);
|
|
494
|
-
return parsed;
|
|
495
|
-
}
|
|
496
|
-
}, "getChainId");
|
|
497
|
-
|
|
498
|
-
// src/shared/evm/initEvmProvider.ts
|
|
499
|
-
import { assertEx as assertEx6 } from "@xylabs/sdk-js";
|
|
500
|
-
|
|
501
|
-
// src/shared/evm/initInfuraProvider.ts
|
|
502
|
-
import { assertEx as assertEx4, isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
503
|
-
import { InfuraProvider } from "ethers/providers";
|
|
504
|
-
var instance;
|
|
505
|
-
var initInfuraProvider = /* @__PURE__ */ __name((context) => {
|
|
506
|
-
if (instance) return instance;
|
|
507
|
-
const providerConfig = getInfuraProviderConfig(context);
|
|
508
|
-
instance = Promise.resolve(new InfuraProvider(providerConfig[0], providerConfig[1]));
|
|
509
|
-
return instance;
|
|
510
|
-
}, "initInfuraProvider");
|
|
511
|
-
var canUseInfuraProvider = /* @__PURE__ */ __name((context) => {
|
|
512
|
-
const { config } = context;
|
|
513
|
-
return canUseChainId(context) && isDefined3(config.evm?.infura?.projectId) && isDefined3(config.evm?.infura?.projectSecret);
|
|
514
|
-
}, "canUseInfuraProvider");
|
|
515
|
-
var getInfuraProviderConfig = /* @__PURE__ */ __name((context) => {
|
|
516
|
-
const { config } = context;
|
|
517
|
-
const projectId = assertEx4(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
518
|
-
const projectSecret = assertEx4(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
|
|
519
|
-
return [
|
|
520
|
-
getChainId(context),
|
|
521
|
-
projectId,
|
|
522
|
-
projectSecret
|
|
523
|
-
];
|
|
524
|
-
}, "getInfuraProviderConfig");
|
|
525
|
-
|
|
526
|
-
// src/shared/evm/initJsonRpcProvider.ts
|
|
527
|
-
import { assertEx as assertEx5, isDefined as isDefined4 } from "@xylabs/sdk-js";
|
|
528
|
-
import { JsonRpcProvider } from "ethers/providers";
|
|
529
|
-
var initJsonRpcProvider = /* @__PURE__ */ __name((context) => {
|
|
530
|
-
const providerConfig = getJsonRpcProviderConfig(context);
|
|
531
|
-
return Promise.resolve(new JsonRpcProvider(...providerConfig));
|
|
532
|
-
}, "initJsonRpcProvider");
|
|
533
|
-
var canUseJsonRpcProvider = /* @__PURE__ */ __name((context) => {
|
|
534
|
-
const { config } = context;
|
|
535
|
-
return canUseChainId(context) && isDefined4(config.evm.jsonRpc?.url);
|
|
536
|
-
}, "canUseJsonRpcProvider");
|
|
537
|
-
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((context) => {
|
|
538
|
-
const { config } = context;
|
|
539
|
-
const jsonRpcUrl = assertEx5(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
540
|
-
return [
|
|
541
|
-
jsonRpcUrl,
|
|
542
|
-
getChainId(context)
|
|
543
|
-
];
|
|
544
|
-
}, "getJsonRpcProviderConfig");
|
|
545
|
-
|
|
546
|
-
// src/shared/evm/initEvmProvider.ts
|
|
547
|
-
var provider;
|
|
548
|
-
var initEvmProvider = /* @__PURE__ */ __name(async (context) => {
|
|
549
|
-
if (provider) return provider;
|
|
550
|
-
if (canUseInfuraProvider(context)) {
|
|
551
|
-
provider = initInfuraProvider(context);
|
|
552
|
-
} else if (canUseJsonRpcProvider(context)) {
|
|
553
|
-
provider = initJsonRpcProvider(context);
|
|
554
|
-
}
|
|
555
|
-
return assertEx6(await provider, () => "No provider available");
|
|
556
|
-
}, "initEvmProvider");
|
|
557
|
-
var canUseEvmProvider = /* @__PURE__ */ __name((context) => {
|
|
558
|
-
return canUseInfuraProvider(context) || canUseJsonRpcProvider(context);
|
|
559
|
-
}, "canUseEvmProvider");
|
|
560
|
-
|
|
561
|
-
// src/shared/init/initEvmProvidersIfAvailable.ts
|
|
562
|
-
async function initEvmProvidersIfAvailable(locator) {
|
|
563
|
-
const context = locator.context;
|
|
564
|
-
const { logger } = context;
|
|
565
|
-
if (canUseEvmProvider(context)) {
|
|
566
|
-
const chainId = assertEx7(context.config.chain.id, () => "Missing config.chain.id (required for EVM providers)");
|
|
567
|
-
const provider2 = await initEvmProvider(context);
|
|
568
|
-
const address = asEthAddress(chainId, true);
|
|
569
|
-
locator.register(EvmStakeEventsViewer.factory(EvmStakeEventsViewer.dependencies, {
|
|
570
|
-
address,
|
|
571
|
-
provider: provider2
|
|
572
|
-
}));
|
|
573
|
-
locator.register(EvmStakeViewer.factory(EvmStakeViewer.dependencies, {
|
|
574
|
-
address,
|
|
575
|
-
provider: provider2
|
|
576
|
-
}));
|
|
577
|
-
locator.register(EvmStakeTotalsViewer.factory(EvmStakeTotalsViewer.dependencies, {
|
|
578
|
-
address,
|
|
579
|
-
provider: provider2
|
|
580
|
-
}));
|
|
581
|
-
locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
|
|
582
|
-
address,
|
|
583
|
-
provider: provider2
|
|
584
|
-
}));
|
|
585
|
-
locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {
|
|
586
|
-
ethProvider: provider2
|
|
587
|
-
}));
|
|
588
|
-
} else {
|
|
589
|
-
logger?.warn("EVM provider not available - running with memory based contract/stake viewers");
|
|
590
|
-
const positions = [];
|
|
591
|
-
locator.register(SimpleStakeEventsViewer.factory(SimpleStakeEventsViewer.dependencies, {
|
|
592
|
-
positions
|
|
593
|
-
}));
|
|
594
|
-
locator.register(SimpleStakeViewer.factory(SimpleStakeViewer.dependencies, {
|
|
595
|
-
positions
|
|
596
|
-
}));
|
|
597
|
-
locator.register(SimpleStakeTotalsViewer.factory(SimpleStakeTotalsViewer.dependencies, {}));
|
|
598
|
-
locator.register(SimpleChainContractViewer.factory(SimpleChainContractViewer.dependencies, {
|
|
599
|
-
minWithdrawalBlocks: 10,
|
|
600
|
-
stakingTokenAddress: XYO_ZERO_ADDRESS,
|
|
601
|
-
rewardsContract: XYO_ZERO_ADDRESS
|
|
602
|
-
}));
|
|
603
|
-
locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {}));
|
|
604
|
-
}
|
|
605
|
-
return locator;
|
|
606
|
-
}
|
|
607
|
-
__name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
|
|
608
|
-
|
|
609
637
|
// src/shared/init/initStatusReporter.ts
|
|
610
638
|
import { RuntimeStatusMonitor } from "@xyo-network/xl1-sdk";
|
|
611
639
|
function initStatusReporter({ logger }) {
|
|
@@ -626,139 +654,15 @@ function initStatusReporter({ logger }) {
|
|
|
626
654
|
__name(initStatusReporter, "initStatusReporter");
|
|
627
655
|
|
|
628
656
|
// src/shared/init/initWallet.ts
|
|
629
|
-
import { isDefined as
|
|
657
|
+
import { isDefined as isDefined4 } from "@xylabs/sdk-js";
|
|
630
658
|
import { boot } from "@xyo-network/bios";
|
|
631
659
|
import { HDWallet as HDWallet3 } from "@xyo-network/sdk-js";
|
|
632
660
|
async function initActorWallet(context, mnemonic) {
|
|
633
|
-
const bios = await boot();
|
|
634
|
-
const seedPhrase =
|
|
635
|
-
return await HDWallet3.fromPhrase(seedPhrase);
|
|
636
|
-
}
|
|
637
|
-
__name(initActorWallet, "initActorWallet");
|
|
638
|
-
|
|
639
|
-
// src/shared/config/locators/telemetryContextFromConfig.ts
|
|
640
|
-
import { initTelemetry } from "@xyo-network/chain-telemetry";
|
|
641
|
-
async function telemetryContextFromConfig(config, serviceName, serviceVersion) {
|
|
642
|
-
const { otlpEndpoint } = config.telemetry?.otel ?? {};
|
|
643
|
-
const { path: endpoint = "/metrics", port = 9466 } = config.telemetry?.metrics?.scrape ?? {};
|
|
644
|
-
return await initTelemetry({
|
|
645
|
-
attributes: {
|
|
646
|
-
serviceName,
|
|
647
|
-
serviceVersion
|
|
648
|
-
},
|
|
649
|
-
otlpEndpoint,
|
|
650
|
-
metricsConfig: {
|
|
651
|
-
endpoint,
|
|
652
|
-
port
|
|
653
|
-
}
|
|
654
|
-
});
|
|
655
|
-
}
|
|
656
|
-
__name(telemetryContextFromConfig, "telemetryContextFromConfig");
|
|
657
|
-
|
|
658
|
-
// src/shared/config/locators/contextFromConfigWithoutLocator.ts
|
|
659
|
-
async function contextFromConfigWithoutLocator(config, logger, serviceName, serviceVersion) {
|
|
660
|
-
const singletons = {};
|
|
661
|
-
const caches = {};
|
|
662
|
-
const telemetryConfig = await telemetryContextFromConfig(config, serviceName, serviceVersion);
|
|
663
|
-
const statusReporter = initStatusReporter({
|
|
664
|
-
logger
|
|
665
|
-
});
|
|
666
|
-
return {
|
|
667
|
-
...telemetryConfig,
|
|
668
|
-
config,
|
|
669
|
-
singletons,
|
|
670
|
-
caches,
|
|
671
|
-
logger,
|
|
672
|
-
statusReporter
|
|
673
|
-
};
|
|
674
|
-
}
|
|
675
|
-
__name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
|
|
676
|
-
|
|
677
|
-
// src/shared/config/locators/remoteLocatorFromConfig.ts
|
|
678
|
-
import { JsonRpcAccountBalanceViewer, JsonRpcBlockViewer, JsonRpcFinalizationViewer, JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcNetworkStakeViewer, JsonRpcStakeViewer, JsonRpcTransactionViewer, JsonRpcXyoViewer, ProviderFactoryLocator as ProviderFactoryLocator2, SimpleStakeEventsViewer as SimpleStakeEventsViewer2 } from "@xyo-network/xl1-sdk";
|
|
679
|
-
function remoteLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
680
|
-
const locator = new ProviderFactoryLocator2(context, {}, validateDepsOnRegister);
|
|
681
|
-
locator.registerMany([
|
|
682
|
-
JsonRpcMempoolViewer.factory(JsonRpcMempoolViewer.dependencies, {}),
|
|
683
|
-
JsonRpcMempoolRunner.factory(JsonRpcMempoolRunner.dependencies, {}),
|
|
684
|
-
JsonRpcAccountBalanceViewer.factory(JsonRpcAccountBalanceViewer.dependencies, {}),
|
|
685
|
-
JsonRpcFinalizationViewer.factory(JsonRpcFinalizationViewer.dependencies, {}),
|
|
686
|
-
JsonRpcBlockViewer.factory(JsonRpcBlockViewer.dependencies, {}),
|
|
687
|
-
JsonRpcTransactionViewer.factory(JsonRpcTransactionViewer.dependencies, {}),
|
|
688
|
-
JsonRpcNetworkStakeViewer.factory(JsonRpcNetworkStakeViewer.dependencies, {}),
|
|
689
|
-
JsonRpcStakeViewer.factory(JsonRpcStakeViewer.dependencies, {}),
|
|
690
|
-
SimpleStakeEventsViewer2.factory(SimpleStakeEventsViewer2.dependencies, {
|
|
691
|
-
positions: []
|
|
692
|
-
}),
|
|
693
|
-
JsonRpcXyoViewer.factory(JsonRpcXyoViewer.dependencies, {})
|
|
694
|
-
]);
|
|
695
|
-
return locator;
|
|
696
|
-
}
|
|
697
|
-
__name(remoteLocatorFromConfig, "remoteLocatorFromConfig");
|
|
698
|
-
|
|
699
|
-
// src/shared/config/mergeConfig.ts
|
|
700
|
-
import { deepMerge } from "@xylabs/sdk-js";
|
|
701
|
-
function mergeConfig({ actors, ...baseConfig }) {
|
|
702
|
-
return {
|
|
703
|
-
...baseConfig,
|
|
704
|
-
actors: actors.map((actor) => {
|
|
705
|
-
return deepMerge(baseConfig, actor);
|
|
706
|
-
})
|
|
707
|
-
};
|
|
708
|
-
}
|
|
709
|
-
__name(mergeConfig, "mergeConfig");
|
|
710
|
-
|
|
711
|
-
// src/shared/createDeclarationIntentBlock.ts
|
|
712
|
-
import { buildNextBlock } from "@xyo-network/chain-sdk";
|
|
713
|
-
import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
|
|
714
|
-
async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, range) {
|
|
715
|
-
const producerDeclarationPayload = createDeclarationIntent(producerAccount.address, "producer", range[0], range[1]);
|
|
716
|
-
return await buildNextBlock(prevBlock, [], [
|
|
717
|
-
producerDeclarationPayload
|
|
718
|
-
], [
|
|
719
|
-
producerAccount
|
|
720
|
-
]);
|
|
721
|
-
}
|
|
722
|
-
__name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
|
|
723
|
-
|
|
724
|
-
// src/shared/host/implementation/DefaultHost.ts
|
|
725
|
-
var GenericHost = class {
|
|
726
|
-
static {
|
|
727
|
-
__name(this, "GenericHost");
|
|
728
|
-
}
|
|
729
|
-
services;
|
|
730
|
-
constructor(services) {
|
|
731
|
-
this.services = services;
|
|
732
|
-
}
|
|
733
|
-
async start() {
|
|
734
|
-
await Promise.resolve();
|
|
735
|
-
console.log("Host is starting...");
|
|
736
|
-
}
|
|
737
|
-
async stop() {
|
|
738
|
-
await Promise.resolve();
|
|
739
|
-
console.log("Host is stopping...");
|
|
740
|
-
}
|
|
741
|
-
};
|
|
742
|
-
|
|
743
|
-
// src/shared/host/implementation/DefaultServiceProvider.ts
|
|
744
|
-
var DefaultServiceProvider = class {
|
|
745
|
-
static {
|
|
746
|
-
__name(this, "DefaultServiceProvider");
|
|
747
|
-
}
|
|
748
|
-
_services;
|
|
749
|
-
constructor(services) {
|
|
750
|
-
this._services = services;
|
|
751
|
-
}
|
|
752
|
-
getService(serviceIdentifier) {
|
|
753
|
-
return this._services[serviceIdentifier];
|
|
754
|
-
}
|
|
755
|
-
};
|
|
756
|
-
|
|
757
|
-
// src/shared/host/model/ServiceCollection.ts
|
|
758
|
-
var ServiceLifetime = {
|
|
759
|
-
Singleton: "Singleton",
|
|
760
|
-
Transient: "Transient"
|
|
761
|
-
};
|
|
661
|
+
const bios = await boot();
|
|
662
|
+
const seedPhrase = isDefined4(mnemonic) ? mnemonic : await initActorSeedPhrase(context, bios);
|
|
663
|
+
return await HDWallet3.fromPhrase(seedPhrase);
|
|
664
|
+
}
|
|
665
|
+
__name(initActorWallet, "initActorWallet");
|
|
762
666
|
|
|
763
667
|
// src/shared/orchestrator/Orchestrator.ts
|
|
764
668
|
import { AbstractCreatable, creatable as creatable2 } from "@xylabs/sdk-js";
|
|
@@ -962,12 +866,12 @@ async function initRejectedTransactionsArchivist({ logger }) {
|
|
|
962
866
|
__name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
|
|
963
867
|
|
|
964
868
|
// src/node/archivists/StakeIntentState/archivist.ts
|
|
965
|
-
import { assertEx as
|
|
869
|
+
import { assertEx as assertEx4, timeBudget as timeBudget4 } from "@xylabs/sdk-js";
|
|
966
870
|
import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
|
|
967
871
|
import { Mutex as Mutex9 } from "async-mutex";
|
|
968
872
|
|
|
969
873
|
// src/node/archivists/StakeIntentState/local.ts
|
|
970
|
-
import { assertEx as
|
|
874
|
+
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
971
875
|
import { Mutex as Mutex8 } from "async-mutex";
|
|
972
876
|
var mutex7 = new Mutex8();
|
|
973
877
|
var singleton7;
|
|
@@ -976,7 +880,7 @@ async function initLocalStakeIntentStateArchivist({ config }) {
|
|
|
976
880
|
if (singleton7) return singleton7;
|
|
977
881
|
const { root } = config.storage;
|
|
978
882
|
singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
|
|
979
|
-
return
|
|
883
|
+
return assertEx3(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
|
|
980
884
|
});
|
|
981
885
|
}
|
|
982
886
|
__name(initLocalStakeIntentStateArchivist, "initLocalStakeIntentStateArchivist");
|
|
@@ -990,28 +894,94 @@ async function initStakeIntentStateArchivist(context) {
|
|
|
990
894
|
return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
|
|
991
895
|
const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
|
|
992
896
|
singleton8 = local;
|
|
993
|
-
return
|
|
897
|
+
return assertEx4(singleton8, () => "StakeIntentStateArchivist is undefined");
|
|
994
898
|
}, 2e3, true);
|
|
995
899
|
});
|
|
996
900
|
}
|
|
997
901
|
__name(initStakeIntentStateArchivist, "initStakeIntentStateArchivist");
|
|
998
902
|
|
|
999
903
|
// src/node/config/locators/basicRemoteRunnerLocator.ts
|
|
1000
|
-
import { isDefined as isDefined8 } from "@xylabs/sdk-js";
|
|
1001
904
|
import { isAccountInstance } from "@xyo-network/sdk-js";
|
|
1002
|
-
import {
|
|
905
|
+
import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer2, JsonRpcXyoSigner as JsonRpcXyoSigner2, SimpleXyoSigner } from "@xyo-network/xl1-sdk";
|
|
906
|
+
function signerFactoryFromParam(signer) {
|
|
907
|
+
if (isAccountInstance(signer)) {
|
|
908
|
+
return SimpleXyoSigner.factory(SimpleXyoSigner.dependencies, {
|
|
909
|
+
account: signer
|
|
910
|
+
});
|
|
911
|
+
}
|
|
912
|
+
return JsonRpcXyoSigner2.factory(JsonRpcXyoSigner2.dependencies, {
|
|
913
|
+
transport: signer
|
|
914
|
+
});
|
|
915
|
+
}
|
|
916
|
+
__name(signerFactoryFromParam, "signerFactoryFromParam");
|
|
917
|
+
function basicRemoteRunnerLocator(name, remoteConfig, signer, dataLakeEndpoint) {
|
|
918
|
+
const transport = isAccountInstance(signer) ? void 0 : signer;
|
|
919
|
+
return baseBasicRemoteRunnerLocator(name, remoteConfig, transport, dataLakeEndpoint, {
|
|
920
|
+
additionalProviders: [
|
|
921
|
+
JsonRpcAccountBalanceViewer2.factory(JsonRpcAccountBalanceViewer2.dependencies, {})
|
|
922
|
+
],
|
|
923
|
+
signerFactory: signerFactoryFromParam(signer),
|
|
924
|
+
skipGatewayRunner: true
|
|
925
|
+
});
|
|
926
|
+
}
|
|
927
|
+
__name(basicRemoteRunnerLocator, "basicRemoteRunnerLocator");
|
|
1003
928
|
|
|
1004
929
|
// src/node/config/locators/basicRemoteViewerLocator.ts
|
|
1005
|
-
import {
|
|
1006
|
-
|
|
930
|
+
import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer3 } from "@xyo-network/xl1-sdk";
|
|
931
|
+
function basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint) {
|
|
932
|
+
return baseBasicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint, {
|
|
933
|
+
additionalProviders: [
|
|
934
|
+
JsonRpcAccountBalanceViewer3.factory(JsonRpcAccountBalanceViewer3.dependencies, {})
|
|
935
|
+
]
|
|
936
|
+
});
|
|
937
|
+
}
|
|
938
|
+
__name(basicRemoteViewerLocator, "basicRemoteViewerLocator");
|
|
939
|
+
|
|
940
|
+
// src/node/config/locators/telemetryContextFromConfig.ts
|
|
941
|
+
import { initTelemetry } from "@xyo-network/chain-telemetry";
|
|
942
|
+
async function telemetryContextFromConfig(config, serviceName, serviceVersion) {
|
|
943
|
+
const { otlpEndpoint } = config.telemetry?.otel ?? {};
|
|
944
|
+
const { path: endpoint = "/metrics", port = 9466 } = config.telemetry?.metrics?.scrape ?? {};
|
|
945
|
+
return await initTelemetry({
|
|
946
|
+
attributes: {
|
|
947
|
+
serviceName,
|
|
948
|
+
serviceVersion
|
|
949
|
+
},
|
|
950
|
+
otlpEndpoint,
|
|
951
|
+
metricsConfig: {
|
|
952
|
+
endpoint,
|
|
953
|
+
port
|
|
954
|
+
}
|
|
955
|
+
});
|
|
956
|
+
}
|
|
957
|
+
__name(telemetryContextFromConfig, "telemetryContextFromConfig");
|
|
958
|
+
|
|
959
|
+
// src/node/config/locators/contextFromConfigWithoutLocator.ts
|
|
960
|
+
async function contextFromConfigWithoutLocator(config, logger, serviceName, serviceVersion) {
|
|
961
|
+
const singletons = {};
|
|
962
|
+
const caches = {};
|
|
963
|
+
const telemetryConfig = await telemetryContextFromConfig(config, serviceName, serviceVersion);
|
|
964
|
+
const statusReporter = initStatusReporter({
|
|
965
|
+
logger
|
|
966
|
+
});
|
|
967
|
+
return {
|
|
968
|
+
...telemetryConfig,
|
|
969
|
+
config,
|
|
970
|
+
singletons,
|
|
971
|
+
caches,
|
|
972
|
+
logger,
|
|
973
|
+
statusReporter
|
|
974
|
+
};
|
|
975
|
+
}
|
|
976
|
+
__name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
|
|
1007
977
|
|
|
1008
978
|
// src/node/config/locators/localLocatorFromConfig.ts
|
|
1009
979
|
import { assertEx as assertEx14 } from "@xylabs/sdk-js";
|
|
1010
|
-
import { ProviderFactoryLocator as
|
|
980
|
+
import { ProviderFactoryLocator as ProviderFactoryLocator5, SimpleAccountBalanceViewer, SimpleBlockViewer, SimpleFinalizationRunner, SimpleFinalizationViewer, SimpleMempoolRunner, SimpleMempoolViewer, SimpleTransactionViewer as SimpleTransactionViewer3, SimpleWindowedBlockViewer as SimpleWindowedBlockViewer2, SimpleXyoConnectionViewer as SimpleXyoConnectionViewer2, SimpleXyoViewer } from "@xyo-network/xl1-sdk";
|
|
1011
981
|
|
|
1012
982
|
// src/node/init/initBalanceSummaryMap.ts
|
|
1013
983
|
import { BaseMongoSdk } from "@xylabs/mongo";
|
|
1014
|
-
import { assertEx as
|
|
984
|
+
import { assertEx as assertEx5 } from "@xylabs/sdk-js";
|
|
1015
985
|
import { MongoMap } from "@xyo-network/chain-protocol";
|
|
1016
986
|
import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
|
|
1017
987
|
async function initBalanceSummaryMap({ logger, config }) {
|
|
@@ -1036,7 +1006,7 @@ async function initBalanceSummaryMap({ logger, config }) {
|
|
|
1036
1006
|
maxEntries: 5e3
|
|
1037
1007
|
}
|
|
1038
1008
|
});
|
|
1039
|
-
|
|
1009
|
+
assertEx5(await result.start(), () => "Failed to start transfer summary map");
|
|
1040
1010
|
return result;
|
|
1041
1011
|
} else {
|
|
1042
1012
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
|
|
@@ -1045,6 +1015,141 @@ async function initBalanceSummaryMap({ logger, config }) {
|
|
|
1045
1015
|
}
|
|
1046
1016
|
__name(initBalanceSummaryMap, "initBalanceSummaryMap");
|
|
1047
1017
|
|
|
1018
|
+
// src/node/init/initEvmProvidersIfAvailable.ts
|
|
1019
|
+
import { asEthAddress, assertEx as assertEx10 } from "@xylabs/sdk-js";
|
|
1020
|
+
import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeTotalsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
|
|
1021
|
+
import { SimpleChainContractViewer, SimpleStakeEventsViewer as SimpleStakeEventsViewer2, SimpleStakeTotalsViewer, SimpleStakeViewer, SimpleTimeSyncViewer as SimpleTimeSyncViewer2, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
1022
|
+
|
|
1023
|
+
// src/node/evm/initChainId.ts
|
|
1024
|
+
import { assertEx as assertEx6, hexFrom, isDefined as isDefined5, isHex } from "@xylabs/sdk-js";
|
|
1025
|
+
var canUseChainId = /* @__PURE__ */ __name(({ config }) => {
|
|
1026
|
+
return isDefined5(config.evm.chainId);
|
|
1027
|
+
}, "canUseChainId");
|
|
1028
|
+
var getChainId = /* @__PURE__ */ __name(({ config }) => {
|
|
1029
|
+
const chainId = assertEx6(config.evm.chainId, () => "Missing config.evm.chainId");
|
|
1030
|
+
if (isHex(chainId, {
|
|
1031
|
+
prefix: true
|
|
1032
|
+
})) {
|
|
1033
|
+
const hex = hexFrom(chainId);
|
|
1034
|
+
const parsed = Number.parseInt(hex, 16);
|
|
1035
|
+
return parsed;
|
|
1036
|
+
} else {
|
|
1037
|
+
const parsed = Number.parseInt(chainId, 10);
|
|
1038
|
+
return parsed;
|
|
1039
|
+
}
|
|
1040
|
+
}, "getChainId");
|
|
1041
|
+
|
|
1042
|
+
// src/node/evm/initEvmProvider.ts
|
|
1043
|
+
import { assertEx as assertEx9 } from "@xylabs/sdk-js";
|
|
1044
|
+
|
|
1045
|
+
// src/node/evm/initInfuraProvider.ts
|
|
1046
|
+
import { assertEx as assertEx7, isDefined as isDefined6 } from "@xylabs/sdk-js";
|
|
1047
|
+
import { InfuraProvider } from "ethers/providers";
|
|
1048
|
+
var instance;
|
|
1049
|
+
var initInfuraProvider = /* @__PURE__ */ __name((context) => {
|
|
1050
|
+
if (instance) return instance;
|
|
1051
|
+
const providerConfig = getInfuraProviderConfig(context);
|
|
1052
|
+
instance = Promise.resolve(new InfuraProvider(providerConfig[0], providerConfig[1]));
|
|
1053
|
+
return instance;
|
|
1054
|
+
}, "initInfuraProvider");
|
|
1055
|
+
var canUseInfuraProvider = /* @__PURE__ */ __name((context) => {
|
|
1056
|
+
const { config } = context;
|
|
1057
|
+
return canUseChainId(context) && isDefined6(config.evm?.infura?.projectId) && isDefined6(config.evm?.infura?.projectSecret);
|
|
1058
|
+
}, "canUseInfuraProvider");
|
|
1059
|
+
var getInfuraProviderConfig = /* @__PURE__ */ __name((context) => {
|
|
1060
|
+
const { config } = context;
|
|
1061
|
+
const projectId = assertEx7(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
1062
|
+
const projectSecret = assertEx7(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
|
|
1063
|
+
return [
|
|
1064
|
+
getChainId(context),
|
|
1065
|
+
projectId,
|
|
1066
|
+
projectSecret
|
|
1067
|
+
];
|
|
1068
|
+
}, "getInfuraProviderConfig");
|
|
1069
|
+
|
|
1070
|
+
// src/node/evm/initJsonRpcProvider.ts
|
|
1071
|
+
import { assertEx as assertEx8, isDefined as isDefined7 } from "@xylabs/sdk-js";
|
|
1072
|
+
import { JsonRpcProvider } from "ethers/providers";
|
|
1073
|
+
var initJsonRpcProvider = /* @__PURE__ */ __name((context) => {
|
|
1074
|
+
const providerConfig = getJsonRpcProviderConfig(context);
|
|
1075
|
+
return Promise.resolve(new JsonRpcProvider(...providerConfig));
|
|
1076
|
+
}, "initJsonRpcProvider");
|
|
1077
|
+
var canUseJsonRpcProvider = /* @__PURE__ */ __name((context) => {
|
|
1078
|
+
const { config } = context;
|
|
1079
|
+
return canUseChainId(context) && isDefined7(config.evm.jsonRpc?.url);
|
|
1080
|
+
}, "canUseJsonRpcProvider");
|
|
1081
|
+
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((context) => {
|
|
1082
|
+
const { config } = context;
|
|
1083
|
+
const jsonRpcUrl = assertEx8(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
1084
|
+
return [
|
|
1085
|
+
jsonRpcUrl,
|
|
1086
|
+
getChainId(context)
|
|
1087
|
+
];
|
|
1088
|
+
}, "getJsonRpcProviderConfig");
|
|
1089
|
+
|
|
1090
|
+
// src/node/evm/initEvmProvider.ts
|
|
1091
|
+
var provider;
|
|
1092
|
+
var initEvmProvider = /* @__PURE__ */ __name(async (context) => {
|
|
1093
|
+
if (provider) return provider;
|
|
1094
|
+
if (canUseInfuraProvider(context)) {
|
|
1095
|
+
provider = initInfuraProvider(context);
|
|
1096
|
+
} else if (canUseJsonRpcProvider(context)) {
|
|
1097
|
+
provider = initJsonRpcProvider(context);
|
|
1098
|
+
}
|
|
1099
|
+
return assertEx9(await provider, () => "No provider available");
|
|
1100
|
+
}, "initEvmProvider");
|
|
1101
|
+
var canUseEvmProvider = /* @__PURE__ */ __name((context) => {
|
|
1102
|
+
return canUseInfuraProvider(context) || canUseJsonRpcProvider(context);
|
|
1103
|
+
}, "canUseEvmProvider");
|
|
1104
|
+
|
|
1105
|
+
// src/node/init/initEvmProvidersIfAvailable.ts
|
|
1106
|
+
async function initEvmProvidersIfAvailable(locator) {
|
|
1107
|
+
const context = locator.context;
|
|
1108
|
+
const { logger } = context;
|
|
1109
|
+
if (canUseEvmProvider(context)) {
|
|
1110
|
+
const chainId = assertEx10(context.config.chain.id, () => "Missing config.chain.id (required for EVM providers)");
|
|
1111
|
+
const provider2 = await initEvmProvider(context);
|
|
1112
|
+
const address = asEthAddress(chainId, true);
|
|
1113
|
+
locator.register(EvmStakeEventsViewer.factory(EvmStakeEventsViewer.dependencies, {
|
|
1114
|
+
address,
|
|
1115
|
+
provider: provider2
|
|
1116
|
+
}));
|
|
1117
|
+
locator.register(EvmStakeViewer.factory(EvmStakeViewer.dependencies, {
|
|
1118
|
+
address,
|
|
1119
|
+
provider: provider2
|
|
1120
|
+
}));
|
|
1121
|
+
locator.register(EvmStakeTotalsViewer.factory(EvmStakeTotalsViewer.dependencies, {
|
|
1122
|
+
address,
|
|
1123
|
+
provider: provider2
|
|
1124
|
+
}));
|
|
1125
|
+
locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
|
|
1126
|
+
address,
|
|
1127
|
+
provider: provider2
|
|
1128
|
+
}));
|
|
1129
|
+
locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {
|
|
1130
|
+
ethProvider: provider2
|
|
1131
|
+
}));
|
|
1132
|
+
} else {
|
|
1133
|
+
logger?.warn("EVM provider not available - running with memory based contract/stake viewers");
|
|
1134
|
+
const positions = [];
|
|
1135
|
+
locator.register(SimpleStakeEventsViewer2.factory(SimpleStakeEventsViewer2.dependencies, {
|
|
1136
|
+
positions
|
|
1137
|
+
}));
|
|
1138
|
+
locator.register(SimpleStakeViewer.factory(SimpleStakeViewer.dependencies, {
|
|
1139
|
+
positions
|
|
1140
|
+
}));
|
|
1141
|
+
locator.register(SimpleStakeTotalsViewer.factory(SimpleStakeTotalsViewer.dependencies, {}));
|
|
1142
|
+
locator.register(SimpleChainContractViewer.factory(SimpleChainContractViewer.dependencies, {
|
|
1143
|
+
minWithdrawalBlocks: 10,
|
|
1144
|
+
stakingTokenAddress: XYO_ZERO_ADDRESS,
|
|
1145
|
+
rewardsContract: XYO_ZERO_ADDRESS
|
|
1146
|
+
}));
|
|
1147
|
+
locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {}));
|
|
1148
|
+
}
|
|
1149
|
+
return locator;
|
|
1150
|
+
}
|
|
1151
|
+
__name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
|
|
1152
|
+
|
|
1048
1153
|
// src/node/init/initFinalizationArchivistIfNeeded.ts
|
|
1049
1154
|
import { assertEx as assertEx11 } from "@xylabs/sdk-js";
|
|
1050
1155
|
import { createBootstrapHead } from "@xyo-network/chain-sdk";
|
|
@@ -1095,7 +1200,7 @@ import { assertEx as assertEx12 } from "@xylabs/sdk-js";
|
|
|
1095
1200
|
import { asArchivistInstance } from "@xyo-network/sdk-js";
|
|
1096
1201
|
|
|
1097
1202
|
// src/node/manifest/getLocator.ts
|
|
1098
|
-
import { isDefined as
|
|
1203
|
+
import { isDefined as isDefined8 } from "@xylabs/sdk-js";
|
|
1099
1204
|
import { MongoDBArchivistV2 as MongoDBArchivistV22, MongoDBArchivistV2Deletable } from "@xyo-network/archivist-mongodb";
|
|
1100
1205
|
import { ViewArchivist } from "@xyo-network/archivist-view";
|
|
1101
1206
|
import { initTelemetry as initTelemetry2 } from "@xyo-network/chain-telemetry";
|
|
@@ -1115,7 +1220,7 @@ var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
|
|
|
1115
1220
|
port
|
|
1116
1221
|
}
|
|
1117
1222
|
});
|
|
1118
|
-
if (
|
|
1223
|
+
if (isDefined8(logger)) AbstractModule.defaultLogger = logger;
|
|
1119
1224
|
const statusReporter = logger ? new LoggerModuleStatusReporter(logger) : void 0;
|
|
1120
1225
|
const locator = new ModuleFactoryLocator();
|
|
1121
1226
|
const mongoConfig = config.storage?.mongo;
|
|
@@ -1397,7 +1502,7 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1397
1502
|
const wallet = await initActorWallet(context);
|
|
1398
1503
|
const { writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist } = await initServerNode(context, wallet);
|
|
1399
1504
|
await initFinalizationArchivistIfNeeded(writableChainArchivist, context.config, wallet);
|
|
1400
|
-
const locator = new
|
|
1505
|
+
const locator = new ProviderFactoryLocator5(context, {}, validateDepsOnRegister);
|
|
1401
1506
|
locator.registerMany([
|
|
1402
1507
|
SimpleMempoolViewer.factory(SimpleMempoolViewer.dependencies, {
|
|
1403
1508
|
pendingTransactionsArchivist,
|
|
@@ -1421,8 +1526,8 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1421
1526
|
maxWindowSize: 1e4,
|
|
1422
1527
|
syncInterval: 1e4
|
|
1423
1528
|
}),
|
|
1424
|
-
|
|
1425
|
-
|
|
1529
|
+
SimpleXyoConnectionViewer2.factory(SimpleXyoConnectionViewer2.dependencies, {}),
|
|
1530
|
+
SimpleTransactionViewer3.factory(SimpleTransactionViewer3.dependencies, {}),
|
|
1426
1531
|
SimpleXyoViewer.factory(SimpleXyoViewer.dependencies, {}),
|
|
1427
1532
|
SimpleFinalizationViewer.factory(SimpleFinalizationViewer.dependencies, {
|
|
1428
1533
|
finalizedArchivist: readonlyChainArchivist
|
|
@@ -1435,82 +1540,6 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1435
1540
|
}
|
|
1436
1541
|
__name(localLocatorFromConfig, "localLocatorFromConfig");
|
|
1437
1542
|
|
|
1438
|
-
// src/node/config/locators/rootLocatorFromConfig.ts
|
|
1439
|
-
async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
1440
|
-
const { config } = context;
|
|
1441
|
-
let locator = await commonLocatorFromConfig(context, validateDepsOnRegister);
|
|
1442
|
-
const newLocator = await (config.remote.rpc ? remoteLocatorFromConfig(locator.context, validateDepsOnRegister) : localLocatorFromConfig({
|
|
1443
|
-
...locator.context,
|
|
1444
|
-
config: {
|
|
1445
|
-
...locator.context.config,
|
|
1446
|
-
...context.config
|
|
1447
|
-
}
|
|
1448
|
-
}, validateDepsOnRegister));
|
|
1449
|
-
locator = newLocator;
|
|
1450
|
-
locator = await initEvmProvidersIfAvailable(locator);
|
|
1451
|
-
locator.freeze();
|
|
1452
|
-
return locator;
|
|
1453
|
-
}
|
|
1454
|
-
__name(rootLocatorFromConfig, "rootLocatorFromConfig");
|
|
1455
|
-
|
|
1456
|
-
// src/node/config/locators/basicRemoteViewerLocator.ts
|
|
1457
|
-
async function basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint) {
|
|
1458
|
-
const config = ActorConfigZod2.parse({
|
|
1459
|
-
name,
|
|
1460
|
-
remote: remoteConfig
|
|
1461
|
-
});
|
|
1462
|
-
const rootLocator = await rootLocatorFromConfig({
|
|
1463
|
-
config,
|
|
1464
|
-
singletons: {},
|
|
1465
|
-
caches: {}
|
|
1466
|
-
});
|
|
1467
|
-
const remoteLocator = await remoteLocatorFromConfig(rootLocator.context);
|
|
1468
|
-
const locator = new ProviderFactoryLocator4(remoteLocator.context, {});
|
|
1469
|
-
locator.registerMany([
|
|
1470
|
-
SimpleTransactionViewer3.factory(SimpleTransactionViewer3.dependencies, {}),
|
|
1471
|
-
JsonRpcAccountBalanceViewer2.factory(JsonRpcAccountBalanceViewer2.dependencies, {}),
|
|
1472
|
-
SimpleXyoConnectionViewer2.factory(SimpleXyoConnectionViewer2.dependencies, {}),
|
|
1473
|
-
SimpleXyoGateway.factory(SimpleXyoGateway.dependencies, {})
|
|
1474
|
-
]);
|
|
1475
|
-
if (isDefined7(dataLakeEndpoint)) {
|
|
1476
|
-
const dataLakeViewerParams = {
|
|
1477
|
-
endpoint: dataLakeEndpoint
|
|
1478
|
-
};
|
|
1479
|
-
locator.register(RestDataLakeViewer.factory(RestDataLakeViewer.dependencies, dataLakeViewerParams));
|
|
1480
|
-
}
|
|
1481
|
-
locator.freeze();
|
|
1482
|
-
return locator;
|
|
1483
|
-
}
|
|
1484
|
-
__name(basicRemoteViewerLocator, "basicRemoteViewerLocator");
|
|
1485
|
-
|
|
1486
|
-
// src/node/config/locators/basicRemoteRunnerLocator.ts
|
|
1487
|
-
async function basicRemoteRunnerLocator(name, remoteConfig, signer, dataLakeEndpoint) {
|
|
1488
|
-
const remoteViewerLocator = await basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint);
|
|
1489
|
-
const locator = new ProviderFactoryLocator5(remoteViewerLocator.context, {});
|
|
1490
|
-
locator.registerMany([
|
|
1491
|
-
SimpleXyoConnectionRunner.factory(SimpleXyoConnectionRunner.dependencies, {}),
|
|
1492
|
-
JsonRpcXyoRunner.factory(JsonRpcXyoRunner.dependencies, {})
|
|
1493
|
-
]);
|
|
1494
|
-
if (isAccountInstance(signer)) {
|
|
1495
|
-
locator.register(SimpleXyoSigner.factory(SimpleXyoSigner.dependencies, {
|
|
1496
|
-
account: signer
|
|
1497
|
-
}));
|
|
1498
|
-
} else {
|
|
1499
|
-
locator.register(JsonRpcXyoSigner.factory(JsonRpcXyoSigner.dependencies, {
|
|
1500
|
-
transport: signer
|
|
1501
|
-
}));
|
|
1502
|
-
}
|
|
1503
|
-
if (isDefined8(dataLakeEndpoint)) {
|
|
1504
|
-
const dataLakeViewerParams = {
|
|
1505
|
-
endpoint: dataLakeEndpoint
|
|
1506
|
-
};
|
|
1507
|
-
locator.register(RestDataLakeViewer2.factory(RestDataLakeViewer2.dependencies, dataLakeViewerParams));
|
|
1508
|
-
}
|
|
1509
|
-
locator.freeze();
|
|
1510
|
-
return locator;
|
|
1511
|
-
}
|
|
1512
|
-
__name(basicRemoteRunnerLocator, "basicRemoteRunnerLocator");
|
|
1513
|
-
|
|
1514
1543
|
// src/node/config/locators/locatorsFromConfig.ts
|
|
1515
1544
|
import { deepMerge as deepMerge2 } from "@xylabs/sdk-js";
|
|
1516
1545
|
import { ActorConfigZod as ActorConfigZod3 } from "@xyo-network/xl1-sdk";
|
|
@@ -1535,7 +1564,7 @@ __name(apiLocatorFromConfig, "apiLocatorFromConfig");
|
|
|
1535
1564
|
// src/node/config/locators/actors/bridgeLocatorFromConfig.ts
|
|
1536
1565
|
import { isDefined as isDefined9 } from "@xylabs/sdk-js";
|
|
1537
1566
|
import { HDWallet as HDWallet4 } from "@xyo-network/sdk-js";
|
|
1538
|
-
import { ADDRESS_INDEX as ADDRESS_INDEX2, generateXyoBaseWalletFromPhrase as generateXyoBaseWalletFromPhrase2, JsonRpcAccountBalanceViewer as
|
|
1567
|
+
import { ADDRESS_INDEX as ADDRESS_INDEX2, generateXyoBaseWalletFromPhrase as generateXyoBaseWalletFromPhrase2, JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer4, JsonRpcBlockViewer as JsonRpcBlockViewer2, JsonRpcFinalizationViewer as JsonRpcFinalizationViewer2, JsonRpcMempoolRunner as JsonRpcMempoolRunner2, JsonRpcMempoolViewer as JsonRpcMempoolViewer2, JsonRpcXyoRunner as JsonRpcXyoRunner2, JsonRpcXyoViewer as JsonRpcXyoViewer2, ProviderFactoryLocator as ProviderFactoryLocator7, RestDataLakeRunner, RestDataLakeViewer as RestDataLakeViewer3, SimpleStakeEventsViewer as SimpleStakeEventsViewer3, SimpleXyoConnectionRunner as SimpleXyoConnectionRunner3, SimpleXyoGatewayRunner as SimpleXyoGatewayRunner2, SimpleXyoRunner as SimpleXyoRunner2, SimpleXyoSigner as SimpleXyoSigner2 } from "@xyo-network/xl1-sdk";
|
|
1539
1568
|
async function bridgeLocatorFromConfig(context, parent) {
|
|
1540
1569
|
const locator = new ProviderFactoryLocator7({
|
|
1541
1570
|
...context,
|
|
@@ -1550,7 +1579,7 @@ async function bridgeLocatorFromConfig(context, parent) {
|
|
|
1550
1579
|
locator.registerMany([
|
|
1551
1580
|
JsonRpcMempoolViewer2.factory(JsonRpcMempoolViewer2.dependencies, {}),
|
|
1552
1581
|
JsonRpcMempoolRunner2.factory(JsonRpcMempoolRunner2.dependencies, {}),
|
|
1553
|
-
|
|
1582
|
+
JsonRpcAccountBalanceViewer4.factory(JsonRpcAccountBalanceViewer4.dependencies, {}),
|
|
1554
1583
|
JsonRpcFinalizationViewer2.factory(JsonRpcFinalizationViewer2.dependencies, {}),
|
|
1555
1584
|
JsonRpcBlockViewer2.factory(JsonRpcBlockViewer2.dependencies, {}),
|
|
1556
1585
|
JsonRpcXyoRunner2.factory(JsonRpcXyoRunner2.dependencies, {}),
|
|
@@ -1586,7 +1615,7 @@ async function bridgeLocatorFromConfig(context, parent) {
|
|
|
1586
1615
|
}),
|
|
1587
1616
|
SimpleXyoRunner2.factory(SimpleXyoRunner2.dependencies, {}),
|
|
1588
1617
|
SimpleXyoConnectionRunner3.factory(SimpleXyoConnectionRunner3.dependencies, {}),
|
|
1589
|
-
|
|
1618
|
+
SimpleXyoGatewayRunner2.factory(SimpleXyoGatewayRunner2.dependencies, {})
|
|
1590
1619
|
]);
|
|
1591
1620
|
locator.freeze();
|
|
1592
1621
|
return locator;
|
|
@@ -1634,7 +1663,7 @@ async function producerLocatorFromConfig(context, parent) {
|
|
|
1634
1663
|
__name(producerLocatorFromConfig, "producerLocatorFromConfig");
|
|
1635
1664
|
|
|
1636
1665
|
// src/node/config/locators/actors/rewardRedemptionLocatorFromConfig.ts
|
|
1637
|
-
import { JsonRpcAccountBalanceViewer as
|
|
1666
|
+
import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer5, JsonRpcBlockViewer as JsonRpcBlockViewer3, JsonRpcFinalizationViewer as JsonRpcFinalizationViewer3, JsonRpcMempoolRunner as JsonRpcMempoolRunner3, JsonRpcMempoolViewer as JsonRpcMempoolViewer3, JsonRpcXyoRunner as JsonRpcXyoRunner3, JsonRpcXyoViewer as JsonRpcXyoViewer3, ProviderFactoryLocator as ProviderFactoryLocator10, SimpleXyoConnectionRunner as SimpleXyoConnectionRunner4, SimpleXyoGatewayRunner as SimpleXyoGatewayRunner3, SimpleXyoRunner as SimpleXyoRunner3, SimpleXyoSigner as SimpleXyoSigner3 } from "@xyo-network/xl1-sdk";
|
|
1638
1667
|
async function rewardRedemptionLocatorFromConfig(context, parent) {
|
|
1639
1668
|
const locator = new ProviderFactoryLocator10({
|
|
1640
1669
|
...context,
|
|
@@ -1646,7 +1675,7 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
|
|
|
1646
1675
|
locator.registerMany([
|
|
1647
1676
|
JsonRpcMempoolViewer3.factory(JsonRpcMempoolViewer3.dependencies, {}),
|
|
1648
1677
|
JsonRpcMempoolRunner3.factory(JsonRpcMempoolRunner3.dependencies, {}),
|
|
1649
|
-
|
|
1678
|
+
JsonRpcAccountBalanceViewer5.factory(JsonRpcAccountBalanceViewer5.dependencies, {}),
|
|
1650
1679
|
JsonRpcFinalizationViewer3.factory(JsonRpcFinalizationViewer3.dependencies, {}),
|
|
1651
1680
|
JsonRpcBlockViewer3.factory(JsonRpcBlockViewer3.dependencies, {}),
|
|
1652
1681
|
JsonRpcXyoRunner3.factory(JsonRpcXyoRunner3.dependencies, {}),
|
|
@@ -1659,7 +1688,7 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
|
|
|
1659
1688
|
}),
|
|
1660
1689
|
SimpleXyoRunner3.factory(SimpleXyoRunner3.dependencies, {}),
|
|
1661
1690
|
SimpleXyoConnectionRunner4.factory(SimpleXyoConnectionRunner4.dependencies, {}),
|
|
1662
|
-
|
|
1691
|
+
SimpleXyoGatewayRunner3.factory(SimpleXyoGatewayRunner3.dependencies, {})
|
|
1663
1692
|
]);
|
|
1664
1693
|
locator.freeze();
|
|
1665
1694
|
return locator;
|
|
@@ -1679,6 +1708,24 @@ function validatorLocatorFromConfig(context, parent) {
|
|
|
1679
1708
|
}
|
|
1680
1709
|
__name(validatorLocatorFromConfig, "validatorLocatorFromConfig");
|
|
1681
1710
|
|
|
1711
|
+
// src/node/config/locators/rootLocatorFromConfig.ts
|
|
1712
|
+
async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
1713
|
+
const { config } = context;
|
|
1714
|
+
let locator = await commonLocatorFromConfig(context, validateDepsOnRegister);
|
|
1715
|
+
const newLocator = await (config.remote.rpc ? remoteLocatorFromConfig(locator.context, validateDepsOnRegister) : localLocatorFromConfig({
|
|
1716
|
+
...locator.context,
|
|
1717
|
+
config: {
|
|
1718
|
+
...locator.context.config,
|
|
1719
|
+
...context.config
|
|
1720
|
+
}
|
|
1721
|
+
}, validateDepsOnRegister));
|
|
1722
|
+
locator = newLocator;
|
|
1723
|
+
locator = await initEvmProvidersIfAvailable(locator);
|
|
1724
|
+
locator.freeze();
|
|
1725
|
+
return locator;
|
|
1726
|
+
}
|
|
1727
|
+
__name(rootLocatorFromConfig, "rootLocatorFromConfig");
|
|
1728
|
+
|
|
1682
1729
|
// src/node/config/locators/locatorsFromConfig.ts
|
|
1683
1730
|
async function locatorsFromConfig(context, { actors, ...config }) {
|
|
1684
1731
|
const result = {
|
|
@@ -1875,6 +1922,8 @@ export {
|
|
|
1875
1922
|
asRewardRedemptionConfigContext,
|
|
1876
1923
|
asValidatorConfig,
|
|
1877
1924
|
asValidatorConfigContext,
|
|
1925
|
+
baseBasicRemoteRunnerLocator,
|
|
1926
|
+
baseBasicRemoteViewerLocator,
|
|
1878
1927
|
basicRemoteRunnerLocator,
|
|
1879
1928
|
basicRemoteViewerLocator,
|
|
1880
1929
|
buildTelemetryConfig,
|