@xyo-network/chain-orchestration 1.20.21 → 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 +176 -124
- 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/{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/{Validator.d.ts → Finalizer.d.ts} +12 -12
- package/dist/browser/shared/config/actors/{Validator.d.ts.map → Finalizer.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 +176 -124
- 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/{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/{Validator.d.ts → Finalizer.d.ts} +12 -12
- package/dist/neutral/shared/config/actors/{Validator.d.ts.map → Finalizer.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 +272 -173
- 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/{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/{Validator.d.ts → Finalizer.d.ts} +12 -12
- package/dist/node/shared/config/actors/{Validator.d.ts.map → Finalizer.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 +20 -20
- 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/neutral/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,17 +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 {
|
|
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";
|
|
255
272
|
var DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL = 1e3;
|
|
256
273
|
var DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL = 1e3;
|
|
257
|
-
var MempoolConfigZod =
|
|
274
|
+
var MempoolConfigZod = HostActorConfigZod4.extend({
|
|
258
275
|
accountIndex: ActorAccountIndexZod("mempool.accountIndex"),
|
|
259
|
-
enabled:
|
|
260
|
-
|
|
261
|
-
|
|
276
|
+
enabled: z5.union([
|
|
277
|
+
z5.string(),
|
|
278
|
+
z5.boolean()
|
|
262
279
|
]).default("false").transform((val, ctx) => {
|
|
263
280
|
if (typeof val === "boolean") return val;
|
|
264
281
|
const normalized = val.toLowerCase().trim();
|
|
@@ -279,123 +296,104 @@ var MempoolConfigZod = HostActorConfigZod3.extend({
|
|
|
279
296
|
expected: "boolean",
|
|
280
297
|
message: `Invalid boolean value: "${val}". Use true/false, 1/0, yes/no.`
|
|
281
298
|
});
|
|
282
|
-
return
|
|
299
|
+
return z5.NEVER;
|
|
283
300
|
}).register(globalRegistry4, {
|
|
284
301
|
default: "false",
|
|
285
302
|
description: "Enable the Mempool",
|
|
286
303
|
title: "mempool.enabled",
|
|
287
304
|
type: "boolean"
|
|
288
305
|
}),
|
|
289
|
-
blockPruneInterval:
|
|
306
|
+
blockPruneInterval: z5.coerce.number().default(DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL).register(globalRegistry4, {
|
|
290
307
|
description: "The interval time (in milliseconds) between pending block prune attempts",
|
|
291
308
|
title: "mempool.blockPruneInterval",
|
|
292
309
|
type: "number"
|
|
293
310
|
}),
|
|
294
|
-
transactionPruneInterval:
|
|
311
|
+
transactionPruneInterval: z5.coerce.number().default(DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL).register(globalRegistry4, {
|
|
295
312
|
description: "The interval time (in milliseconds) between pending transaction prune attempts",
|
|
296
313
|
title: "mempool.transactionPruneInterval",
|
|
297
314
|
type: "number"
|
|
298
315
|
})
|
|
299
316
|
});
|
|
300
|
-
var isMempoolConfig =
|
|
301
|
-
var asMempoolConfig =
|
|
302
|
-
var toMempoolConfig =
|
|
303
|
-
var MempoolConfigContext =
|
|
317
|
+
var isMempoolConfig = zodIsFactory4(MempoolConfigZod);
|
|
318
|
+
var asMempoolConfig = zodAsFactory4(MempoolConfigZod, "asMempoolConfig");
|
|
319
|
+
var toMempoolConfig = zodToFactory4(MempoolConfigZod, "toMempoolConfig");
|
|
320
|
+
var MempoolConfigContext = BaseConfigContextZod4.extend({
|
|
304
321
|
config: MempoolConfigZod
|
|
305
322
|
});
|
|
306
|
-
var isMempoolConfigContext =
|
|
307
|
-
var asMempoolConfigContext =
|
|
308
|
-
var toMempoolConfigContext =
|
|
323
|
+
var isMempoolConfigContext = zodIsFactory4(MempoolConfigContext);
|
|
324
|
+
var asMempoolConfigContext = zodAsFactory4(MempoolConfigContext, "asMempoolConfigContext");
|
|
325
|
+
var toMempoolConfigContext = zodToFactory4(MempoolConfigContext, "toMempoolConfigContext");
|
|
309
326
|
|
|
310
327
|
// src/shared/config/actors/Producer.ts
|
|
311
|
-
import { AddressZod as
|
|
312
|
-
import { ActorConfigZod, BaseConfigContextZod as
|
|
313
|
-
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";
|
|
314
331
|
var DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL = 1e4;
|
|
315
|
-
var ProducerConfigZod = ActorConfigZod.extend(
|
|
332
|
+
var ProducerConfigZod = ActorConfigZod.extend(z6.object({
|
|
316
333
|
accountIndex: ActorAccountIndexZod("producer.accountIndex"),
|
|
317
|
-
allowlist:
|
|
334
|
+
allowlist: z6.preprocess((val) => {
|
|
318
335
|
if (typeof val === "string") {
|
|
319
336
|
return val.split(",").map((s) => asAddress(s.trim()));
|
|
320
337
|
}
|
|
321
338
|
return val;
|
|
322
|
-
},
|
|
339
|
+
}, z6.array(AddressZod3).optional().register(globalRegistry5, {
|
|
323
340
|
description: "List of allowed producer addresses, if undefined anyone can participate",
|
|
324
341
|
title: "allowlist",
|
|
325
342
|
type: "array"
|
|
326
343
|
})),
|
|
327
|
-
blockProductionCheckInterval:
|
|
344
|
+
blockProductionCheckInterval: z6.coerce.number().default(DEFAULT_BLOCK_PRODUCTION_CHECK_INTERVAL).register(globalRegistry5, {
|
|
328
345
|
description: "The interval time (in milliseconds) between block production attempts",
|
|
329
346
|
title: "producer.blockProductionCheckInterval",
|
|
330
347
|
type: "number"
|
|
331
348
|
}),
|
|
332
|
-
disableIntentRedeclaration:
|
|
349
|
+
disableIntentRedeclaration: z6.boolean().optional().register(globalRegistry5, {
|
|
333
350
|
description: "Should the producer skip redeclaring their intent to continue producing blocks",
|
|
334
351
|
title: "producer.disableIntentRedeclaration",
|
|
335
352
|
type: "boolean"
|
|
336
353
|
}),
|
|
337
|
-
heartbeatInterval:
|
|
354
|
+
heartbeatInterval: z6.coerce.number().default(36e5).register(globalRegistry5, {
|
|
338
355
|
description: "The number of milliseconds between heartbeats if no blocks are produced",
|
|
339
356
|
title: "producer.heartbeatInterval",
|
|
340
357
|
type: "number"
|
|
341
358
|
}),
|
|
342
359
|
// TODO: BigInt schema
|
|
343
|
-
minStake:
|
|
360
|
+
minStake: z6.coerce.number().default(1).register(globalRegistry5, {
|
|
344
361
|
description: "Minimum stake required to be a Producer",
|
|
345
362
|
title: "producer.minStake",
|
|
346
363
|
type: "number"
|
|
347
364
|
}),
|
|
348
365
|
// TODO: Address schema
|
|
349
|
-
rewardAddress:
|
|
366
|
+
rewardAddress: z6.string().optional().register(globalRegistry5, {
|
|
350
367
|
description: "Address to receive block rewards",
|
|
351
368
|
title: "producer.rewardAddress",
|
|
352
369
|
type: "string"
|
|
353
370
|
})
|
|
354
371
|
}).shape);
|
|
355
|
-
var isProducerConfig =
|
|
356
|
-
var asProducerConfig =
|
|
357
|
-
var toProducerConfig =
|
|
358
|
-
var ProducerConfigContext =
|
|
372
|
+
var isProducerConfig = zodIsFactory5(ProducerConfigZod);
|
|
373
|
+
var asProducerConfig = zodAsFactory5(ProducerConfigZod, "asProducerConfig");
|
|
374
|
+
var toProducerConfig = zodToFactory5(ProducerConfigZod, "toProducerConfig");
|
|
375
|
+
var ProducerConfigContext = BaseConfigContextZod5.extend({
|
|
359
376
|
config: ProducerConfigZod
|
|
360
377
|
});
|
|
361
|
-
var isProducerConfigContext =
|
|
362
|
-
var asProducerConfigContext =
|
|
363
|
-
var toProducerConfigContext =
|
|
378
|
+
var isProducerConfigContext = zodIsFactory5(ProducerConfigContext);
|
|
379
|
+
var asProducerConfigContext = zodAsFactory5(ProducerConfigContext, "asProducerConfigContext");
|
|
380
|
+
var toProducerConfigContext = zodToFactory5(ProducerConfigContext, "toProducerConfigContext");
|
|
364
381
|
|
|
365
382
|
// src/shared/config/actors/RewardRedemption.ts
|
|
366
|
-
import { zodAsFactory as
|
|
367
|
-
import { BaseConfigContextZod as
|
|
368
|
-
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({
|
|
369
386
|
accountIndex: ActorAccountIndexZod("rewardRedemption.accountIndex")
|
|
370
387
|
});
|
|
371
|
-
var isRewardRedemptionConfig =
|
|
372
|
-
var asRewardRedemptionConfig =
|
|
373
|
-
var toRewardRedemptionConfig =
|
|
374
|
-
var RewardRedemptionConfigContext =
|
|
388
|
+
var isRewardRedemptionConfig = zodIsFactory6(RewardRedemptionConfigZod);
|
|
389
|
+
var asRewardRedemptionConfig = zodAsFactory6(RewardRedemptionConfigZod, "asRewardRedemptionConfig");
|
|
390
|
+
var toRewardRedemptionConfig = zodToFactory6(RewardRedemptionConfigZod, "toRewardRedemptionConfig");
|
|
391
|
+
var RewardRedemptionConfigContext = BaseConfigContextZod6.extend({
|
|
375
392
|
config: RewardRedemptionConfigZod
|
|
376
393
|
});
|
|
377
|
-
var isRewardRedemptionConfigContext =
|
|
378
|
-
var asRewardRedemptionConfigContext =
|
|
379
|
-
var 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";
|
|
383
|
-
import { BaseConfigContextZod as BaseConfigContextZod6, HostActorConfigZod as HostActorConfigZod5 } from "@xyo-network/xl1-sdk";
|
|
384
|
-
import { z as z6 } from "zod";
|
|
385
|
-
var ValidatorConfigZod = HostActorConfigZod5.extend({
|
|
386
|
-
accountIndex: ActorAccountIndexZod("validator.accountIndex"),
|
|
387
|
-
allowedProducers: z6.array(AddressZod3).optional(),
|
|
388
|
-
minCandidates: z6.number().int().min(0).default(1)
|
|
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
|
|
395
|
-
});
|
|
396
|
-
var isValidatorConfigContext = zodIsFactory6(ValidatorConfigContext);
|
|
397
|
-
var asValidatorConfigContext = zodAsFactory6(ValidatorConfigContext, "asValidatorConfigContext");
|
|
398
|
-
var toValidatorConfigContext = zodToFactory6(ValidatorConfigContext, "toValidatorConfigContext");
|
|
394
|
+
var isRewardRedemptionConfigContext = zodIsFactory6(RewardRedemptionConfigContext);
|
|
395
|
+
var asRewardRedemptionConfigContext = zodAsFactory6(RewardRedemptionConfigContext, "asRewardRedemptionConfigContext");
|
|
396
|
+
var toRewardRedemptionConfigContext = zodToFactory6(RewardRedemptionConfigContext, "toRewardRedemptionConfigContext");
|
|
399
397
|
|
|
400
398
|
// src/shared/config/mergeConfig.ts
|
|
401
399
|
import { deepMerge } from "@xylabs/sdk-js";
|
|
@@ -476,19 +474,19 @@ var RESERVED_ACTOR_INDEX = {
|
|
|
476
474
|
[ROOT_WALLET_RUNTIME_ID]: 0,
|
|
477
475
|
api: 4,
|
|
478
476
|
bridge: 2,
|
|
477
|
+
finalizer: 6,
|
|
479
478
|
mempool: 5,
|
|
480
479
|
producer: 1,
|
|
481
|
-
rewardRedemption: 3
|
|
482
|
-
validator: 6
|
|
480
|
+
rewardRedemption: 3
|
|
483
481
|
};
|
|
484
482
|
var ACTOR_LABELS = {
|
|
485
483
|
[ROOT_WALLET_RUNTIME_ID]: "root/local-node",
|
|
486
484
|
api: "api",
|
|
487
485
|
bridge: "bridge",
|
|
486
|
+
finalizer: "finalizer",
|
|
488
487
|
mempool: "mempool",
|
|
489
488
|
producer: "producer",
|
|
490
|
-
rewardRedemption: "rewardRedemption"
|
|
491
|
-
validator: "validator"
|
|
489
|
+
rewardRedemption: "rewardRedemption"
|
|
492
490
|
};
|
|
493
491
|
var activeWalletReport;
|
|
494
492
|
function getAccountLabel(actorName) {
|
|
@@ -512,11 +510,13 @@ function getInsecureGenesisRewardMnemonic() {
|
|
|
512
510
|
}
|
|
513
511
|
__name(getInsecureGenesisRewardMnemonic, "getInsecureGenesisRewardMnemonic");
|
|
514
512
|
function resolveRootWallet(configuration) {
|
|
513
|
+
const isConfigured = configuration.mnemonic !== void 0;
|
|
515
514
|
const mnemonic = configuration.mnemonic ?? BUILT_IN_DEV_MNEMONIC;
|
|
516
515
|
const isBuiltInDevMnemonic = mnemonic === BUILT_IN_DEV_MNEMONIC;
|
|
517
516
|
return {
|
|
518
517
|
basePath: DEFAULT_WALLET_PATH,
|
|
519
518
|
isBuiltInDevMnemonic,
|
|
519
|
+
isConfigured,
|
|
520
520
|
mnemonic,
|
|
521
521
|
mnemonicKind: isBuiltInDevMnemonic ? "built-in-dev" : "configured-root"
|
|
522
522
|
};
|
|
@@ -564,6 +564,7 @@ async function resolveWalletReport(requestedActors, configuration) {
|
|
|
564
564
|
actor.name,
|
|
565
565
|
actor
|
|
566
566
|
]));
|
|
567
|
+
const isRootRequired = requestedActors.some((actorName) => !actorConfigMap.get(actorName)?.mnemonic);
|
|
567
568
|
const resolvedActors = await Promise.all(requestedActors.map(async (actorName) => await resolveActorWallet(actorName, actorConfigMap.get(actorName), root)));
|
|
568
569
|
const labelMap = /* @__PURE__ */ new Map([
|
|
569
570
|
[
|
|
@@ -595,7 +596,19 @@ async function resolveWalletReport(requestedActors, configuration) {
|
|
|
595
596
|
label: labels?.join(", ") ?? `shared[${accountIndex}]`
|
|
596
597
|
};
|
|
597
598
|
}));
|
|
598
|
-
|
|
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({
|
|
599
612
|
length: SHARED_ACCOUNT_REPORT_COUNT
|
|
600
613
|
}, (_, index) => index).map(async (accountIndex) => {
|
|
601
614
|
const account = await resolveWalletMetadata({
|
|
@@ -610,17 +623,9 @@ async function resolveWalletReport(requestedActors, configuration) {
|
|
|
610
623
|
label: accountIndex === 0 ? "genesisRewardAddress" : `genesisReward[${accountIndex}]`
|
|
611
624
|
};
|
|
612
625
|
}));
|
|
613
|
-
return
|
|
614
|
-
actorSpecificAccounts: resolvedActors.filter((actor) => actor.source === "actor"),
|
|
615
|
-
insecureGenesisRewardAccounts,
|
|
616
|
-
requestedActors: [
|
|
617
|
-
...requestedActors
|
|
618
|
-
],
|
|
619
|
-
root,
|
|
620
|
-
sharedAccounts
|
|
621
|
-
};
|
|
626
|
+
return accounts;
|
|
622
627
|
}
|
|
623
|
-
__name(
|
|
628
|
+
__name(buildInsecureGenesisRewardAccounts, "buildInsecureGenesisRewardAccounts");
|
|
624
629
|
async function initializeResolvedWalletReport(requestedActors, configuration) {
|
|
625
630
|
activeWalletReport = await resolveWalletReport(requestedActors, configuration);
|
|
626
631
|
return activeWalletReport;
|
|
@@ -663,8 +668,13 @@ function formatGenesisRewardAccount(account) {
|
|
|
663
668
|
__name(formatGenesisRewardAccount, "formatGenesisRewardAccount");
|
|
664
669
|
function formatWalletReport(report) {
|
|
665
670
|
const sections = [];
|
|
666
|
-
const
|
|
667
|
-
|
|
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
|
+
}
|
|
668
678
|
if (showSecrets) {
|
|
669
679
|
sections.push([
|
|
670
680
|
"DEVELOPMENT WALLET WARNING",
|
|
@@ -678,39 +688,42 @@ function formatWalletReport(report) {
|
|
|
678
688
|
report.root.mnemonic
|
|
679
689
|
].join("\n"));
|
|
680
690
|
}
|
|
681
|
-
|
|
682
|
-
`Shared wallet accounts from ${report.root.basePath}:`,
|
|
683
|
-
"",
|
|
684
|
-
report.sharedAccounts.map((account) => formatSharedAccount(account, showSecrets)).join("\n\n")
|
|
685
|
-
].join("\n"));
|
|
686
|
-
if (report.actorSpecificAccounts.length > 0) {
|
|
691
|
+
if (showRootSection) {
|
|
687
692
|
sections.push([
|
|
688
|
-
|
|
693
|
+
`Shared wallet accounts from ${report.root.basePath}:`,
|
|
689
694
|
"",
|
|
690
|
-
report.
|
|
695
|
+
report.sharedAccounts.map((account) => formatSharedAccount(account, showSecrets)).join("\n\n")
|
|
691
696
|
].join("\n"));
|
|
692
697
|
}
|
|
693
|
-
if (report.
|
|
698
|
+
if (report.actorSpecificAccounts.length > 0) {
|
|
694
699
|
sections.push([
|
|
695
|
-
"
|
|
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}:`,
|
|
700
|
+
"Actor-specific wallet accounts:",
|
|
707
701
|
"",
|
|
708
|
-
report.
|
|
702
|
+
report.actorSpecificAccounts.map((account) => formatActorSpecificAccount(account)).join("\n\n")
|
|
709
703
|
].join("\n"));
|
|
710
704
|
}
|
|
711
705
|
return sections.join("\n\n");
|
|
712
706
|
}
|
|
713
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");
|
|
714
727
|
async function resolveGenesisRewardAddress(config) {
|
|
715
728
|
if (config.chain.genesisRewardAddress) return config.chain.genesisRewardAddress;
|
|
716
729
|
const wallet = await generateXyoBaseWalletFromPhrase(INSECURE_GENESIS_REWARD_MNEMONIC);
|
|
@@ -879,6 +892,41 @@ Orchestrator = _ts_decorate2([
|
|
|
879
892
|
creatable2()
|
|
880
893
|
], Orchestrator);
|
|
881
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
|
+
|
|
882
930
|
// src/neutral/config/locators/basicRemoteRunnerLocator.ts
|
|
883
931
|
import { basicRemoteRunnerLocator as sdkBasicRemoteRunnerLocator } from "@xyo-network/xl1-sdk";
|
|
884
932
|
function basicRemoteRunnerLocator(name, remoteConfig, signerTransport, dataLakeEndpoint, validators) {
|
|
@@ -898,12 +946,12 @@ function basicRemoteViewerLocator(name, remoteConfig, dataLakeEndpoint, validato
|
|
|
898
946
|
__name(basicRemoteViewerLocator, "basicRemoteViewerLocator");
|
|
899
947
|
|
|
900
948
|
// src/neutral/config/locators/rootLocatorFromConfig.ts
|
|
901
|
-
import { assertEx as
|
|
949
|
+
import { assertEx as assertEx4 } from "@xylabs/sdk-js";
|
|
902
950
|
import { commonLocatorFromConfig, remoteLocatorFromConfig } from "@xyo-network/xl1-sdk";
|
|
903
951
|
async function rootLocatorFromConfig(context, validateDepsOnRegister = false) {
|
|
904
952
|
const { config } = context;
|
|
905
953
|
await commonLocatorFromConfig(context, validateDepsOnRegister);
|
|
906
|
-
const locator =
|
|
954
|
+
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
955
|
locator.freeze();
|
|
908
956
|
return locator;
|
|
909
957
|
}
|
|
@@ -920,6 +968,9 @@ export {
|
|
|
920
968
|
DEFAULT_MEMPOOL_BLOCK_PRUNE_INTERVAL,
|
|
921
969
|
DEFAULT_MEMPOOL_TRANSACTION_PRUNE_INTERVAL,
|
|
922
970
|
DefaultServiceProvider,
|
|
971
|
+
FinalizerActor,
|
|
972
|
+
FinalizerConfigContext,
|
|
973
|
+
FinalizerConfigZod,
|
|
923
974
|
GENESIS_REWARD_AMOUNT,
|
|
924
975
|
GenericHost,
|
|
925
976
|
INSECURE_GENESIS_REWARD_MNEMONIC,
|
|
@@ -929,30 +980,31 @@ export {
|
|
|
929
980
|
ProducerConfigContext,
|
|
930
981
|
ProducerConfigZod,
|
|
931
982
|
ROOT_WALLET_RUNTIME_ID,
|
|
983
|
+
RejectedTransactionsArchivistProviderMoniker,
|
|
932
984
|
RewardRedemptionConfigContext,
|
|
933
985
|
RewardRedemptionConfigZod,
|
|
934
986
|
SHARED_ACCOUNT_REPORT_COUNT,
|
|
935
987
|
ServiceLifetime,
|
|
936
|
-
|
|
937
|
-
ValidatorConfigContext,
|
|
938
|
-
ValidatorConfigZod,
|
|
988
|
+
SimpleRejectedTransactionsArchivistProvider,
|
|
939
989
|
asApiConfig,
|
|
940
990
|
asApiConfigContext,
|
|
941
991
|
asBridgeConfig,
|
|
942
992
|
asBridgeConfigContext,
|
|
993
|
+
asFinalizerConfig,
|
|
994
|
+
asFinalizerConfigContext,
|
|
943
995
|
asMempoolConfig,
|
|
944
996
|
asMempoolConfigContext,
|
|
945
997
|
asProducerConfig,
|
|
946
998
|
asProducerConfigContext,
|
|
947
999
|
asRewardRedemptionConfig,
|
|
948
1000
|
asRewardRedemptionConfigContext,
|
|
949
|
-
asValidatorConfig,
|
|
950
|
-
asValidatorConfigContext,
|
|
951
1001
|
basicRemoteRunnerLocator,
|
|
952
1002
|
basicRemoteViewerLocator,
|
|
1003
|
+
buildInsecureGenesisRewardAccounts,
|
|
953
1004
|
buildTelemetryConfig,
|
|
954
1005
|
clearResolvedWalletReport,
|
|
955
1006
|
createProducerChainStakeIntentBlock,
|
|
1007
|
+
formatInsecureGenesisRewardWarning,
|
|
956
1008
|
formatWalletReport,
|
|
957
1009
|
getBuiltInDevMnemonic,
|
|
958
1010
|
getInsecureGenesisRewardMnemonic,
|
|
@@ -969,14 +1021,14 @@ export {
|
|
|
969
1021
|
isApiConfigContext,
|
|
970
1022
|
isBridgeConfig,
|
|
971
1023
|
isBridgeConfigContext,
|
|
1024
|
+
isFinalizerConfig,
|
|
1025
|
+
isFinalizerConfigContext,
|
|
972
1026
|
isMempoolConfig,
|
|
973
1027
|
isMempoolConfigContext,
|
|
974
1028
|
isProducerConfig,
|
|
975
1029
|
isProducerConfigContext,
|
|
976
1030
|
isRewardRedemptionConfig,
|
|
977
1031
|
isRewardRedemptionConfigContext,
|
|
978
|
-
isValidatorConfig,
|
|
979
|
-
isValidatorConfigContext,
|
|
980
1032
|
mergeConfig,
|
|
981
1033
|
resolveActorWallet,
|
|
982
1034
|
resolveGenesisRewardAddress,
|
|
@@ -988,13 +1040,13 @@ export {
|
|
|
988
1040
|
toApiConfigContext,
|
|
989
1041
|
toBridgeConfig,
|
|
990
1042
|
toBridgeConfigContext,
|
|
1043
|
+
toFinalizerConfig,
|
|
1044
|
+
toFinalizerConfigContext,
|
|
991
1045
|
toMempoolConfig,
|
|
992
1046
|
toMempoolConfigContext,
|
|
993
1047
|
toProducerConfig,
|
|
994
1048
|
toProducerConfigContext,
|
|
995
1049
|
toRewardRedemptionConfig,
|
|
996
|
-
toRewardRedemptionConfigContext
|
|
997
|
-
toValidatorConfig,
|
|
998
|
-
toValidatorConfigContext
|
|
1050
|
+
toRewardRedemptionConfigContext
|
|
999
1051
|
};
|
|
1000
1052
|
//# sourceMappingURL=index.mjs.map
|