transaction-retry-tool
Version:
Tool to retry transactions on a blockchain
75 lines • 2.52 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const inquirer_1 = __importDefault(require("inquirer"));
const getGasCost_1 = __importDefault(require("./getGasCost"));
const retryTransaction_1 = __importDefault(require("./retryTransaction"));
const inquirerTransactionHashInput = [
{
type: 'input',
name: 'signerKey',
message: 'What is the signer private key?',
default: 'hardhat'
},
{
type: 'input',
name: 'txHash',
message: 'What is the transaction hash to retry?'
},
{
type: 'input',
name: 'gasPrice',
message: 'Retry the transaction with a specific gas price (leave empty: current network gas price)'
}
];
const serveRetryTransaction = async (args, env) => {
if (!args.txHash || args.txHash === '')
await inquirer_1.default
.prompt(inquirerTransactionHashInput)
.then(async (answers) => (0, retryTransaction_1.default)(env, answers.txHash, answers.signerKey, answers.gasPrice))
.catch((err) => {
console.log(err);
})
.finally(() => {
process.exit(0);
});
else
await (0, retryTransaction_1.default)(env, args.txHash, args.signerKey, args.gasPrice !== undefined ? args.gasPrice : '');
};
const serveGetGasCost = async (args, env) => {
await (0, getGasCost_1.default)(env);
};
const serveCLI = async (task) => {
if (task === '')
return (await inquirer_1.default.prompt([
{
type: 'list',
name: 'action',
message: 'What do you want to do?',
choices: ['retry-transaction', 'get-current-gas-cost']
}
])).action;
else
return task;
};
const serveFunction = async (task, args, env) => {
const action = await serveCLI(task);
switch (action) {
case 'retry-transaction':
await serveRetryTransaction(args, env);
break;
case 'get-current-gas-cost':
await serveGetGasCost(args, env);
break;
default:
break;
}
};
const serveTasks = async (task, args, env) => {
console.log('Transaction retry tools for Gluwa');
return serveFunction(task, args, env);
};
exports.default = serveTasks;
//# sourceMappingURL=serveTasks.js.map