5afe / safe-react

Deprecated! New repo – https://github.com/safe-global/web-core
MIT License
332 stars 363 forks source link

WalletConnect #1239

Closed lukasschor closed 4 years ago

lukasschor commented 4 years ago

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

Screen 1 (Start)

Screen 2 (Connected)

(in Connected state)

posthnikova commented 4 years ago

Initial screen: https://invis.io/T4XF6KSQX7M#/429167947_Apps_-Safe_Connect-_1272px_

Invalid QR code: https://invis.io/T4XF6KSQX7M#/429167945_Apps_-Safe_Connect_-_Error-_1272px_

After pasting: logo, name and url are shown: https://invis.io/T4XF6KSQX7M#/429167946_Apps_-Safe_Connect_-_Pasted-_1272px_

Connected state (Disconnect directs to initial screen): https://invis.io/T4XF6KSQX7M#/429167944_Apps_-Safe_Connect_-_Connected-_1272px_

This was done for the new layout. In the old layout the columns would just be narrow.

image.png

francovenica commented 4 years ago

App link: https://safe-apps.dev.gnosisdev.com/walletConnect I was able to connect with the synthetix app using walletConnect and mint tokens

https://mintr.synthetix.io/ Safe: https://safe-team.dev.gnosisdev.com/app/#/safes/0x9913B9180C20C6b0F21B6480c84422F6ebc4B808/transactions

image.png

Issues: I tried with Sablier and Uniswap and both apps had the issue of not recognizing the network I was working on. image.png image.png

francovenica commented 4 years ago

Tried again in mainnet and there Sablier and Uniswap didn't had issues recognizing the network, so maybe is just those app being inconsistent with the networks

nicosampler commented 4 years ago

Sorry, I created a new ticket and missed this one. related #1364

tschubotz commented 4 years ago

Adding the testing link here for reference: https://safe-apps.dev.gnosisdev.com/walletConnect

miohtama commented 4 years ago

Note for WalletConnect we can also add a support to copying raw wc: link instead of pasting the QR code around.

Or whatever you think makes it easier to the user.

Someone else already asked for getting a raw wc: link from the WalletConnect modal.

tschubotz commented 4 years ago

Note for WalletConnect we can also add a support to copying raw wc: link instead of pasting the QR code around.

@miohtama We didn't find many dapps that expose the raw wc: link. Only uniswap prints it on the console afaik. Hence we went with the QR code copy solution.

Someone else already asked for getting a raw wc: link from the WalletConnect modal.

You mean that was already a feature request for the WalletConnect team?

miohtama commented 4 years ago

Yes, I discussed this with someone in WalletConnect Discord a while ago. He was building a desktop app wallet.

brentanon commented 4 years ago

Hey! Yea, we asked for the URI feature to be able to link walletconnect to desktop, and same devices. I believe this was talked about here https://github.com/WalletConnect/walletconnect-monorepo/pull/353/files . I think this was what you were asking for

fernandomg commented 4 years ago

done in https://github.com/gnosis/safe-react-apps/pull/33