@xyo-network/xl1-cli 1.19.2 → 1.19.4
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/cli-min.mjs +308 -72
- package/package.json +4 -4
package/dist/cli-min.mjs
CHANGED
|
@@ -85431,14 +85431,16 @@ var SingleTimeConfigZod = union$1([
|
|
|
85431
85431
|
object$4({ months: timeUnitSchema }),
|
|
85432
85432
|
object$4({ years: timeUnitSchema })
|
|
85433
85433
|
]).describe("Time configuration with exactly one time unit");
|
|
85434
|
-
tuple([
|
|
85434
|
+
var HydratedBlockZod = tuple([
|
|
85435
85435
|
BlockBoundWitnessZod,
|
|
85436
85436
|
array$1(PayloadZodLoose)
|
|
85437
85437
|
]);
|
|
85438
|
-
|
|
85438
|
+
var isHydratedBlock = zodIsFactory(HydratedBlockZod);
|
|
85439
|
+
var HydratedBlockWithHashMetaZod = tuple([
|
|
85439
85440
|
WithHashMetaZod(BlockBoundWitnessZod),
|
|
85440
85441
|
array$1(WithHashMetaZod(PayloadZodLoose))
|
|
85441
85442
|
]);
|
|
85443
|
+
var isHydratedBlockWithHashMeta = zodIsFactory(HydratedBlockWithHashMetaZod);
|
|
85442
85444
|
tuple([
|
|
85443
85445
|
WithStorageMetaZod(BlockBoundWitnessZod),
|
|
85444
85446
|
array$1(WithStorageMetaZod(PayloadZodLoose))
|
|
@@ -86236,14 +86238,10 @@ var ProviderFactory = class _ProviderFactory {
|
|
|
86236
86238
|
static withParams(creatableProvider2, dependencies, params, labels = {}) {
|
|
86237
86239
|
return new _ProviderFactory(creatableProvider2, dependencies, params, labels);
|
|
86238
86240
|
}
|
|
86239
|
-
/** @deprecated use getInstance instead */
|
|
86240
|
-
async create(params, start = true) {
|
|
86241
|
-
return await this.getInstance(params, start);
|
|
86242
|
-
}
|
|
86243
86241
|
factory(dependencies, params, labels = {}) {
|
|
86244
86242
|
return new _ProviderFactory(this.creatableProvider, dependencies, params, labels);
|
|
86245
86243
|
}
|
|
86246
|
-
async getInstance(params, start = true) {
|
|
86244
|
+
async getInstance(params, { start = true }) {
|
|
86247
86245
|
let scopeObject = {};
|
|
86248
86246
|
switch (this.scope) {
|
|
86249
86247
|
case "global": {
|
|
@@ -86289,9 +86287,9 @@ var ProviderFactory = class _ProviderFactory {
|
|
|
86289
86287
|
}
|
|
86290
86288
|
return result;
|
|
86291
86289
|
}
|
|
86292
|
-
async tryGetInstance(params,
|
|
86290
|
+
async tryGetInstance(params, options) {
|
|
86293
86291
|
try {
|
|
86294
|
-
return await this.getInstance(params,
|
|
86292
|
+
return await this.getInstance(params, options);
|
|
86295
86293
|
} catch {
|
|
86296
86294
|
return;
|
|
86297
86295
|
}
|
|
@@ -86342,7 +86340,10 @@ var AbstractCreatableProvider = class extends AbstractCreatable {
|
|
|
86342
86340
|
}
|
|
86343
86341
|
}
|
|
86344
86342
|
async locateAndCreate(moniker) {
|
|
86345
|
-
return await this.locator
|
|
86343
|
+
return await this.locator.getInstance(moniker);
|
|
86344
|
+
}
|
|
86345
|
+
async tryLocateAndCreate(moniker) {
|
|
86346
|
+
return await this.locator.tryGetInstance(moniker);
|
|
86346
86347
|
}
|
|
86347
86348
|
};
|
|
86348
86349
|
|
|
@@ -86354,8 +86355,6 @@ function creatableProvider() {
|
|
|
86354
86355
|
var buildProviderFactory = (provider, labels) => {
|
|
86355
86356
|
const factory = {
|
|
86356
86357
|
monikers: provider.monikers,
|
|
86357
|
-
// Copy static methods
|
|
86358
|
-
create: provider.create.bind(provider),
|
|
86359
86358
|
// Merge module & supplied labels
|
|
86360
86359
|
labels: { ...provider.labels, ...labels },
|
|
86361
86360
|
creatableProvider: provider.creatableProvider,
|
|
@@ -86426,14 +86425,10 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
|
|
|
86426
86425
|
static standard(context) {
|
|
86427
86426
|
return new _ProviderFactoryLocator(context, {});
|
|
86428
86427
|
}
|
|
86429
|
-
/** @deprecated use getInstance instead */
|
|
86430
|
-
async create(moniker, params, labels) {
|
|
86431
|
-
return await this.getInstance(moniker, params, labels);
|
|
86432
|
-
}
|
|
86433
86428
|
freeze() {
|
|
86434
86429
|
this._frozen = true;
|
|
86435
86430
|
}
|
|
86436
|
-
async getInstance(moniker, params, labels) {
|
|
86431
|
+
async getInstance(moniker, params, { start = true, labels } = {}) {
|
|
86437
86432
|
const resolvedParams = {
|
|
86438
86433
|
...params,
|
|
86439
86434
|
context: {
|
|
@@ -86442,7 +86437,7 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
|
|
|
86442
86437
|
}
|
|
86443
86438
|
};
|
|
86444
86439
|
const factory = this.locate(moniker, labels);
|
|
86445
|
-
const result = await factory.getInstance(resolvedParams);
|
|
86440
|
+
const result = await factory.getInstance(resolvedParams, { start });
|
|
86446
86441
|
return result;
|
|
86447
86442
|
}
|
|
86448
86443
|
/**
|
|
@@ -86488,9 +86483,9 @@ var ProviderFactoryLocator = class _ProviderFactoryLocator {
|
|
|
86488
86483
|
}
|
|
86489
86484
|
return this;
|
|
86490
86485
|
}
|
|
86491
|
-
async tryGetInstance(moniker, params,
|
|
86486
|
+
async tryGetInstance(moniker, params, options) {
|
|
86492
86487
|
try {
|
|
86493
|
-
return await this.getInstance(moniker, params,
|
|
86488
|
+
return await this.getInstance(moniker, params, options);
|
|
86494
86489
|
} catch {
|
|
86495
86490
|
return;
|
|
86496
86491
|
}
|
|
@@ -88624,11 +88619,13 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
|
|
|
88624
88619
|
this._chainContractViewer = await this.locator.getInstance(ChainContractViewerMoniker);
|
|
88625
88620
|
}
|
|
88626
88621
|
async qualifiedValidateBlock(block, config) {
|
|
88627
|
-
|
|
88622
|
+
const result = await this.qualifiedValidateBlocks([block], config);
|
|
88623
|
+
return [result[0][0], result[1]];
|
|
88628
88624
|
}
|
|
88629
88625
|
async qualifiedValidateBlocks(blocks, config) {
|
|
88630
88626
|
const { value, state } = config ?? {
|
|
88631
88627
|
state: true};
|
|
88628
|
+
const blocksWithMeta = await Promise.all(blocks.map((b) => Promise.all([PayloadBuilder.addHashMeta(b[0]), PayloadBuilder.addHashMeta(b[1])])));
|
|
88632
88629
|
const head = isChainQualifiedHeadConfig(config) ? assertEx(
|
|
88633
88630
|
(await this.blockViewer.blockByHash(config.head))?.[0],
|
|
88634
88631
|
() => `Specified a head that is not in the chain [${config.head}]`
|
|
@@ -88637,25 +88634,44 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
|
|
|
88637
88634
|
const validateProtocol = value ? this.doValidateProtocol.bind(this) : void 0;
|
|
88638
88635
|
const validateState = state ? this.doValidateState.bind(this) : void 0;
|
|
88639
88636
|
const chainIdAtBlockNumber = (blockNumber) => this.chainContractViewer.chainIdAtBlockNumber(blockNumber);
|
|
88640
|
-
|
|
88641
|
-
|
|
88642
|
-
|
|
88643
|
-
|
|
88637
|
+
const qualification = { head: headBlock._hash, range: asXL1BlockRange([0, headBlock.block], true) };
|
|
88638
|
+
const [protocolResults, stateResults] = await Promise.all([
|
|
88639
|
+
validateProtocol?.(blocksWithMeta, chainIdAtBlockNumber),
|
|
88640
|
+
validateState?.(blocksWithMeta, chainIdAtBlockNumber)
|
|
88641
|
+
]);
|
|
88642
|
+
const blockResults = blocksWithMeta.map((r, i) => {
|
|
88643
|
+
const errors = [];
|
|
88644
|
+
if (protocolResults && !isHydratedBlock(protocolResults[i])) {
|
|
88645
|
+
errors.push(...protocolResults[i]);
|
|
88646
|
+
}
|
|
88647
|
+
if (stateResults && !isHydratedBlock(stateResults[i])) {
|
|
88648
|
+
errors.push(...stateResults[i]);
|
|
88649
|
+
}
|
|
88650
|
+
return errors.length === 0 ? r : errors;
|
|
88651
|
+
});
|
|
88652
|
+
return [blockResults, qualification];
|
|
88653
|
+
}
|
|
88654
|
+
qualifiedValidateUncle(_blocks, _config) {
|
|
88655
|
+
throw new Error("Method not implemented.");
|
|
88644
88656
|
}
|
|
88645
88657
|
async validateBlock(block, config) {
|
|
88646
|
-
return await this.validateBlocks([block], config);
|
|
88658
|
+
return (await this.validateBlocks([block], config))[0];
|
|
88647
88659
|
}
|
|
88648
88660
|
async validateBlocks(blocks, config) {
|
|
88649
88661
|
return (await this.qualifiedValidateBlocks(blocks, config))[0];
|
|
88650
88662
|
}
|
|
88663
|
+
async validateUncle(blocks, config) {
|
|
88664
|
+
return (await this.qualifiedValidateUncle(blocks, config))[0];
|
|
88665
|
+
}
|
|
88651
88666
|
async doValidateProtocol(blocks, chainIdAtBlockNumber) {
|
|
88652
|
-
return
|
|
88653
|
-
|
|
88667
|
+
return await Promise.all(blocks.map(async (block) => {
|
|
88668
|
+
const errors = await this.params.protocol(
|
|
88654
88669
|
this.context,
|
|
88655
88670
|
block,
|
|
88656
88671
|
chainIdAtBlockNumber
|
|
88657
88672
|
);
|
|
88658
|
-
|
|
88673
|
+
return errors.length === 0 ? block : errors;
|
|
88674
|
+
}));
|
|
88659
88675
|
}
|
|
88660
88676
|
async doValidateState(blocks, chainIdAtBlockNumber) {
|
|
88661
88677
|
const windowedUncleChain = await this.updateWindowedChainCache();
|
|
@@ -88665,14 +88681,15 @@ var SimpleBlockValidationViewer = class extends AbstractCreatableProvider {
|
|
|
88665
88681
|
this.logger?.warn(JSON.stringify(windowedUncleChain, null, 2));
|
|
88666
88682
|
throw new Error(`No uncles or greater than one uncle found in block validation, which is not supported [${uncles.length}, ${blocks.length}]`);
|
|
88667
88683
|
}
|
|
88668
|
-
return
|
|
88669
|
-
|
|
88684
|
+
return await Promise.all(uncles[0].map(async (block) => {
|
|
88685
|
+
const errors = await this.params.state(
|
|
88670
88686
|
this.context,
|
|
88671
88687
|
block,
|
|
88672
88688
|
chainIdAtBlockNumber,
|
|
88673
88689
|
{ accountBalance: this._accountBalanceViewer }
|
|
88674
88690
|
);
|
|
88675
|
-
|
|
88691
|
+
return errors.length === 0 ? block : errors;
|
|
88692
|
+
}));
|
|
88676
88693
|
}
|
|
88677
88694
|
async updateWindowedChainCache() {
|
|
88678
88695
|
this._uncleWindowedChainCache = await getWindowedChain(this.context, this.blockViewer, this.maxUncleWindowSize, this._uncleWindowedChainCache ?? []);
|
|
@@ -89104,6 +89121,18 @@ var SimpleXyoGatewayRunner = class _SimpleXyoGatewayRunner extends AbstractCreat
|
|
|
89104
89121
|
};
|
|
89105
89122
|
var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
89106
89123
|
moniker = SimpleMempoolRunner.defaultMoniker;
|
|
89124
|
+
_blockValidationViewer;
|
|
89125
|
+
_chainContractViewer;
|
|
89126
|
+
_finalizationViewer;
|
|
89127
|
+
get blockValidationViewer() {
|
|
89128
|
+
return this._blockValidationViewer;
|
|
89129
|
+
}
|
|
89130
|
+
get chainContractViewer() {
|
|
89131
|
+
return this._chainContractViewer;
|
|
89132
|
+
}
|
|
89133
|
+
get finalizationViewer() {
|
|
89134
|
+
return this._finalizationViewer;
|
|
89135
|
+
}
|
|
89107
89136
|
get pendingBlocksArchivist() {
|
|
89108
89137
|
return this.params.pendingBlocksArchivist;
|
|
89109
89138
|
}
|
|
@@ -89117,6 +89146,72 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
|
89117
89146
|
pendingTransactionsArchivist: assertEx(params?.pendingTransactionsArchivist, () => "pendingTransactionsArchivist is required")
|
|
89118
89147
|
};
|
|
89119
89148
|
}
|
|
89149
|
+
async createHandler() {
|
|
89150
|
+
await super.createHandler();
|
|
89151
|
+
this._blockValidationViewer = await this.locator.getInstance(BlockValidationViewerMoniker);
|
|
89152
|
+
this._chainContractViewer = await this.locator.getInstance(ChainContractViewerMoniker);
|
|
89153
|
+
this._finalizationViewer = await this.locator.getInstance(FinalizationViewerMoniker);
|
|
89154
|
+
}
|
|
89155
|
+
async prunePendingBlocks({
|
|
89156
|
+
batchSize = 10,
|
|
89157
|
+
maxPrune = 1e3,
|
|
89158
|
+
maxCheck = 1e3
|
|
89159
|
+
} = {}) {
|
|
89160
|
+
let total = 0;
|
|
89161
|
+
let pruned = 0;
|
|
89162
|
+
let cursor;
|
|
89163
|
+
let batch = await this.pendingBlocksArchivist.next({
|
|
89164
|
+
limit: batchSize,
|
|
89165
|
+
cursor,
|
|
89166
|
+
order: "desc"
|
|
89167
|
+
});
|
|
89168
|
+
this.logger?.info(`Starting prunePendingBlocks with batchSize=${batchSize}, maxPrune=${maxPrune}, maxCheck=${maxCheck}`);
|
|
89169
|
+
while (batch.length > 0 && pruned < maxPrune && total < maxCheck) {
|
|
89170
|
+
const blocksAndBundles = await this.simpleValidationCheck(batch);
|
|
89171
|
+
const blocks = blocksAndBundles.map(([b]) => b);
|
|
89172
|
+
const bundles = blocksAndBundles.map(([_, p]) => p);
|
|
89173
|
+
let valid = blocks.map((b) => !!b);
|
|
89174
|
+
let remainingBlockMap = [];
|
|
89175
|
+
let remainingBlocks = blocks.map((b, i) => {
|
|
89176
|
+
if (b) {
|
|
89177
|
+
remainingBlockMap.push(i);
|
|
89178
|
+
return b;
|
|
89179
|
+
}
|
|
89180
|
+
}).filter(exists$2);
|
|
89181
|
+
assertEx(
|
|
89182
|
+
remainingBlockMap.length === remainingBlocks.length,
|
|
89183
|
+
() => `remainingBlockMap length should match remainingBlocks length [${remainingBlockMap.length}/${remainingBlocks.length}]`
|
|
89184
|
+
);
|
|
89185
|
+
const validationResults = remainingBlocks.map((b) => b);
|
|
89186
|
+
for (const [i, r] of validationResults.entries()) {
|
|
89187
|
+
const validated = isHydratedBlockWithHashMeta(r);
|
|
89188
|
+
if (!validated) {
|
|
89189
|
+
this.logger?.info(`Pruning block ${bundles[remainingBlockMap[i]]._hash} during block validation`);
|
|
89190
|
+
this.logger?.info(` - validation result: ${JSON.stringify(r, null, 2)}`);
|
|
89191
|
+
}
|
|
89192
|
+
valid[remainingBlockMap[i]] = validated;
|
|
89193
|
+
}
|
|
89194
|
+
const pruneHashes = bundles.map((p, i) => {
|
|
89195
|
+
if (!valid[i]) {
|
|
89196
|
+
return p._hash;
|
|
89197
|
+
}
|
|
89198
|
+
}).filter(exists$2);
|
|
89199
|
+
pruned += pruneHashes.length;
|
|
89200
|
+
total += batch.length;
|
|
89201
|
+
await this.pendingBlocksArchivist.delete(pruneHashes);
|
|
89202
|
+
cursor = batch.at(-1)?._sequence;
|
|
89203
|
+
batch = cursor ? await this.pendingBlocksArchivist.next({
|
|
89204
|
+
limit: batchSize,
|
|
89205
|
+
cursor,
|
|
89206
|
+
order: "desc"
|
|
89207
|
+
}) : [];
|
|
89208
|
+
}
|
|
89209
|
+
this.logger?.info(`prunePendingBlocks completed: pruned=${pruned}, totalChecked=${total}`);
|
|
89210
|
+
return [pruned, total];
|
|
89211
|
+
}
|
|
89212
|
+
prunePendingTransactions(_options) {
|
|
89213
|
+
throw new Error("Method not implemented.");
|
|
89214
|
+
}
|
|
89120
89215
|
async submitBlocks(blocks) {
|
|
89121
89216
|
const bundles = await Promise.all(blocks.map(async ([bw, payloads]) => {
|
|
89122
89217
|
return hydratedBlockToPayloadBundle([
|
|
@@ -89137,9 +89232,27 @@ var SimpleMempoolRunner = class extends AbstractCreatableProvider {
|
|
|
89137
89232
|
const inserted = await this.pendingTransactionsArchivist.insert(bundles);
|
|
89138
89233
|
return inserted.map((p) => p._hash);
|
|
89139
89234
|
}
|
|
89235
|
+
async simpleValidationCheck(payloads) {
|
|
89236
|
+
const headNumber = await this.finalizationViewer.headNumber();
|
|
89237
|
+
const chainId = await this.chainContractViewer.chainId();
|
|
89238
|
+
const blockBundles = await Promise.all(payloads.map(async (p) => {
|
|
89239
|
+
return [isPayloadBundle(p) ? await bundledPayloadToHydratedBlock(p) : void 0, p];
|
|
89240
|
+
}));
|
|
89241
|
+
return blockBundles.map(([block, bundle3]) => {
|
|
89242
|
+
const result = [block ? block[0].chain === chainId && block[0].block > headNumber && isSignedHydratedBlockWithHashMeta(block) ? block : void 0 : void 0, bundle3];
|
|
89243
|
+
if (result[0] === void 0) {
|
|
89244
|
+
this.logger?.info(`Pruning block bundle ${bundle3._hash} during simpleValidationCheck`);
|
|
89245
|
+
this.logger?.info(` - chainId match: ${block ? block[0].chain === chainId : "n/a"}`);
|
|
89246
|
+
this.logger?.info(` - headNumber check: ${block ? block[0].block > headNumber : "n/a"}`);
|
|
89247
|
+
this.logger?.info(` - isSignedHydratedBlockWithHashMeta: ${block ? isSignedHydratedBlockWithHashMeta(block) : "n/a"}`);
|
|
89248
|
+
this.logger?.info(` - block value: ${block ? JSON.stringify(block, null, 2) : "n/a"}`);
|
|
89249
|
+
}
|
|
89250
|
+
return result;
|
|
89251
|
+
});
|
|
89252
|
+
}
|
|
89140
89253
|
};
|
|
89141
89254
|
__publicField$4(SimpleMempoolRunner, "defaultMoniker", MempoolRunnerMoniker);
|
|
89142
|
-
__publicField$4(SimpleMempoolRunner, "dependencies", [
|
|
89255
|
+
__publicField$4(SimpleMempoolRunner, "dependencies", [FinalizationViewerMoniker, BlockValidationViewerMoniker, ChainContractViewerMoniker]);
|
|
89143
89256
|
__publicField$4(SimpleMempoolRunner, "monikers", [MempoolRunnerMoniker]);
|
|
89144
89257
|
SimpleMempoolRunner = __decorateClass$4([
|
|
89145
89258
|
creatableProvider()
|
|
@@ -89192,14 +89305,12 @@ var SimpleMempoolViewer = class extends AbstractCreatableProvider {
|
|
|
89192
89305
|
});
|
|
89193
89306
|
this.logger?.info(`Fetched pending transactions: ${bundles.length} bundles`);
|
|
89194
89307
|
const filteredBundles = bundles.filter(isPayloadBundle).filter(isHashMeta);
|
|
89195
|
-
this.logger?.info(`Filtered pending transactions: ${JSON.stringify(filteredBundles, null, 2)} filteredBundles`);
|
|
89196
89308
|
const hydratedWithBundle = (await Promise.all(
|
|
89197
89309
|
filteredBundles.map(async (bundle3) => {
|
|
89198
89310
|
const tx = await bundledPayloadToHydratedTransaction$1(bundle3);
|
|
89199
89311
|
return isDefined(tx) ? { bundle: bundle3, tx } : void 0;
|
|
89200
89312
|
})
|
|
89201
89313
|
)).filter(exists$2);
|
|
89202
|
-
this.logger?.info(`Converted pending transactions: ${JSON.stringify(hydratedWithBundle.map((x) => x.tx), null, 2)} results`);
|
|
89203
89314
|
const currentBlock = await this.windowedBlockViewer.currentBlock();
|
|
89204
89315
|
const evaluated = await Promise.all(
|
|
89205
89316
|
hydratedWithBundle.map(async ({ bundle: bundle3, tx }) => ({
|
|
@@ -96663,6 +96774,12 @@ var JsonRpcMempoolRunnerMethods = class extends AbstractJsonRpcRunner {
|
|
|
96663
96774
|
|
|
96664
96775
|
// src/provider/runner/JsonRpcMempoolRunner/JsonRpcMempoolRunner.ts
|
|
96665
96776
|
var JsonRpcMempoolRunner = class extends JsonRpcMempoolRunnerMethods {
|
|
96777
|
+
prunePendingBlocks(_options) {
|
|
96778
|
+
throw new Error("Method not implemented.");
|
|
96779
|
+
}
|
|
96780
|
+
prunePendingTransactions(_options) {
|
|
96781
|
+
throw new Error("Method not implemented.");
|
|
96782
|
+
}
|
|
96666
96783
|
};
|
|
96667
96784
|
__publicField$3(JsonRpcMempoolRunner, "defaultMoniker", MempoolRunnerMoniker);
|
|
96668
96785
|
__publicField$3(JsonRpcMempoolRunner, "dependencies", []);
|
|
@@ -96679,12 +96796,16 @@ var JsonRpcXyoRunner = class extends AbstractJsonRpcRunner {
|
|
|
96679
96796
|
async broadcastTransaction(transaction) {
|
|
96680
96797
|
return await this.transport.sendRequest("xyoRunner_broadcastTransaction", [transaction]);
|
|
96681
96798
|
}
|
|
96799
|
+
async createHandler() {
|
|
96800
|
+
await super.createHandler();
|
|
96801
|
+
this._mempoolRunner = await this.locateAndCreate(MempoolRunnerMoniker);
|
|
96802
|
+
}
|
|
96682
96803
|
schemas() {
|
|
96683
96804
|
return XyoRunnerRpcSchemas;
|
|
96684
96805
|
}
|
|
96685
96806
|
};
|
|
96686
96807
|
__publicField$3(JsonRpcXyoRunner, "defaultMoniker", XyoRunnerMoniker);
|
|
96687
|
-
__publicField$3(JsonRpcXyoRunner, "dependencies", []);
|
|
96808
|
+
__publicField$3(JsonRpcXyoRunner, "dependencies", [MempoolRunnerMoniker]);
|
|
96688
96809
|
__publicField$3(JsonRpcXyoRunner, "monikers", [XyoRunnerMoniker]);
|
|
96689
96810
|
JsonRpcXyoRunner = __decorateClass$3([
|
|
96690
96811
|
creatableProvider()
|
|
@@ -202271,13 +202392,13 @@ var AbstractEvmProvider = class extends AbstractCreatableProvider {
|
|
|
202271
202392
|
this._contract = this.connectContract(toEthAddress(this.params.address));
|
|
202272
202393
|
}
|
|
202273
202394
|
};
|
|
202274
|
-
function _ts_decorate3$
|
|
202395
|
+
function _ts_decorate3$3(decorators, target, key, desc) {
|
|
202275
202396
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
202276
202397
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
202277
202398
|
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;
|
|
202278
202399
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
202279
202400
|
}
|
|
202280
|
-
__name$e(_ts_decorate3$
|
|
202401
|
+
__name$e(_ts_decorate3$3, "_ts_decorate");
|
|
202281
202402
|
var EvmChainContractViewer = class _EvmChainContractViewer extends AbstractEvmProvider {
|
|
202282
202403
|
static {
|
|
202283
202404
|
__name$e(this, "EvmChainContractViewer");
|
|
@@ -202358,7 +202479,7 @@ var EvmChainContractViewer = class _EvmChainContractViewer extends AbstractEvmPr
|
|
|
202358
202479
|
return IStakedXyoChain__factory.connect(address, this.params.runner);
|
|
202359
202480
|
}
|
|
202360
202481
|
};
|
|
202361
|
-
EvmChainContractViewer = _ts_decorate3$
|
|
202482
|
+
EvmChainContractViewer = _ts_decorate3$3([
|
|
202362
202483
|
creatableProvider()
|
|
202363
202484
|
], EvmChainContractViewer);
|
|
202364
202485
|
function _ts_decorate4$1(decorators, target, key, desc) {
|
|
@@ -203365,13 +203486,13 @@ var BlockValidationDiviner = class extends AbstractDiviner {
|
|
|
203365
203486
|
BlockValidationDiviner = _ts_decorate2$2([
|
|
203366
203487
|
creatableModule()
|
|
203367
203488
|
], BlockValidationDiviner);
|
|
203368
|
-
function _ts_decorate3$
|
|
203489
|
+
function _ts_decorate3$2(decorators, target, key, desc) {
|
|
203369
203490
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
203370
203491
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
203371
203492
|
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;
|
|
203372
203493
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
203373
203494
|
}
|
|
203374
|
-
__name$b(_ts_decorate3$
|
|
203495
|
+
__name$b(_ts_decorate3$2, "_ts_decorate");
|
|
203375
203496
|
var HeadValidationDivinerConfigSchema = asSchema("network.xyo.diviner.chain.head.validation.config", true);
|
|
203376
203497
|
var HeadValidationDiviner = class extends AbstractDiviner {
|
|
203377
203498
|
static {
|
|
@@ -203481,7 +203602,7 @@ var HeadValidationDiviner = class extends AbstractDiviner {
|
|
|
203481
203602
|
});
|
|
203482
203603
|
}
|
|
203483
203604
|
};
|
|
203484
|
-
HeadValidationDiviner = _ts_decorate3$
|
|
203605
|
+
HeadValidationDiviner = _ts_decorate3$2([
|
|
203485
203606
|
creatableModule()
|
|
203486
203607
|
], HeadValidationDiviner);
|
|
203487
203608
|
async function processPendingBlocks({ blockViewer, context, finalizedArchivist, logger, mempoolViewer }) {
|
|
@@ -204752,13 +204873,13 @@ var createBootstrapHead = /* @__PURE__ */ __name$9(async (account, chainId, gene
|
|
|
204752
204873
|
chain.push(producerDeclarationBlock);
|
|
204753
204874
|
return chain;
|
|
204754
204875
|
}, "createBootstrapHead");
|
|
204755
|
-
function _ts_decorate3(decorators, target, key, desc) {
|
|
204876
|
+
function _ts_decorate3$1(decorators, target, key, desc) {
|
|
204756
204877
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
204757
204878
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
204758
204879
|
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;
|
|
204759
204880
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
204760
204881
|
}
|
|
204761
|
-
__name$9(_ts_decorate3, "_ts_decorate");
|
|
204882
|
+
__name$9(_ts_decorate3$1, "_ts_decorate");
|
|
204762
204883
|
var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService extends AbstractCreatableProvider {
|
|
204763
204884
|
static {
|
|
204764
204885
|
__name$9(this, "BaseNetworkStakeStepRewardService");
|
|
@@ -204824,7 +204945,7 @@ var BaseNetworkStakeStepRewardService = class _BaseNetworkStakeStepRewardService
|
|
|
204824
204945
|
throw new Error("Method [networkStakeStepRewardsForStepLevel] not implemented.");
|
|
204825
204946
|
}
|
|
204826
204947
|
};
|
|
204827
|
-
BaseNetworkStakeStepRewardService = _ts_decorate3([
|
|
204948
|
+
BaseNetworkStakeStepRewardService = _ts_decorate3$1([
|
|
204828
204949
|
creatableProvider()
|
|
204829
204950
|
], BaseNetworkStakeStepRewardService);
|
|
204830
204951
|
var bundledPayloadToHydratedTransaction = /* @__PURE__ */ __name$9(async (payload) => {
|
|
@@ -205373,19 +205494,20 @@ var SimpleBlockRunner = class _SimpleBlockRunner extends AbstractCreatableProvid
|
|
|
205373
205494
|
this.logger?.info(`Built block ${block[0].block} in ${Date.now() - startBuild}ms with ${block[1].length} payloads`);
|
|
205374
205495
|
this.logger?.info(`Validating block ${block[0].block} with ${block[1].length} payloads`);
|
|
205375
205496
|
const startValidate = Date.now();
|
|
205376
|
-
const
|
|
205497
|
+
const validatedBlock = await this.blockValidationViewer.validateBlock(block, {
|
|
205377
205498
|
head: head._hash
|
|
205378
205499
|
});
|
|
205379
205500
|
this.logger?.info(`Validated block ${block[0].block} in ${Date.now() - startValidate}ms with ${block[1].length} payloads`);
|
|
205380
|
-
if (
|
|
205501
|
+
if (isSignedHydratedBlockWithHashMeta(validatedBlock)) {
|
|
205502
|
+
await this.mempoolRunner.submitBlocks([
|
|
205503
|
+
validatedBlock
|
|
205504
|
+
]);
|
|
205505
|
+
return validatedBlock;
|
|
205506
|
+
} else {
|
|
205507
|
+
const errors = validatedBlock;
|
|
205381
205508
|
this.logger?.warn(`Validation of produced block failed: ${errors.at(0)?.message}`);
|
|
205382
205509
|
const rejectedTransactions = block[1];
|
|
205383
205510
|
await this.rejectedTransactionsArchivist.insert(rejectedTransactions);
|
|
205384
|
-
} else {
|
|
205385
|
-
await this.mempoolRunner.submitBlocks([
|
|
205386
|
-
block
|
|
205387
|
-
]);
|
|
205388
|
-
return block;
|
|
205389
205511
|
}
|
|
205390
205512
|
} catch (error) {
|
|
205391
205513
|
this.logger?.error(`Error proposing next valid block: ${error.message}`);
|
|
@@ -297280,8 +297402,8 @@ var __name$6 = (target, value) => __defProp$6(target, "name", { value, configura
|
|
|
297280
297402
|
__name$6(this, "BalanceActor");
|
|
297281
297403
|
}
|
|
297282
297404
|
_updateMutex = new Mutex$1();
|
|
297283
|
-
get
|
|
297284
|
-
return assertEx(this.params.
|
|
297405
|
+
get accountBalanceViewer() {
|
|
297406
|
+
return assertEx(this.params.accountBalanceViewer, () => "balanceService not set");
|
|
297285
297407
|
}
|
|
297286
297408
|
get blockViewer() {
|
|
297287
297409
|
return assertEx(this.params.blockViewer, () => "blockViewer not set");
|
|
@@ -297302,7 +297424,7 @@ var __name$6 = (target, value) => __defProp$6(target, "name", { value, configura
|
|
|
297302
297424
|
if (this._updateMutex.isLocked()) return;
|
|
297303
297425
|
await this._updateMutex.runExclusive(async () => {
|
|
297304
297426
|
const head = await this.blockViewer.currentBlockHash();
|
|
297305
|
-
await this.
|
|
297427
|
+
await this.accountBalanceViewer.accountBalances([], {
|
|
297306
297428
|
head
|
|
297307
297429
|
});
|
|
297308
297430
|
});
|
|
@@ -297315,27 +297437,111 @@ function _ts_decorate$2(decorators, target, key, desc) {
|
|
|
297315
297437
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
297316
297438
|
}
|
|
297317
297439
|
__name$6(_ts_decorate$2, "_ts_decorate");
|
|
297440
|
+
var MempoolActor = class extends Actor {
|
|
297441
|
+
static {
|
|
297442
|
+
__name$6(this, "MempoolActor");
|
|
297443
|
+
}
|
|
297444
|
+
_blockTimerId = null;
|
|
297445
|
+
_blockTimerMutex = new Mutex$1();
|
|
297446
|
+
_transactionTimerId = null;
|
|
297447
|
+
_transactionTimerMutex = new Mutex$1();
|
|
297448
|
+
get mempoolRunner() {
|
|
297449
|
+
return this.params.mempoolRunner;
|
|
297450
|
+
}
|
|
297451
|
+
get pendingBlocksArchivist() {
|
|
297452
|
+
return this.params.pendingBlocksArchivist;
|
|
297453
|
+
}
|
|
297454
|
+
get pendingTransactionsArchivist() {
|
|
297455
|
+
return this.params.pendingTransactionsArchivist;
|
|
297456
|
+
}
|
|
297457
|
+
static async paramsHandler(params) {
|
|
297458
|
+
return {
|
|
297459
|
+
...await super.paramsHandler(params),
|
|
297460
|
+
mempoolRunner: assertEx(params?.mempoolRunner, () => "mempoolRunner is required for MempoolActor"),
|
|
297461
|
+
pendingBlocksArchivist: assertEx(params?.pendingBlocksArchivist, () => "pendingBlocksArchivist is required for MempoolActor"),
|
|
297462
|
+
pendingTransactionsArchivist: assertEx(params?.pendingTransactionsArchivist, () => "pendingTransactionsArchivist is required for MempoolActor")
|
|
297463
|
+
};
|
|
297464
|
+
}
|
|
297465
|
+
async startHandler() {
|
|
297466
|
+
await super.startHandler();
|
|
297467
|
+
this.restartBlockTimer();
|
|
297468
|
+
}
|
|
297469
|
+
async stopHandler() {
|
|
297470
|
+
await super.stopHandler();
|
|
297471
|
+
this.stopBlockTimer();
|
|
297472
|
+
}
|
|
297473
|
+
restartBlockTimer() {
|
|
297474
|
+
this.stopBlockTimer();
|
|
297475
|
+
this._blockTimerId = setInterval(() => {
|
|
297476
|
+
if (this._blockTimerMutex.isLocked()) {
|
|
297477
|
+
return;
|
|
297478
|
+
}
|
|
297479
|
+
void this._blockTimerMutex.runExclusive(async () => {
|
|
297480
|
+
await this.mempoolRunner.prunePendingBlocks({
|
|
297481
|
+
batchSize: 50
|
|
297482
|
+
});
|
|
297483
|
+
});
|
|
297484
|
+
}, 1e3);
|
|
297485
|
+
}
|
|
297486
|
+
restartTransactionTimer() {
|
|
297487
|
+
this.stopTransactionTimer();
|
|
297488
|
+
this._transactionTimerId = setInterval(() => {
|
|
297489
|
+
if (this._transactionTimerMutex.isLocked()) {
|
|
297490
|
+
return;
|
|
297491
|
+
}
|
|
297492
|
+
void this._transactionTimerMutex.runExclusive(async () => {
|
|
297493
|
+
await this.mempoolRunner.prunePendingTransactions({
|
|
297494
|
+
batchSize: 50
|
|
297495
|
+
});
|
|
297496
|
+
});
|
|
297497
|
+
}, 1e3);
|
|
297498
|
+
}
|
|
297499
|
+
stopBlockTimer() {
|
|
297500
|
+
if (this._blockTimerId !== null) {
|
|
297501
|
+
clearInterval(this._blockTimerId);
|
|
297502
|
+
}
|
|
297503
|
+
this._blockTimerId = null;
|
|
297504
|
+
}
|
|
297505
|
+
stopTransactionTimer() {
|
|
297506
|
+
if (this._transactionTimerId !== null) {
|
|
297507
|
+
clearInterval(this._transactionTimerId);
|
|
297508
|
+
}
|
|
297509
|
+
this._transactionTimerId = null;
|
|
297510
|
+
}
|
|
297511
|
+
};
|
|
297512
|
+
MempoolActor = _ts_decorate$2([
|
|
297513
|
+
creatable()
|
|
297514
|
+
], MempoolActor);
|
|
297515
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
297516
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
297517
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
297518
|
+
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;
|
|
297519
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
297520
|
+
}
|
|
297521
|
+
__name$6(_ts_decorate2, "_ts_decorate");
|
|
297318
297522
|
var ValidatorActor = class extends Actor {
|
|
297319
297523
|
static {
|
|
297320
297524
|
__name$6(this, "ValidatorActor");
|
|
297321
297525
|
}
|
|
297322
|
-
_blockViewer;
|
|
297323
297526
|
_lastValidatedBlock;
|
|
297324
297527
|
_lastValidatedBlockHash;
|
|
297325
|
-
_mempoolViewer;
|
|
297326
297528
|
get blockViewer() {
|
|
297327
|
-
return this.
|
|
297529
|
+
return this.params.blockViewer;
|
|
297328
297530
|
}
|
|
297329
297531
|
get finalizedArchivist() {
|
|
297330
297532
|
return assertEx(this.params.finalizedArchivist, () => "finalizedArchivist not set");
|
|
297331
297533
|
}
|
|
297332
297534
|
get mempoolViewer() {
|
|
297333
|
-
return this.
|
|
297535
|
+
return this.params.mempoolViewer;
|
|
297334
297536
|
}
|
|
297335
|
-
async
|
|
297336
|
-
|
|
297337
|
-
|
|
297338
|
-
|
|
297537
|
+
static async paramsHandler(params) {
|
|
297538
|
+
return {
|
|
297539
|
+
...await super.paramsHandler(params),
|
|
297540
|
+
mempoolViewer: assertEx(params?.mempoolViewer, () => "mempoolViewer is required for ValidatorActor"),
|
|
297541
|
+
blockViewer: assertEx(params?.blockViewer, () => "blockViewer is required for ValidatorActor"),
|
|
297542
|
+
finalizedArchivist: assertEx(params?.finalizedArchivist, () => "finalizedArchivist is required for ValidatorActor"),
|
|
297543
|
+
account: assertEx(params?.account, () => "account is required for ValidatorActor")
|
|
297544
|
+
};
|
|
297339
297545
|
}
|
|
297340
297546
|
async startHandler() {
|
|
297341
297547
|
await super.startHandler();
|
|
@@ -297372,7 +297578,7 @@ var ValidatorActor = class extends Actor {
|
|
|
297372
297578
|
return valid;
|
|
297373
297579
|
}
|
|
297374
297580
|
};
|
|
297375
|
-
ValidatorActor =
|
|
297581
|
+
ValidatorActor = _ts_decorate2([
|
|
297376
297582
|
creatable()
|
|
297377
297583
|
], ValidatorActor);
|
|
297378
297584
|
var DEFAULT_STORAGE_ROOT = path.join(process.cwd(), ".store");
|
|
@@ -298127,13 +298333,13 @@ async function initRewardsRedemptionApiWallet({ config, logger }) {
|
|
|
298127
298333
|
}, mnemonic);
|
|
298128
298334
|
}
|
|
298129
298335
|
__name$6(initRewardsRedemptionApiWallet, "initRewardsRedemptionApiWallet");
|
|
298130
|
-
function
|
|
298336
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
298131
298337
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
298132
298338
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
298133
298339
|
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;
|
|
298134
298340
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
298135
298341
|
}
|
|
298136
|
-
__name$6(
|
|
298342
|
+
__name$6(_ts_decorate3, "_ts_decorate");
|
|
298137
298343
|
var Orchestrator = class extends AbstractCreatable {
|
|
298138
298344
|
static {
|
|
298139
298345
|
__name$6(this, "Orchestrator");
|
|
@@ -298186,7 +298392,7 @@ var Orchestrator = class extends AbstractCreatable {
|
|
|
298186
298392
|
this.logger?.log("[Orchestrator] Stopped...");
|
|
298187
298393
|
}
|
|
298188
298394
|
};
|
|
298189
|
-
Orchestrator =
|
|
298395
|
+
Orchestrator = _ts_decorate3([
|
|
298190
298396
|
creatable()
|
|
298191
298397
|
], Orchestrator);
|
|
298192
298398
|
|
|
@@ -298551,6 +298757,10 @@ async function getServer$3(params) {
|
|
|
298551
298757
|
node,
|
|
298552
298758
|
chainId
|
|
298553
298759
|
});
|
|
298760
|
+
locator.register(SimpleBlockValidationViewer.factory(SimpleBlockValidationViewer.dependencies, {
|
|
298761
|
+
state: validateHydratedBlockState,
|
|
298762
|
+
protocol: validateHydratedBlock
|
|
298763
|
+
}));
|
|
298554
298764
|
if (canUseEvmProvider({
|
|
298555
298765
|
config
|
|
298556
298766
|
})) {
|
|
@@ -298573,6 +298783,9 @@ async function getServer$3(params) {
|
|
|
298573
298783
|
address: asAddress(contractAddress, true),
|
|
298574
298784
|
runner: provider
|
|
298575
298785
|
}));
|
|
298786
|
+
locator.register(SimpleTimeSyncViewer.factory(SimpleTimeSyncViewer.dependencies, {
|
|
298787
|
+
ethProvider: provider
|
|
298788
|
+
}));
|
|
298576
298789
|
}
|
|
298577
298790
|
const apiContext = {
|
|
298578
298791
|
...initContext,
|
|
@@ -298590,14 +298803,29 @@ async function getServer$3(params) {
|
|
|
298590
298803
|
assertEx(await accountBalanceViewer.start(), () => "Failed to start AccountBalanceViewer");
|
|
298591
298804
|
const xyoViewer = await locator.getInstance(XyoViewerMoniker);
|
|
298592
298805
|
assertEx(await xyoViewer.start(), () => "Failed to start XyoViewer");
|
|
298806
|
+
const mempoolViewer = await locator.getInstance(MempoolViewerMoniker);
|
|
298807
|
+
assertEx(await mempoolViewer.start(), () => "Failed to start MempoolViewer");
|
|
298808
|
+
const mempoolRunner = await locator.getInstance(MempoolRunnerMoniker);
|
|
298809
|
+
assertEx(await mempoolRunner.start(), () => "Failed to start MempoolRunner");
|
|
298593
298810
|
console.info(`[API] Current block after initialization: #${blk[0].block} (${blk[0]._hash})`);
|
|
298594
|
-
const
|
|
298811
|
+
const validatorActor = config.mempool.enabled ? void 0 : await ValidatorActor.create({
|
|
298595
298812
|
id: "validator-mempool-server",
|
|
298596
298813
|
account: wallet,
|
|
298597
298814
|
context: locator.context,
|
|
298598
|
-
finalizedArchivist: writableChainArchivist
|
|
298815
|
+
finalizedArchivist: writableChainArchivist,
|
|
298816
|
+
mempoolViewer,
|
|
298817
|
+
blockViewer
|
|
298599
298818
|
});
|
|
298600
|
-
await
|
|
298819
|
+
await validatorActor?.start();
|
|
298820
|
+
const mempoolActor = config.mempool.enabled ? void 0 : await MempoolActor.create({
|
|
298821
|
+
id: "mempool-mempool-server",
|
|
298822
|
+
account: wallet,
|
|
298823
|
+
context: locator.context,
|
|
298824
|
+
mempoolRunner,
|
|
298825
|
+
pendingBlocksArchivist,
|
|
298826
|
+
pendingTransactionsArchivist
|
|
298827
|
+
});
|
|
298828
|
+
await mempoolActor?.start();
|
|
298601
298829
|
const app = await getApp$3(apiContext);
|
|
298602
298830
|
const server = app.listen(port, hostname$3, () => logger?.log(`[API] Server listening at http://${hostname$3}:${port}`));
|
|
298603
298831
|
server.setTimeout(2e4);
|
|
@@ -342442,6 +342670,10 @@ var getApp$1 = /* @__PURE__ */ __name$2((context) => {
|
|
|
342442
342670
|
var hostname$1 = "::";
|
|
342443
342671
|
var getProviderFactoryLocator = /* @__PURE__ */ __name$2((context, finalizedArchivist, pendingTransactionsArchivist, pendingBlocksArchivist) => {
|
|
342444
342672
|
const locator = new ProviderFactoryLocator(context);
|
|
342673
|
+
locator.register(SimpleBlockValidationViewer.factory(SimpleBlockValidationViewer.dependencies, {
|
|
342674
|
+
state: validateHydratedBlockState,
|
|
342675
|
+
protocol: validateHydratedBlock
|
|
342676
|
+
}));
|
|
342445
342677
|
locator.register(SimpleMempoolViewer.factory(SimpleMempoolViewer.dependencies, {
|
|
342446
342678
|
pendingTransactionsArchivist,
|
|
342447
342679
|
pendingBlocksArchivist
|
|
@@ -342513,12 +342745,16 @@ var getServer$1 = /* @__PURE__ */ __name$2(async (context) => {
|
|
|
342513
342745
|
assertEx(await blockViewer.start(), () => "Failed to start BlockViewer");
|
|
342514
342746
|
const blk = await blockViewer.currentBlock();
|
|
342515
342747
|
assertEx(blk, () => "No blocks found after initialization");
|
|
342748
|
+
const mempoolViewer = await locator.getInstance(MempoolViewerMoniker);
|
|
342749
|
+
assertEx(await mempoolViewer.start(), () => "Failed to start MempoolViewer");
|
|
342516
342750
|
console.info(`[Mempool] Current block after initialization: #${blk[0].block} (${blk[0]._hash})`);
|
|
342517
342751
|
const actor = await ValidatorActor.create({
|
|
342518
342752
|
id: "validator-mempool-server",
|
|
342519
342753
|
account: wallet,
|
|
342520
342754
|
context: locator.context,
|
|
342521
|
-
finalizedArchivist: writableChainArchivist
|
|
342755
|
+
finalizedArchivist: writableChainArchivist,
|
|
342756
|
+
blockViewer,
|
|
342757
|
+
mempoolViewer
|
|
342522
342758
|
});
|
|
342523
342759
|
await actor.start();
|
|
342524
342760
|
const app = getApp$1(mempoolContext);
|
|
@@ -350214,7 +350450,7 @@ var waitForHostPort = /* @__PURE__ */ __name((host, port) => {
|
|
|
350214
350450
|
|
|
350215
350451
|
// src/runCLI.ts
|
|
350216
350452
|
var configuration;
|
|
350217
|
-
var version = isDefined("1.19.
|
|
350453
|
+
var version = isDefined("1.19.3") ? "1.19.3" : "unknown";
|
|
350218
350454
|
var getContextFromConfig = /* @__PURE__ */ __name(async (configuration2) => {
|
|
350219
350455
|
const logger = initLogger(configuration2);
|
|
350220
350456
|
const orchestrator = await Orchestrator.create({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/xl1-cli",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.4",
|
|
4
4
|
"description": "XYO Layer One CLI",
|
|
5
5
|
"homepage": "https://xylabs.com",
|
|
6
6
|
"bugs": {
|
|
@@ -75,15 +75,15 @@
|
|
|
75
75
|
"@xyo-network/payload-model": "~5.3.2",
|
|
76
76
|
"@xyo-network/wallet": "~5.3.2",
|
|
77
77
|
"@xyo-network/wallet-model": "~5.3.2",
|
|
78
|
-
"@xyo-network/xl1-cli-lib": "~1.19.
|
|
79
|
-
"@xyo-network/xl1-sdk": "~1.
|
|
78
|
+
"@xyo-network/xl1-cli-lib": "~1.19.4",
|
|
79
|
+
"@xyo-network/xl1-sdk": "~1.21.9",
|
|
80
80
|
"async-mutex": "~0.5.0",
|
|
81
81
|
"dotenv": "~17.2.3",
|
|
82
82
|
"eslint": "^9.39.2",
|
|
83
83
|
"ethers": "^6.16.0",
|
|
84
84
|
"nodemon": "~3.1.11",
|
|
85
85
|
"rimraf": "~6.1.2",
|
|
86
|
-
"rollup": "~4.57.
|
|
86
|
+
"rollup": "~4.57.1",
|
|
87
87
|
"typescript": "~5.9.3",
|
|
88
88
|
"vitest": "~4.0.18",
|
|
89
89
|
"vitest-mock-extended": "~3.1.0",
|