-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add ERC7821 to Account.sol #49
Conversation
88e7eb0
to
113f9c9
Compare
113f9c9
to
42906dc
Compare
contracts/account/AccountCore.sol
Outdated
// we cannot use `Address.functionCallWithValue` here as it would revert on EOA targets | ||
(bool success, bytes memory returndata) = target.call{value: value}(data); | ||
Address.verifyCallResult(success, returndata); | ||
Address.functionDelegateCall(address(this), userOp.callData[4:]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the best option right now is to get rid of this function. The Account.sol won't be able to send individual calls anyway and the IAccountExecute
interface is optional.
I understand someone may want to use this function to validate userOp fields, but I don't see that as common. At this point I'd just remove it and leave ERC7821
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed IAccountExecute. The current implementation does not add any specific functionality. Although it may be used to check userOp fields, this is only a specific use case we've seen and not a behavior that we must consider "default".
Fixes #52 by implementing ERC7821 (without the optional opData) for batch tx processing