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
Have you ensured that all of these are up to date?
This repo
Any dependencies (according to the package.json)
What command(s) is the bug in?
No response
Operating System
None
Describe the bug
Hello guys, following my discussion with @kopy-kat and the safe team, it looks like the launchpad contract is not compatible with the sharedWebauthnSigner contract by safe.
The use case would happen if the sharedWebauthnSigner is used as the owner of the safe with 7579 fallback. At deployment, during the userop validation phase (when the proxy is still pointing to the launchpad contract), the isValidSignature done with the sharedWebauthnSigner will have the proxy call the getStorageAt function on itself (a method that is on the StorageAccesible lib of safe).
Have you ensured that all of these are up to date?
package.json
)What command(s) is the bug in?
No response
Operating System
None
Describe the bug
Hello guys, following my discussion with @kopy-kat and the safe team, it looks like the launchpad contract is not compatible with the sharedWebauthnSigner contract by safe.
The use case would happen if the sharedWebauthnSigner is used as the owner of the safe with 7579 fallback. At deployment, during the userop validation phase (when the proxy is still pointing to the launchpad contract), the isValidSignature done with the sharedWebauthnSigner will have the proxy call the getStorageAt function on itself (a method that is on the StorageAccesible lib of safe).
https://github.com/safe-global/safe-modules/blob/3e0aa7784c9d19399fd0bc173a1d9f78f96f9a86/modules/passkey/contracts/4337/SafeWebAuthnSharedSigner.sol#L90
Problem: the proxy is still pointing to the launchpad implementation that does not have this method which makes the verification revert.
This use case was probably not thought of, so it might need more testing to make sure that it works well.
To add more context, here is a tx deploying a safe using the sharedWebAuthnSigner as owner and the safe 4337 module as fallback ( which works well ):
https://dashboard.tenderly.co/tx/arbitrum-sepolia/0xb94750b34b93d4245844713b8dbe6fd8b671c5086786e57c1cbfd5670c64f345?trace=0.1.1.0.0.2.1.0
Here is the same tx using sharedWebAuthnSigner as owner and the safe 7579 module as fallback (that fails):
https://dashboard.tenderly.co/tx/arbitrum-sepolia/0xb94750b34b93d4245844713b8dbe6fd8b671c5086786e57c1cbfd5670c64f345?trace=0.1.1.0.0.2.1.0
The text was updated successfully, but these errors were encountered: