go-ethereum/les
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
..
checkpointoracle les: update checktime even if check fails 2020-08-07 10:57:02 +02:00
flowcontrol les/utils: protect against WeightedRandomSelect overflow (#21839) 2020-11-23 10:18:33 +01:00
utils les/utils: UDP rate limiter (#21930) 2021-01-28 22:47:15 +01:00
vflux les: fix balance expiration (#22343) 2021-02-19 15:53:12 +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 eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01:00
api.go les: renamed lespay to vflux (#22347) 2021-02-19 14:44:16 +01:00
benchmark.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
bloombits.go les: handler separation (#19639) 2019-08-21 11:29:34 +02:00
client_handler.go eth, les: add new config field SyncFromCheckpoint (#22123) 2021-01-19 10:52:45 +01:00
client.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
clientpool_test.go les: renamed lespay to vflux (#22347) 2021-02-19 14:44:16 +01:00
clientpool.go les: fix balance expiration (#22343) 2021-02-19 15:53:12 +01:00
commons.go les: fix balance expiration (#22343) 2021-02-19 15:53:12 +01:00
costtracker.go eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01:00
distributor_test.go les: separate peer into clientPeer and serverPeer (#19991) 2020-02-26 11:41:24 +02:00
distributor.go les, les/lespay: implement new server pool (#20758) 2020-05-22 13:46:34 +02:00
enr_entry.go les: switch to new discv5 (#21940) 2021-01-26 21:41:35 +01:00
fetcher_test.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
fetcher.go les: implement new les fetcher (#20692) 2020-07-28 18:02:35 +03:00
handler_test.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
metrics.go les, les/lespay/server: refactor client pool (#21236) 2020-09-14 22:44:20 +02:00
odr_requests.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
odr_test.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-02-25 15:26:57 +01:00
odr.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
peer_test.go les: introduce forkID (#21974) 2020-12-10 17:20:55 +01:00
peer.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
protocol.go tests/fuzzers/les: add fuzzer for les server handler (#22282) 2021-02-20 10:40:38 +01:00
pruner_test.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
pruner.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
request_test.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
retrieve.go les: don't drop sentTo for normal cases (#22048) 2021-01-15 23:04:38 +01:00
server_handler.go les: clean up server handler (#22357) 2021-02-22 14:33:11 +01:00
server_requests.go les: clean up server handler (#22357) 2021-02-22 14:33:11 +01:00
server.go cmd, eth, les: enable serving light clients when non-synced (#22250) 2021-02-25 13:55:07 +01:00
serverpool_test.go les: renamed lespay to vflux (#22347) 2021-02-19 14:44:16 +01:00
serverpool.go les: renamed lespay to vflux (#22347) 2021-02-19 14:44:16 +01:00
servingqueue.go les: separate peer into clientPeer and serverPeer (#19991) 2020-02-26 11:41:24 +02:00
state_accessor.go eth/tracers: move tracing APIs into eth/tracers (#22161) 2021-01-25 14:36:39 +01:00
sync_test.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
sync.go eth, les: add new config field SyncFromCheckpoint (#22123) 2021-01-19 10:52:45 +01:00
test_helper.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
txrelay.go les: remove transaction propagation limits (#22125) 2021-01-07 23:39:35 +01:00
ulc_test.go les, light: improve txstatus retrieval (#22349) 2021-02-25 14:24:04 +01:00
ulc.go cmd, eth, les: fix up ultra light config integration 2019-07-09 20:34:42 +03:00