Skip to content

EIP-7702 Support #143

@frisitano

Description

@frisitano

Describe the feature

We should add support for EIP-7702 transactions.

Functional support from EIP-7702 will come from merging with upstream on reth and revm. We will then add support in our node client by adding the EIP-7702 transaction type to our primitives such as here:

/// The `TypedTransaction` enum represents all Ethereum transaction request types, modified for
/// Scroll
///
/// Its variants correspond to specific allowed transactions:
/// 1. `Legacy` (pre-EIP2718) [`TxLegacy`]
/// 2. `EIP2930` (state access lists) [`TxEip2930`]
/// 3. `EIP1559` [`TxEip1559`]
/// 4. `L1Message` [`TxL1Message`]
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(
feature = "serde",
serde(
from = "serde_from::MaybeTaggedTypedTransaction",
into = "serde_from::TaggedTypedTransaction"
)
)]
pub enum ScrollTypedTransaction {
/// Legacy transaction
Legacy(TxLegacy),
/// EIP-2930 transaction
Eip2930(TxEip2930),
/// EIP-1559 transaction
Eip1559(TxEip1559),
/// Scroll L1 message transaction
L1Message(TxL1Message),
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions