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>
Showing
- accounts/abi/bind/auth.go 2 additions, 2 deletionsaccounts/abi/bind/auth.go
- accounts/abi/bind/backends/simulated.go 15 additions, 10 deletionsaccounts/abi/bind/backends/simulated.go
- accounts/keystore/keystore.go 6 additions, 11 deletionsaccounts/keystore/keystore.go
- accounts/scwallet/wallet.go 1 addition, 1 deletionaccounts/scwallet/wallet.go
- accounts/usbwallet/trezor.go 2 additions, 0 deletionsaccounts/usbwallet/trezor.go
- cmd/clef/main.go 1 addition, 1 deletioncmd/clef/main.go
- cmd/evm/README.md 8 additions, 9 deletionscmd/evm/README.md
- cmd/evm/internal/t8ntool/execution.go 19 additions, 18 deletionscmd/evm/internal/t8ntool/execution.go
- cmd/evm/internal/t8ntool/flags.go 5 additions, 0 deletionscmd/evm/internal/t8ntool/flags.go
- cmd/evm/internal/t8ntool/transition.go 109 additions, 26 deletionscmd/evm/internal/t8ntool/transition.go
- cmd/evm/main.go 1 addition, 0 deletionscmd/evm/main.go
- cmd/evm/testdata/8/alloc.json 11 additions, 0 deletionscmd/evm/testdata/8/alloc.json
- cmd/evm/testdata/8/env.json 7 additions, 0 deletionscmd/evm/testdata/8/env.json
- cmd/evm/testdata/8/readme.md 63 additions, 0 deletionscmd/evm/testdata/8/readme.md
- cmd/evm/testdata/8/txs.json 58 additions, 0 deletionscmd/evm/testdata/8/txs.json
- cmd/geth/main.go 4 additions, 3 deletionscmd/geth/main.go
- cmd/geth/usage.go 1 addition, 2 deletionscmd/geth/usage.go
- cmd/utils/flags.go 2 additions, 2 deletionscmd/utils/flags.go
- core/bench_test.go 1 addition, 1 deletioncore/bench_test.go
- core/blockchain_test.go 90 additions, 12 deletionscore/blockchain_test.go
Loading
Please register or sign in to comment