erigon-pulse/eth/downloader
lightclient 50d975302d 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>
# Conflicts:
#	accounts/abi/bind/backends/simulated.go
#	cmd/evm/internal/t8ntool/execution.go
#	cmd/evm/internal/t8ntool/transition.go
#	cmd/geth/main.go
#	cmd/geth/usage.go
#	core/bench_test.go
#	core/state/statedb.go
#	core/state_prefetcher.go
#	core/state_processor.go
#	core/state_transition.go
#	core/tx_pool.go
#	core/types/block.go
#	core/types/derive_sha.go
#	core/types/gen_tx_json.go
#	core/types/receipt.go
#	core/types/receipt_test.go
#	core/types/transaction.go
#	core/types/transaction_signing.go
#	core/types/transaction_test.go
#	ethclient/ethclient.go
#	ethclient/signer.go
#	graphql/graphql.go
#	internal/ethapi/api.go
#	internal/guide/guide_test.go
#	les/benchmark.go
#	les/odr_test.go
#	light/odr_test.go
#	light/txpool.go
#	miner/worker.go
#	miner/worker_test.go
#	signer/core/api.go
#	tests/state_test_util.go
#	trie/stacktrie_test.go
#	turbo/stages/blockchain_test.go
2021-03-12 15:40:24 +01:00
..
api.go Apply Turbo-Geth modifications to go-ethereum codebase 2019-11-01 21:52:03 +01:00
downloader_stagedsync_test.go Revert "Extract validating interface (#1120)" (#1543) 2021-03-05 20:34:23 +00:00
downloader_stagedsync.go Vary batch size for execution stage (#1274) 2020-10-21 18:01:40 +01:00
downloader_test.go eth: implement eth66 (#22241) 2021-03-10 11:33:45 +01:00
downloader.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-03-12 15:40:24 +01:00
events.go Apply Turbo-Geth modifications to go-ethereum codebase 2019-11-01 21:52:03 +01:00
fakepeer.go Store transactions individually (#1358) 2020-11-22 21:25:26 +00:00
metrics.go eth/downloader: refactor downloader + queue (#21263) 2020-08-07 14:23:49 +02:00
modes.go eth/downloader: fixes data race between synchronize and other methods (#21201) 2020-08-07 11:51:38 +02:00
peer_test.go eth/downloader: refactor downloader + queue (#21263) 2020-08-07 14:23:49 +02:00
peer.go eth: implement eth66 (#22241) 2021-03-10 11:33:45 +01:00
queue_test.go eth/downloader: enhanced test cases for downloader queue (#22114) 2021-03-09 10:21:52 +01:00
queue.go eth/downloader: remove unnecessary condition (#22052) 2021-03-09 10:12:43 +01:00
resultstore.go geth 1.9.18 post-rebase fixups 2020-08-08 17:33:35 +02:00
testchain_test.go Revert "Extract validating interface (#1120)" (#1543) 2021-03-05 20:34:23 +00:00
types.go Apply Turbo-Geth modifications to go-ethereum codebase 2019-11-01 21:52:03 +01:00