erigon-pulse/signer/core
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
..
testdata core/signer, clef: improve ui-test flow, fix errors in uint handling (#19584) 2019-06-03 16:56:05 +02:00
api_test.go [GC] uint256 rather than big.Int in Transaction (#614) 2020-06-04 08:43:08 +01:00
api.go all: add support for EIP-2718, EIP-2930 transactions (#21502) 2021-03-12 15:40:24 +01:00
auditlog.go accounts, signer: implement gnosis safe support (#21593) 2020-10-26 17:16:00 +01:00
cliui.go accounts, signer: implement gnosis safe support (#21593) 2020-10-26 17:16:00 +01:00
gnosis_safe.go geth-1.9.23: post-rebase fixups 2020-10-26 17:16:00 +01:00
signed_data_internal_test.go fixups 2020-08-14 17:05:15 +02:00
signed_data_test.go accounts, signer: implement gnosis safe support (#21593) 2020-10-26 17:16:00 +01:00
signed_data.go all: remove redundant conversions and import names (#21903) 2021-03-08 12:43:02 +01:00
stdioui.go tests, signer: remove staticcheck warnings (#20364) 2019-12-03 13:55:17 +01:00
types.go [GC] uint256 rather than big.Int in Transaction (#614) 2020-06-04 08:43:08 +01:00
uiapi.go all: fix typos in comments (#21118) 2020-06-15 19:38:13 +03:00
validation_test.go Apply Turbo-Geth modifications to go-ethereum codebase 2019-11-01 21:52:03 +01:00
validation.go all: update author list and licenses 2019-07-22 12:17:27 +03:00