anza-xyz / wallet-adapter

Modular TypeScript wallet adapters and components for Solana applications.
https://anza-xyz.github.io/wallet-adapter/
Apache License 2.0
1.58k stars 960 forks source link

WalletConnect wallets do not generally support versioned transaction #807

Open Arrowana opened 1 year ago

Arrowana commented 1 year ago

Describe the bug The PR to introduce versioned transaction support #777, introduces a UX bug for 99% of WalletConnect users. dApps are no longer able to read the supportedTransactionVersions field to reliably drop into a "legacy" transaction mode. This leads to a broken flow as users are left to find and manually toggle, when available, that setting.

To Reproduce Take a wallet implementing WalletConnect but not Ottr

  1. Go to jup.ag
  2. Pick a swap, click swap
  3. It breaks in many flavours, depending on the wallet. For https://github.com/WalletConnect/web-examples/tree/main/wallets/react-wallet-v2 it breaks down in the wallet and the approve button throws an error while never returning anything to jup.ag

Expected behavior Providing the appropriate supportedTransactionVersions given the underlying wallet. Can this be a dynamic feature check on the remote wallet?

supportedTransactionVersions should at least be reverted until the dust settles with supporting a potential proper interface to sign transaction #806

jordaaash commented 1 year ago

cc @jnwng

billythedummy commented 1 year ago

Who's in charge of the WalletConnect solana spec? May I suggest having it mirror the wallet-standard solana features as closely as possible in the future?

arein commented 10 months ago

idea: The wallets implement the CAIP-25 standard. As such they can signal to the dapp in the CAIP-25 response whether they support supportedTransactionVersions. Possibly it can also signal the value for this.

williamliangwl commented 5 months ago

Hi, wondering if this will be released so that some wallet can handle versioned transaction 🙏