Discussion: EIP-7702 Support on FEVM (Set EOA Account Code) #1143
Replies: 2 comments
-
The main issue is that, given deferred execution, an "evil" account could:
At the moment, we'll only include message 2 if the account has enough funds to cover the gas. If, when message 2 is executed, the account doesn't have the funds; we charge the miner that included the message. At the moment, we can do this reliably (mostly) because message 1 has to declare the amount of funds its sending in the message itself so the miner packing the block can keep a running total of the available balance as it packs messages, ensuring that all accounts will have enough funds to send them. I say mostly because tipsets throw a bit of a wrench in this mess but the current system is "good enough". The solution we've discussed in the past is multi-stage execution:
This fixes the problem by reserving the funds needed to pay for gas before any accounts can "steal it" from themselves. This change isn't actually that hard to implement and gets us much closer to supporting full account abstraction so.... I'm all for it, TBH. |
Beta Was this translation helpful? Give feedback.
-
Hi @snissn 👋 — thanks for kicking off the EIP-7702 discussion! Below is exactly what Core Devs need before we can add this item to the next call (the agenda is for concrete, spec-level proposals rather than early brainstorming).
How to move forward
If we can land the mini-spec this week, we should comfortably hit the next Core Devs call and stay aligned with Ethereum’s Pectra timeline. Looking forward to shaping this out and please reach out if you need any help! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I’d like to open a discussion around implementing EIP-7702 in the FEVM. This EIP introduces a new transaction type (
0x04
) that allows EOAs to set their code to a special delegation designator (0xef0100 || address
), effectively forwarding execution to a target contract. This enables EOAs to behave like lightweight smart contract wallets, unlocking features such as:It’s forward-compatible with account abstraction approaches like ERC-4337, without committing to any specific standard. I’m planning to implement this for the FEVM.
I’d appreciate feedback on any concerns or suggestions around delegation designators, Filecoin’s actor model, and the delayed execution model. For example, I recall @Stebalien previously raising cases where contracts are created and then used within the same transaction—something that may require special handling in the context of Filecoin’s execution semantics.
EIP-7702 is slated for inclusion in Ethereum’s upcoming Pectra upgrade, with a tentative ethereum mainnet launch date of May 7th. Including support in FEVM would help keep us aligned with evolving wallet and tooling expectations.
Looking forward to your thoughts!
Beta Was this translation helpful? Give feedback.
All reactions