Paweł Bylica
|
924c03abf9
|
core/vm: use uint256 in EVM implementation (#20787)
* core/vm: use fixed uint256 library instead of big
* core/vm: remove intpools
* core/vm: upgrade uint256, fixes uint256.NewFromBig
* core/vm: use uint256.Int by value in Stack
* core/vm: upgrade uint256 to v1.0.0
* core/vm: don't preallocate space for 1024 stack items (only 16)
Co-authored-by: Martin Holst Swende <martin@swende.se>
# Conflicts:
# core/vm/common.go
# core/vm/contract.go
# core/vm/eips.go
# core/vm/evm.go
# core/vm/gas_table.go
# core/vm/instructions.go
# core/vm/instructions_test.go
# core/vm/interpreter.go
# core/vm/logger.go
# core/vm/logger_json.go
# core/vm/logger_test.go
# core/vm/stack/stack.go
# go.mod
# go.sum
|
2020-08-07 11:04:19 +02:00 |
|
Greg Colvin
|
57e88afcd4
|
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>
# Conflicts:
# core/vm/contract.go
# core/vm/instructions_test.go
# core/vm/interpreter.go
# core/vm/logger.go
# core/vm/logger_json.go
# core/vm/logger_test.go
# core/vm/runtime/runtime_test.go
# eth/tracers/tracer.go
|
2020-06-15 19:38:13 +03:00 |
|