You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The 4337 module currently allows creating a new account (using UserOperation.initCode) and executing an action atomically.
Furthermore, support for additional signing schemes (such as WebAuthn using P256 curve signatures) is already supported by the Safe by creating a dedicated signer contract per owner (in the case of WebAuthn, one contract per public key) implementing the signature validation logic using ERC-1271.
However, ERC-4337 limits the number of CREATE2 calls to 1 when using initCode meaning that for example, it is currently not possible to deploy a Safe using account abstraction with nothing but a WebAuthn signer.
Proposed solution
It may be the case the ERC-4337 allows a staked factory to execute multiple CREATE2s, then we should use that approach instead (as it would be the simplest and not require any additional contract work). To evaluate this, potentially reach out to:
A script similar to runOp where an owner can be deployed with the account as part of the single bundle.
The focus is not to have a useful signer contract, just a process that is supported under 4337.
The text was updated successfully, but these errors were encountered:
nlordell
changed the title
Determine Whether or Not 4337 Support Multiple CREATE2 Calls From a Staked Factory
[4337] Determine Whether or Not 4337 Support Multiple CREATE2 Calls From a Staked Factory
Nov 13, 2023
From browsing the reference bundler source, it looks like the CREATE2 limitation is regardless of the staking (although I may be misinterpreting the code):
Context / issue
The 4337 module currently allows creating a new account (using
UserOperation.initCode
) and executing an action atomically.Furthermore, support for additional signing schemes (such as WebAuthn using P256 curve signatures) is already supported by the Safe by creating a dedicated signer contract per owner (in the case of WebAuthn, one contract per public key) implementing the signature validation logic using ERC-1271.
However, ERC-4337 limits the number of
CREATE2
calls to 1 when usinginitCode
meaning that for example, it is currently not possible to deploy a Safe using account abstraction with nothing but a WebAuthn signer.Proposed solution
It may be the case the ERC-4337 allows a staked factory to execute multiple
CREATE2
s, then we should use that approach instead (as it would be the simplest and not require any additional contract work). To evaluate this, potentially reach out to:Alternatives
Outcome
A script similar to
runOp
where an owner can be deployed with the account as part of the single bundle.The focus is not to have a useful signer contract, just a process that is supported under 4337.
The text was updated successfully, but these errors were encountered: