erigon-pulse/eth
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
..
downloader eth/downloader: more context in errors (#21067) 2020-06-15 19:38:13 +03:00
fetcher all: fix typos in comments (#21118) 2020-06-15 19:38:13 +03:00
filters Prevent slice make and copy in Pushes (#625) 2020-06-05 19:46:34 +03:00
gasprice [GC] uint256 rather than big.Int in Transaction (#614) 2020-06-04 08:43:08 +01:00
mgr Mgr schedule iterator (#566) 2020-05-28 12:33:05 +01:00
stagedsync Various fixes to make sync work (#663) 2020-06-13 22:39:55 +01:00
tracers core/vm: EIP-2315, JUMPSUB for the EVM (#20619) 2020-06-15 19:38:13 +03:00
api_backend.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
api_test.go Prevent slice make and copy in Pushes (#625) 2020-06-05 19:46:34 +03:00
api_tracer.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
api.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
backend.go les, les/lespay: implement new server pool (#20758) 2020-06-15 19:38:12 +03:00
bloombits.go geth 1.9.13 (#469) 2020-04-19 18:31:47 +01:00
config.go Issue 635: Stage4 to optionally generate persisted receipts (#644) 2020-06-09 14:11:09 +01:00
debug.go Call bufio.Flash() in tester (#407) 2020-03-26 21:52:05 +00:00
discovery.go post-merge fixups 2020-02-27 17:22:25 +03:00
firehose.go Parity only supports 3 letter capabilities 2020-01-07 16:34:44 +00:00
gen_config.go Issue 635: Stage4 to optionally generate persisted receipts (#644) 2020-06-09 14:11:09 +01:00
handler_test.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
handler.go Issue 635: Stage4 to optionally generate persisted receipts (#644) 2020-06-09 14:11:09 +01:00
helper_test.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
mgr.go Mgr schedule iterator (#566) 2020-05-28 12:33:05 +01:00
peer.go eth: skip transaction announcer goroutine on eth<65 2020-05-20 15:26:22 +03:00
protocol_test.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
protocol.go eth: rework tx fetcher to use O(1) ops + manage network requests 2020-02-27 17:21:20 +03:00
sync_test.go geth 1.9.13 (#469) 2020-04-19 18:31:47 +01:00
sync.go eth: interrupt chain insertion on shutdown (#21114) 2020-06-15 19:38:13 +03:00