Commit Graph

175 Commits

Author SHA1 Message Date
Nicolas Dorier
41f5588257 Feature: Plugin can extend whether an account can login or not 2025-11-14 18:00:20 +09:00
Nicolas Dorier
46156a5a39 Remove the store invitation notification to store owners 2025-11-12 08:49:48 +09:00
Nicolas Dorier
3948eb13cd Add default server email rules in migration 2025-11-10 17:24:27 +09:00
Nicolas Dorier
849b27cf49 Do not save cache of rates in the database (#6978)
We were previously saving the rates in the database in a JSONB blob
column. However, the volume of data ise consequential enough for
provoking timeouts during update.

Due to how postgres works, this also create bloat in the database that
isn't cleaned immediately.

This PR fixes this issue by saving the cache in files instead.
2025-11-05 16:54:34 +09:00
Nicolas Dorier
e8282ca849 Refactoring of Webhooks and Email Rules (#6954) 2025-10-19 22:31:24 +09:00
Nicolas Dorier
dd6c4c771e Include XPubs in PSBTs for multi sig (#6696) 2025-04-24 21:36:09 +09:00
Nicolas Dorier
8e9aead659 Automatically set Multisig Server if Output descriptor has several keys (#6688) 2025-04-22 17:01:55 +09:00
Nicolas Dorier
2f26979ed7 Refactor vault (#6678)
* Use Blazor for the Vault code

* Put elements in different file

* Controller abstraction

* Break into VaultElement
2025-04-21 17:09:46 +09:00
nicolas.dorier
2911771f19 Feature: RBF and UX improvement to fee bumping 2025-03-11 17:44:18 +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
fb8ca19327 Fix: Combination of status filters on invoices page causes 500 fatal server error (Fix #6437) 2024-12-04 22:07:32 +09:00
nicolas.dorier
74011e50e3 Do not translate checkout with the backend language 2024-10-20 11:49:36 +09:00
nicolas.dorier
b5b45d9a27 Rename Transaction->Translation 2024-10-18 16:06:51 +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
dd35af3c55 Use AddUIExtension 2024-10-07 21:43:06 +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
01e12329e9 Remove additional cryptoCode from events (#6277) 2024-10-07 09:37:56 +09:00
Nicolas Dorier
0f93581ff5 Refactor confirmation count tracking (#6215) 2024-09-17 17:28:58 +09:00
Nicolas Dorier
ca4abcb497 Allow translations of BTCPay Server Backend by admins (#5662) 2024-07-24 20:16:20 +09:00
Nicolas Dorier
9db9c5e936 Decouple PaymentMethodId from PayoutMethodId (#5944) 2024-05-01 10:22:07 +09:00
Nicolas Dorier
6cc1751924 The Big Cleanup: Refactor BTCPay internals (#5809) 2024-04-04 16:31:04 +09:00
Nicolas Dorier
35b3fef7c5 Fix wallet import (#5695)
* Fix wallet import

* Improve error message for import of wallet file
2024-01-24 17:49:15 +09:00
d11n
f31aa43c6a Wallet file parsing: Add Wasabi test case and re-add Electrum distinction (#5694)
* Extend tests, add Wasabi file

* Re-add Electrum distinction

* Specter: Fix indentation

* Cleanups
2024-01-24 09:28:22 +09:00
nicolas.dorier
bd196ad963 fix build 2024-01-18 12:31:59 +09:00
nicolas.dorier
1ad93838c9 Remove reliance on static field 2024-01-18 11:13:32 +09:00
Nicolas Dorier
376067324b Remove unused variables (#5669) 2024-01-18 09:47:39 +09:00
Nicolas Dorier
1d6d146fb2 Revert "Remove unused variables" (#5667)
This reverts commit f070b22355.
2024-01-18 00:05:50 +09:00
nicolas.dorier
f070b22355 Remove unused variables 2024-01-17 18:46:28 +09:00
Andrew Camilleri
c5a0e28420 Refactor Wallet import code (#5638)
* Refactor Wallet import code

The code for wallet import was incredibly messy as it evolved over time from various requests.

This PR:
* splits up each supported format into its own file
* Supports taproot descriptors (through a hack until NBitcoin supports it internally) fixes #5518
* Reduces different paths for handling electrum/non-electrum xpubs
* Allows plugins to add their own import support formats for onchain wallets.

* Update NBitcoin to parse tr descriptors

* Fix warnings

* Use dedicated type OnChainWalletParsers

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-01-17 18:08:39 +09:00
Nicolas Dorier
b3f9216c54 Use PullPaymentId to derive the cardkey of Boltcard (#5575) 2023-12-21 10:29:28 +09:00
d11n
5114a3a2ea Lightning: Fix connection display name in LN settings (#5569)
* Lightning: Fix connection display name in LN settings

Builds on btcpayserver/BTCPayServer.Lightning#153.

* Upgrade Lightning lib
2023-12-20 19:26:24 +09:00
Nicolas Dorier
04292d09e1 Pluginify BTCPayNetworkProvider (#5331) 2023-11-29 18:51:40 +09:00
Andrew Camilleri
2f23bad3bc Support the new LN lib (#5422)
* Support the new LN lib

* fix test

* do not cache factories

* try without useless userinfo in lnd

* Remove monero wallet files

* support simpler DI too

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-11-21 18:55:02 +09:00
Nicolas Dorier
dc986959fd Add reporting feature (#5155)
* Add reporting feature

* Remove nodatime

* Add summaries

* work...

* Add chart title

* Fix error

* Allow to set hour in the field

* UI updates

* Fix fake data

* ViewDefinitions can be dynamic

* Add items sold

* Sticky table headers

* Update JS and remove jQuery usages

* JS click fix

* Handle tag all invoices for app

* fix dup row in items report

* Can cancel invoice request

* Add tests

* Fake data for items sold

* Rename Items to Products, improve navigation F5

* Use bordered table for summaries

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-07-24 09:24:32 +09:00
Nicolas Dorier
22435a2bf5 Refactor logic for calculating due amount of invoices (#5174)
* Refactor logic for calculating due amount of invoices

* Remove Money type from the accounting

* Fix tests

* Fix a corner case

* fix bug

* Rename PaymentCurrency to Currency

* Fix bug

* Rename PaymentCurrency -> Currency

* Payment objects should have access to the InvoiceEntity

* Set Currency USD in tests

* Simplify some code

* Remove useless code

* Simplify code, kukks comment
2023-07-19 18:47:32 +09:00
Nicolas Dorier
1956919886 Do not crash when an invoice have an amount that is too big (#5070) 2023-06-16 10:47:58 +09:00
nicolas.dorier
4e03c2523a Prune webhook data from database 2023-05-29 09:02:47 +02:00
Nicolas Dorier
fea27b900c Harden file type inputs (#4635) 2023-02-14 17:03:12 +09:00
Nicolas Dorier
219d03b8dd Fix: If PoS item code contains a /, LNUrl would not work (fix #4601) (#4602)
This is caused by a weird buggy behavior from ASP.NET Core concerning
path value decoding. (More information on
https://github.com/dotnet/aspnetcore/issues/14170#issuecomment-533342396)

This hasn't been fixed for a while, and the dotnet team keeps reporting
it over and over.
2023-02-06 18:17:17 +09:00
d11n
d5d0be5824 Code formatting updates (#4502)
* Editorconfig: Add space_before_self_closing setting

This was a difference between the way dotnet-format and Rider format code. See https://www.jetbrains.com/help/rider/EditorConfig_Index.html

* Editorconfig: Keep 4 spaces indentation for Swagger JSON files

They are all formatted that way, let's keep it like that.

* Apply dotnet-format, mostly white-space related changes
2023-01-06 22:18:07 +09:00
Andrew Camilleri
f8619e382b Fix LN Address payouts (#3960)
* Fix LN Address payouts

LN Address was validated when creating the claim but the paying sdection did not support it.

* reuse code

* reuse code

* do not use mail directly

* fix email validator
2022-07-15 12:37:47 +09:00
Andrew Camilleri
b8f1c0df09 Create interface for providing store id to plugins (#3910) 2022-06-29 23:18:02 +09:00
d11n
ef6016857b FileService: AddFile from URL (#3566) 2022-03-31 11:54:25 +02:00
Dennis Reimann
749c22a0c3 Refactoring: Extract HttpRequest extensions 2022-03-08 08:17:39 +00:00
Dennis Reimann
6867774627 Refactoring: Extract StringExtensions 2022-03-08 08:17:39 +00:00
Dennis Reimann
4a05f16050 Refactoring: Move WellKnownTempData into Abstractions.Constants
This allows plugins to reuse the status message mechanism.
2022-02-21 16:39:08 +01:00
Umar Bolatov
a3b748ffe3 Remove payment methods not currently configured when creating invoice (#3394)
* Add error message when wallet is not configured

* Adjust payment methods based on available ones

* Disable "Create invoice" page if there is an error

* Add test

* update HasErrorMessage

* Add method for checking if payment methods are available

* small pr fixes

Co-authored-by: Kukks <evilkukka@gmail.com>
2022-02-17 18:22:09 +09:00
nicolas.dorier
9e2f7fb048 Do not register services of altcoins if not used 2022-02-10 12:36:07 +09:00