go-ethereum/core/vm
lightclient bbfb1e4008
all: add support for EIP-2718, EIP-2930 transactions (#21502)
This adds support for EIP-2718 typed transactions as well as EIP-2930
access list transactions (tx type 1). These EIPs are scheduled for the
Berlin fork.

There very few changes to existing APIs in core/types, and several new APIs
to deal with access list transactions. In particular, there are two new
constructor functions for transactions: types.NewTx and types.SignNewTx.
Since the canonical encoding of typed transactions is not RLP-compatible,
Transaction now has new methods for encoding and decoding: MarshalBinary
and UnmarshalBinary.

The existing EIP-155 signer does not support the new transaction types.
All code dealing with transaction signatures should be updated to use the
newer EIP-2930 signer. To make this easier for future updates, we have
added new constructor functions for types.Signer: types.LatestSigner and
types.LatestSignerForChainID. 

This change also adds support for the YoloV3 testnet.

Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Ryan Schneider <ryanleeschneider@gmail.com>
2021-02-25 15:26:57 +01:00
..
runtime all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
testdata core/vm, protocol_params: implement eip-2565 modexp repricing (#21607) 2020-11-13 13:39:59 +01:00
analysis.go core/vm: faster create/create2 (#17806) 2018-10-04 18:15:37 +03:00
analysis_test.go core/vm: faster create/create2 (#17806) 2018-10-04 18:15:37 +03:00
common.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
contract.go core/vm: avoid map lookups for accessing jumpdest analysis 2020-08-04 15:45:35 +02:00
contracts.go cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 (#22213) 2021-01-28 21:19:07 +01:00
contracts_test.go core/vm, protocol_params: implement eip-2565 modexp repricing (#21607) 2020-11-13 13:39:59 +01:00
doc.go core/vm: remove JIT VM codes (#16362) 2018-03-26 13:48:04 +03:00
eips.go all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
errors.go core/vm: EIP-2315, JUMPSUB for the EVM (#20619) 2020-06-02 13:30:16 +03:00
evm.go cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 (#22213) 2021-01-28 21:19:07 +01:00
gas.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
gas_table.go all: remove redundant conversions and import names (#21903) 2020-11-25 21:00:23 +01:00
gas_table_test.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
gen_structlog.go core/vm: marshall returnData as hexstring in trace logs (#21715) 2020-10-16 11:28:03 +02:00
instructions.go all: remove redundant conversions and import names (#21903) 2020-11-25 21:00:23 +01:00
instructions_test.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
interface.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
interpreter.go cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 (#22213) 2021-01-28 21:19:07 +01:00
jump_table.go cmd,core,eth,params,tests: define yolov3 + enable EIP-2565 (#22213) 2021-01-28 21:19:07 +01:00
logger.go all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
logger_json.go core/vm: less allocations for various call variants (#21222) 2020-07-16 15:06:19 +03:00
logger_test.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
memory.go core/vm: use uint256 in EVM implementation (#20787) 2020-06-08 15:24:40 +03:00
memory_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
opcodes.go core/vm: EIP-2315, JUMPSUB for the EVM (#20619) 2020-06-02 13:30:16 +03:00
operations_acl.go all: remove redundant conversions and import names (#21903) 2020-11-25 21:00:23 +01:00
stack.go core/vm: less allocations for various call variants (#21222) 2020-07-16 15:06:19 +03:00
stack_table.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00