@xyo-network/chain-orchestration 1.20.17 → 1.20.18
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 +22 -8
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
- package/dist/browser/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/browser/node/config/tryParseConfig.d.ts +4 -0
- package/dist/browser/node/config/tryParseConfig.d.ts.map +1 -1
- package/dist/browser/node/index.d.ts +3 -4
- package/dist/browser/node/index.d.ts.map +1 -1
- package/dist/browser/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -1
- package/dist/browser/node/init/initServerNode.d.ts +2 -0
- package/dist/browser/node/init/initServerNode.d.ts.map +1 -1
- package/dist/browser/node/manifest/public/index.d.ts +0 -3
- package/dist/browser/node/manifest/public/index.d.ts.map +1 -1
- package/dist/browser/shared/actor/ValidatorActor.d.ts +4 -2
- package/dist/browser/shared/actor/ValidatorActor.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Api.d.ts +12 -0
- package/dist/browser/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Bridge.d.ts +12 -0
- package/dist/browser/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Mempool.d.ts +12 -0
- package/dist/browser/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Producer.d.ts +19 -0
- package/dist/browser/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/RewardRedemption.d.ts +12 -0
- package/dist/browser/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Validator.d.ts +18 -0
- package/dist/browser/shared/config/actors/Validator.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/index.d.ts +0 -1
- package/dist/browser/shared/config/actors/index.d.ts.map +1 -1
- package/dist/browser/shared/config/mergeConfig.d.ts +2 -0
- package/dist/browser/shared/config/mergeConfig.d.ts.map +1 -1
- package/dist/browser/shared/orchestrator/Orchestrator.d.ts +1 -1
- package/dist/browser/shared/orchestrator/Orchestrator.d.ts.map +1 -1
- package/dist/neutral/index.mjs +22 -8
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/neutral/node/config/tryParseConfig.d.ts +4 -0
- package/dist/neutral/node/config/tryParseConfig.d.ts.map +1 -1
- package/dist/neutral/node/index.d.ts +3 -4
- package/dist/neutral/node/index.d.ts.map +1 -1
- package/dist/neutral/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -1
- package/dist/neutral/node/init/initServerNode.d.ts +2 -0
- package/dist/neutral/node/init/initServerNode.d.ts.map +1 -1
- package/dist/neutral/node/manifest/public/index.d.ts +0 -3
- package/dist/neutral/node/manifest/public/index.d.ts.map +1 -1
- package/dist/neutral/shared/actor/ValidatorActor.d.ts +4 -2
- package/dist/neutral/shared/actor/ValidatorActor.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Api.d.ts +12 -0
- package/dist/neutral/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Bridge.d.ts +12 -0
- package/dist/neutral/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Mempool.d.ts +12 -0
- package/dist/neutral/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Producer.d.ts +19 -0
- package/dist/neutral/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/RewardRedemption.d.ts +12 -0
- package/dist/neutral/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Validator.d.ts +18 -0
- package/dist/neutral/shared/config/actors/Validator.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/index.d.ts +0 -1
- package/dist/neutral/shared/config/actors/index.d.ts.map +1 -1
- package/dist/neutral/shared/config/mergeConfig.d.ts +2 -0
- package/dist/neutral/shared/config/mergeConfig.d.ts.map +1 -1
- package/dist/neutral/shared/orchestrator/Orchestrator.d.ts +1 -1
- package/dist/neutral/shared/orchestrator/Orchestrator.d.ts.map +1 -1
- package/dist/node/index.mjs +149 -392
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
- package/dist/node/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/node/node/config/tryParseConfig.d.ts +4 -0
- package/dist/node/node/config/tryParseConfig.d.ts.map +1 -1
- package/dist/node/node/index.d.ts +3 -4
- package/dist/node/node/index.d.ts.map +1 -1
- package/dist/node/node/init/initEvmProvidersIfAvailable.d.ts.map +1 -1
- package/dist/node/node/init/initServerNode.d.ts +2 -0
- package/dist/node/node/init/initServerNode.d.ts.map +1 -1
- package/dist/node/node/manifest/public/index.d.ts +0 -3
- package/dist/node/node/manifest/public/index.d.ts.map +1 -1
- package/dist/node/shared/actor/ValidatorActor.d.ts +4 -2
- package/dist/node/shared/actor/ValidatorActor.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Api.d.ts +12 -0
- package/dist/node/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Bridge.d.ts +12 -0
- package/dist/node/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Mempool.d.ts +12 -0
- package/dist/node/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Producer.d.ts +19 -0
- package/dist/node/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/node/shared/config/actors/RewardRedemption.d.ts +12 -0
- package/dist/node/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Validator.d.ts +18 -0
- package/dist/node/shared/config/actors/Validator.d.ts.map +1 -1
- package/dist/node/shared/config/actors/index.d.ts +0 -1
- package/dist/node/shared/config/actors/index.d.ts.map +1 -1
- package/dist/node/shared/config/mergeConfig.d.ts +2 -0
- package/dist/node/shared/config/mergeConfig.d.ts.map +1 -1
- package/dist/node/shared/orchestrator/Orchestrator.d.ts +1 -1
- package/dist/node/shared/orchestrator/Orchestrator.d.ts.map +1 -1
- package/package.json +17 -23
- package/dist/browser/node/archivists/ChainFinalized/archivist.d.ts +0 -4
- package/dist/browser/node/archivists/ChainFinalized/archivist.d.ts.map +0 -1
- package/dist/browser/node/archivists/ChainFinalized/index.d.ts +0 -2
- package/dist/browser/node/archivists/ChainFinalized/index.d.ts.map +0 -1
- package/dist/browser/node/archivists/ChainFinalized/local.d.ts +0 -4
- package/dist/browser/node/archivists/ChainFinalized/local.d.ts.map +0 -1
- package/dist/browser/node/archivists/PendingBlocks/archivist.d.ts +0 -4
- package/dist/browser/node/archivists/PendingBlocks/archivist.d.ts.map +0 -1
- package/dist/browser/node/archivists/PendingBlocks/index.d.ts +0 -2
- package/dist/browser/node/archivists/PendingBlocks/index.d.ts.map +0 -1
- package/dist/browser/node/archivists/PendingBlocks/local.d.ts +0 -4
- package/dist/browser/node/archivists/PendingBlocks/local.d.ts.map +0 -1
- package/dist/browser/node/archivists/RejectedTransactions/archivist.d.ts +0 -4
- package/dist/browser/node/archivists/RejectedTransactions/archivist.d.ts.map +0 -1
- package/dist/browser/node/archivists/RejectedTransactions/index.d.ts +0 -2
- package/dist/browser/node/archivists/RejectedTransactions/index.d.ts.map +0 -1
- package/dist/browser/node/archivists/RejectedTransactions/local.d.ts +0 -3
- package/dist/browser/node/archivists/RejectedTransactions/local.d.ts.map +0 -1
- package/dist/browser/node/archivists/StakeIntentState/archivist.d.ts +0 -4
- package/dist/browser/node/archivists/StakeIntentState/archivist.d.ts.map +0 -1
- package/dist/browser/node/archivists/StakeIntentState/index.d.ts +0 -2
- package/dist/browser/node/archivists/StakeIntentState/index.d.ts.map +0 -1
- package/dist/browser/node/archivists/StakeIntentState/local.d.ts +0 -4
- package/dist/browser/node/archivists/StakeIntentState/local.d.ts.map +0 -1
- package/dist/browser/node/archivists/index.d.ts +0 -5
- package/dist/browser/node/archivists/index.d.ts.map +0 -1
- package/dist/browser/node/archivists/lib/index.d.ts +0 -2
- package/dist/browser/node/archivists/lib/index.d.ts.map +0 -1
- package/dist/browser/node/archivists/lib/localPersistentArchivist.d.ts +0 -21
- package/dist/browser/node/archivists/lib/localPersistentArchivist.d.ts.map +0 -1
- package/dist/browser/node/evm/index.d.ts +0 -5
- package/dist/browser/node/evm/index.d.ts.map +0 -1
- package/dist/browser/node/evm/initChainId.d.ts +0 -4
- package/dist/browser/node/evm/initChainId.d.ts.map +0 -1
- package/dist/browser/node/evm/initEvmProvider.d.ts +0 -5
- package/dist/browser/node/evm/initEvmProvider.d.ts.map +0 -1
- package/dist/browser/node/evm/initInfuraProvider.d.ts +0 -6
- package/dist/browser/node/evm/initInfuraProvider.d.ts.map +0 -1
- package/dist/browser/node/evm/initJsonRpcProvider.d.ts +0 -6
- package/dist/browser/node/evm/initJsonRpcProvider.d.ts.map +0 -1
- package/dist/browser/node/health/index.d.ts +0 -2
- package/dist/browser/node/health/index.d.ts.map +0 -1
- package/dist/browser/node/health/initHealthEndpoints.d.ts +0 -5
- package/dist/browser/node/health/initHealthEndpoints.d.ts.map +0 -1
- package/dist/browser/node/sharedMiddleware.d.ts +0 -3
- package/dist/browser/node/sharedMiddleware.d.ts.map +0 -1
- package/dist/neutral/node/archivists/ChainFinalized/archivist.d.ts +0 -4
- package/dist/neutral/node/archivists/ChainFinalized/archivist.d.ts.map +0 -1
- package/dist/neutral/node/archivists/ChainFinalized/index.d.ts +0 -2
- package/dist/neutral/node/archivists/ChainFinalized/index.d.ts.map +0 -1
- package/dist/neutral/node/archivists/ChainFinalized/local.d.ts +0 -4
- package/dist/neutral/node/archivists/ChainFinalized/local.d.ts.map +0 -1
- package/dist/neutral/node/archivists/PendingBlocks/archivist.d.ts +0 -4
- package/dist/neutral/node/archivists/PendingBlocks/archivist.d.ts.map +0 -1
- package/dist/neutral/node/archivists/PendingBlocks/index.d.ts +0 -2
- package/dist/neutral/node/archivists/PendingBlocks/index.d.ts.map +0 -1
- package/dist/neutral/node/archivists/PendingBlocks/local.d.ts +0 -4
- package/dist/neutral/node/archivists/PendingBlocks/local.d.ts.map +0 -1
- package/dist/neutral/node/archivists/RejectedTransactions/archivist.d.ts +0 -4
- package/dist/neutral/node/archivists/RejectedTransactions/archivist.d.ts.map +0 -1
- package/dist/neutral/node/archivists/RejectedTransactions/index.d.ts +0 -2
- package/dist/neutral/node/archivists/RejectedTransactions/index.d.ts.map +0 -1
- package/dist/neutral/node/archivists/RejectedTransactions/local.d.ts +0 -3
- package/dist/neutral/node/archivists/RejectedTransactions/local.d.ts.map +0 -1
- package/dist/neutral/node/archivists/StakeIntentState/archivist.d.ts +0 -4
- package/dist/neutral/node/archivists/StakeIntentState/archivist.d.ts.map +0 -1
- package/dist/neutral/node/archivists/StakeIntentState/index.d.ts +0 -2
- package/dist/neutral/node/archivists/StakeIntentState/index.d.ts.map +0 -1
- package/dist/neutral/node/archivists/StakeIntentState/local.d.ts +0 -4
- package/dist/neutral/node/archivists/StakeIntentState/local.d.ts.map +0 -1
- package/dist/neutral/node/archivists/index.d.ts +0 -5
- package/dist/neutral/node/archivists/index.d.ts.map +0 -1
- package/dist/neutral/node/archivists/lib/index.d.ts +0 -2
- package/dist/neutral/node/archivists/lib/index.d.ts.map +0 -1
- package/dist/neutral/node/archivists/lib/localPersistentArchivist.d.ts +0 -21
- package/dist/neutral/node/archivists/lib/localPersistentArchivist.d.ts.map +0 -1
- package/dist/neutral/node/evm/index.d.ts +0 -5
- package/dist/neutral/node/evm/index.d.ts.map +0 -1
- package/dist/neutral/node/evm/initChainId.d.ts +0 -4
- package/dist/neutral/node/evm/initChainId.d.ts.map +0 -1
- package/dist/neutral/node/evm/initEvmProvider.d.ts +0 -5
- package/dist/neutral/node/evm/initEvmProvider.d.ts.map +0 -1
- package/dist/neutral/node/evm/initInfuraProvider.d.ts +0 -6
- package/dist/neutral/node/evm/initInfuraProvider.d.ts.map +0 -1
- package/dist/neutral/node/evm/initJsonRpcProvider.d.ts +0 -6
- package/dist/neutral/node/evm/initJsonRpcProvider.d.ts.map +0 -1
- package/dist/neutral/node/health/index.d.ts +0 -2
- package/dist/neutral/node/health/index.d.ts.map +0 -1
- package/dist/neutral/node/health/initHealthEndpoints.d.ts +0 -5
- package/dist/neutral/node/health/initHealthEndpoints.d.ts.map +0 -1
- package/dist/neutral/node/sharedMiddleware.d.ts +0 -3
- package/dist/neutral/node/sharedMiddleware.d.ts.map +0 -1
- package/dist/node/node/archivists/ChainFinalized/archivist.d.ts +0 -4
- package/dist/node/node/archivists/ChainFinalized/archivist.d.ts.map +0 -1
- package/dist/node/node/archivists/ChainFinalized/index.d.ts +0 -2
- package/dist/node/node/archivists/ChainFinalized/index.d.ts.map +0 -1
- package/dist/node/node/archivists/ChainFinalized/local.d.ts +0 -4
- package/dist/node/node/archivists/ChainFinalized/local.d.ts.map +0 -1
- package/dist/node/node/archivists/PendingBlocks/archivist.d.ts +0 -4
- package/dist/node/node/archivists/PendingBlocks/archivist.d.ts.map +0 -1
- package/dist/node/node/archivists/PendingBlocks/index.d.ts +0 -2
- package/dist/node/node/archivists/PendingBlocks/index.d.ts.map +0 -1
- package/dist/node/node/archivists/PendingBlocks/local.d.ts +0 -4
- package/dist/node/node/archivists/PendingBlocks/local.d.ts.map +0 -1
- package/dist/node/node/archivists/RejectedTransactions/archivist.d.ts +0 -4
- package/dist/node/node/archivists/RejectedTransactions/archivist.d.ts.map +0 -1
- package/dist/node/node/archivists/RejectedTransactions/index.d.ts +0 -2
- package/dist/node/node/archivists/RejectedTransactions/index.d.ts.map +0 -1
- package/dist/node/node/archivists/RejectedTransactions/local.d.ts +0 -3
- package/dist/node/node/archivists/RejectedTransactions/local.d.ts.map +0 -1
- package/dist/node/node/archivists/StakeIntentState/archivist.d.ts +0 -4
- package/dist/node/node/archivists/StakeIntentState/archivist.d.ts.map +0 -1
- package/dist/node/node/archivists/StakeIntentState/index.d.ts +0 -2
- package/dist/node/node/archivists/StakeIntentState/index.d.ts.map +0 -1
- package/dist/node/node/archivists/StakeIntentState/local.d.ts +0 -4
- package/dist/node/node/archivists/StakeIntentState/local.d.ts.map +0 -1
- package/dist/node/node/archivists/index.d.ts +0 -5
- package/dist/node/node/archivists/index.d.ts.map +0 -1
- package/dist/node/node/archivists/lib/index.d.ts +0 -2
- package/dist/node/node/archivists/lib/index.d.ts.map +0 -1
- package/dist/node/node/archivists/lib/localPersistentArchivist.d.ts +0 -21
- package/dist/node/node/archivists/lib/localPersistentArchivist.d.ts.map +0 -1
- package/dist/node/node/evm/index.d.ts +0 -5
- package/dist/node/node/evm/index.d.ts.map +0 -1
- package/dist/node/node/evm/initChainId.d.ts +0 -4
- package/dist/node/node/evm/initChainId.d.ts.map +0 -1
- package/dist/node/node/evm/initEvmProvider.d.ts +0 -5
- package/dist/node/node/evm/initEvmProvider.d.ts.map +0 -1
- package/dist/node/node/evm/initInfuraProvider.d.ts +0 -6
- package/dist/node/node/evm/initInfuraProvider.d.ts.map +0 -1
- package/dist/node/node/evm/initJsonRpcProvider.d.ts +0 -6
- package/dist/node/node/evm/initJsonRpcProvider.d.ts.map +0 -1
- package/dist/node/node/health/index.d.ts +0 -2
- package/dist/node/node/health/index.d.ts.map +0 -1
- package/dist/node/node/health/initHealthEndpoints.d.ts +0 -5
- package/dist/node/node/health/initHealthEndpoints.d.ts.map +0 -1
- package/dist/node/node/sharedMiddleware.d.ts +0 -3
- package/dist/node/node/sharedMiddleware.d.ts.map +0 -1
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, BlockValidationViewerMoniker, BlockViewerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
7
|
+
import { ActorV3, BlockValidationViewerMoniker, BlockViewerMoniker, DeadLetterQueueRunnerMoniker, 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);
|
|
@@ -18,6 +18,7 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
18
18
|
}
|
|
19
19
|
_blockValidationViewer;
|
|
20
20
|
_blockViewer;
|
|
21
|
+
_deadLetterQueueRunner;
|
|
21
22
|
_finalizationRunner;
|
|
22
23
|
_lastValidatedBlock;
|
|
23
24
|
_lastValidatedBlockHash;
|
|
@@ -37,12 +38,16 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
37
38
|
get mempoolViewer() {
|
|
38
39
|
return this._mempoolViewer;
|
|
39
40
|
}
|
|
41
|
+
get minCandidates() {
|
|
42
|
+
return this.params.config.minCandidates;
|
|
43
|
+
}
|
|
40
44
|
async createHandler() {
|
|
41
45
|
await super.startHandler();
|
|
42
46
|
this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
|
|
43
47
|
this._blockViewer = await this.locator.getInstance(BlockViewerMoniker);
|
|
44
48
|
this._finalizationRunner = await this.locator.getInstance(FinalizationRunnerMoniker);
|
|
45
49
|
this._mempoolViewer = await this.locator.getInstance(MempoolViewerMoniker);
|
|
50
|
+
this._deadLetterQueueRunner = await this.locator.tryGetInstance(DeadLetterQueueRunnerMoniker);
|
|
46
51
|
}
|
|
47
52
|
async startHandler() {
|
|
48
53
|
await super.startHandler();
|
|
@@ -56,7 +61,9 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
56
61
|
mempoolViewer: this.mempoolViewer,
|
|
57
62
|
blockViewer: this.blockViewer,
|
|
58
63
|
finalizationRunner: this.finalizationRunner,
|
|
59
|
-
allowedProducers: this.allowedProducers
|
|
64
|
+
allowedProducers: this.allowedProducers,
|
|
65
|
+
minCandidates: this.minCandidates,
|
|
66
|
+
deadLetterQueueRunner: this._deadLetterQueueRunner
|
|
60
67
|
});
|
|
61
68
|
}, {
|
|
62
69
|
...this.context,
|
|
@@ -279,6 +286,7 @@ var toMempoolConfigContext = zodToFactory3(MempoolConfigContext, "toMempoolConfi
|
|
|
279
286
|
import { AddressZod as AddressZod2, asAddress, zodAsFactory as zodAsFactory4, zodIsFactory as zodIsFactory4, zodToFactory as zodToFactory4 } from "@xylabs/sdk-js";
|
|
280
287
|
import { ActorConfigZod, BaseConfigContextZod as BaseConfigContextZod4 } from "@xyo-network/xl1-sdk";
|
|
281
288
|
import { globalRegistry as globalRegistry4, z as z4 } from "zod";
|
|
289
|
+
var DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL = 1e4;
|
|
282
290
|
var ProducerConfigZod = ActorConfigZod.extend(z4.object({
|
|
283
291
|
allowlist: z4.preprocess((val) => {
|
|
284
292
|
if (typeof val === "string") {
|
|
@@ -290,6 +298,11 @@ var ProducerConfigZod = ActorConfigZod.extend(z4.object({
|
|
|
290
298
|
title: "allowlist",
|
|
291
299
|
type: "array"
|
|
292
300
|
})),
|
|
301
|
+
blockProductionCheckInterval: z4.coerce.number().default(DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL).register(globalRegistry4, {
|
|
302
|
+
description: "The interval time (in milliseconds) between block production attempts",
|
|
303
|
+
title: "producer.blockProductionCheckInterval",
|
|
304
|
+
type: "number"
|
|
305
|
+
}),
|
|
293
306
|
disableIntentRedeclaration: z4.boolean().optional().register(globalRegistry4, {
|
|
294
307
|
description: "Should the producer skip redeclaring their intent to continue producing blocks",
|
|
295
308
|
title: "producer.disableIntentRedeclaration",
|
|
@@ -342,7 +355,8 @@ import { AddressZod as AddressZod3, zodAsFactory as zodAsFactory6, zodIsFactory
|
|
|
342
355
|
import { BaseConfigContextZod as BaseConfigContextZod6, HostActorConfigZod as HostActorConfigZod5 } from "@xyo-network/xl1-sdk";
|
|
343
356
|
import { z as z5 } from "zod";
|
|
344
357
|
var ValidatorConfigZod = HostActorConfigZod5.extend({
|
|
345
|
-
allowedProducers: z5.array(AddressZod3).optional()
|
|
358
|
+
allowedProducers: z5.array(AddressZod3).optional(),
|
|
359
|
+
minCandidates: z5.number().int().min(0).optional()
|
|
346
360
|
});
|
|
347
361
|
var isValidatorConfig = zodIsFactory6(ValidatorConfigZod);
|
|
348
362
|
var asValidatorConfig = zodAsFactory6(ValidatorConfigZod, "asValidatorConfig");
|
|
@@ -428,9 +442,9 @@ async function initActorAccount({ config, logger }) {
|
|
|
428
442
|
if (isDefined(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
|
|
429
443
|
let walletPhrase = config.mnemonic;
|
|
430
444
|
if (isUndefined(walletPhrase)) {
|
|
431
|
-
logger?.warn(`[${actorName}
|
|
445
|
+
logger?.warn(`[${actorName}] No wallet mnemonic specified!`);
|
|
432
446
|
const randomMnemonic = HDWallet.generateMnemonic();
|
|
433
|
-
logger?.warn(`[${actorName}
|
|
447
|
+
logger?.warn(`[${actorName}] Using randomly generated mnemonic:
|
|
434
448
|
|
|
435
449
|
${randomMnemonic}
|
|
436
450
|
|
|
@@ -596,177 +610,6 @@ Orchestrator = _ts_decorate2([
|
|
|
596
610
|
creatable2()
|
|
597
611
|
], Orchestrator);
|
|
598
612
|
|
|
599
|
-
// src/node/archivists/ChainFinalized/archivist.ts
|
|
600
|
-
import { timeBudget } from "@xylabs/sdk-js";
|
|
601
|
-
import { startupSpanAsync } from "@xyo-network/chain-utils";
|
|
602
|
-
import { Mutex as Mutex3 } from "async-mutex";
|
|
603
|
-
|
|
604
|
-
// src/node/archivists/ChainFinalized/local.ts
|
|
605
|
-
import { Mutex as Mutex2 } from "async-mutex";
|
|
606
|
-
|
|
607
|
-
// src/node/archivists/lib/localPersistentArchivist.ts
|
|
608
|
-
import { rm } from "fs/promises";
|
|
609
|
-
import Path from "path";
|
|
610
|
-
import { LmdbArchivist, LmdbArchivistConfigSchema } from "@xyo-network/archivist-lmdb";
|
|
611
|
-
import { getStoreDirectory } from "@xyo-network/chain-protocol";
|
|
612
|
-
var DEFAULT_STORAGE_ROOT = Path.join(process.cwd(), ".store");
|
|
613
|
-
var getLocalPersistentArchivist = /* @__PURE__ */ __name((name, dbName, storeName, storageRoot, kind = "lmdb") => {
|
|
614
|
-
switch (kind) {
|
|
615
|
-
case "lmdb": {
|
|
616
|
-
const root = storageRoot ?? DEFAULT_STORAGE_ROOT;
|
|
617
|
-
return LmdbArchivist.create({
|
|
618
|
-
account: "random",
|
|
619
|
-
config: {
|
|
620
|
-
name,
|
|
621
|
-
clearStoreOnStart: false,
|
|
622
|
-
dbName,
|
|
623
|
-
location: getStoreDirectory(dbName, root, "lmdb"),
|
|
624
|
-
schema: LmdbArchivistConfigSchema,
|
|
625
|
-
storeName
|
|
626
|
-
}
|
|
627
|
-
});
|
|
628
|
-
}
|
|
629
|
-
}
|
|
630
|
-
}, "getLocalPersistentArchivist");
|
|
631
|
-
|
|
632
|
-
// src/node/archivists/ChainFinalized/local.ts
|
|
633
|
-
var mutex = new Mutex2();
|
|
634
|
-
var singleton;
|
|
635
|
-
async function initLocalChainFinalizedArchivist({ config }) {
|
|
636
|
-
return await mutex.runExclusive(async () => {
|
|
637
|
-
if (singleton) return singleton;
|
|
638
|
-
const { root } = config.storage;
|
|
639
|
-
singleton = await getLocalPersistentArchivist("local-finalized-chain", "chain", "finalized", root);
|
|
640
|
-
return singleton;
|
|
641
|
-
});
|
|
642
|
-
}
|
|
643
|
-
__name(initLocalChainFinalizedArchivist, "initLocalChainFinalizedArchivist");
|
|
644
|
-
|
|
645
|
-
// src/node/archivists/ChainFinalized/archivist.ts
|
|
646
|
-
var mutex2 = new Mutex3();
|
|
647
|
-
var singleton2;
|
|
648
|
-
async function initChainFinalizedArchivist(context) {
|
|
649
|
-
return await mutex2.runExclusive(async () => {
|
|
650
|
-
if (singleton2) return singleton2;
|
|
651
|
-
return await timeBudget("initChainFinalizedArchivist", context.logger, async () => {
|
|
652
|
-
const local = await startupSpanAsync("ChainFinalizedArchivist:initLocal", () => initLocalChainFinalizedArchivist(context));
|
|
653
|
-
singleton2 = local;
|
|
654
|
-
return singleton2;
|
|
655
|
-
}, 2e3, true);
|
|
656
|
-
});
|
|
657
|
-
}
|
|
658
|
-
__name(initChainFinalizedArchivist, "initChainFinalizedArchivist");
|
|
659
|
-
|
|
660
|
-
// src/node/archivists/PendingBlocks/archivist.ts
|
|
661
|
-
import { timeBudget as timeBudget2 } from "@xylabs/sdk-js";
|
|
662
|
-
import { startupSpanAsync as startupSpanAsync2 } from "@xyo-network/chain-utils";
|
|
663
|
-
import { Mutex as Mutex5 } from "async-mutex";
|
|
664
|
-
|
|
665
|
-
// src/node/archivists/PendingBlocks/local.ts
|
|
666
|
-
import { Mutex as Mutex4 } from "async-mutex";
|
|
667
|
-
var mutex3 = new Mutex4();
|
|
668
|
-
var singleton3;
|
|
669
|
-
async function initLocalPendingBlocksArchivist({ config }) {
|
|
670
|
-
return await mutex3.runExclusive(async () => {
|
|
671
|
-
if (singleton3) return singleton3;
|
|
672
|
-
const { root } = config.storage;
|
|
673
|
-
singleton3 = await getLocalPersistentArchivist("local-pending-blocks", "chain", "pending_block_bundles", root);
|
|
674
|
-
return singleton3;
|
|
675
|
-
});
|
|
676
|
-
}
|
|
677
|
-
__name(initLocalPendingBlocksArchivist, "initLocalPendingBlocksArchivist");
|
|
678
|
-
|
|
679
|
-
// src/node/archivists/PendingBlocks/archivist.ts
|
|
680
|
-
var mutex4 = new Mutex5();
|
|
681
|
-
var singleton4;
|
|
682
|
-
async function initPendingBlocksArchivist(context) {
|
|
683
|
-
return await mutex4.runExclusive(async () => {
|
|
684
|
-
if (singleton4) return singleton4;
|
|
685
|
-
return await timeBudget2("initPendingBlocksArchivist", context.logger, async () => {
|
|
686
|
-
const local = await startupSpanAsync2("PendingBlocksArchivist:initLocal", () => initLocalPendingBlocksArchivist(context));
|
|
687
|
-
singleton4 = local;
|
|
688
|
-
return singleton4;
|
|
689
|
-
}, 2e3, true);
|
|
690
|
-
});
|
|
691
|
-
}
|
|
692
|
-
__name(initPendingBlocksArchivist, "initPendingBlocksArchivist");
|
|
693
|
-
|
|
694
|
-
// src/node/archivists/RejectedTransactions/archivist.ts
|
|
695
|
-
import { timeBudget as timeBudget3 } from "@xylabs/sdk-js";
|
|
696
|
-
import { startupSpanAsync as startupSpanAsync3 } from "@xyo-network/chain-utils";
|
|
697
|
-
import { Mutex as Mutex7 } from "async-mutex";
|
|
698
|
-
|
|
699
|
-
// src/node/archivists/RejectedTransactions/local.ts
|
|
700
|
-
import { MemoryArchivist, MemoryArchivistConfigSchema } from "@xyo-network/sdk-js";
|
|
701
|
-
import { Mutex as Mutex6 } from "async-mutex";
|
|
702
|
-
var mutex5 = new Mutex6();
|
|
703
|
-
var singleton5;
|
|
704
|
-
async function initLocalRejectedTransactionsArchivist() {
|
|
705
|
-
return await mutex5.runExclusive(async () => {
|
|
706
|
-
if (singleton5) return singleton5;
|
|
707
|
-
singleton5 = await MemoryArchivist.create({
|
|
708
|
-
account: "random",
|
|
709
|
-
config: {
|
|
710
|
-
schema: MemoryArchivistConfigSchema,
|
|
711
|
-
max: 1e3,
|
|
712
|
-
name: "localRejectedTransactions"
|
|
713
|
-
}
|
|
714
|
-
});
|
|
715
|
-
return singleton5;
|
|
716
|
-
});
|
|
717
|
-
}
|
|
718
|
-
__name(initLocalRejectedTransactionsArchivist, "initLocalRejectedTransactionsArchivist");
|
|
719
|
-
|
|
720
|
-
// src/node/archivists/RejectedTransactions/archivist.ts
|
|
721
|
-
var mutex6 = new Mutex7();
|
|
722
|
-
var singleton6;
|
|
723
|
-
async function initRejectedTransactionsArchivist({ logger }) {
|
|
724
|
-
return await mutex6.runExclusive(async () => {
|
|
725
|
-
if (singleton6) return singleton6;
|
|
726
|
-
return await timeBudget3("initRejectedTransactionsArchivist", logger, async () => {
|
|
727
|
-
const local = await startupSpanAsync3("RejectedTransactionsArchivist:initLocal", () => initLocalRejectedTransactionsArchivist());
|
|
728
|
-
singleton6 = local;
|
|
729
|
-
return singleton6;
|
|
730
|
-
}, 2e3, true);
|
|
731
|
-
});
|
|
732
|
-
}
|
|
733
|
-
__name(initRejectedTransactionsArchivist, "initRejectedTransactionsArchivist");
|
|
734
|
-
|
|
735
|
-
// src/node/archivists/StakeIntentState/archivist.ts
|
|
736
|
-
import { assertEx as assertEx4, timeBudget as timeBudget4 } from "@xylabs/sdk-js";
|
|
737
|
-
import { startupSpanAsync as startupSpanAsync4 } from "@xyo-network/chain-utils";
|
|
738
|
-
import { Mutex as Mutex9 } from "async-mutex";
|
|
739
|
-
|
|
740
|
-
// src/node/archivists/StakeIntentState/local.ts
|
|
741
|
-
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
742
|
-
import { Mutex as Mutex8 } from "async-mutex";
|
|
743
|
-
var mutex7 = new Mutex8();
|
|
744
|
-
var singleton7;
|
|
745
|
-
async function initLocalStakeIntentStateArchivist({ config }) {
|
|
746
|
-
return await mutex7.runExclusive(async () => {
|
|
747
|
-
if (singleton7) return singleton7;
|
|
748
|
-
const { root } = config.storage;
|
|
749
|
-
singleton7 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
|
|
750
|
-
return assertEx3(singleton7, () => new Error("Failed to initialize stake intent state archivist"));
|
|
751
|
-
});
|
|
752
|
-
}
|
|
753
|
-
__name(initLocalStakeIntentStateArchivist, "initLocalStakeIntentStateArchivist");
|
|
754
|
-
|
|
755
|
-
// src/node/archivists/StakeIntentState/archivist.ts
|
|
756
|
-
var mutex8 = new Mutex9();
|
|
757
|
-
var singleton8;
|
|
758
|
-
async function initStakeIntentStateArchivist(context) {
|
|
759
|
-
return await mutex8.runExclusive(async () => {
|
|
760
|
-
if (singleton8) return singleton8;
|
|
761
|
-
return await timeBudget4("initStakeIntentStateArchivist", context.logger, async () => {
|
|
762
|
-
const local = await startupSpanAsync4("StakeIntentStateArchivist:initLocal", () => initLocalStakeIntentStateArchivist(context));
|
|
763
|
-
singleton8 = local;
|
|
764
|
-
return assertEx4(singleton8, () => "StakeIntentStateArchivist is undefined");
|
|
765
|
-
}, 2e3, true);
|
|
766
|
-
});
|
|
767
|
-
}
|
|
768
|
-
__name(initStakeIntentStateArchivist, "initStakeIntentStateArchivist");
|
|
769
|
-
|
|
770
613
|
// src/node/config/locators/basicRemoteRunnerLocator.ts
|
|
771
614
|
import { isAccountInstance } from "@xyo-network/sdk-js";
|
|
772
615
|
import { basicRemoteRunnerLocator as sdkBasicRemoteRunnerLocator, JsonRpcAccountBalanceViewer, JsonRpcXyoSigner, SimpleXyoSigner } from "@xyo-network/xl1-sdk";
|
|
@@ -845,14 +688,14 @@ async function contextFromConfigWithoutLocator(config, logger, serviceName, serv
|
|
|
845
688
|
__name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
|
|
846
689
|
|
|
847
690
|
// src/node/config/locators/localLocatorFromConfig.ts
|
|
848
|
-
import { assertEx as
|
|
691
|
+
import { assertEx as assertEx7 } from "@xylabs/sdk-js";
|
|
849
692
|
import { validateHydratedBlock, validateHydratedBlockState } from "@xyo-network/chain-validation";
|
|
850
|
-
import { BlockCumulativeBalanceValidatorFactory, ProviderFactoryLocator, SimpleAccountBalanceViewer, SimpleBlockValidationViewer, SimpleBlockViewer, SimpleFinalizationRunner, SimpleFinalizationViewer, SimpleMempoolRunner, SimpleMempoolViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer, SimpleXyoConnectionViewer, SimpleXyoViewer } from "@xyo-network/xl1-sdk";
|
|
693
|
+
import { BlockCumulativeBalanceValidatorFactory, ProviderFactoryLocator, SimpleAccountBalanceViewer, SimpleBlockValidationViewer, SimpleBlockViewer, SimpleDeadLetterQueueRunner, SimpleDeadLetterQueueViewer, SimpleFinalizationRunner, SimpleFinalizationViewer, SimpleMempoolRunner, SimpleMempoolViewer, SimpleTransactionValidationViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer, SimpleXyoConnectionViewer, SimpleXyoViewer, validateTransaction } from "@xyo-network/xl1-sdk";
|
|
851
694
|
|
|
852
695
|
// src/node/init/initBalanceSummaryMap.ts
|
|
853
696
|
import { BaseMongoSdk } from "@xylabs/mongo";
|
|
854
|
-
import { assertEx as
|
|
855
|
-
import { MongoMap } from "@xyo-network/chain-protocol";
|
|
697
|
+
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
698
|
+
import { MongoMap } from "@xyo-network/chain-protocol-driver-mongodb";
|
|
856
699
|
import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
|
|
857
700
|
async function initBalanceSummaryMap({ logger, config }) {
|
|
858
701
|
const mongoConfig = config.storage?.mongo;
|
|
@@ -876,7 +719,7 @@ async function initBalanceSummaryMap({ logger, config }) {
|
|
|
876
719
|
maxEntries: 5e3
|
|
877
720
|
}
|
|
878
721
|
});
|
|
879
|
-
|
|
722
|
+
assertEx3(await result.start(), () => "Failed to start transfer summary map");
|
|
880
723
|
return result;
|
|
881
724
|
} else {
|
|
882
725
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
|
|
@@ -886,118 +729,35 @@ async function initBalanceSummaryMap({ logger, config }) {
|
|
|
886
729
|
__name(initBalanceSummaryMap, "initBalanceSummaryMap");
|
|
887
730
|
|
|
888
731
|
// src/node/init/initEvmProvidersIfAvailable.ts
|
|
889
|
-
import { asEthAddress
|
|
732
|
+
import { asEthAddress } from "@xylabs/sdk-js";
|
|
890
733
|
import { EvmChainContractViewer, EvmStakeEventsViewer, EvmStakeTotalsViewer, EvmStakeViewer } from "@xyo-network/chain-ethereum";
|
|
734
|
+
import { canUseEvmProvider, initEvmProvider } from "@xyo-network/chain-orchestration-evm";
|
|
891
735
|
import { SimpleChainContractViewer, SimpleStakeEventsViewer, SimpleStakeTotalsViewer, SimpleStakeViewer, SimpleTimeSyncViewer, XYO_ZERO_ADDRESS } from "@xyo-network/xl1-sdk";
|
|
892
|
-
|
|
893
|
-
// src/node/evm/initChainId.ts
|
|
894
|
-
import { assertEx as assertEx6, hexFrom, isDefined as isDefined3, isHex } from "@xylabs/sdk-js";
|
|
895
|
-
var canUseChainId = /* @__PURE__ */ __name(({ config }) => {
|
|
896
|
-
return isDefined3(config.evm.chainId);
|
|
897
|
-
}, "canUseChainId");
|
|
898
|
-
var getChainId = /* @__PURE__ */ __name(({ config }) => {
|
|
899
|
-
const chainId = assertEx6(config.evm.chainId, () => "Missing config.evm.chainId");
|
|
900
|
-
if (isHex(chainId, {
|
|
901
|
-
prefix: true
|
|
902
|
-
})) {
|
|
903
|
-
const hex = hexFrom(chainId);
|
|
904
|
-
const parsed = Number.parseInt(hex, 16);
|
|
905
|
-
return parsed;
|
|
906
|
-
} else {
|
|
907
|
-
const parsed = Number.parseInt(chainId, 10);
|
|
908
|
-
return parsed;
|
|
909
|
-
}
|
|
910
|
-
}, "getChainId");
|
|
911
|
-
|
|
912
|
-
// src/node/evm/initEvmProvider.ts
|
|
913
|
-
import { assertEx as assertEx9 } from "@xylabs/sdk-js";
|
|
914
|
-
|
|
915
|
-
// src/node/evm/initInfuraProvider.ts
|
|
916
|
-
import { assertEx as assertEx7, isDefined as isDefined4 } from "@xylabs/sdk-js";
|
|
917
|
-
import { InfuraProvider } from "ethers/providers";
|
|
918
|
-
var instance;
|
|
919
|
-
var initInfuraProvider = /* @__PURE__ */ __name((context) => {
|
|
920
|
-
if (instance) return instance;
|
|
921
|
-
const providerConfig = getInfuraProviderConfig(context);
|
|
922
|
-
instance = Promise.resolve(new InfuraProvider(providerConfig[0], providerConfig[1]));
|
|
923
|
-
return instance;
|
|
924
|
-
}, "initInfuraProvider");
|
|
925
|
-
var canUseInfuraProvider = /* @__PURE__ */ __name((context) => {
|
|
926
|
-
const { config } = context;
|
|
927
|
-
return canUseChainId(context) && isDefined4(config.evm?.infura?.projectId) && isDefined4(config.evm?.infura?.projectSecret);
|
|
928
|
-
}, "canUseInfuraProvider");
|
|
929
|
-
var getInfuraProviderConfig = /* @__PURE__ */ __name((context) => {
|
|
930
|
-
const { config } = context;
|
|
931
|
-
const projectId = assertEx7(config.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
932
|
-
const projectSecret = assertEx7(config.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
|
|
933
|
-
return [
|
|
934
|
-
getChainId(context),
|
|
935
|
-
projectId,
|
|
936
|
-
projectSecret
|
|
937
|
-
];
|
|
938
|
-
}, "getInfuraProviderConfig");
|
|
939
|
-
|
|
940
|
-
// src/node/evm/initJsonRpcProvider.ts
|
|
941
|
-
import { assertEx as assertEx8, isDefined as isDefined5 } from "@xylabs/sdk-js";
|
|
942
|
-
import { JsonRpcProvider } from "ethers/providers";
|
|
943
|
-
var initJsonRpcProvider = /* @__PURE__ */ __name((context) => {
|
|
944
|
-
const providerConfig = getJsonRpcProviderConfig(context);
|
|
945
|
-
return Promise.resolve(new JsonRpcProvider(...providerConfig));
|
|
946
|
-
}, "initJsonRpcProvider");
|
|
947
|
-
var canUseJsonRpcProvider = /* @__PURE__ */ __name((context) => {
|
|
948
|
-
const { config } = context;
|
|
949
|
-
return canUseChainId(context) && isDefined5(config.evm.jsonRpc?.url);
|
|
950
|
-
}, "canUseJsonRpcProvider");
|
|
951
|
-
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((context) => {
|
|
952
|
-
const { config } = context;
|
|
953
|
-
const jsonRpcUrl = assertEx8(config.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
954
|
-
return [
|
|
955
|
-
jsonRpcUrl,
|
|
956
|
-
getChainId(context)
|
|
957
|
-
];
|
|
958
|
-
}, "getJsonRpcProviderConfig");
|
|
959
|
-
|
|
960
|
-
// src/node/evm/initEvmProvider.ts
|
|
961
|
-
var provider;
|
|
962
|
-
var initEvmProvider = /* @__PURE__ */ __name(async (context) => {
|
|
963
|
-
if (provider) return provider;
|
|
964
|
-
if (canUseInfuraProvider(context)) {
|
|
965
|
-
provider = initInfuraProvider(context);
|
|
966
|
-
} else if (canUseJsonRpcProvider(context)) {
|
|
967
|
-
provider = initJsonRpcProvider(context);
|
|
968
|
-
}
|
|
969
|
-
return assertEx9(await provider, () => "No provider available");
|
|
970
|
-
}, "initEvmProvider");
|
|
971
|
-
var canUseEvmProvider = /* @__PURE__ */ __name((context) => {
|
|
972
|
-
return canUseInfuraProvider(context) || canUseJsonRpcProvider(context);
|
|
973
|
-
}, "canUseEvmProvider");
|
|
974
|
-
|
|
975
|
-
// src/node/init/initEvmProvidersIfAvailable.ts
|
|
976
736
|
async function initEvmProvidersIfAvailable(locator) {
|
|
977
737
|
const context = locator.context;
|
|
978
738
|
const { logger } = context;
|
|
979
|
-
if (canUseEvmProvider(context)) {
|
|
980
|
-
const chainId =
|
|
981
|
-
const
|
|
739
|
+
if (canUseEvmProvider(context) && context.config.chain.id) {
|
|
740
|
+
const chainId = context.config.chain.id;
|
|
741
|
+
const provider = await initEvmProvider(context);
|
|
982
742
|
const address = asEthAddress(chainId, true);
|
|
983
743
|
locator.register(EvmStakeEventsViewer.factory(EvmStakeEventsViewer.dependencies, {
|
|
984
744
|
address,
|
|
985
|
-
provider
|
|
745
|
+
provider
|
|
986
746
|
}));
|
|
987
747
|
locator.register(EvmStakeViewer.factory(EvmStakeViewer.dependencies, {
|
|
988
748
|
address,
|
|
989
|
-
provider
|
|
749
|
+
provider
|
|
990
750
|
}));
|
|
991
751
|
locator.register(EvmStakeTotalsViewer.factory(EvmStakeTotalsViewer.dependencies, {
|
|
992
752
|
address,
|
|
993
|
-
provider
|
|
753
|
+
provider
|
|
994
754
|
}));
|
|
995
755
|
locator.register(EvmChainContractViewer.factory(EvmChainContractViewer.dependencies, {
|
|
996
756
|
address,
|
|
997
|
-
provider
|
|
757
|
+
provider
|
|
998
758
|
}));
|
|
999
759
|
locator.register(SimpleTimeSyncViewer.factory(SimpleTimeSyncViewer.dependencies, {
|
|
1000
|
-
ethProvider:
|
|
760
|
+
ethProvider: provider
|
|
1001
761
|
}));
|
|
1002
762
|
} else {
|
|
1003
763
|
logger?.warn("EVM provider not available - running with memory based contract/stake viewers");
|
|
@@ -1021,7 +781,7 @@ async function initEvmProvidersIfAvailable(locator) {
|
|
|
1021
781
|
__name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
|
|
1022
782
|
|
|
1023
783
|
// src/node/init/initFinalizationArchivistIfNeeded.ts
|
|
1024
|
-
import { assertEx as
|
|
784
|
+
import { assertEx as assertEx4 } from "@xylabs/sdk-js";
|
|
1025
785
|
import { createBootstrapHead } from "@xyo-network/chain-sdk";
|
|
1026
786
|
import { Account } from "@xyo-network/sdk-js";
|
|
1027
787
|
import { asAttoXL1, findMostRecentBlock, flattenHydratedBlock } from "@xyo-network/xl1-sdk";
|
|
@@ -1038,8 +798,8 @@ async function initFinalizationArchivistIfNeeded(archivist, config, account) {
|
|
|
1038
798
|
const payloads = chain.flatMap((block) => flattenHydratedBlock(block));
|
|
1039
799
|
await archivist.insert(payloads);
|
|
1040
800
|
}
|
|
1041
|
-
const head = possibleHead ??
|
|
1042
|
-
const chainId =
|
|
801
|
+
const head = possibleHead ?? assertEx4(await findMostRecentBlock(archivist), () => "No blocks found in chain archivist");
|
|
802
|
+
const chainId = assertEx4(possibleChainId, () => "Chain ID could not be determined");
|
|
1043
803
|
return [
|
|
1044
804
|
head,
|
|
1045
805
|
chainId
|
|
@@ -1066,15 +826,15 @@ async function initFinalizedArchivist(config) {
|
|
|
1066
826
|
__name(initFinalizedArchivist, "initFinalizedArchivist");
|
|
1067
827
|
|
|
1068
828
|
// src/node/init/initServerNode.ts
|
|
1069
|
-
import { assertEx as
|
|
829
|
+
import { assertEx as assertEx5 } from "@xylabs/sdk-js";
|
|
1070
830
|
import { asArchivistInstance } from "@xyo-network/sdk-js";
|
|
1071
831
|
|
|
1072
832
|
// src/node/manifest/getLocator.ts
|
|
1073
|
-
import { isDefined as
|
|
833
|
+
import { isDefined as isDefined3 } from "@xylabs/sdk-js";
|
|
1074
834
|
import { MongoDBArchivistV2 as MongoDBArchivistV22, MongoDBArchivistV2Deletable } from "@xyo-network/archivist-mongodb";
|
|
1075
835
|
import { ViewArchivist } from "@xyo-network/archivist-view";
|
|
1076
836
|
import { initTelemetry as initTelemetry2 } from "@xyo-network/chain-telemetry";
|
|
1077
|
-
import { AbstractModule, LoggerModuleStatusReporter, MemoryArchivist
|
|
837
|
+
import { AbstractModule, LoggerModuleStatusReporter, MemoryArchivist, MemorySentinel, ModuleFactoryLocator } from "@xyo-network/sdk-js";
|
|
1078
838
|
import { hasMongoConfig as hasMongoConfig2 } from "@xyo-network/xl1-sdk";
|
|
1079
839
|
var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
|
|
1080
840
|
const { otlpEndpoint } = config.telemetry?.otel ?? {};
|
|
@@ -1090,7 +850,7 @@ var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
|
|
|
1090
850
|
port
|
|
1091
851
|
}
|
|
1092
852
|
});
|
|
1093
|
-
if (
|
|
853
|
+
if (isDefined3(logger)) AbstractModule.defaultLogger = logger;
|
|
1094
854
|
const statusReporter = logger ? new LoggerModuleStatusReporter(logger) : void 0;
|
|
1095
855
|
const locator = new ModuleFactoryLocator();
|
|
1096
856
|
const mongoConfig = config.storage?.mongo;
|
|
@@ -1114,7 +874,7 @@ var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
|
|
|
1114
874
|
"network.xyo.storage.capabilities.delete": "enabled"
|
|
1115
875
|
}, false);
|
|
1116
876
|
}
|
|
1117
|
-
locator.register(
|
|
877
|
+
locator.register(MemoryArchivist.factory({
|
|
1118
878
|
traceProvider,
|
|
1119
879
|
meterProvider,
|
|
1120
880
|
statusReporter
|
|
@@ -1211,6 +971,62 @@ var Chain_default = {
|
|
|
1211
971
|
schema: "network.xyo.manifest"
|
|
1212
972
|
};
|
|
1213
973
|
|
|
974
|
+
// src/node/manifest/public/DeadLetterQueue.json
|
|
975
|
+
var DeadLetterQueue_default = {
|
|
976
|
+
$schema: "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json",
|
|
977
|
+
nodes: [
|
|
978
|
+
{
|
|
979
|
+
config: {
|
|
980
|
+
accountPath: "3",
|
|
981
|
+
name: "DeadLetterQueue",
|
|
982
|
+
schema: "network.xyo.node.config"
|
|
983
|
+
},
|
|
984
|
+
modules: {
|
|
985
|
+
private: [],
|
|
986
|
+
public: [
|
|
987
|
+
{
|
|
988
|
+
config: {
|
|
989
|
+
accountPath: "3/1/1",
|
|
990
|
+
name: "RejectedBlocks",
|
|
991
|
+
getCache: {
|
|
992
|
+
enabled: true,
|
|
993
|
+
maxEntries: 5e3
|
|
994
|
+
},
|
|
995
|
+
labels: {
|
|
996
|
+
"network.xyo.storage.capabilities.delete": "enabled",
|
|
997
|
+
"network.xyo.storage.class": "mongodb"
|
|
998
|
+
},
|
|
999
|
+
payloadSdkConfig: {
|
|
1000
|
+
collection: "rejected_blocks"
|
|
1001
|
+
},
|
|
1002
|
+
schema: "network.xyo.archivist.config"
|
|
1003
|
+
}
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
config: {
|
|
1007
|
+
accountPath: "3/1/2",
|
|
1008
|
+
name: "RejectedTransactions",
|
|
1009
|
+
getCache: {
|
|
1010
|
+
enabled: true,
|
|
1011
|
+
maxEntries: 5e3
|
|
1012
|
+
},
|
|
1013
|
+
labels: {
|
|
1014
|
+
"network.xyo.storage.capabilities.delete": "enabled",
|
|
1015
|
+
"network.xyo.storage.class": "mongodb"
|
|
1016
|
+
},
|
|
1017
|
+
payloadSdkConfig: {
|
|
1018
|
+
collection: "rejected_transactions"
|
|
1019
|
+
},
|
|
1020
|
+
schema: "network.xyo.archivist.config"
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
]
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
],
|
|
1027
|
+
schema: "network.xyo.manifest"
|
|
1028
|
+
};
|
|
1029
|
+
|
|
1214
1030
|
// src/node/manifest/public/Pending.json
|
|
1215
1031
|
var Pending_default = {
|
|
1216
1032
|
$schema: "https://raw.githubusercontent.com/XYOracleNetwork/sdk-xyo-client-js/main/packages/manifest/src/schema.json",
|
|
@@ -1269,9 +1085,11 @@ var Pending_default = {
|
|
|
1269
1085
|
|
|
1270
1086
|
// src/node/manifest/public/index.ts
|
|
1271
1087
|
var ChainNodeManifest = Chain_default;
|
|
1088
|
+
var DeadLetterQueueNodeManifest = DeadLetterQueue_default;
|
|
1272
1089
|
var PendingNodeManifest = Pending_default;
|
|
1273
1090
|
var PublicChildManifests = [
|
|
1274
1091
|
...ChainNodeManifest.nodes,
|
|
1092
|
+
...DeadLetterQueueNodeManifest.nodes,
|
|
1275
1093
|
...PendingNodeManifest.nodes
|
|
1276
1094
|
];
|
|
1277
1095
|
|
|
@@ -1295,7 +1113,7 @@ async function writableChainArchivistFromNode(node) {
|
|
|
1295
1113
|
}
|
|
1296
1114
|
__name(writableChainArchivistFromNode, "writableChainArchivistFromNode");
|
|
1297
1115
|
async function readonlyChainArchivistFromNode(node) {
|
|
1298
|
-
return
|
|
1116
|
+
return assertEx5(asArchivistInstance(await node.resolve("Chain:Validated"), {
|
|
1299
1117
|
required: true
|
|
1300
1118
|
}));
|
|
1301
1119
|
}
|
|
@@ -1312,27 +1130,43 @@ async function pendingBlocksArchivistFromNode(node) {
|
|
|
1312
1130
|
});
|
|
1313
1131
|
}
|
|
1314
1132
|
__name(pendingBlocksArchivistFromNode, "pendingBlocksArchivistFromNode");
|
|
1133
|
+
async function rejectedBlocksArchivistFromNode(node) {
|
|
1134
|
+
return asArchivistInstance(await node.resolve("XYOChain:DeadLetterQueue:RejectedBlocks"), {
|
|
1135
|
+
required: true
|
|
1136
|
+
});
|
|
1137
|
+
}
|
|
1138
|
+
__name(rejectedBlocksArchivistFromNode, "rejectedBlocksArchivistFromNode");
|
|
1139
|
+
async function rejectedTransactionsArchivistFromNode(node) {
|
|
1140
|
+
return asArchivistInstance(await node.resolve("XYOChain:DeadLetterQueue:RejectedTransactions"), {
|
|
1141
|
+
required: true
|
|
1142
|
+
});
|
|
1143
|
+
}
|
|
1144
|
+
__name(rejectedTransactionsArchivistFromNode, "rejectedTransactionsArchivistFromNode");
|
|
1315
1145
|
async function initServerNode(context, wallet, providedNode) {
|
|
1316
1146
|
const node = providedNode ?? await loadNode(context, wallet);
|
|
1317
|
-
|
|
1147
|
+
assertEx5(await node.start(), () => "Failed to start node");
|
|
1318
1148
|
const writableChainArchivist = await writableChainArchivistFromNode(node);
|
|
1319
1149
|
const readonlyChainArchivist = await readonlyChainArchivistFromNode(node);
|
|
1320
1150
|
const pendingTransactionsArchivist = await pendingTransactionsArchivistFromNode(node);
|
|
1321
1151
|
const pendingBlocksArchivist = await pendingBlocksArchivistFromNode(node);
|
|
1152
|
+
const rejectedBlocksArchivist = await rejectedBlocksArchivistFromNode(node);
|
|
1153
|
+
const rejectedTransactionsArchivist = await rejectedTransactionsArchivistFromNode(node);
|
|
1322
1154
|
return {
|
|
1323
1155
|
node,
|
|
1324
1156
|
writableChainArchivist,
|
|
1325
1157
|
readonlyChainArchivist,
|
|
1326
1158
|
pendingTransactionsArchivist,
|
|
1327
|
-
pendingBlocksArchivist
|
|
1159
|
+
pendingBlocksArchivist,
|
|
1160
|
+
rejectedBlocksArchivist,
|
|
1161
|
+
rejectedTransactionsArchivist
|
|
1328
1162
|
};
|
|
1329
1163
|
}
|
|
1330
1164
|
__name(initServerNode, "initServerNode");
|
|
1331
1165
|
|
|
1332
1166
|
// src/node/init/initTransferSummaryMap.ts
|
|
1333
1167
|
import { BaseMongoSdk as BaseMongoSdk2 } from "@xylabs/mongo";
|
|
1334
|
-
import { assertEx as
|
|
1335
|
-
import { MongoMap as MongoMap2 } from "@xyo-network/chain-protocol";
|
|
1168
|
+
import { assertEx as assertEx6 } from "@xylabs/sdk-js";
|
|
1169
|
+
import { MongoMap as MongoMap2 } from "@xyo-network/chain-protocol-driver-mongodb";
|
|
1336
1170
|
import { hasMongoConfig as hasMongoConfig3, MemoryMap as MemoryMap2 } from "@xyo-network/xl1-sdk";
|
|
1337
1171
|
async function initTransferSummaryMap({ logger, config }) {
|
|
1338
1172
|
const mongoConfig = config.storage?.mongo;
|
|
@@ -1356,7 +1190,7 @@ async function initTransferSummaryMap({ logger, config }) {
|
|
|
1356
1190
|
maxEntries: 5e3
|
|
1357
1191
|
}
|
|
1358
1192
|
});
|
|
1359
|
-
|
|
1193
|
+
assertEx6(await result.start(), () => "Failed to start transfer summary map");
|
|
1360
1194
|
return result;
|
|
1361
1195
|
} else {
|
|
1362
1196
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for TransferSummaryMap.");
|
|
@@ -1378,10 +1212,10 @@ var validateHydratedBlockStateWithCumulativeBalance = /* @__PURE__ */ __name(asy
|
|
|
1378
1212
|
];
|
|
1379
1213
|
}, "validateHydratedBlockStateWithCumulativeBalance");
|
|
1380
1214
|
async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
1381
|
-
const balancesSummaryMap =
|
|
1382
|
-
const transfersSummaryMap =
|
|
1215
|
+
const balancesSummaryMap = assertEx7(await initBalanceSummaryMap(context), () => "Balance Summary Map not initialized");
|
|
1216
|
+
const transfersSummaryMap = assertEx7(await initTransferSummaryMap(context), () => "Transfer Summary Map not initialized");
|
|
1383
1217
|
const wallet = await initActorWallet(context);
|
|
1384
|
-
const { writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist } = await initServerNode(context, wallet);
|
|
1218
|
+
const { writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist, rejectedBlocksArchivist, rejectedTransactionsArchivist } = await initServerNode(context, wallet);
|
|
1385
1219
|
await initFinalizationArchivistIfNeeded(writableChainArchivist, context.config, wallet);
|
|
1386
1220
|
const locator = new ProviderFactoryLocator(context, {}, validateDepsOnRegister);
|
|
1387
1221
|
locator.registerMany([
|
|
@@ -1419,6 +1253,17 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1419
1253
|
SimpleBlockValidationViewer.factory(SimpleBlockValidationViewer.dependencies, {
|
|
1420
1254
|
state: validateHydratedBlockStateWithCumulativeBalance,
|
|
1421
1255
|
protocol: validateHydratedBlock
|
|
1256
|
+
}),
|
|
1257
|
+
SimpleTransactionValidationViewer.factory(SimpleTransactionValidationViewer.dependencies, {
|
|
1258
|
+
protocol: validateTransaction
|
|
1259
|
+
}),
|
|
1260
|
+
SimpleDeadLetterQueueRunner.factory(SimpleDeadLetterQueueRunner.dependencies, {
|
|
1261
|
+
rejectedBlocksArchivist,
|
|
1262
|
+
rejectedTransactionsArchivist
|
|
1263
|
+
}),
|
|
1264
|
+
SimpleDeadLetterQueueViewer.factory(SimpleDeadLetterQueueViewer.dependencies, {
|
|
1265
|
+
rejectedBlocksArchivist,
|
|
1266
|
+
rejectedTransactionsArchivist
|
|
1422
1267
|
})
|
|
1423
1268
|
]);
|
|
1424
1269
|
return locator;
|
|
@@ -1427,7 +1272,6 @@ __name(localLocatorFromConfig, "localLocatorFromConfig");
|
|
|
1427
1272
|
|
|
1428
1273
|
// src/node/config/locators/locatorsFromConfig.ts
|
|
1429
1274
|
import { deepMerge as deepMerge2 } from "@xylabs/sdk-js";
|
|
1430
|
-
import { ActorConfigZod as ActorConfigZod2 } from "@xyo-network/xl1-sdk";
|
|
1431
1275
|
|
|
1432
1276
|
// src/node/config/locators/actors/apiLocatorFromConfig.ts
|
|
1433
1277
|
import { ProviderFactoryLocator as ProviderFactoryLocator2, SimpleXyoConnectionRunner, SimpleXyoGateway, SimpleXyoRunner } from "@xyo-network/xl1-sdk";
|
|
@@ -1447,7 +1291,7 @@ function apiLocatorFromConfig(context, parent) {
|
|
|
1447
1291
|
__name(apiLocatorFromConfig, "apiLocatorFromConfig");
|
|
1448
1292
|
|
|
1449
1293
|
// src/node/config/locators/actors/bridgeLocatorFromConfig.ts
|
|
1450
|
-
import { isDefined as
|
|
1294
|
+
import { isDefined as isDefined4 } from "@xylabs/sdk-js";
|
|
1451
1295
|
import { HDWallet as HDWallet4 } from "@xyo-network/sdk-js";
|
|
1452
1296
|
import { ADDRESS_INDEX as ADDRESS_INDEX2, generateXyoBaseWalletFromPhrase as generateXyoBaseWalletFromPhrase2, JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer3, JsonRpcBlockViewer, JsonRpcFinalizationViewer, JsonRpcMempoolRunner, JsonRpcMempoolViewer, JsonRpcXyoRunner, JsonRpcXyoViewer, ProviderFactoryLocator as ProviderFactoryLocator3, RestDataLakeRunner, RestDataLakeViewer, SimpleStakeEventsViewer as SimpleStakeEventsViewer2, SimpleXyoConnectionRunner as SimpleXyoConnectionRunner2, SimpleXyoGatewayRunner, SimpleXyoRunner as SimpleXyoRunner2, SimpleXyoSigner as SimpleXyoSigner2 } from "@xyo-network/xl1-sdk";
|
|
1453
1297
|
async function bridgeLocatorFromConfig(context, parent) {
|
|
@@ -1457,7 +1301,7 @@ async function bridgeLocatorFromConfig(context, parent) {
|
|
|
1457
1301
|
});
|
|
1458
1302
|
const { config } = context;
|
|
1459
1303
|
const { dataLake, mnemonic } = config;
|
|
1460
|
-
const walletPhrase =
|
|
1304
|
+
const walletPhrase = isDefined4(mnemonic) ? mnemonic : HDWallet4.generateMnemonic();
|
|
1461
1305
|
const wallet = await generateXyoBaseWalletFromPhrase2(walletPhrase);
|
|
1462
1306
|
const signerAccount = await wallet.derivePath(ADDRESS_INDEX2.XYO);
|
|
1463
1307
|
if (config.remote.rpc) {
|
|
@@ -1471,7 +1315,7 @@ async function bridgeLocatorFromConfig(context, parent) {
|
|
|
1471
1315
|
JsonRpcXyoViewer.factory(JsonRpcXyoViewer.dependencies, {})
|
|
1472
1316
|
]);
|
|
1473
1317
|
}
|
|
1474
|
-
if (
|
|
1318
|
+
if (isDefined4(dataLake)) {
|
|
1475
1319
|
const { driver } = dataLake;
|
|
1476
1320
|
switch (driver) {
|
|
1477
1321
|
case "rest": {
|
|
@@ -1649,7 +1493,7 @@ async function locatorsFromConfig(context, { actors, ...config }) {
|
|
|
1649
1493
|
case "validator": {
|
|
1650
1494
|
result[actorConfig.name] = await validatorLocatorFromConfig({
|
|
1651
1495
|
...context,
|
|
1652
|
-
config:
|
|
1496
|
+
config: ValidatorConfigZod.parse(deepMerge2(config, actorConfig))
|
|
1653
1497
|
}, result._root);
|
|
1654
1498
|
break;
|
|
1655
1499
|
}
|
|
@@ -1674,7 +1518,7 @@ async function locatorsFromConfig(context, { actors, ...config }) {
|
|
|
1674
1518
|
__name(locatorsFromConfig, "locatorsFromConfig");
|
|
1675
1519
|
|
|
1676
1520
|
// src/node/config/tryParseConfig.ts
|
|
1677
|
-
import { isDefined as
|
|
1521
|
+
import { isDefined as isDefined5, isNull } from "@xylabs/sdk-js";
|
|
1678
1522
|
import { ConfigZod } from "@xyo-network/xl1-sdk";
|
|
1679
1523
|
import { cosmiconfig } from "cosmiconfig";
|
|
1680
1524
|
var configName = "xyo";
|
|
@@ -1686,10 +1530,10 @@ async function tryParseConfig(options) {
|
|
|
1686
1530
|
// loaders: { '.ts': TypeScriptLoader() },
|
|
1687
1531
|
searchPlaces
|
|
1688
1532
|
});
|
|
1689
|
-
const result =
|
|
1690
|
-
if (
|
|
1533
|
+
const result = isDefined5(configPath) ? (await explorer.load(configPath))?.config : (await explorer.search())?.config;
|
|
1534
|
+
if (isDefined5(result) && !isNull(result)) {
|
|
1691
1535
|
const section = result[configSection];
|
|
1692
|
-
if (
|
|
1536
|
+
if (isDefined5(section) && typeof section === "object") {
|
|
1693
1537
|
return ConfigZod.loose().parse(section);
|
|
1694
1538
|
}
|
|
1695
1539
|
}
|
|
@@ -1697,82 +1541,10 @@ async function tryParseConfig(options) {
|
|
|
1697
1541
|
}
|
|
1698
1542
|
__name(tryParseConfig, "tryParseConfig");
|
|
1699
1543
|
|
|
1700
|
-
// src/node/
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
const statusCode = status === "started" ? 200 : errorCode;
|
|
1705
|
-
res.writeHead(statusCode, {
|
|
1706
|
-
"Content-Type": "application/json"
|
|
1707
|
-
});
|
|
1708
|
-
res.end(JSON.stringify({
|
|
1709
|
-
status
|
|
1710
|
-
}));
|
|
1711
|
-
}, "sendStatus");
|
|
1712
|
-
var notFound = /* @__PURE__ */ __name((res) => {
|
|
1713
|
-
res.writeHead(404, {
|
|
1714
|
-
"Content-Type": "application/json"
|
|
1715
|
-
});
|
|
1716
|
-
res.end(JSON.stringify({
|
|
1717
|
-
status: "not found"
|
|
1718
|
-
}));
|
|
1719
|
-
}, "notFound");
|
|
1720
|
-
var createHealthServer = /* @__PURE__ */ __name((context, port, statusMonitor) => {
|
|
1721
|
-
const { logger } = context;
|
|
1722
|
-
const server = http.createServer((req, res) => {
|
|
1723
|
-
const url = req.url ?? "";
|
|
1724
|
-
const status = statusMonitor.getGlobalStatus();
|
|
1725
|
-
switch (url) {
|
|
1726
|
-
case "/healthz": {
|
|
1727
|
-
sendStatus(res, status, 500);
|
|
1728
|
-
break;
|
|
1729
|
-
}
|
|
1730
|
-
case "/livez": {
|
|
1731
|
-
sendStatus(res, status, 503);
|
|
1732
|
-
break;
|
|
1733
|
-
}
|
|
1734
|
-
case "/readyz": {
|
|
1735
|
-
sendStatus(res, status, 503);
|
|
1736
|
-
break;
|
|
1737
|
-
}
|
|
1738
|
-
default: {
|
|
1739
|
-
notFound(res);
|
|
1740
|
-
}
|
|
1741
|
-
}
|
|
1742
|
-
});
|
|
1743
|
-
server.listen(port, () => {
|
|
1744
|
-
logger?.log(`Health server running on http://localhost:${port}`);
|
|
1745
|
-
logger?.log(" - /healthz");
|
|
1746
|
-
logger?.log(" - /livez");
|
|
1747
|
-
logger?.log(" - /readyz");
|
|
1748
|
-
});
|
|
1749
|
-
return server;
|
|
1750
|
-
}, "createHealthServer");
|
|
1751
|
-
function initHealthEndpoints(context, statusMonitor) {
|
|
1752
|
-
const { config } = context;
|
|
1753
|
-
const { healthCheckPort } = config;
|
|
1754
|
-
return isDefined9(healthCheckPort) ? createHealthServer(context, healthCheckPort, statusMonitor) : void 0;
|
|
1755
|
-
}
|
|
1756
|
-
__name(initHealthEndpoints, "initHealthEndpoints");
|
|
1757
|
-
|
|
1758
|
-
// src/node/sharedMiddleware.ts
|
|
1759
|
-
import { customPoweredByHeader, disableCaseSensitiveRouting, disableExpressDefaultPoweredByHeader, getJsonBodyParser, getJsonBodyParserOptions, responseProfiler, standardResponses } from "@xylabs/express";
|
|
1760
|
-
import compression from "compression";
|
|
1761
|
-
import cors from "cors";
|
|
1762
|
-
function sharedMiddleware(app) {
|
|
1763
|
-
app.set("etag", false);
|
|
1764
|
-
app.use(cors());
|
|
1765
|
-
app.use(compression());
|
|
1766
|
-
app.use(responseProfiler);
|
|
1767
|
-
app.use(getJsonBodyParser(getJsonBodyParserOptions({
|
|
1768
|
-
limit: "1mb"
|
|
1769
|
-
})));
|
|
1770
|
-
app.use(standardResponses);
|
|
1771
|
-
disableExpressDefaultPoweredByHeader(app);
|
|
1772
|
-
app.use(customPoweredByHeader);
|
|
1773
|
-
disableCaseSensitiveRouting(app);
|
|
1774
|
-
}
|
|
1775
|
-
__name(sharedMiddleware, "sharedMiddleware");
|
|
1544
|
+
// src/node/index.ts
|
|
1545
|
+
export * from "@xyo-network/chain-orchestration-evm";
|
|
1546
|
+
export * from "@xyo-network/chain-orchestration-express";
|
|
1547
|
+
export * from "@xyo-network/chain-orchestration-storage";
|
|
1776
1548
|
export {
|
|
1777
1549
|
ApiConfigContext,
|
|
1778
1550
|
ApiConfigZod,
|
|
@@ -1780,6 +1552,7 @@ export {
|
|
|
1780
1552
|
BridgeConfigContext,
|
|
1781
1553
|
BridgeConfigZod,
|
|
1782
1554
|
BridgeSettingsZod,
|
|
1555
|
+
DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL,
|
|
1783
1556
|
DefaultServiceProvider,
|
|
1784
1557
|
GenericHost,
|
|
1785
1558
|
MempoolConfigContext,
|
|
@@ -1811,15 +1584,8 @@ export {
|
|
|
1811
1584
|
basicRemoteRunnerLocator,
|
|
1812
1585
|
basicRemoteViewerLocator,
|
|
1813
1586
|
buildTelemetryConfig,
|
|
1814
|
-
canUseChainId,
|
|
1815
|
-
canUseEvmProvider,
|
|
1816
|
-
canUseInfuraProvider,
|
|
1817
|
-
canUseJsonRpcProvider,
|
|
1818
1587
|
contextFromConfigWithoutLocator,
|
|
1819
1588
|
createProducerChainStakeIntentBlock,
|
|
1820
|
-
getChainId,
|
|
1821
|
-
getInfuraProviderConfig,
|
|
1822
|
-
getJsonRpcProviderConfig,
|
|
1823
1589
|
getLocator,
|
|
1824
1590
|
initActorAccount,
|
|
1825
1591
|
initActorSeedPhrase,
|
|
@@ -1827,18 +1593,10 @@ export {
|
|
|
1827
1593
|
initBalanceSummaryMap,
|
|
1828
1594
|
initBridgedArchivistModule,
|
|
1829
1595
|
initBridgedModule,
|
|
1830
|
-
initChainFinalizedArchivist,
|
|
1831
|
-
initEvmProvider,
|
|
1832
1596
|
initEvmProvidersIfAvailable,
|
|
1833
1597
|
initFinalizationArchivistIfNeeded,
|
|
1834
1598
|
initFinalizedArchivist,
|
|
1835
|
-
initHealthEndpoints,
|
|
1836
|
-
initInfuraProvider,
|
|
1837
|
-
initJsonRpcProvider,
|
|
1838
|
-
initPendingBlocksArchivist,
|
|
1839
|
-
initRejectedTransactionsArchivist,
|
|
1840
1599
|
initServerNode,
|
|
1841
|
-
initStakeIntentStateArchivist,
|
|
1842
1600
|
initStatusReporter,
|
|
1843
1601
|
initTransferSummaryMap,
|
|
1844
1602
|
isApiConfig,
|
|
@@ -1858,7 +1616,6 @@ export {
|
|
|
1858
1616
|
locatorsFromConfig,
|
|
1859
1617
|
mergeConfig,
|
|
1860
1618
|
rootLocatorFromConfig,
|
|
1861
|
-
sharedMiddleware,
|
|
1862
1619
|
telemetryContextFromConfig,
|
|
1863
1620
|
toApiConfig,
|
|
1864
1621
|
toApiConfigContext,
|