SIP Draft: EIP-7702 Compatibility Standard #1394
Ridwannurudeen
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
This is a draft SIP proposing a standard for how Seaport contracts should handle EIP-7702 delegated EOAs introduced in Ethereum's Pectra upgrade.
Problem
EIP-7702 allows EOAs to temporarily delegate code execution via
SET_CODE_TX. This breaks the invariant thattx.origin == msg.senderimplies no code execution context. Specifically:tstorish.__activateTstore()bypass - The standalone tstorish library usesmsg.sender != tx.originas an EOA-only guard. A 7702-delegated EOA can call this during execution while maintainingmsg.sender == tx.origin, potentially bypassing the reentrancy guard by switching from SSTORE to TSTORE mid-execution. (See tstorish#5)extcodesizemisclassification - Delegated EOAs haveextcodesize == 23(the delegation designator), causing signature verification error paths to misclassify ECDSA failures asBadContractSignature.Zone/offerer assumptions - Custom zones using
isContract()checks misclassify delegated EOAs as contracts.Proposed Solution
msg.sender != tx.originwithmsg.sender.code.length != 0in activation guards.SIP_EIP7702Utilslibrary for detecting delegation designators (0xef0100 || address).Looking for feedback from the community and core team before formal submission.
Beta Was this translation helpful? Give feedback.
All reactions