go-ethereum/core/state
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
..
pruner core/state/pruner: fix compaction range error 2021-02-08 20:31:52 +01:00
snapshot core/state/snapshot: ensure Cap retains a min number of layers 2021-02-16 15:25:20 +02:00
access_list.go all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
database.go core: implement background trie prefetcher 2021-01-21 01:46:38 +02:00
dump.go core/state: fix panic in state dumping (#22225) 2021-01-26 12:15:31 +01:00
iterator_test.go core, eth, les, trie: add a prefix to contract code (#21080) 2020-08-21 15:10:40 +03:00
iterator.go core/state: access trie through Database interface, track errors (#14589) 2017-06-27 15:57:06 +02:00
journal.go all: implement EIP-2929 (gas cost increases for state access opcodes) + yolo-v2 (#21509) 2020-10-23 08:26:57 +02:00
state_object_test.go build: use golangci-lint (#20295) 2019-11-18 10:49:17 +02:00
state_object.go core/state: convert prefetcher to concurrent per-trie loader 2021-01-21 01:47:14 +02:00
state_test.go core/state: convert prefetcher to concurrent per-trie loader 2021-01-21 01:47:14 +02:00
statedb_test.go core/state: convert prefetcher to concurrent per-trie loader 2021-01-21 01:47:14 +02:00
statedb.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
sync_test.go core, trie: speed up some tests with quadratic processing flaw (#21987) 2020-12-10 14:48:32 +01:00
sync.go core/state, eth, trie: stabilize memory use, fix memory leak 2020-08-26 13:05:06 +03:00
trie_prefetcher.go core/state: convert prefetcher to concurrent per-trie loader 2021-01-21 01:47:14 +02:00