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

[iOS] update wallet connect to v2 for key connection #3365

Closed
DmitryBespalov opened this issue Nov 21, 2023 · 8 comments
Closed

[iOS] update wallet connect to v2 for key connection #3365

DmitryBespalov opened this issue Nov 21, 2023 · 8 comments
Assignees
Labels
bug Doesn't work as expected Major Fix within 2 weeks

Comments

@DmitryBespalov
Copy link
Contributor

DmitryBespalov commented Nov 21, 2023

WalletConnect v1 was switched off on the services side, so we need to use WalletConnect v2 for connecting keys.

Related issue:
5afe/safe-support#332

@DmitryBespalov DmitryBespalov self-assigned this Nov 21, 2023
@DmitryBespalov DmitryBespalov added bug Doesn't work as expected Major Fix within 2 weeks labels Nov 21, 2023
DmitryBespalov added a commit that referenced this issue Nov 30, 2023
Work in progress.

- Connect to wallet (MM tested)
- Sign using eth_sign works
- Sign transaction using eth_sign works
- Sign transaction using eth_signTypedData_v4 doesn't produce a signature that's recognised by our backend
DmitryBespalov added a commit that referenced this issue Dec 6, 2023
DmitryBespalov added a commit that referenced this issue Dec 6, 2023
GH-3365 implemented wallet connect v2 for signing messages and sending transactions from connected wallets.

- connect/disconnect
- eth_sign, eth_signTypedData_v4
DmitryBespalov added a commit that referenced this issue Dec 6, 2023
@liliya-soroka
Copy link
Member

liliya-soroka commented Dec 13, 2023

Checked apps

  • Rainbow - can not connect
    Image
  • MM mobile app
    signing doesn't work - RPC error
  • Trust Wallet
    can not enable push notification
    Image
  • Argent
    No connection pop up in the Argent wallet
  • Pillar
    Connection is available only on Ethereum

@DmitryBespalov
Copy link
Contributor Author

Rainbow

The issue is that Rainbow doesn't support Görli now. To enable it, you should go to Rainbow's Settings - Developer Settings - Enable Testnets. Then there's a toggle to switch network to Görli. However, when I tried it, it didn't switch to other network.

Even without the testnet, if the Safe is on Ethereum, then Rainbow will pick up the Ethereum network just OK and you can connect to it.

List of networks that Rainbow says it can connect to:

  • Chain ID 1, Ethereum
  • Chain ID 42161, Arbitrum One
  • Chain ID 8453, Base
  • Chain ID 10, Optimism Mainnet
  • Chain ID 137, Polygon Mainnet
  • Chain ID 7777777, Zora
  • Chain ID 56, BNB Smart Chain Mainnet

Unfortunately, Goerli and Gnosis Chain are not in that list

@DmitryBespalov
Copy link
Contributor Author

DmitryBespalov commented Dec 18, 2023

Argent

Select the "Ethereum" vault and the connection request appears

@DmitryBespalov
Copy link
Contributor Author

Pillar
For me, it even doesn't connect to Ethereum wallet

@DmitryBespalov
Copy link
Contributor Author

Metamask
I saw that the issue is supposed to be fixed already but I still get the invalid signature. I will create a workaround for that.

DmitryBespalov added a commit that referenced this issue Dec 18, 2023
DmitryBespalov added a commit that referenced this issue Dec 18, 2023
DmitryBespalov added a commit that referenced this issue Dec 18, 2023
@liliya-soroka
Copy link
Member

Seems, that incorrect network id is sent by the safe mobile app for connection when it's not Ethereum:
Image

@liliya-soroka
Copy link
Member

Result of testing:

  1. MM -safe mobile app - connection works on diff networks
  2. other checked wallets(Rainbow/Trust wallet/Pillar/imToken): connection works only on Ethereum. For other networks eipXXX is displayed instead of network during connection

@liliya-soroka
Copy link
Member

Verified: if the wallet supports the network and the same networks is selected in the safe app and connected wallet, connection works without an issue
In case when different networks are used in safe and connected wallet the same error is displayed as for the safe mobile app as for the safe web app

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Doesn't work as expected Major Fix within 2 weeks
Projects
None yet
Development

No branches or pull requests

2 participants