wallet-adapter icon indicating copy to clipboard operation
wallet-adapter copied to clipboard

Add all Adapters by default

Open safaiyeh opened this issue 3 years ago • 4 comments

Is your feature request related to a problem? Please describe. At Magic Eden, we need to continuously add new wallets that come through to support the ecosystem. Each requires a library bump and explicitly adding the wallet.

Describe the solution you'd like Is it possible to have a way to by default add all adapters + add configs to order them. This would save some dev time to add these wallets.

safaiyeh avatar May 12 '22 20:05 safaiyeh

The wallets package previously exported a getAllWallets type of function. Unfortunately, adding all wallet adapters has costs -- load time, detection performance, and most of all, presenting a lot of choices to users. It's also not very sustainable to manage everything in this repo, reviewing and testing new adapters.

The primary reason most of these adapters for browser extension wallets exist is because we don't have standards for wallet detection and wallet APIs. I think a solution to this could be a combination of https://github.com/solana-labs/wallet-adapter/issues/215 and https://github.com/solana-labs/wallet-adapter/issues/367. In addition, we need to standardize deep linking behavior for mobile wallets.

IMO we should expect to see consolidation among wallets rather than proliferation. There aren't 20 wallets with meaningful traction and differentiation.

jordaaash avatar May 12 '22 20:05 jordaaash

Ah that makes sense. Thank you for the context! Moving towards a standard is the right direction imo.

Where are we with the deeplinking standard? I'm the mobile lead at Magic Eden, so we've been in contact with Phantom. We implemented their deeplink spec, happy to help drive there in anyway I can.

safaiyeh avatar May 12 '22 20:05 safaiyeh

Yeah, so a deep link standard is very important. The current Phantom implementation with its encryption scheme is specific to Phantom, a bit too complicated, and the encryption scheme doesn't add security. They've expressed that they'd be willing to support a standard, but I think it would be helpful to define a spec for what that could look like, and then gather feedback from wallets (the same process as we did with Solana Pay).

Here's an initial stab I took at describing a simple protocol: https://hackmd.io/W5QnvgGkRfaZdtt1Di0nUw

It needs work! It also needs to support jumping from a mobile web application to an in-app browser in wallets where necessary.

jordaaash avatar May 12 '22 21:05 jordaaash

Closing here since the spirit of this is underway @ https://github.com/wallet-standard/wallet-standard

jordaaash avatar Aug 17 '22 00:08 jordaaash