hardhat-tracer
Version:
Hardhat Tracer plugin
55 lines • 2.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatParam = void 0;
const ethers_1 = require("ethers");
const utils_1 = require("ethers/lib/utils");
const constants_1 = require("../constants");
const utils_2 = require("../utils");
function formatParam(value, dependencies, options) {
if (value?._isBigNumber) {
if (options?.isEther) {
return (0, utils_2.colorValue)((0, utils_1.formatEther)(value));
}
else {
return (0, utils_2.colorValue)(ethers_1.BigNumber.from(value).toString());
}
}
else if (typeof value === "string" && value.slice(0, 2) !== "0x") {
return (0, utils_2.colorValue)(`"${value}"`);
}
else if (typeof value === "string" &&
value.slice(0, 2) === "0x" &&
value.length === 42) {
if ((0, utils_2.getFromNameTags)(value, dependencies)) {
return (0, utils_2.colorNameTag)(`[${(0, utils_2.getFromNameTags)(value, dependencies)}]`);
}
else {
if (dependencies.tracerEnv._internal.printNameTagTip === undefined) {
dependencies.tracerEnv._internal.printNameTagTip = "print it";
}
return (0, utils_2.colorValue)((0, utils_1.getAddress)(value));
}
}
else if (Array.isArray(value) &&
(0, utils_2.removeNumericFromEthersResult)(value) === null) {
return ("[" + value.map((v) => formatParam(v, dependencies)).join(", ") + "]");
}
else if (value?._isIndexed) {
return `${(0, utils_2.colorIndexed)("[Indexed]")}${formatParam(value.hash, dependencies)}`;
}
else if (typeof value === "object" && value !== null) {
const _value = (0, utils_2.removeNumericFromEthersResult)(value);
return ("{" +
Object.entries(_value)
.map((entry) => {
return `${(0, utils_2.colorKey)(entry[0] + constants_1.SEPARATOR)}${formatParam(entry[1], dependencies)}`;
})
.join(", ") +
"}");
}
else {
return value;
}
}
exports.formatParam = formatParam;
//# sourceMappingURL=param.js.map