go-ethereum/core/vm
Chris Ziogas b0cd8c4a5c
core/vm: set tracer-observable `value` of a delegatecall to match parent `value` (#26632)
This is a breaking change in the tracing hooks API as well as semantics of the callTracer:

- CaptureEnter hook provided a nil value argument in case of DELEGATECALL. However to stay consistent with how delegate calls behave in EVM this hook is changed to pass in the value of the parent call.
- callTracer will return parent call's value for DELEGATECALL frames.

---------

Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2023-02-10 10:26:43 +01:00
..
runtime all: implement withdrawals (EIP-4895) (#26484) 2023-01-25 15:32:25 +01:00
testdata core/vm: add bn256ScalarMul testcase for zero scalar value (#26607) 2023-02-06 07:41:29 -05:00
analysis.go core/vm: optimize jumpdest analysis (#23500) 2022-06-03 10:40:14 +02:00
analysis_test.go core/vm: reverse bit order in bytes of code bitmap (#24120) 2021-12-17 10:32:00 +01:00
common.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
contract.go core/vm: simplify op lookup in contract (#23974) 2021-11-25 20:10:01 +01:00
contracts.go core/vm: use optimized bigint (#26021) 2022-10-27 10:39:01 +02:00
contracts_test.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
errors.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
evm.go core/vm: set tracer-observable `value` of a delegatecall to match parent `value` (#26632) 2023-02-10 10:26:43 +01:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
gas_table.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
gas_table_test.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05:00
instructions.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
instructions_test.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
interface.go core: implement EIP-3651, warm coinbase (#25819) 2022-11-22 22:39:52 +01:00
interpreter.go core/vm: improve EVM instance reusability (#26341) 2023-02-05 15:11:25 +01:00
interpreter_test.go all: add whitespace linter (#25312) 2022-07-25 13:14:03 +03:00
jump_table.go core/vm: enable EIP-3855 (PUSH0) in Shanghai (#26475) 2023-01-12 11:00:08 +01:00
jump_table_test.go core/vm: deepcopy jumptable when enabling extra eips (#26137) 2022-11-09 07:52:13 +01:00
logger.go eth/tracers, core/vm: remove `time` from trace output and tracing interface (#26291) 2022-12-05 16:57:47 +01:00
memory.go core/vm: optimize Memory.Set32 (#24847) 2022-05-11 11:00:29 +02:00
memory_table.go core/vm: Rename SHA3 instruction to KECCAK256 (#23976) 2021-11-30 10:34:34 +01:00
opcodes.go all: implement EIP-1153 transient storage (#26003) 2022-11-16 10:18:52 +01:00
operations_acl.go core/vm: fix sstore gas comment type (#24583) 2022-03-29 11:21:11 +03:00
stack.go core/vm: clean up some dead functions (#24851) 2022-05-11 08:03:35 +03:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00