* Refactor: Dot not make LNURLPaymentMethodDetails depends on BTCPayInvoiceId
* Abstract PaymentProof
* fix bug
* Make the selenium container resolves the btcpay host name
* Allow LN Address to customize invoice metadata
solves https://github.com/OpenSats/website/issues/8
* Refactor GetLNUrl
* Fix lightningAddresssettings.Max being ignored
* Fix: The payRequest generated by the callback wasn't the same as the original
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Introduce very flexible form input system
* Refactorings after rebase
* Test fix
* Update BTCPayServer/Forms/FormDataService.cs
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Store rule emails in HTML + Test rule emails
* Store rule emails in HTML + Test rule emails
* Update BTCPayServer/Controllers/UIStoresController.Email.cs
Thanks !
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* change in StoreEmails() to work properly with add commande
* CanSetupEmailServer() : Remove Bosy sendkeys that doesn't work with new HTML control
* Update test for new HTML control
* better command treatment
---------
Co-authored-by: nisaba <infos@nisaba.solutions>
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Wallet Transactions Export: Add BIP-329 support
* Adjust wording
* Export one line per label
* Join labels, fix type
* Rewrite the ProcessBip329 function to be more performant
* Add nullable on all TransactionsExport
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Wallet transactions: Add label manager
* Update BTCPayServer/Views/UIWallets/WalletTransactions.cshtml
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Add rich label info
* Fixes
* support labels in wallet send
* add labels to tx info page
* Remove noscript parts
* Allow click on transaction label info
* update psbt info labelstyling
* revert red pixel fix as it broke all
---------
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Adapt cookie auth to work with same API permission system
* Handle unscoped store permission case
* Do not consider Unscoped as a valid policy
* Add tests
* Refactor permissions scopes
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Renamed "WithdrawAsync" to "WithdrawToStoreWalletAsync"
* WIP
* WIP withdrawal + Refactored Form saving to JObject
* WIP
* Form to fix bad values during withdrawing appears correctly
* WIP
* Lots of cleanup and refactoring + Password field and toggle password view
* Cleanup + Finishing touches on withdrawals
* Added "Destination" dummy text as this is always the destination.
* Fixed broken test
* Added support for withdrawing using qty as a percentage if it ends with "%". Needs more testing.
* Fixed broken build
* Fixed broken build (2)
* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.custodians.json
Co-authored-by: d11n <mail@dennisreimann.de>
* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.custodians.json
Co-authored-by: d11n <mail@dennisreimann.de>
* Improved unit tests
* Fixed swagger bug
* Test improvements
Make string conversion of quantity explicitely.
* Fix build warnings
* Swagger: Add missing operationId
* Made change Dennis requested
* Removed unused file
* Removed incorrect comment
* Extra contructor
* Renamed client methods
* Cleanup config before saving
* Fixed broken controller
* Refactor custodian
* Fix build
* Make decimal fields strings to match the rest of Greenfield
* Improve parsing of % quantities
---------
Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Plugins can now build apps
* fix tests
* fixup
* pluginize existing apps
* Test fixes part 1
* Test fixes part 2
* Fix Crowdfund namespace
* Syntax
* More namespace fixes
* Markup
* Test fix
* upstream fixes
* Add plugin icon
* Fix nullable build warnings
* allow pre popualting app creation
* Fixes after merge
* Make link methods async
* Use AppData as parameter for ConfigureLink
* GetApps by AppType
* Use ConfigureLink on dashboard
* Rename method
* Add properties to indicate stats support
* Property updates
* Test fixes
* Clean up imports
* Fixes after merge
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Update price display
As proposed by @dstrukt in #4364.
* Update format
* Unify price display across the app
* Add DisplayFormatter
* Replace DisplayFormatCurrency method
* Use symbol currency format for invoice
* Unify currency formats on backend pages
* Revert recent changes
* Do not show exchange rate and fiat order amount for crypto denominations
* Fix test and add test cases
Fixes this nasty flaky test failure:
```
Failed CanUsePullPaymentsViaUI [17 s]
Error Message:
Assert.Equal() Failure
↓ (pos 1)
Expected: payout
Actual: pull-payment
↑ (pos 1)
Stack Trace:
at BTCPayServer.Tests.ChromeTests.CanUsePullPaymentsViaUI() in /source/BTCPayServer.Tests/SeleniumTests.cs:line 1622
```
Because there are actually two labels, the previous selector was dependent on the correct ordern, because it always chose the first one …
* Greenfield: Admins can create/delete API keys of any user
* Greenfield: Improve doc for scoped apikey (Close#4673)
* Fix permissions hierarchy
* Update BTCPayServer.Client/Permissions.cs
* Fix tests
---------
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>