Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EIP-7702 inconsistency #1714

Closed
mrLSD opened this issue Aug 21, 2024 · 1 comment
Closed

EIP-7702 inconsistency #1714

mrLSD opened this issue Aug 21, 2024 · 1 comment

Comments

@mrLSD
Copy link

mrLSD commented Aug 21, 2024

Description

According to EIP-7702 Specification it's several inconsistencies:

➡️ In validation Step 1 there is no validation step Behavior 1..

authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s]

It's a vector of attack.

➡️ Step 4 - accodingto specification Nonce is required filed, and it's impossible situation for Option<None>

➡️ Step 6 just wrong (in Specification it's step 7):

Set the code of authority to be 0xef0100 || address. This is a delegation designation.

➡️ A nit: Behavior steps number in the specification and in comments are different, and it's confusing.

➡️ Step 8 from Specification just absent:

Increase the nonce of authority by one.

Main logic of EIP-7702

It looks, like after creating list it doesn't used for Delegation Designation logic

Unclearity

It's unclear intention of:

pub enum AuthorizationList {
    Signed(Vec<SignedAuthorization>),
    Recovered(Vec<RecoveredAuthorization>),
}

It looks overcomplicated for such simple simple structure (according to Spec) like authorization_list.

Relations

Related to #1268

@rakita
Copy link
Member

rakita commented Aug 21, 2024

Current EIP-7702 changes were needed for devnet-1 and devnet-2 devnets as agreed by core devs.

New changes are coming in effecy in devnet-3 (expected in week or two) and those changes are made in PR here #1695.

That PR will be merges in few days after they pass eth statetests. Statetests for newest EIP version was made today.

@rakita rakita closed this as completed Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants