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

Discussion: Legacy 1271 Support (to enable signing on a Safe) #76

Open
jamesmccomish opened this issue Jun 26, 2024 · 3 comments
Open

Comments

@jamesmccomish
Copy link

The current smart wallet ERC1271 setup does not allow the account to be used as a signer on a Safe.

Safe check contract signatures using the legacy ERC1271 function:
isValidSignature(bytes,bytes). So they expect the legacy return value of 0x20c13b0b.

Since it's a pretty minimal addition which would enable the smart wallet to be used with the most popular multisig, I added the legacy isValidSignature function on this test branch.

Do you think it's something worth keeping in the code?

@jamesmccomish jamesmccomish changed the title Legacy 1271 Support (to enable signing on a Safe) Discussion: Legacy 1271 Support (to enable signing on a Safe) Jun 26, 2024
@wilsoncusack
Copy link
Contributor

Hey thanks for this. Interesting! I wasn't aware of this legacy value. Is there some ERC history?

@jamesmccomish
Copy link
Author

It's strange that there isn't any mention of it in the ERC itself given it's still in production on some contracts. But the git history of EIP1271 shows the legacy value here.

Maybe it never got finalised with that value? But I have seen it used in a few contracts, and Safe signers are a pretty big use case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants
@wilsoncusack @jamesmccomish and others