@xyo-network/chain-orchestration 1.20.20 → 1.20.22
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 +188 -122
- 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 +3 -154
- 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/browser/node/manifest/NamedLmdbArchivist.d.ts +18 -0
- package/dist/browser/node/manifest/NamedLmdbArchivist.d.ts.map +1 -0
- package/dist/browser/node/manifest/getLocator.d.ts.map +1 -1
- package/dist/{neutral/shared/actor/ValidatorActor.d.ts → browser/shared/actor/FinalizerActor.d.ts} +7 -10
- 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/{Validator.d.ts → Finalizer.d.ts} +18 -18
- package/dist/browser/shared/config/actors/{Validator.d.ts.map → Finalizer.d.ts.map} +1 -1
- package/dist/browser/shared/config/actors/Mempool.d.ts +14 -0
- package/dist/browser/shared/config/actors/Mempool.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/index.d.ts +1 -0
- package/dist/browser/shared/index.d.ts.map +1 -1
- package/dist/browser/shared/init/walletResolution.d.ts +4 -1
- 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 +188 -122
- 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 +3 -154
- 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/neutral/node/manifest/NamedLmdbArchivist.d.ts +18 -0
- package/dist/neutral/node/manifest/NamedLmdbArchivist.d.ts.map +1 -0
- package/dist/neutral/node/manifest/getLocator.d.ts.map +1 -1
- package/dist/{node/shared/actor/ValidatorActor.d.ts → neutral/shared/actor/FinalizerActor.d.ts} +7 -10
- 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/{Validator.d.ts → Finalizer.d.ts} +18 -18
- package/dist/neutral/shared/config/actors/{Validator.d.ts.map → Finalizer.d.ts.map} +1 -1
- package/dist/neutral/shared/config/actors/Mempool.d.ts +14 -0
- package/dist/neutral/shared/config/actors/Mempool.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/index.d.ts +1 -0
- package/dist/neutral/shared/index.d.ts.map +1 -1
- package/dist/neutral/shared/init/walletResolution.d.ts +4 -1
- 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 +324 -171
- 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 +3 -154
- 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/node/node/manifest/NamedLmdbArchivist.d.ts +18 -0
- package/dist/node/node/manifest/NamedLmdbArchivist.d.ts.map +1 -0
- package/dist/node/node/manifest/getLocator.d.ts.map +1 -1
- package/dist/{browser/shared/actor/ValidatorActor.d.ts → node/shared/actor/FinalizerActor.d.ts} +7 -10
- 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/{Validator.d.ts → Finalizer.d.ts} +18 -18
- package/dist/node/shared/config/actors/{Validator.d.ts.map → Finalizer.d.ts.map} +1 -1
- package/dist/node/shared/config/actors/Mempool.d.ts +14 -0
- package/dist/node/shared/config/actors/Mempool.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/index.d.ts +1 -0
- package/dist/node/shared/index.d.ts.map +1 -1
- package/dist/node/shared/init/walletResolution.d.ts +4 -1
- 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 +23 -22
- package/dist/browser/shared/actor/ValidatorActor.d.ts.map +0 -1
- package/dist/neutral/shared/actor/ValidatorActor.d.ts.map +0 -1
- package/dist/node/shared/actor/ValidatorActor.d.ts.map +0 -1
package/dist/node/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) {
|
|
@@ -248,15 +246,36 @@ var isBridgeConfigContext = zodIsFactory2(BridgeConfigContext);
|
|
|
248
246
|
var asBridgeConfigContext = zodAsFactory2(BridgeConfigContext, "asBridgeConfigContext");
|
|
249
247
|
var toBridgeConfigContext = zodToFactory2(BridgeConfigContext, "toBridgeConfigContext");
|
|
250
248
|
|
|
251
|
-
// src/shared/config/actors/
|
|
252
|
-
import { zodAsFactory as zodAsFactory3, zodIsFactory as zodIsFactory3, zodToFactory as zodToFactory3 } from "@xylabs/sdk-js";
|
|
249
|
+
// src/shared/config/actors/Finalizer.ts
|
|
250
|
+
import { AddressZod as AddressZod2, zodAsFactory as zodAsFactory3, zodIsFactory as zodIsFactory3, zodToFactory as zodToFactory3 } from "@xylabs/sdk-js";
|
|
253
251
|
import { BaseConfigContextZod as BaseConfigContextZod3, HostActorConfigZod as HostActorConfigZod3 } from "@xyo-network/xl1-sdk";
|
|
254
|
-
import {
|
|
255
|
-
var
|
|
252
|
+
import { z as z4 } from "zod";
|
|
253
|
+
var FinalizerConfigZod = HostActorConfigZod3.extend({
|
|
254
|
+
accountIndex: ActorAccountIndexZod("finalizer.accountIndex"),
|
|
255
|
+
allowedProducers: z4.array(AddressZod2).optional(),
|
|
256
|
+
minCandidates: z4.number().int().min(0).default(1)
|
|
257
|
+
});
|
|
258
|
+
var isFinalizerConfig = zodIsFactory3(FinalizerConfigZod);
|
|
259
|
+
var asFinalizerConfig = zodAsFactory3(FinalizerConfigZod, "asFinalizerConfig");
|
|
260
|
+
var toFinalizerConfig = zodToFactory3(FinalizerConfigZod, "toFinalizerConfig");
|
|
261
|
+
var FinalizerConfigContext = BaseConfigContextZod3.extend({
|
|
262
|
+
config: FinalizerConfigZod
|
|
263
|
+
});
|
|
264
|
+
var isFinalizerConfigContext = zodIsFactory3(FinalizerConfigContext);
|
|
265
|
+
var asFinalizerConfigContext = zodAsFactory3(FinalizerConfigContext, "asFinalizerConfigContext");
|
|
266
|
+
var toFinalizerConfigContext = zodToFactory3(FinalizerConfigContext, "toFinalizerConfigContext");
|
|
267
|
+
|
|
268
|
+
// src/shared/config/actors/Mempool.ts
|
|
269
|
+
import { zodAsFactory as zodAsFactory4, zodIsFactory as zodIsFactory4, zodToFactory as zodToFactory4 } from "@xylabs/sdk-js";
|
|
270
|
+
import { BaseConfigContextZod as BaseConfigContextZod4, HostActorConfigZod as HostActorConfigZod4 } from "@xyo-network/xl1-sdk";
|
|
271
|
+
import { globalRegistry as globalRegistry4, z as z5 } from "zod";
|
|
272
|
+
var DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL = 1e3;
|
|
273
|
+
var DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL = 1e3;
|
|
274
|
+
var MempoolConfigZod = HostActorConfigZod4.extend({
|
|
256
275
|
accountIndex: ActorAccountIndexZod("mempool.accountIndex"),
|
|
257
|
-
enabled:
|
|
258
|
-
|
|
259
|
-
|
|
276
|
+
enabled: z5.union([
|
|
277
|
+
z5.string(),
|
|
278
|
+
z5.boolean()
|
|
260
279
|
]).default("false").transform((val, ctx) => {
|
|
261
280
|
if (typeof val === "boolean") return val;
|
|
262
281
|
const normalized = val.toLowerCase().trim();
|
|
@@ -277,113 +296,104 @@ var MempoolConfigZod = HostActorConfigZod3.extend({
|
|
|
277
296
|
expected: "boolean",
|
|
278
297
|
message: `Invalid boolean value: "${val}". Use true/false, 1/0, yes/no.`
|
|
279
298
|
});
|
|
280
|
-
return
|
|
299
|
+
return z5.NEVER;
|
|
281
300
|
}).register(globalRegistry4, {
|
|
282
301
|
default: "false",
|
|
283
302
|
description: "Enable the Mempool",
|
|
284
303
|
title: "mempool.enabled",
|
|
285
304
|
type: "boolean"
|
|
305
|
+
}),
|
|
306
|
+
blockPruneInterval: z5.coerce.number().default(DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL).register(globalRegistry4, {
|
|
307
|
+
description: "The interval time (in milliseconds) between pending block prune attempts",
|
|
308
|
+
title: "mempool.blockPruneInterval",
|
|
309
|
+
type: "number"
|
|
310
|
+
}),
|
|
311
|
+
transactionPruneInterval: z5.coerce.number().default(DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL).register(globalRegistry4, {
|
|
312
|
+
description: "The interval time (in milliseconds) between pending transaction prune attempts",
|
|
313
|
+
title: "mempool.transactionPruneInterval",
|
|
314
|
+
type: "number"
|
|
286
315
|
})
|
|
287
316
|
});
|
|
288
|
-
var isMempoolConfig =
|
|
289
|
-
var asMempoolConfig =
|
|
290
|
-
var toMempoolConfig =
|
|
291
|
-
var MempoolConfigContext =
|
|
317
|
+
var isMempoolConfig = zodIsFactory4(MempoolConfigZod);
|
|
318
|
+
var asMempoolConfig = zodAsFactory4(MempoolConfigZod, "asMempoolConfig");
|
|
319
|
+
var toMempoolConfig = zodToFactory4(MempoolConfigZod, "toMempoolConfig");
|
|
320
|
+
var MempoolConfigContext = BaseConfigContextZod4.extend({
|
|
292
321
|
config: MempoolConfigZod
|
|
293
322
|
});
|
|
294
|
-
var isMempoolConfigContext =
|
|
295
|
-
var asMempoolConfigContext =
|
|
296
|
-
var toMempoolConfigContext =
|
|
323
|
+
var isMempoolConfigContext = zodIsFactory4(MempoolConfigContext);
|
|
324
|
+
var asMempoolConfigContext = zodAsFactory4(MempoolConfigContext, "asMempoolConfigContext");
|
|
325
|
+
var toMempoolConfigContext = zodToFactory4(MempoolConfigContext, "toMempoolConfigContext");
|
|
297
326
|
|
|
298
327
|
// src/shared/config/actors/Producer.ts
|
|
299
|
-
import { AddressZod as
|
|
300
|
-
import { ActorConfigZod, BaseConfigContextZod as
|
|
301
|
-
import { globalRegistry as globalRegistry5, z as
|
|
328
|
+
import { AddressZod as AddressZod3, asAddress, zodAsFactory as zodAsFactory5, zodIsFactory as zodIsFactory5, zodToFactory as zodToFactory5 } from "@xylabs/sdk-js";
|
|
329
|
+
import { ActorConfigZod, BaseConfigContextZod as BaseConfigContextZod5 } from "@xyo-network/xl1-sdk";
|
|
330
|
+
import { globalRegistry as globalRegistry5, z as z6 } from "zod";
|
|
302
331
|
var DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL = 1e4;
|
|
303
|
-
var ProducerConfigZod = ActorConfigZod.extend(
|
|
332
|
+
var ProducerConfigZod = ActorConfigZod.extend(z6.object({
|
|
304
333
|
accountIndex: ActorAccountIndexZod("producer.accountIndex"),
|
|
305
|
-
allowlist:
|
|
334
|
+
allowlist: z6.preprocess((val) => {
|
|
306
335
|
if (typeof val === "string") {
|
|
307
336
|
return val.split(",").map((s) => asAddress(s.trim()));
|
|
308
337
|
}
|
|
309
338
|
return val;
|
|
310
|
-
},
|
|
339
|
+
}, z6.array(AddressZod3).optional().register(globalRegistry5, {
|
|
311
340
|
description: "List of allowed producer addresses, if undefined anyone can participate",
|
|
312
341
|
title: "allowlist",
|
|
313
342
|
type: "array"
|
|
314
343
|
})),
|
|
315
|
-
blockProductionCheckInterval:
|
|
344
|
+
blockProductionCheckInterval: z6.coerce.number().default(DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL).register(globalRegistry5, {
|
|
316
345
|
description: "The interval time (in milliseconds) between block production attempts",
|
|
317
346
|
title: "producer.blockProductionCheckInterval",
|
|
318
347
|
type: "number"
|
|
319
348
|
}),
|
|
320
|
-
disableIntentRedeclaration:
|
|
349
|
+
disableIntentRedeclaration: z6.boolean().optional().register(globalRegistry5, {
|
|
321
350
|
description: "Should the producer skip redeclaring their intent to continue producing blocks",
|
|
322
351
|
title: "producer.disableIntentRedeclaration",
|
|
323
352
|
type: "boolean"
|
|
324
353
|
}),
|
|
325
|
-
heartbeatInterval:
|
|
354
|
+
heartbeatInterval: z6.coerce.number().default(36e5).register(globalRegistry5, {
|
|
326
355
|
description: "The number of milliseconds between heartbeats if no blocks are produced",
|
|
327
356
|
title: "producer.heartbeatInterval",
|
|
328
357
|
type: "number"
|
|
329
358
|
}),
|
|
330
359
|
// TODO: BigInt schema
|
|
331
|
-
minStake:
|
|
360
|
+
minStake: z6.coerce.number().default(1).register(globalRegistry5, {
|
|
332
361
|
description: "Minimum stake required to be a Producer",
|
|
333
362
|
title: "producer.minStake",
|
|
334
363
|
type: "number"
|
|
335
364
|
}),
|
|
336
365
|
// TODO: Address schema
|
|
337
|
-
rewardAddress:
|
|
366
|
+
rewardAddress: z6.string().optional().register(globalRegistry5, {
|
|
338
367
|
description: "Address to receive block rewards",
|
|
339
368
|
title: "producer.rewardAddress",
|
|
340
369
|
type: "string"
|
|
341
370
|
})
|
|
342
371
|
}).shape);
|
|
343
|
-
var isProducerConfig =
|
|
344
|
-
var asProducerConfig =
|
|
345
|
-
var toProducerConfig =
|
|
346
|
-
var ProducerConfigContext =
|
|
372
|
+
var isProducerConfig = zodIsFactory5(ProducerConfigZod);
|
|
373
|
+
var asProducerConfig = zodAsFactory5(ProducerConfigZod, "asProducerConfig");
|
|
374
|
+
var toProducerConfig = zodToFactory5(ProducerConfigZod, "toProducerConfig");
|
|
375
|
+
var ProducerConfigContext = BaseConfigContextZod5.extend({
|
|
347
376
|
config: ProducerConfigZod
|
|
348
377
|
});
|
|
349
|
-
var isProducerConfigContext =
|
|
350
|
-
var asProducerConfigContext =
|
|
351
|
-
var toProducerConfigContext =
|
|
378
|
+
var isProducerConfigContext = zodIsFactory5(ProducerConfigContext);
|
|
379
|
+
var asProducerConfigContext = zodAsFactory5(ProducerConfigContext, "asProducerConfigContext");
|
|
380
|
+
var toProducerConfigContext = zodToFactory5(ProducerConfigContext, "toProducerConfigContext");
|
|
352
381
|
|
|
353
382
|
// src/shared/config/actors/RewardRedemption.ts
|
|
354
|
-
import { zodAsFactory as
|
|
355
|
-
import { BaseConfigContextZod as
|
|
356
|
-
var RewardRedemptionConfigZod =
|
|
383
|
+
import { zodAsFactory as zodAsFactory6, zodIsFactory as zodIsFactory6, zodToFactory as zodToFactory6 } from "@xylabs/sdk-js";
|
|
384
|
+
import { BaseConfigContextZod as BaseConfigContextZod6, HostActorConfigZod as HostActorConfigZod5 } from "@xyo-network/xl1-sdk";
|
|
385
|
+
var RewardRedemptionConfigZod = HostActorConfigZod5.extend({
|
|
357
386
|
accountIndex: ActorAccountIndexZod("rewardRedemption.accountIndex")
|
|
358
387
|
});
|
|
359
|
-
var isRewardRedemptionConfig =
|
|
360
|
-
var asRewardRedemptionConfig =
|
|
361
|
-
var toRewardRedemptionConfig =
|
|
362
|
-
var RewardRedemptionConfigContext =
|
|
388
|
+
var isRewardRedemptionConfig = zodIsFactory6(RewardRedemptionConfigZod);
|
|
389
|
+
var asRewardRedemptionConfig = zodAsFactory6(RewardRedemptionConfigZod, "asRewardRedemptionConfig");
|
|
390
|
+
var toRewardRedemptionConfig = zodToFactory6(RewardRedemptionConfigZod, "toRewardRedemptionConfig");
|
|
391
|
+
var RewardRedemptionConfigContext = BaseConfigContextZod6.extend({
|
|
363
392
|
config: RewardRedemptionConfigZod
|
|
364
393
|
});
|
|
365
|
-
var isRewardRedemptionConfigContext =
|
|
366
|
-
var asRewardRedemptionConfigContext =
|
|
367
|
-
var toRewardRedemptionConfigContext =
|
|
368
|
-
|
|
369
|
-
// src/shared/config/actors/Validator.ts
|
|
370
|
-
import { AddressZod as AddressZod3, zodAsFactory as zodAsFactory6, zodIsFactory as zodIsFactory6, zodToFactory as zodToFactory6 } from "@xylabs/sdk-js";
|
|
371
|
-
import { BaseConfigContextZod as BaseConfigContextZod6, HostActorConfigZod as HostActorConfigZod5 } from "@xyo-network/xl1-sdk";
|
|
372
|
-
import { z as z6 } from "zod";
|
|
373
|
-
var ValidatorConfigZod = HostActorConfigZod5.extend({
|
|
374
|
-
accountIndex: ActorAccountIndexZod("validator.accountIndex"),
|
|
375
|
-
allowedProducers: z6.array(AddressZod3).optional(),
|
|
376
|
-
minCandidates: z6.number().int().min(0).optional()
|
|
377
|
-
});
|
|
378
|
-
var isValidatorConfig = zodIsFactory6(ValidatorConfigZod);
|
|
379
|
-
var asValidatorConfig = zodAsFactory6(ValidatorConfigZod, "asValidatorConfig");
|
|
380
|
-
var toValidatorConfig = zodToFactory6(ValidatorConfigZod, "toValidatorConfig");
|
|
381
|
-
var ValidatorConfigContext = BaseConfigContextZod6.extend({
|
|
382
|
-
config: ValidatorConfigZod
|
|
383
|
-
});
|
|
384
|
-
var isValidatorConfigContext = zodIsFactory6(ValidatorConfigContext);
|
|
385
|
-
var asValidatorConfigContext = zodAsFactory6(ValidatorConfigContext, "asValidatorConfigContext");
|
|
386
|
-
var toValidatorConfigContext = zodToFactory6(ValidatorConfigContext, "toValidatorConfigContext");
|
|
394
|
+
var isRewardRedemptionConfigContext = zodIsFactory6(RewardRedemptionConfigContext);
|
|
395
|
+
var asRewardRedemptionConfigContext = zodAsFactory6(RewardRedemptionConfigContext, "asRewardRedemptionConfigContext");
|
|
396
|
+
var toRewardRedemptionConfigContext = zodToFactory6(RewardRedemptionConfigContext, "toRewardRedemptionConfigContext");
|
|
387
397
|
|
|
388
398
|
// src/shared/config/mergeConfig.ts
|
|
389
399
|
import { deepMerge } from "@xylabs/sdk-js";
|
|
@@ -464,19 +474,19 @@ var RESERVED_ACTOR_INDEX = {
|
|
|
464
474
|
[ROOT_WALLET_RUNTIME_ID]: 0,
|
|
465
475
|
api: 4,
|
|
466
476
|
bridge: 2,
|
|
477
|
+
finalizer: 6,
|
|
467
478
|
mempool: 5,
|
|
468
479
|
producer: 1,
|
|
469
|
-
rewardRedemption: 3
|
|
470
|
-
validator: 6
|
|
480
|
+
rewardRedemption: 3
|
|
471
481
|
};
|
|
472
482
|
var ACTOR_LABELS = {
|
|
473
483
|
[ROOT_WALLET_RUNTIME_ID]: "root/local-node",
|
|
474
484
|
api: "api",
|
|
475
485
|
bridge: "bridge",
|
|
486
|
+
finalizer: "finalizer",
|
|
476
487
|
mempool: "mempool",
|
|
477
488
|
producer: "producer",
|
|
478
|
-
rewardRedemption: "rewardRedemption"
|
|
479
|
-
validator: "validator"
|
|
489
|
+
rewardRedemption: "rewardRedemption"
|
|
480
490
|
};
|
|
481
491
|
var activeWalletReport;
|
|
482
492
|
function getAccountLabel(actorName) {
|
|
@@ -500,11 +510,13 @@ function getInsecureGenesisRewardMnemonic() {
|
|
|
500
510
|
}
|
|
501
511
|
__name(getInsecureGenesisRewardMnemonic, "getInsecureGenesisRewardMnemonic");
|
|
502
512
|
function resolveRootWallet(configuration) {
|
|
513
|
+
const isConfigured = configuration.mnemonic !== void 0;
|
|
503
514
|
const mnemonic = configuration.mnemonic ?? BUILT_IN_DEV_MNEMONIC;
|
|
504
515
|
const isBuiltInDevMnemonic = mnemonic === BUILT_IN_DEV_MNEMONIC;
|
|
505
516
|
return {
|
|
506
517
|
basePath: DEFAULT_WALLET_PATH,
|
|
507
518
|
isBuiltInDevMnemonic,
|
|
519
|
+
isConfigured,
|
|
508
520
|
mnemonic,
|
|
509
521
|
mnemonicKind: isBuiltInDevMnemonic ? "built-in-dev" : "configured-root"
|
|
510
522
|
};
|
|
@@ -552,6 +564,7 @@ async function resolveWalletReport(requestedActors, configuration) {
|
|
|
552
564
|
actor.name,
|
|
553
565
|
actor
|
|
554
566
|
]));
|
|
567
|
+
const isRootRequired = requestedActors.some((actorName) => !actorConfigMap.get(actorName)?.mnemonic);
|
|
555
568
|
const resolvedActors = await Promise.all(requestedActors.map(async (actorName) => await resolveActorWallet(actorName, actorConfigMap.get(actorName), root)));
|
|
556
569
|
const labelMap = /* @__PURE__ */ new Map([
|
|
557
570
|
[
|
|
@@ -583,7 +596,19 @@ async function resolveWalletReport(requestedActors, configuration) {
|
|
|
583
596
|
label: labels?.join(", ") ?? `shared[${accountIndex}]`
|
|
584
597
|
};
|
|
585
598
|
}));
|
|
586
|
-
|
|
599
|
+
return {
|
|
600
|
+
actorSpecificAccounts: resolvedActors.filter((actor) => actor.source === "actor"),
|
|
601
|
+
isRootRequired,
|
|
602
|
+
requestedActors: [
|
|
603
|
+
...requestedActors
|
|
604
|
+
],
|
|
605
|
+
root,
|
|
606
|
+
sharedAccounts
|
|
607
|
+
};
|
|
608
|
+
}
|
|
609
|
+
__name(resolveWalletReport, "resolveWalletReport");
|
|
610
|
+
async function buildInsecureGenesisRewardAccounts() {
|
|
611
|
+
const accounts = await Promise.all(Array.from({
|
|
587
612
|
length: SHARED_ACCOUNT_REPORT_COUNT
|
|
588
613
|
}, (_, index) => index).map(async (accountIndex) => {
|
|
589
614
|
const account = await resolveWalletMetadata({
|
|
@@ -598,17 +623,9 @@ async function resolveWalletReport(requestedActors, configuration) {
|
|
|
598
623
|
label: accountIndex === 0 ? "genesisRewardAddress" : `genesisReward[${accountIndex}]`
|
|
599
624
|
};
|
|
600
625
|
}));
|
|
601
|
-
return
|
|
602
|
-
actorSpecificAccounts: resolvedActors.filter((actor) => actor.source === "actor"),
|
|
603
|
-
insecureGenesisRewardAccounts,
|
|
604
|
-
requestedActors: [
|
|
605
|
-
...requestedActors
|
|
606
|
-
],
|
|
607
|
-
root,
|
|
608
|
-
sharedAccounts
|
|
609
|
-
};
|
|
626
|
+
return accounts;
|
|
610
627
|
}
|
|
611
|
-
__name(
|
|
628
|
+
__name(buildInsecureGenesisRewardAccounts, "buildInsecureGenesisRewardAccounts");
|
|
612
629
|
async function initializeResolvedWalletReport(requestedActors, configuration) {
|
|
613
630
|
activeWalletReport = await resolveWalletReport(requestedActors, configuration);
|
|
614
631
|
return activeWalletReport;
|
|
@@ -651,8 +668,13 @@ function formatGenesisRewardAccount(account) {
|
|
|
651
668
|
__name(formatGenesisRewardAccount, "formatGenesisRewardAccount");
|
|
652
669
|
function formatWalletReport(report) {
|
|
653
670
|
const sections = [];
|
|
654
|
-
const
|
|
655
|
-
|
|
671
|
+
const showRootSection = report.isRootRequired || report.root.isConfigured;
|
|
672
|
+
const showSecrets = report.root.isBuiltInDevMnemonic && showRootSection;
|
|
673
|
+
if (showRootSection) {
|
|
674
|
+
sections.push(showSecrets ? "Development wallet detected." : "Wallet summary");
|
|
675
|
+
} else {
|
|
676
|
+
sections.push("Wallet summary (root wallet not required \u2014 every requested actor has its own mnemonic)");
|
|
677
|
+
}
|
|
656
678
|
if (showSecrets) {
|
|
657
679
|
sections.push([
|
|
658
680
|
"DEVELOPMENT WALLET WARNING",
|
|
@@ -666,39 +688,42 @@ function formatWalletReport(report) {
|
|
|
666
688
|
report.root.mnemonic
|
|
667
689
|
].join("\n"));
|
|
668
690
|
}
|
|
669
|
-
|
|
670
|
-
`Shared wallet accounts from ${report.root.basePath}:`,
|
|
671
|
-
"",
|
|
672
|
-
report.sharedAccounts.map((account) => formatSharedAccount(account, showSecrets)).join("\n\n")
|
|
673
|
-
].join("\n"));
|
|
674
|
-
if (report.actorSpecificAccounts.length > 0) {
|
|
691
|
+
if (showRootSection) {
|
|
675
692
|
sections.push([
|
|
676
|
-
|
|
693
|
+
`Shared wallet accounts from ${report.root.basePath}:`,
|
|
677
694
|
"",
|
|
678
|
-
report.
|
|
695
|
+
report.sharedAccounts.map((account) => formatSharedAccount(account, showSecrets)).join("\n\n")
|
|
679
696
|
].join("\n"));
|
|
680
697
|
}
|
|
681
|
-
if (report.
|
|
698
|
+
if (report.actorSpecificAccounts.length > 0) {
|
|
682
699
|
sections.push([
|
|
683
|
-
"
|
|
684
|
-
"",
|
|
685
|
-
"XL1 is using a public, insecure fallback wallet for the genesis reward address.",
|
|
686
|
-
"This phrase is intentionally unsafe and must never be used for real funds, production systems, or shared environments.",
|
|
687
|
-
"Anyone with this information can fully control the genesis reward wallet.",
|
|
688
|
-
"",
|
|
689
|
-
"Genesis reward phrase:",
|
|
690
|
-
INSECURE_GENESIS_REWARD_MNEMONIC,
|
|
691
|
-
"",
|
|
692
|
-
`The genesis reward is sent to index 0 and starts with ${(GENESIS_REWARD_AMOUNT / ATTO_XL1_PER_XL1).toString()} XL1.`,
|
|
693
|
-
"",
|
|
694
|
-
`Genesis reward wallet accounts from ${DEFAULT_WALLET_PATH}:`,
|
|
700
|
+
"Actor-specific wallet accounts:",
|
|
695
701
|
"",
|
|
696
|
-
report.
|
|
702
|
+
report.actorSpecificAccounts.map((account) => formatActorSpecificAccount(account)).join("\n\n")
|
|
697
703
|
].join("\n"));
|
|
698
704
|
}
|
|
699
705
|
return sections.join("\n\n");
|
|
700
706
|
}
|
|
701
707
|
__name(formatWalletReport, "formatWalletReport");
|
|
708
|
+
function formatInsecureGenesisRewardWarning(accounts) {
|
|
709
|
+
return [
|
|
710
|
+
"INSECURE GENESIS REWARD WALLET WARNING",
|
|
711
|
+
"",
|
|
712
|
+
"XL1 is using a public, insecure fallback wallet for the genesis reward address.",
|
|
713
|
+
"This phrase is intentionally unsafe and must never be used for real funds, production systems, or shared environments.",
|
|
714
|
+
"Anyone with this information can fully control the genesis reward wallet.",
|
|
715
|
+
"",
|
|
716
|
+
"Genesis reward phrase:",
|
|
717
|
+
INSECURE_GENESIS_REWARD_MNEMONIC,
|
|
718
|
+
"",
|
|
719
|
+
`The genesis reward is sent to index 0 and starts with ${(GENESIS_REWARD_AMOUNT / ATTO_XL1_PER_XL1).toString()} XL1.`,
|
|
720
|
+
"",
|
|
721
|
+
`Genesis reward wallet accounts from ${DEFAULT_WALLET_PATH}:`,
|
|
722
|
+
"",
|
|
723
|
+
accounts.map((account) => formatGenesisRewardAccount(account)).join("\n\n")
|
|
724
|
+
].join("\n");
|
|
725
|
+
}
|
|
726
|
+
__name(formatInsecureGenesisRewardWarning, "formatInsecureGenesisRewardWarning");
|
|
702
727
|
async function resolveGenesisRewardAddress(config) {
|
|
703
728
|
if (config.chain.genesisRewardAddress) return config.chain.genesisRewardAddress;
|
|
704
729
|
const wallet = await generateXyoBaseWalletFromPhrase(INSECURE_GENESIS_REWARD_MNEMONIC);
|
|
@@ -867,6 +892,41 @@ Orchestrator = _ts_decorate2([
|
|
|
867
892
|
creatable2()
|
|
868
893
|
], Orchestrator);
|
|
869
894
|
|
|
895
|
+
// src/shared/provider/SimpleRejectedTransactionsArchivistProvider.ts
|
|
896
|
+
import { assertEx as assertEx3 } from "@xylabs/sdk-js";
|
|
897
|
+
import { AbstractCreatableProvider, creatableProvider } from "@xyo-network/xl1-sdk";
|
|
898
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
899
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
900
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
901
|
+
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;
|
|
902
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
903
|
+
}
|
|
904
|
+
__name(_ts_decorate3, "_ts_decorate");
|
|
905
|
+
var RejectedTransactionsArchivistProviderMoniker = "RejectedTransactionsArchivistProvider";
|
|
906
|
+
var SimpleRejectedTransactionsArchivistProvider = class _SimpleRejectedTransactionsArchivistProvider extends AbstractCreatableProvider {
|
|
907
|
+
static {
|
|
908
|
+
__name(this, "SimpleRejectedTransactionsArchivistProvider");
|
|
909
|
+
}
|
|
910
|
+
static defaultMoniker = RejectedTransactionsArchivistProviderMoniker;
|
|
911
|
+
static dependencies = [];
|
|
912
|
+
static monikers = [
|
|
913
|
+
RejectedTransactionsArchivistProviderMoniker
|
|
914
|
+
];
|
|
915
|
+
moniker = _SimpleRejectedTransactionsArchivistProvider.defaultMoniker;
|
|
916
|
+
get archivist() {
|
|
917
|
+
return this.params.archivist;
|
|
918
|
+
}
|
|
919
|
+
static async paramsHandler(params) {
|
|
920
|
+
return {
|
|
921
|
+
...await super.paramsHandler(params),
|
|
922
|
+
archivist: assertEx3(params?.archivist, () => "archivist is required")
|
|
923
|
+
};
|
|
924
|
+
}
|
|
925
|
+
};
|
|
926
|
+
SimpleRejectedTransactionsArchivistProvider = _ts_decorate3([
|
|
927
|
+
creatableProvider()
|
|
928
|
+
], SimpleRejectedTransactionsArchivistProvider);
|
|
929
|
+
|
|
870
930
|
// src/node/config/locators/basicRemoteRunnerLocator.ts
|
|
871
931
|
import { isAccountInstance } from "@xyo-network/sdk-js";
|
|
872
932
|
import { basicRemoteRunnerLocator as sdkBasicRemoteRunnerLocator, JsonRpcAccountBalanceViewer, JsonRpcXyoSigner, SimpleXyoSigner } from "@xyo-network/xl1-sdk";
|
|
@@ -945,13 +1005,13 @@ async function contextFromConfigWithoutLocator(config, logger, serviceName, serv
|
|
|
945
1005
|
__name(contextFromConfigWithoutLocator, "contextFromConfigWithoutLocator");
|
|
946
1006
|
|
|
947
1007
|
// src/node/config/locators/localLocatorFromConfig.ts
|
|
948
|
-
import { assertEx as
|
|
1008
|
+
import { assertEx as assertEx8 } from "@xylabs/sdk-js";
|
|
949
1009
|
import { validateHydratedBlock, validateHydratedBlockState } from "@xyo-network/chain-validation";
|
|
950
1010
|
import { BlockCumulativeBalanceValidatorFactory, ProviderFactoryLocator, SimpleAccountBalanceViewer, SimpleBlockValidationViewer, SimpleBlockViewer, SimpleDeadLetterQueueRunner, SimpleDeadLetterQueueViewer, SimpleFinalizationRunner, SimpleFinalizationViewer, SimpleMempoolRunner, SimpleMempoolViewer, SimpleTransactionValidationViewer, SimpleTransactionViewer, SimpleWindowedBlockViewer, SimpleXyoConnectionViewer, SimpleXyoViewer, validateTransaction } from "@xyo-network/xl1-sdk";
|
|
951
1011
|
|
|
952
1012
|
// src/node/init/initBalanceSummaryMap.ts
|
|
953
1013
|
import { BaseMongoSdk } from "@xylabs/mongo";
|
|
954
|
-
import { assertEx as
|
|
1014
|
+
import { assertEx as assertEx4 } from "@xylabs/sdk-js";
|
|
955
1015
|
import { MongoMap } from "@xyo-network/chain-protocol-driver-mongodb";
|
|
956
1016
|
import { hasMongoConfig, MemoryMap } from "@xyo-network/xl1-sdk";
|
|
957
1017
|
async function initBalanceSummaryMap({ logger, config }) {
|
|
@@ -976,7 +1036,7 @@ async function initBalanceSummaryMap({ logger, config }) {
|
|
|
976
1036
|
maxEntries: 5e3
|
|
977
1037
|
}
|
|
978
1038
|
});
|
|
979
|
-
|
|
1039
|
+
assertEx4(await result.start(), () => "Failed to start transfer summary map");
|
|
980
1040
|
return result;
|
|
981
1041
|
} else {
|
|
982
1042
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for BalanceSummaryMap.");
|
|
@@ -1038,11 +1098,11 @@ async function initEvmProvidersIfAvailable(locator) {
|
|
|
1038
1098
|
__name(initEvmProvidersIfAvailable, "initEvmProvidersIfAvailable");
|
|
1039
1099
|
|
|
1040
1100
|
// src/node/init/initFinalizationArchivistIfNeeded.ts
|
|
1041
|
-
import { assertEx as
|
|
1101
|
+
import { assertEx as assertEx5 } from "@xylabs/sdk-js";
|
|
1042
1102
|
import { createBootstrapHead } from "@xyo-network/chain-sdk";
|
|
1043
1103
|
import { Account } from "@xyo-network/sdk-js";
|
|
1044
1104
|
import { asAttoXL1, findMostRecentBlock, flattenHydratedBlock } from "@xyo-network/xl1-sdk";
|
|
1045
|
-
async function initFinalizationArchivistIfNeeded(archivist, config, account) {
|
|
1105
|
+
async function initFinalizationArchivistIfNeeded(archivist, config, account, options = {}) {
|
|
1046
1106
|
const configuredChainId = config.chain.id;
|
|
1047
1107
|
const possibleHead = await findMostRecentBlock(archivist);
|
|
1048
1108
|
if (configuredChainId && possibleHead && possibleHead.chain !== configuredChainId) {
|
|
@@ -1051,13 +1111,18 @@ async function initFinalizationArchivistIfNeeded(archivist, config, account) {
|
|
|
1051
1111
|
let possibleChainId = configuredChainId;
|
|
1052
1112
|
if (!possibleHead) {
|
|
1053
1113
|
possibleChainId = possibleChainId ?? (await Account.random()).address;
|
|
1114
|
+
if (!config.chain.genesisRewardAddress) {
|
|
1115
|
+
const accounts = await buildInsecureGenesisRewardAccounts();
|
|
1116
|
+
options.logger?.warn(formatInsecureGenesisRewardWarning(accounts));
|
|
1117
|
+
if (options.onInsecureGenesisConfirm) await options.onInsecureGenesisConfirm();
|
|
1118
|
+
}
|
|
1054
1119
|
const genesisRewardAddress = await resolveGenesisRewardAddress(config);
|
|
1055
1120
|
const chain = await createBootstrapHead(account, possibleChainId, asAttoXL1(GENESIS_REWARD_AMOUNT), genesisRewardAddress);
|
|
1056
1121
|
const payloads = chain.flatMap((block) => flattenHydratedBlock(block));
|
|
1057
1122
|
await archivist.insert(payloads);
|
|
1058
1123
|
}
|
|
1059
|
-
const head = possibleHead ??
|
|
1060
|
-
const chainId =
|
|
1124
|
+
const head = possibleHead ?? assertEx5(await findMostRecentBlock(archivist), () => "No blocks found in chain archivist");
|
|
1125
|
+
const chainId = assertEx5(possibleChainId, () => "Chain ID could not be determined");
|
|
1061
1126
|
return [
|
|
1062
1127
|
head,
|
|
1063
1128
|
chainId
|
|
@@ -1084,16 +1149,43 @@ async function initFinalizedArchivist(config) {
|
|
|
1084
1149
|
__name(initFinalizedArchivist, "initFinalizedArchivist");
|
|
1085
1150
|
|
|
1086
1151
|
// src/node/init/initServerNode.ts
|
|
1087
|
-
import { assertEx as
|
|
1152
|
+
import { assertEx as assertEx6 } from "@xylabs/sdk-js";
|
|
1088
1153
|
import { asArchivistInstance } from "@xyo-network/sdk-js";
|
|
1089
1154
|
|
|
1090
1155
|
// src/node/manifest/getLocator.ts
|
|
1091
1156
|
import { isDefined as isDefined2 } from "@xylabs/sdk-js";
|
|
1157
|
+
import { LmdbArchivistConfigSchema } from "@xyo-network/archivist-lmdb";
|
|
1092
1158
|
import { MongoDBArchivistV2 as MongoDBArchivistV22, MongoDBArchivistV2Deletable } from "@xyo-network/archivist-mongodb";
|
|
1093
1159
|
import { ViewArchivist } from "@xyo-network/archivist-view";
|
|
1094
1160
|
import { initTelemetry as initTelemetry2 } from "@xyo-network/chain-telemetry";
|
|
1095
1161
|
import { AbstractModule, LoggerModuleStatusReporter, MemoryArchivist, MemorySentinel, ModuleFactoryLocator } from "@xyo-network/sdk-js";
|
|
1096
1162
|
import { hasMongoConfig as hasMongoConfig2 } from "@xyo-network/xl1-sdk";
|
|
1163
|
+
|
|
1164
|
+
// src/node/manifest/NamedLmdbArchivist.ts
|
|
1165
|
+
import { LmdbArchivist } from "@xyo-network/archivist-lmdb";
|
|
1166
|
+
var NamedLmdbArchivist = class extends LmdbArchivist {
|
|
1167
|
+
static {
|
|
1168
|
+
__name(this, "NamedLmdbArchivist");
|
|
1169
|
+
}
|
|
1170
|
+
get dbName() {
|
|
1171
|
+
return this.config.dbName ?? "xyo-chain";
|
|
1172
|
+
}
|
|
1173
|
+
get location() {
|
|
1174
|
+
const cfgLocation = this.config.location;
|
|
1175
|
+
const paramsLocation = this.params?.location;
|
|
1176
|
+
if (cfgLocation) return cfgLocation;
|
|
1177
|
+
if (paramsLocation) return paramsLocation;
|
|
1178
|
+
throw new Error("NamedLmdbArchivist: no location configured (set storage.root or pass location in factory params)");
|
|
1179
|
+
}
|
|
1180
|
+
get storeName() {
|
|
1181
|
+
const cfg = this.config;
|
|
1182
|
+
const derived = cfg.storeName ?? cfg.payloadSdkConfig?.collection ?? cfg.name;
|
|
1183
|
+
if (!derived) throw new Error("NamedLmdbArchivist: no storeName (or payloadSdkConfig.collection / name) configured");
|
|
1184
|
+
return derived;
|
|
1185
|
+
}
|
|
1186
|
+
};
|
|
1187
|
+
|
|
1188
|
+
// src/node/manifest/getLocator.ts
|
|
1097
1189
|
var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
|
|
1098
1190
|
const { otlpEndpoint } = config.telemetry?.otel ?? {};
|
|
1099
1191
|
const { path: endpoint = "/metrics", port = 9465 } = config.telemetry?.metrics?.scrape ?? {};
|
|
@@ -1131,6 +1223,19 @@ var getLocator = /* @__PURE__ */ __name(async ({ logger, config }) => {
|
|
|
1131
1223
|
locator.register(MongoDBArchivistV2Deletable.factory(params), {
|
|
1132
1224
|
"network.xyo.storage.capabilities.delete": "enabled"
|
|
1133
1225
|
}, false);
|
|
1226
|
+
} else if (isDefined2(config.storage?.root)) {
|
|
1227
|
+
const lmdbLocation = config.storage.root;
|
|
1228
|
+
const lmdbConfig = {
|
|
1229
|
+
clearStoreOnStart: false,
|
|
1230
|
+
location: lmdbLocation,
|
|
1231
|
+
schema: LmdbArchivistConfigSchema
|
|
1232
|
+
};
|
|
1233
|
+
locator.register(NamedLmdbArchivist.factory({
|
|
1234
|
+
config: lmdbConfig,
|
|
1235
|
+
meterProvider,
|
|
1236
|
+
statusReporter,
|
|
1237
|
+
traceProvider
|
|
1238
|
+
}), void 0, true);
|
|
1134
1239
|
}
|
|
1135
1240
|
locator.register(MemoryArchivist.factory({
|
|
1136
1241
|
traceProvider,
|
|
@@ -1371,7 +1476,7 @@ async function writableChainArchivistFromNode(node) {
|
|
|
1371
1476
|
}
|
|
1372
1477
|
__name(writableChainArchivistFromNode, "writableChainArchivistFromNode");
|
|
1373
1478
|
async function readonlyChainArchivistFromNode(node) {
|
|
1374
|
-
return
|
|
1479
|
+
return assertEx6(asArchivistInstance(await node.resolve("Chain:Validated"), {
|
|
1375
1480
|
required: true
|
|
1376
1481
|
}));
|
|
1377
1482
|
}
|
|
@@ -1402,7 +1507,7 @@ async function rejectedTransactionsArchivistFromNode(node) {
|
|
|
1402
1507
|
__name(rejectedTransactionsArchivistFromNode, "rejectedTransactionsArchivistFromNode");
|
|
1403
1508
|
async function initServerNode(context, wallet, providedNode) {
|
|
1404
1509
|
const node = providedNode ?? await loadNode(context, wallet);
|
|
1405
|
-
|
|
1510
|
+
assertEx6(await node.start(), () => "Failed to start node");
|
|
1406
1511
|
const writableChainArchivist = await writableChainArchivistFromNode(node);
|
|
1407
1512
|
const readonlyChainArchivist = await readonlyChainArchivistFromNode(node);
|
|
1408
1513
|
const pendingTransactionsArchivist = await pendingTransactionsArchivistFromNode(node);
|
|
@@ -1423,7 +1528,7 @@ __name(initServerNode, "initServerNode");
|
|
|
1423
1528
|
|
|
1424
1529
|
// src/node/init/initTransferSummaryMap.ts
|
|
1425
1530
|
import { BaseMongoSdk as BaseMongoSdk2 } from "@xylabs/mongo";
|
|
1426
|
-
import { assertEx as
|
|
1531
|
+
import { assertEx as assertEx7 } from "@xylabs/sdk-js";
|
|
1427
1532
|
import { MongoMap as MongoMap2 } from "@xyo-network/chain-protocol-driver-mongodb";
|
|
1428
1533
|
import { hasMongoConfig as hasMongoConfig3, MemoryMap as MemoryMap2 } from "@xyo-network/xl1-sdk";
|
|
1429
1534
|
async function initTransferSummaryMap({ logger, config }) {
|
|
@@ -1448,7 +1553,7 @@ async function initTransferSummaryMap({ logger, config }) {
|
|
|
1448
1553
|
maxEntries: 5e3
|
|
1449
1554
|
}
|
|
1450
1555
|
});
|
|
1451
|
-
|
|
1556
|
+
assertEx7(await result.start(), () => "Failed to start transfer summary map");
|
|
1452
1557
|
return result;
|
|
1453
1558
|
} else {
|
|
1454
1559
|
logger?.warn("[API] Mongo configuration not found. Using MemoryMap for TransferSummaryMap.");
|
|
@@ -1469,12 +1574,15 @@ var validateHydratedBlockStateWithCumulativeBalance = /* @__PURE__ */ __name(asy
|
|
|
1469
1574
|
...cumulativeErrors
|
|
1470
1575
|
];
|
|
1471
1576
|
}, "validateHydratedBlockStateWithCumulativeBalance");
|
|
1472
|
-
async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
1473
|
-
const balancesSummaryMap =
|
|
1474
|
-
const transfersSummaryMap =
|
|
1577
|
+
async function localLocatorFromConfig(context, validateDepsOnRegister = false, onInsecureGenesisConfirm) {
|
|
1578
|
+
const balancesSummaryMap = assertEx8(await initBalanceSummaryMap(context), () => "Balance Summary Map not initialized");
|
|
1579
|
+
const transfersSummaryMap = assertEx8(await initTransferSummaryMap(context), () => "Transfer Summary Map not initialized");
|
|
1475
1580
|
const wallet = await initActorWallet(context);
|
|
1476
1581
|
const { writableChainArchivist, readonlyChainArchivist, pendingTransactionsArchivist, pendingBlocksArchivist, rejectedBlocksArchivist, rejectedTransactionsArchivist } = await initServerNode(context, wallet);
|
|
1477
|
-
await initFinalizationArchivistIfNeeded(writableChainArchivist, context.config, wallet
|
|
1582
|
+
await initFinalizationArchivistIfNeeded(writableChainArchivist, context.config, wallet, {
|
|
1583
|
+
logger: context.logger,
|
|
1584
|
+
onInsecureGenesisConfirm
|
|
1585
|
+
});
|
|
1478
1586
|
const locator = new ProviderFactoryLocator(context, {}, validateDepsOnRegister);
|
|
1479
1587
|
locator.registerMany([
|
|
1480
1588
|
SimpleMempoolViewer.factory(SimpleMempoolViewer.dependencies, {
|
|
@@ -1522,6 +1630,9 @@ async function localLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1522
1630
|
SimpleDeadLetterQueueViewer.factory(SimpleDeadLetterQueueViewer.dependencies, {
|
|
1523
1631
|
rejectedBlocksArchivist,
|
|
1524
1632
|
rejectedTransactionsArchivist
|
|
1633
|
+
}),
|
|
1634
|
+
SimpleRejectedTransactionsArchivistProvider.factory(SimpleRejectedTransactionsArchivistProvider.dependencies, {
|
|
1635
|
+
archivist: rejectedTransactionsArchivist
|
|
1525
1636
|
})
|
|
1526
1637
|
]);
|
|
1527
1638
|
return locator;
|
|
@@ -1606,9 +1717,9 @@ async function bridgeLocatorFromConfig(context, parent) {
|
|
|
1606
1717
|
}
|
|
1607
1718
|
__name(bridgeLocatorFromConfig, "bridgeLocatorFromConfig");
|
|
1608
1719
|
|
|
1609
|
-
// src/node/config/locators/actors/
|
|
1720
|
+
// src/node/config/locators/actors/finalizerLocatorFromConfig.ts
|
|
1610
1721
|
import { ProviderFactoryLocator as ProviderFactoryLocator4 } from "@xyo-network/xl1-sdk";
|
|
1611
|
-
function
|
|
1722
|
+
function finalizerLocatorFromConfig(context, parent) {
|
|
1612
1723
|
const locator = new ProviderFactoryLocator4({
|
|
1613
1724
|
...context,
|
|
1614
1725
|
locator: parent
|
|
@@ -1617,16 +1728,29 @@ function mempoolLocatorFromConfig(context, parent) {
|
|
|
1617
1728
|
locator.freeze();
|
|
1618
1729
|
return locator;
|
|
1619
1730
|
}
|
|
1731
|
+
__name(finalizerLocatorFromConfig, "finalizerLocatorFromConfig");
|
|
1732
|
+
|
|
1733
|
+
// src/node/config/locators/actors/mempoolLocatorFromConfig.ts
|
|
1734
|
+
import { ProviderFactoryLocator as ProviderFactoryLocator5 } from "@xyo-network/xl1-sdk";
|
|
1735
|
+
function mempoolLocatorFromConfig(context, parent) {
|
|
1736
|
+
const locator = new ProviderFactoryLocator5({
|
|
1737
|
+
...context,
|
|
1738
|
+
locator: parent
|
|
1739
|
+
});
|
|
1740
|
+
locator.registerMany([]);
|
|
1741
|
+
locator.freeze();
|
|
1742
|
+
return locator;
|
|
1743
|
+
}
|
|
1620
1744
|
__name(mempoolLocatorFromConfig, "mempoolLocatorFromConfig");
|
|
1621
1745
|
|
|
1622
1746
|
// src/node/config/locators/actors/producerLocatorFromConfig.ts
|
|
1623
1747
|
import { asAddress as asAddress2 } from "@xylabs/sdk-js";
|
|
1624
1748
|
import { SimpleBlockRunner } from "@xyo-network/chain-services";
|
|
1625
|
-
import { ProviderFactoryLocator as
|
|
1749
|
+
import { ProviderFactoryLocator as ProviderFactoryLocator6 } from "@xyo-network/xl1-sdk";
|
|
1626
1750
|
async function producerLocatorFromConfig(context, parent) {
|
|
1627
1751
|
const { logger, config } = context;
|
|
1628
1752
|
const account = await initActorAccount(context);
|
|
1629
|
-
const locator = new
|
|
1753
|
+
const locator = new ProviderFactoryLocator6({
|
|
1630
1754
|
...context,
|
|
1631
1755
|
locator: parent
|
|
1632
1756
|
});
|
|
@@ -1635,10 +1759,13 @@ async function producerLocatorFromConfig(context, parent) {
|
|
|
1635
1759
|
if (rewardAddress === account.address) {
|
|
1636
1760
|
logger?.warn(`Using producer account address as reward address: ${account.address}`);
|
|
1637
1761
|
}
|
|
1762
|
+
const rejectedTransactionsProvider = await parent?.tryGetInstance(RejectedTransactionsArchivistProviderMoniker);
|
|
1763
|
+
const rejectedTransactionsArchivist = rejectedTransactionsProvider?.archivist;
|
|
1638
1764
|
locator.registerMany([
|
|
1639
1765
|
SimpleBlockRunner.factory(SimpleBlockRunner.dependencies, {
|
|
1640
1766
|
account,
|
|
1641
|
-
rewardAddress
|
|
1767
|
+
rewardAddress,
|
|
1768
|
+
rejectedTransactionsArchivist
|
|
1642
1769
|
})
|
|
1643
1770
|
]);
|
|
1644
1771
|
locator.freeze();
|
|
@@ -1647,9 +1774,9 @@ async function producerLocatorFromConfig(context, parent) {
|
|
|
1647
1774
|
__name(producerLocatorFromConfig, "producerLocatorFromConfig");
|
|
1648
1775
|
|
|
1649
1776
|
// src/node/config/locators/actors/rewardRedemptionLocatorFromConfig.ts
|
|
1650
|
-
import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer4, JsonRpcBlockViewer as JsonRpcBlockViewer2, JsonRpcFinalizationViewer as JsonRpcFinalizationViewer2, JsonRpcMempoolRunner as JsonRpcMempoolRunner2, JsonRpcMempoolViewer as JsonRpcMempoolViewer2, JsonRpcXyoRunner as JsonRpcXyoRunner2, JsonRpcXyoViewer as JsonRpcXyoViewer2, ProviderFactoryLocator as
|
|
1777
|
+
import { JsonRpcAccountBalanceViewer as JsonRpcAccountBalanceViewer4, JsonRpcBlockViewer as JsonRpcBlockViewer2, JsonRpcFinalizationViewer as JsonRpcFinalizationViewer2, JsonRpcMempoolRunner as JsonRpcMempoolRunner2, JsonRpcMempoolViewer as JsonRpcMempoolViewer2, JsonRpcXyoRunner as JsonRpcXyoRunner2, JsonRpcXyoViewer as JsonRpcXyoViewer2, ProviderFactoryLocator as ProviderFactoryLocator7, SimpleXyoConnectionRunner as SimpleXyoConnectionRunner3, SimpleXyoGatewayRunner as SimpleXyoGatewayRunner2, SimpleXyoRunner as SimpleXyoRunner3, SimpleXyoSigner as SimpleXyoSigner3 } from "@xyo-network/xl1-sdk";
|
|
1651
1778
|
async function rewardRedemptionLocatorFromConfig(context, parent) {
|
|
1652
|
-
const locator = new
|
|
1779
|
+
const locator = new ProviderFactoryLocator7({
|
|
1653
1780
|
...context,
|
|
1654
1781
|
locator: parent
|
|
1655
1782
|
});
|
|
@@ -1679,22 +1806,9 @@ async function rewardRedemptionLocatorFromConfig(context, parent) {
|
|
|
1679
1806
|
}
|
|
1680
1807
|
__name(rewardRedemptionLocatorFromConfig, "rewardRedemptionLocatorFromConfig");
|
|
1681
1808
|
|
|
1682
|
-
// src/node/config/locators/actors/validatorLocatorFromConfig.ts
|
|
1683
|
-
import { ProviderFactoryLocator as ProviderFactoryLocator7 } from "@xyo-network/xl1-sdk";
|
|
1684
|
-
function validatorLocatorFromConfig(context, parent) {
|
|
1685
|
-
const locator = new ProviderFactoryLocator7({
|
|
1686
|
-
...context,
|
|
1687
|
-
locator: parent
|
|
1688
|
-
});
|
|
1689
|
-
locator.registerMany([]);
|
|
1690
|
-
locator.freeze();
|
|
1691
|
-
return locator;
|
|
1692
|
-
}
|
|
1693
|
-
__name(validatorLocatorFromConfig, "validatorLocatorFromConfig");
|
|
1694
|
-
|
|
1695
1809
|
// src/node/config/locators/rootLocatorFromConfig.ts
|
|
1696
1810
|
import { commonLocatorFromConfig, remoteLocatorFromConfig } from "@xyo-network/xl1-sdk";
|
|
1697
|
-
async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
1811
|
+
async function rootLocatorFromConfig(context, validateDepsOnRegister = false, onInsecureGenesisConfirm) {
|
|
1698
1812
|
const { config } = context;
|
|
1699
1813
|
let locator = await commonLocatorFromConfig(context, validateDepsOnRegister);
|
|
1700
1814
|
const newLocator = await (config.remote.rpc ? remoteLocatorFromConfig(locator.context, validateDepsOnRegister) : localLocatorFromConfig({
|
|
@@ -1703,7 +1817,7 @@ async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1703
1817
|
...locator.context.config,
|
|
1704
1818
|
...context.config
|
|
1705
1819
|
}
|
|
1706
|
-
}, validateDepsOnRegister));
|
|
1820
|
+
}, validateDepsOnRegister, onInsecureGenesisConfirm));
|
|
1707
1821
|
locator = newLocator;
|
|
1708
1822
|
locator = await initEvmProvidersIfAvailable(locator);
|
|
1709
1823
|
locator.freeze();
|
|
@@ -1712,15 +1826,17 @@ async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
|
1712
1826
|
__name(rootLocatorFromConfig, "rootLocatorFromConfig");
|
|
1713
1827
|
|
|
1714
1828
|
// src/node/config/locators/locatorsFromConfig.ts
|
|
1715
|
-
async function locatorsFromConfig(context, { actors, ...config }) {
|
|
1829
|
+
async function locatorsFromConfig(context, { actors, ...config }, onInsecureGenesisConfirm) {
|
|
1830
|
+
const rootContext = {
|
|
1831
|
+
...context,
|
|
1832
|
+
config: {
|
|
1833
|
+
...config,
|
|
1834
|
+
name: "_root"
|
|
1835
|
+
}
|
|
1836
|
+
};
|
|
1837
|
+
const rootLocator = await rootLocatorFromConfig(rootContext, false, onInsecureGenesisConfirm);
|
|
1716
1838
|
const result = {
|
|
1717
|
-
_root:
|
|
1718
|
-
...context,
|
|
1719
|
-
config: {
|
|
1720
|
-
...config,
|
|
1721
|
-
name: "_root"
|
|
1722
|
-
}
|
|
1723
|
-
})
|
|
1839
|
+
_root: rootLocator
|
|
1724
1840
|
};
|
|
1725
1841
|
for (const actorConfig of actors) {
|
|
1726
1842
|
switch (actorConfig.name) {
|
|
@@ -1745,10 +1861,10 @@ async function locatorsFromConfig(context, { actors, ...config }) {
|
|
|
1745
1861
|
}, result._root);
|
|
1746
1862
|
break;
|
|
1747
1863
|
}
|
|
1748
|
-
case "
|
|
1749
|
-
result[actorConfig.name] = await
|
|
1864
|
+
case "finalizer": {
|
|
1865
|
+
result[actorConfig.name] = await finalizerLocatorFromConfig({
|
|
1750
1866
|
...context,
|
|
1751
|
-
config:
|
|
1867
|
+
config: FinalizerConfigZod.parse(deepMerge2(config, actorConfig))
|
|
1752
1868
|
}, result._root);
|
|
1753
1869
|
break;
|
|
1754
1870
|
}
|
|
@@ -1778,6 +1894,21 @@ import { ConfigZod } from "@xyo-network/xl1-sdk";
|
|
|
1778
1894
|
import { cosmiconfig } from "cosmiconfig";
|
|
1779
1895
|
var configName = "xyo";
|
|
1780
1896
|
var configSection = "xl1";
|
|
1897
|
+
var ConfigFileNotFoundError = class extends Error {
|
|
1898
|
+
static {
|
|
1899
|
+
__name(this, "ConfigFileNotFoundError");
|
|
1900
|
+
}
|
|
1901
|
+
constructor(configPath) {
|
|
1902
|
+
super(`Config file not found: ${configPath}`);
|
|
1903
|
+
this.name = "ConfigFileNotFoundError";
|
|
1904
|
+
}
|
|
1905
|
+
};
|
|
1906
|
+
var isMissingFileError = /* @__PURE__ */ __name((error) => {
|
|
1907
|
+
return error instanceof Error && "code" in error && error.code === "ENOENT";
|
|
1908
|
+
}, "isMissingFileError");
|
|
1909
|
+
var isRecord = /* @__PURE__ */ __name((value) => {
|
|
1910
|
+
return typeof value === "object" && value !== null;
|
|
1911
|
+
}, "isRecord");
|
|
1781
1912
|
async function tryParseConfig(options) {
|
|
1782
1913
|
const { configPath, searchPlaces } = options ?? {};
|
|
1783
1914
|
const explorer = cosmiconfig(configName, {
|
|
@@ -1785,10 +1916,25 @@ async function tryParseConfig(options) {
|
|
|
1785
1916
|
// loaders: { '.ts': TypeScriptLoader() },
|
|
1786
1917
|
searchPlaces
|
|
1787
1918
|
});
|
|
1788
|
-
|
|
1789
|
-
if (isDefined4(
|
|
1919
|
+
let result;
|
|
1920
|
+
if (isDefined4(configPath)) {
|
|
1921
|
+
try {
|
|
1922
|
+
result = (await explorer.load(configPath))?.config;
|
|
1923
|
+
} catch (error) {
|
|
1924
|
+
if (isMissingFileError(error)) {
|
|
1925
|
+
throw new ConfigFileNotFoundError(configPath);
|
|
1926
|
+
}
|
|
1927
|
+
throw error;
|
|
1928
|
+
}
|
|
1929
|
+
if (!isDefined4(result) || isNull(result)) {
|
|
1930
|
+
throw new ConfigFileNotFoundError(configPath);
|
|
1931
|
+
}
|
|
1932
|
+
} else {
|
|
1933
|
+
result = (await explorer.search())?.config;
|
|
1934
|
+
}
|
|
1935
|
+
if (isRecord(result)) {
|
|
1790
1936
|
const section = result[configSection];
|
|
1791
|
-
if (
|
|
1937
|
+
if (isRecord(section)) {
|
|
1792
1938
|
const parsed = ConfigZod.loose().parse(section);
|
|
1793
1939
|
return typeof section.mnemonic === "string" ? {
|
|
1794
1940
|
...parsed,
|
|
@@ -1812,8 +1958,14 @@ export {
|
|
|
1812
1958
|
BridgeConfigContext,
|
|
1813
1959
|
BridgeConfigZod,
|
|
1814
1960
|
BridgeSettingsZod,
|
|
1961
|
+
ConfigFileNotFoundError,
|
|
1815
1962
|
DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL,
|
|
1963
|
+
DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL,
|
|
1964
|
+
DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL,
|
|
1816
1965
|
DefaultServiceProvider,
|
|
1966
|
+
FinalizerActor,
|
|
1967
|
+
FinalizerConfigContext,
|
|
1968
|
+
FinalizerConfigZod,
|
|
1817
1969
|
GENESIS_REWARD_AMOUNT,
|
|
1818
1970
|
GenericHost,
|
|
1819
1971
|
INSECURE_GENESIS_REWARD_MNEMONIC,
|
|
@@ -1826,31 +1978,32 @@ export {
|
|
|
1826
1978
|
ProducerConfigZod,
|
|
1827
1979
|
PublicChildManifests,
|
|
1828
1980
|
ROOT_WALLET_RUNTIME_ID,
|
|
1981
|
+
RejectedTransactionsArchivistProviderMoniker,
|
|
1829
1982
|
RewardRedemptionConfigContext,
|
|
1830
1983
|
RewardRedemptionConfigZod,
|
|
1831
1984
|
SHARED_ACCOUNT_REPORT_COUNT,
|
|
1832
1985
|
ServiceLifetime,
|
|
1833
|
-
|
|
1834
|
-
ValidatorConfigContext,
|
|
1835
|
-
ValidatorConfigZod,
|
|
1986
|
+
SimpleRejectedTransactionsArchivistProvider,
|
|
1836
1987
|
asApiConfig,
|
|
1837
1988
|
asApiConfigContext,
|
|
1838
1989
|
asBridgeConfig,
|
|
1839
1990
|
asBridgeConfigContext,
|
|
1991
|
+
asFinalizerConfig,
|
|
1992
|
+
asFinalizerConfigContext,
|
|
1840
1993
|
asMempoolConfig,
|
|
1841
1994
|
asMempoolConfigContext,
|
|
1842
1995
|
asProducerConfig,
|
|
1843
1996
|
asProducerConfigContext,
|
|
1844
1997
|
asRewardRedemptionConfig,
|
|
1845
1998
|
asRewardRedemptionConfigContext,
|
|
1846
|
-
asValidatorConfig,
|
|
1847
|
-
asValidatorConfigContext,
|
|
1848
1999
|
basicRemoteRunnerLocator,
|
|
1849
2000
|
basicRemoteViewerLocator,
|
|
2001
|
+
buildInsecureGenesisRewardAccounts,
|
|
1850
2002
|
buildTelemetryConfig,
|
|
1851
2003
|
clearResolvedWalletReport,
|
|
1852
2004
|
contextFromConfigWithoutLocator,
|
|
1853
2005
|
createProducerChainStakeIntentBlock,
|
|
2006
|
+
formatInsecureGenesisRewardWarning,
|
|
1854
2007
|
formatWalletReport,
|
|
1855
2008
|
getBuiltInDevMnemonic,
|
|
1856
2009
|
getInsecureGenesisRewardMnemonic,
|
|
@@ -1874,14 +2027,14 @@ export {
|
|
|
1874
2027
|
isApiConfigContext,
|
|
1875
2028
|
isBridgeConfig,
|
|
1876
2029
|
isBridgeConfigContext,
|
|
2030
|
+
isFinalizerConfig,
|
|
2031
|
+
isFinalizerConfigContext,
|
|
1877
2032
|
isMempoolConfig,
|
|
1878
2033
|
isMempoolConfigContext,
|
|
1879
2034
|
isProducerConfig,
|
|
1880
2035
|
isProducerConfigContext,
|
|
1881
2036
|
isRewardRedemptionConfig,
|
|
1882
2037
|
isRewardRedemptionConfigContext,
|
|
1883
|
-
isValidatorConfig,
|
|
1884
|
-
isValidatorConfigContext,
|
|
1885
2038
|
loadNode,
|
|
1886
2039
|
localLocatorFromConfig,
|
|
1887
2040
|
locatorsFromConfig,
|
|
@@ -1897,14 +2050,14 @@ export {
|
|
|
1897
2050
|
toApiConfigContext,
|
|
1898
2051
|
toBridgeConfig,
|
|
1899
2052
|
toBridgeConfigContext,
|
|
2053
|
+
toFinalizerConfig,
|
|
2054
|
+
toFinalizerConfigContext,
|
|
1900
2055
|
toMempoolConfig,
|
|
1901
2056
|
toMempoolConfigContext,
|
|
1902
2057
|
toProducerConfig,
|
|
1903
2058
|
toProducerConfigContext,
|
|
1904
2059
|
toRewardRedemptionConfig,
|
|
1905
2060
|
toRewardRedemptionConfigContext,
|
|
1906
|
-
toValidatorConfig,
|
|
1907
|
-
toValidatorConfigContext,
|
|
1908
2061
|
tryParseConfig
|
|
1909
2062
|
};
|
|
1910
2063
|
//# sourceMappingURL=index.mjs.map
|