Ethereum Compatible Tx Types
To achieve its high level of Ethereum compatibility, Celo supports all Ethereum tx types relevant for an L2. The following transaction types can be used in exactly the same way as on Ethereum and don’t require any changes to client libraries or other tooling.- EIP-1559 (recommended), type 2
- EIP-2930, type 1
- EIP-7702, type 4 (available post-Isthmus)
- Legacy Ethereum transaction as described in the Ethereum Yellow Paper, type 0
OP Stack Specific Tx Types
OP Stack has deposited transactions, which are L2 transactions derived from L1 and included in an L2 block. Celo also utilizes this transaction type and introduces the following additional transaction type.- Deposited transaction, type 126
Celo-Specific Tx Types
The following tx type is an essential part of Celo’s Fee Abstraction feature. For more details, read the CIP linked below, and the Fee Abstraction section.- CIP-64 (recommended), type 123
Older, Unsupported Tx Types
These tx types won’t be accepted anymore, but transactions in blocks before the L2 migration can still contain transactions of these types.- CIP-42, type 124
- Legacy Celo transaction, type 0, but with different fields than the Ethereum legacy tx
Details on Celo Legacy Transactions
For historic reasons, the Celo legacy txs are not prefixed with a tx type number, just like Ethereum legacy txs. To tell these two legacy tx types apart, you have to look at the tx content, which contains additionalfeeCurrency, gatewayFeeRecipient, and gatewayFee fields for Celo legacy txs: