-
Notifications
You must be signed in to change notification settings - Fork 357
WalletConnect #1239
Description
Context
In order to make the Gnosis Safe successful, there needs to be a convenient way to interact with dapps. We already have Safe apps, however the dapp landscape develops too rapidly to have Safe apps ready for all new dapps out there.
Besides Metamask, WalletConnect is the standard that basically all dapps out there support.
Also, we got feedback from a number of users that they are missing this generic way for dapp interaction. It does not need to be perfect UX, but there needs to be a generalized way for interacting with dapps.
Task
Build a WalletConnect Safe app (hence "Safe Connect") where a Safe Multisig user can connect any WalletConnect-eabled dapp in order to enable an easy (even if hacky) solution to trigger Multisig transactions from generic dapps.
Details
- There is prototype for this, built by Tobias and Richard: https://github.com/tschubotz/safe-connect (Details here)
- IPFS Link of prototype: https://ipfs.gnosisdev.com/ipfs/QmV2yunABUtb66Qv8owQc8YzuCkUkEpKm8F9qUhsKX8fjS/
- Only one dapp at a time can be connected right now.
- This should be a simple Safe app consisting of 2 screens:
Screen 1 (Start)
- User can paste a WalletConnect QR code image which opens a WalletConnect connection and Screen 2 is opened.
- User sees instructions on
- how this app works
- how to take a screenshot on Mac or Windows (Mac: CMD+shift+ctrl+4)
- how to paste
- User sees a link to a help center article with more information (Article will appear here)
- User sees an error when an invalid image/file/content was pasted
Screen 2 (Connected)
- User sees the connected dapp (Icon, Name, URL)
- User sees instructions how to trigger a transaction (something like "Open dapp, trigger transaction, come back here in order to confirm it.")
- User can disconnect which leads them to screen 1
(in Connected state)
- Whenever the dapp triggers a transaction, the Safe apps bring up the regular Safe app transaction dialog which a user can then submit.