synonymdev / bitkit

Self-custodial Bitcoin and Lightning Wallet for Android and iOS.
https://bitkit.to
MIT License
113 stars 23 forks source link

Notif user on Bitkit when he is Geoblock #2062

Open JeanlChristophe opened 2 months ago

JeanlChristophe commented 2 months ago

Description Our users may be Geoblocked if they are geolocated in the countries that we block according to our ToS.

Issue Users are not aware that they are geoban. ex: https://app.asana.com/0/1189635884316057/1207371335263354/f

Solution Notify the user when he/she is using Blocktank and is Geoban. Please note that this notification must not be used when someone is using their own node or another LSP. ps: Sometimes these users can be geoblocked because they are using a VPN, so be careful which country they are using.

JeanlChristophe commented 2 months ago

note: they can not buy channel but they can do lightning transaction.

catch-21 commented 2 months ago

I have never been able to do a lightning transaction with US IP. Always get 'broadcast failed' error. This is the reason why our E2E tests must use a VPN, because all GH runners are located in the US.

aldertnl commented 3 weeks ago

I’m unclear on the specific limitations for U.S. and Canadian residents based on the above conversation. Are only channel purchases blocked (we have UI in place for this), or is Blocktank also unable to route any Lightning payments for these regions? If it’s the latter, here’s a potential toast notification.

image
BitcoinErrorLog commented 3 weeks ago

Isnt this originally an issue with Blocktank blocking users from other things aside from buying a channel, like getting price or such? If so, the fix is isolate blocking by Blocktank to only blocking the generation of order invoices and blocking the direct opening of channels (for banned regions)

catch-21 commented 2 weeks ago

I observe that if Bitkit is launched with a European IP and then VPN switch to a US IP then lightning payments will still work but if Bitkit is launched with a US IP they do not work (unable to broadcast error) and continue to not work if then switched to European IP. It seems there is something in the LDK initialisation that determines whether payments are allowed.

catch-21 commented 2 weeks ago

This exists https://github.com/synonymdev/blocktank/issues/9