添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

Describe the bug
Connection with any wallet is not working on https: protocol.
On localhost still everything works fine.

Modal opens with no console Errors, but after I scan a QR code with Metamask / Trust wallets, this error occurred and nothing else happens. Modal remains open, in wallet no response. Just an error in our web dApp:

And also tried to connect to dev environment on your https://react-wallet.walletconnect.com/walletconnect :

SDK Version (if relevant)
"next": "^12.2.2",
"@walletconnect/modal": "^2.6.1",
"@walletconnect/sign-client": "^2.10.0",

To Reproduce
As described in following issue. I have updated to the latest version of the sign-client. But there is another bug in connection.
#3492

Expected behavior
Connection between our web dApp and any wallet, at least Metamask, is working on https: protocol.

Desktop:
OS: [macOS, iOS]
Browser [Chrome]
Version [Version 115.0.5790.170 (Official Build) (arm64)]

Smartphone:
Device: [iPhoneX]
OS: [iOS 16.5.1]

devon-n, BulletproofProductions, amcs99, AtelyPham, TonyBobins, OkponkoXchange, and Melancholism reacted with thumbs up emoji DudleDev and msilucifer reacted with eyes emoji All reactions

In Explorer tab in cloud.walletconnect.com I have filled in a Homepage and a Web App fields with the same url to our dev website.
Turn on the switch for the sign client v2 support.
The project itself is still in Draft version. And as I understood wallet connect must be working at this point.

Is there anything, that I am missing in configuration on cloud website?

We haven't released this feature on prod yet. Because we have no opportunity to test it on dev.
So, I am not secure what will happen on production.

Okay, with swcMinify: false we are moving forward a little bit. But transactions are not working.

The connection is processed, even if there is still this verify error in the console. The personal_sign also is working now, but again with verify error in the console.

But, when I am opening a modal to make the transaction, eth_sendTransaction , Metamask is able to make a connection, I am approving it, and when we, as a dApp, request the transaction - nothing is happening. No errors in metamask, no new errors in console.

I might have add, that we start every time a new session. And after transaction's success/error - we disconnect the session.

After a while, we just receive this error in the console:

Yep, sure. I will share an example in a while.

And I didn't catch what to check on labs, that you have provided?
There are modals, btw "With Ethers Wagmi" opens 404.
So I have checked "With Wagmi" modal. I can connect to it from my iphone with Metamask. But there is not button to check a transaction.

P.S. on our dev Trust wallet works for transaction. The question is about transactions in Metamask.

swcMinify: true issue is unrelated to the verify error, latest version of Next uses swc under the hood which is supported by WalletConnect.

The verify error should not affect the functionality of your app, if there's an issue might be related to something else, feel free to open an GitHub discussion on the topic.

We use the WalletConnect SDK as part of our Beacon SDK . After updating to ^2.9.0 (previously 2.7.0 ), we had some projects complain about this error.

The verify error should affect the functionality of your app

Did you mean to say that it should not affect the functionality of our app?

@glitch-txs Seeing the same behavior after upgrading WalletConnect dependencies. The console errors will appear about 5 seconds after the WalletConnectConnector in [email protected] is initialized, before calling connect or requesting the URI. I believe our deployment is properly whitelisted with WalletConnect Cloud.

I can confirm that this error disappears after downgrading to 2.7.0. And I can also confirm that WC2 (on 2.9.0) still works, despite this error.

However, I would like to have some clarification around what is happening. We have released our beacon-sdk with a reference to version 2.9.0, which means dApps will get that error and might not upgrade because of it. Depending on what the underlying issue is, we can either downgrade to 2.7.0 again and release a new version of our beacon-sdk until you release a new version that fixes it, or if its a serverside fix that you are working on, we can keep the current version and tell our users that it will be fixed.

Thanks a lot for the help.

Update:

To add a little bit of context: We've integrated Verify API recently which prevents Wallets from connecting to unverified domains. So this error will show whenever a domain wasn't verified on cloud or when runnning on localhost (since localhost wasn't verified either - and it shouldn't).

To minimize the confusion we've changed this message from error to info when logged - see PR #3626
And we are working on a way to suppress it or minimize it for local environment.

{context: 'core'} {context: 'core/verify-api'} 'Verify iframe failed to load: https://verify.walletconnect.org' wevm/wagmi#2998

problem is that the link in Verify iframe failed to load: https://verify.walletconnect.org is dead.
for me downgrading from version "@walletconnect/sign-client": "^2.10.0" to "@walletconnect/sign-client": "^2.9.2", worked

I dropped web3modal/react and web3modal/ethereum down to 2.7.0 that uses 2.7.0 across the board and it now works, but that in turn opens up a whole new set of problems like missing #3230 which is causing the socket to be stalled randomly. Feel like the best approach here is to avoid web3modal/react altogether until 3.0.0 is done and implemented in web3modal and try implementing directly from core. 🤷‍♂️

@glitch-txs thoughts?

EDIT:

I have to dig in a lot more. In using Frame, when injecting Frame as-is, the verify iframe problem comes back, but injecting as metamask (with Frame) removes it, but then socket stalls. I'm doing a refactor to finally migrate from v1 and this will take a substantially larger re-write to fix. I'll relay more when I hopefully get around to fixing this.

"@wagmi/connectors": "2.6.6", "@walletconnect/utils": "2.9.0", "@walletconnect/core": "2.9.0", "@walletconnect/ethereum-provider": "2.9.0", "@web3modal/ethereum": "^2.7.1", "@web3modal/react": "^2.7.1", "viem": "^1.5.3", "ethers": "^6.7.0",

Also needed this fix.

hirosystems/stacks.js#1096 (comment)

      overrides: {
        from: address,
        value: ethers.parseEther(inputValue),
      value: ethers.parseEther(inputValue),
          

Pretty frustrating. The only way I can get WC to work on localhost is to create a new project and use a fresh projectId. Then a few hours later I start to get the "Refused to frame 'https://verify.walletconnect.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors" error

Still getting the iframe error with:

"@wagmi/core": "^1.4.2",
"@web3modal/ethereum": "^2.7.1",
"@web3modal/html": "^2.7.1",
"viem": "^1.10.14"

This *is blocking because it throws an error, not an info.

Appreciate the help @glitch-txs

Trying to follow: https://docs.walletconnect.com/2.0/web3modal/html/wagmi/installation