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

[Protocol Manager] ERC-4337 Requirements for Account Creation #129

Open
nlordell opened this issue Nov 2, 2023 · 0 comments
Open

[Protocol Manager] ERC-4337 Requirements for Account Creation #129

nlordell opened this issue Nov 2, 2023 · 0 comments

Comments

@nlordell
Copy link
Collaborator

nlordell commented Nov 2, 2023

This issue is here to document some of my findings around 4337 requirements, specifically in the context of account creation.

In particular the section on un-staked entities mentions that:

the UserOp creates a new account using a staked factory contract, then the entity may also use storage associated with the sender

This refers to the fact that access to the account's associated storage is only permitted to be used by entities (including the account entity during validateUserOp) if the factory is staked. So a validateUserOp that makes use of some mapping(account => value) in a separate contract, while it would be generally be considered fair use, it requires staking for account creation.

In particular this means that:

Alternatively, it would be possible to try and work with bundlers directly to add exceptions for Safe (there is prior-art for this: alchemyplatform/rundler#231). Personally, I'm not a fan of this approach (it feels icky to go against the spec if it is possible to so and makes things dependent on specific bundler support).

References

  1. Some more discussion can be found in Non-compliant Storage Access Restrictions alchemyplatform/rundler#480.
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

1 participant