UNPKG

hardhat-tracer

Version:

Hardhat Tracer plugin

40 lines 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatResult = void 0; const ethers_1 = require("ethers"); const utils_1 = require("ethers/lib/utils"); const colors_1 = require("../utils/colors"); const param_1 = require("./param"); function formatResult(result, params, { decimals, shorten }, dependencies) { decimals = decimals ?? -1; shorten = shorten ?? false; let stringifiedArgs = []; if (params) { // use abi params to query the keys for (let i = 0; i < params.length; i++) { const param = params[i]; const name = param.name ?? `arg_${i}`; let value; if (decimals !== -1 && ethers_1.BigNumber.isBigNumber(result[i])) { value = (0, utils_1.formatUnits)(result[i], decimals); } else { value = (0, param_1.formatParam)(result[i], dependencies); } stringifiedArgs.push([name, value]); } } else { // consider all the entries in the object stringifiedArgs = Object.entries(result) .filter(([key]) => isNaN(Number(key))) .map(([key, value]) => [key, (0, param_1.formatParam)(value, dependencies)]); } return `${stringifiedArgs .map((entry) => `${stringifiedArgs.length > 1 || !shorten ? (0, colors_1.colorKey)(`${entry[0]}: `) : ""}${entry[1]}`) .join(", ")}`; } exports.formatResult = formatResult; //# sourceMappingURL=result.js.map