Skip to content

Conversation

@tomip01
Copy link
Contributor

@tomip01 tomip01 commented Nov 28, 2025

Motivation

We want to be able to send EIP 7702 transactions through GenericTransaction

Description

  • Add authorization_list to Overrides
  • Implement TryFrom for GenericTransaction -> EIP7702Transaction

Copilot AI review requested due to automatic review settings November 28, 2025 15:59
@github-actions github-actions bot added L1 Ethereum client L2 Rollup client labels Nov 28, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enables EIP-7702 transactions to be sent through GenericTransaction, providing support for setting EOA code delegation in the Ethereum client.

Key changes:

  • Added authorization_list field to Overrides struct for passing EIP-7702 authorization tuples
  • Implemented TryFrom<GenericTransaction> for EIP7702Transaction to convert generic transactions into typed EIP-7702 transactions
  • Updated transaction handling logic to recognize and process EIP-7702 as a supported transaction type

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
crates/networking/rpc/clients/eth/mod.rs Added AuthorizationTupleEntry import and authorization_list field to Overrides struct
crates/l2/sdk/src/sdk.rs Added EIP-7702 transaction handling in send_generic_transaction and build_generic_tx, plus improved error messaging
crates/common/types/transaction.rs Added MissingToField error variant and TryFrom implementation for converting GenericTransaction to EIP7702Transaction

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

Lines of code report

Total lines added: 51
Total lines removed: 0
Total lines changed: 51

Detailed view
+-------------------------------------------------+-------+------+
| File                                            | Lines | Diff |
+-------------------------------------------------+-------+------+
| ethrex/crates/common/types/transaction.rs       | 3243  | +35  |
+-------------------------------------------------+-------+------+
| ethrex/crates/l2/sdk/src/sdk.rs                 | 1082  | +15  |
+-------------------------------------------------+-------+------+
| ethrex/crates/networking/rpc/clients/eth/mod.rs | 623   | +1   |
+-------------------------------------------------+-------+------+

@github-project-automation github-project-automation bot moved this to In Review in ethrex_l1 Nov 28, 2025
Comment on lines 2457 to 2460
#[error("Missing fee token address")]
MissingFeeToken,
#[error("Missing To field")]
MissingToField,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be better to have a MissingField(String) error specifying wich field is missing in the string param?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree! Done here b9978b5

@ilitteri ilitteri enabled auto-merge November 28, 2025 20:19
@ilitteri ilitteri added this pull request to the merge queue Nov 28, 2025
Merged via the queue into main with commit badb617 Nov 28, 2025
46 checks passed
@ilitteri ilitteri deleted the 7702_on_generic_tx branch November 28, 2025 21:09
@github-project-automation github-project-automation bot moved this from In Review to Done in ethrex_l1 Nov 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

L1 Ethereum client L2 Rollup client

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants