Commit graph

473 commits

Author SHA1 Message Date
nicolas.dorier
3046fe0f0b
Replace PayjoinLocks handling with Dapper (avoid logs being written) 2024-12-02 10:16:07 +09:00
nicolas.dorier
177ddb4117
Remove possible NRE in the LightningListener 2024-12-02 09:28:11 +09:00
Nicolas Dorier
a05dbef337
Fix: Payouts were incorrectly marked as canceled even after successful (#6365)
completion
2024-11-08 16:13:13 +09:00
jackstar12
4272ea97db
refactor: use PaymentHash instead of Id when checking pending ln payout (#6360)
Does the same, but the `GetPayment` call explicitly wants a payment
hash, which is clearer this way (thought there might be a bug here when
I first read the code)
2024-11-05 19:00:15 +09:00
Andrew Camilleri
373b90e3b5
Liquid fixes (#6340)
make sure link provider is per payment method of liquid assets. Also remove ETB as it has been unused. Also hide the send button as it is not supported thrrough BTCPay
2024-10-29 23:43:37 +09:00
nicolas.dorier
92f9b226fe
Prevent additional concurrency issues with LightnignPendingPayoutListener 2024-10-28 22:12:29 +09:00
nicolas.dorier
9bb1a5b80a
Prevent concurrency race on lightning payout update 2024-10-27 19:55:30 +09:00
nicolas.dorier
0e59107eee
Fix tests with LightningPendingPayoutListener overriding automated payouts state changes 2024-10-27 19:34:20 +09:00
jackstar12
e7b9688602
refactor: make BitcoinCheckoutModelExtension support other payment handlers (#6311)
* refactor: make `BitcoinCheckoutModelExtension` support other payment handlers

The bitcoin checkout extension doesn't have to be tied to the native
bitcoin handler since it only really needs the payment details to be in
a specific format, which can be provided by other handlers aswell,
allowing for better code reuse.

* refactor: initialize payment methods in constructor
2024-10-25 22:50:46 +09:00
Nicolas Dorier
cc0ea0b3f8
Refactor payouts processing (#6314) 2024-10-19 21:33:34 +09:00
jackstar12
8b5b90d247
refactor: make BeforeFetchingRates function public (#6310)
This function is useful when a payment method wants to update its
payment prompt after receiving a partial payment, like ln does
2024-10-18 14:03:37 +09:00
jackstar12
b670097592
feat: provide store info to modify-lnurlp-request filter (#6312)
adds store data to the filter using a new `StoreLNURLPayRequest` class
which simply adds a `Store` member.

closes: https://github.com/btcpayserver/btcpayserver/issues/6301
2024-10-18 14:03:07 +09:00
nicolas.dorier
c7a05c3f09
Fix elements payments 2024-10-16 22:34:17 +09:00
nicolas.dorier
be429c527c
Cleanup useless code 2024-10-16 16:25:16 +09:00
nicolas.dorier
c43721d489
Pretty names of payment methods isn't provided by CheckoutExtensions 2024-10-14 21:53:14 +09:00
nicolas.dorier
c35af2dc69
Add translations to the Dashboard 2024-10-14 19:19:56 +09:00
nicolas.dorier
b91f3048ef
Fix: An unactivated payment method failing to activate would crash the checkout 2024-10-08 15:07:32 +09:00
nicolas.dorier
968223a953
Rename PaymentModel to CheckoutModel 2024-10-07 19:58:08 +09:00
nicolas.dorier
2f287874e3
Rename legacy fields 2024-10-07 19:51:50 +09:00
nicolas.dorier
c35e7406cd
Cleanup AvailableCrypto from the model 2024-10-07 19:15:40 +09:00
nicolas.dorier
34b2cca492
Simplify extension of payments extensions 2024-10-07 18:37:38 +09:00
nicolas.dorier
e1bfc04451
Move checkout registration to the UI Extension 2024-10-07 17:38:02 +09:00
nicolas.dorier
ef0ba7b0c4
Remove useless properties 2024-10-07 16:18:09 +09:00
nicolas.dorier
0a2d8880ba
Remove CheckoutBodyVueComponentName 2024-10-07 15:20:26 +09:00
nicolas.dorier
8dcd7e6966
Remove no javascript for checkout 2024-10-07 15:18:41 +09:00
nicolas.dorier
b744fd6167
Allow payment methods to modify all the payment model 2024-10-07 14:53:21 +09:00
Nicolas Dorier
5bcc5c919a
Improve logging of rates in invoices (#6281) 2024-10-07 09:38:09 +09:00
Nicolas Dorier
01e12329e9
Remove additional cryptoCode from events (#6277) 2024-10-07 09:37:56 +09:00
Nicolas Dorier
b246beab3e
Add the concept of RateDivisibility (#6278) 2024-10-04 23:34:31 +09:00
nicolas.dorier
a698aa8a5b
Do not crash if payment method disabled when store supports it 2024-10-03 19:21:01 +09:00
Nicolas Dorier
9ba4b030ed
Fix: Do not expose xpub without modify store permission (#6212) 2024-09-27 15:27:04 +09:00
Nicolas Dorier
f5e5174045
Refactor: Add GetMonitoredInvoices to fetch pending invoices or those with pending payments (#6235) 2024-09-20 18:54:36 +09:00
Nicolas Dorier
ba2301ebfe
Refactor the InvoiceAddresses table (#6232) 2024-09-19 22:15:02 +09:00
Nicolas Dorier
0f93581ff5
Refactor confirmation count tracking (#6215) 2024-09-17 17:28:58 +09:00
Nicolas Dorier
b4946f4db1
Fix divisibility in invoice details of lightning amounts (#6202)
* Fix divisibility in invoice details of lightning amounts

This PR will show 11 decimal in the invoice details for BTC amount
of lightning payment methods.

It also hacks around the fact that some
lightning clients don't create the requested amount of sats, which
resulted in over or under payments. (Blink not supporting msats, and
strike)

Now, In that case, a payment method fee (which can be negative) called tweak fee
will be added to the prompt.

We are also hiding this tweak fee from the user in the checkout page in
order to not disturb the UI with inconsequential fee of 0.000000001 sats.

* Only show 8 digits in checkout, even if amount is 11 digits
2024-09-12 12:43:08 +09:00
nicolas.dorier
4601359ebe
Do not block the Lightning PendingPayoutListener if a client is failing 2024-09-10 17:33:36 +09:00
Nicolas Dorier
377ff52222
Fix: Incorrect rounding for lightning amounts (#6201) 2024-09-06 18:48:20 +09:00
Nicolas Dorier
a3cfb9e5e4
Removal of the Altcoins build (#6177)
* Remove some useless #if ALTCOINS

* Removal of the Altcoins build
2024-08-30 08:34:23 +09:00
Nicolas Dorier
a295e123bc
Migrate Payouts to new format (#5989)
* Migrate Payouts to new format

* Rename PayoutData column to PayoutMethodId
2024-06-28 20:07:53 +09:00
nicolas.dorier
faf6b514e6
Fix error message if rate unavailable 2024-05-21 22:11:03 +09:00
Nicolas Dorier
c134602cbd
Remove Legacy Status from the code (#5982) 2024-05-15 07:49:53 +09:00
Nicolas Dorier
9db9c5e936
Decouple PaymentMethodId from PayoutMethodId (#5944) 2024-05-01 10:22:07 +09:00
Andrew Camilleri
6049fa23a7
Support pluginable rate providers (#5777)
* Support pluginable rate providers

This PR allows plugins to provide custom rate providers, that can be contextual to a store. For example, if you use the upcoming fiat offramp plugin, or the Blink plugin, you'll probably want to configure the fetch the rates from them since they are determining the actual fiat rrate to you. However, they require API keys. This PR enables these scenarios, even much more advanced ones, but for example:
* Install fiat offramp plugin
* Configure it
* You can now use the fiat offramp rate provider (no additional config steps beyond selecting the rate source from the select, or maybe the plugin would automatically set it for you once configured)

* Apply suggestions from code review

* Simplify

* Do not use BackgroundFetcherRateProvider for contextual rate prov

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-04-30 18:31:15 +09:00
d11n
8d429f064b
Show Lightning node availability in navigation (#5951)
* Show Lightning node availability in navigation

Instead of simply communicating the setup state of the store's LN node, this now also checks its availability.

Closes  #5940.

* Cleanups

* Add Selenium test for public node page and status in nav

* Cache the available lightning node result

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-04-26 08:30:34 +02:00
Dennis Reimann
d2e9ec9494
Cleanup v2 leftovers 2024-04-05 18:05:51 +02:00
Nicolas Dorier
6cc1751924
The Big Cleanup: Refactor BTCPay internals (#5809) 2024-04-04 16:31:04 +09:00
Andrew Camilleri
6b45eb0d3d
Do not throw when local node is not synced and using external ln node (#5859)
* Do not throw when local node is not synced and using external ln node

* Fix additional bug when ln conn strings without server would crash
2024-03-22 10:06:38 +01:00
Andrew Camilleri
0e64df3bbf
Parallel payout ln (#5781) 2024-03-14 10:29:14 +01:00
d11n
5939e19f72
Lightning: Replace user info in server URL when logging (#5750)
* Lightning: Replace user info in server URL when logging

Fixes #5747.

* Fix empty user info case
2024-02-21 14:45:05 +01:00
Nicolas Dorier
a9252fd741
Fix: Partial Payment shows 'Could not update BTC (LNURL-Pay)' in invoice logs (#5670) 2024-01-18 09:57:25 +09:00