@xyo-network/chain-orchestration 1.20.21 → 1.20.23
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 +304 -237
- package/dist/browser/index.mjs.map +1 -1
- package/dist/browser/node/config/locators/actors/{validatorLocatorFromConfig.d.ts → finalizerLocatorFromConfig.d.ts} +2 -2
- package/dist/{neutral/node/config/locators/actors/validatorLocatorFromConfig.d.ts.map → browser/node/config/locators/actors/finalizerLocatorFromConfig.d.ts.map} +1 -1
- package/dist/browser/node/config/locators/actors/index.d.ts +1 -1
- package/dist/browser/node/config/locators/actors/index.d.ts.map +1 -1
- package/dist/browser/node/config/locators/actors/producerLocatorFromConfig.d.ts.map +1 -1
- package/dist/browser/node/config/locators/localLocatorFromConfig.d.ts +1 -1
- package/dist/browser/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
- package/dist/browser/node/config/locators/locatorsFromConfig.d.ts +1 -1
- package/dist/browser/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/browser/node/config/locators/rootLocatorFromConfig.d.ts +1 -1
- package/dist/browser/node/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
- package/dist/browser/node/config/tryParseConfig.d.ts +6 -157
- package/dist/browser/node/config/tryParseConfig.d.ts.map +1 -1
- package/dist/browser/node/init/initFinalizationArchivistIfNeeded.d.ts +6 -1
- package/dist/browser/node/init/initFinalizationArchivistIfNeeded.d.ts.map +1 -1
- package/dist/{neutral/shared/actor/ValidatorActor.d.ts → browser/shared/actor/FinalizerActor.d.ts} +6 -9
- package/dist/browser/shared/actor/FinalizerActor.d.ts.map +1 -0
- package/dist/browser/shared/actor/index.d.ts +1 -1
- package/dist/browser/shared/config/actors/Api.d.ts +11 -17
- package/dist/browser/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Bridge.d.ts +11 -17
- package/dist/browser/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/{Validator.d.ts → Finalizer.d.ts} +23 -29
- package/dist/browser/shared/config/actors/Finalizer.d.ts.map +1 -0
- package/dist/browser/shared/config/actors/Mempool.d.ts +11 -17
- package/dist/browser/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/Producer.d.ts +11 -17
- package/dist/browser/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/RewardRedemption.d.ts +11 -17
- package/dist/browser/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/browser/shared/config/actors/index.d.ts +1 -1
- package/dist/browser/shared/config/actors/index.d.ts.map +1 -1
- package/dist/browser/shared/config/mergeConfig.d.ts +1 -1
- package/dist/browser/shared/index.d.ts +1 -0
- package/dist/browser/shared/index.d.ts.map +1 -1
- package/dist/browser/shared/init/initActorSeedPhrase.d.ts.map +1 -1
- package/dist/browser/shared/init/initWallet.d.ts +1 -1
- package/dist/browser/shared/init/initWallet.d.ts.map +1 -1
- package/dist/browser/shared/init/walletResolution.d.ts +41 -10
- package/dist/browser/shared/init/walletResolution.d.ts.map +1 -1
- package/dist/browser/shared/provider/SimpleRejectedTransactionsArchivistProvider.d.ts +31 -0
- package/dist/browser/shared/provider/SimpleRejectedTransactionsArchivistProvider.d.ts.map +1 -0
- package/dist/browser/shared/provider/index.d.ts +2 -0
- package/dist/browser/shared/provider/index.d.ts.map +1 -0
- package/dist/neutral/index.mjs +304 -237
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/node/config/locators/actors/{validatorLocatorFromConfig.d.ts → finalizerLocatorFromConfig.d.ts} +2 -2
- package/dist/{browser/node/config/locators/actors/validatorLocatorFromConfig.d.ts.map → neutral/node/config/locators/actors/finalizerLocatorFromConfig.d.ts.map} +1 -1
- package/dist/neutral/node/config/locators/actors/index.d.ts +1 -1
- package/dist/neutral/node/config/locators/actors/index.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/actors/producerLocatorFromConfig.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/localLocatorFromConfig.d.ts +1 -1
- package/dist/neutral/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/locatorsFromConfig.d.ts +1 -1
- package/dist/neutral/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/neutral/node/config/locators/rootLocatorFromConfig.d.ts +1 -1
- package/dist/neutral/node/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
- package/dist/neutral/node/config/tryParseConfig.d.ts +6 -157
- package/dist/neutral/node/config/tryParseConfig.d.ts.map +1 -1
- package/dist/neutral/node/init/initFinalizationArchivistIfNeeded.d.ts +6 -1
- package/dist/neutral/node/init/initFinalizationArchivistIfNeeded.d.ts.map +1 -1
- package/dist/{node/shared/actor/ValidatorActor.d.ts → neutral/shared/actor/FinalizerActor.d.ts} +6 -9
- package/dist/neutral/shared/actor/FinalizerActor.d.ts.map +1 -0
- package/dist/neutral/shared/actor/index.d.ts +1 -1
- package/dist/neutral/shared/config/actors/Api.d.ts +11 -17
- package/dist/neutral/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Bridge.d.ts +11 -17
- package/dist/neutral/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/{Validator.d.ts → Finalizer.d.ts} +23 -29
- package/dist/neutral/shared/config/actors/Finalizer.d.ts.map +1 -0
- package/dist/neutral/shared/config/actors/Mempool.d.ts +11 -17
- package/dist/neutral/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/Producer.d.ts +11 -17
- package/dist/neutral/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/RewardRedemption.d.ts +11 -17
- package/dist/neutral/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/neutral/shared/config/actors/index.d.ts +1 -1
- package/dist/neutral/shared/config/actors/index.d.ts.map +1 -1
- package/dist/neutral/shared/config/mergeConfig.d.ts +1 -1
- package/dist/neutral/shared/index.d.ts +1 -0
- package/dist/neutral/shared/index.d.ts.map +1 -1
- package/dist/neutral/shared/init/initActorSeedPhrase.d.ts.map +1 -1
- package/dist/neutral/shared/init/initWallet.d.ts +1 -1
- package/dist/neutral/shared/init/initWallet.d.ts.map +1 -1
- package/dist/neutral/shared/init/walletResolution.d.ts +41 -10
- package/dist/neutral/shared/init/walletResolution.d.ts.map +1 -1
- package/dist/neutral/shared/provider/SimpleRejectedTransactionsArchivistProvider.d.ts +31 -0
- package/dist/neutral/shared/provider/SimpleRejectedTransactionsArchivistProvider.d.ts.map +1 -0
- package/dist/neutral/shared/provider/index.d.ts +2 -0
- package/dist/neutral/shared/provider/index.d.ts.map +1 -0
- package/dist/node/index.mjs +400 -286
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/node/config/locators/actors/{validatorLocatorFromConfig.d.ts → finalizerLocatorFromConfig.d.ts} +2 -2
- package/dist/node/node/config/locators/actors/{validatorLocatorFromConfig.d.ts.map → finalizerLocatorFromConfig.d.ts.map} +1 -1
- package/dist/node/node/config/locators/actors/index.d.ts +1 -1
- package/dist/node/node/config/locators/actors/index.d.ts.map +1 -1
- package/dist/node/node/config/locators/actors/producerLocatorFromConfig.d.ts.map +1 -1
- package/dist/node/node/config/locators/localLocatorFromConfig.d.ts +1 -1
- package/dist/node/node/config/locators/localLocatorFromConfig.d.ts.map +1 -1
- package/dist/node/node/config/locators/locatorsFromConfig.d.ts +1 -1
- package/dist/node/node/config/locators/locatorsFromConfig.d.ts.map +1 -1
- package/dist/node/node/config/locators/rootLocatorFromConfig.d.ts +1 -1
- package/dist/node/node/config/locators/rootLocatorFromConfig.d.ts.map +1 -1
- package/dist/node/node/config/tryParseConfig.d.ts +6 -157
- package/dist/node/node/config/tryParseConfig.d.ts.map +1 -1
- package/dist/node/node/init/initFinalizationArchivistIfNeeded.d.ts +6 -1
- package/dist/node/node/init/initFinalizationArchivistIfNeeded.d.ts.map +1 -1
- package/dist/{browser/shared/actor/ValidatorActor.d.ts → node/shared/actor/FinalizerActor.d.ts} +6 -9
- package/dist/node/shared/actor/FinalizerActor.d.ts.map +1 -0
- package/dist/node/shared/actor/index.d.ts +1 -1
- package/dist/node/shared/config/actors/Api.d.ts +11 -17
- package/dist/node/shared/config/actors/Api.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Bridge.d.ts +11 -17
- package/dist/node/shared/config/actors/Bridge.d.ts.map +1 -1
- package/dist/node/shared/config/actors/{Validator.d.ts → Finalizer.d.ts} +23 -29
- package/dist/node/shared/config/actors/Finalizer.d.ts.map +1 -0
- package/dist/node/shared/config/actors/Mempool.d.ts +11 -17
- package/dist/node/shared/config/actors/Mempool.d.ts.map +1 -1
- package/dist/node/shared/config/actors/Producer.d.ts +11 -17
- package/dist/node/shared/config/actors/Producer.d.ts.map +1 -1
- package/dist/node/shared/config/actors/RewardRedemption.d.ts +11 -17
- package/dist/node/shared/config/actors/RewardRedemption.d.ts.map +1 -1
- package/dist/node/shared/config/actors/index.d.ts +1 -1
- package/dist/node/shared/config/actors/index.d.ts.map +1 -1
- package/dist/node/shared/config/mergeConfig.d.ts +1 -1
- package/dist/node/shared/index.d.ts +1 -0
- package/dist/node/shared/index.d.ts.map +1 -1
- package/dist/node/shared/init/initActorSeedPhrase.d.ts.map +1 -1
- package/dist/node/shared/init/initWallet.d.ts +1 -1
- package/dist/node/shared/init/initWallet.d.ts.map +1 -1
- package/dist/node/shared/init/walletResolution.d.ts +41 -10
- package/dist/node/shared/init/walletResolution.d.ts.map +1 -1
- package/dist/node/shared/provider/SimpleRejectedTransactionsArchivistProvider.d.ts +31 -0
- package/dist/node/shared/provider/SimpleRejectedTransactionsArchivistProvider.d.ts.map +1 -0
- package/dist/node/shared/provider/index.d.ts +2 -0
- package/dist/node/shared/provider/index.d.ts.map +1 -0
- package/package.json +21 -21
- package/dist/browser/shared/actor/ValidatorActor.d.ts.map +0 -1
- package/dist/browser/shared/config/actors/Validator.d.ts.map +0 -1
- package/dist/browser/shared/config/actors/accountIndex.d.ts +0 -3
- package/dist/browser/shared/config/actors/accountIndex.d.ts.map +0 -1
- package/dist/neutral/shared/actor/ValidatorActor.d.ts.map +0 -1
- package/dist/neutral/shared/config/actors/Validator.d.ts.map +0 -1
- package/dist/neutral/shared/config/actors/accountIndex.d.ts +0 -3
- package/dist/neutral/shared/config/actors/accountIndex.d.ts.map +0 -1
- package/dist/node/shared/actor/ValidatorActor.d.ts.map +0 -1
- package/dist/node/shared/config/actors/Validator.d.ts.map +0 -1
- package/dist/node/shared/config/actors/accountIndex.d.ts +0 -3
- package/dist/node/shared/config/actors/accountIndex.d.ts.map +0 -1
package/dist/browser/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
|
|
4
|
-
// src/shared/actor/
|
|
4
|
+
// src/shared/actor/FinalizerActor.ts
|
|
5
5
|
import { creatable } from "@xylabs/sdk-js";
|
|
6
6
|
import { processPendingBlocks } from "@xyo-network/chain-sdk";
|
|
7
7
|
import { ActorV3, BlockValidationViewerMoniker, BlockViewerMoniker, DeadLetterQueueRunnerMoniker, FinalizationRunnerMoniker, MempoolViewerMoniker } from "@xyo-network/xl1-sdk";
|
|
@@ -12,16 +12,14 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
12
12
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
13
|
}
|
|
14
14
|
__name(_ts_decorate, "_ts_decorate");
|
|
15
|
-
var
|
|
15
|
+
var FinalizerActor = class extends ActorV3 {
|
|
16
16
|
static {
|
|
17
|
-
__name(this, "
|
|
17
|
+
__name(this, "FinalizerActor");
|
|
18
18
|
}
|
|
19
19
|
_blockValidationViewer;
|
|
20
20
|
_blockViewer;
|
|
21
21
|
_deadLetterQueueRunner;
|
|
22
22
|
_finalizationRunner;
|
|
23
|
-
_lastValidatedBlock;
|
|
24
|
-
_lastValidatedBlockHash;
|
|
25
23
|
_mempoolViewer;
|
|
26
24
|
get allowedProducers() {
|
|
27
25
|
return this.params.config.allowedProducers ?? [];
|
|
@@ -51,9 +49,9 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
51
49
|
}
|
|
52
50
|
async startHandler() {
|
|
53
51
|
await super.startHandler();
|
|
54
|
-
this.registerTimer("
|
|
52
|
+
this.registerTimer("FinalizerActor", async () => {
|
|
55
53
|
await this.spanAsync("processPendingBlocks", async () => {
|
|
56
|
-
this.logger?.debug("
|
|
54
|
+
this.logger?.debug("FinalizerActor: Processing pending blocks...");
|
|
57
55
|
await processPendingBlocks({
|
|
58
56
|
blockValidationViewer: this.blockValidationViewer,
|
|
59
57
|
context: this.context,
|
|
@@ -72,9 +70,9 @@ var ValidatorActor = class extends ActorV3 {
|
|
|
72
70
|
}, 2e3, 500);
|
|
73
71
|
}
|
|
74
72
|
};
|
|
75
|
-
|
|
73
|
+
FinalizerActor = _ts_decorate([
|
|
76
74
|
creatable()
|
|
77
|
-
],
|
|
75
|
+
], FinalizerActor);
|
|
78
76
|
|
|
79
77
|
// src/shared/buildTelemetryConfig.ts
|
|
80
78
|
function buildTelemetryConfig(config, serviceName, serviceVersion, defaultMetricsScrapePort = 9464) {
|
|
@@ -98,24 +96,13 @@ __name(buildTelemetryConfig, "buildTelemetryConfig");
|
|
|
98
96
|
// src/shared/config/actors/Api.ts
|
|
99
97
|
import { zodAsFactory, zodIsFactory, zodToFactory } from "@xylabs/sdk-js";
|
|
100
98
|
import { BaseConfigContextZod, HostActorConfigZod } from "@xyo-network/xl1-sdk";
|
|
101
|
-
import { globalRegistry as globalRegistry2, z as z2 } from "zod";
|
|
102
|
-
|
|
103
|
-
// src/shared/config/actors/accountIndex.ts
|
|
104
99
|
import { globalRegistry, z } from "zod";
|
|
105
|
-
var
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
// src/shared/config/actors/Api.ts
|
|
112
|
-
var ApiConfigZod = HostActorConfigZod.extend(z2.object({
|
|
113
|
-
accountIndex: ActorAccountIndexZod("api.accountIndex"),
|
|
114
|
-
initRewardsCache: z2.union([
|
|
115
|
-
z2.number(),
|
|
116
|
-
z2.string(),
|
|
117
|
-
z2.boolean()
|
|
118
|
-
]).transform((v) => v !== "0" && v !== "false" && v !== false && v != 0).default(true).register(globalRegistry2, {
|
|
100
|
+
var ApiConfigZod = HostActorConfigZod.extend(z.object({
|
|
101
|
+
initRewardsCache: z.union([
|
|
102
|
+
z.number(),
|
|
103
|
+
z.string(),
|
|
104
|
+
z.boolean()
|
|
105
|
+
]).transform((v) => v !== "0" && v !== "false" && v !== false && v != 0).default(true).register(globalRegistry, {
|
|
119
106
|
description: "Whether to initialize the rewards cache on startup",
|
|
120
107
|
title: "api.initRewardsCache",
|
|
121
108
|
type: "boolean"
|
|
@@ -134,7 +121,7 @@ var toApiConfigContext = zodToFactory(ApiConfigContext, "toApiConfigContext");
|
|
|
134
121
|
// src/shared/config/actors/Bridge.ts
|
|
135
122
|
import { AddressZod, HexZod, toAddress, toHex, zodAsFactory as zodAsFactory2, zodIsFactory as zodIsFactory2, zodToFactory as zodToFactory2 } from "@xylabs/sdk-js";
|
|
136
123
|
import { AttoXL1ConvertFactor, BaseConfigContextZod as BaseConfigContextZod2, HostActorConfigZod as HostActorConfigZod2, XL1 } from "@xyo-network/xl1-sdk";
|
|
137
|
-
import { globalRegistry as
|
|
124
|
+
import { globalRegistry as globalRegistry2, z as z2 } from "zod";
|
|
138
125
|
var DEFAULT_FIXED_FEE = toHex(XL1(1000n) * AttoXL1ConvertFactor.xl1);
|
|
139
126
|
var DEFAULT_VARIABLE_FEE_BASIS_POINTS = 300;
|
|
140
127
|
var DEFAULT_HARDHAT_BRIDGE_CONTRACT = toAddress("2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6");
|
|
@@ -143,84 +130,83 @@ var DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY = toHex("0xac0974bec39a17e36
|
|
|
143
130
|
var DEFAULT_HARDHAT_TOKEN_CONTRACT = toAddress("5FbDB2315678afecb367f032d93F642f64180aa3");
|
|
144
131
|
var DEFAULT_MAX_BRIDGE_AMOUNT = toHex(XL1(1000000n) * AttoXL1ConvertFactor.xl1);
|
|
145
132
|
var DEFAULT_MIN_BRIDGE_AMOUNT = toHex(XL1(1500n) * AttoXL1ConvertFactor.xl1);
|
|
146
|
-
var BasisPointsZod =
|
|
133
|
+
var BasisPointsZod = z2.coerce.number().int().nonnegative().max(1e4);
|
|
147
134
|
var BridgeConfigZod = HostActorConfigZod2.extend({
|
|
148
|
-
|
|
149
|
-
escrowAddress: AddressZod.optional().register(globalRegistry3, {
|
|
135
|
+
escrowAddress: AddressZod.optional().register(globalRegistry2, {
|
|
150
136
|
description: "Address to which bridge escrow will be sent",
|
|
151
137
|
title: "bridge.escrowAddress",
|
|
152
138
|
type: "string"
|
|
153
139
|
}),
|
|
154
|
-
feesAddress: AddressZod.optional().register(
|
|
140
|
+
feesAddress: AddressZod.optional().register(globalRegistry2, {
|
|
155
141
|
description: "Address to which bridge fees will be sent",
|
|
156
142
|
title: "bridge.feesAddress",
|
|
157
143
|
type: "string"
|
|
158
144
|
}),
|
|
159
|
-
feeFixed: HexZod.default(DEFAULT_FIXED_FEE).register(
|
|
145
|
+
feeFixed: HexZod.default(DEFAULT_FIXED_FEE).register(globalRegistry2, {
|
|
160
146
|
default: DEFAULT_FIXED_FEE,
|
|
161
147
|
description: "Fixed fee (in AttoXL1) applied to bridge transfers",
|
|
162
148
|
title: "bridge.feeFixed",
|
|
163
149
|
type: "bigint"
|
|
164
150
|
}),
|
|
165
|
-
feeRateBasisPoints: BasisPointsZod.default(DEFAULT_VARIABLE_FEE_BASIS_POINTS).register(
|
|
151
|
+
feeRateBasisPoints: BasisPointsZod.default(DEFAULT_VARIABLE_FEE_BASIS_POINTS).register(globalRegistry2, {
|
|
166
152
|
default: DEFAULT_VARIABLE_FEE_BASIS_POINTS,
|
|
167
153
|
description: "Variable rate fee (in basis points where 1 bps = 0.01%) applied to bridge transfers",
|
|
168
154
|
title: "bridge.feeRateBasisPoints",
|
|
169
155
|
type: "number"
|
|
170
156
|
}),
|
|
171
|
-
maxBridgeAmount: HexZod.default(DEFAULT_MAX_BRIDGE_AMOUNT).register(
|
|
157
|
+
maxBridgeAmount: HexZod.default(DEFAULT_MAX_BRIDGE_AMOUNT).register(globalRegistry2, {
|
|
172
158
|
default: DEFAULT_MAX_BRIDGE_AMOUNT,
|
|
173
159
|
description: "Maximum amount allowed for a bridge transfer",
|
|
174
160
|
title: "bridge.maxBridgeAmount",
|
|
175
161
|
type: "string"
|
|
176
162
|
}),
|
|
177
|
-
minBridgeAmount: HexZod.default(DEFAULT_MIN_BRIDGE_AMOUNT).register(
|
|
163
|
+
minBridgeAmount: HexZod.default(DEFAULT_MIN_BRIDGE_AMOUNT).register(globalRegistry2, {
|
|
178
164
|
default: DEFAULT_MIN_BRIDGE_AMOUNT,
|
|
179
165
|
description: "Minimum amount required for a bridge transfer",
|
|
180
166
|
title: "bridge.minBridgeAmount",
|
|
181
167
|
type: "string"
|
|
182
168
|
}),
|
|
183
|
-
redisHost:
|
|
169
|
+
redisHost: z2.string().default("localhost").register(globalRegistry2, {
|
|
184
170
|
default: "localhost",
|
|
185
171
|
description: "Host for the Bridge Redis instance",
|
|
186
172
|
title: "bridge.redisHost",
|
|
187
173
|
type: "string"
|
|
188
174
|
}),
|
|
189
|
-
redisPort:
|
|
175
|
+
redisPort: z2.coerce.number().int().positive().default(6379).register(globalRegistry2, {
|
|
190
176
|
default: 6379,
|
|
191
177
|
description: "Port for the Bridge Redis instance",
|
|
192
178
|
title: "bridge.redisPort",
|
|
193
179
|
type: "number"
|
|
194
180
|
}),
|
|
195
|
-
remoteBridgeContractAddress: AddressZod.default(DEFAULT_HARDHAT_BRIDGE_CONTRACT).register(
|
|
181
|
+
remoteBridgeContractAddress: AddressZod.default(DEFAULT_HARDHAT_BRIDGE_CONTRACT).register(globalRegistry2, {
|
|
196
182
|
default: DEFAULT_HARDHAT_BRIDGE_CONTRACT,
|
|
197
183
|
description: "Hex representation of remote token address used for bridging",
|
|
198
184
|
title: "bridge.remoteBridgeContractAddress",
|
|
199
185
|
type: "string"
|
|
200
186
|
}),
|
|
201
|
-
remoteChainId: HexZod.default(DEFAULT_HARDHAT_CHAIN_ID).register(
|
|
187
|
+
remoteChainId: HexZod.default(DEFAULT_HARDHAT_CHAIN_ID).register(globalRegistry2, {
|
|
202
188
|
default: DEFAULT_HARDHAT_CHAIN_ID,
|
|
203
189
|
description: "Remote chain ID",
|
|
204
190
|
title: "bridge.remoteChainId",
|
|
205
191
|
type: "string"
|
|
206
192
|
}),
|
|
207
|
-
remoteTokenAddress: HexZod.default(DEFAULT_HARDHAT_TOKEN_CONTRACT).register(
|
|
193
|
+
remoteTokenAddress: HexZod.default(DEFAULT_HARDHAT_TOKEN_CONTRACT).register(globalRegistry2, {
|
|
208
194
|
default: DEFAULT_HARDHAT_TOKEN_CONTRACT,
|
|
209
195
|
description: "Hex representation of remote token address used for bridging",
|
|
210
196
|
title: "bridge.remoteTokenAddress",
|
|
211
197
|
type: "string"
|
|
212
198
|
}),
|
|
213
|
-
remoteChainWalletPrivateKey: HexZod.default(DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY).register(
|
|
199
|
+
remoteChainWalletPrivateKey: HexZod.default(DEFAULT_HARDHAT_REMOTE_CHAIN_WALLET_PRIVATE_KEY).register(globalRegistry2, {
|
|
214
200
|
description: "Private key for the wallet to use for the remote chain wallet",
|
|
215
201
|
title: "bridge.remoteChainWalletPrivateKey",
|
|
216
202
|
type: "string"
|
|
217
203
|
}),
|
|
218
|
-
xl1ChainId: HexZod.optional().register(
|
|
204
|
+
xl1ChainId: HexZod.optional().register(globalRegistry2, {
|
|
219
205
|
description: "XL1 chain id used for bridging",
|
|
220
206
|
title: "bridge.xl1ChainId",
|
|
221
207
|
type: "string"
|
|
222
208
|
}),
|
|
223
|
-
xl1TokenAddress: HexZod.optional().register(
|
|
209
|
+
xl1TokenAddress: HexZod.optional().register(globalRegistry2, {
|
|
224
210
|
description: "XL1 token address used for bridging",
|
|
225
211
|
title: "bridge.xl1TokenAddress",
|
|
226
212
|
type: "string"
|
|
@@ -248,14 +234,31 @@ var isBridgeConfigContext = zodIsFactory2(BridgeConfigContext);
|
|
|
248
234
|
var asBridgeConfigContext = zodAsFactory2(BridgeConfigContext, "asBridgeConfigContext");
|
|
249
235
|
var toBridgeConfigContext = zodToFactory2(BridgeConfigContext, "toBridgeConfigContext");
|
|
250
236
|
|
|
237
|
+
// src/shared/config/actors/Finalizer.ts
|
|
238
|
+
import { AddressZod as AddressZod2, zodAsFactory as zodAsFactory3, zodIsFactory as zodIsFactory3, zodToFactory as zodToFactory3 } from "@xylabs/sdk-js";
|
|
239
|
+
import { BaseConfigContextZod as BaseConfigContextZod3, DEFAULT_MIN_CANDIDATES, HostActorConfigZod as HostActorConfigZod3 } from "@xyo-network/xl1-sdk";
|
|
240
|
+
import { z as z3 } from "zod";
|
|
241
|
+
var FinalizerConfigZod = HostActorConfigZod3.extend({
|
|
242
|
+
allowedProducers: z3.array(AddressZod2).optional(),
|
|
243
|
+
minCandidates: z3.number().int().min(0).default(DEFAULT_MIN_CANDIDATES)
|
|
244
|
+
});
|
|
245
|
+
var isFinalizerConfig = zodIsFactory3(FinalizerConfigZod);
|
|
246
|
+
var asFinalizerConfig = zodAsFactory3(FinalizerConfigZod, "asFinalizerConfig");
|
|
247
|
+
var toFinalizerConfig = zodToFactory3(FinalizerConfigZod, "toFinalizerConfig");
|
|
248
|
+
var FinalizerConfigContext = BaseConfigContextZod3.extend({
|
|
249
|
+
config: FinalizerConfigZod
|
|
250
|
+
});
|
|
251
|
+
var isFinalizerConfigContext = zodIsFactory3(FinalizerConfigContext);
|
|
252
|
+
var asFinalizerConfigContext = zodAsFactory3(FinalizerConfigContext, "asFinalizerConfigContext");
|
|
253
|
+
var toFinalizerConfigContext = zodToFactory3(FinalizerConfigContext, "toFinalizerConfigContext");
|
|
254
|
+
|
|
251
255
|
// src/shared/config/actors/Mempool.ts
|
|
252
|
-
import { zodAsFactory as
|
|
253
|
-
import { BaseConfigContextZod as
|
|
254
|
-
import { globalRegistry as
|
|
256
|
+
import { zodAsFactory as zodAsFactory4, zodIsFactory as zodIsFactory4, zodToFactory as zodToFactory4 } from "@xylabs/sdk-js";
|
|
257
|
+
import { BaseConfigContextZod as BaseConfigContextZod4, HostActorConfigZod as HostActorConfigZod4 } from "@xyo-network/xl1-sdk";
|
|
258
|
+
import { globalRegistry as globalRegistry3, z as z4 } from "zod";
|
|
255
259
|
var DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL = 1e3;
|
|
256
260
|
var DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL = 1e3;
|
|
257
|
-
var MempoolConfigZod =
|
|
258
|
-
accountIndex: ActorAccountIndexZod("mempool.accountIndex"),
|
|
261
|
+
var MempoolConfigZod = HostActorConfigZod4.extend({
|
|
259
262
|
enabled: z4.union([
|
|
260
263
|
z4.string(),
|
|
261
264
|
z4.boolean()
|
|
@@ -280,122 +283,100 @@ var MempoolConfigZod = HostActorConfigZod3.extend({
|
|
|
280
283
|
message: `Invalid boolean value: "${val}". Use true/false, 1/0, yes/no.`
|
|
281
284
|
});
|
|
282
285
|
return z4.NEVER;
|
|
283
|
-
}).register(
|
|
286
|
+
}).register(globalRegistry3, {
|
|
284
287
|
default: "false",
|
|
285
288
|
description: "Enable the Mempool",
|
|
286
289
|
title: "mempool.enabled",
|
|
287
290
|
type: "boolean"
|
|
288
291
|
}),
|
|
289
|
-
blockPruneInterval: z4.coerce.number().default(DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL).register(
|
|
292
|
+
blockPruneInterval: z4.coerce.number().default(DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL).register(globalRegistry3, {
|
|
290
293
|
description: "The interval time (in milliseconds) between pending block prune attempts",
|
|
291
294
|
title: "mempool.blockPruneInterval",
|
|
292
295
|
type: "number"
|
|
293
296
|
}),
|
|
294
|
-
transactionPruneInterval: z4.coerce.number().default(DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL).register(
|
|
297
|
+
transactionPruneInterval: z4.coerce.number().default(DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL).register(globalRegistry3, {
|
|
295
298
|
description: "The interval time (in milliseconds) between pending transaction prune attempts",
|
|
296
299
|
title: "mempool.transactionPruneInterval",
|
|
297
300
|
type: "number"
|
|
298
301
|
})
|
|
299
302
|
});
|
|
300
|
-
var isMempoolConfig =
|
|
301
|
-
var asMempoolConfig =
|
|
302
|
-
var toMempoolConfig =
|
|
303
|
-
var MempoolConfigContext =
|
|
303
|
+
var isMempoolConfig = zodIsFactory4(MempoolConfigZod);
|
|
304
|
+
var asMempoolConfig = zodAsFactory4(MempoolConfigZod, "asMempoolConfig");
|
|
305
|
+
var toMempoolConfig = zodToFactory4(MempoolConfigZod, "toMempoolConfig");
|
|
306
|
+
var MempoolConfigContext = BaseConfigContextZod4.extend({
|
|
304
307
|
config: MempoolConfigZod
|
|
305
308
|
});
|
|
306
|
-
var isMempoolConfigContext =
|
|
307
|
-
var asMempoolConfigContext =
|
|
308
|
-
var toMempoolConfigContext =
|
|
309
|
+
var isMempoolConfigContext = zodIsFactory4(MempoolConfigContext);
|
|
310
|
+
var asMempoolConfigContext = zodAsFactory4(MempoolConfigContext, "asMempoolConfigContext");
|
|
311
|
+
var toMempoolConfigContext = zodToFactory4(MempoolConfigContext, "toMempoolConfigContext");
|
|
309
312
|
|
|
310
313
|
// src/shared/config/actors/Producer.ts
|
|
311
|
-
import { AddressZod as
|
|
312
|
-
import { ActorConfigZod, BaseConfigContextZod as
|
|
313
|
-
import { globalRegistry as
|
|
314
|
+
import { AddressZod as AddressZod3, asAddress, zodAsFactory as zodAsFactory5, zodIsFactory as zodIsFactory5, zodToFactory as zodToFactory5 } from "@xylabs/sdk-js";
|
|
315
|
+
import { ActorConfigZod, BaseConfigContextZod as BaseConfigContextZod5 } from "@xyo-network/xl1-sdk";
|
|
316
|
+
import { globalRegistry as globalRegistry4, z as z5 } from "zod";
|
|
314
317
|
var DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL = 1e4;
|
|
315
318
|
var ProducerConfigZod = ActorConfigZod.extend(z5.object({
|
|
316
|
-
accountIndex: ActorAccountIndexZod("producer.accountIndex"),
|
|
317
319
|
allowlist: z5.preprocess((val) => {
|
|
318
320
|
if (typeof val === "string") {
|
|
319
321
|
return val.split(",").map((s) => asAddress(s.trim()));
|
|
320
322
|
}
|
|
321
323
|
return val;
|
|
322
|
-
}, z5.array(
|
|
324
|
+
}, z5.array(AddressZod3).optional().register(globalRegistry4, {
|
|
323
325
|
description: "List of allowed producer addresses, if undefined anyone can participate",
|
|
324
326
|
title: "allowlist",
|
|
325
327
|
type: "array"
|
|
326
328
|
})),
|
|
327
|
-
blockProductionCheckInterval: z5.coerce.number().default(DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL).register(
|
|
329
|
+
blockProductionCheckInterval: z5.coerce.number().default(DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL).register(globalRegistry4, {
|
|
328
330
|
description: "The interval time (in milliseconds) between block production attempts",
|
|
329
331
|
title: "producer.blockProductionCheckInterval",
|
|
330
332
|
type: "number"
|
|
331
333
|
}),
|
|
332
|
-
disableIntentRedeclaration: z5.boolean().optional().register(
|
|
334
|
+
disableIntentRedeclaration: z5.boolean().optional().register(globalRegistry4, {
|
|
333
335
|
description: "Should the producer skip redeclaring their intent to continue producing blocks",
|
|
334
336
|
title: "producer.disableIntentRedeclaration",
|
|
335
337
|
type: "boolean"
|
|
336
338
|
}),
|
|
337
|
-
heartbeatInterval: z5.coerce.number().default(36e5).register(
|
|
339
|
+
heartbeatInterval: z5.coerce.number().default(36e5).register(globalRegistry4, {
|
|
338
340
|
description: "The number of milliseconds between heartbeats if no blocks are produced",
|
|
339
341
|
title: "producer.heartbeatInterval",
|
|
340
342
|
type: "number"
|
|
341
343
|
}),
|
|
342
344
|
// TODO: BigInt schema
|
|
343
|
-
minStake: z5.coerce.number().default(1).register(
|
|
345
|
+
minStake: z5.coerce.number().default(1).register(globalRegistry4, {
|
|
344
346
|
description: "Minimum stake required to be a Producer",
|
|
345
347
|
title: "producer.minStake",
|
|
346
348
|
type: "number"
|
|
347
349
|
}),
|
|
348
350
|
// TODO: Address schema
|
|
349
|
-
rewardAddress: z5.string().optional().register(
|
|
351
|
+
rewardAddress: z5.string().optional().register(globalRegistry4, {
|
|
350
352
|
description: "Address to receive block rewards",
|
|
351
353
|
title: "producer.rewardAddress",
|
|
352
354
|
type: "string"
|
|
353
355
|
})
|
|
354
356
|
}).shape);
|
|
355
|
-
var isProducerConfig =
|
|
356
|
-
var asProducerConfig =
|
|
357
|
-
var toProducerConfig =
|
|
358
|
-
var ProducerConfigContext =
|
|
357
|
+
var isProducerConfig = zodIsFactory5(ProducerConfigZod);
|
|
358
|
+
var asProducerConfig = zodAsFactory5(ProducerConfigZod, "asProducerConfig");
|
|
359
|
+
var toProducerConfig = zodToFactory5(ProducerConfigZod, "toProducerConfig");
|
|
360
|
+
var ProducerConfigContext = BaseConfigContextZod5.extend({
|
|
359
361
|
config: ProducerConfigZod
|
|
360
362
|
});
|
|
361
|
-
var isProducerConfigContext =
|
|
362
|
-
var asProducerConfigContext =
|
|
363
|
-
var toProducerConfigContext =
|
|
363
|
+
var isProducerConfigContext = zodIsFactory5(ProducerConfigContext);
|
|
364
|
+
var asProducerConfigContext = zodAsFactory5(ProducerConfigContext, "asProducerConfigContext");
|
|
365
|
+
var toProducerConfigContext = zodToFactory5(ProducerConfigContext, "toProducerConfigContext");
|
|
364
366
|
|
|
365
367
|
// src/shared/config/actors/RewardRedemption.ts
|
|
366
|
-
import { zodAsFactory as
|
|
367
|
-
import { BaseConfigContextZod as BaseConfigContextZod5, HostActorConfigZod as HostActorConfigZod4 } from "@xyo-network/xl1-sdk";
|
|
368
|
-
var RewardRedemptionConfigZod = HostActorConfigZod4.extend({
|
|
369
|
-
accountIndex: ActorAccountIndexZod("rewardRedemption.accountIndex")
|
|
370
|
-
});
|
|
371
|
-
var isRewardRedemptionConfig = zodIsFactory5(RewardRedemptionConfigZod);
|
|
372
|
-
var asRewardRedemptionConfig = zodAsFactory5(RewardRedemptionConfigZod, "asRewardRedemptionConfig");
|
|
373
|
-
var toRewardRedemptionConfig = zodToFactory5(RewardRedemptionConfigZod, "toRewardRedemptionConfig");
|
|
374
|
-
var RewardRedemptionConfigContext = BaseConfigContextZod5.extend({
|
|
375
|
-
config: RewardRedemptionConfigZod
|
|
376
|
-
});
|
|
377
|
-
var isRewardRedemptionConfigContext = zodIsFactory5(RewardRedemptionConfigContext);
|
|
378
|
-
var asRewardRedemptionConfigContext = zodAsFactory5(RewardRedemptionConfigContext, "asRewardRedemptionConfigContext");
|
|
379
|
-
var toRewardRedemptionConfigContext = zodToFactory5(RewardRedemptionConfigContext, "toRewardRedemptionConfigContext");
|
|
380
|
-
|
|
381
|
-
// src/shared/config/actors/Validator.ts
|
|
382
|
-
import { AddressZod as AddressZod3, zodAsFactory as zodAsFactory6, zodIsFactory as zodIsFactory6, zodToFactory as zodToFactory6 } from "@xylabs/sdk-js";
|
|
368
|
+
import { zodAsFactory as zodAsFactory6, zodIsFactory as zodIsFactory6, zodToFactory as zodToFactory6 } from "@xylabs/sdk-js";
|
|
383
369
|
import { BaseConfigContextZod as BaseConfigContextZod6, HostActorConfigZod as HostActorConfigZod5 } from "@xyo-network/xl1-sdk";
|
|
384
|
-
|
|
385
|
-
var
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
var isValidatorConfig = zodIsFactory6(ValidatorConfigZod);
|
|
391
|
-
var asValidatorConfig = zodAsFactory6(ValidatorConfigZod, "asValidatorConfig");
|
|
392
|
-
var toValidatorConfig = zodToFactory6(ValidatorConfigZod, "toValidatorConfig");
|
|
393
|
-
var ValidatorConfigContext = BaseConfigContextZod6.extend({
|
|
394
|
-
config: ValidatorConfigZod
|
|
370
|
+
var RewardRedemptionConfigZod = HostActorConfigZod5.extend({});
|
|
371
|
+
var isRewardRedemptionConfig = zodIsFactory6(RewardRedemptionConfigZod);
|
|
372
|
+
var asRewardRedemptionConfig = zodAsFactory6(RewardRedemptionConfigZod, "asRewardRedemptionConfig");
|
|
373
|
+
var toRewardRedemptionConfig = zodToFactory6(RewardRedemptionConfigZod, "toRewardRedemptionConfig");
|
|
374
|
+
var RewardRedemptionConfigContext = BaseConfigContextZod6.extend({
|
|
375
|
+
config: RewardRedemptionConfigZod
|
|
395
376
|
});
|
|
396
|
-
var
|
|
397
|
-
var
|
|
398
|
-
var
|
|
377
|
+
var isRewardRedemptionConfigContext = zodIsFactory6(RewardRedemptionConfigContext);
|
|
378
|
+
var asRewardRedemptionConfigContext = zodAsFactory6(RewardRedemptionConfigContext, "asRewardRedemptionConfigContext");
|
|
379
|
+
var toRewardRedemptionConfigContext = zodToFactory6(RewardRedemptionConfigContext, "toRewardRedemptionConfigContext");
|
|
399
380
|
|
|
400
381
|
// src/shared/config/mergeConfig.ts
|
|
401
382
|
import { deepMerge } from "@xylabs/sdk-js";
|
|
@@ -465,30 +446,31 @@ var ServiceLifetime = {
|
|
|
465
446
|
import { isDefined } from "@xylabs/sdk-js";
|
|
466
447
|
|
|
467
448
|
// src/shared/init/walletResolution.ts
|
|
449
|
+
import { HDWallet } from "@xyo-network/sdk-js";
|
|
468
450
|
import { DEFAULT_WALLET_PATH, generateXyoBaseWalletFromPhrase } from "@xyo-network/xl1-sdk";
|
|
451
|
+
import { HDNodeWallet, Mnemonic } from "ethers";
|
|
452
|
+
var DEFAULT_ACTOR_ACCOUNT_PATH = {
|
|
453
|
+
api: "3",
|
|
454
|
+
bridge: "1",
|
|
455
|
+
finalizer: "5",
|
|
456
|
+
mempool: "4",
|
|
457
|
+
producer: "0",
|
|
458
|
+
rewardRedemption: "2"
|
|
459
|
+
};
|
|
469
460
|
var BUILT_IN_DEV_MNEMONIC = "crane ribbon cook cousin tobacco vital moral protect merit knock veteran hint knee ocean nurse";
|
|
470
461
|
var INSECURE_GENESIS_REWARD_MNEMONIC = "test test test test test test test test test test test junk";
|
|
471
462
|
var GENESIS_REWARD_AMOUNT = 20000000000000000000000n;
|
|
472
463
|
var ATTO_XL1_PER_XL1 = 1000000000000000000n;
|
|
473
464
|
var ROOT_WALLET_RUNTIME_ID = "_root";
|
|
474
465
|
var SHARED_ACCOUNT_REPORT_COUNT = 10;
|
|
475
|
-
var RESERVED_ACTOR_INDEX = {
|
|
476
|
-
[ROOT_WALLET_RUNTIME_ID]: 0,
|
|
477
|
-
api: 4,
|
|
478
|
-
bridge: 2,
|
|
479
|
-
mempool: 5,
|
|
480
|
-
producer: 1,
|
|
481
|
-
rewardRedemption: 3,
|
|
482
|
-
validator: 6
|
|
483
|
-
};
|
|
484
466
|
var ACTOR_LABELS = {
|
|
485
467
|
[ROOT_WALLET_RUNTIME_ID]: "root/local-node",
|
|
486
468
|
api: "api",
|
|
487
469
|
bridge: "bridge",
|
|
470
|
+
finalizer: "finalizer",
|
|
488
471
|
mempool: "mempool",
|
|
489
472
|
producer: "producer",
|
|
490
|
-
rewardRedemption: "rewardRedemption"
|
|
491
|
-
validator: "validator"
|
|
473
|
+
rewardRedemption: "rewardRedemption"
|
|
492
474
|
};
|
|
493
475
|
var activeWalletReport;
|
|
494
476
|
function getAccountLabel(actorName) {
|
|
@@ -499,10 +481,30 @@ function clearResolvedWalletReport() {
|
|
|
499
481
|
activeWalletReport = void 0;
|
|
500
482
|
}
|
|
501
483
|
__name(clearResolvedWalletReport, "clearResolvedWalletReport");
|
|
502
|
-
function
|
|
503
|
-
|
|
484
|
+
function resolveActorAccountPath(actorName, actorConfig) {
|
|
485
|
+
if (actorConfig?.accountPath !== void 0) return actorConfig.accountPath;
|
|
486
|
+
return DEFAULT_ACTOR_ACCOUNT_PATH[actorName] ?? "0";
|
|
487
|
+
}
|
|
488
|
+
__name(resolveActorAccountPath, "resolveActorAccountPath");
|
|
489
|
+
function isAbsoluteAccountPath(accountPath) {
|
|
490
|
+
return accountPath.startsWith("m/");
|
|
491
|
+
}
|
|
492
|
+
__name(isAbsoluteAccountPath, "isAbsoluteAccountPath");
|
|
493
|
+
function expandAccountPath(accountPath, basePath = DEFAULT_WALLET_PATH) {
|
|
494
|
+
return isAbsoluteAccountPath(accountPath) ? accountPath : `${basePath}/${accountPath}`;
|
|
495
|
+
}
|
|
496
|
+
__name(expandAccountPath, "expandAccountPath");
|
|
497
|
+
async function deriveWalletAtPath(mnemonic, accountPath) {
|
|
498
|
+
if (isAbsoluteAccountPath(accountPath)) {
|
|
499
|
+
const seed = Mnemonic.fromPhrase(mnemonic).computeSeed();
|
|
500
|
+
const rootNode = HDNodeWallet.fromSeed(seed);
|
|
501
|
+
const derivedNode = rootNode.derivePath(accountPath);
|
|
502
|
+
return await HDWallet.createFromNode(derivedNode);
|
|
503
|
+
}
|
|
504
|
+
const baseWallet = await generateXyoBaseWalletFromPhrase(mnemonic);
|
|
505
|
+
return await baseWallet.derivePath(accountPath);
|
|
504
506
|
}
|
|
505
|
-
__name(
|
|
507
|
+
__name(deriveWalletAtPath, "deriveWalletAtPath");
|
|
506
508
|
function getBuiltInDevMnemonic() {
|
|
507
509
|
return BUILT_IN_DEV_MNEMONIC;
|
|
508
510
|
}
|
|
@@ -512,52 +514,98 @@ function getInsecureGenesisRewardMnemonic() {
|
|
|
512
514
|
}
|
|
513
515
|
__name(getInsecureGenesisRewardMnemonic, "getInsecureGenesisRewardMnemonic");
|
|
514
516
|
function resolveRootWallet(configuration) {
|
|
517
|
+
const isConfigured = configuration.mnemonic !== void 0;
|
|
515
518
|
const mnemonic = configuration.mnemonic ?? BUILT_IN_DEV_MNEMONIC;
|
|
516
519
|
const isBuiltInDevMnemonic = mnemonic === BUILT_IN_DEV_MNEMONIC;
|
|
517
520
|
return {
|
|
518
521
|
basePath: DEFAULT_WALLET_PATH,
|
|
519
522
|
isBuiltInDevMnemonic,
|
|
523
|
+
isConfigured,
|
|
520
524
|
mnemonic,
|
|
521
525
|
mnemonicKind: isBuiltInDevMnemonic ? "built-in-dev" : "configured-root"
|
|
522
526
|
};
|
|
523
527
|
}
|
|
524
528
|
__name(resolveRootWallet, "resolveRootWallet");
|
|
525
|
-
async function resolveWalletMetadata({
|
|
526
|
-
const
|
|
527
|
-
const derivationPath = `${DEFAULT_WALLET_PATH}/${accountIndex}`;
|
|
528
|
-
const account = await wallet.derivePath(`${accountIndex}`);
|
|
529
|
+
async function resolveWalletMetadata({ accountPath, actorName, mnemonic, mnemonicKind }) {
|
|
530
|
+
const account = await deriveWalletAtPath(mnemonic, accountPath);
|
|
529
531
|
return {
|
|
530
|
-
|
|
532
|
+
accountPath,
|
|
531
533
|
actorName,
|
|
532
534
|
address: account.address,
|
|
533
|
-
derivationPath,
|
|
535
|
+
derivationPath: expandAccountPath(accountPath),
|
|
534
536
|
label: getAccountLabel(actorName),
|
|
535
537
|
mnemonic,
|
|
536
538
|
mnemonicKind,
|
|
537
539
|
privateKey: account.privateKey,
|
|
538
|
-
source,
|
|
539
540
|
usesBuiltInDevMnemonic: mnemonic === BUILT_IN_DEV_MNEMONIC
|
|
540
541
|
};
|
|
541
542
|
}
|
|
542
543
|
__name(resolveWalletMetadata, "resolveWalletMetadata");
|
|
543
544
|
async function resolveActorWallet(actorName, actorConfig, root) {
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
return await resolveWalletMetadata(actorMnemonic ? {
|
|
547
|
-
accountIndex: accountIndex ?? 0,
|
|
548
|
-
actorName,
|
|
549
|
-
mnemonic: actorMnemonic,
|
|
550
|
-
mnemonicKind: "configured-actor",
|
|
551
|
-
source: "actor"
|
|
552
|
-
} : {
|
|
553
|
-
accountIndex: accountIndex ?? getReservedActorIndex(actorName),
|
|
545
|
+
return await resolveWalletMetadata({
|
|
546
|
+
accountPath: resolveActorAccountPath(actorName, actorConfig),
|
|
554
547
|
actorName,
|
|
555
548
|
mnemonic: root.mnemonic,
|
|
556
|
-
mnemonicKind: root.mnemonicKind
|
|
557
|
-
source: "root"
|
|
549
|
+
mnemonicKind: root.mnemonicKind
|
|
558
550
|
});
|
|
559
551
|
}
|
|
560
552
|
__name(resolveActorWallet, "resolveActorWallet");
|
|
553
|
+
var ActorMnemonicNotAllowedError = class extends Error {
|
|
554
|
+
static {
|
|
555
|
+
__name(this, "ActorMnemonicNotAllowedError");
|
|
556
|
+
}
|
|
557
|
+
actors;
|
|
558
|
+
constructor(actors) {
|
|
559
|
+
super([
|
|
560
|
+
`Per-actor mnemonics are no longer allowed (found on: ${actors.join(", ")}).`,
|
|
561
|
+
'Move the mnemonic to the root (XL1_MNEMONIC, --mnemonic, or config file "xl1.mnemonic") and give each actor a distinct accountPath.'
|
|
562
|
+
].join("\n"));
|
|
563
|
+
this.name = "ActorMnemonicNotAllowedError";
|
|
564
|
+
this.actors = actors;
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
function assertNoActorMnemonics(configuration) {
|
|
568
|
+
const offenders = configuration.actors.filter((actor) => typeof actor.mnemonic === "string").map((actor) => actor.name);
|
|
569
|
+
if (offenders.length > 0) throw new ActorMnemonicNotAllowedError(offenders);
|
|
570
|
+
}
|
|
571
|
+
__name(assertNoActorMnemonics, "assertNoActorMnemonics");
|
|
572
|
+
var DerivationPathCollisionError = class extends Error {
|
|
573
|
+
static {
|
|
574
|
+
__name(this, "DerivationPathCollisionError");
|
|
575
|
+
}
|
|
576
|
+
collisions;
|
|
577
|
+
constructor(collisions) {
|
|
578
|
+
const lines = Object.entries(collisions).map(([path, actors]) => ` - ${actors.join(", ")} \u2192 ${path}`);
|
|
579
|
+
super([
|
|
580
|
+
"Two or more actors resolve to the same wallet derivation path:",
|
|
581
|
+
...lines,
|
|
582
|
+
"Change each actor's accountPath so every actor has a distinct path."
|
|
583
|
+
].join("\n"));
|
|
584
|
+
this.name = "DerivationPathCollisionError";
|
|
585
|
+
this.collisions = collisions;
|
|
586
|
+
}
|
|
587
|
+
};
|
|
588
|
+
function detectDerivationPathCollisions(requestedActors, configuration) {
|
|
589
|
+
const actorConfigMap = new Map(configuration.actors.map((actor) => [
|
|
590
|
+
actor.name,
|
|
591
|
+
actor
|
|
592
|
+
]));
|
|
593
|
+
const bucketsByPath = /* @__PURE__ */ new Map();
|
|
594
|
+
for (const actorName of requestedActors) {
|
|
595
|
+
const accountPath = resolveActorAccountPath(actorName, actorConfigMap.get(actorName));
|
|
596
|
+
const fullPath = expandAccountPath(accountPath);
|
|
597
|
+
const bucket = bucketsByPath.get(fullPath) ?? [];
|
|
598
|
+
bucket.push(actorName);
|
|
599
|
+
bucketsByPath.set(fullPath, bucket);
|
|
600
|
+
}
|
|
601
|
+
const collisions = {};
|
|
602
|
+
for (const [path, actors] of bucketsByPath) {
|
|
603
|
+
if (actors.length > 1) collisions[path] = actors;
|
|
604
|
+
}
|
|
605
|
+
if (Object.keys(collisions).length === 0) return void 0;
|
|
606
|
+
return new DerivationPathCollisionError(collisions);
|
|
607
|
+
}
|
|
608
|
+
__name(detectDerivationPathCollisions, "detectDerivationPathCollisions");
|
|
561
609
|
async function resolveWalletReport(requestedActors, configuration) {
|
|
562
610
|
const root = resolveRootWallet(configuration);
|
|
563
611
|
const actorConfigMap = new Map(configuration.actors.map((actor) => [
|
|
@@ -565,62 +613,54 @@ async function resolveWalletReport(requestedActors, configuration) {
|
|
|
565
613
|
actor
|
|
566
614
|
]));
|
|
567
615
|
const resolvedActors = await Promise.all(requestedActors.map(async (actorName) => await resolveActorWallet(actorName, actorConfigMap.get(actorName), root)));
|
|
568
|
-
const labelMap = /* @__PURE__ */ new Map(
|
|
569
|
-
[
|
|
570
|
-
0,
|
|
571
|
-
[
|
|
572
|
-
getAccountLabel(ROOT_WALLET_RUNTIME_ID)
|
|
573
|
-
]
|
|
574
|
-
]
|
|
575
|
-
]);
|
|
616
|
+
const labelMap = /* @__PURE__ */ new Map();
|
|
576
617
|
for (const actor of resolvedActors) {
|
|
577
|
-
|
|
578
|
-
const labels = labelMap.get(actor.accountIndex) ?? [];
|
|
618
|
+
const labels = labelMap.get(actor.derivationPath) ?? [];
|
|
579
619
|
labels.push(actor.label);
|
|
580
|
-
labelMap.set(actor.
|
|
620
|
+
labelMap.set(actor.derivationPath, labels);
|
|
581
621
|
}
|
|
582
622
|
const sharedAccounts = await Promise.all(Array.from({
|
|
583
623
|
length: SHARED_ACCOUNT_REPORT_COUNT
|
|
584
|
-
}, (_, index) => index).map(async (
|
|
624
|
+
}, (_, index) => index).map(async (sharedIndex) => {
|
|
585
625
|
const account = await resolveWalletMetadata({
|
|
586
|
-
|
|
626
|
+
accountPath: `${sharedIndex}`,
|
|
587
627
|
actorName: ROOT_WALLET_RUNTIME_ID,
|
|
588
628
|
mnemonic: root.mnemonic,
|
|
589
|
-
mnemonicKind: root.mnemonicKind
|
|
590
|
-
source: "root"
|
|
629
|
+
mnemonicKind: root.mnemonicKind
|
|
591
630
|
});
|
|
592
|
-
const labels = labelMap.get(
|
|
631
|
+
const labels = labelMap.get(account.derivationPath);
|
|
593
632
|
return {
|
|
594
633
|
...account,
|
|
595
|
-
label: labels?.join(", ") ?? `shared[${
|
|
634
|
+
label: labels?.join(", ") ?? `shared[${sharedIndex}]`
|
|
596
635
|
};
|
|
597
636
|
}));
|
|
598
|
-
|
|
637
|
+
return {
|
|
638
|
+
requestedActors: [
|
|
639
|
+
...requestedActors
|
|
640
|
+
],
|
|
641
|
+
root,
|
|
642
|
+
sharedAccounts
|
|
643
|
+
};
|
|
644
|
+
}
|
|
645
|
+
__name(resolveWalletReport, "resolveWalletReport");
|
|
646
|
+
async function buildInsecureGenesisRewardAccounts() {
|
|
647
|
+
const accounts = await Promise.all(Array.from({
|
|
599
648
|
length: SHARED_ACCOUNT_REPORT_COUNT
|
|
600
|
-
}, (_, index) => index).map(async (
|
|
649
|
+
}, (_, index) => index).map(async (sharedIndex) => {
|
|
601
650
|
const account = await resolveWalletMetadata({
|
|
602
|
-
|
|
651
|
+
accountPath: `${sharedIndex}`,
|
|
603
652
|
actorName: "genesisReward",
|
|
604
653
|
mnemonic: INSECURE_GENESIS_REWARD_MNEMONIC,
|
|
605
|
-
mnemonicKind: "
|
|
606
|
-
source: "actor"
|
|
654
|
+
mnemonicKind: "insecure-genesis-reward"
|
|
607
655
|
});
|
|
608
656
|
return {
|
|
609
657
|
...account,
|
|
610
|
-
label:
|
|
658
|
+
label: sharedIndex === 0 ? "genesisRewardAddress" : `genesisReward[${sharedIndex}]`
|
|
611
659
|
};
|
|
612
660
|
}));
|
|
613
|
-
return
|
|
614
|
-
actorSpecificAccounts: resolvedActors.filter((actor) => actor.source === "actor"),
|
|
615
|
-
insecureGenesisRewardAccounts,
|
|
616
|
-
requestedActors: [
|
|
617
|
-
...requestedActors
|
|
618
|
-
],
|
|
619
|
-
root,
|
|
620
|
-
sharedAccounts
|
|
621
|
-
};
|
|
661
|
+
return accounts;
|
|
622
662
|
}
|
|
623
|
-
__name(
|
|
663
|
+
__name(buildInsecureGenesisRewardAccounts, "buildInsecureGenesisRewardAccounts");
|
|
624
664
|
async function initializeResolvedWalletReport(requestedActors, configuration) {
|
|
625
665
|
activeWalletReport = await resolveWalletReport(requestedActors, configuration);
|
|
626
666
|
return activeWalletReport;
|
|
@@ -632,7 +672,7 @@ function getResolvedWalletReport() {
|
|
|
632
672
|
__name(getResolvedWalletReport, "getResolvedWalletReport");
|
|
633
673
|
function formatSharedAccount(account, showPrivateKey) {
|
|
634
674
|
const lines = [
|
|
635
|
-
`[${account.
|
|
675
|
+
`[${account.accountPath}] ${account.label}`,
|
|
636
676
|
`source: ${account.mnemonicKind === "built-in-dev" ? "built-in dev mnemonic" : "configured root mnemonic"}`,
|
|
637
677
|
`path: ${account.derivationPath}`,
|
|
638
678
|
`address: ${account.address}`
|
|
@@ -641,19 +681,10 @@ function formatSharedAccount(account, showPrivateKey) {
|
|
|
641
681
|
return lines.join("\n");
|
|
642
682
|
}
|
|
643
683
|
__name(formatSharedAccount, "formatSharedAccount");
|
|
644
|
-
function formatActorSpecificAccount(account) {
|
|
645
|
-
return [
|
|
646
|
-
account.label,
|
|
647
|
-
"source: actor mnemonic",
|
|
648
|
-
`path: ${account.derivationPath}`,
|
|
649
|
-
`address: ${account.address}`
|
|
650
|
-
].join("\n");
|
|
651
|
-
}
|
|
652
|
-
__name(formatActorSpecificAccount, "formatActorSpecificAccount");
|
|
653
684
|
function formatGenesisRewardAccount(account) {
|
|
654
|
-
const balance = account.
|
|
685
|
+
const balance = account.accountPath === "0" ? GENESIS_REWARD_AMOUNT / ATTO_XL1_PER_XL1 : 0n;
|
|
655
686
|
return [
|
|
656
|
-
`[${account.
|
|
687
|
+
`[${account.accountPath}] ${account.label}`,
|
|
657
688
|
`path: ${account.derivationPath}`,
|
|
658
689
|
`address: ${account.address}`,
|
|
659
690
|
`privateKey: ${account.privateKey ?? "unavailable"}`,
|
|
@@ -683,34 +714,28 @@ function formatWalletReport(report) {
|
|
|
683
714
|
"",
|
|
684
715
|
report.sharedAccounts.map((account) => formatSharedAccount(account, showSecrets)).join("\n\n")
|
|
685
716
|
].join("\n"));
|
|
686
|
-
if (report.actorSpecificAccounts.length > 0) {
|
|
687
|
-
sections.push([
|
|
688
|
-
"Actor-specific wallet accounts:",
|
|
689
|
-
"",
|
|
690
|
-
report.actorSpecificAccounts.map((account) => formatActorSpecificAccount(account)).join("\n\n")
|
|
691
|
-
].join("\n"));
|
|
692
|
-
}
|
|
693
|
-
if (report.insecureGenesisRewardAccounts) {
|
|
694
|
-
sections.push([
|
|
695
|
-
"INSECURE GENESIS REWARD WALLET WARNING",
|
|
696
|
-
"",
|
|
697
|
-
"XL1 is using a public, insecure fallback wallet for the genesis reward address.",
|
|
698
|
-
"This phrase is intentionally unsafe and must never be used for real funds, production systems, or shared environments.",
|
|
699
|
-
"Anyone with this information can fully control the genesis reward wallet.",
|
|
700
|
-
"",
|
|
701
|
-
"Genesis reward phrase:",
|
|
702
|
-
INSECURE_GENESIS_REWARD_MNEMONIC,
|
|
703
|
-
"",
|
|
704
|
-
`The genesis reward is sent to index 0 and starts with ${(GENESIS_REWARD_AMOUNT / ATTO_XL1_PER_XL1).toString()} XL1.`,
|
|
705
|
-
"",
|
|
706
|
-
`Genesis reward wallet accounts from ${DEFAULT_WALLET_PATH}:`,
|
|
707
|
-
"",
|
|
708
|
-
report.insecureGenesisRewardAccounts.map((account) => formatGenesisRewardAccount(account)).join("\n\n")
|
|
709
|
-
].join("\n"));
|
|
710
|
-
}
|
|
711
717
|
return sections.join("\n\n");
|
|
712
718
|
}
|
|
713
719
|
__name(formatWalletReport, "formatWalletReport");
|
|
720
|
+
function formatInsecureGenesisRewardWarning(accounts) {
|
|
721
|
+
return [
|
|
722
|
+
"INSECURE GENESIS REWARD WALLET WARNING",
|
|
723
|
+
"",
|
|
724
|
+
"XL1 is using a public, insecure fallback wallet for the genesis reward address.",
|
|
725
|
+
"This phrase is intentionally unsafe and must never be used for real funds, production systems, or shared environments.",
|
|
726
|
+
"Anyone with this information can fully control the genesis reward wallet.",
|
|
727
|
+
"",
|
|
728
|
+
"Genesis reward phrase:",
|
|
729
|
+
INSECURE_GENESIS_REWARD_MNEMONIC,
|
|
730
|
+
"",
|
|
731
|
+
`The genesis reward is sent to index 0 and starts with ${(GENESIS_REWARD_AMOUNT / ATTO_XL1_PER_XL1).toString()} XL1.`,
|
|
732
|
+
"",
|
|
733
|
+
`Genesis reward wallet accounts from ${DEFAULT_WALLET_PATH}:`,
|
|
734
|
+
"",
|
|
735
|
+
accounts.map((account) => formatGenesisRewardAccount(account)).join("\n\n")
|
|
736
|
+
].join("\n");
|
|
737
|
+
}
|
|
738
|
+
__name(formatInsecureGenesisRewardWarning, "formatInsecureGenesisRewardWarning");
|
|
714
739
|
async function resolveGenesisRewardAddress(config) {
|
|
715
740
|
if (config.chain.genesisRewardAddress) return config.chain.genesisRewardAddress;
|
|
716
741
|
const wallet = await generateXyoBaseWalletFromPhrase(INSECURE_GENESIS_REWARD_MNEMONIC);
|
|
@@ -718,12 +743,11 @@ async function resolveGenesisRewardAddress(config) {
|
|
|
718
743
|
return account.address;
|
|
719
744
|
}
|
|
720
745
|
__name(resolveGenesisRewardAddress, "resolveGenesisRewardAddress");
|
|
721
|
-
async function resolveWalletForActor(actorName,
|
|
722
|
-
const
|
|
723
|
-
const
|
|
724
|
-
const
|
|
725
|
-
|
|
726
|
-
return await wallet.derivePath(`${resolvedAccountIndex}`);
|
|
746
|
+
async function resolveWalletForActor(actorName, accountPath) {
|
|
747
|
+
const report = activeWalletReport;
|
|
748
|
+
const mnemonic = report?.root.mnemonic ?? BUILT_IN_DEV_MNEMONIC;
|
|
749
|
+
const resolvedAccountPath = accountPath ?? resolveActorAccountPath(actorName);
|
|
750
|
+
return await deriveWalletAtPath(mnemonic, resolvedAccountPath);
|
|
727
751
|
}
|
|
728
752
|
__name(resolveWalletForActor, "resolveWalletForActor");
|
|
729
753
|
|
|
@@ -732,8 +756,8 @@ var actorAccountSingletons = {};
|
|
|
732
756
|
async function initActorAccount({ config, logger }) {
|
|
733
757
|
const actorName = config.name;
|
|
734
758
|
if (isDefined(actorAccountSingletons[actorName])) return actorAccountSingletons[actorName];
|
|
735
|
-
const
|
|
736
|
-
const account = await resolveWalletForActor(actorName,
|
|
759
|
+
const accountPath = typeof config.accountPath === "string" ? config.accountPath : void 0;
|
|
760
|
+
const account = await resolveWalletForActor(actorName, accountPath);
|
|
737
761
|
logger?.debug(`[${actorName}] Using wallet address ${account.address}`);
|
|
738
762
|
actorAccountSingletons[actorName] = account;
|
|
739
763
|
return actorAccountSingletons[actorName];
|
|
@@ -747,10 +771,7 @@ async function initActorSeedPhrase(context, bios) {
|
|
|
747
771
|
const walletKind = config.name;
|
|
748
772
|
void bios;
|
|
749
773
|
const report = getResolvedWalletReport();
|
|
750
|
-
const account = config.name === ROOT_WALLET_RUNTIME_ID ? report?.sharedAccounts.find((entry) => entry.accountIndex === 0) : report?.actorSpecificAccounts.find((entry) => entry.actorName === config.name);
|
|
751
|
-
if (isString(account?.mnemonic)) return account.mnemonic;
|
|
752
774
|
if (isString(report?.root.mnemonic)) return report.root.mnemonic;
|
|
753
|
-
if (isString(config.mnemonic)) return config.mnemonic;
|
|
754
775
|
const fallback = getBuiltInDevMnemonic();
|
|
755
776
|
logger?.debug(`[${walletKind}] Falling back to built-in development mnemonic`);
|
|
756
777
|
return assertEx(fallback, () => "Unable to resolve mnemonic");
|
|
@@ -807,10 +828,10 @@ function initStatusReporter({ logger }) {
|
|
|
807
828
|
__name(initStatusReporter, "initStatusReporter");
|
|
808
829
|
|
|
809
830
|
// src/shared/init/initWallet.ts
|
|
810
|
-
async function initActorWallet(context
|
|
811
|
-
const actorName = context.config.name
|
|
812
|
-
const
|
|
813
|
-
return await resolveWalletForActor(actorName,
|
|
831
|
+
async function initActorWallet(context) {
|
|
832
|
+
const actorName = context.config.name;
|
|
833
|
+
const accountPath = typeof context.config.accountPath === "string" ? context.config.accountPath : void 0;
|
|
834
|
+
return await resolveWalletForActor(actorName, accountPath);
|
|
814
835
|
}
|
|
815
836
|
__name(initActorWallet, "initActorWallet");
|
|
816
837
|
|
|
@@ -879,6 +900,41 @@ Orchestrator = _ts_decorate2([
|
|
|
879
900
|
creatable2()
|
|
880
901
|
], Orchestrator);
|
|
881
902
|
|
|
903
|
+
// src/shared/provider/SimpleRejectedTransactionsArchivistProvider.ts
|
|
904
|
+
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
905
|
+
import { AbstractCreatableProvider, creatableProvider } from "@xyo-network/xl1-sdk";
|
|
906
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
907
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
908
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
909
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
910
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
911
|
+
}
|
|
912
|
+
__name(_ts_decorate3, "_ts_decorate");
|
|
913
|
+
var RejectedTransactionsArchivistProviderMoniker = "RejectedTransactionsArchivistProvider";
|
|
914
|
+
var SimpleRejectedTransactionsArchivistProvider = class _SimpleRejectedTransactionsArchivistProvider extends AbstractCreatableProvider {
|
|
915
|
+
static {
|
|
916
|
+
__name(this, "SimpleRejectedTransactionsArchivistProvider");
|
|
917
|
+
}
|
|
918
|
+
static defaultMoniker = RejectedTransactionsArchivistProviderMoniker;
|
|
919
|
+
static dependencies = [];
|
|
920
|
+
static monikers = [
|
|
921
|
+
RejectedTransactionsArchivistProviderMoniker
|
|
922
|
+
];
|
|
923
|
+
moniker = _SimpleRejectedTransactionsArchivistProvider.defaultMoniker;
|
|
924
|
+
get archivist() {
|
|
925
|
+
return this.params.archivist;
|
|
926
|
+
}
|
|
927
|
+
static async paramsHandler(params) {
|
|
928
|
+
return {
|
|
929
|
+
...await super.paramsHandler(params),
|
|
930
|
+
archivist: assertEx3(params?.archivist, () => "archivist is required")
|
|
931
|
+
};
|
|
932
|
+
}
|
|
933
|
+
};
|
|
934
|
+
SimpleRejectedTransactionsArchivistProvider = _ts_decorate3([
|
|
935
|
+
creatableProvider()
|
|
936
|
+
], SimpleRejectedTransactionsArchivistProvider);
|
|
937
|
+
|
|
882
938
|
// src/neutral/config/locators/basicRemoteRunnerLocator.ts
|
|
883
939
|
import { basicRemoteRunnerLocator as sdkBasicRemoteRunnerLocator } from "@xyo-network/xl1-sdk";
|
|
884
940
|
function basicRemoteRunnerLocator(name, remoteConfig, signerTransport, dataLakeEndpoint, validators) {
|
|
@@ -898,17 +954,18 @@ function basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint, validato
|
|
|
898
954
|
__name(basicRemoteViewerLocator, "basicRemoteViewerLocator");
|
|
899
955
|
|
|
900
956
|
// src/neutral/config/locators/rootLocatorFromConfig.ts
|
|
901
|
-
import { assertEx as
|
|
957
|
+
import { assertEx as assertEx4 } from "@xylabs/sdk-js";
|
|
902
958
|
import { commonLocatorFromConfig, remoteLocatorFromConfig } from "@xyo-network/xl1-sdk";
|
|
903
959
|
async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
904
960
|
const { config } = context;
|
|
905
961
|
await commonLocatorFromConfig(context, validateDepsOnRegister);
|
|
906
|
-
const locator =
|
|
962
|
+
const locator = assertEx4(await (config.remote.rpc ? remoteLocatorFromConfig(context, validateDepsOnRegister) : void 0), () => "Root locator could not be created from config. No supported configuration found.");
|
|
907
963
|
locator.freeze();
|
|
908
964
|
return locator;
|
|
909
965
|
}
|
|
910
966
|
__name(rootLocatorFromConfig, "rootLocatorFromConfig");
|
|
911
967
|
export {
|
|
968
|
+
ActorMnemonicNotAllowedError,
|
|
912
969
|
ApiConfigContext,
|
|
913
970
|
ApiConfigZod,
|
|
914
971
|
BUILT_IN_DEV_MNEMONIC,
|
|
@@ -916,10 +973,15 @@ export {
|
|
|
916
973
|
BridgeConfigContext,
|
|
917
974
|
BridgeConfigZod,
|
|
918
975
|
BridgeSettingsZod,
|
|
976
|
+
DEFAULT_ACTOR_ACCOUNT_PATH,
|
|
919
977
|
DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL,
|
|
920
978
|
DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL,
|
|
921
979
|
DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL,
|
|
922
980
|
DefaultServiceProvider,
|
|
981
|
+
DerivationPathCollisionError,
|
|
982
|
+
FinalizerActor,
|
|
983
|
+
FinalizerConfigContext,
|
|
984
|
+
FinalizerConfigZod,
|
|
923
985
|
GENESIS_REWARD_AMOUNT,
|
|
924
986
|
GenericHost,
|
|
925
987
|
INSECURE_GENESIS_REWARD_MNEMONIC,
|
|
@@ -929,34 +991,37 @@ export {
|
|
|
929
991
|
ProducerConfigContext,
|
|
930
992
|
ProducerConfigZod,
|
|
931
993
|
ROOT_WALLET_RUNTIME_ID,
|
|
994
|
+
RejectedTransactionsArchivistProviderMoniker,
|
|
932
995
|
RewardRedemptionConfigContext,
|
|
933
996
|
RewardRedemptionConfigZod,
|
|
934
997
|
SHARED_ACCOUNT_REPORT_COUNT,
|
|
935
998
|
ServiceLifetime,
|
|
936
|
-
|
|
937
|
-
ValidatorConfigContext,
|
|
938
|
-
ValidatorConfigZod,
|
|
999
|
+
SimpleRejectedTransactionsArchivistProvider,
|
|
939
1000
|
asApiConfig,
|
|
940
1001
|
asApiConfigContext,
|
|
941
1002
|
asBridgeConfig,
|
|
942
1003
|
asBridgeConfigContext,
|
|
1004
|
+
asFinalizerConfig,
|
|
1005
|
+
asFinalizerConfigContext,
|
|
943
1006
|
asMempoolConfig,
|
|
944
1007
|
asMempoolConfigContext,
|
|
945
1008
|
asProducerConfig,
|
|
946
1009
|
asProducerConfigContext,
|
|
947
1010
|
asRewardRedemptionConfig,
|
|
948
1011
|
asRewardRedemptionConfigContext,
|
|
949
|
-
|
|
950
|
-
asValidatorConfigContext,
|
|
1012
|
+
assertNoActorMnemonics,
|
|
951
1013
|
basicRemoteRunnerLocator,
|
|
952
1014
|
basicRemoteViewerLocator,
|
|
1015
|
+
buildInsecureGenesisRewardAccounts,
|
|
953
1016
|
buildTelemetryConfig,
|
|
954
1017
|
clearResolvedWalletReport,
|
|
955
1018
|
createProducerChainStakeIntentBlock,
|
|
1019
|
+
detectDerivationPathCollisions,
|
|
1020
|
+
expandAccountPath,
|
|
1021
|
+
formatInsecureGenesisRewardWarning,
|
|
956
1022
|
formatWalletReport,
|
|
957
1023
|
getBuiltInDevMnemonic,
|
|
958
1024
|
getInsecureGenesisRewardMnemonic,
|
|
959
|
-
getReservedActorIndex,
|
|
960
1025
|
getResolvedWalletReport,
|
|
961
1026
|
initActorAccount,
|
|
962
1027
|
initActorSeedPhrase,
|
|
@@ -965,19 +1030,21 @@ export {
|
|
|
965
1030
|
initBridgedModule,
|
|
966
1031
|
initStatusReporter,
|
|
967
1032
|
initializeResolvedWalletReport,
|
|
1033
|
+
isAbsoluteAccountPath,
|
|
968
1034
|
isApiConfig,
|
|
969
1035
|
isApiConfigContext,
|
|
970
1036
|
isBridgeConfig,
|
|
971
1037
|
isBridgeConfigContext,
|
|
1038
|
+
isFinalizerConfig,
|
|
1039
|
+
isFinalizerConfigContext,
|
|
972
1040
|
isMempoolConfig,
|
|
973
1041
|
isMempoolConfigContext,
|
|
974
1042
|
isProducerConfig,
|
|
975
1043
|
isProducerConfigContext,
|
|
976
1044
|
isRewardRedemptionConfig,
|
|
977
1045
|
isRewardRedemptionConfigContext,
|
|
978
|
-
isValidatorConfig,
|
|
979
|
-
isValidatorConfigContext,
|
|
980
1046
|
mergeConfig,
|
|
1047
|
+
resolveActorAccountPath,
|
|
981
1048
|
resolveActorWallet,
|
|
982
1049
|
resolveGenesisRewardAddress,
|
|
983
1050
|
resolveRootWallet,
|
|
@@ -988,13 +1055,13 @@ export {
|
|
|
988
1055
|
toApiConfigContext,
|
|
989
1056
|
toBridgeConfig,
|
|
990
1057
|
toBridgeConfigContext,
|
|
1058
|
+
toFinalizerConfig,
|
|
1059
|
+
toFinalizerConfigContext,
|
|
991
1060
|
toMempoolConfig,
|
|
992
1061
|
toMempoolConfigContext,
|
|
993
1062
|
toProducerConfig,
|
|
994
1063
|
toProducerConfigContext,
|
|
995
1064
|
toRewardRedemptionConfig,
|
|
996
|
-
toRewardRedemptionConfigContext
|
|
997
|
-
toValidatorConfig,
|
|
998
|
-
toValidatorConfigContext
|
|
1065
|
+
toRewardRedemptionConfigContext
|
|
999
1066
|
};
|
|
1000
1067
|
//# sourceMappingURL=index.mjs.map
|