UNPKG

hardhat-tracer

Version:

Hardhat Tracer plugin

43 lines 1.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const debug_1 = __importDefault(require("debug")); const config_1 = require("hardhat/config"); const call_1 = require("../format/call"); const error_1 = require("../format/error"); const utils_1 = require("../utils"); const debug = (0, debug_1.default)("hardhat-tracer:tasks:decode"); (0, utils_1.addCliParams)((0, config_1.task)("decode", "Decodes calldata or error data")) .addParam("data", "Calldata or error data to decode") .addOptionalParam("returndata", "Return data if any") .setAction(async (args, hre) => { const td = { artifacts: hre.artifacts, tracerEnv: hre.tracer, provider: hre.network.provider, nameTags: hre.tracer.nameTags, }; debug("see if the data is a call"); const formattedCallPromise = (0, call_1.formatCall)(undefined, args.data, args.returndata ?? "0x", 0, 0, 0, true, td); const formattedErrorPromise = (0, error_1.formatError)(args.data, td); const formattedCall = await formattedCallPromise; const uncolored = (0, utils_1.removeColor)(formattedCall); if (!uncolored.startsWith("UnknownContractAndFunction(") && !uncolored.includes("<UnknownFunction>")) { console.log(formattedCall); } else { debug("see the data is an error"); const formattedError = await formattedErrorPromise; if (!(0, utils_1.removeColor)(formattedError).includes("UnknownError(")) { console.log(formattedError); } else { console.log("Failed to decode the data"); console.log(formattedCall); } } }); //# sourceMappingURL=decode.js.map