@xyo-network/chain-orchestration 1.20.5 → 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 +193 -336
- 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/actors/bridgeLocatorFromConfig.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/config/tryParseConfig.d.ts +12 -12
- 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 +2 -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/node/sharedMiddleware.d.ts +3 -0
- package/dist/browser/node/sharedMiddleware.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/actors/Api.d.ts +70 -72
- package/dist/browser/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Bridge.d.ts +70 -72
- package/dist/browser/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Mempool.d.ts +70 -72
- package/dist/browser/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Producer.d.ts +70 -72
- package/dist/browser/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/RewardRedemption.d.ts +70 -72
- package/dist/browser/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Validator.d.ts +70 -72
- package/dist/browser/shared/config/actors/Validator.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/commonLocatorFromConfig.d.ts.map +1 -1
- 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/config/mergeConfig.d.ts +6 -6
- 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 +193 -336
- 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/actors/bridgeLocatorFromConfig.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/config/tryParseConfig.d.ts +12 -12
- 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 +2 -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/node/sharedMiddleware.d.ts +3 -0
- package/dist/neutral/node/sharedMiddleware.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/actors/Api.d.ts +70 -72
- package/dist/neutral/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Bridge.d.ts +70 -72
- package/dist/neutral/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Mempool.d.ts +70 -72
- package/dist/neutral/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Producer.d.ts +70 -72
- package/dist/neutral/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/RewardRedemption.d.ts +70 -72
- package/dist/neutral/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Validator.d.ts +70 -72
- package/dist/neutral/shared/config/actors/Validator.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/commonLocatorFromConfig.d.ts.map +1 -1
- 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/config/mergeConfig.d.ts +6 -6
- 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 +483 -402
- 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/actors/bridgeLocatorFromConfig.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/config/tryParseConfig.d.ts +12 -12
- 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 +2 -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/node/sharedMiddleware.d.ts +3 -0
- package/dist/node/node/sharedMiddleware.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/actors/Api.d.ts +70 -72
- package/dist/node/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Bridge.d.ts +70 -72
- package/dist/node/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Mempool.d.ts +70 -72
- package/dist/node/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Producer.d.ts +70 -72
- package/dist/node/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/node/shared/config/actors/RewardRedemption.d.ts +70 -72
- package/dist/node/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Validator.d.ts +70 -72
- package/dist/node/shared/config/actors/Validator.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/commonLocatorFromConfig.d.ts.map +1 -1
- 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/config/mergeConfig.d.ts +6 -6
- 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 +37 -32
- 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/actors/bridgeLocatorFromConfig.ts +14 -14
- 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/config/tryParseConfig.ts +1 -1
- package/src/node/index.ts +2 -0
- package/src/node/init/index.ts +1 -0
- package/src/node/sharedMiddleware.ts +24 -0
- package/src/shared/actor/ValidatorActor.ts +9 -2
- package/src/shared/config/actors/Bridge.ts +2 -3
- package/src/shared/config/locators/basicRemoteRunnerLocator.ts +63 -0
- package/src/shared/config/locators/basicRemoteViewerLocator.ts +44 -0
- package/src/shared/config/locators/commonLocatorFromConfig.ts +16 -3
- 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,
|
|
@@ -117,7 +123,7 @@ var DEFAULT_HARDHAT_BRIDGE_CONTRACT = toAddress("2279B7A0a67DB372996a5FaB50D91eA
|
|
|
117
123
|
var DEFAULT_HARDHAT_CHAIN_ID = toHex("7A69");
|
|
118
124
|
var DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY = toHex("0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80");
|
|
119
125
|
var DEFAULT_HARDHAT_TOKEN_CONTRACT = toAddress("5FbDB2315678afecb367f032d93F642f64180aa3");
|
|
120
|
-
var DEFAULT_MAX_BRIDGE_AMOUNT = toHex(XL1(
|
|
126
|
+
var DEFAULT_MAX_BRIDGE_AMOUNT = toHex(XL1(1000000n) * AttoXL1ConvertFactor.xl1);
|
|
121
127
|
var DEFAULT_MIN_BRIDGE_AMOUNT = toHex(XL1(1500n) * AttoXL1ConvertFactor.xl1);
|
|
122
128
|
var BasisPointsZod = z2.coerce.number().int().nonnegative().max(1e4);
|
|
123
129
|
var BridgeConfigZod = HostActorConfigZod2.extend({
|
|
@@ -348,11 +354,30 @@ 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
|
-
import { ProviderFactoryLocator, SimpleBlockRewardViewer, SimpleBlockValidationViewer, SimpleNetworkStakeViewer, SimpleStepRewardsByPositionViewer, SimpleStepRewardsByStakerViewer, SimpleStepRewardsByStepViewer, SimpleStepRewardsTotalViewer, SimpleStepRewardsViewer, SimpleStepViewer, SimpleTimeSyncViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer } from "@xyo-network/xl1-sdk";
|
|
367
|
+
import { BlockCumulativeBalanceValidatorFactory, ProviderFactoryLocator, SimpleBlockRewardViewer, SimpleBlockValidationViewer, SimpleNetworkStakeViewer, SimpleStepRewardsByPositionViewer, SimpleStepRewardsByStakerViewer, SimpleStepRewardsByStepViewer, SimpleStepRewardsTotalViewer, SimpleStepRewardsViewer, SimpleStepViewer, SimpleTimeSyncViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer } from "@xyo-network/xl1-sdk";
|
|
368
|
+
var cumulativeBalanceValidator = BlockCumulativeBalanceValidatorFactory();
|
|
369
|
+
var validateHydratedBlockStateWithCumulativeBalance = /* @__PURE__ */ __name(async (context, block) => {
|
|
370
|
+
const [stateErrors, cumulativeErrors] = await Promise.all([
|
|
371
|
+
validateHydratedBlockState(context, block),
|
|
372
|
+
cumulativeBalanceValidator(context, block)
|
|
373
|
+
]);
|
|
374
|
+
return [
|
|
375
|
+
...stateErrors,
|
|
376
|
+
...cumulativeErrors
|
|
377
|
+
];
|
|
378
|
+
}, "validateHydratedBlockStateWithCumulativeBalance");
|
|
354
379
|
function commonLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
355
|
-
|
|
380
|
+
const locator = new ProviderFactoryLocator(context, {}, validateDepsOnRegister);
|
|
356
381
|
locator.registerMany([
|
|
357
382
|
SimpleNetworkStakeViewer.factory(SimpleNetworkStakeViewer.dependencies, {}),
|
|
358
383
|
SimpleTimeSyncViewer.factory(SimpleTimeSyncViewer.dependencies, {}),
|
|
@@ -368,7 +393,7 @@ function commonLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
368
393
|
}),
|
|
369
394
|
SimpleBlockRewardViewer.factory(SimpleBlockRewardViewer.dependencies, {}),
|
|
370
395
|
SimpleBlockValidationViewer.factory(SimpleBlockValidationViewer.dependencies, {
|
|
371
|
-
state:
|
|
396
|
+
state: validateHydratedBlockStateWithCumulativeBalance,
|
|
372
397
|
protocol: validateHydratedBlock
|
|
373
398
|
}),
|
|
374
399
|
SimpleTransactionViewer.factory(SimpleTransactionViewer.dependencies, {})
|
|
@@ -377,14 +402,163 @@ function commonLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
377
402
|
}
|
|
378
403
|
__name(commonLocatorFromConfig, "commonLocatorFromConfig");
|
|
379
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
|
+
|
|
380
554
|
// src/shared/init/initActorAccount.ts
|
|
381
|
-
import { isDefined, isUndefined } from "@xylabs/sdk-js";
|
|
555
|
+
import { isDefined as isDefined3, isUndefined } from "@xylabs/sdk-js";
|
|
382
556
|
import { HDWallet } from "@xyo-network/sdk-js";
|
|
383
557
|
import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-sdk";
|
|
384
558
|
var actorAccountSingletons = {};
|
|
385
559
|
async function initActorAccount({ config, logger }) {
|
|
386
560
|
const actorName = config.name;
|
|
387
|
-
if (
|
|
561
|
+
if (isDefined3(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
|
|
388
562
|
let walletPhrase = config.mnemonic;
|
|
389
563
|
if (isUndefined(walletPhrase)) {
|
|
390
564
|
logger?.warn(`[${actorName}}] No wallet mnemonic specified!`);
|
|
@@ -460,141 +634,6 @@ async function initBridgedArchivistModule({ bridge, moduleName }) {
|
|
|
460
634
|
}
|
|
461
635
|
__name(initBridgedArchivistModule, "initBridgedArchivistModule");
|
|
462
636
|
|
|
463
|
-
// src/shared/init/initEvmProvidersIfAvailable.ts
|
|
464
|
-
import { asEthAddress, assertEx as assertEx7 } from "@xylabs/sdk-js";
|
|
465
|
-
import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeTotalsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
|
|
466
|
-
import { SimpleChainContractViewer, SimpleStakeEventsViewer, SimpleStakeTotalsViewer, SimpleStakeViewer, SimpleTimeSyncViewer as SimpleTimeSyncViewer2, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
467
|
-
|
|
468
|
-
// src/shared/evm/initChainId.ts
|
|
469
|
-
import { assertEx as assertEx3, hexFrom, isDefined as isDefined2, isHex } from "@xylabs/sdk-js";
|
|
470
|
-
var canUseChainId = /* @__PURE__ */ __name(({ config }) => {
|
|
471
|
-
return isDefined2(config.evm.chainId);
|
|
472
|
-
}, "canUseChainId");
|
|
473
|
-
var getChainId = /* @__PURE__ */ __name(({ config }) => {
|
|
474
|
-
const chainId = assertEx3(config.evm.chainId, () => "Missing config.evm.chainId");
|
|
475
|
-
if (isHex(chainId, {
|
|
476
|
-
prefix: true
|
|
477
|
-
})) {
|
|
478
|
-
const hex = hexFrom(chainId);
|
|
479
|
-
const parsed = Number.parseInt(hex, 16);
|
|
480
|
-
return parsed;
|
|
481
|
-
} else {
|
|
482
|
-
const parsed = Number.parseInt(chainId, 10);
|
|
483
|
-
return parsed;
|
|
484
|
-
}
|
|
485
|
-
}, "getChainId");
|
|
486
|
-
|
|
487
|
-
// src/shared/evm/initEvmProvider.ts
|
|
488
|
-
import { assertEx as assertEx6 } from "@xylabs/sdk-js";
|
|
489
|
-
|
|
490
|
-
// src/shared/evm/initInfuraProvider.ts
|
|
491
|
-
import { assertEx as assertEx4, isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
492
|
-
import { InfuraProvider } from "ethers/providers";
|
|
493
|
-
var instance;
|
|
494
|
-
var initInfuraProvider = /* @__PURE__ */ __name((context) => {
|
|
495
|
-
if (instance) return instance;
|
|
496
|
-
const providerConfig = getInfuraProviderConfig(context);
|
|
497
|
-
instance = Promise.resolve(new InfuraProvider(providerConfig[0], providerConfig[1]));
|
|
498
|
-
return instance;
|
|
499
|
-
}, "initInfuraProvider");
|
|
500
|
-
var canUseInfuraProvider = /* @__PURE__ */ __name((context) => {
|
|
501
|
-
const { config } = context;
|
|
502
|
-
return canUseChainId(context) && isDefined3(config.evm?.infura?.projectId) && isDefined3(config.evm?.infura?.projectSecret);
|
|
503
|
-
}, "canUseInfuraProvider");
|
|
504
|
-
var getInfuraProviderConfig = /* @__PURE__ */ __name((context) => {
|
|
505
|
-
const { config } = context;
|
|
506
|
-
const projectId = assertEx4(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
507
|
-
const projectSecret = assertEx4(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
|
|
508
|
-
return [
|
|
509
|
-
getChainId(context),
|
|
510
|
-
projectId,
|
|
511
|
-
projectSecret
|
|
512
|
-
];
|
|
513
|
-
}, "getInfuraProviderConfig");
|
|
514
|
-
|
|
515
|
-
// src/shared/evm/initJsonRpcProvider.ts
|
|
516
|
-
import { assertEx as assertEx5, isDefined as isDefined4 } from "@xylabs/sdk-js";
|
|
517
|
-
import { JsonRpcProvider } from "ethers/providers";
|
|
518
|
-
var initJsonRpcProvider = /* @__PURE__ */ __name((context) => {
|
|
519
|
-
const providerConfig = getJsonRpcProviderConfig(context);
|
|
520
|
-
return Promise.resolve(new JsonRpcProvider(...providerConfig));
|
|
521
|
-
}, "initJsonRpcProvider");
|
|
522
|
-
var canUseJsonRpcProvider = /* @__PURE__ */ __name((context) => {
|
|
523
|
-
const { config } = context;
|
|
524
|
-
return canUseChainId(context) && isDefined4(config.evm.jsonRpc?.url);
|
|
525
|
-
}, "canUseJsonRpcProvider");
|
|
526
|
-
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((context) => {
|
|
527
|
-
const { config } = context;
|
|
528
|
-
const jsonRpcUrl = assertEx5(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
529
|
-
return [
|
|
530
|
-
jsonRpcUrl,
|
|
531
|
-
getChainId(context)
|
|
532
|
-
];
|
|
533
|
-
}, "getJsonRpcProviderConfig");
|
|
534
|
-
|
|
535
|
-
// src/shared/evm/initEvmProvider.ts
|
|
536
|
-
var provider;
|
|
537
|
-
var initEvmProvider = /* @__PURE__ */ __name(async (context) => {
|
|
538
|
-
if (provider) return provider;
|
|
539
|
-
if (canUseInfuraProvider(context)) {
|
|
540
|
-
provider = initInfuraProvider(context);
|
|
541
|
-
} else if (canUseJsonRpcProvider(context)) {
|
|
542
|
-
provider = initJsonRpcProvider(context);
|
|
543
|
-
}
|
|
544
|
-
return assertEx6(await provider, () => "No provider available");
|
|
545
|
-
}, "initEvmProvider");
|
|
546
|
-
var canUseEvmProvider = /* @__PURE__ */ __name((context) => {
|
|
547
|
-
return canUseInfuraProvider(context) || canUseJsonRpcProvider(context);
|
|
548
|
-
}, "canUseEvmProvider");
|
|
549
|
-
|
|
550
|
-
// src/shared/init/initEvmProvidersIfAvailable.ts
|
|
551
|
-
async function initEvmProvidersIfAvailable(locator) {
|
|
552
|
-
const context = locator.context;
|
|
553
|
-
const { logger } = context;
|
|
554
|
-
if (canUseEvmProvider(context)) {
|
|
555
|
-
const chainId = assertEx7(context.config.chain.id, () => "Missing config.chain.id (required for EVM providers)");
|
|
556
|
-
const provider2 = await initEvmProvider(context);
|
|
557
|
-
const address = asEthAddress(chainId, true);
|
|
558
|
-
locator.register(EvmStakeEventsViewer.factory(EvmStakeEventsViewer.dependencies, {
|
|
559
|
-
address,
|
|
560
|
-
provider: provider2
|
|
561
|
-
}));
|
|
562
|
-
locator.register(EvmStakeViewer.factory(EvmStakeViewer.dependencies, {
|
|
563
|
-
address,
|
|
564
|
-
provider: provider2
|
|
565
|
-
}));
|
|
566
|
-
locator.register(EvmStakeTotalsViewer.factory(EvmStakeTotalsViewer.dependencies, {
|
|
567
|
-
address,
|
|
568
|
-
provider: provider2
|
|
569
|
-
}));
|
|
570
|
-
locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
|
|
571
|
-
address,
|
|
572
|
-
provider: provider2
|
|
573
|
-
}));
|
|
574
|
-
locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {
|
|
575
|
-
ethProvider: provider2
|
|
576
|
-
}));
|
|
577
|
-
} else {
|
|
578
|
-
logger?.warn("EVM provider not available - running with memory based contract/stake viewers");
|
|
579
|
-
const positions = [];
|
|
580
|
-
locator.register(SimpleStakeEventsViewer.factory(SimpleStakeEventsViewer.dependencies, {
|
|
581
|
-
positions
|
|
582
|
-
}));
|
|
583
|
-
locator.register(SimpleStakeViewer.factory(SimpleStakeViewer.dependencies, {
|
|
584
|
-
positions
|
|
585
|
-
}));
|
|
586
|
-
locator.register(SimpleStakeTotalsViewer.factory(SimpleStakeTotalsViewer.dependencies, {}));
|
|
587
|
-
locator.register(SimpleChainContractViewer.factory(SimpleChainContractViewer.dependencies, {
|
|
588
|
-
minWithdrawalBlocks: 10,
|
|
589
|
-
stakingTokenAddress: XYO_ZERO_ADDRESS,
|
|
590
|
-
rewardsContract: XYO_ZERO_ADDRESS
|
|
591
|
-
}));
|
|
592
|
-
locator.register(SimpleTimeSyncViewer2.factory(SimpleTimeSyncViewer2.dependencies, {}));
|
|
593
|
-
}
|
|
594
|
-
return locator;
|
|
595
|
-
}
|
|
596
|
-
__name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
|
|
597
|
-
|
|
598
637
|
// src/shared/init/initStatusReporter.ts
|
|
599
638
|
import { RuntimeStatusMonitor } from "@xyo-network/xl1-sdk";
|
|
600
639
|
function initStatusReporter({ logger }) {
|
|
@@ -615,140 +654,16 @@ function initStatusReporter({ logger }) {
|
|
|
615
654
|
__name(initStatusReporter, "initStatusReporter");
|
|
616
655
|
|
|
617
656
|
// src/shared/init/initWallet.ts
|
|
618
|
-
import { isDefined as
|
|
657
|
+
import { isDefined as isDefined4 } from "@xylabs/sdk-js";
|
|
619
658
|
import { boot } from "@xyo-network/bios";
|
|
620
659
|
import { HDWallet as HDWallet3 } from "@xyo-network/sdk-js";
|
|
621
660
|
async function initActorWallet(context, mnemonic) {
|
|
622
661
|
const bios = await boot();
|
|
623
|
-
const seedPhrase =
|
|
662
|
+
const seedPhrase = isDefined4(mnemonic) ? mnemonic : await initActorSeedPhrase(context, bios);
|
|
624
663
|
return await HDWallet3.fromPhrase(seedPhrase);
|
|
625
664
|
}
|
|
626
665
|
__name(initActorWallet, "initActorWallet");
|
|
627
666
|
|
|
628
|
-
// src/shared/config/locators/telemetryContextFromConfig.ts
|
|
629
|
-
import { initTelemetry } from "@xyo-network/chain-telemetry";
|
|
630
|
-
async function telemetryContextFromConfig(config, serviceName, serviceVersion) {
|
|
631
|
-
const { otlpEndpoint } = config.telemetry?.otel ?? {};
|
|
632
|
-
const { path: endpoint = "/metrics", port = 9466 } = config.telemetry?.metrics?.scrape ?? {};
|
|
633
|
-
return await initTelemetry({
|
|
634
|
-
attributes: {
|
|
635
|
-
serviceName,
|
|
636
|
-
serviceVersion
|
|
637
|
-
},
|
|
638
|
-
otlpEndpoint,
|
|
639
|
-
metricsConfig: {
|
|
640
|
-
endpoint,
|
|
641
|
-
port
|
|
642
|
-
}
|
|
643
|
-
});
|
|
644
|
-
}
|
|
645
|
-
__name(telemetryContextFromConfig, "telemetryContextFromConfig");
|
|
646
|
-
|
|
647
|
-
// src/shared/config/locators/contextFromConfigWithoutLocator.ts
|
|
648
|
-
async function contextFromConfigWithoutLocator(config, logger, serviceName, serviceVersion) {
|
|
649
|
-
const singletons = {};
|
|
650
|
-
const caches = {};
|
|
651
|
-
const telemetryConfig = await telemetryContextFromConfig(config, serviceName, serviceVersion);
|
|
652
|
-
const statusReporter = initStatusReporter({
|
|
653
|
-
logger
|
|
654
|
-
});
|
|
655
|
-
return {
|
|
656
|
-
...telemetryConfig,
|
|
657
|
-
config,
|
|
658
|
-
singletons,
|
|
659
|
-
caches,
|
|
660
|
-
logger,
|
|
661
|
-
statusReporter
|
|
662
|
-
};
|
|
663
|
-
}
|
|
664
|
-
__name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
|
|
665
|
-
|
|
666
|
-
// src/shared/config/locators/remoteLocatorFromConfig.ts
|
|
667
|
-
import { JsonRpcAccountBalanceViewer, JsonRpcBlockViewer, JsonRpcFinalizationViewer, JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcNetworkStakeViewer, JsonRpcStakeViewer, JsonRpcTransactionViewer, JsonRpcXyoViewer, ProviderFactoryLocator as ProviderFactoryLocator2, SimpleStakeEventsViewer as SimpleStakeEventsViewer2 } from "@xyo-network/xl1-sdk";
|
|
668
|
-
function remoteLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
669
|
-
const locator = new ProviderFactoryLocator2(context, {}, validateDepsOnRegister);
|
|
670
|
-
locator.registerMany([
|
|
671
|
-
JsonRpcMempoolViewer.factory(JsonRpcMempoolViewer.dependencies, {}),
|
|
672
|
-
JsonRpcMempoolRunner.factory(JsonRpcMempoolRunner.dependencies, {}),
|
|
673
|
-
JsonRpcAccountBalanceViewer.factory(JsonRpcAccountBalanceViewer.dependencies, {}),
|
|
674
|
-
JsonRpcFinalizationViewer.factory(JsonRpcFinalizationViewer.dependencies, {}),
|
|
675
|
-
JsonRpcBlockViewer.factory(JsonRpcBlockViewer.dependencies, {}),
|
|
676
|
-
JsonRpcTransactionViewer.factory(JsonRpcTransactionViewer.dependencies, {}),
|
|
677
|
-
JsonRpcNetworkStakeViewer.factory(JsonRpcNetworkStakeViewer.dependencies, {}),
|
|
678
|
-
JsonRpcStakeViewer.factory(JsonRpcStakeViewer.dependencies, {}),
|
|
679
|
-
SimpleStakeEventsViewer2.factory(SimpleStakeEventsViewer2.dependencies, {
|
|
680
|
-
positions: []
|
|
681
|
-
}),
|
|
682
|
-
JsonRpcXyoViewer.factory(JsonRpcXyoViewer.dependencies, {})
|
|
683
|
-
]);
|
|
684
|
-
return locator;
|
|
685
|
-
}
|
|
686
|
-
__name(remoteLocatorFromConfig, "remoteLocatorFromConfig");
|
|
687
|
-
|
|
688
|
-
// src/shared/config/mergeConfig.ts
|
|
689
|
-
import { deepMerge } from "@xylabs/sdk-js";
|
|
690
|
-
function mergeConfig({ actors, ...baseConfig }) {
|
|
691
|
-
return {
|
|
692
|
-
...baseConfig,
|
|
693
|
-
actors: actors.map((actor) => {
|
|
694
|
-
return deepMerge(baseConfig, actor);
|
|
695
|
-
})
|
|
696
|
-
};
|
|
697
|
-
}
|
|
698
|
-
__name(mergeConfig, "mergeConfig");
|
|
699
|
-
|
|
700
|
-
// src/shared/createDeclarationIntentBlock.ts
|
|
701
|
-
import { buildNextBlock } from "@xyo-network/chain-sdk";
|
|
702
|
-
import { createDeclarationIntent } from "@xyo-network/xl1-sdk";
|
|
703
|
-
async function createProducerChainStakeIntentBlock(prevBlock, producerAccount, range) {
|
|
704
|
-
const producerDeclarationPayload = createDeclarationIntent(producerAccount.address, "producer", range[0], range[1]);
|
|
705
|
-
return await buildNextBlock(prevBlock, [], [
|
|
706
|
-
producerDeclarationPayload
|
|
707
|
-
], [
|
|
708
|
-
producerAccount
|
|
709
|
-
]);
|
|
710
|
-
}
|
|
711
|
-
__name(createProducerChainStakeIntentBlock, "createProducerChainStakeIntentBlock");
|
|
712
|
-
|
|
713
|
-
// src/shared/host/implementation/DefaultHost.ts
|
|
714
|
-
var GenericHost = class {
|
|
715
|
-
static {
|
|
716
|
-
__name(this, "GenericHost");
|
|
717
|
-
}
|
|
718
|
-
services;
|
|
719
|
-
constructor(services) {
|
|
720
|
-
this.services = services;
|
|
721
|
-
}
|
|
722
|
-
async start() {
|
|
723
|
-
await Promise.resolve();
|
|
724
|
-
console.log("Host is starting...");
|
|
725
|
-
}
|
|
726
|
-
async stop() {
|
|
727
|
-
await Promise.resolve();
|
|
728
|
-
console.log("Host is stopping...");
|
|
729
|
-
}
|
|
730
|
-
};
|
|
731
|
-
|
|
732
|
-
// src/shared/host/implementation/DefaultServiceProvider.ts
|
|
733
|
-
var DefaultServiceProvider = class {
|
|
734
|
-
static {
|
|
735
|
-
__name(this, "DefaultServiceProvider");
|
|
736
|
-
}
|
|
737
|
-
_services;
|
|
738
|
-
constructor(services) {
|
|
739
|
-
this._services = services;
|
|
740
|
-
}
|
|
741
|
-
getService(serviceIdentifier) {
|
|
742
|
-
return this._services[serviceIdentifier];
|
|
743
|
-
}
|
|
744
|
-
};
|
|
745
|
-
|
|
746
|
-
// src/shared/host/model/ServiceCollection.ts
|
|
747
|
-
var ServiceLifetime = {
|
|
748
|
-
Singleton: "Singleton",
|
|
749
|
-
Transient: "Transient"
|
|
750
|
-
};
|
|
751
|
-
|
|
752
667
|
// src/shared/orchestrator/Orchestrator.ts
|
|
753
668
|
import { AbstractCreatable, creatable as creatable2 } from "@xylabs/sdk-js";
|
|
754
669
|
function _ts_decorate2(decorators, target, key, desc) {
|
|
@@ -951,12 +866,12 @@ async function initRejectedTransactionsArchivist({ logger }) {
|
|
|
951
866
|
__name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
|
|
952
867
|
|
|
953
868
|
// src/node/archivists/StakeIntentState/archivist.ts
|
|
954
|
-
import { assertEx as
|
|
869
|
+
import { assertEx as assertEx4, timeBudget as timeBudget4 } from "@xylabs/sdk-js";
|
|
955
870
|
import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
|
|
956
871
|
import { Mutex as Mutex9 } from "async-mutex";
|
|
957
872
|
|
|
958
873
|
// src/node/archivists/StakeIntentState/local.ts
|
|
959
|
-
import { assertEx as
|
|
874
|
+
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
960
875
|
import { Mutex as Mutex8 } from "async-mutex";
|
|
961
876
|
var mutex7 = new Mutex8();
|
|
962
877
|
var singleton7;
|
|
@@ -965,42 +880,108 @@ async function initLocalStakeIntentStateArchivist({ config }) {
|
|
|
965
880
|
if (singleton7) return singleton7;
|
|
966
881
|
const { root } = config.storage;
|
|
967
882
|
singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
|
|
968
|
-
return
|
|
883
|
+
return assertEx3(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
|
|
884
|
+
});
|
|
885
|
+
}
|
|
886
|
+
__name(initLocalStakeIntentStateArchivist, "initLocalStakeIntentStateArchivist");
|
|
887
|
+
|
|
888
|
+
// src/node/archivists/StakeIntentState/archivist.ts
|
|
889
|
+
var mutex8 = new Mutex9();
|
|
890
|
+
var singleton8;
|
|
891
|
+
async function initStakeIntentStateArchivist(context) {
|
|
892
|
+
return await mutex8.runExclusive(async () => {
|
|
893
|
+
if (singleton8) return singleton8;
|
|
894
|
+
return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
|
|
895
|
+
const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
|
|
896
|
+
singleton8 = local;
|
|
897
|
+
return assertEx4(singleton8, () => "StakeIntentStateArchivist is undefined");
|
|
898
|
+
}, 2e3, true);
|
|
899
|
+
});
|
|
900
|
+
}
|
|
901
|
+
__name(initStakeIntentStateArchivist, "initStakeIntentStateArchivist");
|
|
902
|
+
|
|
903
|
+
// src/node/config/locators/basicRemoteRunnerLocator.ts
|
|
904
|
+
import { isAccountInstance } from "@xyo-network/sdk-js";
|
|
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");
|
|
928
|
+
|
|
929
|
+
// src/node/config/locators/basicRemoteViewerLocator.ts
|
|
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
|
+
}
|
|
969
955
|
});
|
|
970
956
|
}
|
|
971
|
-
__name(
|
|
957
|
+
__name(telemetryContextFromConfig, "telemetryContextFromConfig");
|
|
972
958
|
|
|
973
|
-
// src/node/
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
|
|
981
|
-
singleton8 = local;
|
|
982
|
-
return assertEx9(singleton8, () => "StakeIntentStateArchivist is undefined");
|
|
983
|
-
}, 2e3, true);
|
|
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
|
|
984
966
|
});
|
|
967
|
+
return {
|
|
968
|
+
...telemetryConfig,
|
|
969
|
+
config,
|
|
970
|
+
singletons,
|
|
971
|
+
caches,
|
|
972
|
+
logger,
|
|
973
|
+
statusReporter
|
|
974
|
+
};
|
|
985
975
|
}
|
|
986
|
-
__name(
|
|
987
|
-
|
|
988
|
-
// src/node/config/locators/basicRemoteRunnerLocator.ts
|
|
989
|
-
import { isDefined as isDefined8 } from "@xylabs/sdk-js";
|
|
990
|
-
import { isAccountInstance } from "@xyo-network/sdk-js";
|
|
991
|
-
import { JsonRpcXyoRunner, JsonRpcXyoSigner, ProviderFactoryLocator as ProviderFactoryLocator5, RestDataLakeViewer as RestDataLakeViewer2, SimpleXyoConnectionRunner, SimpleXyoSigner } from "@xyo-network/xl1-sdk";
|
|
992
|
-
|
|
993
|
-
// src/node/config/locators/basicRemoteViewerLocator.ts
|
|
994
|
-
import { isDefined as isDefined7 } from "@xylabs/sdk-js";
|
|
995
|
-
import { ActorConfigZod as ActorConfigZod2, JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer2, ProviderFactoryLocator as ProviderFactoryLocator4, RestDataLakeViewer, SimpleTransactionViewer as SimpleTransactionViewer3, SimpleXyoConnectionViewer as SimpleXyoConnectionViewer2, SimpleXyoGateway } from "@xyo-network/xl1-sdk";
|
|
976
|
+
__name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
|
|
996
977
|
|
|
997
978
|
// src/node/config/locators/localLocatorFromConfig.ts
|
|
998
979
|
import { assertEx as assertEx14 } from "@xylabs/sdk-js";
|
|
999
|
-
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";
|
|
1000
981
|
|
|
1001
982
|
// src/node/init/initBalanceSummaryMap.ts
|
|
1002
983
|
import { BaseMongoSdk } from "@xylabs/mongo";
|
|
1003
|
-
import { assertEx as
|
|
984
|
+
import { assertEx as assertEx5 } from "@xylabs/sdk-js";
|
|
1004
985
|
import { MongoMap } from "@xyo-network/chain-protocol";
|
|
1005
986
|
import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
|
|
1006
987
|
async function initBalanceSummaryMap({ logger, config }) {
|
|
@@ -1025,7 +1006,7 @@ async function initBalanceSummaryMap({ logger, config }) {
|
|
|
1025
1006
|
maxEntries: 5e3
|
|
1026
1007
|
}
|
|
1027
1008
|
});
|
|
1028
|
-
|
|
1009
|
+
assertEx5(await result.start(), () => "Failed to start transfer summary map");
|
|
1029
1010
|
return result;
|
|
1030
1011
|
} else {
|
|
1031
1012
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
|
|
@@ -1034,6 +1015,141 @@ async function initBalanceSummaryMap({ logger, config }) {
|
|
|
1034
1015
|
}
|
|
1035
1016
|
__name(initBalanceSummaryMap, "initBalanceSummaryMap");
|
|
1036
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
|
+
|
|
1037
1153
|
// src/node/init/initFinalizationArchivistIfNeeded.ts
|
|
1038
1154
|
import { assertEx as assertEx11 } from "@xylabs/sdk-js";
|
|
1039
1155
|
import { createBootstrapHead } from "@xyo-network/chain-sdk";
|
|
@@ -1084,7 +1200,7 @@ import { assertEx as assertEx12 } from "@xylabs/sdk-js";
|
|
|
1084
1200
|
import { asArchivistInstance } from "@xyo-network/sdk-js";
|
|
1085
1201
|
|
|
1086
1202
|
// src/node/manifest/getLocator.ts
|
|
1087
|
-
import { isDefined as
|
|
1203
|
+
import { isDefined as isDefined8 } from "@xylabs/sdk-js";
|
|
1088
1204
|
import { MongoDBArchivistV2 as MongoDBArchivistV22, MongoDBArchivistV2Deletable } from "@xyo-network/archivist-mongodb";
|
|
1089
1205
|
import { ViewArchivist } from "@xyo-network/archivist-view";
|
|
1090
1206
|
import { initTelemetry as initTelemetry2 } from "@xyo-network/chain-telemetry";
|
|
@@ -1104,7 +1220,7 @@ var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
|
|
|
1104
1220
|
port
|
|
1105
1221
|
}
|
|
1106
1222
|
});
|
|
1107
|
-
if (
|
|
1223
|
+
if (isDefined8(logger)) AbstractModule.defaultLogger = logger;
|
|
1108
1224
|
const statusReporter = logger ? new LoggerModuleStatusReporter(logger) : void 0;
|
|
1109
1225
|
const locator = new ModuleFactoryLocator();
|
|
1110
1226
|
const mongoConfig = config.storage?.mongo;
|
|
@@ -1386,7 +1502,7 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1386
1502
|
const wallet = await initActorWallet(context);
|
|
1387
1503
|
const { writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist } = await initServerNode(context, wallet);
|
|
1388
1504
|
await initFinalizationArchivistIfNeeded(writableChainArchivist, context.config, wallet);
|
|
1389
|
-
const locator = new
|
|
1505
|
+
const locator = new ProviderFactoryLocator5(context, {}, validateDepsOnRegister);
|
|
1390
1506
|
locator.registerMany([
|
|
1391
1507
|
SimpleMempoolViewer.factory(SimpleMempoolViewer.dependencies, {
|
|
1392
1508
|
pendingTransactionsArchivist,
|
|
@@ -1410,8 +1526,8 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1410
1526
|
maxWindowSize: 1e4,
|
|
1411
1527
|
syncInterval: 1e4
|
|
1412
1528
|
}),
|
|
1413
|
-
|
|
1414
|
-
|
|
1529
|
+
SimpleXyoConnectionViewer2.factory(SimpleXyoConnectionViewer2.dependencies, {}),
|
|
1530
|
+
SimpleTransactionViewer3.factory(SimpleTransactionViewer3.dependencies, {}),
|
|
1415
1531
|
SimpleXyoViewer.factory(SimpleXyoViewer.dependencies, {}),
|
|
1416
1532
|
SimpleFinalizationViewer.factory(SimpleFinalizationViewer.dependencies, {
|
|
1417
1533
|
finalizedArchivist: readonlyChainArchivist
|
|
@@ -1424,82 +1540,6 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1424
1540
|
}
|
|
1425
1541
|
__name(localLocatorFromConfig, "localLocatorFromConfig");
|
|
1426
1542
|
|
|
1427
|
-
// src/node/config/locators/rootLocatorFromConfig.ts
|
|
1428
|
-
async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
1429
|
-
const { config } = context;
|
|
1430
|
-
let locator = await commonLocatorFromConfig(context, validateDepsOnRegister);
|
|
1431
|
-
const newLocator = await (config.remote.rpc ? remoteLocatorFromConfig(locator.context, validateDepsOnRegister) : localLocatorFromConfig({
|
|
1432
|
-
...locator.context,
|
|
1433
|
-
config: {
|
|
1434
|
-
...locator.context.config,
|
|
1435
|
-
...context.config
|
|
1436
|
-
}
|
|
1437
|
-
}, validateDepsOnRegister));
|
|
1438
|
-
locator = newLocator;
|
|
1439
|
-
locator = await initEvmProvidersIfAvailable(locator);
|
|
1440
|
-
locator.freeze();
|
|
1441
|
-
return locator;
|
|
1442
|
-
}
|
|
1443
|
-
__name(rootLocatorFromConfig, "rootLocatorFromConfig");
|
|
1444
|
-
|
|
1445
|
-
// src/node/config/locators/basicRemoteViewerLocator.ts
|
|
1446
|
-
async function basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint) {
|
|
1447
|
-
const config = ActorConfigZod2.parse({
|
|
1448
|
-
name,
|
|
1449
|
-
remote: remoteConfig
|
|
1450
|
-
});
|
|
1451
|
-
const rootLocator = await rootLocatorFromConfig({
|
|
1452
|
-
config,
|
|
1453
|
-
singletons: {},
|
|
1454
|
-
caches: {}
|
|
1455
|
-
});
|
|
1456
|
-
const remoteLocator = await remoteLocatorFromConfig(rootLocator.context);
|
|
1457
|
-
const locator = new ProviderFactoryLocator4(remoteLocator.context, {});
|
|
1458
|
-
locator.registerMany([
|
|
1459
|
-
SimpleTransactionViewer3.factory(SimpleTransactionViewer3.dependencies, {}),
|
|
1460
|
-
JsonRpcAccountBalanceViewer2.factory(JsonRpcAccountBalanceViewer2.dependencies, {}),
|
|
1461
|
-
SimpleXyoConnectionViewer2.factory(SimpleXyoConnectionViewer2.dependencies, {}),
|
|
1462
|
-
SimpleXyoGateway.factory(SimpleXyoGateway.dependencies, {})
|
|
1463
|
-
]);
|
|
1464
|
-
if (isDefined7(dataLakeEndpoint)) {
|
|
1465
|
-
const dataLakeViewerParams = {
|
|
1466
|
-
endpoint: dataLakeEndpoint
|
|
1467
|
-
};
|
|
1468
|
-
locator.register(RestDataLakeViewer.factory(RestDataLakeViewer.dependencies, dataLakeViewerParams));
|
|
1469
|
-
}
|
|
1470
|
-
locator.freeze();
|
|
1471
|
-
return locator;
|
|
1472
|
-
}
|
|
1473
|
-
__name(basicRemoteViewerLocator, "basicRemoteViewerLocator");
|
|
1474
|
-
|
|
1475
|
-
// src/node/config/locators/basicRemoteRunnerLocator.ts
|
|
1476
|
-
async function basicRemoteRunnerLocator(name, remoteConfig, signer, dataLakeEndpoint) {
|
|
1477
|
-
const remoteViewerLocator = await basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint);
|
|
1478
|
-
const locator = new ProviderFactoryLocator5(remoteViewerLocator.context, {});
|
|
1479
|
-
locator.registerMany([
|
|
1480
|
-
SimpleXyoConnectionRunner.factory(SimpleXyoConnectionRunner.dependencies, {}),
|
|
1481
|
-
JsonRpcXyoRunner.factory(JsonRpcXyoRunner.dependencies, {})
|
|
1482
|
-
]);
|
|
1483
|
-
if (isAccountInstance(signer)) {
|
|
1484
|
-
locator.register(SimpleXyoSigner.factory(SimpleXyoSigner.dependencies, {
|
|
1485
|
-
account: signer
|
|
1486
|
-
}));
|
|
1487
|
-
} else {
|
|
1488
|
-
locator.register(JsonRpcXyoSigner.factory(JsonRpcXyoSigner.dependencies, {
|
|
1489
|
-
transport: signer
|
|
1490
|
-
}));
|
|
1491
|
-
}
|
|
1492
|
-
if (isDefined8(dataLakeEndpoint)) {
|
|
1493
|
-
const dataLakeViewerParams = {
|
|
1494
|
-
endpoint: dataLakeEndpoint
|
|
1495
|
-
};
|
|
1496
|
-
locator.register(RestDataLakeViewer2.factory(RestDataLakeViewer2.dependencies, dataLakeViewerParams));
|
|
1497
|
-
}
|
|
1498
|
-
locator.freeze();
|
|
1499
|
-
return locator;
|
|
1500
|
-
}
|
|
1501
|
-
__name(basicRemoteRunnerLocator, "basicRemoteRunnerLocator");
|
|
1502
|
-
|
|
1503
1543
|
// src/node/config/locators/locatorsFromConfig.ts
|
|
1504
1544
|
import { deepMerge as deepMerge2 } from "@xylabs/sdk-js";
|
|
1505
1545
|
import { ActorConfigZod as ActorConfigZod3 } from "@xyo-network/xl1-sdk";
|
|
@@ -1524,7 +1564,7 @@ __name(apiLocatorFromConfig, "apiLocatorFromConfig");
|
|
|
1524
1564
|
// src/node/config/locators/actors/bridgeLocatorFromConfig.ts
|
|
1525
1565
|
import { isDefined as isDefined9 } from "@xylabs/sdk-js";
|
|
1526
1566
|
import { HDWallet as HDWallet4 } from "@xyo-network/sdk-js";
|
|
1527
|
-
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";
|
|
1528
1568
|
async function bridgeLocatorFromConfig(context, parent) {
|
|
1529
1569
|
const locator = new ProviderFactoryLocator7({
|
|
1530
1570
|
...context,
|
|
@@ -1539,7 +1579,7 @@ async function bridgeLocatorFromConfig(context, parent) {
|
|
|
1539
1579
|
locator.registerMany([
|
|
1540
1580
|
JsonRpcMempoolViewer2.factory(JsonRpcMempoolViewer2.dependencies, {}),
|
|
1541
1581
|
JsonRpcMempoolRunner2.factory(JsonRpcMempoolRunner2.dependencies, {}),
|
|
1542
|
-
|
|
1582
|
+
JsonRpcAccountBalanceViewer4.factory(JsonRpcAccountBalanceViewer4.dependencies, {}),
|
|
1543
1583
|
JsonRpcFinalizationViewer2.factory(JsonRpcFinalizationViewer2.dependencies, {}),
|
|
1544
1584
|
JsonRpcBlockViewer2.factory(JsonRpcBlockViewer2.dependencies, {}),
|
|
1545
1585
|
JsonRpcXyoRunner2.factory(JsonRpcXyoRunner2.dependencies, {}),
|
|
@@ -1547,34 +1587,35 @@ async function bridgeLocatorFromConfig(context, parent) {
|
|
|
1547
1587
|
]);
|
|
1548
1588
|
}
|
|
1549
1589
|
if (isDefined9(dataLake)) {
|
|
1550
|
-
const {
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
throw new Error(`Unsupported data lake protocol: ${protocol}`);
|
|
1567
|
-
}
|
|
1590
|
+
const { driver } = dataLake;
|
|
1591
|
+
switch (driver) {
|
|
1592
|
+
case "rest": {
|
|
1593
|
+
const { url: endpoint } = dataLake;
|
|
1594
|
+
locator.registerMany([
|
|
1595
|
+
RestDataLakeRunner.factory(RestDataLakeRunner.dependencies, {
|
|
1596
|
+
endpoint
|
|
1597
|
+
}),
|
|
1598
|
+
RestDataLakeViewer3.factory(RestDataLakeViewer3.dependencies, {
|
|
1599
|
+
endpoint
|
|
1600
|
+
})
|
|
1601
|
+
]);
|
|
1602
|
+
break;
|
|
1603
|
+
}
|
|
1604
|
+
default: {
|
|
1605
|
+
throw new Error(`Unsupported data lake protocol: ${driver}`);
|
|
1568
1606
|
}
|
|
1569
1607
|
}
|
|
1570
1608
|
}
|
|
1571
1609
|
locator.registerMany([
|
|
1610
|
+
SimpleStakeEventsViewer3.factory(SimpleStakeEventsViewer3.dependencies, {
|
|
1611
|
+
positions: []
|
|
1612
|
+
}),
|
|
1572
1613
|
SimpleXyoSigner2.factory(SimpleXyoSigner2.dependencies, {
|
|
1573
1614
|
account: signerAccount
|
|
1574
1615
|
}),
|
|
1575
1616
|
SimpleXyoRunner2.factory(SimpleXyoRunner2.dependencies, {}),
|
|
1576
1617
|
SimpleXyoConnectionRunner3.factory(SimpleXyoConnectionRunner3.dependencies, {}),
|
|
1577
|
-
|
|
1618
|
+
SimpleXyoGatewayRunner2.factory(SimpleXyoGatewayRunner2.dependencies, {})
|
|
1578
1619
|
]);
|
|
1579
1620
|
locator.freeze();
|
|
1580
1621
|
return locator;
|
|
@@ -1622,7 +1663,7 @@ async function producerLocatorFromConfig(context, parent) {
|
|
|
1622
1663
|
__name(producerLocatorFromConfig, "producerLocatorFromConfig");
|
|
1623
1664
|
|
|
1624
1665
|
// src/node/config/locators/actors/rewardRedemptionLocatorFromConfig.ts
|
|
1625
|
-
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";
|
|
1626
1667
|
async function rewardRedemptionLocatorFromConfig(context, parent) {
|
|
1627
1668
|
const locator = new ProviderFactoryLocator10({
|
|
1628
1669
|
...context,
|
|
@@ -1634,7 +1675,7 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
|
|
|
1634
1675
|
locator.registerMany([
|
|
1635
1676
|
JsonRpcMempoolViewer3.factory(JsonRpcMempoolViewer3.dependencies, {}),
|
|
1636
1677
|
JsonRpcMempoolRunner3.factory(JsonRpcMempoolRunner3.dependencies, {}),
|
|
1637
|
-
|
|
1678
|
+
JsonRpcAccountBalanceViewer5.factory(JsonRpcAccountBalanceViewer5.dependencies, {}),
|
|
1638
1679
|
JsonRpcFinalizationViewer3.factory(JsonRpcFinalizationViewer3.dependencies, {}),
|
|
1639
1680
|
JsonRpcBlockViewer3.factory(JsonRpcBlockViewer3.dependencies, {}),
|
|
1640
1681
|
JsonRpcXyoRunner3.factory(JsonRpcXyoRunner3.dependencies, {}),
|
|
@@ -1647,7 +1688,7 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
|
|
|
1647
1688
|
}),
|
|
1648
1689
|
SimpleXyoRunner3.factory(SimpleXyoRunner3.dependencies, {}),
|
|
1649
1690
|
SimpleXyoConnectionRunner4.factory(SimpleXyoConnectionRunner4.dependencies, {}),
|
|
1650
|
-
|
|
1691
|
+
SimpleXyoGatewayRunner3.factory(SimpleXyoGatewayRunner3.dependencies, {})
|
|
1651
1692
|
]);
|
|
1652
1693
|
locator.freeze();
|
|
1653
1694
|
return locator;
|
|
@@ -1667,6 +1708,24 @@ function validatorLocatorFromConfig(context, parent) {
|
|
|
1667
1708
|
}
|
|
1668
1709
|
__name(validatorLocatorFromConfig, "validatorLocatorFromConfig");
|
|
1669
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
|
+
|
|
1670
1729
|
// src/node/config/locators/locatorsFromConfig.ts
|
|
1671
1730
|
async function locatorsFromConfig(context, { actors, ...config }) {
|
|
1672
1731
|
const result = {
|
|
@@ -1741,7 +1800,7 @@ async function tryParseConfig(options) {
|
|
|
1741
1800
|
// loaders: { '.ts': TypeScriptLoader() },
|
|
1742
1801
|
searchPlaces
|
|
1743
1802
|
});
|
|
1744
|
-
const result = configPath ? (await explorer.load(configPath))?.config : (await explorer.search())?.config;
|
|
1803
|
+
const result = isDefined10(configPath) ? (await explorer.load(configPath))?.config : (await explorer.search())?.config;
|
|
1745
1804
|
if (isDefined10(result) && !isNull(result)) {
|
|
1746
1805
|
const section = result[configSection];
|
|
1747
1806
|
if (isDefined10(section) && typeof section === "object") {
|
|
@@ -1809,6 +1868,25 @@ function initHealthEndpoints(context, statusMonitor) {
|
|
|
1809
1868
|
return isDefined11(healthCheckPort) ? createHealthServer(context, healthCheckPort, statusMonitor) : void 0;
|
|
1810
1869
|
}
|
|
1811
1870
|
__name(initHealthEndpoints, "initHealthEndpoints");
|
|
1871
|
+
|
|
1872
|
+
// src/node/sharedMiddleware.ts
|
|
1873
|
+
import { customPoweredByHeader, disableCaseSensitiveRouting, disableExpressDefaultPoweredByHeader, getJsonBodyParser, getJsonBodyParserOptions, responseProfiler, standardResponses } from "@xylabs/express";
|
|
1874
|
+
import compression from "compression";
|
|
1875
|
+
import cors from "cors";
|
|
1876
|
+
function sharedMiddleware(app) {
|
|
1877
|
+
app.set("etag", false);
|
|
1878
|
+
app.use(cors());
|
|
1879
|
+
app.use(compression());
|
|
1880
|
+
app.use(responseProfiler);
|
|
1881
|
+
app.use(getJsonBodyParser(getJsonBodyParserOptions({
|
|
1882
|
+
limit: "1mb"
|
|
1883
|
+
})));
|
|
1884
|
+
app.use(standardResponses);
|
|
1885
|
+
disableExpressDefaultPoweredByHeader(app);
|
|
1886
|
+
app.use(customPoweredByHeader);
|
|
1887
|
+
disableCaseSensitiveRouting(app);
|
|
1888
|
+
}
|
|
1889
|
+
__name(sharedMiddleware, "sharedMiddleware");
|
|
1812
1890
|
export {
|
|
1813
1891
|
ApiConfigContext,
|
|
1814
1892
|
ApiConfigZod,
|
|
@@ -1844,6 +1922,8 @@ export {
|
|
|
1844
1922
|
asRewardRedemptionConfigContext,
|
|
1845
1923
|
asValidatorConfig,
|
|
1846
1924
|
asValidatorConfigContext,
|
|
1925
|
+
baseBasicRemoteRunnerLocator,
|
|
1926
|
+
baseBasicRemoteViewerLocator,
|
|
1847
1927
|
basicRemoteRunnerLocator,
|
|
1848
1928
|
basicRemoteViewerLocator,
|
|
1849
1929
|
buildTelemetryConfig,
|
|
@@ -1896,6 +1976,7 @@ export {
|
|
|
1896
1976
|
mergeConfig,
|
|
1897
1977
|
remoteLocatorFromConfig,
|
|
1898
1978
|
rootLocatorFromConfig,
|
|
1979
|
+
sharedMiddleware,
|
|
1899
1980
|
telemetryContextFromConfig,
|
|
1900
1981
|
toApiConfig,
|
|
1901
1982
|
toApiConfigContext,
|