Commit graph

481 commits

Author SHA1 Message Date
nicolas.dorier
8e927eee73
Better validation of inputs when setting on-chain payment method by API 2025-01-21 23:37:56 +09:00
nicolas.dorier
1e93dccea2
Make Validate.ValidationResult nullable 2025-01-21 16:18:20 +09:00
Nicolas Dorier
5536935ff8
Make Checkout Cheat Mode extensible by plugins (#6543) 2025-01-10 16:17:55 +09:00
d11n
00cc16455c
App: Add events which the app subscribes to (#6435)
* App: Add events which the app subscribes to

Various events, which are relevant for the app to react to changes made on the server.

* Refactor events

* Do not extend NewBlockEvent

* Refactoring events

* Add store role events

* Refactoring: Rename StoreUserEvent

* Fix: Subscribe to UserEvent.Invited

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-12-11 20:11:51 +09:00
Nicolas Dorier
cc915df10e
Merge pull request #6469 from NicolasDorier/validatinglightningclient
Plugins: Add a way for LightningClient to be more customizable (Fix #6467)
2024-12-10 19:01:09 +09:00
nicolas.dorier
4f63f08aeb
Plugin: Add IGlobalCheckoutModelExtension 2024-12-09 21:29:04 +09:00
nicolas.dorier
e7e7fab1a9
Plugins: Add a way for LightningClient to validate the connection string asynchronously 2024-12-09 21:25:22 +09:00
nicolas.dorier
8edb4eae3b
Bump MimeKit and DigitalRuby 2024-12-03 21:23:07 +09:00
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