DCIPs/EIPS/eip-3709.md

46 lines
2.5 KiB
Markdown
Raw Normal View History

---
eip: 3709
title: Remove Support for Type 1 Transactions
author: Gregory Markou (@GregTheGreek)
discussions-to: https://ethereum-magicians.org/t/eip-3709-deprecate-type-1-transactions/6810
status: Stagnant
type: Standards Track
category: Interface
created: 2021-08-07
requires: 1559
---
## Simple Summary
Deprecates usage of [EIP-2718](./eip-2718.md) `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](./eip-1559.md).
## Motivation
[EIP-2930](./eip-2930.md) was introduced as the first `TransactionType`, type 1, with the intention of adding `access_list` to the `TransactionPayload`. [EIP-1559](./eip-1559.md) 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](./eip-1559.md) 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
Copyright and related rights waived via [CC0](../LICENSE.md).