plugeth/core/vm
Sina Mahmoodi 401354976b
core,eth: call frame tracing (#23087)
This change introduces 2 new optional methods; `enter()` and `exit()` for js tracers, and makes `step()` optiona. The two new methods are invoked when entering and exiting a call frame (but not invoked for the outermost scope, which has it's own methods). Currently these are the data fields passed to each of them:

    enter: type (opcode), from, to, input, gas, value
    exit: output, gasUsed, error

The PR also comes with a re-write of the callTracer. As a backup we keep the previous tracing script under the name `callTracerLegacy`. Behaviour of both tracers are equivalent for the most part, although there are some small differences (improvements), where the new tracer is more correct / has more information.
2021-09-17 09:31:22 +02:00
..
runtime core,eth: call frame tracing (#23087) 2021-09-17 09:31:22 +02:00
testdata core/vm, protocol_params: implement eip-2565 modexp repricing (#21607) 2020-11-13 13:39:59 +01:00
access_list_tracer.go core,eth: call frame tracing (#23087) 2021-09-17 09:31:22 +02:00
analysis_test.go core/vm: rework jumpdest analysis benchmarks (#23499) 2021-08-30 14:13:06 +02:00
analysis.go core/vm: faster code analysis (#23381) 2021-08-24 10:00:10 +03:00
common.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
contract.go core, eth: unship EIP 2315 2021-03-02 23:40:57 +02:00
contracts_test.go core/vm, protocol_params: implement eip-2565 modexp repricing (#21607) 2020-11-13 13:39:59 +01:00
contracts.go core, eth, internal/ethapi: create access list RPC API (#22550) 2021-04-07 17:54:31 +03:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go all: implement EIP-1559 (#22837) 2021-05-17 15:13:22 +02:00
errors.go core/vm, params: implement EIP 3541 2021-05-06 11:28:46 +02:00
evm.go core,eth: call frame tracing (#23087) 2021-09-17 09:31:22 +02:00
gas_table_test.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
gas_table.go core/vm: fix typo in comment (#23450) 2021-08-24 13:57:05 +02:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
gen_structlog.go eth/tracers: improve tracing performance (#23016) 2021-07-01 09:15:04 +02:00
instructions_test.go all: remove noop vm config flags (#23111) 2021-07-06 22:03:09 +02:00
instructions.go core,eth: call frame tracing (#23087) 2021-09-17 09:31:22 +02:00
interface.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
interpreter.go core/vm: faster code analysis (#23381) 2021-08-24 10:00:10 +03:00
jump_table.go all: implement EIP-1559 (#22837) 2021-05-17 15:13:22 +02:00
logger_json.go core,eth: call frame tracing (#23087) 2021-09-17 09:31:22 +02:00
logger_test.go core/state: remove unused methods ReturnGas, GetStorageProofByHash (#23092) 2021-06-25 14:34:09 +02:00
logger.go core,eth: call frame tracing (#23087) 2021-09-17 09:31:22 +02:00
memory_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
memory.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
opcodes.go all: implement EIP-1559 (#22837) 2021-05-17 15:13:22 +02:00
operations_acl.go core, params: implement EIP-3529 (#22733) 2021-05-07 09:25:32 +03:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
stack.go core,eth: call frame tracing (#23087) 2021-09-17 09:31:22 +02:00