-
Notifications
You must be signed in to change notification settings - Fork 973
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
Add Saifu Wallet wallet-adapter #384
Conversation
Rebased latest master |
@jordansexton Hey! It would be great to get an official-ish statement what's going on with this repository. A lot of adapters are waiting to get merged and are stuck in limbo 😅 I heard that the future of this repository is currently unclear and that's why merging has been frozen, but it would be nice to hear something official, because this is blocking the progress of a bunch of wallets |
Hey @dvcrn, that's totally fair. I've had conversations around this with a few wallet teams, and should have made things more clear to everyone. At a very high level, this Twitter thread describes where we are now, how we got here, and the plan going forward: https://twitter.com/jordaaash/status/1534987011781804039 To contextualize the problem on Github, wallets create PRs to add adapters to wallet-adapter, which are hard to prioritize and keep up with. Some wallet teams may not realize this, but they could just publish npm packages themselves, so in that sense none of the ones with open PRs are actually blocked by being merged. But regardless of whether a wallet adapter gets merged and published as That's because it requires that each app becomes aware of a wallet's existence, makes a code or build change to import or update a library, and adds the wallet to a list of supported wallets in their UI. Since apps are focused on the wallets their users already use, this very obviously concentrates wallet support over a small handful of established wallets. Apps don't update, new wallets can't innovate, and users are worse off. I understand that wallets may want to be added to the But we shouldn't be gatekeeping them either. To the extent we appear to be doing that unintentionally, we need to exit the loop. The way to do this is to drive forward the development of a standard that covers, at a minimum, how wallets attach themselves to the window, their base public methods and events, and how things should work on mobile. This is going to be some work to spec out and get feedback on, and will require work from every wallet team, starting with the major wallets I've spoken with about this. The good news is that they see the need and want to do this, and the rest of the wallets in the ecosystem have a lot to gain from this coordinated effort. I don't have a timeline for this yet, but I have started a very rough sketch of the API and have been thinking through the implementation. In the meantime, any wallet can of course still publish an npm package that imports from |
Thanks a lot for the detailed response. Yeah, I fully understand what you're saying and agree with all the points regarding endorsement, gatekeeping, and the reason for integrating with this repo (although it is pretty convenient to have everything in one central repo, compared to wallets on Ethereum, which is messier) But it's great that the conversation is progressing a bit because many PRs (like ours) have been stale for 2+ months now 😅 It might even be worth adding a quick note to the README to make this info easier to find. I am/we are very interested in joining the discussion if it happens in open channels. I believe we can also contribute valuable feedback to getting this new standard up and running. Is this on the Solana discord? If yes, please ping me ( |
Since this won't get merged anytime soon due to restructuring of the upstream wallet-adapter repository Ref anza-xyz#384 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While the medium-term goal is to move away from requiring adapters for every wallet, I want to respect the time you took to create this adapter, and review it now.
Once a new standard is introduced, let's work together to migrate away from dependency on using an adapter.
Thanks for the review Jordan! Fixed all the points and removed the adapter from common + README |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few small things, and the connection logic still needs to be have Phantom hacks removed.
- Remove sendTransaction - Remove window.solana ref - Make window.saifu not optional
Will fallback to parent behavior when not present in object yet
Thanks! This will be published today or tomorrow. |
Adds wallet adapter for Saifu Wallet, the extensible Solana wallet
Please let me know if changes or adjustments are needed