go-ethereum/eth
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
..
downloader all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
ethconfig cmd, eth, les: enable serving light clients when non-synced (#22250) 2021-02-25 13:55:07 +01:00
fetcher trie : use trie.NewStackTrie instead of new(trie.Trie) (#22246) 2021-02-02 13:09:23 +01:00
filters eth/filters: fix potential deadlock in filter timeout loop (#22178) 2021-01-21 12:17:10 +01:00
gasprice all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
protocols eth/protocols/snap: lower abortion and resumption logs to debug 2021-02-25 12:56:18 +02:00
tracers all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
api_backend.go internal/ethapi: reject non-replay-protected txs over RPC (#22339) 2021-02-23 13:09:19 +01:00
api_test.go core, eth: split eth package, implement snap protocol (#21482) 2020-12-14 10:27:15 +01:00
api.go eth/tracers: move tracing APIs into eth/tracers (#22161) 2021-01-25 14:36:39 +01:00
backend.go internal/ethapi: reject non-replay-protected txs over RPC (#22339) 2021-02-23 13:09:19 +01:00
bloombits.go eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01:00
discovery.go core, eth: split eth package, implement snap protocol (#21482) 2020-12-14 10:27:15 +01:00
handler_eth_test.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_eth.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_snap.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_test.go core, eth: split eth package, implement snap protocol (#21482) 2020-12-14 10:27:15 +01:00
handler.go eth/handler, broadcast: optimize tx broadcast mechanism (#22176) 2021-02-17 14:59:00 +01:00
peer.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
peerset.go eth: don't wait for snap registration if we're not running snap (#22272) 2021-02-05 14:15:22 +01:00
state_accessor.go eth/tracers: move tracing APIs into eth/tracers (#22161) 2021-01-25 14:36:39 +01:00
sync_test.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
sync.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00