@xyo-network/xl1-cli-lib 1.15.28 → 1.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node/commands/index.d.ts +1 -1
- package/dist/node/commands/index.d.ts.map +1 -1
- package/dist/node/commands/mempool/index.d.ts +2 -0
- package/dist/node/commands/mempool/index.d.ts.map +1 -0
- package/dist/node/commands/{headReducer/runHeadReducer.d.ts → mempool/runMempool.d.ts} +3 -3
- package/dist/node/commands/mempool/runMempool.d.ts.map +1 -0
- package/dist/node/index.mjs +117 -101
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/orchestration/actor/implementation/BalanceActor.d.ts +4 -4
- package/dist/node/orchestration/actor/implementation/BalanceActor.d.ts.map +1 -1
- package/dist/node/orchestration/actor/implementation/ChainHeadUpdateActor.d.ts +3 -3
- package/dist/node/orchestration/actor/implementation/ChainHeadUpdateActor.d.ts.map +1 -1
- package/dist/node/orchestration/actor/implementation/ProducerActor.d.ts +7 -7
- package/dist/node/orchestration/actor/implementation/ProducerActor.d.ts.map +1 -1
- package/dist/node/orchestration/actor/implementation/ValidatorActor.d.ts +6 -6
- package/dist/node/orchestration/actor/implementation/ValidatorActor.d.ts.map +1 -1
- package/dist/node/orchestration/actor/model/Actor.d.ts +4 -2
- package/dist/node/orchestration/actor/model/Actor.d.ts.map +1 -1
- package/dist/node/orchestration/map/BalanceSummary/initLocalTransferSummaryMap.d.ts +1 -1
- package/dist/node/orchestration/map/BalanceSummary/initLocalTransferSummaryMap.d.ts.map +1 -1
- package/dist/node/orchestration/map/BalanceSummary/initTransferSummaryMap.d.ts +1 -1
- package/dist/node/orchestration/map/BalanceSummary/initTransferSummaryMap.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/balance.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/balance.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/chain/index.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/chain/index.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/createBootstrapHead.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/createBootstrapHead.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/config/getBridgeSourceDetails.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/createForkedHead.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/createForkedHead.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeDestinationObservation.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeIntent.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeIntent.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/getBridgeSourceObservation.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/createForkedHead/getFirstBlockForNewChain.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/getForkFromBlock.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/getForkFromBlock.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/head/head.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/head/head.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/iterator.d.ts +2 -2
- package/dist/node/orchestration/services/implementation/iterator.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/pendingTransactions.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/pendingTransactions.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/producer.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/producer.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/reward.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/reward.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/time.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/time.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/transfer.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/transfer.d.ts.map +1 -1
- package/dist/node/orchestration/services/implementation/validator.d.ts +2 -1
- package/dist/node/orchestration/services/implementation/validator.d.ts.map +1 -1
- package/dist/node/runCLI.d.ts.map +1 -1
- package/dist/node/xl1.mjs +117 -101
- package/dist/node/xl1.mjs.map +1 -1
- package/package.json +33 -33
- package/src/commands/index.ts +1 -1
- package/src/commands/mempool/index.ts +1 -0
- package/src/commands/{headReducer/runHeadReducer.ts → mempool/runMempool.ts} +2 -2
- package/src/commands/producer/runProducer.ts +3 -3
- package/src/commands/validator/runValidator.ts +3 -3
- package/src/orchestration/actor/implementation/BalanceActor.ts +2 -2
- package/src/orchestration/actor/implementation/ChainHeadUpdateActor.ts +2 -2
- package/src/orchestration/actor/implementation/ProducerActor.ts +2 -1
- package/src/orchestration/actor/implementation/ValidatorActor.ts +2 -2
- package/src/orchestration/actor/model/Actor.ts +5 -3
- package/src/orchestration/archivists/ChainFinalized/remote.ts +1 -1
- package/src/orchestration/archivists/ChainSubmissions/remote.ts +1 -1
- package/src/orchestration/archivists/PendingTransactions/remote.ts +1 -1
- package/src/orchestration/map/BalanceSummary/initLocalTransferSummaryMap.ts +2 -1
- package/src/orchestration/map/BalanceSummary/initTransferSummaryMap.ts +2 -1
- package/src/orchestration/services/implementation/balance.ts +2 -1
- package/src/orchestration/services/implementation/chain/index.ts +2 -1
- package/src/orchestration/services/implementation/head/createBootstrapHead.ts +2 -1
- package/src/orchestration/services/implementation/head/createForkedHead/config/getBridgeSourceDetails.ts +2 -1
- package/src/orchestration/services/implementation/head/createForkedHead/createForkedHead.ts +2 -3
- package/src/orchestration/services/implementation/head/createForkedHead/getBridgeDestinationObservation.ts +2 -1
- package/src/orchestration/services/implementation/head/createForkedHead/getBridgeIntent.ts +2 -1
- package/src/orchestration/services/implementation/head/createForkedHead/getBridgeSourceObservation.ts +2 -1
- package/src/orchestration/services/implementation/head/createForkedHead/getFirstBlockForNewChain.ts +2 -3
- package/src/orchestration/services/implementation/head/getForkFromBlock.ts +2 -1
- package/src/orchestration/services/implementation/head/head.ts +2 -3
- package/src/orchestration/services/implementation/iterator.ts +3 -2
- package/src/orchestration/services/implementation/pendingTransactions.ts +2 -1
- package/src/orchestration/services/implementation/producer.ts +2 -1
- package/src/orchestration/services/implementation/reward.ts +2 -2
- package/src/orchestration/services/implementation/time.ts +2 -1
- package/src/orchestration/services/implementation/transfer.ts +2 -1
- package/src/orchestration/services/implementation/validator.ts +2 -1
- package/src/runCLI.ts +30 -21
- package/dist/node/commands/headReducer/index.d.ts +0 -2
- package/dist/node/commands/headReducer/index.d.ts.map +0 -1
- package/dist/node/commands/headReducer/runHeadReducer.d.ts.map +0 -1
- package/src/commands/headReducer/index.ts +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './api/index.ts';
|
|
2
2
|
export * from './bridge/index.ts';
|
|
3
|
-
export * from './
|
|
3
|
+
export * from './mempool/index.ts';
|
|
4
4
|
export * from './producer/index.ts';
|
|
5
5
|
export * from './rewardRedemption/index.ts';
|
|
6
6
|
export * from './validator/index.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/mempool/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { Logger } from '@xylabs/logger';
|
|
2
2
|
import type { Config } from '@xyo-network/xl1-protocol-sdk';
|
|
3
|
-
interface
|
|
3
|
+
interface RunMempoolContext {
|
|
4
4
|
config: Config;
|
|
5
5
|
logger?: Logger;
|
|
6
6
|
}
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function runMempool(context: RunMempoolContext): void;
|
|
8
8
|
export {};
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=runMempool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runMempool.d.ts","sourceRoot":"","sources":["../../../../src/commands/mempool/runMempool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAE3D,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,QAEpD"}
|
package/dist/node/index.mjs
CHANGED
|
@@ -38,7 +38,7 @@ var Actor = class extends Base {
|
|
|
38
38
|
return this._id;
|
|
39
39
|
}
|
|
40
40
|
get name() {
|
|
41
|
-
return this.
|
|
41
|
+
return this.params.name;
|
|
42
42
|
}
|
|
43
43
|
get logPrefix() {
|
|
44
44
|
return `[${this.displayName} (${this.id})] `;
|
|
@@ -593,8 +593,8 @@ var createHealthServer = /* @__PURE__ */ __name((port, statusMonitor, logger) =>
|
|
|
593
593
|
return server;
|
|
594
594
|
}, "createHealthServer");
|
|
595
595
|
var initHealthEndpoints = /* @__PURE__ */ __name((params) => {
|
|
596
|
-
const { config:
|
|
597
|
-
const { healthCheckPort } =
|
|
596
|
+
const { config: config2, logger, statusReporter } = params;
|
|
597
|
+
const { healthCheckPort } = config2.producer;
|
|
598
598
|
return isDefined3(healthCheckPort) ? createHealthServer(healthCheckPort, statusReporter, logger) : void 0;
|
|
599
599
|
}, "initHealthEndpoints");
|
|
600
600
|
|
|
@@ -642,10 +642,10 @@ var getLocalPersistentArchivist = /* @__PURE__ */ __name((name, dbName, storeNam
|
|
|
642
642
|
// src/orchestration/archivists/ChainFinalized/local.ts
|
|
643
643
|
var mutex = new Mutex2();
|
|
644
644
|
var singleton;
|
|
645
|
-
var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config:
|
|
645
|
+
var initLocalChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
|
|
646
646
|
return await mutex.runExclusive(async () => {
|
|
647
647
|
if (singleton) return singleton;
|
|
648
|
-
const { root } =
|
|
648
|
+
const { root } = config2.storage;
|
|
649
649
|
singleton = await getLocalPersistentArchivist("local-finalized-chain", "chain", "finalized", root);
|
|
650
650
|
return singleton;
|
|
651
651
|
});
|
|
@@ -658,10 +658,10 @@ import { getUrl } from "@xyo-network/xl1-protocol-sdk";
|
|
|
658
658
|
import { Mutex as Mutex3 } from "async-mutex";
|
|
659
659
|
var mutex2 = new Mutex3();
|
|
660
660
|
var singleton2;
|
|
661
|
-
var initRemoteChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config:
|
|
661
|
+
var initRemoteChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
|
|
662
662
|
return await mutex2.runExclusive(async () => {
|
|
663
663
|
if (singleton2) return singleton2;
|
|
664
|
-
const { host, port } =
|
|
664
|
+
const { host, port } = config2.mempool.enabled ? config2.mempool : config2.api;
|
|
665
665
|
const nodeUrl = getUrl(host, port);
|
|
666
666
|
const bridge = await initBridge(nodeUrl);
|
|
667
667
|
singleton2 = await initBridgedArchivistModule({
|
|
@@ -675,16 +675,16 @@ var initRemoteChainFinalizedArchivist = /* @__PURE__ */ __name(async ({ config:
|
|
|
675
675
|
// src/orchestration/archivists/ChainFinalized/archivist.ts
|
|
676
676
|
var mutex3 = new Mutex4();
|
|
677
677
|
var singleton3;
|
|
678
|
-
async function initChainFinalizedArchivist({ config:
|
|
678
|
+
async function initChainFinalizedArchivist({ config: config2, logger, traceProvider }) {
|
|
679
679
|
return await mutex3.runExclusive(async () => {
|
|
680
680
|
if (singleton3) return singleton3;
|
|
681
681
|
const [remote, local] = await Promise.all([
|
|
682
682
|
startupSpanAsync("ChainFinalizedArchivist:initRemote", () => initRemoteChainFinalizedArchivist({
|
|
683
|
-
config:
|
|
683
|
+
config: config2,
|
|
684
684
|
logger
|
|
685
685
|
})),
|
|
686
686
|
startupSpanAsync("ChainFinalizedArchivist:initLocal", () => initLocalChainFinalizedArchivist({
|
|
687
|
-
config:
|
|
687
|
+
config: config2,
|
|
688
688
|
logger
|
|
689
689
|
}))
|
|
690
690
|
]);
|
|
@@ -707,10 +707,10 @@ import { getUrl as getUrl2 } from "@xyo-network/xl1-protocol-sdk";
|
|
|
707
707
|
import { Mutex as Mutex5 } from "async-mutex";
|
|
708
708
|
var mutex4 = new Mutex5();
|
|
709
709
|
var singleton4;
|
|
710
|
-
var initRemoteChainSubmissionsArchivist = /* @__PURE__ */ __name(async ({ config:
|
|
710
|
+
var initRemoteChainSubmissionsArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
|
|
711
711
|
return await mutex4.runExclusive(async () => {
|
|
712
712
|
if (singleton4) return singleton4;
|
|
713
|
-
const { host, port } =
|
|
713
|
+
const { host, port } = config2.mempool.enabled ? config2.mempool : config2.api;
|
|
714
714
|
const nodeUrl = getUrl2(host, port);
|
|
715
715
|
const bridge = await initBridge2(nodeUrl);
|
|
716
716
|
singleton4 = await initBridgedArchivistModule2({
|
|
@@ -764,10 +764,10 @@ import { getUrl as getUrl3 } from "@xyo-network/xl1-protocol-sdk";
|
|
|
764
764
|
import { Mutex as Mutex8 } from "async-mutex";
|
|
765
765
|
var mutex7 = new Mutex8();
|
|
766
766
|
var singleton7;
|
|
767
|
-
var initRemotePendingTransactionsArchivist = /* @__PURE__ */ __name(async ({ config:
|
|
767
|
+
var initRemotePendingTransactionsArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
|
|
768
768
|
return await mutex7.runExclusive(async () => {
|
|
769
769
|
if (singleton7) return singleton7;
|
|
770
|
-
const { host, port } =
|
|
770
|
+
const { host, port } = config2.mempool.enabled ? config2.mempool : config2.api;
|
|
771
771
|
const nodeUrl = getUrl3(host, port);
|
|
772
772
|
const bridge = await initBridge3(nodeUrl);
|
|
773
773
|
singleton7 = await initBridgedArchivistModule3({
|
|
@@ -847,10 +847,10 @@ import { assertEx as assertEx9 } from "@xylabs/assert";
|
|
|
847
847
|
import { Mutex as Mutex12 } from "async-mutex";
|
|
848
848
|
var mutex11 = new Mutex12();
|
|
849
849
|
var singleton11;
|
|
850
|
-
var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config:
|
|
850
|
+
var initLocalStakeIntentStateArchivist = /* @__PURE__ */ __name(async ({ config: config2 }) => {
|
|
851
851
|
return await mutex11.runExclusive(async () => {
|
|
852
852
|
if (singleton11) return singleton11;
|
|
853
|
-
const { root } =
|
|
853
|
+
const { root } = config2.storage;
|
|
854
854
|
singleton11 = await getLocalPersistentArchivist("local-stake-intent-state", "stakeIntent", "state", root);
|
|
855
855
|
return assertEx9(singleton11, () => new Error("Failed to initialize stake intent state archivist"));
|
|
856
856
|
});
|
|
@@ -939,9 +939,9 @@ import { isUndefined as isUndefined3 } from "@xylabs/typeof";
|
|
|
939
939
|
import { HDWallet } from "@xyo-network/wallet";
|
|
940
940
|
import { ADDRESS_INDEX, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-protocol-sdk";
|
|
941
941
|
var accountServiceSingleton;
|
|
942
|
-
var initAccount = /* @__PURE__ */ __name(async ({ config:
|
|
942
|
+
var initAccount = /* @__PURE__ */ __name(async ({ config: config2, logger }) => {
|
|
943
943
|
if (accountServiceSingleton) return accountServiceSingleton;
|
|
944
|
-
let walletPhrase =
|
|
944
|
+
let walletPhrase = config2.producer.mnemonic;
|
|
945
945
|
if (isUndefined3(walletPhrase)) {
|
|
946
946
|
logger?.warn("[Producer] No wallet mnemonic specified!");
|
|
947
947
|
const randomMnemonic = HDWallet.generateMnemonic();
|
|
@@ -989,11 +989,11 @@ import { InfuraProvider } from "ethers/providers";
|
|
|
989
989
|
import { assertEx as assertEx11 } from "@xylabs/assert";
|
|
990
990
|
import { hexFrom, isHex } from "@xylabs/hex";
|
|
991
991
|
import { isDefined as isDefined8 } from "@xylabs/typeof";
|
|
992
|
-
var canUseChainId = /* @__PURE__ */ __name((
|
|
993
|
-
return isDefined8(
|
|
992
|
+
var canUseChainId = /* @__PURE__ */ __name((config2) => {
|
|
993
|
+
return isDefined8(config2.evm.chainId);
|
|
994
994
|
}, "canUseChainId");
|
|
995
|
-
var getChainId = /* @__PURE__ */ __name((
|
|
996
|
-
const chainId = assertEx11(
|
|
995
|
+
var getChainId = /* @__PURE__ */ __name((config2) => {
|
|
996
|
+
const chainId = assertEx11(config2.evm.chainId, () => "Missing config.evm.chainId");
|
|
997
997
|
if (isHex(chainId, {
|
|
998
998
|
prefix: true
|
|
999
999
|
})) {
|
|
@@ -1008,20 +1008,20 @@ var getChainId = /* @__PURE__ */ __name((config3) => {
|
|
|
1008
1008
|
|
|
1009
1009
|
// src/orchestration/services/implementation/evm/initInfuraProvider.ts
|
|
1010
1010
|
var instance;
|
|
1011
|
-
var initInfuraProvider = /* @__PURE__ */ __name((
|
|
1011
|
+
var initInfuraProvider = /* @__PURE__ */ __name((config2) => {
|
|
1012
1012
|
if (instance) return instance;
|
|
1013
|
-
const providerConfig = getInfuraProviderConfig(
|
|
1013
|
+
const providerConfig = getInfuraProviderConfig(config2);
|
|
1014
1014
|
instance = Promise.resolve(new InfuraProvider(...providerConfig));
|
|
1015
1015
|
return instance;
|
|
1016
1016
|
}, "initInfuraProvider");
|
|
1017
|
-
var canUseInfuraProvider = /* @__PURE__ */ __name((
|
|
1018
|
-
return canUseChainId(
|
|
1017
|
+
var canUseInfuraProvider = /* @__PURE__ */ __name((config2) => {
|
|
1018
|
+
return canUseChainId(config2) && isDefined9(config2.evm?.infura?.projectId) && isDefined9(config2.evm?.infura?.projectSecret);
|
|
1019
1019
|
}, "canUseInfuraProvider");
|
|
1020
|
-
var getInfuraProviderConfig = /* @__PURE__ */ __name((
|
|
1021
|
-
const projectId = assertEx12(
|
|
1022
|
-
const projectSecret = assertEx12(
|
|
1020
|
+
var getInfuraProviderConfig = /* @__PURE__ */ __name((config2) => {
|
|
1021
|
+
const projectId = assertEx12(config2.evm?.infura?.projectId, () => "Missing config.evm.infura.projectId");
|
|
1022
|
+
const projectSecret = assertEx12(config2.evm?.infura?.projectSecret, () => "Missing config.evm.infura.projectSecret");
|
|
1023
1023
|
return [
|
|
1024
|
-
getChainId(
|
|
1024
|
+
getChainId(config2),
|
|
1025
1025
|
projectId,
|
|
1026
1026
|
projectSecret
|
|
1027
1027
|
];
|
|
@@ -1031,50 +1031,50 @@ var getInfuraProviderConfig = /* @__PURE__ */ __name((config3) => {
|
|
|
1031
1031
|
import { assertEx as assertEx13 } from "@xylabs/assert";
|
|
1032
1032
|
import { isDefined as isDefined10 } from "@xylabs/typeof";
|
|
1033
1033
|
import { JsonRpcProvider } from "ethers/providers";
|
|
1034
|
-
var initJsonRpcProvider = /* @__PURE__ */ __name((
|
|
1035
|
-
const providerConfig = getJsonRpcProviderConfig(
|
|
1034
|
+
var initJsonRpcProvider = /* @__PURE__ */ __name((config2) => {
|
|
1035
|
+
const providerConfig = getJsonRpcProviderConfig(config2);
|
|
1036
1036
|
return Promise.resolve(new JsonRpcProvider(...providerConfig));
|
|
1037
1037
|
}, "initJsonRpcProvider");
|
|
1038
|
-
var canUseJsonRpcProvider = /* @__PURE__ */ __name((
|
|
1039
|
-
return canUseChainId(
|
|
1038
|
+
var canUseJsonRpcProvider = /* @__PURE__ */ __name((config2) => {
|
|
1039
|
+
return canUseChainId(config2) && isDefined10(config2.evm.jsonRpc?.url);
|
|
1040
1040
|
}, "canUseJsonRpcProvider");
|
|
1041
|
-
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((
|
|
1042
|
-
const jsonRpcUrl = assertEx13(
|
|
1041
|
+
var getJsonRpcProviderConfig = /* @__PURE__ */ __name((config2) => {
|
|
1042
|
+
const jsonRpcUrl = assertEx13(config2.evm.jsonRpc?.url, () => "Missing config.evm.jsonRpc.url");
|
|
1043
1043
|
return [
|
|
1044
1044
|
jsonRpcUrl,
|
|
1045
|
-
getChainId(
|
|
1045
|
+
getChainId(config2)
|
|
1046
1046
|
];
|
|
1047
1047
|
}, "getJsonRpcProviderConfig");
|
|
1048
1048
|
|
|
1049
1049
|
// src/orchestration/services/implementation/evm/initEvmProvider.ts
|
|
1050
1050
|
var provider;
|
|
1051
|
-
var initEvmProvider = /* @__PURE__ */ __name(async ({ config:
|
|
1051
|
+
var initEvmProvider = /* @__PURE__ */ __name(async ({ config: config2 }) => {
|
|
1052
1052
|
if (provider) return provider;
|
|
1053
|
-
if (canUseInfuraProvider(
|
|
1054
|
-
provider = initInfuraProvider(
|
|
1055
|
-
} else if (canUseJsonRpcProvider(
|
|
1056
|
-
provider = initJsonRpcProvider(
|
|
1053
|
+
if (canUseInfuraProvider(config2)) {
|
|
1054
|
+
provider = initInfuraProvider(config2);
|
|
1055
|
+
} else if (canUseJsonRpcProvider(config2)) {
|
|
1056
|
+
provider = initJsonRpcProvider(config2);
|
|
1057
1057
|
}
|
|
1058
1058
|
return assertEx14(await provider, () => "Error: No provider available");
|
|
1059
1059
|
}, "initEvmProvider");
|
|
1060
|
-
var canUseEvmProvider = /* @__PURE__ */ __name(({ config:
|
|
1061
|
-
return canUseInfuraProvider(
|
|
1060
|
+
var canUseEvmProvider = /* @__PURE__ */ __name(({ config: config2 }) => {
|
|
1061
|
+
return canUseInfuraProvider(config2) || canUseJsonRpcProvider(config2);
|
|
1062
1062
|
}, "canUseEvmProvider");
|
|
1063
1063
|
|
|
1064
1064
|
// src/orchestration/services/implementation/chain/evm.ts
|
|
1065
1065
|
var chainStakeServiceSingleton;
|
|
1066
|
-
var canUseEvmContractChainService = /* @__PURE__ */ __name((
|
|
1067
|
-
const { id } =
|
|
1066
|
+
var canUseEvmContractChainService = /* @__PURE__ */ __name((config2) => {
|
|
1067
|
+
const { id } = config2.chain;
|
|
1068
1068
|
return isDefined11(id) && id !== ZERO_ADDRESS && canUseEvmProvider({
|
|
1069
|
-
config:
|
|
1069
|
+
config: config2
|
|
1070
1070
|
});
|
|
1071
1071
|
}, "canUseEvmContractChainService");
|
|
1072
|
-
var initEvmContractChainService = /* @__PURE__ */ __name(async ({ account, config:
|
|
1072
|
+
var initEvmContractChainService = /* @__PURE__ */ __name(async ({ account, config: config2, traceProvider, meterProvider, logger }) => {
|
|
1073
1073
|
if (chainStakeServiceSingleton) return chainStakeServiceSingleton;
|
|
1074
|
-
const emvStakingContractAddress = assertEx15(
|
|
1074
|
+
const emvStakingContractAddress = assertEx15(config2.chain.id, () => "Error: config.chain.id is required");
|
|
1075
1075
|
const id = assertEx15(asAddress(emvStakingContractAddress), () => "Error: config.chain.id is not a valid address");
|
|
1076
1076
|
const provider2 = assertEx15(await initEvmProvider({
|
|
1077
|
-
config:
|
|
1077
|
+
config: config2
|
|
1078
1078
|
}));
|
|
1079
1079
|
const privateKey = assertEx15(account.private?.hex, () => "Error: Account does not have a private key");
|
|
1080
1080
|
const runner = new Wallet(privateKey, provider2);
|
|
@@ -1090,15 +1090,15 @@ var initEvmContractChainService = /* @__PURE__ */ __name(async ({ account, confi
|
|
|
1090
1090
|
|
|
1091
1091
|
// src/orchestration/services/implementation/chain/index.ts
|
|
1092
1092
|
var chainStakeServiceSingleton2;
|
|
1093
|
-
var initChainService = /* @__PURE__ */ __name(({ account, config:
|
|
1094
|
-
config:
|
|
1093
|
+
var initChainService = /* @__PURE__ */ __name(({ account, config: config2 }) => init({
|
|
1094
|
+
config: config2,
|
|
1095
1095
|
name: "ChainService",
|
|
1096
1096
|
account
|
|
1097
1097
|
}), "initChainService");
|
|
1098
1098
|
var init = /* @__PURE__ */ __name((params) => {
|
|
1099
1099
|
if (chainStakeServiceSingleton2) return chainStakeServiceSingleton2;
|
|
1100
|
-
const { config:
|
|
1101
|
-
chainStakeServiceSingleton2 = canUseEvmContractChainService(
|
|
1100
|
+
const { config: config2 } = params;
|
|
1101
|
+
chainStakeServiceSingleton2 = canUseEvmContractChainService(config2) ? initEvmContractChainService({
|
|
1102
1102
|
...params,
|
|
1103
1103
|
name: "ChainStakeService"
|
|
1104
1104
|
}) : MemoryChainService.create({
|
|
@@ -1386,9 +1386,9 @@ import { EvmBlockRewardService, MemoryBlockRewardService } from "@xyo-network/ch
|
|
|
1386
1386
|
var rewardServiceSingleton;
|
|
1387
1387
|
var initBlockRewardService = /* @__PURE__ */ __name((params) => {
|
|
1388
1388
|
if (rewardServiceSingleton) return rewardServiceSingleton;
|
|
1389
|
-
const { config:
|
|
1389
|
+
const { config: config2 } = params;
|
|
1390
1390
|
rewardServiceSingleton = canUseEvmBlockRewardService({
|
|
1391
|
-
config:
|
|
1391
|
+
config: config2
|
|
1392
1392
|
}) ? initEvmBlockRewardService(params) : initXyoBlockRewardService(params);
|
|
1393
1393
|
return rewardServiceSingleton;
|
|
1394
1394
|
}, "initBlockRewardService");
|
|
@@ -1417,12 +1417,12 @@ var initEvmBlockRewardService = /* @__PURE__ */ __name(async (params) => {
|
|
|
1417
1417
|
// src/orchestration/services/implementation/time.ts
|
|
1418
1418
|
import { BaseTimeSyncService } from "@xyo-network/chain-sdk";
|
|
1419
1419
|
var timeSyncServiceSingleton;
|
|
1420
|
-
var initTimeService = /* @__PURE__ */ __name(async ({ chainArchivist, chainIterator, config:
|
|
1420
|
+
var initTimeService = /* @__PURE__ */ __name(async ({ chainArchivist, chainIterator, config: config2, logger, meterProvider, traceProvider }) => {
|
|
1421
1421
|
if (timeSyncServiceSingleton) return timeSyncServiceSingleton;
|
|
1422
1422
|
const ethProvider = canUseEvmProvider({
|
|
1423
|
-
config:
|
|
1423
|
+
config: config2
|
|
1424
1424
|
}) ? await initEvmProvider({
|
|
1425
|
-
config:
|
|
1425
|
+
config: config2
|
|
1426
1426
|
}) : void 0;
|
|
1427
1427
|
timeSyncServiceSingleton = BaseTimeSyncService.create({
|
|
1428
1428
|
chainArchivist,
|
|
@@ -1547,7 +1547,7 @@ var isStartable = /* @__PURE__ */ __name((value) => {
|
|
|
1547
1547
|
return isDefined14(value.start) && typeof value.start === "function";
|
|
1548
1548
|
}, "isStartable");
|
|
1549
1549
|
var initServices = /* @__PURE__ */ __name(async (context) => {
|
|
1550
|
-
const { config:
|
|
1550
|
+
const { config: config2, logger } = context;
|
|
1551
1551
|
const statusReporter = new RuntimeStatusMonitor(logger);
|
|
1552
1552
|
statusReporter.onGlobalTransition({
|
|
1553
1553
|
to: "started"
|
|
@@ -1564,7 +1564,7 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
|
|
|
1564
1564
|
...context,
|
|
1565
1565
|
statusReporter
|
|
1566
1566
|
}));
|
|
1567
|
-
const { otlpEndpoint } =
|
|
1567
|
+
const { otlpEndpoint } = config2.telemetry?.otel ?? {};
|
|
1568
1568
|
const telemetryConfig = {
|
|
1569
1569
|
attributes: {
|
|
1570
1570
|
serviceName: "xl1-producer",
|
|
@@ -1580,10 +1580,10 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
|
|
|
1580
1580
|
startupSpanAsync8("initTelemetry", () => initTelemetry(telemetryConfig)),
|
|
1581
1581
|
startupSpanAsync8("initAccount", () => initAccount(context))
|
|
1582
1582
|
]);
|
|
1583
|
-
const allowedRewardRedeemers =
|
|
1584
|
-
const allowedRewardEscrowAccountSigners =
|
|
1583
|
+
const allowedRewardRedeemers = config2.validation?.allowedRewardRedeemers ?? [];
|
|
1584
|
+
const allowedRewardEscrowAccountSigners = config2.validation?.allowedRewardEscrowAccountSigners ?? [];
|
|
1585
1585
|
const initParams = {
|
|
1586
|
-
config:
|
|
1586
|
+
config: config2,
|
|
1587
1587
|
logger,
|
|
1588
1588
|
meterProvider,
|
|
1589
1589
|
statusReporter,
|
|
@@ -1720,7 +1720,7 @@ var initServices = /* @__PURE__ */ __name(async (context) => {
|
|
|
1720
1720
|
validateHydratedBlockState,
|
|
1721
1721
|
...initParams
|
|
1722
1722
|
};
|
|
1723
|
-
const rewardAddress = isDefined14(
|
|
1723
|
+
const rewardAddress = isDefined14(config2.producer.rewardAddress) ? assertEx18(asAddress2(config2.producer.rewardAddress), () => "Invalid block reward address provided") : account.address;
|
|
1724
1724
|
const producerParams = {
|
|
1725
1725
|
...validatorParams,
|
|
1726
1726
|
name: "Producer",
|
|
@@ -1782,26 +1782,35 @@ function runBridge(context) {
|
|
|
1782
1782
|
}
|
|
1783
1783
|
__name(runBridge, "runBridge");
|
|
1784
1784
|
|
|
1785
|
-
// src/commands/
|
|
1785
|
+
// src/commands/mempool/runMempool.ts
|
|
1786
1786
|
import { getServer as getServer3 } from "@xyo-network/chain-head-reducer";
|
|
1787
|
-
function
|
|
1787
|
+
function runMempool(context) {
|
|
1788
1788
|
void getServer3(context);
|
|
1789
1789
|
}
|
|
1790
|
-
__name(
|
|
1790
|
+
__name(runMempool, "runMempool");
|
|
1791
1791
|
|
|
1792
1792
|
// src/commands/producer/runProducer.ts
|
|
1793
1793
|
var runProducer = /* @__PURE__ */ __name(async (context) => {
|
|
1794
|
-
const { config:
|
|
1794
|
+
const { config: config2, logger, orchestrator } = context;
|
|
1795
1795
|
logger?.log("Services: Initializing...");
|
|
1796
1796
|
const services = await initServices(context);
|
|
1797
1797
|
logger?.log("Services: Initialized");
|
|
1798
1798
|
const params = {
|
|
1799
1799
|
...services,
|
|
1800
|
-
config:
|
|
1800
|
+
config: config2
|
|
1801
1801
|
};
|
|
1802
|
-
const chainHeadUpdate = await ChainHeadUpdateActor.create(
|
|
1803
|
-
|
|
1804
|
-
|
|
1802
|
+
const chainHeadUpdate = await ChainHeadUpdateActor.create({
|
|
1803
|
+
...params,
|
|
1804
|
+
name: "ChainHeadUpdateActor"
|
|
1805
|
+
});
|
|
1806
|
+
const balances = await BalanceActor.create({
|
|
1807
|
+
...params,
|
|
1808
|
+
name: "BalanceActor"
|
|
1809
|
+
});
|
|
1810
|
+
const producer = await ProducerActor.create({
|
|
1811
|
+
...params,
|
|
1812
|
+
name: "ProducerActor"
|
|
1813
|
+
});
|
|
1805
1814
|
const actors = [
|
|
1806
1815
|
chainHeadUpdate,
|
|
1807
1816
|
balances,
|
|
@@ -1844,14 +1853,14 @@ var XL1LogoColorizedAscii = `\x1B[38;2;128;128;128m\xA0\xA0\xA0\xA0\xA0\xA0\xA0\
|
|
|
1844
1853
|
import { Base as Base2 } from "@xylabs/base";
|
|
1845
1854
|
import { ConsoleLogger, LogLevel, SilentLogger } from "@xylabs/logger";
|
|
1846
1855
|
import { isDefined as isDefined15 } from "@xylabs/typeof";
|
|
1847
|
-
var initLogger = /* @__PURE__ */ __name((
|
|
1856
|
+
var initLogger = /* @__PURE__ */ __name((config2) => {
|
|
1848
1857
|
let logger;
|
|
1849
|
-
if (
|
|
1858
|
+
if (config2.silent) {
|
|
1850
1859
|
logger = new SilentLogger();
|
|
1851
1860
|
} else {
|
|
1852
1861
|
let level;
|
|
1853
|
-
if (isDefined15(
|
|
1854
|
-
const parsed = LogLevel[
|
|
1862
|
+
if (isDefined15(config2.logLevel)) {
|
|
1863
|
+
const parsed = LogLevel[config2.logLevel.toLowerCase()];
|
|
1855
1864
|
if (isDefined15(parsed)) level = parsed;
|
|
1856
1865
|
}
|
|
1857
1866
|
logger = new ConsoleLogger(level);
|
|
@@ -1916,10 +1925,10 @@ var waitForHostPort = /* @__PURE__ */ __name((host, port) => {
|
|
|
1916
1925
|
}, "waitForHostPort");
|
|
1917
1926
|
|
|
1918
1927
|
// src/runCLI.ts
|
|
1919
|
-
var
|
|
1920
|
-
var version = isDefined17("1.
|
|
1921
|
-
var getContextFromConfig = /* @__PURE__ */ __name((
|
|
1922
|
-
const logger = initLogger(
|
|
1928
|
+
var configuration;
|
|
1929
|
+
var version = isDefined17("1.16.0") ? "1.16.0" : "unknown";
|
|
1930
|
+
var getContextFromConfig = /* @__PURE__ */ __name((configuration2) => {
|
|
1931
|
+
const logger = initLogger(configuration2);
|
|
1923
1932
|
const orchestrator = new Orchestrator(logger);
|
|
1924
1933
|
process.on("SIGINT", () => {
|
|
1925
1934
|
void (async () => {
|
|
@@ -1956,7 +1965,7 @@ $0 <command> [options]`).parserConfiguration({
|
|
|
1956
1965
|
const parsedConfigFile = tryParseConfig();
|
|
1957
1966
|
const parsedConfigArgs = argv2;
|
|
1958
1967
|
const mergedConfig = deepMerge(parsedConfigArgs, parsedConfigFile);
|
|
1959
|
-
|
|
1968
|
+
configuration = ConfigZod.parse(mergedConfig);
|
|
1960
1969
|
} catch (err) {
|
|
1961
1970
|
if (err instanceof ZodError) {
|
|
1962
1971
|
console.error(`${err.message}`);
|
|
@@ -1966,59 +1975,66 @@ $0 <command> [options]`).parserConfiguration({
|
|
|
1966
1975
|
}).options(optionsFromGlobalZodRegistry()).wrap(y.terminalWidth()).command("api", "Run a XL1 API Node", (yargs2) => {
|
|
1967
1976
|
return yargs2.command("$0", "Run a XL1 API Node", () => {
|
|
1968
1977
|
}, () => {
|
|
1969
|
-
const context = getContextFromConfig(
|
|
1978
|
+
const context = getContextFromConfig(configuration);
|
|
1970
1979
|
runApi({
|
|
1971
1980
|
...context,
|
|
1972
|
-
config
|
|
1981
|
+
config: configuration
|
|
1973
1982
|
});
|
|
1974
1983
|
});
|
|
1975
1984
|
}).command("bridge", "Run a XL1 Bridge Node", (yargs2) => {
|
|
1976
1985
|
return yargs2.command("$0", "Run a XL1 Bridge Node", () => {
|
|
1977
1986
|
}, () => {
|
|
1978
|
-
const context = getContextFromConfig(
|
|
1987
|
+
const context = getContextFromConfig(configuration);
|
|
1979
1988
|
runBridge({
|
|
1980
1989
|
...context,
|
|
1981
|
-
config
|
|
1990
|
+
config: configuration
|
|
1982
1991
|
});
|
|
1983
1992
|
});
|
|
1984
|
-
}).command("
|
|
1985
|
-
return yargs2.command("$0", "Run a XL1
|
|
1993
|
+
}).command("mempool", "Run a XL1 Mempool Node", (yargs2) => {
|
|
1994
|
+
return yargs2.command("$0", "Run a XL1 Mempool Node", () => {
|
|
1986
1995
|
}, () => {
|
|
1987
|
-
const context = getContextFromConfig(
|
|
1988
|
-
|
|
1996
|
+
const context = getContextFromConfig(configuration);
|
|
1997
|
+
runMempool({
|
|
1989
1998
|
...context,
|
|
1990
|
-
config
|
|
1999
|
+
config: configuration
|
|
1991
2000
|
});
|
|
1992
2001
|
});
|
|
1993
2002
|
}).command("producer", "Run a XL1 Producer Node", (yargs2) => {
|
|
1994
2003
|
return yargs2.command("$0", "Run a XL1 Producer Node", () => {
|
|
1995
2004
|
}, async () => {
|
|
1996
|
-
const context = getContextFromConfig(
|
|
2005
|
+
const context = getContextFromConfig(configuration);
|
|
1997
2006
|
await runProducer({
|
|
1998
2007
|
...context,
|
|
1999
|
-
config
|
|
2008
|
+
config: configuration
|
|
2000
2009
|
});
|
|
2001
2010
|
});
|
|
2002
2011
|
}).command("reward-redemption-api", "Run a XL1 Rewards Redemption API Node", (yargs2) => {
|
|
2003
2012
|
return yargs2.command("$0", "Run a XL1 Rewards Redemption API Node", () => {
|
|
2004
2013
|
}, () => {
|
|
2005
|
-
const context = getContextFromConfig(
|
|
2014
|
+
const context = getContextFromConfig(configuration);
|
|
2006
2015
|
runRewardRedemptionApi({
|
|
2007
2016
|
...context,
|
|
2008
|
-
config
|
|
2017
|
+
config: configuration
|
|
2009
2018
|
});
|
|
2010
2019
|
});
|
|
2011
2020
|
}).command("$0", "Run a full XL1 Node", () => {
|
|
2012
2021
|
}, async () => {
|
|
2013
|
-
const context = getContextFromConfig(
|
|
2022
|
+
const context = getContextFromConfig(configuration);
|
|
2023
|
+
if (configuration.mempool.enabled) {
|
|
2024
|
+
runMempool({
|
|
2025
|
+
...context,
|
|
2026
|
+
config: configuration
|
|
2027
|
+
});
|
|
2028
|
+
await waitForHostPort(configuration.mempool.host, configuration.mempool.port);
|
|
2029
|
+
}
|
|
2014
2030
|
runApi({
|
|
2015
2031
|
...context,
|
|
2016
|
-
config
|
|
2032
|
+
config: configuration
|
|
2017
2033
|
});
|
|
2018
|
-
await waitForHostPort(
|
|
2034
|
+
await waitForHostPort(configuration.api.host, configuration.api.port);
|
|
2019
2035
|
await runProducer({
|
|
2020
2036
|
...context,
|
|
2021
|
-
config
|
|
2037
|
+
config: configuration
|
|
2022
2038
|
});
|
|
2023
2039
|
}).help().alias("help", "h").version(version).argv;
|
|
2024
2040
|
await argv;
|
|
@@ -2026,9 +2042,9 @@ $0 <command> [options]`).parserConfiguration({
|
|
|
2026
2042
|
__name(runCLI, "runCLI");
|
|
2027
2043
|
|
|
2028
2044
|
// src/start.ts
|
|
2029
|
-
import { config
|
|
2045
|
+
import { config } from "dotenv";
|
|
2030
2046
|
var start = /* @__PURE__ */ __name(async () => {
|
|
2031
|
-
|
|
2047
|
+
config({
|
|
2032
2048
|
quiet: true
|
|
2033
2049
|
});
|
|
2034
2050
|
await runCLI();
|