Deprecates usage of EIP-2718TransactionType 1 in wallets and providers, upgrading all type 1 transactions to a type 2 transaction.
Abstract
Since both TransactionType 1 and 2 contain access_list, we propose the removal of offering TransactionType 1 from wallets and providers, instead the transaction will be converted to TransactionType 2 to make use of the new gas properties introduced by EIP-1559.
Motivation
EIP-2930 was introduced as the first TransactionType, type 1, with the intention of adding access_list to the TransactionPayload. EIP-1559 introduced the second TransactionType 2, which is represented as rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, amount, data, access_list, signature_y_parity, signature_r, signature_s]). The intention behind EIP-1559 was to enhance the user experience surrounding gas fees, and as we move forward we expect that the majority of the network will begin to using TransactionType 2 instead of the legacy style transactions. TransactionType 1 is a legacy transaction with the addition of access_list meaning that users will not benefit from enhancements made by EIP-1559. TransactionType 2 contains access_list, thus there is no reason to further support TransactionType 1 if the end goal is to push users towards using TransactionType 2 anyway.
Specification
For wallets and providers, if a user submits a transaction for signing with where TransactionType == 0x1, the developer should upgrade the transaction to meet the criteria of transaction of type 2.
The following fields need to be changed, or amended:
access_list: Nothing changes and it should remain in the transaction.
type: Should change from 0x1 to 0x2.
gas_price: Should be removed in favour of max_fee_per_gas & max_priority_fee_per_gas (see EIP-1559 for proper usage).
Rationale
Improve the user experience for submitting transactions, and move away from legacy style transactions.
Security Considerations
There are no known security considerations at this time.