HomeEIPs
EIPsEIP-3709
EIP-3709

Remove Support for Type 1 Transactions

StagnantStandards Track: Interface
Created: 2021-08-07
Requires: EIP-1559
Gregory Markou (@GregTheGreek)
DiscussionsOriginal linkEdit
1 min read

The summary of EIP-3709 is that it deprecates the usage of EIP-2718 TransactionType 1 in wallets and providers, upgrading all type 1 transactions to a type 2 transaction. This affects Ethereum Mainnet by improving the user experience for submitting transactions and moving away from legacy style transactions.

Video
Anyone may contribute to propose contents.
Go propose
Original

Simple Summary

Deprecates usage of EIP-2718 TransactionType 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.

Copyright and related rights waived via CC0.

Further reading
Anyone may contribute to propose contents.
Go propose
Adopted by projects
Anyone may contribute to propose contents.
Go propose

Not miss a beat of EIPs' update?

Subscribe EIPs Fun to receive the latest updates of EIPs Good for Buidlers to follow up.

View all
Serve Ethereum Builders, Scale the Community.
Resources
GitHub
Supported by