UNPKG

hardhat-tracer

Version:

Hardhat Tracer plugin

117 lines 4.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.format = exports.parse = void 0; const call_1 = __importDefault(require("./call")); const create_1 = __importDefault(require("./create")); const create2_1 = __importDefault(require("./create2")); const delegatecall_1 = __importDefault(require("./delegatecall")); const exception_1 = __importDefault(require("./exception")); const extcodehash_1 = __importDefault(require("./extcodehash")); const extcodesize_1 = __importDefault(require("./extcodesize")); const log_1 = __importDefault(require("./log")); const log0_1 = __importDefault(require("./log0")); const log1_1 = __importDefault(require("./log1")); const log2_1 = __importDefault(require("./log2")); const log3_1 = __importDefault(require("./log3")); const log4_1 = __importDefault(require("./log4")); const mload_1 = __importDefault(require("./mload")); const msize_1 = __importDefault(require("./msize")); const mstore_1 = __importDefault(require("./mstore")); const mstore8_1 = __importDefault(require("./mstore8")); const return_1 = __importDefault(require("./return")); const revert_1 = __importDefault(require("./revert")); const selfdestruct_1 = __importDefault(require("./selfdestruct")); const sha3_1 = __importDefault(require("./sha3")); const sload_1 = __importDefault(require("./sload")); const sstore_1 = __importDefault(require("./sstore")); const staticcall_1 = __importDefault(require("./staticcall")); function parse(step, currentAddress) { switch (step.opcode.name) { case "EXTCODESIZE": return extcodesize_1.default.parse(step); case "EXTCODEHASH": return extcodehash_1.default.parse(step); case "LOG0": return log0_1.default.parse(step, currentAddress); case "LOG1": return log1_1.default.parse(step, currentAddress); case "LOG2": return log2_1.default.parse(step, currentAddress); case "LOG3": return log3_1.default.parse(step, currentAddress); case "LOG4": return log4_1.default.parse(step, currentAddress); case "MLOAD": return mload_1.default.parse(step); case "MSIZE": return msize_1.default.parse(); case "MSTORE": return mstore_1.default.parse(step); case "MSTORE8": return mstore8_1.default.parse(step); case "SLOAD": return sload_1.default.parse(step); case "SSTORE": return sstore_1.default.parse(step); case "SHA3": return sha3_1.default.parse(step); case "RETURN": return return_1.default.parse(step); case "REVERT": return revert_1.default.parse(step); default: return; } } exports.parse = parse; async function format(item, dependencies) { switch (item.opcode) { case "CALL": return call_1.default.format(item, dependencies); case "DELEGATECALL": return delegatecall_1.default.format(item, dependencies); case "STATICCALL": return staticcall_1.default.format(item, dependencies); case "CREATE": return create_1.default.format(item, dependencies); case "CREATE2": return create2_1.default.format(item, dependencies); case "EXTCODESIZE": return extcodesize_1.default.format(item); case "EXTCODEHASH": return extcodehash_1.default.format(item); case "LOG0": case "LOG1": case "LOG2": case "LOG3": case "LOG4": return log_1.default.format(item, dependencies); case "MLOAD": return mload_1.default.format(item); case "MSIZE": return msize_1.default.format(item); case "MSTORE": return mstore_1.default.format(item); case "MSTORE8": return mstore8_1.default.format(item); case "SLOAD": return sload_1.default.format(item); case "SSTORE": return sstore_1.default.format(item); case "SHA3": return sha3_1.default.format(item); case "REVERT": return revert_1.default.format(item, dependencies); case "SELFDESTRUCT": return selfdestruct_1.default.format(item); case "EXCEPTION": return exception_1.default.format(item); default: return item.opcode + " not implemented"; } } exports.format = format; //# sourceMappingURL=index.js.map