@xyrusworx/web3-cli
Version:
A command line tool which offers low-level EVM interaction for Web3 developers
38 lines • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const simulator_1 = require("../shared/simulator");
const common_1 = require("../shared/common");
// noinspection JSUnusedGlobalSymbols
class ReplayCommand extends simulator_1.SimulatorCommand {
constructor(inp, out) { super(inp, out); }
async run(args) {
const console = this.output;
const { exit, model } = (0, common_1.parseArguments)(console, args, simulator_1.parseSimulatorArguments);
if (!!model?.showHelp) {
this.usage();
return exit || 0;
}
if (exit !== undefined)
return exit || 0;
const txHash = args[args.length - 1];
if (!txHash || !txHash.match(/^(0[xX])?[a-fA-F0-9]+$/)) {
console.error("Invalid transaction hash:", txHash);
return 1;
}
const simulator = this.createSimulator();
const txResult = await simulator.replayTransaction(model.rpcUrl, txHash);
return this.processResult(this.input, model, txResult);
}
usage() {
const console = this.output;
console.log("Usage: web3 replay [options] <transaction hash>");
console.log("Available options:");
(0, common_1.commonHelp)(console);
(0, simulator_1.evmSimulatorHelp)(console);
console.log("");
(0, simulator_1.evmNetworkHelp)(console);
console.log("");
}
}
exports.default = ReplayCommand;
//# sourceMappingURL=replay.js.map