gnosis / safe-ios-legacy

Gnosis Safe is a multi signature (2FA) wallet for personal usage.
GNU General Public License v3.0
41 stars 17 forks source link

Support personal_sign #1328

Open okwme opened 4 years ago

okwme commented 4 years ago

Is your feature request related to a problem? Please describe. My dapp among others utilize personal_sign as well as the older eth_sign and the newer varieties of eth_signTypedData to log users in. Gnosis safe could support this with the caveat that the app would need to realize the signature comes from a controlling key of the contract based wallet and not the wallet itself. With that additional information (maybe available via some other query?) safe users could log into dapps that utilize these sign in methods.

Describe the solution you'd like Add support for eth_sign as well as optionally personal_sign and/or eth_signTypedData to be signed by controlling keys rather than included in the contract like described here: https://github.com/gnosis/safe-contracts/pull/127. Plus add another query that allows a dapp developer to check whether the web3 instance belongs to a contract based wallet or a pk based wallet.

This is a blocker for my dapp to support Gnosis Safe users. Furthermore I'm exploring a burner wallet onboarding flow where users are given Gnosis safes without realizing it. Should they wish to secure their accounts they will be able to instantiate the already created account within the safe app. This currently leads them to a dead end however, as once they use the safe, they would no longer be able to login to the dapp.

okwme commented 4 years ago

Relevant EIPs:

okwme commented 4 years ago

And library for 1271 support: https://www.npmjs.com/package/is-valid-signature