core/vm: EIP-2315, JUMPSUB for the EVM (#20619)
* core/vm: implement EIP 2315, subroutines for the EVM
* core/vm: eip 2315 - lintfix + check jump dest validity + check ret stack size constraints
logger: markdown-friendly traces, validate jumpdest, more testcase, correct opcodes
* core/vm: update subroutines acc to eip: disallow walk-into
* core/vm/eips: gas cost changes for subroutines
* core/vm: update opcodes for EIP-2315
* core/vm: define RETURNSUB as a 'jumping' operation + review concerns
Co-authored-by:
Martin Holst Swende <martin@swende.se>
Showing
- core/vm/contract.go 25 additions, 7 deletionscore/vm/contract.go
- core/vm/eips.go 33 additions, 0 deletionscore/vm/eips.go
- core/vm/errors.go 5 additions, 0 deletionscore/vm/errors.go
- core/vm/gen_structlog.go 14 additions, 0 deletionscore/vm/gen_structlog.go
- core/vm/instructions.go 33 additions, 0 deletionscore/vm/instructions.go
- core/vm/instructions_test.go 16 additions, 15 deletionscore/vm/instructions_test.go
- core/vm/interpreter.go 9 additions, 6 deletionscore/vm/interpreter.go
- core/vm/logger.go 95 additions, 5 deletionscore/vm/logger.go
- core/vm/logger_json.go 3 additions, 2 deletionscore/vm/logger_json.go
- core/vm/logger_test.go 2 additions, 1 deletioncore/vm/logger_test.go
- core/vm/opcodes.go 22 additions, 12 deletionscore/vm/opcodes.go
- core/vm/runtime/runtime_test.go 249 additions, 0 deletionscore/vm/runtime/runtime_test.go
- core/vm/stack.go 19 additions, 0 deletionscore/vm/stack.go
- eth/tracers/tracer.go 2 additions, 2 deletionseth/tracers/tracer.go
- eth/tracers/tracer_test.go 2 additions, 2 deletionseth/tracers/tracer_test.go
Loading
Please register or sign in to comment