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

Add unifed bip21 URI opened from another app to the test vectors #76

Open
juscamarena opened this issue Dec 14, 2022 · 6 comments
Open
Labels
question Further information is requested

Comments

@juscamarena
Copy link
Contributor

It seems some wallets support scanning bip21 URIs but fail when opened from another wallet.

Say bitrefill, a lightning/bitcoin merchant, create a bip21 unified URI with bitcoin bitcoin on chain and lightning. Some wallets seem only to support scanning the URI and fail to parse the lightning param when opened through a button.

Strike did not support this, and they have now pushed a fix. Bitcoin jungle (galoy) and I assume bitcoin beach also don't support the unified bip21 flow as they don't register the bitcoin: URI and thus don't support payments opened from other apps.

@sbddesign
Copy link
Owner

Hmm, that's interesting. I hadn't considered that angle before. I wonder what the best way to test for this would be? I know that on iOS, it's always a nightmare trying to get the "default" bitcoin or lightning wallet defined. I think it chooses whichever was first. It's not a first class experience. How were you testing this, @juscamarena?

@juscamarena
Copy link
Contributor Author

juscamarena commented Dec 15, 2022

Bitrefill makes use of wallet specific deeplinks.

For strike we do:

strike:bitcoin:bc1qlnwf2t833c0g9lxlqafp8jdjja0c7jprf8lj4u?amount=0.00132811&fee=5&rbf=false&lightning=LNBC1328110N1P3EY8F7PP55RE8KFMJP4QK676GJXECDA8MSQ3MAFWWVTGL7LEJVERT03N7ZHHSDZ2GF5HGUN9VE5KCMPQXCURJDEEVDJXYTFHXCMXYTF58YCNSTTZXA3RWTTPX4JRGEN9XFNRZDPKVSCQZX7XQRP9SSP5YETW0Z9W8EHG34KW2SUEYX49SFRRTTX69U4F6JWL2E752L9P2DMS9QYYSSQD2HKA6DHR4KN7JN60PLEH7XEVCKS28G9NQ46MLEJTD9YTAKGVMYKSHMWJXSQ6U3295MJEHP3P8CLF9LQ5FGQCUT3MYGZS90TXM0DCJSQF6A5P3

for bluewallet:
bluewallet:bitcoin:bc1qlnwf2t833c0g9lxlqafp8jdjja0c7jprf8lj4u?amount=0.00132811&fee=5&rbf=false&lightning=LNBC1328110N1P3EY8F7PP55RE8KFMJP4QK676GJXECDA8MSQ3MAFWWVTGL7LEJVERT03N7ZHHSDZ2GF5HGUN9VE5KCMPQXCURJDEEVDJXYTFHXCMXYTF58YCNSTTZXA3RWTTPX4JRGEN9XFNRZDPKVSCQZX7XQRP9SSP5YETW0Z9W8EHG34KW2SUEYX49SFRRTTX69U4F6JWL2E752L9P2DMS9QYYSSQD2HKA6DHR4KN7JN60PLEH7XEVCKS28G9NQ46MLEJTD9YTAKGVMYKSHMWJXSQ6U3295MJEHP3P8CLF9LQ5FGQCUT3MYGZS90TXM0DCJSQF6A5P3

This is still an issue say if you have a unified bip21 URI and only one wallet is installed, we need to make sure wallets can parse the URI from scanning and from opening from another app.

Chivo is one I wish supported recognizing the bitcoin URI when other apps use it that and them not having wallet specific deeplinks.

@juscamarena
Copy link
Contributor Author

The insane hard way to test this would be only to have one bitcoin or lightning app installed at a time :( I think most lightning wallets support wallet specific deeplinking at least.

@sbddesign
Copy link
Owner

Ah, that makes sense. So if I wanted to test one specific wallet, I would need to figure out what the wallet's deeplink scheme is and then prepend it to the BIP21 URI like scheme:bitcoin:bc1q....

Maybe a column on the site's table for deep linking makes sense? I wonder what we would come up with if we tested all of the existing wallets that support BIP21 + lightning for the deep links.

@juscamarena
Copy link
Contributor Author

I've tested this extensively, happy to share.

muun
wallet specific deeplink: yes, muun:
supports opening unified bip21 URI from another app and parsing the lightning param: yes

bluewallet
wallet specific deeplink: yes, bluewallet:
supports opening unified bip21 URI from another app and parsing the lightning param: yes

strke
wallet specific deeplink: yes, strike:
supports opening unified bip21 URI from another app and parsing the lightning param: yes
Android is being fixed, but last I checked the release wasn't out yet.

I'm testing other wallets, but it's hard on iOS if they don't have wallet specific deeplinks. Phoenix does, but they don't on android yet. ACINQ/phoenix#251

@sbddesign
Copy link
Owner

Revisiting this after a long time. What is the recommended course of action? Is this enough of a problem with wallet deeplinks where we need to add a deeplink column? Or is this just a one-off thing with Chivo not supporting it?

@sbddesign sbddesign added the question Further information is requested label Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants