Compare commits

...

6268 Commits

Author SHA1 Message Date
Kukks
8290a1606f Fix posdata with primitive array
fixes #4952
2023-05-05 11:29:53 +02:00
Kukks
eddd458744 Fix missing shopify link
fixes #4945
2023-05-05 09:51:45 +02:00
rockstardev
439ea20a89 Resolving weird Firefox form autocomplete behavior on our POS (#4950) 2023-05-04 18:49:35 +02:00
d11n
cec223c8e7 Fix missing closing div (#4944) 2023-05-03 10:55:20 +02:00
rockstardev
25cb188d00 Bumping LND to 0.16.2-beta 2023-04-29 09:10:07 -05:00
Pavlenex
31007a8d96 Merge pull request #4929 from dennisreimann/esc
Supporters: Add ESC
2023-04-27 18:30:09 +02:00
Dennis Reimann
a4fa8db69b Supporters: Add ESC 2023-04-27 18:28:29 +02:00
nicolas.dorier
6193835ea1 Make LightningListener nullable, fix some NRE 2023-04-27 13:37:32 +09:00
rockstardev
0c78e9e4ac Bumping LND to 0.16.1-beta (#4921) 2023-04-27 13:17:57 +09:00
nicolas.dorier
58c409e7fa Fix tests 2023-04-27 13:00:25 +09:00
Nicolas Dorier
9577eed524 Validate input in greenfield for payout processors (#4922) 2023-04-27 10:59:19 +09:00
Kukks
76f32cd064 Fix payment request overriding user provided email 2023-04-26 14:06:42 +02:00
Kukks
92d9c17095 Fix payment request merge conflict marker in UI 2023-04-26 14:06:23 +02:00
nicolas.dorier
b0396df33f Update changelog 2023-04-26 18:27:06 +09:00
nicolas.dorier
c17572c76f Clip configuration values for payout processors 2023-04-26 18:24:46 +09:00
nicolas.dorier
5c91e072a6 Prevent payout processors from stalling restart 2023-04-26 18:09:56 +09:00
nicolas.dorier
4991d0f965 Update Changelog and bump version 2023-04-26 17:57:25 +09:00
Andrew Camilleri
45b74e1ce5 Fix cart receipt + fix pos email form forwarding (#4917)
* Show correct array regardless of size

fixes #4890

* Email provided to pos form was not forwarded to form

fixes #4810

* Make invoice receipt url redirect to the invoice redirect url if receipt is not enabled

When setting up a default email rule upon invoice settlement, you would link to the receipt page naturally. However, if using the payment requests, receipts are disabled as the payment request itself is the receipt.  This commit makes the receipt url redirect to the invoice redirect url if available, and in the case of payment requests, it would mean the receipt url is the payment request url. fixes #4895

* Set the email address in the form when configured in the payment request

* fix pay request email copy

* fix payouts nav link

fixes #4788

* Update BTCPayServer/Views/UIPaymentRequest/EditPaymentRequest.cshtml

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

---------

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2023-04-26 16:45:35 +09:00
Nicolas Dorier
ccb4b9a9ba Merge pull request #4916 from dennisreimann/receipt-print
Receipt: Optimize print view
2023-04-26 15:41:41 +09:00
Nicolas Dorier
dd635071d6 Merge pull request #4909 from dennisreimann/fix-4889
POS: Fix choiceKey case
2023-04-26 15:16:54 +09:00
Nicolas Dorier
fe1448dfae Merge pull request #4911 from NicolasDorier/qiponbtq
Remove LNURLStandardInvoiceEnabled
2023-04-26 15:15:20 +09:00
Ikko Eltociear Ashimine
56855bc54d Fix typo in PayJoinEndpointController.cs (#4918) 2023-04-25 22:29:06 +02:00
nicolas.dorier
b51fa8df5a Fix indent 2023-04-25 21:03:12 +09:00
Dennis Reimann
3aa979cb11 Test updates 2023-04-25 13:07:01 +02:00
Dennis Reimann
c95f75bc6c Remove disable BOLT11 option 2023-04-25 12:21:27 +02:00
Dennis Reimann
b13a636f89 Fix syntax error 2023-04-25 12:11:08 +02:00
Dennis Reimann
8de55cef31 Unify checkout v1 behaviour with v2 2023-04-25 11:36:45 +02:00
Dennis Reimann
cb781f42e3 POS: Fix choiceKey case
I came across this while debugging #4889. This does not actually fix it, but it fixes an inconsistence in the casing of the parameter name.

However, I think the original issue is a caching problem in the browser. I was able to reproduce it on first load, after reloading the page once more it works as intended. The weird thing is: even though the values are correct on first load (verified via debugger), the `choiceKey` for the first item is set incorrectly to an integer value.
2023-04-25 09:16:09 +02:00
Dennis Reimann
b59292dc24 Receipt: Optimize print view
Fixes #4902
2023-04-25 07:30:15 +02:00
nicolas.dorier
03b793d7e2 Fix tests 2023-04-25 10:28:36 +09:00
nicolas.dorier
bee18d1cfb Can set LazyPaymentMethod at the invoice creation level 2023-04-25 08:38:42 +09:00
nicolas.dorier
d8698181f4 Remove LNURLStandardInvoiceEnabled 2023-04-24 23:52:40 +09:00
d11n
47f5d97eaf Prevent an NRE in LNURL (#4908)
* Prevent an NRE in LNURL

In addition to f05a7f9f14. Fixes #4904.

* Revert "Prevent an NRE in LNURL"

This reverts commit 0b241d61ab45b79297211e04da0e05c2cb10dada.

* Fix NRE

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-04-24 21:50:31 +09:00
Nicolas Dorier
cb3c5e56fd Fix: Poll of Lightning Invoice status might fail on LND if LNURL is used (#4910) 2023-04-24 18:15:39 +09:00
Nicolas Dorier
39b76c08de Fix: Form in Payment Requests was not setting its values to the invoices metadata (#4907) 2023-04-24 18:04:46 +09:00
Zaxounette
c3c8cc21ff Security Page Refactor (#4815)
* Update SECURITY.md

* typo

* project vs product

* Suggestion Update - Docker Deployment

Co-authored-by: d11n <mail@dennisreimann.de>

* Suggestion - Email highlight

Co-authored-by: d11n <mail@dennisreimann.de>

---------

Co-authored-by: d11n <mail@dennisreimann.de>
2023-04-24 15:04:56 +09:00
nicolas.dorier
6dba1b6d8b Nullable on LanguageService 2023-04-20 09:44:24 +09:00
nicolas.dorier
381fe70a79 Add UserAgent to IPN and webhook HTTP requests (Fix #4883) 2023-04-19 21:13:31 +09:00
ndeet
feb927c2e4 Add missing param, fix response code. (#4891) 2023-04-19 13:07:36 +09:00
d11n
e77bd4c188 Swagger: FIx typos in pull payments docs (#4893)
Fixes #4892.
2023-04-19 13:06:51 +09:00
d11n
43436fc49e Remove BTCPayServer.Plugins.Test (#4875)
Remove the plugin, which is superseded with the plugin template and move the PluginPacker to the root of th solution (which matches its location in the file system).
2023-04-17 11:38:03 +09:00
nicolas.dorier
d738f797ec bump 2023-04-17 11:11:00 +09:00
nicolas.dorier
b5de97f785 Update changelog 2023-04-17 10:54:00 +09:00
Nicolas Dorier
b0c1b0895d Fix crash if auto detect language on checkout page, and the language couldn't be detected (Fix #4881) (#4888) 2023-04-17 10:53:45 +09:00
nicolas.dorier
8e60932f81 Migrate reference to AppType in server settings (Fix #4882) 2023-04-17 10:34:41 +09:00
d11n
7d14cd74f2 LightningLikePaymentData: Null-check preimage (#4886)
Fixes #4884.
2023-04-17 00:08:40 +02:00
nicolas.dorier
717f1610f5 Update changelog 2023-04-13 16:28:30 +09:00
ndeet
f1abe6497f Fix wrong data mapping to store data instead of store user data. (#4874) 2023-04-13 16:27:40 +09:00
rockstardev
046129a57d Bumping LND to 0.16.0-beta (#4873) 2023-04-13 14:48:47 +09:00
nicolas.dorier
90d300a490 Remove superflous category in API doc 2023-04-13 08:41:46 +09:00
d11n
a2d506c0db Checkout v2: Confetti for processing payments (#4872)
Let's not spoil the fun for those paying on-chain.
2023-04-13 08:40:21 +09:00
d11n
58748a24da What's New entry for v1.9 (#4871)
Copy is just a proposal from my side. Link check expected to fail, because the blog post isn't up yet.
2023-04-12 20:40:20 +09:00
Nicolas Dorier
639e8a4a1d Add links to invoice metadata in the docs (#4869) 2023-04-12 16:30:34 +09:00
Nicolas Dorier
48ebaf5c5a Do not put payRequest in the metadata (#4870) 2023-04-12 16:30:22 +09:00
nicolas.dorier
1aaccb1e6b Do not show empty JObject in AddtionalData of views 2023-04-11 13:21:02 +09:00
nicolas.dorier
f05a7f9f14 Prevent an NRE in LNURL 2023-04-11 13:08:14 +09:00
nicolas.dorier
98ddb348b0 Update changelog 2023-04-10 20:21:13 +09:00
Nicolas Dorier
a4aa85ebab Fix: If connection to Lightning node was interrupted, payments would be missed (#4865) 2023-04-10 19:35:01 +09:00
Nicolas Dorier
516efe56f4 Refactor: Dot not make LNURLPaymentMethodDetails depends on BTCPayInvoiceId (#4864)
* Refactor: Dot not make LNURLPaymentMethodDetails depends on BTCPayInvoiceId

* Abstract PaymentProof

* fix bug

* Make the selenium container resolves the btcpay host name
2023-04-10 16:38:49 +09:00
nicolas.dorier
a4d72d5bbc Fix tests 2023-04-10 15:06:59 +09:00
nicolas.dorier
24b8ec16f1 Fix tests 2023-04-10 13:37:09 +09:00
nicolas.dorier
ac25fef555 Remove warning 2023-04-10 12:01:11 +09:00
nicolas.dorier
8302f082a2 Do not render the TruncateCenter if text null or empty 2023-04-10 11:17:29 +09:00
nicolas.dorier
7546ef7a8e Dotnet reformat 2023-04-10 11:07:03 +09:00
nicolas.dorier
f598c70a4f Add comment TODO for improving automatic translations efficiency. 2023-04-10 11:03:36 +09:00
nicolas.dorier
422da21de5 Update Changelog 2023-04-07 17:52:48 +09:00
nicolas.dorier
f530fb3241 Update changelog 2023-04-07 17:50:57 +09:00
Andrew Camilleri
5d39bb7466 Allow LN Address to customize invoice metadata, and various bug fixes on LNUrl (#4855)
* 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>
2023-04-07 17:48:58 +09:00
Wouter Samaey
041cba72b6 Made Fake Custodian config field non-required (#4861) 2023-04-07 15:59:44 +09:00
Andrew Camilleri
892b3e273f Improve Labeling further (#4849)
* If loading addresses into the send wallet page using bip21 or address,  (or clicking on "Send selected payouts"  from the payotus page), existing labels will be pre-populated.
*  Add the payout label to the address when the payoutis created instead of to the transaction when it is paid.
*  Add the label attachments when adding labels from an address to the transaction.
2023-04-07 15:58:41 +09:00
nicolas.dorier
91faf5756d With core lightning, getting payment by paymenthash wouldn't return the successful payment if the first one failed. 2023-04-07 15:54:56 +09:00
Andrew Camilleri
e239390ebf Allow any bolt11 invoice for pullpayments/payouts (#4857)
closes #4830

If users want to deal with expired payout destinations, then they should be able to conifugre it that way. Some wallets simply do not allow customizing the bolt11 expiry and the defaults are much less than a day. I think we should merge #3857 if we introduce this as an automated payotu processor for lightning running every few minutes would work together with this and solve it.
2023-04-06 15:54:19 +09:00
nicolas.dorier
b24764d679 bump 2023-04-05 23:38:39 +09:00
Nicolas Dorier
4d5a568fd7 Changelog 1.9 (#4852) 2023-04-05 23:37:01 +09:00
Andrew Camilleri
5ab55e71e0 Add cart items to receipt (#4851) 2023-04-05 15:42:23 +02:00
Wouter Samaey
929d63ecf8 Fixed nav menu active states + Better Fake Custodian (#4854) 2023-04-05 15:11:46 +02:00
Kukks
0ef7f3715f remove obsolete reference 2023-04-05 15:09:42 +02:00
Nicolas Dorier
2298f3901a Update langs (#4853) 2023-04-05 13:32:24 +09:00
nicolas.dorier
3005f1937a Replace GetUriByAction by GetPathByAction 2023-04-05 10:58:56 +09:00
nicolas.dorier
f48eec2e93 Fix: Redirecting to local absolute URL in wizard windows should work 2023-04-05 10:55:35 +09:00
nicolas.dorier
754d304e54 Fix tx link in Recent Transactions 2023-04-05 08:53:34 +09:00
Nicolas Dorier
9b8d08a668 Make Checkout V2 the default (#4850)
* Make Checkout V2 the default

* Fix align
2023-04-05 08:35:50 +09:00
Nicolas Dorier
1b672a1ace Allow multi-step settings in custodian (#4838)
* Allow multi-step settings in custodian

* Fix CustodianAccount.Name not saved

* Reuse TradeQuantity for SimulateTrade

* TradeQuantityJsonConverter accepts numerics

* Fix build
2023-04-04 14:48:29 +09:00
Andrew Camilleri
60d6e98c67 Form System Flexibility improvements (#4774)
* Introduce very flexible form input system

* Refactorings after rebase

* Test fix

* Update BTCPayServer/Forms/FormDataService.cs

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-04-04 11:01:34 +09:00
d11n
11f05285a1 Invoice Details: Improve payments list and print view (#4817)
Closes #4729.

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2023-04-04 10:59:14 +09:00
d11n
2bd1842da1 Improve pagination (#4828)
Based on the design repo updates by @benalleng in btcpayserver/btcpayserver-design#61. Closes #3835.
2023-04-04 10:54:04 +09:00
Nisaba
57544068e9 Store rule emails in HTML + Test rule emails (#4843)
* 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>
2023-04-04 10:52:42 +09:00
Nicolas Dorier
60cfea9f94 Add presets in the checkout appearance (#4756) 2023-04-04 10:45:40 +09:00
Andrew Camilleri
eece001376 Add labels for recent txs dashboard widget (#4831)
* Add labels for recent txs dashboard widget

It is not with the rich data for now, but a good start.

* Turn labels into links

* Add rich info to dashboard labels

* Use truncate-center component for recent transactions

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-03-30 19:54:11 +02:00
d11n
98d8ef8e1a Checkout Appearance: Move language settings into the general section (#4833)
The language settings work for both versions of the checkout, so let's make them available for both. Request by @petzsch.
2023-03-30 08:18:13 +02:00
Nicolas Dorier
0e43042217 Remove FakeCustodian as a separate project (#4839) 2023-03-30 12:38:30 +09:00
Andrew Camilleri
c8e6714207 Merge pull request #4784 from dennisreimann/unify-plugins-apps
Apps become plugins
2023-03-29 20:03:18 +02:00
Andrew Camilleri
824e779eb2 Hooks for Zaps (#4826) 2023-03-29 12:27:04 +02:00
d11n
83ea898780 Checkout: Update wording (#4829)
We make it "Payment Received" instead of "Payment Sent", because in other places we are also talking from the merchant perspective.
2023-03-29 17:24:49 +09:00
nicolas.dorier
5af3233fd6 Add link to forms doc 2023-03-28 22:02:58 +09:00
d11n
08ff2f3173 Checkout: Fix language select width in modal (#4823) 2023-03-28 13:12:47 +02:00
d11n
22657b66d7 NFC finetuning (#4822) 2023-03-28 12:36:32 +02:00
d11n
8b6c7a6061 Pull Payments: FIx column order in list (#4818)
Date and name were swapped. Fixes #4814.
2023-03-28 19:10:50 +09:00
Andrew Camilleri
1f197f6688 Merge pull request #4819 from dennisreimann/nfc 2023-03-28 09:19:58 +02:00
Dennis Reimann
1055e61bb4 NFC improvements
Two changes which fix #4807:

- Once permissions are granted we start scanning immediately, no need to ask for permissions or have the user click the button again
- We don't abort the scan, which gets rid of the cases in which the OS took over after the scan, because the user left the card on the device

Also adds feedback for the NFC states scanning and submitting.
2023-03-27 18:28:53 +02:00
Dennis Reimann
7ad0aa82fc Apps become plugins
Unified navigation for apps that are now plugins. Part of #4744.
2023-03-27 16:43:44 +02:00
Andrew Camilleri
d3f5576570 Remove store integrations list page (#4816)
Co-authored-by: d11n <mail@dennisreimann.de>
2023-03-27 16:40:50 +02:00
d11n
45141d1391 Checkout v2: Payment processing state (#4778) 2023-03-27 12:12:11 +02:00
d11n
de9ac9fd43 Receipt: Add payment proof (#4782)
* Receipt: Add payment proof

Closes #4685.

* shice

* Add truncate-center component

* Improve view

* Hide button and link when printed

* Describe component

* Remove transaction ID from UI

* Remove modification to interface

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-03-27 14:07:12 +09:00
d11n
c53d5272d6 Wallet Transactions Export: Add BIP-329 support (#4799)
* 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>
2023-03-27 13:59:33 +09:00
Pavlenex
18c78192ec Reconstruct issue template (#4803)
* reconstruct issue template

* provide a direct link for filing a tech question
2023-03-27 13:59:07 +09:00
nicolas.dorier
632d67eef4 Fix casing in template example for forms 2023-03-27 12:54:12 +09:00
d11n
c23aa48688 Optimize invoice print view (#4783)
Closes #4729.
2023-03-26 20:44:05 +09:00
d11n
95f3e429b4 Wallet transactions: Add label manager (#4796)
* 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>
2023-03-26 20:42:38 +09:00
Chukwuleta Tobechi
8635fcfe84 UI: Redesign Recovery Seed view (#4793)
* Improve recovery seed backup page

* Fix errors from Selenium tests (Sequence contains no elements)

* Revert previous commit

* Improve recovery seed backup page

* Recovery phrase UI update

* recovery seed UI format

* Improve word order

* One column version

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-03-24 16:09:53 +01:00
Andrew Camilleri
d861537d9a Merge pull request #4809 from dennisreimann/gf-ln-array-fix
Greenfield: Fix Lightning transaction list return types
2023-03-23 18:59:36 +01:00
Dennis Reimann
631ee99f60 Greenfield: Fix Lightning transaction list return types
The LocalBTCPayServerClient deserializes the results as arrays (`LightningPaymentData[]` and `LightningInvoiceData[]`) — if they are `IEnumerable` the `GetFromActionResult` does not return the data but null.
2023-03-23 17:42:10 +01:00
nicolas.dorier
ffa1441ccd Delete code detecting whether the running version of nbx fixed a bug
The reason to delete this is that any version of NBX with this bug
wouldn't be able to run nowadays because of another bug which would
prevent NBXplorer from synching (Array size too big)
2023-03-23 13:45:40 +09:00
Andrew Camilleri
2f3e947027 Merge pull request #4795 from Kukks/lnurl-disable-if-no-node 2023-03-22 09:02:52 +01:00
Andrew Camilleri
a62aecfdfe Merge pull request #4798 from dennisreimann/fix-4794 2023-03-22 09:02:35 +01:00
Andrew Camilleri
5f829c68f2 Merge pull request #4797 from dennisreimann/fix-4790 2023-03-22 09:02:10 +01:00
Dennis Reimann
0290d74aeb POS: Fix escaped HTML entities in item title
Properly escapes and the sanitized values. Fixes #4794.
2023-03-21 15:31:54 +01:00
Dennis Reimann
f6bc16007d Label tooltips: Use plain text instead of HTML
Fixes #4790.
2023-03-21 15:21:24 +01:00
Dennis Reimann
ad5752f09b Reuse LightningTimeout constant 2023-03-21 14:22:10 +01:00
Kukks
55565f1718 Do not provide lnurl method if ln node is dead
fixes #3541
2023-03-21 13:48:25 +01:00
nicolas.dorier
5f96d17b8c Update lang 2023-03-20 19:30:56 +09:00
nicolas.dorier
fd22406e0a Fix PullTransifexTranslationsCore 2023-03-20 19:21:35 +09:00
nicolas.dorier
64fe542c1e Update lang 2023-03-20 19:20:46 +09:00
Andrew Camilleri
fae1dc8dbb Adapt cookie auth to work with same API permission system (#4595)
* 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>
2023-03-20 10:46:46 +09:00
Wouter Samaey
6f2b673021 Custodian withdrawal support + Some refactoring and cleanup (#4085)
* 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>
2023-03-20 10:45:32 +09:00
Nicolas Dorier
b26679ca14 Prevent people from starting with --sqlitefile or --mysql (#4772) 2023-03-20 10:40:48 +09:00
Nicolas Dorier
04ba1430ca Refactor plugin apps (#4780)
* Refactor plugins

* Add missing names to view models

* Cleanups

* Replace SalesAppBaseType by two interfaces

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-03-20 10:39:26 +09:00
d11n
53f3758abc Replace text in copy buttons with icon (#4764)
Closes #4699.
2023-03-19 21:43:38 +01:00
d11n
c6742f5533 Language selector: Ensure correct font-size (#4761)
* Language selector: Ensure correct font-size

Fixes the cut-off text on iOS, because somehow iOS uses a larger font-size by default.

* Fix select background color

Webkit-based browsers displayed transparent in a weird way.
2023-03-19 08:44:23 +01:00
d11n
cb44591a47 Derivation scheme parsing incorporates fingerprint and key path (#4781) 2023-03-17 14:35:30 +01:00
Wouter Samaey
e02abb509f Allow plugins to do something before and after automatic payouts (#4224) 2023-03-17 13:50:37 +01:00
Nicolas Dorier
eff6be9643 Remove mention of LNUrl-Withdraw when paying by NFC (#4779) 2023-03-17 12:24:27 +01:00
Andrew Camilleri
348dbd7107 Support Form Select option (#4726)
* Support Form Select option

* Add country select
2023-03-17 14:37:37 +09:00
Andrew Camilleri
f74ea14d8b Plugins can now build apps (#4608)
* 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>
2023-03-17 11:56:32 +09:00
d11n
a671632fde Dashboard: Fix app stats tiles (#4775)
* Dashboard: Fix app stats tiles

They broke with #4747, because they contain script blocks that are loaded asynchronuosly and need to get run once the chart data is added to the page.

* Refactor PoS dashboard component

* Collocate the component JS files in separate files

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-03-16 15:51:24 +09:00
Andrew Camilleri
e344622c9e Form quick fixes (#4759) 2023-03-15 10:23:33 +01:00
Nicolas Dorier
06d7483ca3 Remove obsolete cli argument 'plugin-remote' (#4773) 2023-03-15 09:06:06 +01:00
nicolas.dorier
7fe041fc2c Changelog 1.8.4 2023-03-15 10:45:49 +09:00
nicolas.dorier
3f18e5476a Error when indexing invoices with some field that are too long (Fix #4771) 2023-03-15 09:31:38 +09:00
d11n
2a31613fe8 Fix invoice paid after expiration icon 2023-03-14 14:54:01 +01:00
d11n
ded0c8a3bc Update price display (#4736)
* 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
2023-03-13 10:12:58 +09:00
d11n
f3d9e07c5e Checkout v2: Celebrate payment with confetti (#4727)
* Checkout v2: Celebrate payment with confetti

Have a colorful celebration for successful payments.

* Make it default and add test
2023-03-13 10:09:56 +09:00
d11n
eb3ba95114 Make CanUsePullPaymentsViaUI more robust (#4762)
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 …
2023-03-13 10:02:07 +09:00
Andrew Camilleri
7951dcada6 make sure we have cors for all of greenfield (#4760)
fixes #4758
2023-03-10 15:20:11 +01:00
Andrew Camilleri
06951a39c6 fix API breaking changefor payout processors (#4757)
fixes #4752
2023-03-10 17:57:33 +09:00
d11n
abe29f21f0 Checkout v2: Option to display amount in Sats in BIP21 case (#4730) 2023-03-09 21:36:11 +01:00
d11n
f57eab3008 Store branding: Add complementing text and accent colors (#4746) 2023-03-09 21:34:15 +01:00
nicolas.dorier
6d4b2348ac Update changelog 2023-03-08 21:56:40 +09:00
d11n
397ca6ef0c Checkout v2: Minor UI updates (#4734)
* Checkout v2: Minor copy change

* Allow copying of invoice ID and order ID on results page

* Add copy icons for payment details on results view

* Add missing powered by class to store footers
2023-03-08 21:39:03 +09:00
d11n
d6e5ee2851 UI: Decrease content padding top on small screens (#4749)
If the viewport height is less than 800px, decrease the content padding top for breakpoints L and on.
2023-03-08 21:37:25 +09:00
Nicolas Dorier
98d62e826b Do not through missing-permission error when no store on /api/v1/stores (Close #4735) (#4748) 2023-03-08 21:36:51 +09:00
Nicolas Dorier
7b5ce8f70c CSP: Remove unsafe-eval when vue isn't used (#4747)
* CSP: Remove unsafe-eval when vue isn't used

* Prevent XSS injection via VueJS
2023-03-08 17:57:36 +09:00
nicolas.dorier
2010a9a458 bump 2023-03-07 10:29:18 +09:00
nicolas.dorier
f787058c17 Fix: Impossible to create invoice after migration from Sqlite (Close #4743) 2023-03-07 10:27:04 +09:00
Kukks
87ccae0d90 add missing docs of store payment method criteria 2023-03-05 14:40:18 +01:00
nicolas.dorier
07d95c6ed7 bump clightning 2023-03-05 11:08:01 +09:00
nicolas.dorier
514823f7d2 bump clightning 2023-03-04 21:39:49 +09:00
d11n
fb4feb24f3 Minor updates from design repo (#4733) 2023-03-04 09:36:30 +01:00
Nicolas Dorier
5caa0e0722 [Greenfield] Allow passing email instead of user id in API (#4732) 2023-03-03 21:24:27 +09:00
nicolas.dorier
0406b420c8 Do not create if create API key is called on a non-existant user (Fix #4731) 2023-03-03 20:30:54 +09:00
nicolas.dorier
9d72b9779e Update Changelog 2023-03-03 20:20:59 +09:00
nicolas.dorier
fdc47e4a38 Avoid crash when some plugins are installed (#4725) 2023-03-03 20:18:09 +09:00
nicolas.dorier
0566e964c0 Fix incorrect punctuation in translations 2023-03-03 17:32:46 +09:00
nicolas.dorier
896fbf9a5c Lang update 2023-03-03 16:38:39 +09:00
d11n
126c8c101e Re-add language selector (#4723)
Fixed version
2023-03-02 16:34:15 +09:00
nicolas.dorier
3cb7cc01e4 Update db-migration.md 2023-03-02 13:20:47 +09:00
nicolas.dorier
2b3d15bf45 Update Changelog.md 2023-03-01 23:50:35 +09:00
d11n
4049bdadcb Changelog v1.8 (#4670)
* Changelog v1.8

* Update Changelog.md

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Add fix

* Update changlelog

---------

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-03-01 23:41:43 +09:00
d11n
2042ba37d8 Update What's New (#4713)
Links to https://blog.btcpayserver.org/btcpay-server-1-8-0/ which doesn't exist yet, that's why the linkcheck is expected to fail.
2023-03-01 23:41:27 +09:00
nicolas.dorier
41a4ba62b0 Remove lang popup in checkout v2 2023-03-01 17:10:54 +09:00
nicolas.dorier
21558d25b1 Do not show product information if there are no product information 2023-03-01 16:19:10 +09:00
Nicolas Dorier
06622bfbfd Translate Checkout v2 (#4710) 2023-03-01 15:49:21 +09:00
d11n
16fd2e3938 Greenfield: Show detailed Lightning routing error (#4722)
The implementations have more detailed messages for LN routing errors, which e.g. allow me to detect self-payemnts in LNbank. We pass those from the LN lib, so if we have it, we should display it to provide a better insight on what's going on when a rout cannot be found.
2023-03-01 15:46:48 +09:00
Umar Bolatov
040d7670ec Add currency code to payment request list (#4709)
https://github.com/btcpayserver/btcpayserver/discussions/4619
2023-03-01 15:46:13 +09:00
d11n
23761eacc1 Unset X-Frame-Options header correctly (#4721)
* Unset X-Frame-Options header correctly

According to the [spec](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) there are onlye the `DENY` and `SAMEORIGIN` options, `ALLOW-FROM` being deprecated. Hence we have to actively unset the header, as we made `DENY` the default.

This also unsets the X-Frame-Options header for the public form pages, which fixes #4666.

* Ignore anti forgery token in Forms

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-03-01 15:27:18 +09:00
nicolas.dorier
5790bed766 Do not crash sqlite migration if the db is create but without tables 2023-03-01 15:04:32 +09:00
d11n
2f88da67e8 Fix build warnings and indentation (#4720) 2023-03-01 10:32:48 +09:00
Andrew Camilleri
21091cbf1a show all plugins regardless of version (#4717) 2023-02-28 12:16:33 +01:00
nicolas.dorier
808949a884 Update langs 2023-02-26 21:07:23 +09:00
nicolas.dorier
06334273dc Fix crashing on unserialize of old data 2023-02-26 11:18:54 +09:00
nicolas.dorier
5399c04dff Fix crashing on unserialize of old data 2023-02-26 11:05:23 +09:00
d11n
cd051d4093 Update transaction label display (#4700)
* Update transaction label display

* Fix test
2023-02-26 11:01:46 +09:00
nicolas.dorier
0ca6e8ccfb bump 2023-02-26 00:20:55 +09:00
nicolas.dorier
bd075919f3 Improve publish docker script 2023-02-26 00:19:59 +09:00
Nicolas Dorier
c229425534 Remove JSON in strings from JObjects (#4703) 2023-02-25 23:34:49 +09:00
Andrew Camilleri
e89b1826ce add invoicemetadata as a tab (#4693)
* add invocie metadata as a tab

* Allow forms to add to posdata too in pos app

* Cleanup view

* Display additional information directly

* Update BTCPayServer/Views/Shared/PosData.cshtml

* Update BTCPayServer/Models/InvoicingModels/InvoiceDetailsModel.cs

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-02-25 22:38:28 +09:00
d11n
4ef19e19cc Checkout v2 fixes (#4705)
* Prevent duplicate titles on invoice view

* Fix text display of escaped values

Fixes #4696.

* Fix payment details re-rendering

Closes #4683. Closes #4684.

* Cleanup
2023-02-25 22:28:02 +09:00
Kukks
ff58301729 do not require docker for plugin restart
we now have a more graceful restart mechanism specifically for plugins and most installs can handle this mechanism
2023-02-24 13:52:46 +01:00
Nicolas Dorier
4ae05272c3 Greenfield: Admins can create/delete API keys of any user (#4680)
* 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>
2023-02-24 16:19:03 +09:00
d11n
d14dafc871 Apply branding to custom forms (#4697) 2023-02-23 14:35:29 +01:00
nicolas.dorier
022a077726 Use new transifex API on PullTransifexTranslations 2023-02-23 20:59:16 +09:00
d11n
d5bd86b07a POS: Align Keypad centered vertically (#4690) 2023-02-23 10:30:16 +01:00
d11n
66e1eee010 POS improvements (#4668) 2023-02-23 09:52:37 +01:00
Nicolas Dorier
ddb125f458 Fix: HTML injection in payment request/posData/receiptData (Close #4678) (#4679)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-02-22 16:35:34 +01:00
Andrew Camilleri
e6a157a101 Merge pull request #4686 from dennisreimann/noscript-fix 2023-02-22 14:01:13 +01:00
Dennis Reimann
0a437fba6a Do not show Vue components when there is no JavaScript enabled
Small fix, came across this while testing the noscript checkout version.
2023-02-22 13:34:51 +01:00
Andrew Camilleri
39f2e80dc1 Merge pull request #4677 from dennisreimann/fix-4663 2023-02-22 12:30:16 +01:00
Dennis Reimann
13f9eb0d18 Cleanups and unified wording 2023-02-22 11:20:50 +01:00
Dennis Reimann
575b829799 Fix LNURL-Withdraw payments
Fixes comparisons of `long` and `LightMoney`, which did not work, because the `amount` provided was in sats and Lightmoney compares to millisats.

Closes #4663.
2023-02-22 11:18:26 +01:00
nicolas.dorier
02e50fadae Fix: Crash during migration on some SQLite instances (Close #4623) 2023-02-22 17:07:27 +09:00
nicolas.dorier
a02f191034 Fix: Crash during migration on some SQLite instances (Close #4623) 2023-02-22 16:55:19 +09:00
d11n
d73d0f178f Checkout: Allow NFC/LNURL-W whenever LNURL is available (#4671)
* Checkout: Allow NFC/LNURL-W whenever LNURL is available

With what we have in master right now, we display NFC only for top-up invoices. With these changes, we display NFC in all cases, where LNURL is available.

Note that this hides LNURL from the list of selectable payment methods, it's only available to use the NFC — and explicitely selectable only for the edge case of top-up invoice + non-unified QR (as before).

Rationale: Now that we got NFC tightly integrated, it doesn't make sense to support the NFC experience only for top-up invoices. With this we bring back LNURL for regular invoices as well, but don't make it selectable and use it only for the NFC functionality.

* Fix LNURL condition

* Improve and test NFC/LNURL display condition

Restores what was fixed in #4660.

* Fix and test Lightning-only case

* Add cache busting for locales
2023-02-22 15:53:14 +09:00
Andrew Camilleri
d542a61f5a Fix missing walletchanged event and add storeremoved event (#4676) 2023-02-22 13:13:58 +09:00
Andrew Camilleri
e0486aaa24 Label Manager component (#4594)
* Label Manager component

closes #4464

* UI updates

* Test fix

* add test

* fix warnings

* fix select update bug

* add test

* fix test

* Increase payment box max-width

* add labels from address to tx on detection

* Exclude well known label from the dropdown

* Add test on transaction label attachement, tighten UpdateLabels method to only update address labels

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-02-22 11:47:02 +09:00
Andrew Camilleri
02bf76fb3c Merge pull request #4554 from Kukks/gf/pmcriteria 2023-02-21 16:03:29 +01:00
Kukks
8a3ece4a70 add test 2023-02-21 15:31:11 +01:00
Kukks
c553dc02a9 Greenfield: Expose Payment method criteria 2023-02-21 15:23:51 +01:00
d11n
ff71caa47e Upgrade Lightning lib (#4674)
To include the fix from btcpayserver/BTCPayServer.Lightning#122
2023-02-21 16:00:10 +09:00
Nicolas Dorier
2bd8227e20 Start using JSONB column instead of app side compressed data (#4574) 2023-02-21 15:06:34 +09:00
d11n
5c61de3ae9 Different icons for notifications (#4632)
* Different icons for notifications

Closes #2510.

* Fix version appendix for SVG use attributes

* Fix SVGUse TagHelper

* Update icons
2023-02-21 11:06:27 +09:00
d11n
cff46f2d59 UI: Remove highlight for valid fields (#4669) 2023-02-20 19:23:09 +01:00
Andrew Camilleri
bbbaacc350 Generic Forms (#4561)
* Custom Forms

* Update BTCPayServer.Data/Migrations/20230125085242_AddForms.cs

* Cleanups

* Explain public form

* Add store branding

* Add form name to POS form

* add tests

* fix migration

* Minor cleanups

* Code improvements

* Add form validation

Closes #4317.

* Adapt form validation for Bootstrap 5

* update logic for forms

* pr changes

* Minor code cleanup

* Remove unused parameters

* Refactor Form data handling to avoid O(n3) issues

* Rename Hidden to Constant

* Pre-populate FormView from the query string params

* Fix test

---------

Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-02-20 19:35:54 +09:00
d11n
60f84d5e30 Display "Pay by LNURL" only when appropriate (#4660)
Closes #4657.
2023-02-20 08:49:10 +09:00
d11n
5218aa3c43 Fix missing style tag around embedded CSS (#4659) 2023-02-18 20:38:02 +09:00
nicolas.dorier
4b2ea0c0c3 Fix: Should not crash with command line arg --help 2023-02-16 18:32:26 +09:00
Nicolas Dorier
9b865ef849 Fix build and run scripts (#4655) 2023-02-16 18:31:33 +09:00
nicolas.dorier
9344113ae4 Version bump 2023-02-16 17:46:27 +09:00
Nicolas Dorier
4448ac9d2a Changelog 1.7.12 (#4653) 2023-02-16 17:45:51 +09:00
Dennis Reimann
9aff143d40 UI: Fix standalone confirmation modal 2023-02-15 16:17:22 +01:00
Nicolas Dorier
fc14f418cb Fix: Setting the password of a new created user via API shouldn't be required (Close #4534) (#4647) 2023-02-15 17:11:39 +09:00
Nicolas Dorier
b99253ff47 Revert "Fix: Setting the password of a new created user via API shouldn't be required (Close #4534) (#4645)" (#4646)
This reverts commit 9cb844cbbb.
2023-02-15 16:32:36 +09:00
Nicolas Dorier
9cb844cbbb Fix: Setting the password of a new created user via API shouldn't be required (Close #4534) (#4645) 2023-02-15 16:32:03 +09:00
Nicolas Dorier
285aedef2f Fix: If user get locked out, unlocking or deleting user fails (Fix #4641) (#4644)
This is due to the fact our UserService is a singleton, and it had a
reference on UserManager which is scoped.

UserManager is caching user entities at the scope level.
UserService then had a view completely unsynchronized with the database.
2023-02-15 16:00:52 +09:00
nicolas.dorier
5121d64022 Fix: Migrating from SQLite was crashing in some conditions (Close #4623) 2023-02-15 15:59:45 +09:00
nicolas.dorier
8b80910d70 Fix: Unable to Edit amount when cloning paid Payment Request (Close #4639) 2023-02-15 15:33:26 +09:00
nicolas.dorier
a5ff655eed Fix: If user get locked out, unlocking or deleting user fails
This is due to the fact our UserService is a singleton, and it had a
reference on UserManager which is scoped.

UserManager is caching user entities at the scope level.
UserService then had a view completely unsynchronized with the database.
2023-02-15 14:28:34 +09:00
d11n
cc9c63c33e Add list count to user preferences cookie (#4637)
I think it's fair to assume that the user wants to set this as a preference and it fixes #4592.
2023-02-15 11:04:17 +09:00
Ikko Eltociear Ashimine
87eef72289 fix typo in vaultbridge.ui.js (#4640)
targetting -> targeting
2023-02-14 19:20:03 +01:00
d11n
8e8ba3d052 Webhook: Add missing model validation (#4636)
Fixes #4628.
2023-02-14 22:37:35 +09:00
Nicolas Dorier
fea27b900c Harden file type inputs (#4635) 2023-02-14 17:03:12 +09:00
d11n
7ad91a76cd Checkout v2: FIx automatic redirect after paid (#4633) 2023-02-14 08:56:00 +09:00
nicolas.dorier
a62b674722 bump 2023-02-13 23:40:32 +09:00
nicolas.dorier
350f35b08d Add code comment 2023-02-13 23:39:55 +09:00
Nicolas Dorier
f405321abc Changelog 1.7.11 (#4631) 2023-02-13 23:35:33 +09:00
Andrew Camilleri
0d077f6ce5 Fix lnurl for pull paymentdescription + fix authorize redirect form issue (#4630)
fixes #4627
fixes #4624
2023-02-13 23:34:43 +09:00
Nicolas Dorier
dffa6accb0 Fix XSS: Stenghten CSP rules on static file uploads (#4629) 2023-02-13 23:04:15 +09:00
Andrew Camilleri
b5abcd5ae5 Merge pull request #4622 from dennisreimann/domain-mapping 2023-02-13 13:41:34 +01:00
dstrukt
72a9e676c1 Feature Descriptor (#3831) 2023-02-13 09:25:24 +01:00
Nicolas Dorier
3658b396d3 Update db-migration.md 2023-02-11 21:04:43 +09:00
Nicolas Dorier
537acab16d Update db-migration.md 2023-02-11 21:04:28 +09:00
nicolas.dorier
8c6fe91c71 After successful migration from SQLite or MySql, there is an error after a restart 2023-02-11 21:01:36 +09:00
Dennis Reimann
3c344331af Improve domain mapping constraint
- Fix potential double assignment to appId, leading to an [exception](https://pastebin.com/j8dhtcTE)
- Add port to redirect, which makes it work in dev env
2023-02-10 18:15:54 +01:00
d11n
d14ce2a37f POS: Improve Keypad view (#4596)
* UI updates

* Updates modes and calculation

* Unify tip buttons

* White caret

* Add top margin to calculation

* Add space between mode buttons and keypad

* Discount updates
2023-02-10 16:26:38 +01:00
d11n
33d272d4b0 Crowdfund: View updates (#4588)
* Crowdfund: View updates

Improve store branding and remove the card styles, because they had borders which seemed like visual clutter. Other than that I made some changes to the header section and cleaned up the markup and indentation.

* adds column spacing + details header

* Move the Featured Image input

* Center align the Last Updated

* Remove store header, update header section

* Bump description font size

* Improve perk display

* Improve details section

* Fix main image display

---------

Co-authored-by: dstrukt <gfxdsign@gmail.com>
2023-02-10 16:26:09 +01:00
Andrew Camilleri
57f5c15670 Merge pull request #4620 from btcpayserver/Kukks-patch-1 2023-02-10 09:45:30 +01:00
Andrew Camilleri
487faa69c6 Bump version 2023-02-10 09:40:03 +01:00
Kukks
9148a1e564 fix #4570 2023-02-10 09:10:10 +01:00
Kukks
4c3f5e1e1a fix #4618 2023-02-10 08:59:18 +01:00
nicolas.dorier
b0bf0824dd Update db migration doc 2023-02-10 15:48:43 +09:00
nicolas.dorier
dea5991e01 bump 2023-02-10 11:53:17 +09:00
nicolas.dorier
739932a280 Changelog 2023-02-10 11:52:37 +09:00
Nicolas Dorier
1f8bc5b490 Add ability to migrate from MySQL and SQLite with EF (#4614) 2023-02-10 11:43:46 +09:00
d11n
753ffd401b BIP21 + LNURL fix (#4616)
In case of the unified invoice, the LNURL wasn't correct — with this change we are simply reusing th one that was issued on invoice creation instead of generating it anew on the fly.

Also fixes missing uppercasing for the QR code in case of non-unified QR.
And removes the `lightning:` scheme from the LNURL that's displayed to the user (unifies it with what we do for Onchain and Lightning)
2023-02-10 11:23:48 +09:00
nicolas.dorier
0d1bab45a0 Fix MySQL migrations 2023-02-10 11:17:52 +09:00
Andrew Camilleri
17cc439de3 Merge pull request #4617 from dennisreimann/lnurl-cors
LNURL: Add missing CORS
2023-02-09 20:34:44 +01:00
Dennis Reimann
5d03e300fb LNURL: Add missing CORS
In addition to #4587. Closes #4615.
2023-02-09 17:45:09 +01:00
nicolas.dorier
a20408bed1 Fix crash for installations supporting zcash or monero (#4610) 2023-02-09 09:49:08 +09:00
nicolas.dorier
ed0ccd6f13 Bump lightning lib, fix warnings 2023-02-08 21:29:20 +09:00
nicolas.dorier
bb1138efb5 Catch exception when creating new invoice with GetLNURL 2023-02-08 20:45:05 +09:00
nicolas.dorier
82b36aaca7 bump 2023-02-08 20:20:56 +09:00
Nicolas Dorier
688044429e Changelog 1.7.6 (#4606) 2023-02-08 20:14:51 +09:00
Nicolas Dorier
7bbfc8e6d4 Greenfield: Currency rate should be strings (#4607) 2023-02-08 19:18:37 +09:00
Andrew Camilleri
85513aa5c3 Make NFC built in (#4541)
* Make NFC built int

* support checkout v2

* uninstall old plugin

* fix lnurl in unified checkout

* fix tests

* fix tests

* fix old checkout unified qr

* clean up and make nfc submission more sturdy

* support topup invoices for lnurlw

* fix test

* Payment URI fixes

* Fix LNURL exclusion cases

* UI updates

* Adapt test

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-02-08 15:47:38 +09:00
ndeet
67254cc30c Website is nullable. (#4604) 2023-02-07 12:04:13 +01:00
Umar Bolatov
b055844973 Greenfield get app details (#4102)
* Add Greenfield API endpoints for retrieving app details

* add app items details

* Add GetPosApp and GetCrowdfundApp to LocalBTCPayServerClient

* Simplify POS app data items example

* Document app type enum

* make "RequiresRefundEmail" nullable

* remove "Template" and "PerksTemplate" fields
2023-02-07 17:01:53 +09:00
nicolas.dorier
9ba03848f2 Small perf improvement when fetching exactly 1 payout by id 2023-02-07 16:53:44 +09:00
Andrew Camilleri
5b96ab89fd Fix Payout Mark Paid in UI (#4585)
fixes #4579
2023-02-07 16:51:20 +09:00
Nicolas Dorier
6a4d8f7404 Fix: Payjoin wasn't always properly choosing utxo for optimal change (#4600)
* Fix: Payjoin wasn't always properly choosing utxo for optimal change

* Update with timeout
2023-02-07 16:43:31 +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
523654f2eb Upgrade Lightning lib (#4589)
Includes the updates from btcpayserver/BTCPayServer.Lightning#121.
2023-02-06 13:26:11 +09:00
nicolas.dorier
b9b8cb9f63 Fix test 2023-02-06 12:38:18 +09:00
Dennis Reimann
94f2cd4257 Server Theme: Allow to unset CustomThemeCssUri
It is necessary to have a way to unset the deprecated variable, to get access to the new way of uploading a theme file.
2023-02-04 17:24:19 +01:00
d11n
26248774c2 App domain redirect (#4391)
* Fix duplicates in GetAllApps with allowNoUser

* Use domain mapping as canonical reference and redirect to it

* Revert domain mapping to hostname instead of URL
2023-02-02 20:53:42 +09:00
Kukks
99299ba06f bump nbx 2023-02-02 10:15:04 +01:00
Kukks
6e42eaa26c fix plugin packer when relative path provided 2023-02-02 10:15:03 +01:00
Nicolas Dorier
ae7b621e3d Change Stores.DerivationStrategies to JSONB (#4573)
Gradually changing column from blobs to JSONB allow us to
later take advantages of more powerful queries on postgres.
2023-02-02 09:43:39 +09:00
Nicolas Dorier
f2ced20c42 Fix a bunch of open redirect (#4575) 2023-02-02 09:42:58 +09:00
d11n
e4f256d5cd Lightning Address: Fix availability check and refactor option view (#4584)
As @petzsch rightfully assumed in #4578, the check took only the last available LN payment method into account, which in this case was LN on LTC. We now pass the crypto code as well and I refactored the checks as well as the option view.

Fixes #4578.
2023-02-02 09:42:41 +09:00
Nicolas Dorier
ca1dac4cc3 Add missing CORS to ln address of BTCPay (Compatibility Beach Wallet) (#4587) 2023-02-02 09:40:31 +09:00
Andrew Camilleri
8fc2729fab Merge pull request #4580 from dennisreimann/disqus-csp
Fixes https://github.com/btcpayserver/btcpayserver/issues/4572
2023-02-01 13:12:11 +01:00
Dennis Reimann
24c19efd52 Crowdfund: Add CSP rules for Disqus
Fixes #4572.
2023-01-31 22:13:45 +01:00
Kukks
a3edd829a6 Add onchain wallet send ui extension 2023-01-31 16:49:41 +01:00
nicolas.dorier
9ec475fa40 Fix PluginPacker crash 2023-01-31 23:24:20 +09:00
Andrew Camilleri
aad06c583e Greenfield: Add store rates api (#4550)
* Add store rates api

* Improve doc

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-01-31 14:42:25 +09:00
d11n
f821e35cb0 Store branding: Unify public pages (#4568)
Closes #3842.
2023-01-30 09:23:49 +01:00
nicolas.dorier
14313291d5 Make test less flaky by ordering GetApps query 2023-01-30 17:17:35 +09:00
Nicolas Dorier
b818352a04 Register rate providers in DI, so it can be accessed by plugins (#4551) 2023-01-30 09:46:12 +09:00
Umar Bolatov
c0c34fbb41 Add GreenField endpoint for fetching all apps (#4462)
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2023-01-30 09:42:24 +09:00
Kukks
b372dc21d6 handle non built in tag attachments better 2023-01-27 15:44:21 +01:00
Nicolas Dorier
3d576cd06b Fix XSS on uploaded files to the file storage (#4567) 2023-01-26 19:12:06 +09:00
Umar Bolatov
438dcc4c6f Add Greenfield API endpoint for pull payment LNURL items (#4472)
* Add Greenfield API endpoint for pull payment LNURL items

close #4365

* Rename GetLNURLs to GetPullPaymentLNURL

* update "ln-url-not-supported" to "lnurl-not-supported"

* remove hardcoding of "BTC"

* update "PullPayments_LNURL" to "PullPayments_GetPullPaymentLNURL"

* update description of 400 status code response

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2023-01-26 14:43:07 +09:00
d11n
de4ac2c830 Greenfield: Add payments list endpoint (#4407)
Based on btcpayserver/BTCPayServer.Lightning#109
2023-01-26 13:22:49 +09:00
Andrew Camilleri
f46443a5e3 Add additional permission for pull payments (#4539)
* Add additional permission for pull payments

* Apply suggestions from code review
2023-01-26 09:46:05 +09:00
d11n
69e90b7ff1 Point of Sale: Improve merchant view (#4560)
* Point of Sale: Improve merchant view

Closes #3843.

* Trim bottom section

* Display App Name and Display Title next to each other

* Update views
2023-01-26 09:27:31 +09:00
Andrew Camilleri
5089ec9826 Merge pull request #4527 from dennisreimann/branding-new 2023-01-25 15:11:08 +01:00
nicolas.dorier
372df93c18 bump 2023-01-25 12:42:40 +09:00
d11n
1d2ddeedde Changelog v1.7.5 (#4562)
Inclused updates until f10c1c4730.
2023-01-25 12:41:29 +09:00
Dennis Reimann
4df2f1f756 Store Branding: Add custom CSS option 2023-01-24 13:24:17 +01:00
d11n
f10c1c4730 Checkout v2: UI fixes (#4552)
* Checkout v2: UI fixes

* Improve icon border
2023-01-24 21:00:04 +09:00
d11n
92b556e54f Load debug plugins in tests (#4555)
Equivalent to the loading code in Program.cs
2023-01-24 20:12:47 +09:00
d11n
b46ae7a651 Checkout v2: Re-add LNURL for top-up invoices (#4556)
My bad, this was excluded erroneously.

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2023-01-24 18:10:38 +09:00
d11n
9f3a3c5f51 BIP21: Uppercase addresses only in QR, not in payment URL (#4553)
* BIP21: Uppercase addresses only in QR, not in payment URL

The uppercased address/BOLT11 should only be used for the QR code, the payment URI for the link should stay as it is.

References:

- #2110
- https://bitcoinqr.dev/

* Improve comments

* Add comments step by step

* Ensure correct delimiter

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-01-24 09:44:39 +09:00
Dennis Reimann
b5071237fd Fix swagger file 2023-01-23 12:11:13 +01:00
Andrew Camilleri
1d2bebf17a Greenfield: Lightning addresses API (#4546)
* Greenfield: Lightning addresses API

* add docs

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>
2023-01-23 10:11:34 +01:00
Pavlenex
9086822b94 Merge pull request #4549 from dennisreimann/pnxbet
Remove pnxbet as a supporter
2023-01-22 12:29:59 +01:00
Dennis Reimann
d90d3c5a0f Remove pnxbet as a supporter
Closes #4543.
2023-01-21 20:51:36 +01:00
Nicolas Dorier
a3203e5775 Fix several HTML injections (#4545) 2023-01-21 19:08:12 +01:00
nicolas.dorier
5f24b41250 Update Changelog, log restarts 2023-01-19 22:10:38 +09:00
d11n
b577c0adb7 Minor UI updates (#4530)
* Minor UI updates

* Lockout page fixes

Fix duplicate headline and model null-check
2023-01-19 18:08:34 +09:00
nicolas.dorier
a9ad0fde9e After a plugin install or uninstall, restart now just kill the process instead of requiring SSH with docker install 2023-01-19 14:27:33 +09:00
nicolas.dorier
9974b6070e Fix NRE in plugin list 2023-01-19 14:22:57 +09:00
Kukks
bd5e4f3d94 fix NRE in plugins list 2023-01-18 13:47:15 +01:00
d11n
e0adb1133d Plugins: Add checkout-noscript-end UI extension point (#4532) 2023-01-18 13:38:58 +01:00
d11n
3cdb4f5b2a FileService: Null-check stored file before removal (#4535) 2023-01-18 13:38:37 +01:00
nicolas.dorier
248401f534 Plugin assemblies shouldn't be unloadable 2023-01-18 16:46:08 +09:00
Nicolas Dorier
1228a06a90 Improve detection of plugin bricking an install on startup (#4533) 2023-01-18 14:15:27 +09:00
nicolas.dorier
b5cd215643 Use AssemblyProduct rather than AssemblyTitle for default plugin name 2023-01-17 22:05:24 +09:00
nicolas.dorier
7604667b55 Make sure plugin packer has all btcpay deps 2023-01-17 20:04:11 +09:00
nicolas.dorier
3a278d8079 bump 2023-01-16 23:59:09 +09:00
d11n
adcc484528 Changelog v1.7.4 (#4513)
Includes commits until 798553e96a.
2023-01-16 23:58:04 +09:00
d11n
798553e96a Greenfield: Add separate permission for viewing LN invoices (#4529)
Based on the diff by @ArttuPakarinen provided in #4523. Closes #4523.
2023-01-16 21:42:54 +09:00
d11n
068b717a75 Checkout v2: Configure countdown timer (#4471)
* Checkout v2: Configure countdown timer

This addresses feedback by @astupidmoose left [here](https://github.com/btcpayserver/btcpayserver/discussions/4308#discussioncomment-4438926): Make the countdown timer configurable with a minutes setting. This way the merchant has full control over when to display the timer. They could even set it to equal the invoice expiry, so that it is shown right from the beginning.

* Rename property and adjust wording

* Remove expiration percentage from Checkout v2
2023-01-16 20:45:19 +09:00
Nicolas Dorier
785cf597ad Redesign plugin list items (#4528)
* Redesign plugin list items

* Update icon and format code

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-01-16 12:12:51 +01:00
nicolas.dorier
ee70fe85c0 Fix loading of plugins in the plugin directory 2023-01-16 16:31:26 +09:00
Nicolas Dorier
2e31816979 Can load external plugins during dev to debug more easily (#4518)
* Can load external plugins during dev to debug more easily

* Add again load plugin by project reference

* Make sure we don't load same plugin twice
2023-01-16 10:37:17 +09:00
nicolas.dorier
e4237c9511 Bump (Fix signature hash for some altcoins) 2023-01-16 10:11:33 +09:00
d11n
0bc6967dbc Greenfield: Add payment hash and preimage to Lightning invoices (#4520)
* Greenfield: Add payment hash and preimage to Lightning invoices

Closes #4475.

* Greenfield: Add payment hash and preimage to invoice payment method details

* Refactor LN payment method details retrieval
2023-01-13 17:29:41 +09:00
d11n
2301769419 Checkout v2: Display and copy addresses (#4489)
* Checkout v2: Display and copy addresses

Closes #4442.

* Refinements
2023-01-12 10:41:33 +09:00
Nicolas Dorier
42c5f732a2 Provide sensible default to BaseBTCPayServerPlugin (#4522)
A new plugin overriding BaseBTCpayServerPlugin need to override
Identifier, Name, Version, and Description by default.
This information is actually better saved in the .csproj of the plugin.
Using <Title>, <Description> and <Version> properties.
The identifier should match the assembly name as we assume at several
places than a single plugin is a single dll.
2023-01-11 22:35:45 +09:00
Nicolas Dorier
2428b564fd Fix: Version numbers in UI appeared with a suffix zero x.x.x.0 instead of x.x.x (#4521) 2023-01-11 18:24:51 +09:00
d11n
bb0e96a163 Apply store ids and search term to invoice export (#4516)
This makes the export work like the list in the UI. Exports what one sees.

Fixes #4514.
2023-01-11 13:36:03 +09:00
d11n
bb733c5811 Unify 2FA login boxes (#4506)
* Unify 2FA login boxes

* 2FA setup: Make auth code copyable
2023-01-09 16:38:03 +01:00
Andrew Camilleri
ffeaf55c4e add extension points for dashboard (#4483) 2023-01-09 14:07:05 +01:00
yahiheb
a12bb1d9ce Update license (#4480) 2023-01-06 16:19:02 +01:00
d11n
313f2a667e Summernote: Allow Twitter embeds (#4488)
Bitcoin Ekasi is planning a crowdfund and they want to embed their Twitter timeline into the page. This adds the necessary domains to the SUmmernote iframe whitelist.
2023-01-06 22:22:49 +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
d11n
3fa28bb46d Upgrade Lightning lib (#4503) 2023-01-06 22:08:03 +09:00
d11n
eb90fab640 LNURL updates (#4501) 2023-01-05 14:41:18 +01:00
d11n
099d65032a Checkout: Fix language dropdown cutoff (#4486)
Fixes #4452 — this time for real. See [this comment](https://github.com/btcpayserver/btcpayserver/issues/4452#issuecomment-1366580849).
2023-01-02 12:09:46 +01:00
d11n
e96feb36cd Sync modal: Adjust to Bootstrap changes (#4485)
Fixes #4484.
2022-12-31 09:24:29 +01:00
dstrukt
eb6d01c21e Updates preferred price source copy label (#4492)
* ui+create: updates preferred price source copy label

* Add test case

Co-authored-by: d11n <mail@dennisreimann.de>
2022-12-31 09:24:10 +01:00
Umar Bolatov
03d7dc8971 Ensure only valid non-negative numbers in tip input (#4481)
close #4478
2022-12-27 20:03:31 +01:00
nicolas.dorier
09d5f5a083 Bump version 2022-12-23 17:54:42 +09:00
nicolas.dorier
1a41b3fb64 Bump NBitcoin 2022-12-23 17:28:44 +09:00
nicolas.dorier
f958550061 Fix tests 2022-12-23 17:21:18 +09:00
nicolas.dorier
1e8e7ec4a4 Fix build 2022-12-23 17:17:09 +09:00
nicolas.dorier
83c4e38fa5 Update NBitcoin 2022-12-23 17:15:14 +09:00
d11n
607d2fedb7 Changelog v1.7.3 (#4469)
Includes commits up to 627ada56b7
2022-12-23 17:13:54 +09:00
d11n
627ada56b7 Checkout v2: Minor view improvements (#4473) 2022-12-23 17:04:42 +09:00
nicolas.dorier
9ce06fdc4e Update lightning libs (Fix #4458) 2022-12-23 17:03:37 +09:00
Chase Mossing
bb63ae6d87 fixes language dropdown cutoff on checkout page (#4465)
* fixes language dropdown cutoff on checkout page

* Use min-height class to fix the tests

Co-authored-by: d11n <mail@dennisreimann.de>
2022-12-22 20:31:08 +01:00
nicolas.dorier
a4182621da Update persian 2022-12-22 22:30:18 +09:00
Kukks
0534261759 Fix wallet transaction info merging logic and compute color as fallback for labels to not crash 2022-12-22 14:17:23 +01:00
nicolas.dorier
c7baa66a4d Bump lightning lib (Fix #4383) 2022-12-22 22:01:23 +09:00
nicolas.dorier
1732606581 Automated payout processors shouldn't spam logs on shutdown (Fix #4193) 2022-12-22 20:33:50 +09:00
d11n
68cdd2c2c8 Cleanups: Move test plugin to Plugins subdirectory (#4463)
* Remove unused js-scroll-trigger classes

* Move test plugin to Plugins subdirectory
2022-12-22 15:09:12 +09:00
Umar Bolatov
ea03b6c19c Make checkout CSS and logo paths relative (#4354)
* Make sure custom logo and CSS paths are relative

* match request host and scheme before replacing

* Fix the issue for greenfield as well

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-12-22 15:05:56 +09:00
d11n
b83eb41df3 Frontend cleanups (#4449)
* Update some buttons

* Potential flaky test fix

* Dark theme: Fix primary accent color

* Pay Button: Remove unused clipboard dependency

The pay button uses the cope-to-clipboard.js

* Remove babel-polyfill

Browser-support should be good by now.

* Remove unused jquery-easing scripts

* Remove unused CSS
2022-12-20 23:11:22 +09:00
d11n
e6c68dc5bc Checkout: Fix modal iframe clipboard permissions (#4453)
* Checkout: Fix modal iframe clipboard permissions 

WebKit-based browser require a [permissions policy](https://web.dev/async-clipboard/#permissions-policy-integration) to be set on the iframe element. See the discussions [here](https://github.com/btcpayserver/btcpayserver/discussions/4308#discussioncomment-4399342) and [on Mattermost](https://chat.btcpayserver.org/btcpayserver/pl/z7kdgidcjtnd8f5zs5648t1dhe).

* Updates from code review
2022-12-20 22:54:47 +09:00
Nicolas Dorier
76a953819e Add persian language back (#4457) 2022-12-20 22:01:29 +09:00
d11n
3a2ad48bd6 Checkout v2: Reduce Altcoin name on payment method pill (#4456)
Closes #4455.
2022-12-19 16:06:43 +09:00
Umar Bolatov
674d5bae8a Make sure payment request print view doesn't show table header twice (#4447) 2022-12-17 08:00:35 +01:00
nicolas.dorier
5e983641b6 bump 2022-12-16 17:39:14 +09:00
Dennis Reimann
96d4665880 Changelog for v1.7.2
Prepared changelog up to 889ddf6a38
2022-12-16 08:44:38 +01:00
Nicolas Dorier
889ddf6a38 Add links to docs and API in the footer (#4431)
* Add links to docs and API in the footer

* Update icons

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-12-16 08:41:58 +01:00
Nicolas Dorier
158e613e29 Plugins built with newer version of BTCPay couldn't run on older version (#4441) 2022-12-15 16:24:03 +09:00
d11n
255c52db26 Upgrade Lightning and ChromeDriver (#4440) 2022-12-15 15:26:25 +09:00
Umar Bolatov
072c81177f Add store logo to invoice receipt page (#4435) 2022-12-15 06:49:33 +01:00
Kukks
e5c7fc93e2 fix inconsistent result of labels in greenfield compared to ui wallets tx list 2022-12-14 15:57:18 +01:00
Kukks
5b7b217b9c update lnurl to fix #4393 2022-12-14 15:45:22 +01:00
Umar Bolatov
06cedaef4b Disabled amount/currency update for payment request with active invoices (#4390)
* Disabled amount/currency update for payment request with active invoices

close #4241

* Check amount isn't changed in backend

* Add test case

* Update BTCPayServer/Controllers/GreenField/GreenfieldPaymentRequestsController.cs

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/Controllers/UIPaymentRequestController.cs

Co-authored-by: d11n <mail@dennisreimann.de>

* Improve wording

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-12-14 14:01:48 +09:00
d11n
6972e8a3db UI: Theme extensions (#4398)
* Theme extensions

Adds the ability to choose the themeing strategy: Extend one of the existing themes (light or dark) or go fully custom. The latter was the only option up to now, which isn't ideal:

- One had to provide a full-blown theme file overriding all variables
- Tedious, error prone and hard to maintain, because one has to keep track of updates

This PR makes it so that one can choose light or dark as base theme and do modifications on top.

Benefit: You can specify a limited set of variables and might get away with 5-20 lines of CSS.

* Ensure custom theme is present

* Update checkout test
2022-12-14 13:37:31 +09:00
Nicolas Dorier
18ba0148ae Use better default than coingecko when creating a new store (#4416)
* Use better default than coingecko when creating a new store

* Improve recommended exchange UX

* Add btcturk for TRY

* Fix recommendation

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-12-14 13:33:27 +09:00
Umar Bolatov
dea019ebdc Add DefaultDescription to LNUrl withdrawal request (#4434)
close #4254
2022-12-14 13:32:50 +09:00
Nicolas Dorier
e27e93aa9a Add BTCTurk rate provider (#4433) 2022-12-14 13:14:19 +09:00
Nicolas Dorier
c9ee7d477d Fix bitbank and yadio rate providers (#4432) 2022-12-14 12:49:30 +09:00
d11n
e9deb13ce4 Allow more then 20 accounts when using BTCPayServer.Vault (#4430)
Closes #4410.
2022-12-14 12:06:54 +09:00
Nicolas Dorier
cdac238f6d [Greenfield]: Add DescriptionHashOnly to include a description hash in the BOLT11 (#4411)
* [Greenfield]: Add DescriptionHashOnly to include a description hash in the BOLT11

* Add CLN test case

* Improve description in Swagger file

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-12-13 18:56:33 +09:00
Nicolas Dorier
e2c5e2c7fb Remove system plugins from the plugin list (#4429) 2022-12-13 18:54:41 +09:00
Nicolas Dorier
0c3f819200 Have address wallet objects rather than script objects (#4417) 2022-12-13 09:09:25 +09:00
Dennis Reimann
3673230fdf Add missing margin 2022-12-12 21:45:41 +01:00
d11n
f2cb07ac95 Local file system storage as default (#4386)
* Local file system storage as default

Checks whether or not a file storage has been set. If not, it sets the local file system storage as default.

* Ensure check gets run
2022-12-12 20:28:24 +09:00
d11n
484cf9d8a2 PayButton: Fix CSP problems in Firefox (#4376)
* PayButton: Fix CSP problems in Firefox

Firefox does not support [`unsafe-hashes`](https://caniuse.com/?search=unsafe-hashes), so I figured it might be best to get rid of the inline event handlers in general.

Closes #4325.

* Account for multiple paybuttons on one page
2022-12-12 20:27:26 +09:00
d11n
5b20be8cfd Checkout fixes (#4425)
* Fix spinner partial usage in Checkout v1

* Update v2 tests
2022-12-10 19:19:13 +09:00
d11n
4dbe622a4a Checkout v2: Enable cheating mode on results view (#4418) 2022-12-08 14:20:01 +01:00
Nicolas Dorier
9a4dec57d1 Generate a wallet object for all scripts, save source in generatedBy rather than receive label (#4413) 2022-12-08 13:16:18 +09:00
d11n
f5c5178f95 Lock user: Improve return code and fix docs (#4377)
* Lock user: Improve return code and fix docs

The docs state that the `DELETE` method should be used, though the controller wants `POST`. The latter seems appropriate here, as the action can be used for locking and unlocking.

Also adapted the action to return a status code based on the actual outcome of the user toggle call.

Closes #4310.

* Update clients
2022-12-07 19:01:50 +01:00
nicolas.dorier
727cf84080 Fix wallet object script should have script hex as id 2022-12-07 20:26:50 +09:00
d11n
80a257e85f Fix Output Descriptor parsing for WSH multisig case (#4402)
* Fix Output Descriptor parsing for WSH multisig case

Reuse existing function for extracting from a multisig descriptor, instead of recursively parsing the inner output descriptor. The latter would run into invalid cases, because it'd be interpreted as bare multisig, which supports only up to three public keys. 

For further details see MetacoSA/NBitcoin#1151.

* Add CanParseDerivationSchemes test
2022-12-07 20:18:17 +09:00
d11n
ad3c15df9b Fix mobile nav (#4409) 2022-12-06 22:52:37 +01:00
Nicolas Dorier
c665bd2321 Bump clightning (#4406) 2022-12-06 22:15:06 +09:00
d11n
948bae9f95 Wallet import: Surface detailed error messages (#4392)
* Wallet import: Surface detailed error messages

Similar to #4205, this checks if the input is an output descriptor and display more detailed information about why an import might fail.

* Add test cases
2022-12-05 17:06:05 +09:00
d11n
a1c10b4ea3 Fix store selector transition (#4400) 2022-12-05 08:47:51 +01:00
nicolas.dorier
f36df81d9a bump lightning lib (Fix #4245) 2022-12-05 11:37:03 +09:00
Andrew Camilleri
2fd9eb6c68 Adapt ln payouts to handle unknown status (#4382)
Co-authored-by: d11n <mail@dennisreimann.de>
2022-12-04 13:23:59 +01:00
d11n
8894d14130 Upgrade Bootstrap to v5.2.3; Design System improvements (#4380) 2022-12-04 10:01:38 +01:00
nicolas.dorier
4039e74a82 Do not run label migration for new instances 2022-12-01 19:09:51 +09:00
Andrew Camilleri
0af3faf6ff Wallet object scripts (#4301)
* Wallet object scripts

* Adjust comment

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-12-01 09:54:55 +09:00
nicolas.dorier
0520b69c18 Update Changelog 2022-11-29 11:55:59 +09:00
nicolas.dorier
e11a775bed fix migration 2022-11-29 11:29:35 +09:00
nicolas.dorier
b4ed4623e1 bump 2022-11-29 11:20:14 +09:00
d11n
9ee9653c7d Checkout fixes (#4375)
* Round buttons on results view

* Checkout v2: Fix for BIP21 case with LN as default payment method

Fixes #4352.

* Update changelog

* Add test for fix
2022-11-29 11:19:23 +09:00
Nicolas Dorier
e55a16d917 bump bitcoin core in tests (#4374) 2022-11-28 22:18:19 +09:00
nicolas.dorier
3458a0b22c Changelog 1.7.1 2022-11-28 21:08:33 +09:00
Nicolas Dorier
ddcfa735e0 Improve documentation of Refund API in Greenfield (#4372) 2022-11-28 20:58:18 +09:00
nicolas.dorier
3370240541 Udpate langs 2022-11-28 20:57:31 +09:00
Nicolas Dorier
c0cec4716e Fix error HTTP 500 happening on Point of Sale (Fix: #4355) (#4368) 2022-11-28 20:50:09 +09:00
Nicolas Dorier
08b239e87a Change some table type from TEXT to JSONB (#4371)
* Change some table type from TEXT to JSONB

* Deprecate mysql and sqlite backend
2022-11-28 20:36:18 +09:00
d11n
84132e794a POS: Fix manifest (#4373)
- Manifest v1 doesn't support HEX colors
- Make icon URLs absolute

Closes #4363.
2022-11-28 20:35:52 +09:00
Umar Bolatov
425d70f261 Add Greenfield invoice refund endpoint (#4238)
* Add Greenfield invoice refund endpoint

See discussion here: https://github.com/btcpayserver/btcpayserver/discussions/4181

* add test

* add docs
2022-11-28 17:53:08 +09:00
Umar Bolatov
420954ed00 Add metadata to invoice webhook event (#4370)
close #4223
2022-11-28 17:50:52 +09:00
Nicolas Dorier
45edd330f5 Fix logos when rootPath is used (#4367)
* Fix logos when rootPath is used

* Fix close buttons used in JS

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-11-28 09:25:18 +01:00
Umar Bolatov
6a0e2bcad3 Adjust currency name to be standard (#4369) 2022-11-28 15:00:35 +09:00
Tristan F
d67d3e0167 Small README changes (#4361) 2022-11-27 23:35:29 +09:00
nicolas.dorier
cd4f3d9a66 Fix: Calling GetPayment more than once on aLND client would fail 2022-11-26 22:42:08 +09:00
d11n
5c6db35c9b Cleanups (#4351) 2022-11-26 13:01:00 +09:00
nicolas.dorier
887bea4328 bump BTCPayServer.Client 2022-11-26 00:22:09 +09:00
d11n
def5095d77 Changelog for v1.7 (#4288)
Includes updates from v1.6.12 to a6ee92fbd5.
2022-11-25 22:37:20 +09:00
d11n
ab66662ff6 Update What's New (#4309)
Add v1.7 info and hide the button in case the store isn't set up, yet.

Closes #4305.
2022-11-25 22:31:59 +09:00
nicolas.dorier
2d84433a62 bump 2022-11-25 22:26:29 +09:00
Nicolas Dorier
b8e61787d4 Merge pull request #4350 from btcpayserver/woirnew
Some adjustment for Forms
2022-11-25 22:22:25 +09:00
nicolas.dorier
669825a35d Ensure redirecturl is local for form builder 2022-11-25 19:28:46 +09:00
nicolas.dorier
31b25ca169 Propagate the ModelState errors on dynamic forms 2022-11-25 18:32:40 +09:00
Umar Bolatov
a6ee92fbd5 Update incorrect "monitoringTime" field for invoice API docs (#4348) 2022-11-25 09:12:55 +01:00
nicolas.dorier
5ff1a59a99 Make sure the form is properly validated 2022-11-25 16:11:13 +09:00
nicolas.dorier
4f65eb4d65 Remove dead code, fix dups form value 2022-11-25 15:14:54 +09:00
Nicolas Dorier
39328c7368 Rename walletobjects Parent/Child to A/B (#4347) 2022-11-25 12:06:57 +09:00
Andrew Camilleri
2f5f3e1b51 Do not enable receipts for payment requests (#4342)
Payment requests have a receipt-ish style by default. Receipts for each individual invoice of a payment request can be quite confusing as individually they do not prove the pay request was settled.
2022-11-25 11:04:34 +09:00
Andrew Camilleri
022285806b Form Builder (#4137)
* wip

* Cleanups

* UI updates

* Update UIFormsController.cs

* Make predefined forms usable statically

* Add support for pos app + forms

* pay request form rough support

* invoice form through receipt page

* Display form name in inherit from store setting

* Do not request additional forms on invoice from pay request

* fix up code

* move checkoutform id in checkout appearance outside of checkotu v2 toggle

* general fixes for form system

* fix pav bug

* UI updates

* Fix warnings in Form builder (#4331)

* Fix build warnings about string?

Enable nullable on UIFormsController.cs
Fixes CS8632 The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.

* Clean up lack of space in injected services in Submit() of UIFormsController.cs

* Remove unused variables (CS0219) and assignment of nullable value to nullable type (CS8600)

* Cleanup double semicolons while we're at tit

* Fix: If reverse proxy wasn't well configured, and error message should have been displayed (#4322)

* fix monero issue

* Server Settings: Update Policies page (#4326)

Handles the multiple submit buttons on that page and closes #4319.

Contains some UI unifications with other pages and also shows the block explorers without needing to toggle the section via JS.

* Change confirmed to settled. (#4328)

* POS: Fix null pointer

Introduced in #4307, the referenced object needs to be `itemChoice` instead of `choice`.

* Add documentation link to plugins (#4329)

* Add documentation link to plugins

* Minor UI updates

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>

* Fix flaky test (#4330)

* Fix flaky test

* Update BTCPayServer/PayoutProcessors/BaseAutomatedPayoutProcessor.cs

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: d11n <mail@dennisreimann.de>

* Remove invoice and store level form

* add form test

* fix migration for forms

* fix

* make pay request form submission redirect to invoice

* Refactor FormQuery to only be able to query single store and single form

* Put the Authorize at controller level on UIForms

* Fix warnings

* Fix ef request

* Fix query to forms, ensure no permission bypass

* Fix modify

* Remove storeId from step form

* Remove useless storeId parameter

* Hide custom form feature in UI

* Minor cleanups

* Remove custom form options from select for now

* More minor syntax cleanups

* Update test

* Add index - needs migration

* Refactoring: Use PostRedirect instead of TempData for data transfer

* Remove untested and unfinished code

* formResponse should be a JObject, not a string

* Fix case for Form type

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: JesterHodl <103882255+jesterhodl@users.noreply.github.com>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
Co-authored-by: Andreas Tasch <andy.tasch@gmail.com>
2022-11-25 10:42:55 +09:00
d11n
bb60c2ac48 Checkout v2: Minor fixes (#4345)
* Do not show remaining amount for topup invoices in expiry message

As [reported by @petzsch](https://chat.btcpayserver.org/btcpayserver/pl/gg1zy8t5h3dq7nme1nom93migo).

* Fix links on result page in Checkout Classic

Closes #4344.

* Better way to exclude Lightning if BIP21 is active and we have both PMs


Unify margins
2022-11-24 23:14:56 +09:00
d11n
a4ee1e9805 Checkout v2 finetuning (#4276)
* Indent all JSON files with two spaces

* Upgrade Vue.js

* Cheat mode improvements

* Show payment details in case of expired invoice

* Add logo size recommendation

* Show clipboard copy hint cursor

* Improve info area and wording

* Update BIP21 wording

* Invoice details adjustments

* Remove form; switch payment methods via AJAX

* UI updates

* Decrease paddings to gain space

* Tighten up padding between logo mark and the store title text

* Add drop-shadow to the containers

* Wording

* Cheating improvements

* Improve footer spacing

* Cheating improvements

* Display addresses

* More improvements

* Expire invoices

* Customize invoice expiry

* Footer improvements

* Remove theme switch

* Remove non-existing sourcemap references

* Move inline JS to checkout.js file

* Plugin compatibility

See Kukks/btcpayserver#8

* Test fix

* Upgrade vue-i18next

* Extract translations into a separate file

* Round QR code borders

* Remove "Pay with Bitcoin" title in BIP21 case

* Add copy hint to payment details

* Cheating: Reduce margins

* Adjust dt color

* Hide addresses for first iteration

* Improve View Details button

* Make info section collapsible

* Revert original en locale file

* Checkout v2 tests

* Result view link fixes

* Fix BIP21 + lazy payment methods case

* More result page link improvements

* minor visual improvements

* Update clipboard code

Remove fallback for old browsers. https://caniuse.com/?search=navigator.clipboard

* Transition copy symbol

* Update info text color

* Invert dark neutral colors

Simplifies the dark theme quite a bit.

* copy adjustments

* updates QR border-radius

* Add option to remove logo

* More checkout v2 test cases

* JS improvements

* Remove leftovers

* Update test

* Fix links

* Update tests

* Update plugins integration

* Remove obsolete url code

* Minor view update

* Update JS to not use arrow functions

* Remove FormId from Checkout Appearance settings

* Add English-only hint and feedback link

* Checkout Appearance: Make options clearer, remove Custom CSS for v2

* Clipboard copy full URL instead of just address/BOLT11

* Upgrade JS libs, add content checks

* Add test for BIP21 setting with zero amount invoice

Co-authored-by: dstrukt <gfxdsign@gmail.com>
2022-11-24 08:53:32 +09:00
Nicolas Dorier
bf0a8c1e62 Fix flaky test ln payout (#4334) 2022-11-23 21:02:47 +09:00
nicolas.dorier
d2b10ef4e6 CanUseTorClient fail no more 2022-11-22 21:58:15 +09:00
Nicolas Dorier
9f3fca8fd7 Show the git commit of the current build of BTCPay (#4320)
* Show the git commit of the current build of BTCPay

* Fix build

Co-authored-by: d11n <mail@dennisreimann.de>
2022-11-22 21:37:07 +09:00
Nicolas Dorier
9404819dbe Fix flaky test (#4330)
* Fix flaky test

* Update BTCPayServer/PayoutProcessors/BaseAutomatedPayoutProcessor.cs

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: d11n <mail@dennisreimann.de>
2022-11-22 12:17:29 +01:00
Nicolas Dorier
d959f5096b Add documentation link to plugins (#4329)
* Add documentation link to plugins

* Minor UI updates

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-11-22 11:06:23 +01:00
Andrew Camilleri
bd3710a60f Merge pull request #4327 from btcpayserver/dennisreimann-patch-1 2022-11-22 06:58:10 +01:00
Andreas Tasch
3d43f3a2b3 Change confirmed to settled. (#4328) 2022-11-22 11:10:21 +09:00
d11n
6194c156bd Server Settings: Update Policies page (#4326)
Handles the multiple submit buttons on that page and closes #4319.

Contains some UI unifications with other pages and also shows the block explorers without needing to toggle the section via JS.
2022-11-22 10:27:27 +09:00
d11n
850c26dc13 POS: Fix null pointer
Introduced in #4307, the referenced object needs to be `itemChoice` instead of `choice`.
2022-11-21 22:07:46 +01:00
Kukks
eda0f7327e fix monero issue 2022-11-21 19:55:19 +01:00
Nicolas Dorier
bf597495ff Fix: If reverse proxy wasn't well configured, and error message should have been displayed (#4322) 2022-11-21 19:32:19 +01:00
Nicolas Dorier
20025f254c Use the plugin builder website instead of docker to fetch plugins (#4285) 2022-11-21 10:23:25 +09:00
JesterHodl
ec76acd3a6 Code analysis (#4293)
* Enable NETAnalyzers for whole project

- remove obsolete analyzers so that the .NET Core SDK NETAnalyzers can be used
- enable NETAnalyzers for all projects so that developers can use them by defining the AnalysisMode on individual projects

This is because if we set AnalysisMode to minimal, recommended or all it would spam with warning.
The idea is to be able to turn them on during development to fix recommended stuff without polluting the build output.

Following commits will implement some of the Code Analysis findings

* Performance hints for using char overloads for single characters (CA1834 and CA1847)

CA1834: Use StringBuilder.Append(char) for single character strings
CA1847: Use string.Contains(char) instead of string.Contains(string) with single characters
2022-11-20 17:42:36 +09:00
Nicolas Dorier
1e2acfb296 Disable internal node options if no internal node configured (#4315) 2022-11-20 14:22:36 +09:00
nicolas.dorier
2bd4a680ad Fix tests 2022-11-20 14:19:48 +09:00
nicolas.dorier
4ce504a1e1 Add index to WalletObjects + allow additional queries 2022-11-19 23:39:41 +09:00
d11n
d2f071b8b2 Make store creation field same width (#4311)
* Make store creation field same width

Closes #4306.

* Update CreateStore.cshtml
2022-11-19 11:29:34 +01:00
Pavlenex
fdbd7b977a Merge pull request #4312 from btcpayserver/non-admin-wallet-warning
Refine non-admin wallet warning copy
2022-11-19 09:44:22 +01:00
d11n
d19961b7a0 Refine non-admin wallet warning copy
As [discussed on Mattermost](https://chat.btcpayserver.org/btcpayserver/pl/us4kscqsw7rzmnng7aarxczd5r).
2022-11-18 22:12:53 +01:00
Kukks
c156254600 Validate cart cost with explicit amount 2022-11-18 16:50:26 +01:00
Nicolas Dorier
9b5c6ece90 Refactor walletobj API, make wallet object graph directionless (#4297) 2022-11-19 00:04:46 +09:00
maxwedwards
bf91efc756 Add Lightning Service Torq (#4296) 2022-11-18 12:19:01 +01:00
nicolas.dorier
a253fd5001 Small doc improve 2022-11-18 14:22:59 +09:00
Umar Bolatov
52af129c8b Add crowdfund app create endpoint (#4068)
* Add crowdfund app create endpoint

* replace DateTimeJsonConverter with NBitcoin.JsonConverters.DateTimeToUnixTimeConverter

* Use DateTimeOffset instead of DateTime

* Use array instead of CSV

* update "startDate" and "endDate" docs definition

* update docs
2022-11-18 14:20:07 +09:00
d11n
3942463ac9 UI: Unify payment request list with invoices (#4294)
Some quick win updates to the payment requests list that unify the display with the invoices list:

- Status is displayed as badge
- Amount is properly formatted
- Expiry date format and ability to switch to relative date
2022-11-18 13:24:57 +09:00
nicolas.dorier
ff572eef7f Use constants rather than magic strings in transaction attachments 2022-11-17 10:24:49 +09:00
Andrew Camilleri
2740dfea87 Greenfield: Wallet Objects (#4274)
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2022-11-16 12:11:17 +09:00
d11n
324112b73b Receipts: Fix amount paid discrepancy (#4287)
Displays the actual amount paid instead of the total invoice price. Fixes #4242.
2022-11-16 11:35:49 +09:00
Andrew Camilleri
1d7dee8314 Fix NRE and do nto activate onchain if node unavailable even when lazy payments (#4291)
fixes #4289
2022-11-16 09:04:51 +09:00
Andrew Camilleri
2d23819944 Greenfield: Allow marking payout status and payment proofs (#4244)
This allows external services to integrate with the payouts system to process payouts. This is also  a step to allow plugins to provide payout processors.

* It provides the payment proof through the greenfield payoust api.
* It allows you to set the state of a payout outside of the usual flow:
  * When state is awaiting payment, allow setting to In progess or completed
  * When state is in progress, allow setting back to awaiting payment
2022-11-15 18:40:57 +09:00
d11n
17f3b4125b Add option to customize the instance logo (#4258)
* Add option to customize the instance logo


Custom logo for BTCPay instances

* Incorporate SVGUse helper
2022-11-14 22:29:23 +09:00
nicolas.dorier
c8a1024e24 Remove dead shitcoin MUE 2022-11-14 15:59:41 +09:00
d11n
9a2d2e2d89 Confirm modal: Prevent form submit without confirmation (#4262)
Fixes https://github.com/btcpayserver/btcpayserver/issues/4259
2022-11-13 12:38:13 +01:00
Dennis Reimann
b7af234427 Payment Request: Fix invoice creation
Fix and test for a regression introduced with #4243: As the `PayPaymentRequest` action allows anonymous access, the `CookieAuthorizationHandler` isn;t run and hence the `GetCurrentStore` returns `null`.

This leads to an exception when creating the invoice. Store needs to be fetched seperately - like [before](4bbc7d9662 (diff-bdc264670a171e862d09fdf1a1c9f3ca14b41982a3c4c8e66d4f780cdde9f21dL241)).
2022-11-10 18:23:41 +01:00
Nicolas Dorier
a374e351e2 Use PluginLoader in the Plugin packer to prevent conflicts (#4277) 2022-11-09 15:28:16 +01:00
d11n
562f88555c Lightning: Better handling for non-public nodes (#4263)
Fixes #4246. 

`LightningLikePaymentHandler.GetNodeInfo` needed the `throws` argument to handle the cases as previously, otherwise the catch case in `ShowLightningNodeInfo` never occured.

State with this PR: A node can be available, but not have any public addresses. The latter will now be reported when testing the connection and on the public node info page.
2022-11-05 12:21:24 +01:00
Pavlenex
167c5297fa Merge pull request #4268 from dennisreimann/supporters
Supporters: Remove Nomics; add SVGs for README
2022-11-05 12:17:11 +01:00
rockstardev
b281d09694 Bumping LND to 0.15.4-beta-1 (#4271)
* Bumping LND to 0.15.4-beta-1

* Bump LND in Altcoin docker-compose

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-11-05 12:15:04 +01:00
Dennis Reimann
853a0ac5ea Remove old/unused images 2022-11-03 21:58:53 +01:00
Dennis Reimann
ea948cfc3f Optimize SVGs 2022-11-03 21:55:11 +01:00
Pavlenex
fdd13390fb Merge pull request #4267 from dennisreimann/fix-4266
Fix wording
2022-11-03 19:57:34 +01:00
Dennis Reimann
b2f6f8b3c1 Supporters: Remove Nomics; add SVGs for README
The `img/readme` directory contains SVGs for the README, so that we can from now on use one markup for the supporters in all README files across our repositories. 

With these, we could finally get rid of the table layout for the supporters section in the README. This will make it much easier to maintain those.
2022-11-03 19:37:13 +01:00
Dennis Reimann
cd12162b6f Fix wording
Closes #4266.
2022-11-03 13:13:03 +01:00
d11n
79717d1d64 Sync modal improvements (#4260) 2022-11-02 16:55:05 +01:00
d11n
e56cbf0baa Greenfield: Graceful return for in-flight HTLCs (#4252)
* Greenfield: Graceful return for in-flight HTLCs

Based on btcpayserver/BTCPayServer.Lightning#106 this closes #3781.

* Update descriptions
2022-11-02 21:03:34 +09:00
d11n
05232414ad Improve LN balance details toggle (#4253) 2022-11-02 18:48:23 +09:00
Nicolas Dorier
4bbc7d9662 [Greenfield] Can create an invoice for a payment request via Greenfield (#4243)
* [Greenfield] Can create an invoice for a payment request via Greenfield

* Add allowPendingInvoiceReuse so payment request invoices can be reused

* Add PayPaymentRequest to the LocalBTCPayServerClient

* Allow amount to be specified if same as PR amount
2022-11-02 18:41:19 +09:00
d11n
3805b7f287 Checkout v2 (#4157)
* Opt-in for new checkout

* Update wording

* Create invoice view update

* Remove jQuery from checkout testing code

* Checkout v2 basics

* WIP

* WIP 2

* Updates and fixes

* Updates

* Design updates

* More design updates

* Cheating and JS fixes

* Use checkout form id whenever invoices get created

* Improve email form handling

* Cleanups

* Payment method exclusion cases for Lightning and LNURL

TODO: Cases and implementation need to be discussed

* Introduce CheckoutType in API and replace UseNewCheckout in backend

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-11-02 18:21:33 +09:00
Andrew Camilleri
63620409a9 Allow config to set default block explorer link (#4249)
This logic can potentially be inside BlockExplorerLinkStartupTask instead but it's not a big deal imo
2022-10-31 11:41:31 +09:00
Dennis Reimann
ba423a79e3 Fix Public Node Info View
As the Node Info was used as an ID, this didn't work with IPv6 addresses, as those contain characters not suitable for HTML IDs.

Fixes #4245.

Also: Simplify the head section of that view by reusing the existing partial.
2022-10-30 11:23:09 +01:00
nicolas.dorier
8806ba76eb Fix: On some circumstances, clicking on cancel invoice and pay button in PaymentRequest would throw an exception 2022-10-27 15:50:35 +09:00
nicolas.dorier
9e73260230 Fix: Invoice's orderId equals to payreq id shouldn't appear part of the payreq 2022-10-27 13:17:18 +09:00
d11n
c0125b83d1 UI: Improve access token pairing (#4237)
Closes #4133.
2022-10-27 08:57:54 +09:00
d11n
1fa297fb73 Add donate link (#4239)
* Add donate link

Closes #4173.

* Simplify wording
2022-10-27 08:56:44 +09:00
d11n
57557748e2 Greenfield: Fix missing payment data (#4233)
* Greenfield: Fix missing payment data

Fixes #4229.

* Client: Return payment data from PayLightningInvoice

* Add test for PayLightningInvoice response
2022-10-27 08:56:24 +09:00
nicolas.dorier
8b79212a6e [Greenfield] Fix: The route to connect to a peer lightning node was always crashing 2022-10-26 13:35:04 +09:00
d11n
f4af4ec4dc Fix OpenAPI 3.0 validation errors and warnings (#4235) 2022-10-25 20:37:36 +09:00
d11n
2e150f4bf4 Checkout: Fix Order ID text overflow (#4232)
Fixes #4230. Thanks for the pointer @handsomelatino!
2022-10-25 10:46:00 +09:00
nicolas.dorier
4f4aa051c9 Add missing route parameter in /api/v1/stores/{storeId}/users swagger (See #4231) 2022-10-24 16:33:42 +09:00
Nicolas Dorier
da1dd7448e Add warnings in btcpay vault page for safari and brave (Fix https://github.com/btcpayserver/BTCPayServer.Vault/issues/54) (#4226)
* Add warnings in btcpay vault page for safari and brave (Fix https://github.com/btcpayserver/BTCPayServer.Vault/issues/54)

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>
2022-10-21 09:13:36 +02:00
d11n
0fd47eeee0 Asset-bundle cleanups (#4225)
Some cleanups in addition to #4222.
2022-10-21 09:17:06 +09:00
Nicolas Dorier
54c9d7283a Fix: PayjoinController could throw HTTP 500 of a few corner cases (#4215) 2022-10-20 11:19:48 +09:00
Nicolas Dorier
848db5f7de Remove the bundle minifier (#4222) 2022-10-20 11:17:42 +09:00
nicolas.dorier
5fb32fe0e9 Remove some debug code 2022-10-19 13:06:15 +09:00
d11n
adf5b4ca0c Fix sync modal z-index 2022-10-18 21:00:54 +02:00
Nicolas Dorier
16bfb1dbfe Bump libraries (#4219) 2022-10-18 23:58:28 +09:00
d11n
e5421b8a9f Add script to create a regtest multisig wallet for testing (#4204)
* Add script to create a regtest multisig wallet for testing

* Unload wallets to prevent having to specify wallet in BTCPay, NBXplorer
2022-10-17 20:57:09 +09:00
d11n
f9f1a22e3b Store settings: Add branding options (#4131)
* Add logo upload

* Add brand color definition

* Cleanups

* Add logo to store selector

* Improve brand color handling

* Update color input

* Add logo dimensions hint

* Fixes

* Fix pattern and warning in js logs for color validation

* Fix condition, add test

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-10-17 12:16:29 +02:00
nicolas.dorier
9533809631 Bump NBitcoin (Fix #4212) 2022-10-17 18:47:49 +09:00
d11n
6d7c11f1b1 Greenfield: Get Lightning invoices (#4180)
* Greenfield: Get Lightning invoices

Matching the data added in btcpayserver/BTCPayServer.Lightning#98 and btcpayserver/BTCPayServer.Lightning#99.

* Small adjustments

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-10-17 09:51:15 +02:00
nicolas.dorier
0286c72256 Do not crash startup if ssh settings aren't correct 2022-10-14 14:51:05 +09:00
d11n
763aaa2926 UI: Fix checkbox flex-shrink (#4209)
Closes #4207.
2022-10-13 22:48:45 +09:00
rockstardev
ae4af7dd13 Bumping LND to 0.15.2-beta (#4211) 2022-10-13 09:40:07 +02:00
d11n
4ae2ea32e9 UI: Fix missing timezone in browser dates (#4210)
Fix for an issue brought up by @petzsch in todays dev meeting.
2022-10-13 09:29:30 +02:00
Andrew Camilleri
434298cba6 Greenfield: Store Rates Config (#3931)
* Greenfield: Store Rates Config

* FIX SWAGGER

* rebase fix

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.stores-rates-config.json

Co-authored-by: d11n <mail@dennisreimann.de>

* Fix: Spread isn't converted from/to percentage, rename some fields, and move some routes

* Fix error handling

Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-10-12 22:19:33 +09:00
Nicolas Dorier
a2fa688cde Refactor labels (#4179)
* Create new tables

* wip

* wip

* Refactor LegacyLabel

* Remove LabelFactory

* Add migration

* wip

* wip

* Add pull-payment attachment to tx

* Address kukks points
2022-10-11 17:34:29 +09:00
d11n
895462ac7f Import xpub: Surface error details (#4205)
Checks if the input is an output descriptor and explicitely handles that case instead of catching any errors. This allows us to display more detailed information about why an import might fail.
2022-10-11 12:19:10 +09:00
nicolas.dorier
e883714446 Do not hide errors happening in tasks spawned by BaseAsyncService 2022-10-08 12:46:26 +09:00
Nicolas Dorier
e1a235b4e8 Changelog and bump (#4201) 2022-10-08 12:42:46 +09:00
d11n
ffa2c59df7 POS: Fix keypad view without custom amount (#4185)
The custom amount option was disabled by default in #4126. This requires some additional adaptations in the post action as otherwise the invoice won't be generated.

Fixes #4183.
2022-10-08 12:41:56 +09:00
Umar Bolatov
3f19dc55fa Add "{Invoice.OrderId}" to list of supported email interpolation strings (#4202)
close #4112
2022-10-07 14:29:56 +02:00
nicolas.dorier
66c2148a63 Increase tor test timeout 2022-10-07 16:04:22 +09:00
nicolas.dorier
28850f534c Fix test warning 2022-10-07 15:05:11 +09:00
Andrew Camilleri
c40c11a822 bump ms aspnet packages (#4166)
* bump ms aspnet packages

* Bump .NET SDK in Dockerfile

* bump more packages

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-10-07 14:53:30 +09:00
d11n
b334e1aa00 Date display improvements (#4191)
Fixes styling issues introduced in #4074, because the `max-width` was to small for localized dates.

Also adds the ability to choose the prefered initial display format, which can be the localized or relative date.
2022-10-07 13:29:03 +09:00
Umar Bolatov
b48986bfd6 Update default value for "showCustomAmount" in Swagger docs (#4200) 2022-10-07 13:27:10 +09:00
Aryan J
ced63baed6 fix custodian Swagger docs missing some path parameters (#4196) 2022-10-06 12:03:39 +02:00
Umar Bolatov
880635d615 Make sure string is valid URL before rendering it as such in invoice details POS data section (#4197) 2022-10-06 10:43:18 +02:00
Umar Bolatov
d9f8c8d3b1 Always show overpaid amount if invoice is overpaid (#4192)
close #4146
2022-10-06 12:59:05 +09:00
Dennis Reimann
8155841a1d Fix receipts for Lightning Address invoices
`AdditionalData` needs to be null-checked, because it isn't set for invoices generated via Lightning Address. 

Fixes #4169.
2022-10-01 07:13:57 +02:00
Davide Oggioni
30f83d8f3f Remove direct and temp link functionality from the File Storage (#4177) 2022-09-29 12:40:00 +02:00
nicolas.dorier
96c86160df Fix warning error when rebooting the server caused by some shitcoin currency pair format 2022-09-29 15:45:27 +09:00
nicolas.dorier
b7ea128132 Old Payout labels weren't displayed properly 2022-09-29 15:42:01 +09:00
d11n
4bee8e9bfe Greenfield: Extend LN GetInfo data (#4167)
Matching the data added in btcpayserver/BTCPayServer.Lightning#97.
2022-09-28 09:34:34 +09:00
HamroRamro
bc195e771e Update WalletTransactions pagination default settings (#4074)
* Update WalletTransactions pagination default settings

Remove the numeric page selection and add displaying data of last 30 days by default.

* Update WalletTransactions to show txs based on Days

* Update text formatting on WalletTransactions view

Keeps the logic changes. Just undo the formatting of the file from previous commit

* Update WalletTransactions to show all after second load

Utilize Model.Days instead of new variables
Moved javascript code to PageFootContent section

* Update WalletTransactions to use ajax for infinite scroll

* Cleanups

* Apply skip and count only when not prefiltering

* Infinite scroll mode

* Improve datetime formatting and switching

* Upgrade NBXplorer to include get_wallets_recent bugfix

* Revert "Upgrade NBXplorer to include get_wallets_recent bugfix"

This reverts commit b390d942d74d88bb1da3ab8e3407184a527175ef.

* JS fixes

* Upgrade ChromeDriver and BundleMinifier

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-09-27 21:24:53 +09:00
nicolas.dorier
0bc3e94052 bump 2022-09-26 22:51:49 +09:00
d11n
3eb3523b52 Changelog for v1.6.11 (#4130)
* Changelog for v1.6.11

* Update Changelog.md

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

* Update Changelog.md

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

* Update changelog

* Update changelog

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2022-09-26 22:50:59 +09:00
d11n
8e2f84a989 Upgrade Lightning libraries (#4164) 2022-09-26 22:48:47 +09:00
nicolas.dorier
143ec7463f Fix crash on migration from old install (Fix #4162) 2022-09-26 22:00:49 +09:00
d11n
4a5fd08e51 Footer: Improve responsive display (#4163)
Enhancement in addition to #4160.
2022-09-26 10:29:35 +02:00
Pavlenex
0306635a45 Merge pull request #4160 from daviogg/enhancement/4158-add-telegram-url
Add telegram icon and url on footer
2022-09-26 09:07:50 +02:00
Pavlenex
0a4d32cdb5 Merge pull request #4161 from Bangalisch/SmallPageUpdate
Small update to Security.md
2022-09-26 09:07:33 +02:00
nicolas.dorier
d590992d1d Fix crash on migration from old install (Fix #4162) 2022-09-26 10:31:04 +09:00
d11n
e8766946dd Improve currency selection (#4155)
Removes the current value on focus, so that the user gets to see the available options. If no selection or change is made, the value is reset to the previous value on blur.

Closes #4154.
2022-09-26 10:26:13 +09:00
Bangalisch
8c35189b37 Small update to Security.md
Yo yo

Added title to page and ran it through Grammarly to slightly update the text.
2022-09-25 00:17:52 +02:00
daviogg
e6390cde97 Add telegram icon and url on footer 2022-09-24 23:32:28 +02:00
Dennis Reimann
db976a6408 Fix unit test and build warning 2022-09-23 16:41:51 +02:00
nicolas.dorier
031c3ed055 Update README 2022-09-23 19:41:09 +09:00
Umar Bolatov
cb391f08b9 Remove redundant exception status from invoice state label (#4151) 2022-09-23 15:17:50 +09:00
Nicolas Dorier
5387a6287e Fix pagination of wallet's transactions (#4150) 2022-09-22 10:39:48 +09:00
daviogg
0e4544b2da POS - CustomAmount disabled by default also for App 2022-09-20 13:10:42 +02:00
daviogg
e0cbb7bede POS - CustomAmount disabled by default 2022-09-20 13:10:42 +02:00
Dennis Reimann
ed45b73274 Dashboard: Fix links in app tiles
Fixes #4144.
2022-09-20 10:10:54 +02:00
Davide Oggioni
cadcb586a7 Fix settigs sidebar activation (#4138)
* Fix settigs sidebar activation

* remove active payout from settings

* Fix Store Settings nav highlight

Fixes #4134.

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-09-20 10:05:55 +02:00
d11n
9e31270459 Improve "Advanced Settings" button (#4140)
* Improve "Advanced Settings" button

Closes #4132.

* Use collapse toggle for multi-sig examples
2022-09-20 09:50:59 +02:00
d11n
dc07f046f2 Improve PayButton error page (#4129)
As this is a public page we should embed it in the non-navigation layout. Also improves the error display.
2022-09-19 21:56:42 +02:00
dstrukt
5032bbafb1 Consistent switch UI on Create Wallet views (#4135)
* ui+wallet: consistent switch ui update

* Cleanups

* Improve CTA wording

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-09-19 21:56:16 +02:00
d11n
1540bfb3a1 Merge pull request #4128 from bolatovumar/fix/4125 2022-09-17 09:38:54 +02:00
Umar Bolatov
f3f5851118 Add missing store ID to invoice links
close #4125
2022-09-16 21:04:56 -07:00
Dennis Reimann
9810edcd1a Fix Monero and Zcash nav extensions
They failed with an `System.NullReferenceException: Object reference not set to an instance of an object.` when navigating to a LNbank page, because LNbank uses Razor Pages and the controller part wan't defined. Brought up [on Mattermost](https://chat.btcpayserver.org/btcpayserver/pl/x3iohhct97nateyq4y1c4hp9mw).
2022-09-16 11:51:14 +02:00
Kukks
e334b9162a Fix: Lnurl Max is set to min when item type is minmum
fixes #4108
2022-09-16 09:20:49 +02:00
Dennis Reimann
836c676057 Upgrade Lightning lib 2022-09-15 16:57:57 +02:00
d11n
1abadd9c5d Update BTCPayServer/Storage/Services/FileService.cs 2022-09-15 16:26:22 +02:00
Dennis Reimann
e8bd1d8237 FileService: Sanitize filename for downloaded files
Replaces invalid characters in filenames of files which are retrieved via URL.
2022-09-15 16:26:22 +02:00
Kukks
8a7470500a Do not show set up wallet link in dashboard
fixes #4116
2022-09-13 16:14:46 +02:00
d11n
75689c665d Update source for urlib.min.js 2022-09-13 10:17:12 +02:00
Dennis Reimann
d84f4f676b Document wider wallet import support 2022-09-13 10:17:12 +02:00
Dennis Reimann
c97b859963 Refactor QR functionality
Based on the `ur-registry` upgrade I refactored the `CameraScanner` and `ShowQR` partials: Besides general code changes, the main change is that most of the configuration and result handling now happens on the outer view.
Those partials and functions are now generalized and don't know about their purpose (like handling PSBTs): They can be instantiated with simple data (e.g. for displaying a plain QR code) or different modes (like showing a static and the UR version of a QR code) and the result handling is done via callback.

The callbacks can now also distinguish between the different results (data as plain string vs. UR-type objects for wallet data or PSBT) and also handle the specific type of data. For instance: Before it wasn't possible to strip the leading derivation path from an xpub when scanning the QR code, because the scanner didn't know about the type of data it was handling. Now that the data is handled in the callback, we can implement that functionality for the scan view only.
2022-09-13 10:17:12 +02:00
Dennis Reimann
6b8f4ee1d5 Remove bc-ur and upgrade ur-registry
Up to now we were supporting two versions of the UR standard: The legacy one implemented in `bc-ur` and the current version in `ur-registry`.
@Kukks forked a separate version of bc-ur for our web-bundle ([some more details](https://github.com/CoboVault/cobo-vault-blockchain-base/pull/8)), but it got hard to maintain the custom build, because the web-bundle needed manual assembly. We decided to get rid of the support for the legacy version and bc-ur, so that we can continue with the current version, which seems to be implemented across modern wallets (if they support UR at all). This way we can continue with only the `ur-registry` as a dependency, which handles encoding and decoding. 

I needed to make some modifications for the browser version of `ur-registry`. So I [forked their module to our org](https://github.com/btcpayserver/ur-registry) and I submitted the [modifications as PRs](https://github.com/KeystoneHQ/ur-registry/pulls) — hopefully we can eliminate our fork once those changes get merged. We are in contact with them and maintaining that fork wouldn't be as hard as the bc-ur one, because at least it has a working and automated build.
2022-09-13 10:17:12 +02:00
d11n
3532789c35 Improve Lightning Node setup examples (#4033)
* Catch connection string ToString errors

LNDhub connection string error fixed in btcpayserver/BTCPayServer.Lightning#92.

* Add Eclair bitcoin-host example

* Document LNDhub integration
2022-09-09 23:01:20 +09:00
Umar Bolatov
267905b5e7 Reduce confusion 2022-09-09 13:49:24 +02:00
Umar Bolatov
1626bd7a18 Show iframe when showing invoice in Shopify plugin
Close #4105
2022-09-09 13:49:24 +02:00
Umar Bolatov
7106830be9 Make sure end date is after start date in Crowdfund app (#4084)
* Make sure end date is after start date in Crowdfund app

* Add null checks

* Add test case

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-09-09 19:26:11 +09:00
nicolas.dorier
3b1946d65c bump lightning libs 2022-09-09 16:46:39 +09:00
Martin Habovštiak
6dedf4d44f Upgrade Lightning library to 1.4.1 (#4093)
This enables new feature of specifying `certfilepath`

Closes #2182
2022-09-09 14:33:17 +09:00
Jonathan Underwood
fe5e2584b1 Use mempool as default block explorer (#4100) 2022-09-09 14:32:40 +09:00
Umar Bolatov
8fae38deca Set explicit cursor style property on pay button with custom text (#4107)
We need to set "cursor: pointer;" explicitly on pay buttons with custom text because the <button> HTML tag default pointer is not a cursor. This is not an issue for the default button because it uses the <input> tag which has "cursor: pointer;" by default in browsers.

Close #4104
2022-09-09 14:28:03 +09:00
Wouter Samaey
7f8e322e9c Fixed text + simplification (#4109) 2022-09-09 14:27:49 +09:00
Umar Bolatov
4d0f76f9e8 Update invoice amount description in Swagger template
Close #4067
2022-09-04 09:57:41 +03:00
Kukks
5d2b42960b fix CanExportInvoicesJson 2022-08-30 09:16:17 +02:00
Kukks
0098dacdff fix host in launchprofile 2022-08-30 09:16:17 +02:00
Kukks
51666fbf0e fix CanUseInvoiceReceipts 2022-08-30 09:16:17 +02:00
Umar Bolatov
defb9120fd Ensure apps can be deleted through UI
Bug was introduced by https://github.com/btcpayserver/btcpayserver/pull/3987
2022-08-26 11:23:00 +02:00
Kukks
11ec72ce8c changelog and bump
(cherry picked from commit a661f08d7b)
2022-08-26 10:26:51 +02:00
Kukks
f67bd69ecc do not try to mention payout ids/ pull payments if they were not saved for labels
fixes #4078
2022-08-26 09:41:48 +02:00
Pavol Rusnak
db2c29a6e1 PoS UI fix: scale-down item image (#4076) 2022-08-25 12:26:44 +02:00
Dennis Reimann
e22e522245 LNURL: Fix missing route hints option
Fixes #4072.
2022-08-25 12:01:26 +02:00
Andrew Camilleri
7c8f4c0405 Allow specifing fee block target for onchain payout processor (#4065)
Co-authored-by: d11n <mail@dennisreimann.de>
2022-08-23 12:35:20 +02:00
Dennis Reimann
01ab21e4c0 Dashboard: Fix app tiles
I broke this with #3987.
2022-08-23 12:07:18 +02:00
Andrew Camilleri
534a2912e1 Create dynamic manifest for pos apps (#4064)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-08-21 20:38:14 +02:00
HamroRamro
1456f4e227 Enhance export function for invoices (#4060)
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2022-08-21 08:43:23 +02:00
Umar Bolatov
63e11451ba Rename PutPointOfSaleApp to UpdatePointOfSaleApp 2022-08-21 08:41:04 +02:00
Umar Bolatov
7f80674cf2 Update Swagger docs 2022-08-21 08:41:04 +02:00
Umar Bolatov
16f4ca5fbf Add support for updating POS app through Greenfield API
Part of #3458
2022-08-21 08:41:04 +02:00
Dennis Reimann
701ba59bd8 Convert public app parts 2022-08-21 08:38:25 +02:00
Dennis Reimann
8c6705bccb Make POS and Crowdfund plugins 2022-08-21 08:38:25 +02:00
Dennis Reimann
e4542c4ac4 Paybutton: Fix logo and URL
Fixes #4053.
2022-08-20 11:32:09 +02:00
Dennis Reimann
45eea1d6de API docs: Fix server base path
Introduced in #4041. Fixes #4059.
2022-08-20 11:31:28 +02:00
Kukks
4aa94d5a13 bump btcpay to revert bug 2022-08-18 13:21:21 +02:00
Kukks
b0253e11bf Revert "Allow bind and port for http too (#4031)"
This reverts commit a51c9d2b2d.
2022-08-18 13:12:29 +02:00
Kukks
1a4a3714c7 Changelog for 1.6.8 2022-08-18 08:16:22 +02:00
Umar Bolatov
999090dbdb Add Yadio exchange rate provider
Yadio is a service which provides exchange rates for many currencies such as the Lebanese Pound which have the real exchange rate which differs from the official rate significantly (32,525 LBP for USD real rate vs 1,510 official rate).

See more details here: https://yadio.io/info.html

See discussions here:
https://github.com/btcpayserver/btcpayserver/discussions/4001
https://github.com/btcpayserver/btcpayserver/discussions/2489#discussioncomment-3102370
2022-08-18 08:08:55 +02:00
Kukks
13e3b515c9 Cleanse objects from obsolete altcoins 2022-08-17 21:23:16 +02:00
Andrew Camilleri
b6062a94b9 Explicitly disable fsize limit for some routes (#4045) 2022-08-17 10:18:30 +02:00
Andrew Camilleri
d0b26e9f69 Refactor Payouts (#4032)
Co-authored-by: d11n <mail@dennisreimann.de>
2022-08-17 09:45:51 +02:00
d11n
d6ae34929e Update launchSettings.json
Remove `BTCPAY_BTCEXTERNALLNDGRPC` because it is unsupported and not used anywhere in the app.

Use `http` for `BTCPAY_BTCEXTERNALLNDREST` because the HTTPS connection cannot be established.
2022-08-17 09:28:46 +02:00
Andrew Camilleri
a51c9d2b2d Allow bind and port for http too (#4031) 2022-08-17 09:11:13 +02:00
HamroRamro
6c45ccc73d Add no rate found error message in Invoices (#4039) 2022-08-16 09:04:13 +02:00
Kukks
6459c7bfad fix altcoin only dashboard crash
closes #4038
2022-08-15 20:22:31 +02:00
Andrew Camilleri
e6c1b0cf54 Merge pull request #4041 from dennisreimann/swagger-validation 2022-08-15 17:27:30 +02:00
Dennis Reimann
c8558810ad Fix swagger validation errors
Combined the files with the same approach as in the docs:

`jq -rs 'reduce .[] as $item ({}; . * $item)' swagger.template.* > openapi.json`

Afterwards the bundled version can be validated using these commands:

`npx swagger-cli validate openapi.json && npx @redocly/cli lint openapi.json`
2022-08-15 15:59:26 +02:00
Andrew Camilleri
b0eb0b1de7 Merge pull request #4034 from dennisreimann/lnurl-controller-refactoring 2022-08-15 10:00:50 +02:00
Dennis Reimann
6bdf31efda API docs: Fix duplicate speed policy schema
See the additional discussion in #3877. As we merged the Swagger JSON files for the docs, the duplicate store speed policy schema overwrote the updated invoice speed policy schema. This is now fixed by using a unified schema.
2022-08-15 06:20:10 +02:00
Dennis Reimann
3cd2971cec Remove link to article that is no longer available 2022-08-14 11:19:25 +02:00
Dennis Reimann
58784ebbfc Update ChromeDriver 2022-08-13 12:54:18 +02:00
Dennis Reimann
de24a6e71b LNURL controller refactoring
By moving the `amount is null` check up, this prevents cases in which the `paymentMethodDetails.GeneratedBoltAmount != amount` check fails because of amount being null.
2022-08-12 20:10:44 +02:00
Davide Oggioni
8c8a5a4f5e Edit view for Pull Payments (#4016)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-08-11 14:30:42 +02:00
Kukks
7f41a1ef09 bump and changelog for 1.6.7 2022-08-10 10:07:15 +02:00
Kukks
15e1169f62 Fix Kraken rate provider 2022-08-10 08:20:41 +02:00
Wouter Samaey
de92677b69 Custodian Account Deposit UI (#4024)
Co-authored-by: d11n <mail@dennisreimann.de>
2022-08-09 20:03:55 +02:00
Dennis Reimann
377ed95130 Upgrade Lightning library 2022-08-09 19:57:43 +02:00
Dennis Reimann
1b1c7ad3b1 Bind app server to 0.0.0.0 to make it accessible on the local network
This way it can be accessed with other devices on the local network. It helps test with mobile devices for instance.
2022-08-08 11:15:24 +02:00
Umar Bolatov
e4e0fb0f35 Ensure store button shows up correctly before store is created
fix #3972
2022-08-07 20:44:28 +02:00
Kukks
bf0cbf24e4 bump and changelog for 1.6.6 2022-08-06 17:07:41 +02:00
Kukks
7d454a4c7b make sure entity state gets modified in payout processors 2022-08-06 17:05:29 +02:00
nicolas.dorier
680f1470cf Update app store links, add Authy as two factor app 2022-08-04 12:49:53 +09:00
nicolas.dorier
1854fd307f Fix tests and warnigns 2022-08-04 12:42:15 +09:00
nicolas.dorier
6239f9da75 Bump 2022-08-04 12:11:21 +09:00
nicolas.dorier
40e39b82e8 Fix several potential NullReferenceException (Fix #4017) 2022-08-04 12:08:13 +09:00
Wouter Samaey
c71e671311 Added custodian account trade support (#3978)
* Added custodian account trade support

* UI updates

* Improved UI spacing and field sizes + Fixed input validation

* Reset error message when opening trade modal

* Better error handing + test + surface error in trade modal in UI

* Add delete confirmation modal

* Fixed duplicate ID in site nav

* Replace jQuery.ajax with fetch for onTradeSubmit

* Added support for minimumTradeQty to trading pairs

* Fixed LocalBTCPayServerClient after previous refactoring

* Handling dust amounts + minor API change

* Replaced jQuery with Fetch API + UX improvements + more TODOs

* Moved namespace because Rider was unhappy

* Major UI improvements when swapping or changing assets, fixed bugs in min trade qty, fixed initial qty after an asset change etc

* Commented out code for easier debugging

* Fixed missing default values

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-08-04 11:38:49 +09:00
nicolas.dorier
2ea6eb09e6 Update changelog 2022-08-03 21:41:39 +09:00
d11n
55c39a12bc Checkout UI fix (#4015)
* Fix checkout UI bottom padding for paid state

* Improve public receipt form spacings
2022-08-03 21:31:16 +09:00
nicolas.dorier
14cb65eb6a Minor refactor 2022-08-03 18:36:25 +09:00
Andrew Camilleri
a753459a6d Fix update webhooks (#4011)
* Fix update webhooks

* Update swagger for webhook update
2022-08-03 18:35:31 +09:00
Dennis Reimann
bbce4451aa Add ability to mark auth handle as successful
Without this, there is no way to let the handle finish with a successful state. I somehow missed to add this in #3977.
2022-08-02 11:55:31 +02:00
d11n
1e378dd986 Plugins: Add authorization hook (#3977)
* Plugins: Add authorization hook

Makes the `PolicyRequirement` available to plugins.
Adds a filter hook to the authorization handlers, so that plugins can extend and leverage the existing authorization policies and permissions.

* Update to pass back and forth handle class
2022-08-02 14:20:16 +09:00
Kukks
3db2b60b92 Add loopback client for local webhooks to skip ssl 2022-08-01 16:14:50 +02:00
Kukks
2317a7df55 Make InvoicePaymentSettled return correct afterExpiration value
fixes #3966
2022-08-01 11:16:26 +02:00
Kukks
c53fcde12a Do not crash when BTC network not available
fixes #4007
2022-08-01 10:44:39 +02:00
Kukks
4be5eb39ff Make tx label endpoint not error 2022-07-28 15:33:28 +02:00
Kukks
5ef31a96ea Provide error when plugin gets disabled due to crash 2022-07-28 15:31:34 +02:00
nicolas.dorier
0d017c30e2 Fix: Joule -> Alby 2022-07-27 16:12:37 +09:00
BitcoinMitchell
92d85fa8a7 Added Alby, as Joule has been delisted on Chrome (#3934)
* Added Alby, as Joule has been delisted on Chrome

* Add files via upload
2022-07-27 16:11:42 +09:00
Nicolas Dorier
c2a0daedeb Bump versions of various deps (#3998) 2022-07-27 15:55:37 +09:00
Bitcoiner A Bee⚡
51642bc4cc Update ListInvoices to say Settled instead of Paid (#4000)
Updated ListInvoices to say Settled instead of Paid

Co-authored-by: The Bitcoin Developer  <96552652+theBitcoinDeveloper@users.noreply.github.com>
2022-07-27 15:55:23 +09:00
rockstardev
c821208b5d Bumping LND to 0.15.0-beta (#3999) 2022-07-26 20:09:56 +09:00
nicolas.dorier
a3d536bd51 Changelog and bump 2022-07-23 20:39:15 +09:00
nicolas.dorier
f7262d12e6 Update lang 2022-07-23 20:37:56 +09:00
Andrew Camilleri
bec888da19 Payjoin label fixes (#3986)
* Payjoin label fixes

* When a payjoin label was applied, coin selection filter would not work
* When a payjoin happened with a receive address wallet, the payjoin label was not applied
* Coin selection shows when a utxo is currently reserved for a payjoin. Applies both to UI and to GF API

* remove reserved label

* Update BTCPayServer/Payments/PayJoin/PayJoinEndpointController.cs
2022-07-23 20:26:13 +09:00
d11n
2e6246e385 Move TagHelpers to Abstractions (#3975)
* Move TagHelpers to Abstractions

Makes them available for use in plugins. Also cleans up the tag helper references in the view code: As we have it in the root view imports, the individual directives in the views are superfluous.

* Move CurrenciesSuggestionsTagHelper back

To get rid of the Rating dependency in Abstractions.
2022-07-22 21:58:25 +09:00
d11n
a9a0bf01ad Design updates (#3981)
Contains the following design system PRs:
- btcpayserver/btcpayserver-design#50
- btcpayserver/btcpayserver-design#51
- btcpayserver/btcpayserver-design#52
2022-07-22 21:53:13 +09:00
Dennis Reimann
8dd3c76fa4 Make it work with decimal discount values 2022-07-22 13:31:41 +02:00
Dennis Reimann
a7c22399d8 Minor JS improvements 2022-07-22 13:31:41 +02:00
Dennis Reimann
04cb8a2fe0 Minor toggle improvement 2022-07-22 13:31:41 +02:00
Umar Bolatov
494739f771 Add discount option for Keypad POS app type
See https://chat.btcpayserver.org/btcpayserver/pl/ju5bu6r8qjfe9mrxdri3kihpby for details
2022-07-22 13:31:41 +02:00
Andrew Camilleri
6fbcc9a244 Fix Crowdfund + additional issues (#3994)
* Show free when invoice is fixed and 0 amount in apps
* animations on crowdfund not enabled broke JS
* Perk expansion in crowdfund was broken
2022-07-22 20:30:39 +09:00
d11n
d016f59867 Coin Selection: Fix responsive display (#3992)
Fixes #3985.
2022-07-22 20:29:53 +09:00
Andrew Camilleri
88f8f3938c Make app invoices show link to app in receipt (#3995) 2022-07-22 20:29:34 +09:00
Kukks
1322fd97f6 Revert "Redirect instead of show 404 on 0 amount invoices"
This reverts commit 7f617df4e8.
2022-07-22 06:21:41 +02:00
Kukks
7f617df4e8 Redirect instead of show 404 on 0 amount invoices
fixes #3904
2022-07-21 14:33:39 +02:00
Kukks
b02542f3be Do not crash on bad language file 2022-07-21 11:09:51 +02:00
Kukks
5fd620556e Fix Local client
This cleans up the client factory for plugins so that it is less hectic looking. Additionally, it fixes a bug where if you reuse the factory after setting a store, the state might stick.
2022-07-20 18:20:14 +02:00
nicolas.dorier
218d64d8df Update Changlog, and bump 2022-07-15 12:47:15 +09:00
d11n
e8291eb00e Move ConfirmModel to Abstractions (#3964)
To make it available to plugins.
2022-07-15 12:38:33 +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
nicolas.dorier
83c35328ed Fix: No pager in the wallet transactions list 2022-07-15 12:35:57 +09:00
Pavlenex
f548d78907 Merge pull request #3965 from dennisreimann/new-supporters
Supporters: Add Strike and HRF
2022-07-12 15:31:30 +02:00
Dennis Reimann
5aca8b41af Supporters: Add Strike and HRF 2022-07-12 15:14:02 +02:00
Umar Bolatov
a7b6f3fa19 Redirect to dashboard instead of apps list on app delete (#3941)
close #3898
2022-07-12 15:18:08 +09:00
Andrew Camilleri
afb989d72e Fix lnurl withdraw modal (#3955)
* Fix lnurl withdraw modal

fixes #3949

* Fix test
2022-07-12 15:17:44 +09:00
rustywave
12c96c7a74 Fix webhook display bug (#3959)
Specific events list now displays correctly when modifying specific events webhook
2022-07-12 12:37:02 +09:00
d11n
79bfffd77b Invoice summary: Fix indentation and heading levels (#3956) 2022-07-12 12:35:19 +09:00
nicolas.dorier
58d68e7e31 Update changelog 2022-07-11 23:42:15 +09:00
nicolas.dorier
499352e51c Fix the ExchangeSharpRateProvider for some pairs 2022-07-11 23:39:11 +09:00
nicolas.dorier
03fbd51fab bump 2022-07-11 23:13:35 +09:00
nicolas.dorier
bd73cac1a1 Fix: For some asset pair the kraken rate was inverted (Fix #3957) 2022-07-11 23:09:35 +09:00
nicolas.dorier
0c43fda86d Prevent stackoverflow exception when ripio is unavailable 2022-07-11 23:08:59 +09:00
Kukks
a64b8fb310 Update test plugin with more data related functionality 2022-07-11 11:29:57 +02:00
nicolas.dorier
316d39f24c Update Changelog 2022-07-09 11:29:33 +09:00
nicolas.dorier
265e2930f1 bump 2022-07-08 16:54:35 +09:00
Nicolas Dorier
9511cf8d8a Update changelog (#3913) 2022-07-08 16:53:41 +09:00
nicolas.dorier
b86f0a7d9c Make BTCPay ssh key using safe algo 2022-07-08 16:32:43 +09:00
nicolas.dorier
19be847624 Do not use Renci.SSH in tests 2022-07-08 16:30:52 +09:00
nicolas.dorier
15e45ac4ec Bump SSH.NET 2022-07-08 16:08:21 +09:00
nicolas.dorier
86572635df Fix build 2022-07-08 16:05:40 +09:00
nicolas.dorier
4a5c51d7a3 Update sln 2022-07-08 12:43:11 +09:00
nicolas.dorier
8530cf3535 Make sure we do not expose lightning services if not admin 2022-07-08 12:42:36 +09:00
Nicolas Dorier
eec54831ef Update lightning lib, on-chain balance shouldn't be lightmoney (#3945) 2022-07-08 10:55:26 +09:00
nicolas.dorier
a41e98910d Update langs 2022-07-08 10:41:43 +09:00
Umar Bolatov
be985466a3 Add payouts docs link (#3942) 2022-07-08 10:27:04 +09:00
Umar Bolatov
98fb46957a Add error message when invoice could not be created (#3943)
If user requested to create an invoice for a payment method which is not set up for their store we currently return a generic error. This PR updates the logic so that we return a more specific error in this case.

closes #3830
2022-07-08 10:23:26 +09:00
Wouter Samaey
2abc35058b Custodian Account UI: CRUD (#3923)
* WIP New APIs for dealing with custodians/exchanges

* Simplified things

* More API refinements + index.html file for quick viewing

* Finishing touches on spec

* Switched cryptoCode to paymentMethod as this allows us to differentiate between onchain and lightning

* Moved draft API docs to "/docs-draft"

* WIP baby steps

* Added DB migration for CustodianAccountData

* Rough but working POST /v1/api/custodian-account + GET /v1/api/custodian

* WIP + early Kraken API client

* Moved service registration to proper location

* Working create + list custodian accounts + permissions + WIP Kraken client

* Kraken API Balances call is working

* Added asset balances to response

* List Custodian Accounts call does not load assetBalances by default, because it can fail. Can be requested when needed.

* Call to get the details of 1 specific custodian account

* Added permissions to swagger

* Added "tradableAssetPairs" to Kraken custodian response + cache the tradable pairs in memory for 24 hours

* Removed unused file

* WIP + Moved files to better locations

* Updated docs

* Working API endpoint to get info on a trade (same response as creating a new trade)

* Working API endpoints for Deposit + Trade + untested Withdraw

* Delete custodian account

* Trading works, better error handling, cleanup

* Working withdrawals + New endpoint for getting bid/ask prices

* Completed withdrawals + new endpoint for getting info on a past withdrawal to simplify testing, Enums are output as strings,

* Better error handling when withdrawing to a wrong destination

* WithdrawalAddressName in config is now a string per currency (dictionary)

* Added TODOs

* Only show the custodian account "config" to users who are allowed

* Added the new permissions to the API Keys UI

* Renamed KrakenClient to KrakenExchange

* WIP Kraken Config Form

* Removed files for UI again, will make separate PR later

* Fixed docs + Refactored to use PaymentMethod more + Added "name" to custodian account + Using cancelationToken everywhere

* Updated withdrawal info docs

* First unit test

* Complete tests for /api/v1/custodians and /api/v1/custodian-accounts endpoints + Various improvements and fixes

* Mock custodian and more exceptions

* Many more tests + cleanup, moved files to better locations

* More tests

* WIP more tests

* Greenfield API tests complete

* Added missing "Name" column

* Cleanup, TODOs and beginning of Kraken Tests

* Added Kraken tests using public endpoints + handling of "SATS" currency

* Added 1st mocked Kraken API call: GetAssetBalancesAsync

* Added assert for bad config

* Mocked more Kraken API responses + added CreationDate to withdrawal response

* pr review club changes

* Make Kraken Custodian a plugin

* Re-added User-Agent header as it is required

* Fixed bug in market trade on Kraken using a percentage as qty

* A short delay so Kraken has the time to execute the market order and we don't fetch the details too quickly.

* Merged the draft swagger into the main swagger since it didn't work anymore

* Fixed API permissions test

* Removed 2 TODOs

* Fixed unit test

* After a utxo rescan, the cached balance should be invalidated

* Fixed Kraken plugin build issues

* Added Kraken plugin to build

* WIP UI + config form

* Create custodian account almost working - only need to add in the config form

* Working form, but lacks refinement

* Viewing balances + Editing custodian account works, but cannot change the withdrawal destination config because that is an object using a name with [] in it

* cleanup

* Minor cleanup, comments

* Working: Delete custodian account

* Moved the MockCustodian used in tests to a new plugin + linked it to the tests

* WIP viewing custodian account balances

* Split the Mock custodian into a Mock + Fake, various UI improvements and minor fixes

* Minor UI fixes

* Removed broken link

* Removed links to anchors as they cannot pass the tests since they use JavaScript

* Removed non-existing link. Even though it was commented out, the test still broke?

* Added TODOs

* Now throwing BadConfigException if API key is invalid

* UI improvements

* Commented out unfinished API endpoints. Can be finished later.

* Show fiat value for fiat assets

* Removed Kraken plugin so I can make a PR


Removed more Kraken files

* Add experimental route on UICustodianAccountsControllre

* Removed unneeded code

* Cleanup code

* Processed Nicolas' feedback

Co-authored-by: Kukks <evilkukka@gmail.com>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-07-07 22:42:50 +09:00
nicolas.dorier
35f97a6013 Add link to the order id if there is a orderUrl 2022-07-07 21:55:00 +09:00
nicolas.dorier
b8d509eb12 Show order id in invoice details even if orderUrl is not present 2022-07-07 21:54:45 +09:00
Umar Bolatov
d6f13be95f Redirect to invoice details instead of list upon creation (#3936)
* Redirect to invoice details instead of list upon creation

close #3909

* fix tests
2022-07-07 21:47:59 +09:00
d11n
4dad27bb76 Add v1.6.0 to the What's New modal (#3932) 2022-07-07 12:41:13 +09:00
Umar Bolatov
efe1686c05 Don't show "Set up a Lightning node" when LN is not supported (#3935)
See discussion here: https://github.com/btcpayserver/btcpayserver/discussions/3868
2022-07-07 10:38:51 +09:00
Andrew Camilleri
09462e6877 Enhance Store email capability (#3911)
* Enhance Store email capability

Currenty the new email rules can send an email when an invoice event occurs. However, there is currently no way to customize the email based on the invoice, making the feature a bit useless.

This PR:
* adds the rich text editor to the body input
* allows you to use some of the properties from the Invoice (based on greenfield api properties. I've taken a imple approach for now using just  a string.replace mechanism, but we can update this to a dynamic linq approach so that users can customize further (e.g. `{Invoice.Metadata["something"].ToString().ToUpper()}`)

NOT READY:
Since this all takes place as a background service, there is an issue around how to handle items such as the "checkout link", as we are not aware of the btcpay url at that moment. Thoughts? @nicolasdorier

* fix typo and make it simpler for now

* remove dditor
2022-07-06 22:17:33 +09:00
Andrew Camilleri
612a0397a7 Make LNURL enabled when only method (#3930)
* Make LNURL enabled when only method

This fixes the scenario where LNURL for standard invoices are disabled, but the POS Print view only shows LNURL, so the QR code would always error out. The fix is to bypass the setting when lnurl is the only enabled payment method on the invoice

* Make sure not to affect other flows

* fix
2022-07-06 22:09:05 +09:00
Andrew Camilleri
3576ebd14f Public Invoice receipt (#3612)
* Public Invoice receipt

* implement payment,s qr, better ui, and fix invoice bug

* General view updates

* Update admin details link

* Update view

* add missing check

* Refactor

* make payments and qr  shown by default
* move cusotmization options to own ReceiptOptions
* Make sure to sanitize values inside PosData partial

* Refactor

* Make sure that ReceiptOptions for the StoreData is never null, and that values are always set in API

* add receipt link to checkout and add tests

* add receipt  link to lnurl

* Use ReceiptOptions.Merge

* fix lnurl

* fix chrome

* remove i18n parameterization

* Fix swagger

* Update translations

* Fix warning

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-07-06 21:14:55 +09:00
nicolas.dorier
2a190d579c Show lightning balances even of 0 2022-07-06 15:40:00 +09:00
nicolas.dorier
67abc107c5 Do not prefilter if label filter in transaction view 2022-07-06 13:00:41 +09:00
dstrukt
9ec2052428 ui+stores: updates switches ui to be consistent with other switches (#3929) 2022-07-06 12:43:22 +09:00
d11n
657423207b Async dashboard (#3916)
* Dashboard: Load Lightning balance async, display default currency

* Simplify approach, improve views and scripts

* Async tiles


Async tiles

* Add period for app sales

* Fix missing keypad view sales

* Fix after rebase

* Fix awaited call

* Fix build

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2022-07-06 12:40:16 +09:00
Nicolas Dorier
19aaff2345 Merge pull request #3928 from dennisreimann/build-warnings
Fix build warnings
2022-07-06 12:16:15 +09:00
Nicolas Dorier
8873c51f2b Merge pull request #3926 from NicolasDorier/improveperfbigwallet
Improve performance of on chain transaction listing for big wallets
2022-07-05 14:54:27 +09:00
nicolas.dorier
2ba24ba56b Tests should use explorer.postgres 2022-07-05 14:39:50 +09:00
nicolas.dorier
52f5d21480 Improve performance of on chain transaction listing for big wallets 2022-07-05 14:23:13 +09:00
Dennis Reimann
0405cda9d6 Fix build warnings 2022-07-04 19:05:25 +02:00
d11n
b422e79896 Add test cases for wallet send wizard links (#3927) 2022-07-04 21:59:46 +09:00
d11n
181d4d5ea4 Improve wallet nav (#3921)
* Fix rescan nav highlighting

* Wallet send wizard

* Wallet receive wizard

* Consistent wizard back button behaviour
2022-07-04 13:20:08 +09:00
nicolas.dorier
f30ddbf175 Fix spurious crash at shutdown 2022-07-04 13:17:36 +09:00
d11n
2c3b8d8925 Dashboard: Load Lightning balance async, display default currency (#3907)
* Dashboard: Load Lightning balance async, display default currency

* Simplify approach, improve views and scripts

* Remove LightMoney converters
2022-07-04 11:03:16 +09:00
nicolas.dorier
2e2c6aef83 Fix warning 2022-07-02 20:39:34 +09:00
Kukks
e511538ba6 Fix: Local client factory when no user is specified would fail on some edge case auth scenarios 2022-07-01 09:03:32 +02:00
d11n
c12e08ef01 Open public app views in new tab/window (#3920) 2022-07-01 13:31:11 +09:00
Andrew Camilleri
0970944ee4 Add refund badge to invoice lists (#3918)
* Add refund badge to invoice lists

* fix badge
2022-07-01 13:26:00 +09:00
Kukks
4eabe91cee remove lnurl from crowdfund as per requests 2022-06-30 14:25:52 +02:00
Dennis Reimann
cf747f1e07 Fix missing refund flow error message
Fixes #3919.
2022-06-30 14:25:15 +02:00
Kukks
e5a1da7136 Fix: Refund flow failed when lnurl was the only payment method 2022-06-30 08:52:56 +02:00
Kukks
27b6cf436b fix cheat mode when default payment is not onchain 2022-06-30 08:46:34 +02:00
Nicolas Dorier
e4866a8265 Can disable cert check for email server (#3908) 2022-06-29 23:38:44 +09:00
nicolas.dorier
d90cc02e5a CI: Try docker-compose pull several times 2022-06-29 23:37:38 +09:00
nicolas.dorier
23a1a8e3f5 Add title on link of ln services in the dashboard 2022-06-29 23:31:25 +09:00
Andrew Camilleri
b8f1c0df09 Create interface for providing store id to plugins (#3910) 2022-06-29 23:18:02 +09:00
Dennis Reimann
ed1f249aaf Fix empty permissions case 2022-06-29 15:36:54 +02:00
Dennis Reimann
eef7539c2d Fix selective stores case 2022-06-29 15:36:54 +02:00
Dennis Reimann
1bb35bf545 Limit selection to one store 2022-06-29 15:36:54 +02:00
Dennis Reimann
2b9cb4a257 Better handling of confirm case (existing API key) 2022-06-29 15:36:54 +02:00
Dennis Reimann
209cff8888 View improvements 2022-06-29 15:36:54 +02:00
Dennis Reimann
9e253ac7a3 Test improvements 2022-06-29 15:36:54 +02:00
Dennis Reimann
27c5b16957 Improve views; fix tests 2022-06-29 15:36:54 +02:00
Dennis Reimann
2f1df3be7d Autofocus confirm modal input 2022-06-29 15:36:54 +02:00
Dennis Reimann
bb4a28ecd8 Refactor Authorize UI
Closes #2902.
2022-06-29 15:36:54 +02:00
Kukks
54c20b26cc Fix NRE 2022-06-29 15:33:48 +02:00
nicolas.dorier
4a71b952b6 Revert "Fix: If SMTP port is 25, SSL shouldn't be used"
This reverts commit 9423bc4ea7.
2022-06-29 15:12:30 +09:00
Andrew Camilleri
3d7f628014 Support Lnurl Withdraw in pull payments (#3709)
* Support Lnurl Withdraw

* cleanup and small fixes

* remove putin brace
2022-06-28 23:02:17 +09:00
Nicolas Dorier
c63529ea99 Fix: Warnings and view build issues during dotnet publish (#3902) 2022-06-28 17:38:59 +09:00
d11n
d43bdcc1a2 UI: Fix cancel plugin command (#3903)
* UI: Fix cancel plugin command

As installing a plugin also adds the delete/uninstall command, we just select the last action, which is the one the user triggered. 

Fixes #3890.

* Apply suggestions from code review

https://stackoverflow.com/questions/50100688/check-if-value-tuple-is-default
2022-06-28 17:38:47 +09:00
d11n
a4aa6c5ab9 Fix email rule remove action (#3901)
It simply exited to early by returning the view. The updated rules didn't get saved afterwards.
2022-06-28 14:10:45 +09:00
d11n
6d3e1bb40a Dashboard: Add Point Of Sale data (#3897)
* Dashboard: Add Point Of Sale data

Closes #3675.

* LNURL: Add POS redirect URL

* POS: Fix invoices link

* Fix integration tests

* Simplify data aggregation

* Improve chart display
2022-06-28 14:05:02 +09:00
d11n
9428347cb6 Crowdfund finetuning (#3488)
* Update crowdfund defaults

* Crowdfund: Move sound, animation and discussion into additional options

* Update sound URLs

Fixes #3745.

* Update featured image URL label

* Improve the recurring goal section

* Crowdfund: Goal section finetuning
2022-06-28 12:03:13 +09:00
nicolas.dorier
618666abf1 bump mailkit 2022-06-27 10:58:57 +09:00
nicolas.dorier
9423bc4ea7 Fix: If SMTP port is 25, SSL shouldn't be used 2022-06-27 10:54:02 +09:00
Umar Bolatov
95b9e4dfd9 Add basic Greenfield API Get and Delete operations for apps (#3894)
* Add basic Greenfield API Get and Delete operations for apps

Will follow-up with PATCH and also with GET which returns more than just basic data later. This sets up the basic stuff first.

* Add methods to LocalBTCPayServerClient
2022-06-27 10:14:16 +09:00
d11n
61c6a2ab57 Greenfield: Add balance endpoint (#3887)
* Greenfield: Add balance endpoint

* Remove superfluous try/catch
2022-06-23 13:42:28 +09:00
Nicolas Dorier
c89f7aaaed Improve email settings validation and UX (#3891) 2022-06-23 13:41:52 +09:00
Andrew Camilleri
c2d72e71aa Store Emails (#3611)
* Store Emails

* fix test

* Update email rules layout

* Cleanups

* Test cleanups

* Add back comments

* Update view; add test

* Show email rules link even if email settings aren't completed

* Validate email addresses

* No redirect, display warning

* Fix test

* Refactoring: Change email argument types to MailAddress

* Test fix

* Refactoring: Use MailboxAddress

* Parse emails properly in controllers and backend

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-06-22 12:05:32 +09:00
d11n
af93cf2adb Lightning balance: Handle null values (#3886)
* Lightning balance: Handle null values

* Upgrade Lightning lib
2022-06-21 16:09:18 +09:00
Umar Bolatov
7a75a8c254 Fix nav height issue on mobile devices (#3888)
close #3807
2022-06-21 13:04:50 +09:00
Nicolas Dorier
0aa7dacbca Add spam rate limits for public invoice endpoints (Fix #3782) (#3889) 2022-06-21 12:33:20 +09:00
dstrukt
9d41a52d3b Remove Store ID from Store Settings & various minor UI tweaks (#3881)
* ui+layout: update main container padding

* ui+invoice: updates archive button

* ui+users: updates search input
2022-06-20 16:02:12 +09:00
d11n
c943303a45 Dashboard balance fixes (#3876)
* Fix wallet balance for case crypto code == default currency

* Handle old NBXplorer backend case

* Cleanup
2022-06-20 14:31:22 +09:00
nicolas.dorier
b2a5b3c3c4 Fix tests 2022-06-20 13:36:01 +09:00
gruve-p
495d4b82cf Fix warning from CLI parser (#3875) 2022-06-20 13:07:58 +09:00
Andreas Tasch
ea2a200302 Adding description to speedPolicy parameter. (#3877) 2022-06-20 13:07:24 +09:00
dstrukt
c531b26821 Updates Crowdfund & POS Modal (#3806)
* ui+cf: updates perks modal

* Toggle editor with Bootstrap

* Add currency info to app items

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-06-20 11:55:47 +09:00
dstrukt
cade6c6c38 Move View action to the Name column in Payouts & Payment Requests (#3873)
* ui+paymentrequest: moves 'view' link to name

* ui+pull: moves 'view' link to name column

* Update links, fix tests

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-06-20 11:52:12 +09:00
d11n
c56821300a Server Settings: Consolidate Storage and Files (#3863)
* Server Settings: Consolidate Storage and Files

* Improve storage options name display

* Remove file services from services page

* Remove more code
2022-06-15 21:06:16 +09:00
Saksham Solanki
346821f0d6 Added toggle button to switch to store default currency (#3752)
* Added toggle button to switch to store default currency

* Replaced ["usd"] with the currency variable

* Fix indentation and improve JS part

* Update script and display

* Improve chart display

* Improve rate display

* Address code review comments

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-06-15 16:33:24 +09:00
nicolas.dorier
0da97c5da3 Report shopify errors to the UI (Fix #3853) 2022-06-15 14:12:47 +09:00
d11n
f0e013e1f8 Make Pay Button a plugin (#3862)
* Move files

* Fix potentially missing default payment method

Before, it got removed if any other value was changed besides the default payment method.

* Fix missing store data

* Update BTCPayServer/Plugins/PayButton/PayButtonPlugin.cs

Co-authored-by: Pavlenex <pavle@pavle.org>

* Update pay button warning

Closes #3535.

Co-authored-by: Pavlenex <pavle@pavle.org>
2022-06-15 11:32:46 +09:00
dstrukt
8a144f3c35 removes plugin (#3805) 2022-06-15 11:19:02 +09:00
d11n
f48bb5a40a Fix build warnings (#3870)
Fixes #3866.
2022-06-15 11:17:10 +09:00
Pavlenex
3abde67671 Merge pull request #3865 from dennisreimann/fullynoded
Update Fully Noded link
2022-06-14 19:22:32 +02:00
Dennis Reimann
59b2e2dba1 Update Fully Noded link 2022-06-14 10:01:10 +02:00
d11n
479f21f4f3 Dashboard: Add Lightning balances and services (#3838)
* Update Lightning lib

* Refactoring: Move Lightning methods and props to ExternalServices

* Rename Lightning services

* Add Lightning balance to dashboard

* Split Lightning dashboard tiles

* View updates
2022-06-14 14:36:22 +09:00
Andrew Camilleri
4a0f10ea99 Support LN connection string with onion http client (#3845)
I'm not sure if onion based ln conenction strings ever worked in btcpay? closes #1648
2022-06-13 16:22:26 +09:00
Andrew Camilleri
9a24e4ade1 Store Settings feature with own table (#3851)
* Store Settings feature with own table

* fix test

* Include the store settings to StoreRepository, remove caching stuff

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-06-13 13:36:47 +09:00
nicolas.dorier
4691e896a1 Fix invoice index migration 2022-06-13 12:37:38 +09:00
dstrukt
869411a977 ui+dashboard: small margin tweaks (#3856) 2022-06-13 10:48:36 +09:00
dstrukt
68bd40d2a4 Improves Invoice Summary accordion view (#3859)
* ui+site: moves invoice css

* ui+invoice: improves invoice summary and partials
2022-06-13 10:47:26 +09:00
Pavlenex
cb8fe24a77 Add new issue forms for filing Bug Reports (#3846)
* remove old .md template, add new issue form

* Update .github/ISSUE_TEMPLATE/bug_report.yml

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Update .github/ISSUE_TEMPLATE/bug_report.yml

Co-authored-by: d11n <mail@dennisreimann.de>

* change browser from drop down to textfield

* fix github yaml validation

* enable blank templates

* emoji consistency

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
Co-authored-by: d11n <mail@dennisreimann.de>
2022-06-10 13:35:31 +02:00
Dennis Reimann
eb65949b69 Mobile header improvements
- Moves the menu button to the left, besides the logo
- Improves width and text display of the store selector
 
Closes  #3826.
2022-06-10 09:11:26 +02:00
Umar Bolatov
fdf6f68624 Remove unused "using" directive 2022-06-10 08:39:01 +02:00
Umar Bolatov
d0e01768ab Allow excluding unconfirmed UTXOs when creating a new transaction with Greenfield API
See original request: https://github.com/btcpayserver/btcpayserver/discussions/3737
2022-06-10 08:39:01 +02:00
Dennis Reimann
fd3d389557 Notifications: Fix mark all as seen return URL
Fixes the return URL for the case in which the dropdown content got replaced after a notification update: As the refresh request is done via AJAX, the return URL previously was `/notifications/getnotificationdropdownui` (the `Context.Request.GetCurrentPathWithQueryString()` value of the AJAX action).

We need to pass in the URL of the actual current page as the return URL.
2022-06-10 08:17:06 +02:00
Kukks
3d63e12c9e fix test 2022-06-09 12:43:28 +02:00
Kukks
ac6770bdff Add Buda rate provider for CLP
closes #3766
2022-06-09 12:01:40 +02:00
rustywave
2ad2ce6c3b Fixed issue with users when disabling then setting admin
Concurrency issue; moved user update from controller to service
2022-06-07 13:04:21 +02:00
Andrew Camilleri
fcbe1dd8eb Fix: Local Client Factory was not properly handling the override for auth (#3799)
* Fix: Local Client Factory was not properly handling the override for auth

* implement nonimplemented method
2022-06-06 22:57:55 +09:00
dstrukt
df618d1aa2 Simple Notification Modal Improvement (#3784)
* ui+layout: updates notification modal overlay

* Update BTCPayServer/wwwroot/main/layout.css

Co-authored-by: d11n <mail@dennisreimann.de>
2022-06-06 18:58:57 +09:00
dstrukt
b846f16e6c ui+pos: update notification copy (#3801) 2022-06-06 18:58:32 +09:00
d11n
51ab9746de UI: Minor 2FA improvements (#3812)
Styles the "Remember me" checkbox on login and sets a proper width for the verification code field.
2022-06-06 18:57:42 +09:00
Andrew Camilleri
ae10d0c7fd Bump and fix rate providers (#3813)
* Bump and fix rate providers

* fix
2022-06-06 18:56:50 +09:00
rustywave
a443426d83 Fix remove and enable issues with non-last-admin
"Remove" issue likely due to multiple context instances. "Enable" issue due to conditional check.

Discovered bug with users when first disabling, then marking as admin, which remains an issue.
2022-06-06 10:43:06 +02:00
Kukks
f2aa4d4484 fix swagger test 2022-06-06 10:40:57 +02:00
beeforbacon
4579dc9385 Update UIManageController.APIKeys.cs
Fixed grammar.
2022-06-06 10:36:17 +02:00
Dennis Reimann
8ef8c97072 Refactoring: Bitpay Rate Controller
Some tweaks I did when working on #3752.
2022-06-06 10:34:52 +02:00
Dennis Reimann
84fcd1c1b5 Add custom bg and border classes 2022-06-06 10:32:15 +02:00
dstrukt
d0e6bcd784 ui+payout: removes border 2022-06-06 10:32:15 +02:00
Dennis Reimann
1142ff884e Update payment data partials 2022-06-06 09:41:23 +02:00
Kukks
29080e9d7d Add Refunds list to Invoice details page
(this is missing the refunded badge and progress as I have another PR that makes this easier to compute to show)
2022-06-06 09:41:23 +02:00
Dennis Reimann
04c3191795 Layout cleanups
Just some minor cleanups
2022-06-06 09:33:19 +02:00
rustywave
9d75225bd5 Redirect create and edit payment request to list view upon completion
Create and edit now redirect to list view. Both actions use the same method. Also updated notification message.

Kept extraneous redirect value for xUnit tests. Update selenium test to account for redirect to list view.
2022-06-06 07:53:41 +02:00
Dennis Reimann
ce85bd26df Fix change domain documentation link 2022-06-03 10:49:28 +02:00
d11n
ba0e46b465 Improve payouts UI (#3792)
* Improve payouts UI

* Display units

* Update badges

* Update badge background
2022-06-02 11:03:06 +02:00
d11n
5616b7550f Improve Refund Flow (#3731) 2022-06-02 10:08:55 +02:00
Nicolas Dorier
fcd6159b42 Merge pull request #3511 from bolatovumar/feat/api/apps
Add support for creating POS apps through Greenfield API
2022-06-02 14:13:25 +09:00
nicolas.dorier
02e5e1bc1e Fix CheckNoDeadLink which can enter in infinite loop 2022-06-02 13:26:14 +09:00
nicolas.dorier
6d83a00728 Rename tags of PoS API in swagger 2022-06-02 13:07:02 +09:00
Umar Bolatov
d697c2ac9e Add fallback values for buttons 2022-05-31 22:27:03 -07:00
Umar Bolatov
c917aec401 Add PosViewType enum 2022-05-31 22:25:04 -07:00
Dennis Reimann
89c1b94a12 Dashboard: Do not display archived invoices in recent invoices
Fixes #3783.
2022-05-31 13:20:16 +02:00
d11n
46b9760179 Greenfield: Fix GetDepositAddress return type (#3790)
The local clients GetFromActionResult cannot handle the JValue return type, because it gets invoked with GetFromActionResult<string>.
2022-05-31 19:15:38 +09:00
Dennis Reimann
ff66e66f21 PluginPacker: Shell fallback for macOS/Linux 2022-05-30 11:47:06 +02:00
Seth For Privacy
b1f62f74cd Update language to explicitly request view-only wallet files
Right now the tooltips displayed do not specify using a view-only wallet, but there is no reason to upload full keys to BTCPay Server and view-only keys are actually the BTCPay Server recommendation.

Updated language in the UI to reflect that and made some minor improvements to the other language used in the UI here.
2022-05-29 12:12:55 +09:00
nicolas.dorier
a0d0f1f98b Error when broadcasting transactions weren't shown in the UI 2022-05-28 21:36:42 +09:00
Kukks
f08f064bc6 add changelog and bump 2022-05-28 14:05:16 +02:00
nicolas.dorier
20d653798c After a utxo rescan, the cached balance should be invalidated 2022-05-28 10:21:55 +02:00
Umar Bolatov
a9e08dd587 Allow resending verification email for users (#3726)
* Allow resending verification email for users

Partially address #3645

* Replace RequiresEmailConfirmation with Verified

* Use confirmation modal

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-05-27 13:36:47 +09:00
Nicolas Dorier
5dba4a2201 Merge pull request #3778 from dennisreimann/pp-sats
Allow pull payments denominated in SATS to be claimed
2022-05-25 20:59:42 +09:00
Dennis Reimann
c964870416 Allow pull payments denominated in SATS to be claimed
Fixes #3750.
2022-05-25 12:59:57 +02:00
nicolas.dorier
cfbf081cac bump 2022-05-25 19:33:39 +09:00
Nicolas Dorier
bad429e853 Merge pull request #3777 from NicolasDorier/fuowiuiq
Fix: Invoices from shopify had empty orderId (Fix #3769)
2022-05-25 19:32:28 +09:00
nicolas.dorier
8ce7466dc1 Fix: Invoices from shopify had empty orderId (Fix #3769) 2022-05-25 19:10:49 +09:00
Nicolas Dorier
1ffa067d5f Merge pull request #3775 from dennisreimann/wallet-export-ui-fixes
Wallet export UI fixes
2022-05-25 18:16:28 +09:00
Dennis Reimann
b595763446 Wallet export UI fixes 2022-05-24 16:13:45 +02:00
Nicolas Dorier
e7180ac82a Merge pull request #3774 from NicolasDorier/wiobq
Improve performance when lot's of pending invoices
2022-05-24 19:06:20 +09:00
Nicolas Dorier
1d3c4b6f90 Merge pull request #3773 from NicolasDorier/wefiou
Remove HistoricalAddresses table
2022-05-24 19:06:08 +09:00
Nicolas Dorier
891809a13a Merge pull request #3772 from NicolasDorier/experimental
Add experimental mode
2022-05-24 19:05:38 +09:00
nicolas.dorier
67eeb4b69a Allow resolution of any settings via DI 2022-05-24 14:10:19 +09:00
nicolas.dorier
f6b157167d Improve performance when lot's of pending invoices 2022-05-23 19:17:33 +09:00
Umar Bolatov
d768314f03 Make login and password not required for sending email (#3764)
* Make login and password not required for sending email

close #3656

* Add space

* Remove unused "using" statements
2022-05-23 19:00:34 +09:00
nicolas.dorier
3ede0a50f0 Remove Payout processor log spam 2022-05-23 18:43:35 +09:00
nicolas.dorier
8828251204 Remove HistoricalAddresses 2022-05-23 11:32:37 +09:00
nicolas.dorier
019788670e Fix: Not properly recording unaffected addresses in database 2022-05-23 11:12:09 +09:00
nicolas.dorier
3285f24fe9 Add experimental mode 2022-05-23 10:46:51 +09:00
Andrew Camilleri
c7d0537bf9 Fix labels not showing multiple payouts payments (#3729)
* Fix labels not showing multiple payouts payments

* Improve label tooltip

Makes it more readable

* Cleanup code

* Fix overflowing text in order ID field in invoices table (#3765)

close #3714

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
Co-authored-by: Umar Bolatov <bolatovumar@gmail.com>
2022-05-23 10:25:46 +09:00
Umar Bolatov
2254a5960e Fix overflowing text in order ID field in invoices table (#3765)
close #3714
2022-05-23 10:13:24 +09:00
Umar Bolatov
af4a06f91d Fix a couple of mobile display issues (#3759)
* Fix Tor hidden services text overflow on smaller screens

* Fix issue with overflow "select" element on general store settings page in mobile Safari
2022-05-20 09:36:36 +09:00
d11n
3e95b59be8 Wallet transactions export (#3744)
* Wallet transactions export

The exported data needs some more work.

* Fix transactions export policy

* Add test cases

* Fix Selenium warnings

* Finalize export format

* Test export download

* Remove CSV download check

* Try to fix test
2022-05-20 09:35:31 +09:00
Dennis Reimann
bb24ec4a9f Upgrade Lightning lib 2022-05-19 17:37:00 +02:00
Dennis Reimann
5a4b675791 Upgrade Lightning lib; add and pass cancellation tokens in Greenfield 2022-05-19 17:37:00 +02:00
d11n
5328303c32 Align settings in properties and docker-compose (#3761)
Maps the LND gRPC port, which is used in the launch settings and fixes the LND REST port.
2022-05-19 23:58:04 +09:00
Dennis Reimann
3f6212e799 Payout Processors: Use friendly name in delete confirmation
Closes #3758.
2022-05-19 13:15:38 +02:00
nicolas.dorier
1803d3ee2b Fix NRE introduced by previous commit 2022-05-18 21:49:42 +09:00
d11n
421a2b0cd9 Pull payment code improvements (#3756)
* Controller syntax improvements

* Improve Payout Processors protip
2022-05-18 21:40:26 +09:00
MrPaz
533ae0ea89 fix unwanted alert list marker for single error, issue #3583 (#3704)
* fix unwanted alert list marker for single error, issue #3583  https://github.com/btcpayserver/btcpayserver/issues/3583

* Update ViewPullPayment.cshtml

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2022-05-18 21:38:10 +09:00
d11n
df5add04e2 Wallet display improvements (#3755)
* Improve fiat value text group display

* Improve generate/cheat button display

* Improve PSBT table display
2022-05-18 15:45:59 +09:00
Nicolas Dorier
174e743904 Improve invoice list performance (#3742) 2022-05-18 15:44:58 +09:00
Andrew Camilleri
76a6d94bbe Exchange api no kraken (#3679)
* WIP New APIs for dealing with custodians/exchanges

* Simplified things

* More API refinements + index.html file for quick viewing

* Finishing touches on spec

* Switched cryptoCode to paymentMethod as this allows us to differentiate between onchain and lightning

* Moved draft API docs to "/docs-draft"

* WIP baby steps

* Added DB migration for CustodianAccountData

* Rough but working POST /v1/api/custodian-account + GET /v1/api/custodian

* WIP + early Kraken API client

* Moved service registration to proper location

* Working create + list custodian accounts + permissions + WIP Kraken client

* Kraken API Balances call is working

* Added asset balances to response

* List Custodian Accounts call does not load assetBalances by default, because it can fail. Can be requested when needed.

* Call to get the details of 1 specific custodian account

* Added permissions to swagger

* Added "tradableAssetPairs" to Kraken custodian response + cache the tradable pairs in memory for 24 hours

* Removed unused file

* WIP + Moved files to better locations

* Updated docs

* Working API endpoint to get info on a trade (same response as creating a new trade)

* Working API endpoints for Deposit + Trade + untested Withdraw

* Delete custodian account

* Trading works, better error handling, cleanup

* Working withdrawals + New endpoint for getting bid/ask prices

* Completed withdrawals + new endpoint for getting info on a past withdrawal to simplify testing, Enums are output as strings,

* Better error handling when withdrawing to a wrong destination

* WithdrawalAddressName in config is now a string per currency (dictionary)

* Added TODOs

* Only show the custodian account "config" to users who are allowed

* Added the new permissions to the API Keys UI

* Renamed KrakenClient to KrakenExchange

* WIP Kraken Config Form

* Removed files for UI again, will make separate PR later

* Fixed docs + Refactored to use PaymentMethod more + Added "name" to custodian account + Using cancelationToken everywhere

* Updated withdrawal info docs

* First unit test

* Complete tests for /api/v1/custodians and /api/v1/custodian-accounts endpoints + Various improvements and fixes

* Mock custodian and more exceptions

* Many more tests + cleanup, moved files to better locations

* More tests

* WIP more tests

* Greenfield API tests complete

* Added missing "Name" column

* Cleanup, TODOs and beginning of Kraken Tests

* Added Kraken tests using public endpoints + handling of "SATS" currency

* Added 1st mocked Kraken API call: GetAssetBalancesAsync

* Added assert for bad config

* Mocked more Kraken API responses + added CreationDate to withdrawal response

* pr review club changes

* Make Kraken Custodian a plugin

* Re-added User-Agent header as it is required

* Fixed bug in market trade on Kraken using a percentage as qty

* A short delay so Kraken has the time to execute the market order and we don't fetch the details too quickly.

* Merged the draft swagger into the main swagger since it didn't work anymore

* Fixed API permissions test

* Removed 2 TODOs

* Fixed unit test

* Remove Kraken Api as it should be separate opt-in plugin

* Flatten namespace hierarchy and use InnerExeption instead of OriginalException

* Remove useless line

* Make sure account is from a specific store

* Proper error if custodian code not found

* Remove various warnings

* Remove various warnings

* Handle CustodianApiException through an exception filter

* Store custodian-account blob directly

* Remove duplications, transform methods into property

* Improve docs tags

* Make sure the custodianCode saved is canonical

* Fix test

Co-authored-by: Wouter Samaey <wouter.samaey@storefront.be>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-05-18 14:59:56 +09:00
d11n
6d76771b16 Lightning: Allow specifying explicit amount for invoices (#3753)
* Upgrade Lightning lib

* Lightning: Allow specifying explicit amount for invoices

* Fix tests
2022-05-18 14:57:36 +09:00
Umar Bolatov
fca066fe52 Add endpoint for creating POS app 2022-05-17 21:26:33 -07:00
Umar Bolatov
aa3c0346c8 Add GreenfieldAppsController 2022-05-17 21:26:33 -07:00
Umar Bolatov
bafec0d974 Move PointOfSaleSettings class into own file 2022-05-17 21:26:33 -07:00
Nicolas Dorier
f3f605a90f Fix DivideByZeroException raised if crowdfund's target amount is 0 (#3747) (#3748) 2022-05-17 14:34:06 +09:00
nicolas.dorier
a9a9f26aa0 Remove mailto: handling in bitpayjs 2022-05-14 10:57:08 +09:00
nicolas.dorier
4eb143c265 Fix a bunch of open redirect vulns 2022-05-13 10:26:20 +09:00
Dennis Reimann
e597b2177c Re-add StoreNavPages.Integrations with deprecation warning 2022-05-12 13:32:40 +02:00
Dennis Reimann
2ae4501de6 Rewording: Integrations become (store) plugins
We're keeping the `store-integrations-list` extension point name for backwards compatibility, otherwise I renamed all "integration" occurences in the views and also the routes.

Note: We still refer to external software like WooCommerce, Drupal, Magento and such as "integrations", I think that distinction makes sense.

Closes #3594.
2022-05-12 13:32:40 +02:00
Dennis Reimann
f1029fceff Fix webhooks test
Re-adds two classes used by the tests, that got removed in #3716.
2022-05-12 12:04:31 +02:00
Dennis Reimann
b67d3a504b Add responsive table wrap where necessary 2022-05-12 07:54:12 +02:00
dstrukt
12a5998a07 ui+invoice: improve webhooks section styling 2022-05-12 07:54:12 +02:00
Umar Bolatov
fbe2096098 Set pull payment auto approve flag when creating the model
fix #3693
2022-05-12 07:45:54 +02:00
Dennis Reimann
d7faa0a0fd Improve payout processors UI
Some quick fixes, closes #3697.
2022-05-10 15:27:39 +02:00
Kukks
8bd54493a3 add pgp verif 2022-05-09 14:00:21 +02:00
Andrew Camilleri
225243ba93 1.5.2 changelog (#3730)
* 1.5.2 chaneglog

* bump
2022-05-09 20:58:49 +09:00
Andrew Camilleri
21bd35accd Fix shopify id / order no (#3718)
fixes #3636
2022-05-09 20:58:05 +09:00
Nicolas Dorier
4acca4c6f5 Try fix selenium test error (#3728) 2022-05-09 14:13:51 +09:00
Nicolas Dorier
c106ff8290 bump selenium (#3723) 2022-05-06 12:07:53 +09:00
d11n
296ba4606d Redirect to payment method setup (#3721)
Closes #3651.
2022-05-06 11:14:56 +09:00
Ivaylo Hristov
54dd602be4 Implementing tables fix per dennisreimann suggestion 2022-05-05 15:17:44 +02:00
Ivaylo Hristov
9cac8d36ad A few tables in the Cart checkout were having bad width and margins which caused misalignments. 2022-05-05 15:17:44 +02:00
Dennis Reimann
d407e9ffba Add dark mode option for public pull payment and payment request views
Closes #3706. Closes #3705.
2022-05-04 14:36:37 +02:00
Dennis Reimann
26025b564e Lightning: Catch and display external service errors
Prevent crashes like in #3700 and display the error to the user.
2022-05-04 14:30:07 +02:00
Kukks
4cacc2a9e6 bump LNURL package 2022-05-04 14:08:02 +02:00
Kukks
16ef405670 bump LNURL package 2022-05-04 13:31:15 +02:00
Umar Bolatov
642aad28ac Update validation of crowdfund app settings (#3708) 2022-05-04 10:34:40 +02:00
B
e5feda69c8 Updated Payout processor Label for setting interval (#3698) 2022-05-04 10:34:31 +02:00
Kukks
aa89d1dffe Makle plugin packer store in dir with plugin name 2022-05-04 09:01:17 +02:00
Kukks
662f269a94 Fix return type of webhooks get so that plugins can use it 2022-05-03 11:15:08 +02:00
Kukks
6f80100ee6 Plugin Packer: Generate versioned dir and also SHA256SUMS (+ asc file is on windows with gpg and powershell installed) 2022-05-03 08:12:25 +02:00
d11n
38d3154ddf Dashboard: Prevent y-axis labels from getting cut off (#3702)
Fixes #3692.
2022-05-02 21:32:24 +09:00
Nicolas Dorier
e16a718bde Do not always provide counting in list views (#3696) 2022-05-02 16:35:28 +09:00
nicolas.dorier
a40429e219 Fix possible NRE 2022-05-02 09:43:55 +09:00
nicolas.dorier
e5602a86a2 bump 2022-04-30 12:58:58 +09:00
Nicolas Dorier
7d4d8bff93 Do not show balance if can't get the balance (#3695) 2022-04-30 12:56:05 +09:00
Nicolas Dorier
d028ebfdf1 Improve performance of Invoice count (#3688) 2022-04-30 12:54:44 +09:00
Nicolas Dorier
a5aeb2a3c1 Fix performance issue on dashboard for big wallets (#3694) 2022-04-30 12:54:12 +09:00
nicolas.dorier
410bd5ab9c Remove logs about pending invoices 2022-04-29 16:01:25 +09:00
nicolas.dorier
f4823d962a Do not crash if /apps/{appId} do not exists 2022-04-29 16:00:27 +09:00
Kukks
9aa35f3488 add missing docs 2022-04-29 08:58:17 +02:00
Kukks
d2a7e5dc4d get pgp verified commit 2022-04-28 16:05:33 +02:00
Andrew Camilleri
f7cb44c343 fix crash on not found perk items (#3685) 2022-04-28 16:03:19 +02:00
nicolas.dorier
ae67cc8a51 bump 2022-04-28 22:06:03 +09:00
Andrew Camilleri
454d628f93 1.5.0 changelog (#3680)
* 1.5.0 changelog

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

* Update Changelog.md

Co-authored-by: d11n <mail@dennisreimann.de>
2022-04-28 22:04:47 +09:00
Kukks
e60e8dc9ba reduce payout processor logs 2022-04-28 14:43:01 +02:00
Andrew Camilleri
382fe5cd47 Auto approve refunds (#3682) 2022-04-28 20:50:28 +09:00
d11n
86e53552c0 Upgrade Lightning library (#3683) 2022-04-28 12:49:43 +02:00
d11n
6296d63197 Local API client: Allow for cancellation of GetPayment calls (#3681)
I missed adding those in #3674.
2022-04-28 09:51:21 +09:00
Andrew Camilleri
ed1a7bb887 Allow auto approval of claims for pull payments (#1851)
* Allow auto approval of claims for pull payments

closes #1780

* fix
2022-04-28 09:51:04 +09:00
Andrew Camilleri
273bc78db3 Allow Users to be disabled/enabled (#3639)
* Allow Users to be disabled/enabled

* rebrand to locked for api

* Update BTCPayServer/Views/UIAccount/Lockout.cshtml

Co-authored-by: d11n <mail@dennisreimann.de>

* fix docker compose and an uneeded check in api handler

* fix

* Add enabled user test

Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2022-04-26 21:27:35 +09:00
d11n
261a3ecee3 Greenfield: Allow for cancellation of Lightning method calls (#3674) 2022-04-26 10:29:20 +09:00
d11n
8f0ac61634 Refactoring: Extract Safe module to Abstractions (#3676)
So that it can be used by plugins as well.
2022-04-26 10:28:49 +09:00
nicolas.dorier
5a7b275ee3 Fix CanCreateAppPos 2022-04-25 17:37:46 +09:00
d11n
54e106ec74 LNURL: Use Lightning description template in LNURL metadata (#3667)
* LNURL: Use Lightning description template in LNURL metadata

Unifies the invoice description for the Lightning and LNURL payment methods and fixes #3634.

* Add POS Order ID for consistency with Crowdfund

* LNURL: Add POS item metadata to invoice

For consistency with the Lightning payment method. Closes #3655.
2022-04-24 20:36:10 +09:00
Andrew Camilleri
51690b47a3 Transfer Processors (#3476)
* Automated Transfer processors

This PR introduces a few things:
* Payouts can now be directly nested under a store instead of through a pull payment.
* The Wallet Send screen now has an option to "schedule" instead of simply creating a transaction. When you click on schedule, all transaction destinations are converted into approved payouts. Any options relating to fees or coin selection are discarded.
* There is a new concept introduced, called "Transfer Processors".  Transfer Processors are services for stores that process payouts that are awaiting payment. Each processor specifies which payment methods it can handle.  BTCPay Server will have some forms of transfer processors baked in but it has been designed to allow the Plugin System to provide additional processors.
* The initial transfer processors provided are "automated processors", for on chain and lightning payment methods. They can be configured to process payouts every X amount of minutes. For  on-chain, this means payments are batched into one transaction, resulting in more efficient and cheaper fees for processing.
*

* fix build

* extract

* remove magic string stuff

* fix error message when scheduling

* Paginate migration

* add payout count to payment method tab

* remove unused var

* add protip

* optimzie payout migration dramatically

* Remove useless double condition

* Fix bunch of warnings

* Remove warning

* Remove warnigns

* Rename to Payout processors

* fix typo

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2022-04-24 12:19:34 +09:00
d11n
9ab129ba89 More URL id parameter fixes (#3673) 2022-04-22 15:52:57 +02:00
d11n
b39a67534c Greenfield: Proper response for store not found (#3658)
* Greenfield: Proper response for store not found

Previously the "network not configured" error message was also displayed when indeed the store could not be found. This is misleading, hence we should have a separate error for that case.

* Use StoreNotFound method
2022-04-22 12:17:20 +02:00
d11n
2d717cbf01 Fix payment request redirect URL (#3672) 2022-04-22 10:28:46 +02:00
d11n
c4f284aaf1 Lightning: Add GetPayment methods to local client (#3657)
I missed adding them in #3557.
2022-04-22 09:28:11 +09:00
Pavlenex
e40a9089e0 Merge pull request #3666 from dennisreimann/ivpn
Add IVPN as supporter to README
2022-04-21 16:02:33 +02:00
Dennis Reimann
8cf849e590 Add IVPN as supporter to README 2022-04-21 15:50:46 +02:00
Pavlenex
03e113b063 Merge pull request #3665 from dennisreimann/ivpn
Add IVPN logo for supporters section
2022-04-21 15:36:38 +02:00
Dennis Reimann
d9305b1e63 Add IVPN logo for supporters section
We are not displaying it in the app, but linking to it from various other sites (docs, website, etc.)
2022-04-21 15:34:09 +02:00
d11n
182fa7d803 Upgrade Lightning lib (#3662) 2022-04-21 21:47:10 +09:00
nicolas.dorier
4dd41cffe3 Order swagger's docs tags 2022-04-21 12:30:49 +09:00
nicolas.dorier
9bf3df1e87 Fix Swagger, replacing additionalProperties by allOf 2022-04-21 12:12:30 +09:00
Nicolas Dorier
2e08c29c64 Remove replace hardcoded BTC string to default network (#3654) 2022-04-20 10:20:39 +09:00
d11n
75afd30008 Design updates (#3653)
* Design updates

Contains:

- btcpayserver/btcpayserver-design#12
- btcpayserver/btcpayserver-design#33
- btcpayserver/btcpayserver-design#35
- btcpayserver/btcpayserver-design#37
- btcpayserver/btcpayserver-design#39

* Improve input focus styles
2022-04-20 09:42:14 +09:00
Andrew Camilleri
7652d2c7e3 LN Address - db schema fix method (#3638)
* LN Address - db schema fix method

* pr changes

* shorten
2022-04-19 16:58:31 +09:00
Umar Bolatov
7e6a2d08e2 Add label filter for onchain tx API endpoint (#3588)
* Add label filter for onchain tx API endpoint

close #3587

* Add Swagger docs

* Add test for filtering by transaction label
2022-04-18 11:20:15 +09:00
d11n
c1dbe235dc Hide empty plugins section (#3643)
Closes #3617. Implementation of @bolatovumar's [proposal](https://github.com/btcpayserver/btcpayserver/issues/3617#issuecomment-1094173005) - we might be able to replace it with a better solution, that would avoid rendering that section in the first place. For now that solves the issue though.
2022-04-18 10:25:00 +09:00
Umar Bolatov
eb2ccf06a5 Fix typos in README file (#3644)
* Fix typos in README file

* Update BTCPayServer.Tests/README.md

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
Co-authored-by: d11n <mail@dennisreimann.de>
2022-04-18 10:24:17 +09:00
d11n
e202f24592 Wallet view: Minor display improvements (#3647)
* Label improvements

* Fix erratic display bug in ToTimeAgo helper
2022-04-18 10:23:32 +09:00
d11n
d11f87f0cc Pay Button: Re-add Vue handlers to currency input (#3646)
Fixes a regression introduced in #3642: The pay button preview and code sample do not update without the Vue handlers.
2022-04-16 18:38:51 +02:00
Alec G
8f54ec4f4a add currency-selector input on Payment Request and Pay Button pages (#3642) 2022-04-15 13:53:37 +09:00
Umar Bolatov
64534efe71 Fix broken "CanCreateRefunds" test (#3635) 2022-04-14 14:07:10 +09:00
Jaron Rosenau
1235ced355 htmlcoin altcoin updates (#3601)
* remove old logo

* add new logo

* switch name from Althash to Htmlcoin

* increment version NBXplorer.Client

* fix KeyPath BIP-0044, fix name

https://github.com/BEPAL/slips/blob/master/slip-0044.md

* revert increment version
2022-04-14 13:18:12 +09:00
Umar Bolatov
23d383be67 Add transaction info PATCH endpoint (#3561)
* Add transaction info patch endpoint

* Add "#nullable enable" to LabelFactory

* Add Swagger docs

* Update OnChain to onchain

* update feeRate to feerate

* Add test

* replace "Onchain" with "onchain"
2022-04-14 13:17:22 +09:00
dstrukt
fb90ff2fbb updates (#3631) 2022-04-14 13:09:37 +09:00
dstrukt
4706aa95e6 Minor Dashboard Adjustments (#3629)
* improves border-radius

* adjusts CF widget wording
2022-04-14 13:08:43 +09:00
d11n
8981414705 API: Add Lightning Payment info endpoint (#3557)
* Upgrade Lightning lib

* API: Add Lightning Payment info endpoint
2022-04-12 18:01:58 +09:00
d11n
7ec978fcdb Dashboard (#3530)
* Add dashboard and chart basics

* More widgets

* Make widgets responsive

* Layout dashboard

* Prepare ExplorerClient

* Switch to Chartist

* Dynamic data for store numbers and recent transactions tiles

* Dynamic data for recent invoices tile

* Improvements

* Plug NBXPlorer DB

* Properly filter by code

* Reorder cheat mode button

* AJAX update for graph data

* Fix create invoice button

* Retry connection on transient issues

* App Top Items stats

* Design updates

* App Sales stats

* Add points for weekly histogram, set last point to current balance

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-04-12 16:55:10 +09:00
orangesurf
d58803a058 Specify PayJoin enabled in Payment Link heading (#3614)
* Specify PayJoin enabled in Payment Link heading

* Fix for non bitcoin payments
2022-04-12 11:05:09 +09:00
Umar Bolatov
fe6b7dc1e3 Fix visual bug when user clicks on "Create refund" without selecting an option (#3624)
* Add missing refund option validation error element

* Add missing hidden inputs for text elements

* Move validation element above button

* Update validation error message
2022-04-11 17:53:52 +09:00
Umar Bolatov
c9f0988b95 Handle possible error when bumping fee (#3608)
fix #3600
2022-04-11 17:53:10 +09:00
d11n
cd9a52706c Use the store's default currency when creating entities (#3585)
* Use default currency for new pull payments

Closes #3582.

* Pull payment: Improve create form

* Use default currency for new invoices

Closes  #3581.

* Clean up old invoice form code

* Use default currency for new payment requests

* Test fixes
2022-04-11 17:50:30 +09:00
d11n
bfdb1b4af9 Design updates (#3565)
* Design updates

* Improve table styles

* Form input color improvements

* Form input shadows

* Increase accordion button padding

* Hover transition for checkboxes and radio buttons

* Improve checkbox and radio button spacings

* Improve input styles

* Secondary button updates

* Clear pager floats

* Link improvements

* Don't display border for last table row
2022-04-11 17:49:57 +09:00
d11n
e5174b4a29 Lightning: Link to services directly (#3593)
* Allow to access fake LN services in dev mode

* Link directly to Lightning services

Closes #3552.

* Fix typo
2022-04-11 17:49:28 +09:00
Umar Bolatov
8feb60c30d Add ability to set default payment method for pay button (#3606)
* Add ability to set default payment method for pay button

close #3604

* Add "#nullable enable" to UIStoresController

* Add PaymentMethodOptionViewModel

* Add explicit "Use the store’s default" option
2022-04-11 17:48:12 +09:00
d11n
6bd7fb64ab CI test fixes (#3609)
* Test fix


Logs

* Add test logs

* Test change

* Use async overloads in CanPayWithTwoCurrencies test

* Bump NBXplorer

* More test updates

* More logs

* More waiting

* More waiting

* Update GoToUrl calls

* Log request status

* More logs

* More logs, more waits, idk

* Click checkboxes using JS

* Go to url directly

* Double timeout
2022-04-08 18:58:01 +09:00
nicolas.dorier
b9602243d3 Fix tests for litecoin 2022-04-08 13:03:51 +09:00
Umar Bolatov
b7a930ef18 Adjust user search input width (#3577)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-04-05 07:34:56 -04:00
Lee Salminen
add206ae2d Fixes #3598 by adding overflow scrolling to StoreSelectorMenu (#3599)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-04-05 07:34:14 -04:00
Pavlenex
28ce095fb4 Merge pull request #3602 from phershbe/master
Link to local development environment instructions corrected
2022-04-05 09:01:00 +02:00
Nicolas Dorier
13952a4b79 Bump NBX (#3607) 2022-04-05 14:46:42 +09:00
nicolas.dorier
05ec398346 Update CoinGeckoRateProvider 2022-04-04 14:47:50 +09:00
Philip
dea2dd52be Link to local development environment instructions corrected
As noted here: https://github.com/btcpayserver/btcpayserver/issues/3590

The link to the local development environment instructions was broken and now is correct.
2022-04-01 22:18:43 -04:00
Kukks
debe3cda4b fix typo 2022-04-01 13:45:30 +02:00
Kukks
5b5aa2c721 bump btcpay 2022-04-01 13:22:24 +02:00
Kukks
e201ddd74c Plugins: Fix plugin installer 2022-04-01 13:20:19 +02:00
Andrew Camilleri
4a1580169d Merge pull request #3595 from pavlenex/shopify 2022-03-31 15:15:26 +02:00
Pavlenex
001ca7de60 Fix UI to match Shopify's 2022-03-31 14:51:16 +02:00
Andrew Camilleri
184be4e27b Merge pull request #3592 from Kukks/updaart 2022-03-31 13:36:11 +02:00
Kukks
7652645dda 1.4.8 update 2022-03-31 12:48:10 +02:00
d11n
ef6016857b FileService: AddFile from URL (#3566) 2022-03-31 11:54:25 +02:00
Kukks
e449ca2c95 Fix shopify 2022-03-31 10:13:07 +02:00
Kukks
b0f00773d6 fix issues around local btcpay client and no request obj 2022-03-30 15:04:51 +02:00
Alec G
451eee549b added additional inputmode attr to relevant form input fields (#3578)
* added inputmode attr to relevant input fields

* missed some numerical form inputs

* removed inputmode attribute from checkout appearnce invoice settings input field
2022-03-30 09:58:50 +02:00
Kukks
77da261fea Allow plugins to extend swagger docs and fix pull payment test 2022-03-29 20:29:27 +02:00
Kukks
e23c9ee608 Add missing policies in api key UI 2022-03-29 20:12:02 +02:00
d11n
37cb87a9c6 Update CircleCI config (#3586) 2022-03-29 16:35:02 +01:00
Umar Bolatov
211db8e0f0 Adjust pull payment badge color (#3584)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-03-29 12:09:30 +02:00
Philip
d074d60dad Change "was confirmed paid" to "is settled"
As detailed here: https://github.com/btcpayserver/btcpayserver/issues/3572
2022-03-27 07:56:32 +01:00
Andrew Camilleri
0bff5e2236 Update BTCPayServer/wwwroot/swagger/v1/swagger.template.stores-email.json
Co-authored-by: d11n <mail@dennisreimann.de>
2022-03-26 21:46:40 +00:00
Kukks
dca986eb2e Add Greenfield Store Email API 2022-03-26 21:46:40 +00:00
galloway-valence
326eb1135b added inputmode attr to relevant input fields 2022-03-26 18:27:22 +00:00
Wouter Samaey
b2f7b4e6b9 Update BTCPayServer/Services/Invoices/InvoiceRepository.cs
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2022-03-25 13:21:43 +00:00
Wouter Samaey
5129d6aa6b Update BTCPayServer/Services/Invoices/InvoiceRepository.cs
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2022-03-25 13:21:43 +00:00
Wouter Samaey
a8cf334616 Update BTCPayServer/Services/Invoices/InvoiceRepository.cs
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2022-03-25 13:21:43 +00:00
Wouter Samaey
3b4d06a1e5 Bugfix: Could not find an order by OrderId after it's OrderId was changed through the API 2022-03-25 13:21:43 +00:00
Andrew Camilleri
c7969476b0 Apply suggestions from code review
Co-authored-by: d11n <mail@dennisreimann.de>
2022-03-25 10:45:56 +00:00
Philip
7bf24df03a Change payment method name from "Wallet" to "Bitcoin"
As discussed here: https://github.com/btcpayserver/btcpayserver/issues/3571
2022-03-25 10:45:56 +00:00
Kukks
5ef41294e4 Optimize github plugin fetching 2022-03-23 15:03:39 +00:00
Dennis Reimann
2eb68655c7 FileService: Add method to check availability 2022-03-21 12:38:25 +01:00
d11n
23049439c0 API: Add description hash to CreateLightningInvoiceRequest (#3559)
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2022-03-17 10:15:27 +01:00
Umar Bolatov
ce6cd40b92 Adjust wallet receive page layout (#3553)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-03-11 10:43:31 +01:00
Wouter Samaey
c36b0c16b0 New API endpoint: Send email using store SMTP (#3181)
Co-authored-by: Kukks <evilkukka@gmail.com>
2022-03-11 10:17:40 +01:00
d11n
c15f182377 Streamline JS/CSS bundles (#3520) 2022-03-11 08:41:48 +01:00
Pavlenex
165cb345b4 Merge pull request #3551 from dennisreimann/acinq
Remove ACINQ from README
2022-03-10 11:52:57 +03:00
Dennis Reimann
9b6d2beb4d Remove ACINQ from README
Closes #3546.
2022-03-10 09:50:40 +01:00
Dennis Reimann
722c39a6ff Exclude ChainCoin in rate provider test 2022-03-08 12:12:01 +01:00
Dennis Reimann
e344749d2f Remove Polis
As per [this comment](https://github.com/btcpayserver/btcpayserver/pull/3514#issuecomment-1059583143)
2022-03-08 12:12:01 +01:00
Pavlenex
fe782bc3b6 Merge pull request #3519 from dennisreimann/2fa-layout
Use simple layout for 2FA views
2022-03-08 13:42:28 +03:00
Umar Bolatov
d372cbad74 Fix null reference error when "destinations" field is not specified or empty when creating a new wallet transaction
fix #3537
2022-03-08 11:14:34 +01:00
Dennis Reimann
1e1198f4ec Remove Kraken from README 2022-03-08 11:13:19 +01:00
Dennis Reimann
5effc96cff Remove Kraken as a supporter
Closes #3539.
2022-03-08 11:13:19 +01:00
Andrew Camilleri
b8d4a1be05 Delete Plugins/packed directory 2022-03-08 09:57:43 +01:00
Pavlenex
36a25e6efa Merge pull request #3543 from dennisreimann/manage-plugins
Rename Add plugin to Manage plugins
2022-03-08 11:26:35 +03:00
Dennis Reimann
1240e7914d Fixes 2022-03-08 08:17:39 +00:00
Dennis Reimann
e4683b1ea1 Refactoring: Extract ITempDataDictionary extensions 2022-03-08 08:17:39 +00: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
80944972e9 Rename Add plugin to Manage plugins
Closes #3540.
2022-03-08 08:04:15 +01:00
d11n
c1f608c0d8 Upgrade Lightning lib (#3531) 2022-03-08 10:02:48 +09:00
Dennis Reimann
4dfbb08db3 Try test fix 2022-03-04 10:49:36 +00:00
Dennis Reimann
ead1dffd98 QR container display fixes
Consistently centers the container contents.
2022-03-04 10:49:36 +00:00
Dennis Reimann
5a16e4d132 Use simple layout for 2FA views 2022-03-03 13:43:22 +01:00
Dennis Reimann
a89491e343 Skip Polis and OKEx in rate fetching tests 2022-03-03 10:57:55 +01:00
Dennis Reimann
b1b00ae886 Scroll to checkbox before click 2022-03-03 10:57:55 +01:00
Kukks
cde5bd87d8 update 1.4.7 2022-03-02 12:37:28 +01:00
Kukks
3231d5d179 Allow file service to be used in plugins 2022-03-02 12:22:46 +01:00
Dennis Reimann
03e49ea2bf Allow access to global invoices list
The recent changes in 19eea3a615 prevent it to access a global/unfiltered list of invoices across all stores. This removes the fallback to the current store, which brings the global list back at `/invoices`.
2022-03-02 11:00:25 +01:00
Kukks
7d3eef092c Add missing generate wallet greenfield docs 2022-03-02 10:54:05 +01:00
Kukks
30d0410b49 fix shopify settings 2022-03-01 09:19:28 +01:00
Kukks
eb2a887f77 Fix missing store in export for invoices
fixes #3505
2022-03-01 09:18:46 +01:00
Dennis Reimann
e77b8d29cf Remove policy, set store context manually 2022-03-01 09:18:23 +01:00
Dennis Reimann
490ec299c5 Fix missing store context for Lightning payouts 2022-03-01 09:18:23 +01:00
Dennis Reimann
e47c2aa24d Fix redirect 2022-03-01 09:18:23 +01:00
Dennis Reimann
3eb9fdca6a Syntax improvements 2022-03-01 09:18:23 +01:00
Dennis Reimann
a4173a93b7 Improve display on payout confirm page 2022-03-01 09:18:23 +01:00
Dennis Reimann
ad762cf239 Fix back link on payout confirm page
Fixes #3490.
2022-03-01 09:18:23 +01:00
Umar Bolatov
5a478607dc Fix "Copy Link" button on pull payment and payment request pages
close #3499
2022-03-01 09:15:15 +01:00
Dennis Reimann
4abc6eb387 Refactoring: Allow GreenfieldExtensions to be used by plugins 2022-03-01 09:14:51 +01:00
Dennis Reimann
c313bba288 Fix mobile content z-index
I think we added this before taking proper care of the main menu z-index. Now that that is fixed we can remove the z-index of the content area, which fixes #3504.
2022-02-26 13:51:59 +01:00
Kukks
73eaf97afb Fix pos print view
fixes #3503
2022-02-26 13:22:27 +01:00
Dennis Reimann
8d25df5d4e Fix Pay Button code copying
Fixes #3489.
2022-02-24 12:23:03 +01: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
d11n
3ef1423263 Update Changelog.md 2022-02-21 13:06:13 +01:00
Dennis Reimann
898652189b Changelog: Fix usernames 2022-02-21 13:06:13 +01:00
Dennis Reimann
2976edf333 Sticky header JS fix
The old version lead to an error on pages that do not contain a sticky header.
2022-02-21 13:05:50 +01:00
Kukks
248be11e4d fix local client http accessor overrider 2022-02-21 11:48:40 +01:00
nicolas.dorier
19ec8c36e2 Remove debug line in selenium tests 2022-02-21 16:17:36 +09:00
nicolas.dorier
90d989e358 Bump 1.4.6 2022-02-21 14:54:43 +09:00
Nicolas Dorier
19eea3a615 Refactor how we get storeids list in invoice filter (#3483) 2022-02-21 14:53:48 +09:00
nicolas.dorier
7b81b9786d Fix LNUrl comment truncating 2022-02-21 13:47:00 +09:00
nicolas.dorier
292d302a3d Allow only 2k chars in LNURL comments 2022-02-21 13:27:02 +09:00
nicolas.dorier
557594e34d Test LNUrl Pay payment method information, add doc 2022-02-21 13:22:17 +09:00
d11n
48393c3765 Add border for mobile menu (#3477)
In addition to #3469.
2022-02-21 12:20:04 +09:00
d11n
022cd666eb Sticky header updates (#3471)
* Add tag helper for sticky header

Encapsulates some of the CSS and JS required and makes the usage easier.

* Make sticky header span full content area horizontally

* Use sticky header on remaining list views

* Use sticky header on remaining edit and detail views

* Adapt pull payments view to be consistent with other list views

* Fix form markup

* PSBT test fix

* Update header actions

* Remove sticky header tag helper
2022-02-21 11:05:42 +09:00
d11n
2d0eedb132 CircleCI: Update build image (#3475)
CircleCI recently [deprecated build images](https://circleci.com/blog/ubuntu-14-16-image-deprecation/), including the classic ones we are using. I found this config working for me on another repo.
2022-02-21 11:04:15 +09:00
Andrew Camilleri
5d3d664ce6 Update BTCPayServer/Views/UIWallets/WalletTransactions.cshtml
Co-authored-by: d11n <mail@dennisreimann.de>
2022-02-18 10:13:50 +01:00
Umar Bolatov
d1c12d8294 Add ability to clear tx label filter 2022-02-18 10:13:50 +01:00
dstrukt
947a67fcd2 adds border (#3469) 2022-02-18 10:56:05 +09:00
d11n
9b9540b857 PSBT test fix (#3472) 2022-02-18 10:55:54 +09: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
Umar Bolatov
9a3a7a3444 Add pull payment grouping options (#3177)
* Add grouping by payment methods

* Add filtering by pull payment state

* Hide "Archive" button for archived pull payments

* Don't show payment methods bar if there is only one

* Add "All" payment method option

* Remove filtering by payment method

* Update state queries to not run on the client

* Add filtering by future pull payments
2022-02-17 18:13:28 +09:00
d11n
5c8ca15ee2 Redesign Wallet UI (#3441)
* Update wallet navigation

* Find matching text color for label bg color

* Cleanup

* Extract WalletNav component

* Move PSBT link to Send and Rescan link to Settings

* Update transactions view

* Test fixes

* Adapt invoices list actions

* Show invoice actions only if there are any invoices

* Link wallet name and balance to tranactions list

* Move wallet related actions from list to settings

* Fix main menu z-index

Needs a value between fixed and the offcanvas backdrop, see https://getbootstrap.com/docs/5.1/layout/z-index/

* Update receive and send views
2022-02-17 18:07:41 +09:00
d11n
cd3807a3d8 Lightning payment info and fee handling (#3454)
* Lightning payment info and fee handling

Builds on the additions in btcpayserver/BTCPayServer.Lightning#59 and btcpayserver/BTCPayServer.Lightning#61.

Adds payment information (total amount and fees) to the API response and allows to set an optional maximum fee percentage when paying.

* Add max fee flat
2022-02-17 18:01:39 +09:00
dstrukt
2a884d6f38 removes redundant header (#3470) 2022-02-17 17:59:21 +09:00
Nicolas Dorier
6efeb60c41 Fix the PSBT signing flow (#3465) 2022-02-17 17:58:56 +09:00
nicolas.dorier
dcdab5b218 Do not show storeid in the invoice filter 2022-02-16 13:43:33 +09:00
Wouter Samaey
288fbda54f New API endpoint: Find 1 user by ID or by email, or list all users. (#3176)
Co-authored-by: Kukks <evilkukka@gmail.com>
2022-02-15 16:19:52 +01:00
Kukks
03bc91fd1e switch to jobj 2022-02-15 12:23:54 +01:00
Kukks
1c5cf29540 Greenfield: Invoices Payment Methods: Additional Data
closes #3154
2022-02-15 12:23:54 +01:00
nicolas.dorier
631ddc0af2 Bump version 2022-02-15 14:33:25 +09:00
Nicolas Dorier
1d593df5af Bump lightning lib (#3453)
* Bump lightning lib

* Fix endianness of description hash text
2022-02-14 20:33:27 +09:00
d11n
1d3a8bb7bf App updates (#3437)
* Fix toggle alignment

* Crowdfund: Change defaults (disable sounds and Disqus)

* Crowdfund: Move callback notification URL into additional options

Same as with the Point Of Sale options.

* Crowdfund: Make enable toggle more prominent

* Crowdfund: Improve start and end date form group display

* Template Editor: Improve button spacing

* adjusts currency + target

* removes "other actions"

* adjusts text

* adjusts status message bottom margin

Co-authored-by: dstrukt <gfxdsign@gmail.com>
2022-02-14 18:14:21 +09:00
nicolas.dorier
0dc9c183b5 Store guest shouldn't see the bump fee option 2022-02-14 18:13:22 +09:00
d11n
05ab43f309 Redirect to transactions list after wallet creation (#3451)
Closes #3450.
2022-02-14 17:09:57 +09:00
hhanh00
f4153ade92 Zcash integration (#3400)
* zcash

* Use Channel instead of Queue
2022-02-14 17:04:34 +09:00
d11n
44e84b46b8 Upgrade Lightning lib (#3446)
Prerequisite for btcpayserver/btcpayserver#3423.
2022-02-10 19:33:57 +09:00
nicolas.dorier
3fe71e7bdc Avoid NRE on PermissionTagHelper 2022-02-10 18:37:07 +09:00
nicolas.dorier
5d4d8a3422 Simplify swagger 2022-02-10 17:09:55 +09:00
Umar Bolatov
f06199230c Add ability to add description to pull payment (#3363)
* Add ability to add description to pull payment

close #2625

* Add API support

* Remove 'Model.Description != "<br>"'
2022-02-10 14:54:00 +09:00
Andrew Camilleri
da9a6b835a Greenfield: Store Users (#3425)
* Greenfield: Store Users

* fixups

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-02-10 14:51:10 +09:00
nicolas.dorier
0afc2cd2cb Add NetworkProvider.DefaultNetwork 2022-02-10 12:43:26 +09:00
nicolas.dorier
9e2f7fb048 Do not register services of altcoins if not used 2022-02-10 12:36:07 +09:00
d11n
3fa694c65f Improve Lightning test scripts (#3435) 2022-02-10 12:25:14 +09:00
Nicolas Dorier
300d84c5d8 [UX/UI] Add CPFP (#3395)
* Add CPFP

* Sign PSBT should go back to the initial page
2022-02-10 12:24:28 +09:00
nicolas.dorier
efed00f58b Setup guide: Link to first crypto if BTC not available 2022-02-10 12:23:45 +09:00
d11n
99c4ebe046 Setup guide: Link wallet setup always to BTC (#3442) 2022-02-10 12:17:15 +09:00
d11n
699231fd92 Fix payment request archival actions (#3443) 2022-02-09 23:37:15 +09:00
d11n
c18f112f31 Invoice status lookup fix (#3444)
See 4ca152da7c.
2022-02-09 23:35:17 +09:00
d11n
605d04580c Fix subnav on store pairing view (#3438)
Fixes #3431.
2022-02-09 12:24:25 +09:00
nicolas.dorier
143211f276 Filter 'complete' = 'confirmed or settled' 2022-02-09 12:17:21 +09:00
Dennis Reimann
4ca152da7c Fix paid invoice filter
Fixes #3434 by reverting the filter changes done [here](ec68d2a0e6 (diff-b7a89b0b45f062f004cdfe6ca8484f6ca519044f63485fd15986af5f7dd5ec76L219)).

The new labels are only used in the UI ­— when filtering one needs to use the old labels, as the filter docs in the view already suggest.
2022-02-09 12:12:32 +09:00
nicolas.dorier
1c1f69fa50 bump 1.4.4 2022-02-08 12:21:58 +09:00
David Trapp
147ccd6c96 Ensure compresed public key is used for SIN generation even if uncompressed key was provided (fix #3432) (#3433) 2022-02-08 11:24:58 +09:00
Nicolas Dorier
c8b9906ef3 After login, redirect user to the main page even if root app configured (#3429) 2022-02-07 21:18:22 +09:00
nicolas.dorier
cd94a9fac1 Make CheckNoDeadLink more reliable 2022-02-07 21:15:39 +09:00
d11n
20a9472ee2 Sticky headers (#3416)
* Make headers sticky

Closes #3344.

* Decrease headline margin bottom on mobile

* increases gap

* adds bottom padding

* Update BTCPayServer/Views/UIApps/UpdatePointOfSale.cshtml

* add "_blank" to view action

* Fix markup and tests

* Spacing updates

* Try test fix

* Re-add sticky account header and add test logs for timeout check

* Fix timeout issues

* Apply scroll padding on pages with sticky header

Co-authored-by: dstrukt <gfxdsign@gmail.com>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2022-02-07 18:37:45 +09:00
rockstardev
c652a2f122 Bumping LND to 0.14.2-beta (#3424) 2022-02-07 16:30:17 +09:00
d11n
ce174d507d Prevent initial scroll to section nav (#3411)
* Prevent initial scroll to section nav

On pages taht contain a section nav (sub navigation) the previous `scrollIntoView` led to an initial scroll position start at the section nav. See the store or server settings for examples.

This fixes it so that the scroll vertical position always starts at 0.

* Mobile: Prevent anchors from disappearing underneath the fixed header

* Add content padding top to scroll padding
2022-02-06 20:39:52 +09:00
nicolas.dorier
f66b1b644f docker-entrypoint would crash if missing ssh pubkey 2022-02-06 20:39:10 +09:00
nicolas.dorier
5b460f0b4e Error messages when starting BTCPay Server where not shown (Fix #3404) 2022-02-06 14:37:31 +09:00
Umar Bolatov
ab8d116f11 Fix null reference exception when going to LN node settings before it's been set-up (#3410)
* Fix null reference exception when going to LN node settings before it's been set-up

* Fix-up remaining null reference errors

* Update error message
2022-02-06 12:19:42 +09:00
nicolas.dorier
0535e9c68f 1.4.3 2022-02-02 20:24:56 +09:00
nicolas.dorier
93b52fbdb3 Redirect on 403 page rather than crashing if permission missing 2022-02-02 20:24:22 +09:00
Umar Bolatov
aab1eb0d36 Ensure Swagger docs are semantically and structurally correct (#3390)
* Remove "delete" method from "/api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods" docs

* Remove "requestBody" from "delete" method of "/api/v1/stores/{storeId}/webhooks/{webhookId}"

* Rename "API Key" to "API_Key"

* Remove "scheme" from API_Key security scheme

* Remove "name" and "in" properties from "Basic"security scheme
2022-02-02 20:12:48 +09:00
Andrew Camilleri
c07fcc171c Fix Plugin Local Client authorization when user is provided (#3401)
* Fix Plugin Local Client authorization when user is provided

* 1337 hax
2022-02-02 20:09:08 +09:00
nicolas.dorier
8e5b7d2578 Fix crash of payment request list (Fix #3392) 2022-02-02 20:08:20 +09:00
dstrukt
37b1e9037f files update 2022-02-02 10:19:17 +01:00
dstrukt
7c0999ac9f settings + PSBT constrain 2022-02-02 10:19:17 +01:00
dstrukt
5ce1c9d77f send + receive constrains 2022-02-02 10:19:17 +01:00
dstrukt
14dcb58afa constrain to lightning settings view 2022-02-02 10:19:17 +01:00
dstrukt
04068025c6 fixes edit payment request 2022-02-02 10:19:17 +01:00
Dennis Reimann
2cd0c7a407 Fix responsive POS and Crowdfund form display
Fixes #3375.
2022-02-02 10:19:17 +01:00
Umar Bolatov
f3592c4782 Update invoice doc link
close #3366
2022-02-02 10:14:36 +01:00
Umar Bolatov
1e5934895d Reference correct payment type definition for webhook events in Swagger docs 2022-02-02 10:09:58 +01:00
d11n
0f5d932726 Add test IDs for Lightning and Plugins (#3402)
I came across these when writing a Selenium test for LNbank.
2022-02-02 12:47:22 +09:00
d11n
4125726be9 Fix pay button type comparison (#3403)
Fixes #3396. We need to compare the button type value loosely, because initially the type is an integer and after it gets set by Vue it is a string.
2022-02-02 12:37:56 +09:00
d11n
bcb692caf0 Pay Button Alert: Add missing alert-link classes (#3397)
* Pay Button Alert: Add missing alert-link classes

* Update alert link styles
2022-02-02 12:37:22 +09:00
d11n
ff9a1a1f55 Delete user preferences cookie on logout (#3379)
I think it is a good practice to remove those settings on logout. Otherwise they get persisted across multiple accounts, which might not be desired.
2022-02-01 10:42:31 +09:00
nicolas.dorier
faef6d82ff No error in crowdfund if canvas unavailable 2022-01-31 18:15:28 +09:00
nicolas.dorier
d3a123373e No error in crowdfund if canvas unavailable 2022-01-31 17:05:42 +09:00
dstrukt
7c66f024ed adjust footer (#3389) 2022-01-31 16:52:50 +09:00
Umar Bolatov
20c7259174 Bump z-index on header (#3393)
close #3377
2022-01-31 16:52:14 +09:00
nicolas.dorier
16a4c072a9 Bump 2022-01-28 22:52:56 +09:00
nicolas.dorier
254e8d48f2 Fix test 2022-01-28 22:51:12 +09:00
Dennis Reimann
52fe374aaa Fix new guest store redirect after login
Fixes #3373.
2022-01-28 09:59:40 +01:00
nicolas.dorier
f776725096 Guest users shouldn't see Payouts menu item 2022-01-28 17:49:21 +09:00
nicolas.dorier
6e864c2631 Fix error message when trying to remove last admin 2022-01-28 17:09:54 +09:00
Kukks
4221554dc8 Add back plugins link in server nav
Not all plugins appear in the side nav menu, and there is no intuitive link to view all installed plugins
2022-01-28 08:56:52 +01:00
dstrukt
6b50fdae43 fixes stray < text (#3374) 2022-01-28 14:52:34 +09:00
Kukks
7bae6b2e8f bump 2022-01-27 17:17:20 +01:00
Kukks
5c6a0f22c0 fix ln address
fixes #3367
2022-01-27 17:17:20 +01:00
Nicolas Dorier
a9b755fa1d Changelog 1.4.0 (#3328) 2022-01-27 22:24:39 +09:00
dstrukt
72bdf9e0d7 Update "Close Wallet & Lightning Setup" Path (#3362)
* update path

* updates center
2022-01-27 14:33:12 +09:00
d11n
cbf8b23385 Adapt desktop breakpoints in views (#3358)
* Add XXL breakpoint

* Unify setup guide display

* Adapt desktop breakpoints in views

* Fix POS code display

* Fix syntax in home view

* store settings + constrain update

* account settings

Co-authored-by: dstrukt <gfxdsign@gmail.com>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2022-01-27 11:56:46 +09:00
nicolas.dorier
4aacd0d23a Adapt warning message for pay button 2022-01-27 11:43:39 +09:00
Umar Bolatov
69202ed752 Add loading indicator for "Pay" button in POS terminal app (#3342)
* Add loading indicator for "Pay" button in POS terminal app

close #3336

* move feature over to Vue

* replace click handler with form submit handler
2022-01-27 10:58:25 +09:00
Dennis Reimann
aa762821ce Spacing fixes 2022-01-26 15:58:21 +09:00
nicolas.dorier
8a7bb6bc5a Retry SaveChanges if deadlock detected in delete store 2022-01-26 15:09:06 +09:00
dstrukt
35cb4d4cc3 Update Plugins View (#3357)
* visual updates

* badges

* copy update
2022-01-26 15:01:49 +09:00
d11n
8ceda3eab1 Fixes (#3356)
* Improve wording

* Fix redirect action
2022-01-26 14:57:35 +09:00
dstrukt
cc1233e8d5 Adjust Pay Button (#3354)
* updates padding

* padding adjustments

* updates

* Redirect to paybutton enable page when disabling

* Fix test

* Fix test

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-01-26 14:55:48 +09:00
Nicolas Dorier
70883c0869 Simple Wallet View Inconsistencies (#3355) 2022-01-26 14:54:29 +09:00
Nicolas Dorier
fe9de98dd1 Merge pull request #3337 from dennisreimann/merge-general-payment
Store: Combine General and Payment settings
2022-01-25 20:26:45 +09:00
Kukks
ecde91ff25 Plugins: Support plugin git remote with multiple versions of same plugins 2022-01-25 11:15:19 +01:00
Dennis Reimann
240ad49a43 Add currency selection attributes 2022-01-25 06:57:55 +01:00
Dennis Reimann
10adb23e71 Remove obsolete store hints 2022-01-25 06:57:55 +01:00
Dennis Reimann
c2fc099439 Create store: Add default currency and rate provider fields 2022-01-25 06:57:55 +01:00
Dennis Reimann
723a38da68 Store: Combine General and Payment settings 2022-01-25 06:57:55 +01:00
nicolas.dorier
74037fd605 Make CanUseTorClient more reliable 2022-01-25 12:27:44 +09:00
Andrew Camilleri
e917796fce Set new LN defaults (#3325)
fixes #3324
2022-01-25 12:17:39 +09:00
d11n
5661798601 Allow plugins access in nav when there is no store (#3351) 2022-01-25 12:15:59 +09:00
Nicolas Dorier
a8adac9c5a Rename LNUrlAuthController -> UILNAuthController (#3352) 2022-01-25 11:51:14 +09:00
dstrukt
c62018f984 1.4.0 Final Polish (#3335)
* adds pay button icon

adds more

update icons

* reduces update app titles

* capitalize PP

* more icons

notification icon update

adds more

* Truncate long titles in nav

* Adjust "off" color state for the wallet/lightning

* Theme switch alignment

* Update store selector

* adds more space in store selector span

* Prevent form zoom on mobile Safari

* updates lightning + settings view

* updates store icon

* adjusts notification icon

* removes notifications setting button icon

* Update status colors

* Fix Lightning nav markup

* Prevent icons from shrinking

* Move main menu styles to css

* Remove max-width container for content area

* Update headlines

* Use fixed header on mobile

* Extract custom pills component

* Form field update

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-01-25 11:07:52 +09:00
Kukks
06f2d4425c re-add theme ui extension 2022-01-24 13:12:12 +01:00
Nicolas Dorier
090da6cfb6 Add configurable BOLT11Expiration for refunds (Fix #3281) (#3341)
* Add configurable BOLT11Expiration for refunds (Fix #3281)

* Add BOLT11Expiration configuration in Payment
2022-01-24 20:17:09 +09:00
Nicolas Dorier
28dbf10a31 Do not rely on element's id for payment button (#3339)
* Do not rely on element's id for payment button

* Update BTCPayServer/Views/UIStores/PayButton.cshtml

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/Views/UIStores/PayButton.cshtml

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/Views/UIStores/PayButton.cshtml

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/Views/UIStores/PayButton.cshtml

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: d11n <mail@dennisreimann.de>
2022-01-24 20:05:22 +09:00
d11n
7a66d0feda Shorten environment info (#3350)
Also uses the copyright symbol (instead of an `@`).
2022-01-24 20:01:17 +09:00
Nicolas Dorier
e23ddf118e Add warning about the tradeoff the paybutton (#3340)
* Add warning about the security tradeoff of the paybutton

* Update BTCPayServer/Views/UIStores/PayButtonEnable.cshtml

Co-authored-by: d11n <mail@dennisreimann.de>

* Move message in column

Co-authored-by: d11n <mail@dennisreimann.de>
2022-01-24 20:00:42 +09:00
Nicolas Dorier
11d6588249 Add suggestion list for currency inputs (#3347)
* Move tagHelpers in their own directory

* Add suggestion list for currency inputs
2022-01-24 20:00:13 +09:00
Umar Bolatov
30db0cd4f4 Make users table responsive (#3348) 2022-01-24 14:03:56 +09:00
nicolas.dorier
692b57a1ad Fix the notification dropdown not updating without page refresh 2022-01-23 15:49:43 +09:00
matter
7505c65401 Logo Replaced
ETB logo change with a new, more consistent logo with other liquid assets.
2022-01-21 20:49:05 +01:00
d11n
54a735ffd9 Pay Button: Fix CSP violations for custom amount and slider (#3334)
Fixes #3241.
2022-01-21 11:11:08 +09:00
d11n
6a20d9036c Refactor signed out action views (login, register, etc.) (#3333)
* Refactor signed out action views (login, register, etc.)

Extract common layout and some more cleanups.

* Optimize supporters display on mobile

* Optimize footer display on mobile
2022-01-21 11:10:03 +09:00
d11n
c338846d63 Mobile navigation (#3331)
* Mobile nav: Horizontal scrolling

* Reduce nav item spacing on mobile

* Update overlay color

* Fix modal colors

* Improve mobile nav styles

* Improve navbar on mobile Safari

* Scroll active nav item into viewport
2022-01-21 10:35:12 +09:00
d11n
c419ad68bb Remove redundant payment methods from store settings (#3323)
* Add enabled toggle to wallet settings view

* Add enabled toggle to Lightning settings view

* Remove redundant payment methods from store settings

* Rename Payment Methods to Payments

* Adapt tests

* Fix invoice state toggle on details page

* Add spacing on Lightning sett8ings page
2022-01-19 20:58:02 +09:00
d11n
51c486c15a Add Lightning page with services (#3308)
* Add Lightning page with services

* Adapt other services pages

* Display Lightning services only for internal node
2022-01-19 11:52:05 +09:00
Dennis Reimann
306ff3d919 Auto-submit scanned login code
Closes #3321.
2022-01-18 15:42:09 +01:00
nicolas.dorier
d667b8ae8b Add LNURL support to Crowdfund 2022-01-18 12:26:15 +01:00
d11n
72d728eb47 Update BTCPayServer/Views/UIAccount/LoginWithFido2.cshtml 2022-01-18 12:25:56 +01:00
Dennis Reimann
801ab862a3 Improve 2FA auth UI 2022-01-18 12:25:56 +01:00
Andrew Camilleri
d7b4dd2d4c Show action button for safari browsers when using FIDO2 (#3322)
fixes #3197
2022-01-18 10:23:07 +09:00
d11n
1d3f74c8bb Home sweet home (#3313)
* Link to store home, show home only if there is no store

* Handle store guest case

* Apply correct policies to nav items
2022-01-18 10:20:59 +09:00
dstrukt
c3f73c0de3 Content Consistency Updates (1.4.0) (#3316)
* updates

* updates

* updates

* updates

* updates

* moves api key CTA to top right

* updates

* more updates

* more updates

* Fix active state when "Account" is selected

* Update wording in subnav: Profile becomes Account

* Fix email test

* Update Emails wording

* Try to fix email test

* Make General first tab in store settings

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-01-18 10:19:27 +09:00
Nicolas Dorier
1fc2fc7a11 Merge pull request #3317 from BTCparadigm/patch-1
Update LICENSE
2022-01-17 17:18:36 +09:00
Nicolas Dorier
13ea1898b6 Merge pull request #3314 from dennisreimann/theme-colors
Theme colors
2022-01-17 17:16:26 +09:00
Nicolas Dorier
586303f47e Merge pull request #3319 from NicolasDorier/wfuoi
Make sure the SubscribeAsync handlers are executed in order
2022-01-17 17:16:03 +09:00
Nicolas Dorier
ce86a838f2 Merge pull request #3315 from dennisreimann/2fa-login
Fix secondary login view
2022-01-17 17:15:51 +09:00
nicolas.dorier
21e69251e3 CanSendIPN can't ensure received payment is sent first 2022-01-17 16:59:37 +09:00
nicolas.dorier
a42323a527 Make sure the SubscribeAsync handlers are executed in order 2022-01-17 13:36:33 +09:00
Nicolas Dorier
14da3023d8 Merge pull request #3310 from NicolasDorier/niceurl
Use nicer urls, part2 (Fix #921)
2022-01-17 11:41:20 +09:00
nicolas.dorier
7eb5f57478 Fix Rates page 2022-01-17 11:25:33 +09:00
Rafe
2cb443df8a Update LICENSE 2022-01-16 16:11:22 +02:00
nicolas.dorier
961769ebd0 Fix AssertNoError to detect page exception 2022-01-16 12:39:08 +09:00
Dennis Reimann
3266cc8e3b Improve Lightning node toggle colors 2022-01-15 21:07:01 +01:00
Dennis Reimann
3dec14b89d Fix secondary login view 2022-01-15 20:49:04 +01:00
Dennis Reimann
a67f989dda Theme variable value updates 2022-01-15 20:20:52 +01:00
Dennis Reimann
2d05464b17 Light theme: Use off-white bg for content 2022-01-15 19:56:38 +01:00
Dennis Reimann
a39082e565 Add scrollbar styles 2022-01-15 19:54:50 +01:00
nicolas.dorier
d1f567eade Add Include Error Details to postgres connection string 2022-01-15 14:54:06 +09:00
nicolas.dorier
b9fdd54538 Use nicer urls, part2 (Fix #921) 2022-01-15 14:54:06 +09:00
Kukks
7243aec213 Support LNURL Auth 2022-01-14 13:26:30 +01:00
nicolas.dorier
1fb582c35d Rename the Fido2Controller 2022-01-14 18:34:30 +09:00
Nicolas Dorier
c6da0409b0 Merge pull request #3307 from NicolasDorier/fewiwqi
Update some code style enforcement
2022-01-14 18:05:50 +09:00
nicolas.dorier
50d4b55f73 Warning if not using 'simple using' 2022-01-14 17:50:29 +09:00
nicolas.dorier
c6a7e90c1a Warning if not using 'is not null' 2022-01-14 17:48:15 +09:00
Nicolas Dorier
5cbc2e96e7 Merge pull request #3261 from NicolasDorier/qfouq
Rename controllers
2022-01-14 16:23:47 +09:00
nicolas.dorier
23a96c07ae Rename GreenField -> Greenfield 2022-01-14 13:46:04 +09:00
nicolas.dorier
7a787fc945 Rename UI controllers 2022-01-14 13:46:03 +09:00
nicolas.dorier
ce43de0c57 Rename greenfield controllers 2022-01-14 12:21:06 +09:00
nicolas.dorier
eaf47d3739 Rename controllers Bitpay controllers 2022-01-14 12:21:06 +09:00
Nicolas Dorier
5eebdb6774 Use nicer urls (Fix #921) (#3304) 2022-01-14 12:20:50 +09:00
d11n
51db1593d6 Remove stores list (#3300) 2022-01-14 11:59:27 +09:00
nicolas.dorier
223c71ce8b Fix tests 2022-01-13 23:50:33 +09:00
dstrukt
127afdb5c1 Store-Centric Minor Tweaks (#3276)
* padding above store selector + left & right content padding

* Adapt vertical spacing for content area

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-01-13 20:29:38 +09:00
nicolas.dorier
f34706f9f0 Update lightning lib 2022-01-13 19:18:14 +09:00
nicolas.dorier
f76ce54109 Fix tests 2022-01-13 18:14:27 +09:00
Nicolas Dorier
f67fa6a5d6 Remove right to admins to bypass permissions to modify/view invoices or stores (#3297) 2022-01-13 17:42:32 +09:00
Nicolas Dorier
5ad6d77973 The notification dropdown wasn't fetching events if rootPath used (#3299) 2022-01-13 17:08:33 +09:00
d11n
69d1acc797 Empty states: Setup guide for store and wallet (#3255)
* Store Selector: Create first store button

* Add setup guide to homepage

* Policy update for stores list

* Fix test

* Initial create store button as primary

* Add notifications list to homepage

* Remove back to list from store create view

* Adapt content padding on desktop

* Add store home view with setup guide

* Fix active page nav highlighting

* Test fix

* Remove What's Next section

* Rename Store Home to Dashboard

* Fix Lightning setup link

* Add tests for store setup guide

* Update BTCPayServer/Views/Home/Home.cshtml

Co-authored-by: Pavlenex <pavle@pavle.org>

* Update BTCPayServer/Views/Stores/Dashboard.cshtml

Co-authored-by: Pavlenex <pavle@pavle.org>

* Remove setup guide on global homepage

* Remove Shopify setup link from nav

* Fix content container max-width on desktop

Co-authored-by: Pavlenex <pavle@pavle.org>
2022-01-13 17:08:15 +09:00
Nicolas Dorier
0c0235a56e Merge pull request #3298 from NicolasDorier/wfwiouoi
Add version to svg's href files to prevent cache issues
2022-01-13 15:55:14 +09:00
nicolas.dorier
7b0558dc8e Add version to svg's href files to prevent cache issues 2022-01-13 15:54:40 +09:00
nicolas.dorier
77be2fa9d5 Make CanUseWebhooks less flaky 2022-01-13 13:27:02 +09:00
Nicolas Dorier
8f320337e0 Merge pull request #3296 from dennisreimann/clipboard
Fix clipboard copy edge case
2022-01-13 13:23:26 +09:00
nicolas.dorier
2327b97fa3 Make CanUseWebhooks less flaky 2022-01-13 13:21:54 +09:00
Dennis Reimann
a411a6a81a Fix copy functionality without navigator.clipboard 2022-01-13 11:50:37 +09:00
Dennis Reimann
d66f1f5513 Remove duplicate event handler 2022-01-12 16:22:56 +01:00
Nicolas Dorier
7503fde48c Merge pull request #3295 from NicolasDorier/foiuw
Make BTCPayServer insensitive to the working directory in which it is started (Fix #1894)
2022-01-12 20:45:09 +09:00
nicolas.dorier
20c8916610 Make BTCPayServer insensitive to the working directory in which it is started (Fix #1894) 2022-01-12 20:20:26 +09:00
nicolas.dorier
5a2a933b64 Add more logs to the canusetor test 2022-01-12 18:26:45 +09:00
Nicolas Dorier
ffc0e996db Merge pull request #3294 from NicolasDorier/fewouq
Bump Clipboard.js
2022-01-12 16:59:36 +09:00
nicolas.dorier
a02ad104ee Bump Clipboard.js 2022-01-12 16:06:28 +09:00
Nicolas Dorier
625876ff07 Merge pull request #3293 from bolatovumar/fix/vscode-browser-launch
Adjust VSCode browser launch regex
2022-01-12 14:25:34 +09:00
Umar Bolatov
b935275fd9 Adjust VSCode browser launch regex
VSCode stopped launching BTCPay in a new browser tab after this commit: ab3aab9c22 (diff-2baea61aec1a18e36f951b0060f693c9bd10d9610e2681d36277e79d101005bcR66)
2022-01-11 21:11:15 -08:00
Nicolas Dorier
4c032e9e6a Merge pull request #3290 from dennisreimann/tor-url-in-footer
Improve footer
2022-01-12 11:19:54 +09:00
Dennis Reimann
1b770c66cd Improve footer 2022-01-11 18:56:30 +01:00
Nicolas Dorier
96259dfb49 Merge pull request #3289 from NicolasDorier/oiufew
Do not send email twice for bitpay API, log whether IPN is an ExtendedNotification. (Fix #968)
2022-01-12 00:42:44 +09:00
nicolas.dorier
e4d9e3e22e Do not send email twice for bitpay API, log whether IPN is an ExtendedNotification. (Fix #968) 2022-01-12 00:26:12 +09:00
nicolas.dorier
fbfab88257 Remove obsolete code in BitpayIPNSender 2022-01-12 00:10:55 +09:00
Nicolas Dorier
708f8b49df [Greenfield] Let non-admin update LN payment method with internal node if it is unchanged (Fix #2860) (#3288) 2022-01-11 23:38:05 +09:00
dstrukt
323e5e14a3 Update Payment Request View (#3259)
* removes "back to list"

* changes currency label + formats currency and amount

* adjust sizing

* Wording: Create and Save button

* Improve search responsive behaviour

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2022-01-11 22:16:16 +09:00
Nicolas Dorier
5bbaa48b49 Fix change state broken in the UI and update invoice's status in payment request to new convention (Fix #3265) (#3286) 2022-01-11 21:49:56 +09:00
Wouter Samaey
cd91e48713 Swagger: Added explanation for empty currency field in Create Payment Request (#3285)
* Swagger: Added explanation for empty currency field in Create Payment Request

* Added nullable true
2022-01-11 20:11:11 +09:00
Nicolas Dorier
7444bd06e4 [Greenfield] Fix create/update payment requests expiry field and allow null currency field (Fix #3222) (#3284) 2022-01-11 18:42:44 +09:00
Nicolas Dorier
0017e687db A store's guest should be able to manage lightning invoices (Fix #3212) (#3283) 2022-01-11 17:22:10 +09:00
dstrukt
5865fd5022 Improve Payout View (#3260)
* updates payouts

* update spacing

* improvements

* View updates

* updates spacing

* Fix spacing

* Fix markup

* Fix test

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-01-11 17:15:23 +09:00
dstrukt
4b941a5145 Update Invoice Views (#3264)
* updates create invoice

* updates invoice list

* formats

* updates row

* updates

* Improve invoice list markup and fix mass action form

* Responsive invoice table

* Improve spacing on invoice detail view

* Improve archive message

* Responsive status change partial

* Add test case for mass archiving

* Add mass unarchiving

Closes #3270.

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-01-11 17:14:34 +09:00
Nicolas Dorier
3c5d809cf9 Merge pull request #3282 from NicolasDorier/wofiq
The IPN notification manager should preserve IPN ordering
2022-01-11 15:22:07 +09:00
nicolas.dorier
ba101015f6 Use the MultiProcessingQueue in IPNSender 2022-01-11 15:06:00 +09:00
nicolas.dorier
6999abe1ca Rename WebhookNotificationManager -> WebhookSender 2022-01-11 13:21:38 +09:00
nicolas.dorier
cb295e20d4 Rename InvoiceNotificationManager -> BitpayIPNSender 2022-01-11 13:21:38 +09:00
nicolas.dorier
c6df43363f Extract MultiProcessingQueue from WebhookNotificationManager 2022-01-11 13:21:38 +09:00
Nicolas Dorier
81cec36b68 Merge pull request #3279 from NicolasDorier/quofwe
[Greenfield] if some json property are invalid, throw nice error instead of an exception (Fix #2795)
2022-01-10 23:56:57 +09:00
nicolas.dorier
47c1ffe53f Fix doc for address preview of derivation scheme 2022-01-10 23:03:30 +09:00
Nicolas Dorier
90a9051827 Merge pull request #3273 from dstrukt/improve-lightning-config-view
Simple Lightning Node Selector Improvement
2022-01-10 22:13:38 +09:00
nicolas.dorier
8bea3dd21e [Greenfield] if some json property are invalid, throw nice error instead of an exception (fix #2795) 2022-01-10 22:11:04 +09:00
nicolas.dorier
e164b1f169 The PayButton should select the default currency of the store as default 2022-01-10 20:37:36 +09:00
Dennis Reimann
383765f5fe Solve spacing via CSS 2022-01-10 12:22:12 +01:00
Nicolas Dorier
25a59fff4a Merge pull request #3275 from NicolasDorier/oifwuq
Improve error message for create store wallet transaction (Fix #3256)
2022-01-10 18:00:39 +09:00
nicolas.dorier
03af471f65 Improve error message for create store wallet transaction (Fix #3256) 2022-01-10 11:59:13 +09:00
dstrukt
d189deefb4 adds secondary button look to rounded tab nav 2022-01-09 03:04:32 -08:00
Nicolas Dorier
e957180618 Merge pull request #3269 from btcpayserver/odqiq
Validate the name of controllers when LinkGenerator
2022-01-08 14:32:55 +09:00
nicolas.dorier
47d8d3cdb1 Validate the name of controllers when LinkGenerator 2022-01-08 14:16:17 +09:00
Nicolas Dorier
f364451a96 Merge pull request #3262 from dstrukt/remove-back-to-list-ctas
Remove remaining "Back to list" CTAs
2022-01-08 12:21:04 +09:00
Nicolas Dorier
2c51b31c62 Merge pull request #3267 from dennisreimann/store-centric-account
Account menu improvement
2022-01-08 12:20:04 +09:00
Dennis Reimann
0dcf240faf Account menu improvement 2022-01-07 17:25:28 +01:00
nicolas.dorier
88bc1c64d2 Fix tests 2022-01-07 21:47:19 +09:00
nicolas.dorier
84bd8a6e98 fix tests 2022-01-07 21:16:26 +09:00
nicolas.dorier
0d657fc646 Fix tests 2022-01-07 20:54:26 +09:00
nicolas.dorier
64b85ac1f9 Fix AssertNoError 2022-01-07 19:49:33 +09:00
nicolas.dorier
81c1cc6728 Add rockstar friendly error 403 2022-01-07 19:46:38 +09:00
Nicolas Dorier
098879585a Merge pull request #3263 from NicolasDorier/qouif
Fix CookieAuthHandler and guest permission to invoice's view
2022-01-07 18:31:23 +09:00
nicolas.dorier
fc91077430 A store's guest should be able to see invoice information 2022-01-07 18:10:31 +09:00
nicolas.dorier
b71a04943b CookieAuthHandler shouldn't set store context if appId/payReqId/invoiceId is not found 2022-01-07 18:10:31 +09:00
dstrukt
dd4fb68e5b invoices - remove 2022-01-06 23:01:04 -08:00
dstrukt
a085a2a557 apps - remove 2022-01-06 22:58:14 -08:00
nicolas.dorier
fa84e34def Fix test 2022-01-07 13:02:07 +09:00
Kukks
8c3f377fc0 fix elements 2022-01-06 18:09:06 +01:00
dstrukt
f9d14c64ce Simple Improve Receive Wallet View (#3251)
* removes card styles

* removes card styles

* removes card style

* Minor improvements

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2022-01-05 20:23:36 +09:00
Wouter Samaey
fc687f9fc0 Fixed LND admin macaroon hexdump command (#3252)
Argument `-plain` didn't work for me in the LND container, but `-p` did. 
The error I got was `xxd: invalid number 'ain'`

Added the `-c 256` for better readability. This param maxes out at 256.
2022-01-05 20:23:21 +09:00
d11n
57071d7bc8 Replace Square Crypto with Spiral (#3254)
Closes #3253
2022-01-05 20:22:24 +09:00
nicolas.dorier
324a246189 Fix dockerfile 2022-01-03 22:11:33 +09:00
Umar Bolatov
a706f81760 Fix VSCode launch.json for .NET 6 (#3242) 2022-01-03 12:09:43 +09:00
nicolas.dorier
ab3aab9c22 Make BTCPayServer works with dotnet watch hot reload 2022-01-01 22:05:51 +09:00
Nicolas Dorier
fd2e55e444 Simplify tests to take advantage of context (#3246) 2021-12-31 22:02:53 +09:00
Nicolas Dorier
04b8eafacb Run dotnet format (#3244) 2021-12-31 16:59:02 +09:00
d11n
e2d0b7c5f7 Store centric UI: Part 3 (#3224)
* Set store context in cookie

* Fix page id usages in view

* Move Pay Button to nav

* Move integrations to plugins nav

* Store switch links to wallet if present

* Test fixes

* Nav fixes

* Fix altcoin view

* Main nav updates

* Wallet setttings nav update

* Move storeId cookie fallback to cookie auth handler

* View fixes

* Test fixes

* Fix profile check

* Rename integrations nav extension point to store-integrations-nav-list

* Allow strings for Active page/category for plugins

* Make invoice list filter based on store context

* Do not set context if we are running authorizer through tag helper

* Fix test and unfiltered invoices

* Add permission helper for wallet links

* Add sanity checks for payment requests and invoices

* Store context in home controller

* Fix PayjoinViaUI test

* Store context for notifications

* Minor UI improvements

* Store context for userstores and vault controller

* Bring back integrations page

* Rename notifications nav pages file

* Fix user stores controller policies

* Controller policy fixes from code review

* CookieAuthHandler: Simplify CanViewInvoices case

* Revert "Controller policy fixes from code review"

This reverts commit 97e8b8379c2f2f373bac15a96632d2c8913ef4bd.

* Simplify LayoutSimple

* Fix CanViewInvoices condition

Co-authored-by: Kukks <evilkukka@gmail.com>
2021-12-31 16:36:38 +09:00
nicolas.dorier
db1a124ffb Do not check certificates for SMTP settings if local server 2021-12-29 18:24:24 +09:00
Nicolas Dorier
0dcfbe8581 Remove internal socks http proxy and use .net60 socks support (#3240) 2021-12-28 18:57:22 +09:00
nicolas.dorier
0e1b872777 Update dotnet version in README 2021-12-28 17:40:36 +09:00
Nicolas Dorier
ed5b159fb6 Use ArgumentNullException.ThrowIfNull everywhere (#3239) 2021-12-28 17:39:54 +09:00
Andrew Camilleri
9b7ca76b99 Use Outstanding amount for shopify order invoices (#3203)
* Use Outstanding amount for shopify order invoices

* consider shopify order may have multiple transactions

* Use presentment currency not just currency

fixes #2683
2021-12-28 15:56:54 +09:00
dstrukt
eeebb99ca3 Consistent and simplified button CTA text (#3234)
* refine pull payments cta

* payment requests cta

* invoice cta

* add user cta

* webhooks cta

* set password cta

* removes whitespace

* set password cta

* api key cta

* change password cta

* add device 2fa cta

* create token cta

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-12-28 15:54:31 +09:00
nicolas.dorier
e2b18cf9db Make sure dotnet test show test progress 2021-12-27 14:26:03 +09:00
Nicolas Dorier
955ba91770 Merge pull request #3233 from NicolasDorier/fwihqb
Bump to C#10, remove warnings
2021-12-27 14:10:23 +09:00
nicolas.dorier
c0e9f91bdc Fix warnings 2021-12-27 13:58:18 +09:00
nicolas.dorier
259f0b5aad Bump to C# 10 2021-12-27 13:20:57 +09:00
Nicolas Dorier
02419dcdd1 Migrate to .net6.0 (#3198) 2021-12-27 13:15:43 +09:00
d11n
4a66c91cac Fix app permissions (#3227)
* Fix app permissions

As pointed out by @nicolasdorier [here](https://github.com/btcpayserver/btcpayserver/pull/3205#issuecomment-999437555).

* Fix for login codes view

* Ensure app belongs to store
2021-12-26 12:20:46 +09:00
Andrew Camilleri
48ac996d77 Sign in with other device (quick mobile login) (#2504)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-12-24 09:27:00 +01:00
Wouter Samaey
82b4debcac Renamed Payment Request "Created" field to "CreatedTime" for consistancy since we already have a breaking change (#3230) 2021-12-23 14:48:10 +01:00
Andrew Camilleri
5f5f71bf37 Normalize greenfield responses for 404s (#3220) 2021-12-23 13:32:08 +09:00
Wouter Samaey
ae33fc3031 PaymentReq "Created" field is not really a unix timestamp in JSON. Also renamed to "CreatedTime" like with invoices (#3221)
* PaymentReq "Created" is not really a unix timestamp in JSON. Also renamed to "CreatedTime" like with invoices

* Renamed field so it is not a breaking change

* Update swagger.template.payment-requests.json
2021-12-23 13:30:49 +09:00
Wouter Samaey
f63a9ed1a0 Added field "StoreId" to a Payment Request in Greenfield 2021-12-22 16:17:35 +01:00
nicolas.dorier
9843f66bb6 Add example to cryptoCode in greenfield doc 2021-12-22 11:39:43 +09:00
René
b2c1846ebb Update link in README.md (#3219) 2021-12-21 09:32:39 +01:00
Dennis Reimann
8e5a9251d6 Address feedback from code review
Thanks @kukks
2021-12-21 09:24:09 +01:00
Dennis Reimann
3a59e2a5c4 Cache resolved store items in HTTP context 2021-12-21 09:24:09 +01:00
Dennis Reimann
38ff3e5e89 Fix footer position on large breakpoints 2021-12-21 09:24:09 +01:00
Dennis Reimann
1f0653985a Apply permission tag helpers to main navigation 2021-12-21 09:24:09 +01:00
Dennis Reimann
a4fa61e5f6 Authorize invoice refund route
The customer gets a pull payment route to initiate the refund, so this one is only for merchants and needs to be authorized.
2021-12-21 09:24:09 +01:00
Dennis Reimann
b68eae6f7d Re-add status messages to pull payments and payout views 2021-12-21 09:24:09 +01:00
Dennis Reimann
2d7c5cabab Refactor page titles and active page functionality 2021-12-21 09:24:09 +01:00
Dennis Reimann
42e731369e Remove section nav for pull payments and payouts 2021-12-21 09:24:09 +01:00
Dennis Reimann
7d2627551b Store Settings nav update 2021-12-21 09:24:09 +01:00
Wouter Samaey
f4bde164bf Changed API policy for calculating feeRate (#3217) 2021-12-20 11:16:23 +01:00
d11n
bb751793c8 Various minor UI fixes and cleanups (#3208)
* Copy to clipboard fix

* Improve invoice status change wording and JS

* Re-add ability to delete apps

Now that the list view is gone, we need to move this option to the edit view

* Clean up app and payment request bundles

* Fix for invoice status change when dismissed
2021-12-19 13:05:10 +09:00
Nicolas Dorier
c68141119c [Greenfield] Send forbid 403 rather than empty results on /api/v1/stores (#3215) 2021-12-19 01:01:54 +09:00
Nicolas Dorier
163d1a195d Fix: DateTime passed to bitpay API weren't assumed UTC, remove DateTime.Now references (#3206) 2021-12-17 15:31:06 +09:00
Wouter Samaey
6de4f6a3ac Mention the missing API permission in the response of a Greenfield request (#3195)
* Mention the missing API permission in the response header or body

* Fixes + Added a unit test. 1 TODO remains.

* Added MissingPermissionDescription to the error

* Update BTCPayServer.Tests/GreenfieldAPITests.cs

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

* Fix tests

* [GreenField]: Make sure we are sending fully typed errors

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-12-16 23:04:06 +09:00
Nicolas Dorier
89a52703f6 Merge pull request #3204 from NicolasDorier/fixlightningapi
[Greenfield] Various store's lightning api fixes
2021-12-16 14:41:46 +09:00
nicolas.dorier
4f7eeea14e Greenfield: Improve error message, do not use internal lightning node on store's lightning API 2021-12-16 14:27:34 +09:00
nicolas.dorier
bbddd72780 Fix permissions required for store's lightning node in doc 2021-12-16 12:31:24 +09:00
Nicolas Dorier
ac099aa513 Change implementation of the Smtp server (#3202)
* Change implementation of the Smtp server

* Update BTCPayServer/Services/Mails/EmailSettings.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2021-12-15 21:30:46 +09:00
Kukks
ece5401121 Bump QR and LNURL libs 2021-12-15 10:14:20 +01:00
nicolas.dorier
fd7b11518c Update changelog 2021-12-14 12:14:33 +09:00
nicolas.dorier
9a70b4487c Fix: serverinfo 'available' wasn't set for BTC 2021-12-14 00:05:41 +09:00
Trigger
19af02e71b Fix issue in invoice - changing the payment method (#3169) 2021-12-12 15:04:43 +09:00
d11n
619aa05e14 Update invoice state hint display (#3188) 2021-12-12 00:26:45 +09:00
d11n
cc60958b30 Upgrade Lightning lib (#3187) 2021-12-11 14:32:28 +09:00
Nicolas Dorier
bd2f35a241 Remove Ethereum support (#3182) 2021-12-11 14:31:41 +09:00
d11n
cf78987fab Fix LN Node availability check (#3189) 2021-12-11 14:31:25 +09:00
d11n
f8e6b51e9d Store-centric UI (#3091)
* Update layout structure and header

* Implement store selector

* Simplify homepage

* Update layout

* Use dropdown for store selector

* Hide global nav in store context

* Horizontal section nav

* Remove outer section and container from content views

* Update nav

* Set store context for invoice and payment request lists

* Test fixes

* Persist menu collapse state on client-side

* MainNav as view component

* Update app routes to incorporate store context

* Test fixes

* Display ticker for altcoins build only

* Plugins nav

* Incorporate category for active page as well

* Update invoice icon

* Add apps list to nav

* Add store context to app type controllers

* Incorporate id for active page as well

* Test fixes

* AppsController cleanup

* Nav: Display only apps for the current store

* Remove leftover from merge

* Nav styles optimization

* Left-align content container

* Increase sidebar padding on desktop

* Use min-width for store selector menu

* Store settings nav update

* Update app and payment request routes

* Test fixes

* Refactor MainNav component to use StoresController

* Set store context for invoice actions

* Cleanups

* Remove CurrentStore checks

The response will be "Access denied" in case the CookieAuthorizationHandler cannot resolve the store.

* Remove unnecessary store context setters

* Test fix
2021-12-11 12:32:23 +09:00
d11n
2b1436e303 Fix build warning in Invoice Testing Controller (#3191) 2021-12-10 12:31:04 +01:00
Umar Bolatov
cf772bb9e0 Improvements for disabled plugins status indicators (#3168)
* Improvements for disabled plugins status indicators

close #3150

* Improve spacing

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-12-08 13:47:35 +09:00
Andrew Camilleri
fd75008499 Allow pull payments for store guests (#3128) 2021-12-08 00:40:24 +09:00
d11n
e113c12768 Fix copy pay button code (#3175) 2021-12-04 21:12:15 +01:00
d11n
3acda5b342 Fix code display (#3172) 2021-12-04 09:20:35 +01:00
Wouter Samaey
bbea9d7a27 Swagger fixes (#3170) 2021-12-04 09:20:23 +01:00
Pavlenex
b0125adfe9 Merge pull request #3165 from MsFloofie/patch-1
Fixed spelling mistake
2021-11-30 20:56:46 +01:00
Ms Floofie
d3b28a98be Fixed spelling mistake
Changed a misspelling from "synch" to "sync" ;)
2021-11-29 16:17:38 -05:00
Wouter Samaey
c679654ada Send block reward to a random address instead of the invoice address. Default mine 1 block. (#3164)
* Send block reward to a random address instead of the invoice address. Default mine 1 block.

* Using a random address for the block reward
2021-11-29 19:44:56 +09:00
Umar Bolatov
26f3cffe5c Fix possible null reference exception when creating a pull payment (#3162)
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2021-11-29 07:26:30 +01:00
Wouter Samaey
8f0d82d219 Cheat mode to mine blocks (#3163) 2021-11-29 07:23:56 +01:00
nicolas.dorier
6fec929656 Remove infinite loop in test 2021-11-27 11:40:06 +09:00
Samuel Adams
ec68d2a0e6 Remove Confirmed state in UI (#3090)
* Remove Confirmed state in UI

Closes #1789.

* Add infobox & improve refund tooltip

* Update BTCPayServer/Views/Invoice/ListInvoices.cshtml

Add @dennisreimann suggestion

Co-authored-by: d11n <mail@dennisreimann.de>

* Add "don't show again" button

Adds a "Don't Show Again" button to the infobox. Also a bugfix that was preventing the new status from showing in the invoice details page.

* Add User blob and move invoice status notice to it

Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: Kukks <evilkukka@gmail.com>
2021-11-26 23:13:41 +09:00
nicolas.dorier
f6afb9a3f0 CheatMode should use NBXplorer RPC proxy rather than hardcoded client 2021-11-26 18:34:40 +09:00
nicolas.dorier
70bb6d999e Fix lightnign flaky test 2021-11-26 15:08:28 +09:00
d11n
e9074a8ec1 Test improvement exposing failing test (#3120)
* Test improvement exposing failing test

* Test fixes

* Fix test

* update alt compose

* Fix test CanUsePullPaymentsViaUI

* Fix CanChangeUserMail

Co-authored-by: Kukks <evilkukka@gmail.com>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2021-11-26 15:02:30 +09:00
Samuel Adams
9b730e784f Add pagination for API GetNotifications (#3145) 2021-11-26 11:55:59 +09:00
Umar Bolatov
57852821f5 Remove sync modal from "Forgot password" page (#3159)
* Update "Forgot password" page layout

* Fix null reference error
2021-11-26 11:54:33 +09:00
Andrew Camilleri
87061ecfc0 Support BC-UR v1 wallet import (#3080)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-11-25 10:25:22 +01:00
Dennis Reimann
d555d2f3f6 Fix flaky alert message lookup 2021-11-25 10:24:14 +01:00
Dennis Reimann
3b3fac98ad Improve Lightning settings display 2021-11-25 10:24:14 +01:00
Dennis Reimann
285a30f67a Plugins: Provide extension points for Lightning setup 2021-11-25 10:24:14 +01:00
Dennis Reimann
fa83304697 Improve time helper to also work with future datetimes 2021-11-25 10:24:14 +01:00
Dennis Reimann
e42ef4b2f8 Plugins: Update startup for plugin compatibility 2021-11-25 10:24:14 +01:00
d11n
cc3908cdb3 Checkout: Fix UI flickering on payment method change (#3158) 2021-11-25 10:22:45 +01:00
Jonathan Underwood
e3def45c83 Update Bitbank API (#3157)
Co-authored-by: Kukks <evilkukka@gmail.com>
2021-11-25 09:34:49 +01:00
Umar Bolatov
4fe4cdb7bf Redirect to payment requests page instead of edit page on archive action (#3142)
* Redirect to payment requests page instead of edit page on archive action

* Remove unused "using" directive
2021-11-24 20:27:56 +09:00
dstrukt
11a9b10a54 Minor visual improvements to various Server Settings views (#3152) 2021-11-24 09:59:19 +01:00
Nicolas Dorier
5164402e27 Merge pull request #3149 from btcpayserver/qoufhe
Remove Logs static singletons
2021-11-24 17:37:47 +09:00
nicolas.dorier
20f32e94a8 Run tests in parallel 2021-11-23 19:17:17 +09:00
nicolas.dorier
35aad4ebf9 Remove Logs static singletons 2021-11-23 13:55:34 +09:00
Nicolas Dorier
d60e4f8fe4 Merge pull request #3148 from btcpayserver/fweoqh
Isolate tests requiring internet access
2021-11-23 13:28:05 +09:00
nicolas.dorier
e5a5eb3547 Add third party tests to the suite, skip azure test if not configured 2021-11-23 13:26:47 +09:00
nicolas.dorier
fbb4b13898 Isolate tests requiring internet access 2021-11-23 12:53:05 +09:00
Nicolas Dorier
573f1ddf76 Move fast tests in own class (#3144) 2021-11-23 00:49:51 +09:00
dstrukt
ead0f284f2 Simple Invoice Detail View Cleanup (#3100)
* changes copy to "unarchive", more clear

* adds semibold custom class

* adds class to TH elements & uppercases labels

* whitespace and padding patches

* uppercase patches

* removes class in site.css + updates class name

* Fix test

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-11-22 13:57:20 +09:00
dstrukt
6ff659fb99 Simple Payment Request and Pull Payment Views Improvements (#3127)
* adds border radius to payment request view

* adds border radius to pull payments view

* spacings + font weights

* paddings + font weights

* updates text color

* updates font weights + text colors

* padding consistency

* switches padding to empty state

* update

* another padding fix

* Add "no details provided" when empty description

Co-authored-by: Samuel Adams <samuel.atwood@gmail.com>
2021-11-22 13:56:43 +09:00
Umar Bolatov
194c0f14cb Format perk value correctly in crowdfund app (#3141)
close #3109
2021-11-22 13:55:07 +09:00
dstrukt
7ab78fff3f Invoice View Improvements (#3092)
* view improvements

* improves label, adds section headers, re-orders

* Available payment methods as checkboxes

* adds required label

* Update default payment method label

Thanks @woutersamaey for the suggestion.

* Move POS data and notifications to additional options

* Update display names

* adds checkbox to pull payments

* updates label

* Revert "updates label"

This reverts commit 9ed320e863951534d0dd359c13ec7dbaa4e1bd56.

* Revert "adds checkbox to pull payments"

This reverts commit 28ea6bfb6ed17df8cc44117814bffdfc80c12e70.

* removes required label

* Select all supported tx currencies by default

Slight modification to the checkbox list.

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: Samuel Adams <samuel.atwood@gmail.com>
2021-11-22 13:54:42 +09:00
nicolas.dorier
eabe24bb3e changelog and bump 2021-11-20 22:45:21 +09:00
Nicolas Dorier
c01fae5fcd Bump LND (#3130) 2021-11-20 22:41:35 +09:00
Kukks
c088e0fd55 add extension point in ui 2021-11-18 16:07:54 +01:00
Dennis Reimann
cb1dbe7662 Improve invoice warning for no payment method configured
Closes #3085.
2021-11-18 10:05:37 +01:00
dstrukt
03f8d6693d Improve Access Tokens View (#3118)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-11-18 10:04:20 +01:00
Dennis Reimann
6813a6ea63 Refactoring: Invoice UI Controller cleanups
Simple and IDE proposed changes and cleanups I came across while working on #3092.
2021-11-18 10:02:24 +01:00
dstrukt
4cd18a1b28 Improve Pay Button View (#3112)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-11-18 09:58:29 +01:00
dstrukt
90907c6306 Improve Store User View (#3117) 2021-11-18 09:56:25 +01:00
Dennis Reimann
c67b2be9d2 Fix Taproot checks after code removal
Necessary additions to 8d6c5dcd65
2021-11-17 13:40:55 +01:00
nicolas.dorier
8d6c5dcd65 Remove useless code 2021-11-16 21:02:25 +09:00
dstrukt
e5fa6fa55a Updates Pull Payment Payment Method (#3107)
* adds checkbox to pull payment

* adds label improvement

* removes "back to list"

* Remove superfluous style block

Seems to be a copy and paste remainder

* Make custom CSS additional options

* Fix input name and test

* Improve display for case with only one payment method

* Fix test

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-11-16 12:58:17 +09:00
dstrukt
748c92436f Improve Rates View (#3105)
* updates headers + changes copy

* type improvement

* updated copy

* updates copy

* updates copy

* Advanced rate rule scripting toggle

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-11-16 12:50:35 +09:00
Dennis Reimann
e98c6e69d4 Update POS accordion 2021-11-15 16:43:59 +01:00
Dennis Reimann
c389aa0b99 Apply form styles to rich text editor 2021-11-15 16:43:59 +01:00
Dennis Reimann
8696710ad1 Update app accordions 2021-11-15 16:43:59 +01:00
Dennis Reimann
ce3bf91b29 Move custom CSS into additional options 2021-11-15 16:43:59 +01:00
nicolas.dorier
2f5f397d33 Remove taproot activation code 2021-11-15 23:03:10 +09:00
nicolas.dorier
b196bad75f Update changelog 2021-11-15 22:50:13 +09:00
Kukks
b97dfa841a make elements regtest start with dynfed 2021-11-15 13:10:00 +01:00
Kukks
31cf2671f5 Optimize admin user list 2021-11-15 10:28:45 +01:00
Dennis Reimann
56c8e43ce8 Test fix 2021-11-15 09:35:56 +01:00
dstrukt
d7dc70c679 adds required label dot 2021-11-15 09:35:56 +01:00
dstrukt
ed0d7b75b5 updates left nav 2021-11-15 09:35:56 +01:00
dstrukt
7649f88173 updates title 2021-11-15 09:35:56 +01:00
dstrukt
e9b8035eae adds title and exposes delete 2021-11-15 09:35:56 +01:00
dstrukt
46486704ab notification updates 2021-11-15 09:35:56 +01:00
dstrukt
a6cee23591 2FA updates 2021-11-15 09:35:56 +01:00
dstrukt
33b5ade2b1 padding 2021-11-15 09:35:09 +01:00
dstrukt
0299eb1d24 whitespace 2021-11-15 09:35:09 +01:00
dstrukt
4f9ea39554 updates title 2021-11-15 09:35:09 +01:00
dstrukt
a2a49636e0 cleans up api key list view 2021-11-15 09:35:09 +01:00
Andreas Tasch
609fd131eb Fix indentation. 2021-11-15 09:33:12 +01:00
Andreas Tasch
08a3fb76fb Adding job to rebuild docs (swagger api) on new tag. 2021-11-15 09:33:12 +01:00
Umar Bolatov
d5c38ef336 Add crypto code for invoice and pull payment payout API response (#3099)
* Add "cryptoCode" for invoice payment method API endpoint response

* Add "cryptoCode" for pull payment payout API endpoint response

* Add "#nullable enable" to GreenFieldInvoiceController

* Add "#nullable enable" to GreenfieldPullPaymentController
2021-11-15 14:25:59 +09:00
nicolas.dorier
03d2b6eabe Checkout page of 0 amount invoices shouldn't crash, but 404 2021-11-15 13:51:36 +09:00
Samuel Adams
cbcd59c996 Prevent creation of on-chain invoices below the dust limit (#3082)
* Prevent creation of on-chain invoices below the dust limit

Fixes #3071.

* Apply suggestions from code review

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

* small fix

* Fix selenium test

0.000000012 BTC (whether rounded or not) is below the dust threshold, causing this test to fail.

* fix CanCreateTopupInvoices test

Don't apply dust threshold conditional for topup invoices.

* Fix test, and minor changes

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-11-15 13:48:07 +09:00
Andreas Tasch
c5dc7475a6 Fix type of property cryptoCode (#3088) 2021-11-15 13:15:48 +09:00
Umar Bolatov
40dff0381b Fix bug with fraction amount display in crowdfund app (#3098)
* Update formatting

* Adjust formatting

* Adjust formatting

* Fix bug with BTC fraction amount display
2021-11-15 13:14:55 +09:00
Nicolas Dorier
39a1834a75 Merge pull request #3093 from satwo/fix-pull-payout-bug
Fix payout/pull payment crash when no payment method bug
2021-11-15 13:13:40 +09:00
Nicolas Dorier
84694d55ad Merge pull request #3101 from bolatovumar/fix/crowdfund-public-display-text
Show correct note when crowdfund is publicly visible
2021-11-15 13:10:07 +09:00
Nicolas Dorier
605920b421 Merge pull request #3102 from bolatovumar/fix-transaction-row-display-issues
Fix transaction row display issues
2021-11-15 13:09:32 +09:00
Umar Bolatov
c2a420a291 Fix typo: "Prioriy" -> "Priority" (#3103) 2021-11-15 13:09:15 +09:00
Umar Bolatov
037a77a573 Update Swagger docs for webhook event types (#3104)
close #2999
2021-11-15 13:08:54 +09:00
Umar Bolatov
b366e5dbf7 Fix issue with too much padding in comment input box 2021-11-14 16:18:59 -08:00
Umar Bolatov
a277072968 Fix issue with weird label buttons 2021-11-14 16:17:16 -08:00
Umar Bolatov
5523b554f1 Fix issue with giant label input group button 2021-11-14 16:07:27 -08:00
Umar Bolatov
6ae9dee982 Fix giant "Save comment" button issue 2021-11-14 16:02:32 -08:00
Umar Bolatov
dae4577b43 Fix label display issue 2021-11-14 16:02:11 -08:00
Umar Bolatov
6ac9c74028 Show correct note when crowdfund is publicly visible
See discussion here: https://github.com/btcpayserver/btcpayserver/discussions/2968
2021-11-14 15:34:18 -08:00
Samuel Adams
a7ef9c7c27 Fix payout/pull payment crash when no payment method bug
Fixes #3084.
2021-11-12 20:09:32 -05:00
d11n
08f57558da Fake payment fixes (#3058)
Fixes and various minor improvements for the fake payment form.
2021-11-11 18:31:15 +09:00
d11n
28694859c9 Wallet settings merge (#3072)
* Wallet settings merge

Merges both wallet settings screen from the wallets and the store section. Closes #2626.

* Improve wallet transactions view

* Remove unnecessary row/col construct
2021-11-11 14:30:19 +09:00
Samuel Adams
be7cef29d8 UI changes
Removes the separate column for view style and instead appends it to the App Type column.
2021-11-10 10:52:14 +01:00
Samuel Adams
e914c84ad3 Adds View Style to Apps list 2021-11-10 10:52:14 +01:00
Umar Bolatov
193b209c92 Add setup links for LN URL integration (#3046) 2021-11-10 10:50:39 +01:00
Samuel Adams
d5b25dde3d Add admin badge to user list (#3033)
Co-authored-by: d11n <mail@dennisreimann.de>
2021-11-10 10:49:16 +01:00
Samuel Adams
931aa297cd Fix LockSubscription bug (#3081)
This addresses an obscure issue where `LockSubscription` is unintentionally set to `true`,
which results in a large number of tests failing. h/t to @NicholasDorier for the assist.
2021-11-10 12:28:54 +09:00
Nicolas Dorier
fa10249893 Update Changelog.md 2021-11-10 10:49:56 +09:00
nicolas.dorier
14a708b3df bump 2021-11-09 23:34:03 +09:00
nicolas.dorier
d9f535f98a Update changelog 2021-11-09 23:10:18 +09:00
dstrukt
e51cb43283 updates display names (#3036) 2021-11-08 22:24:28 +09:00
d11n
bbcdd5ed0d Bootstrap: Fix table styles (#3079) 2021-11-08 20:16:57 +09:00
nicolas.dorier
3c13d6c195 Add test verifying JS files that we ship 2021-11-08 19:09:00 +09:00
d11n
61d89d1777 Upgrade Bootstrap to v5.1.3 (#3078)
Regular maintenance upgrade.
2021-11-08 18:53:42 +09:00
Kukks
bede4a3a42 Fix: Do not crash when redirect url is not provided to Authorize page 2021-11-08 09:24:12 +01:00
Kukks
befa436087 Fix: Disable LNURL if Lightning gets disabled. 2021-11-08 08:51:21 +01:00
Kukks
59cf53e083 Fix: Paging in payouts did not take additional parameters in consideration 2021-11-08 08:21:07 +01:00
Kukks
76a4e9e520 Fix: Payout actions button was misaligned 2021-11-08 08:15:08 +01:00
Kukks
af635cdc0d Fix: Amount validation for payout creation min amount was missing 2021-11-08 08:14:49 +01:00
Samuel Adams
cbf3b3e9ea Print view improvements (#3050)
* Add ln enable link

Add print button + print-related css classes

* Modify print-specific css

-Adds @dennisreimann css suggestions to prevent page-breaks cutting off QR codes
-Removes item image and description in print view
-Add comment to explain purpose of print-specific styling in site.css

* Streamline POS print view

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-11-06 00:21:33 +09:00
nicolas.dorier
b0be248ca5 Attempt to fix CanUseLNAddress flakyness 2021-11-05 13:06:35 +09:00
nicolas.dorier
2828ec76b4 Fix CanUseTorClient test flakyness 2021-11-05 12:30:28 +09:00
nicolas.dorier
de1f94a596 Update Changelog 2021-11-05 12:20:59 +09:00
d11n
d16d4d83ea Fix maintenance view (#3068) 2021-11-05 12:20:04 +09:00
nicolas.dorier
ff8adbbd37 bump 2021-11-05 12:18:13 +09:00
Nicolas Dorier
a47ba2df3c Add more details to lnaddress not found errors, make sure lnaddress is only for BTC (#3067)
* Add more details to lnaddress not found errors, make sure lnaddress is only for BTC

* Update BTCPayServer/LNURL/LNURLController.cs

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/LNURL/LNURLController.cs

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/LNURL/LNURLController.cs

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: d11n <mail@dennisreimann.de>
2021-11-05 12:16:54 +09:00
nicolas.dorier
909fc71543 Make test CheckNoDeadLink less flaky 2021-11-05 00:36:05 +09:00
nicolas.dorier
7f13f6f915 Changelog for 1.3.2 2021-11-05 00:29:05 +09:00
nicolas.dorier
f58fc9b531 Logs all events in development 2021-11-05 00:13:40 +09:00
nicolas.dorier
82649dad39 Do not logs all internal events 2021-11-05 00:09:38 +09:00
nicolas.dorier
7e3cda904a Fix: Lightning address pay fails if millisatoshi is not 0 mod 1000 on LND (#3056) 2021-11-04 23:55:58 +09:00
nicolas.dorier
c921b2ca7b Fix: Test Connection for lightning setup was hidding cause of failure 2021-11-04 23:28:26 +09:00
nicolas.dorier
2afd02152d Fix: By default, BTC On chain, the BTC Lightning BOLT11 should be preferred 2021-11-04 18:21:38 +09:00
nicolas.dorier
f3e9e2ec5f Fix: Creating a new invoice in payment request with LNURL activated would crash 2021-11-04 18:03:54 +09:00
Nicolas Dorier
d39ae86915 Improve error reporting in create invoice page (#3065) 2021-11-04 17:12:17 +09:00
Kukks
51f0c2a5f8 Apply better messages 2021-11-04 08:53:44 +01:00
dstrukt
003927418c Improves maintenance domain name form element (#3045)
* switch to flexbox

* removes whitespace

* updates spacings & text color class

* more spacing updates

* updates

* back to row & col

* back to flex + removes text-secondary class
2021-11-04 16:34:51 +09:00
Samuel Adams
da92cabe4c Fix crowdfund topup issue (#3064)
closes #3048
2021-11-04 16:34:24 +09:00
d11n
45a58e1a39 Crowdfund: Fix perk value display (#3060)
Previously this didn't take into account the target currency. This leads to wrong values if the target currency is SATS and the invoice currency is BTC. This updates the value to be calculated with the rate and also takes into account the network fee. (Basically adjusting it to how the contribution values are calculated)
2021-11-04 16:34:11 +09:00
Fä Bu
0e1a6a3d5f Bugfix #3049: Price type of edit item in PoS shows only "fixed" (#3052) 2021-11-02 21:02:33 +01:00
dstrukt
34969519d4 Improves upload button for files (#3044)
* reorders form, removes header

* adds flexbox + button formatting

* adjusts whitespace & flexbox class

* adjusts class for mobile
2021-11-02 00:49:12 +09:00
Troy Anderson
4f235e1d62 resolves Issue #3042 add archive status to invoice response (#3043) 2021-11-01 15:53:33 +09:00
dstrukt
7d0dc49435 fixes visual error with label (#3037) 2021-10-31 20:03:45 +09:00
Troy Anderson
8fed8f77ad PR for Issue #3038 adds params for getInvoices pagination (#3039)
* ##3038 add pagination elements

* correct skip to take

* updated swagger docs

* set take nullable to true
2021-10-31 19:47:12 +09:00
dstrukt
1c2728bbfb adds spacer (#3035) 2021-10-31 19:44:55 +09:00
nicolas.dorier
fd543bcee1 Improve test flakyness 2021-10-31 14:20:43 +09:00
Samuel Adams
24b7705094 List webhook URLs (#3034)
Addresses #3000.

I limited the width of the URL field and made the full URL visible with a tooltip. The UI could probably use some sprucing up.
2021-10-30 22:40:26 +09:00
nicolas.dorier
6b96f9b446 bump 2021-10-30 14:00:25 +09:00
nicolas.dorier
933dc6be31 Fix: The checkout page would reload the page when changing payment method 2021-10-30 13:57:24 +09:00
nicolas.dorier
d6e3fb46ee bump 2021-10-29 23:41:02 +09:00
Andrew Camilleri
efc05edca3 Update Changelog.md (#2993)
* Update Changelog.md

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

* Update

* Update

* Update Changelog.md

Co-authored-by: d11n <mail@dennisreimann.de>

* Update

* Update

* Update

Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2021-10-29 23:25:44 +09:00
Samuel Adams
aa3d384f47 Add status message partial (#3030)
Along with #3029, this closes #2991.
2021-10-29 23:13:04 +09:00
nicolas.dorier
a5aa5cf059 Fix tests 2021-10-29 23:09:19 +09:00
nicolas.dorier
ccd8859d7f Add missing attribute for textSearch in get invoice 2021-10-29 22:27:21 +09:00
nicolas.dorier
a28399e31d Add warning on ln address if install using rootpath 2021-10-29 22:18:33 +09:00
d11n
61f63a9996 POS Light: Add Bootstrap bundle (#3029)
So that the alert can be closed. Brought up by @satwo in this [Mattermost discussion](https://chat.btcpayserver.org/btcpayserver/pl/3f46i9yociydmkk4apncxp7shw).
2021-10-29 21:57:37 +09:00
nicolas.dorier
de93c5c9d6 Fix test warning 2021-10-29 21:51:53 +09:00
Kukks
94865815c7 Quick fixes before release 2021-10-29 14:50:18 +02:00
nicolas.dorier
33754933d5 Add Azerbaijan language 2021-10-29 20:54:09 +09:00
Kukks
560b6db480 fix refund button part 2 2021-10-29 13:46:24 +02:00
Kukks
4c71167535 Fix refund button 2021-10-29 13:20:54 +02:00
Samuel Adams
707484709a Display and update App Name in settings (#3027)
* Edit and view app name in app settings

Currently the "name" property is not exposed at all in an app's settings/update page, which can result in confusion about which app is being updated, and also a general confusion between the `Title` property and the `Name` property.
This PR gives visibility to the app name in settings, and allows updating of the same.
I also changed the display label for `title` and `name` to make them more distinct and specific.

* Fix tests

* Update AltcoinTests.cs

* Update SeleniumTests.cs

* fix tests

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-10-29 19:29:02 +09:00
d11n
274be7c1bc Disable build warning in layout (#3028) 2021-10-29 19:06:15 +09:00
Kukks
3f176a6b6b fix lnurl setter bug 2021-10-29 11:27:36 +02:00
Andrew Camilleri
fc8a5ff95f Lightning address support (#2804)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-10-29 11:01:16 +02:00
Andrew Camilleri
25f84d000b LNURL POS Support (#3019) 2021-10-29 10:27:33 +02:00
Kukks
31b7826dce make input readonly for fixed cart items 2021-10-29 09:58:59 +02:00
d11n
2d4aa52fa5 Restructure store and payment settings (#2995)
Co-authored-by: Kukks <evilkukka@gmail.com>
2021-10-29 08:25:43 +02:00
Kukks
eee8008bb2 Make sure migration for apps does not crash 2021-10-28 12:23:21 +02:00
Kukks
a5ae509f9f Make sure invoice show lnurl instead of bolt11 labels 2021-10-28 10:39:49 +02:00
Umar Bolatov
8f117b5079 Add ability to require refund email from app level (#3013)
* Add ability to require refund email from app level

* Add ability request refund email when creating invoice manually

* Adjust labels

* Add UI tests

* Add Greenfield API support

* Rename RequiresRefundEmailType to RequiresRefundEmail

* Fix build

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-10-27 23:32:56 +09:00
nicolas.dorier
0b5d0349d4 Do not fire InvoiceExpired twice if invoice partially paid (Fix #3004) 2021-10-27 19:27:19 +09:00
Umar Bolatov
8a0660cbd6 Add support for CryptoMarket exchange rates (#3012)
* Add support for CryptoMarket exchange rates

* Add unit test for CryptoMarket
2021-10-27 15:19:34 +09:00
nicolas.dorier
f7a0b91ec1 Add boolean overPaid to the invoice settled webhook 2021-10-27 14:51:42 +09:00
Kukks
1ecd1c1e54 LNURL: Add missing logic from lnurl merges and rebases 2021-10-26 14:08:09 +02:00
Kukks
fccbbb6fb7 LNURL tests and small fixes 2021-10-26 13:55:59 +02:00
d11n
d1886b039e Wallet: Make account number an input instead of select (#3018) 2021-10-26 18:00:01 +09:00
d11n
79c61f01c8 Make supporter logos work across browsers (#3017) 2021-10-26 11:15:01 +09:00
nicolas.dorier
e50c9266b4 [Fix] If the local culture of the server was not english, numeric values greenfield were not properly interpreted 2021-10-26 00:46:28 +09:00
Umar Bolatov
fd27bd94e2 Add ability to accept tips in POS terminal (#2983)
* Add ability to accept tips in POS terminal

* Add logic for showing and hiding sections specific to a POS app type

* Fix issue with floating point error
2021-10-25 19:06:32 +09:00
Nicolas Dorier
05f99f3855 Merge pull request #3007 from bolatovumar/fix/typo-inlude
Fix typos
2021-10-25 18:46:23 +09:00
Nicolas Dorier
31ef763c05 Merge pull request #3011 from bolatovumar/add-number-formatting-crowdfund-app
Add number formatting in crowdfund app
2021-10-25 18:45:45 +09:00
Nicolas Dorier
c0abcbea24 Merge pull request #3015 from NicolasDorier/ewfoufeoiu
Fixes of bugs happening when using rootpath
2021-10-25 16:55:00 +09:00
nicolas.dorier
a73383cd87 When creating a new apps, the default currency of the store should be used 2021-10-25 16:54:36 +09:00
Andrew Camilleri
951bfeefb1 LNURL Payment Method Support (#2897)
* LNURL Payment Method Support

* Merge recent Lightning controller related changes

* Fix build

* Create separate payment settings section for stores

* Improve LNURL configuration

* Prevent duplicate array entries when merging Swagger JSON

* Fix CanSetPaymentMethodLimitsLightning

* Fix CanUsePayjoinViaUI

* Adapt test for new cancel bolt invoice feature

* rebase fixes

* Fixes after rebase

* Test fixes

* Do not turn LNURL on by default, Off-Chain payment criteria should affects both BOLT11 and LNURL, Payment criteria of unset payment method shouldn't be shown

* Send better error if payment method not found

* Revert "Prevent duplicate array entries when merging Swagger JSON"

This reverts commit 5783db9eda17c29908a60fdef2c3ebe130a8b059.

* Fix LNUrl doc

* Fix some warnings

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2021-10-25 15:18:02 +09:00
nicolas.dorier
fc7125b8cd Fix: Fonts and Home background not loading properly when using rootpath 2021-10-25 15:14:05 +09:00
nicolas.dorier
26bcdbc766 Fix: Many SVG assets were not showing properly if rootpath is used 2021-10-25 15:14:05 +09:00
nicolas.dorier
fb1fcbe0b9 Fix: The redirect url of crowdfund invoices wasn't set correctly if rootpath is used (Fix #2992) 2021-10-25 15:13:52 +09:00
nicolas.dorier
2c45f803e4 Fix: favicon wasn't shown if using rootpath 2021-10-25 15:13:52 +09:00
nicolas.dorier
fbdd2fc470 Fix flaky test for ripio exchange 2021-10-25 15:10:44 +09:00
Samuel B. Atwood
0558631982 Improve store/selectlist labeling (#3014) 2021-10-25 13:15:08 +09:00
Umar Bolatov
63e1c5807e Add number formatting in crowdfund app 2021-10-24 14:33:47 -07:00
Umar Bolatov
a3cc1f2ef0 Fix typos 2021-10-23 23:14:36 -07:00
nicolas.dorier
5318684e5c fix build 2021-10-23 22:10:54 +09:00
nicolas.dorier
b3b9651cd8 Use buster rather than bulleyes for arm32 2021-10-23 22:09:13 +09:00
Nicolas Dorier
86e528e5df Use NBitcoin's Network.UriScheme rather than our own (#3005) 2021-10-23 14:47:15 +09:00
Andrew Camilleri
c46a69e1bd Add Paging to Pull Payments (#2997) 2021-10-22 15:10:59 +09:00
Andrew Camilleri
9b0d1a23dc Decouple Pull payment from wallets (#2987)
* Decouple Pull payments from wallet

* Update _Nav.cshtml

* Fixes
2021-10-22 11:17:40 +09:00
Andrew Camilleri
db038723f4 Payout Destination Handling (#2985)
* Payout Destination Handling

fixes #2765
This PR:
* reactivates the BIP21 support for payouts.
* allows LNUrl destinations to be reusable.
* allows addresses to be reused in claims as long as the other claims are in a final state

* Ensure bolt amount matches the payout amount

* fixes

* reduce duplicate parsing of bolt

* make hash the id of bolt

* better bolt11 tostring

* use cached payment request from lnurl
2021-10-22 00:43:02 +09:00
Dennis Reimann
a193e1cbf3 Scanner: Improve QR data display 2021-10-21 17:05:44 +02:00
Dennis Reimann
493f1b98c2 Upgrade vue-qr-code-reader and fix scanning issue 2021-10-21 17:05:44 +02:00
Dennis Reimann
926b60df3d Fix camera scanner CSP issue 2021-10-21 17:05:44 +02:00
Nicolas Dorier
d8a162fb6e [Fix] CurrencyValue parsing shouldn't depend on locale 2021-10-21 19:15:02 +09:00
Nicolas Dorier
4cf3249e0b Add ability to set default currency for a store (#2998) 2021-10-20 23:17:40 +09:00
Kukks
407f26b1dc fix netehreum warnings 2021-10-20 13:08:50 +02:00
Pavlenex
0159588eed Merge pull request #3001 from dennisreimann/supporters
Supporters: Fix SVGs that are referenced in READMEs
2021-10-20 12:27:57 +02:00
Dennis Reimann
6f7be7eb09 Supporters: Fix SVGs that are referenced in READMEs 2021-10-20 12:14:30 +02:00
nicolas.dorier
09a53718bb Abort payjoin request after 30 sec of timeout 2021-10-20 17:06:27 +09:00
Samuel B. Atwood
5655f22397 Fix default payment bug (#2975)
* Fix default payment bug

This attempts to fix the default payment bug described in #2963.

Update to complete #2986

This takes into account #2986 and @NicolasDorier 's suggestion to add a default payment type as an empty (valueless) option that is selected by default.

* Fix tests

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2021-10-20 14:34:04 +09:00
Samuel B. Atwood
791d0abb34 Clarify payment method criteria error message (#2989)
As requested by @BTCBellyButton, this clarifies the error message shown resulting from an invalid payment method criteria.
https://github.com/btcpayserver/btcpayserver/pull/2975#issuecomment-945218280
2021-10-20 14:02:20 +09:00
d11n
13d9930955 Improve supporters display (#2994) 2021-10-20 14:01:55 +09:00
Bananenbieger123
c4f40d68e9 Fix cryptic error message issue (#2978) 2021-10-18 10:42:53 +02:00
Samuel B. Atwood
9951370321 Fix logo issue (#2977) 2021-10-18 10:41:34 +02:00
Samuel B. Atwood
0119ad452b Order language dropdown in CheckoutExperience
Solves the same issue as described in the first part of #2971 and solved in #2972, except in the Settings instead of the checkout UI.
2021-10-18 10:40:17 +02:00
Nicolas Dorier
3d3016fdca Fix fallback logic for default payment method (#2986) 2021-10-18 16:56:47 +09:00
Nicolas Dorier
262798d577 Refactor by adding extension FindPayoutHandler (#2984) 2021-10-18 15:00:38 +09:00
Andrew Camilleri
cf206e64a7 Add Lightning payout support (#2517)
* Add Lightning payout support

* Adjust Greenfield API to allow other payment types for Payouts

* Pull payment view: Improve payment method select

* Pull payments view: Update JS

* Pull payments view: Table improvements

* Pull payment form: Remove duplicate name field

* Cleanup Lightning branch after rebasing

* Update swagger documnetation for Lightning support

* Remove required requirement for amount in pull payments

* Adapt Refund endpoint to support multiple playment methods

* Support LNURL Pay for Pull Payments

* Revert "Remove required requirement for amount in pull payments"

This reverts commit 96cb78939d43b7be61ee2d257800ccd1cce45c4c.

* Support Lightning address payout claims

* Fix lightning claim handling and provide better error messages

* Fix tests

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-10-18 12:37:59 +09:00
Kukks
5ac4135a13 fix crowdfund js 2021-10-15 12:53:45 +02:00
Kukks
5176eaf4ba fix test 2021-10-15 12:53:45 +02:00
Kukks
514417e888 Rename to custom and fix small css 2021-10-15 12:53:45 +02:00
Kukks
f83e85dc36 addd test 2021-10-15 12:53:45 +02:00
Kukks
9592a77cff use more concrete types for price type in app items 2021-10-15 12:53:45 +02:00
Kukks
33a893ba31 Replace addLoadEvent with better practice 2021-10-15 12:53:45 +02:00
Kukks
f89cdadde8 fix btn text 2021-10-15 12:53:45 +02:00
Kukks
7d2aa28e1f Support Topup Invoices in Apps 2021-10-15 12:53:45 +02:00
Nicolas Dorier
9df4429fc2 Remove unreachable code (#2961) 2021-10-15 16:34:40 +09:00
Samuel B. Atwood
843a2491ef Improve language dropdown UX/Update jquery-prettydropdowns to 4.17.0 (#2972)
* Improve language dropdown UX

Several improvements to the language selector dropdown list.

* Apply suggestions from code review

Incorporate styling suggestion from @dennisreimann

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: d11n <mail@dennisreimann.de>
2021-10-15 14:27:52 +09:00
Andrew Camilleri
d64fb15ac2 Greenfield: Provide negative undue when overpaid. (#2936)
* Greenfield: Provide negative undue when overpaid.

closes #2935

* Invoice's due can be negative, fix Amount field of invoice

* Update swagger.template.invoices.json

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-10-15 14:23:34 +09:00
nicolas.dorier
3671e7f18c Fix test 2021-10-15 14:19:40 +09:00
nicolas.dorier
899bf98f45 Fix tests 2021-10-15 12:50:33 +09:00
nicolas.dorier
4230ba513f Add support for rpio exchange rate (close #2960) 2021-10-15 12:18:02 +09:00
nicolas.dorier
18f1b4d8c1 Bump NBitcoin (Fix perf problem on signing of big transaction) 2021-10-14 01:01:32 +09:00
Nicolas Dorier
75776687bc Fix bug: Importing seed with Is hot wallet checked was not working (#2966) 2021-10-12 18:37:13 +09:00
nicolas.dorier
b5ebd14589 Fix NRE in BaseService.StopAsync 2021-10-12 17:39:48 +09:00
nicolas.dorier
67ba64b0a1 Fix build 2021-10-12 15:45:55 +09:00
nicolas.dorier
b26e8311c1 Bump NBitcoin 2021-10-12 15:42:20 +09:00
nicolas.dorier
0033aab03e Remove types from BTCPayServer.Client 2021-10-11 18:01:32 +09:00
nicolas.dorier
1037fe0b14 Remove unused ExpireInvoiceResponse type 2021-10-11 17:58:01 +09:00
nicolas.dorier
6c688b9684 Make sure cheater scan rpc capabilities 2021-10-11 17:49:04 +09:00
nicolas.dorier
601e17ed0f Fix altcoins docker-compose 2021-10-11 17:39:12 +09:00
nicolas.dorier
ad86c16bc9 Bump Tor 2021-10-11 12:35:26 +09:00
rockstardev
791db983c7 Bumping LND to 0.13.3-beta (#2964) 2021-10-11 12:32:58 +09:00
Nicolas Dorier
d7a7382d00 Introduce cheat mode (#2965) 2021-10-11 12:32:09 +09:00
Wouter Samaey
e842a00402 Easier payment testing (#2672)
* Easier payment testing

* WIP, more TODOs and some cleanup. Help is appreciated.

* Added dummy button to expire monitoring (doesn't work yet)

* Added TODO

* Make fake tab default if present

* Split controller and change wording from fake to testing

* Extract and simplify checkout testing UI

* Restrict testing access to regtest

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-10-11 11:11:02 +09:00
BitcoinQnA
78a8c8c1be Add Passport hardware wallet option to the wallet import screens (#2962)
* Add option for Passport

* Add Passport option to QR import

* Add Passport import option
2021-10-10 15:54:46 +09:00
Aaron Clauson
a7c093a0eb Allow email notifications when creating invoices from Web UI (#2959)
Currently invoice email notifications are only sent when the invoice is created via the API. This commit adds an option to set an email address for notifications when an invoice is created from the Web UI.
2021-10-10 15:54:25 +09:00
d11n
86956c1e7b More CSP fixes (#2955)
* Fix CSP issue with time format switch on wallet transactions page

* Fix CSP issue with invoice modal link on invoices list page

* Fix CSP issue on FIDO2 auth page

* Fix JS error on FIDO2 auth page

* Minor UI code improvements
2021-10-10 15:52:39 +09:00
Andrew Camilleri
54539001f1 Allow User to delete own account (#2949)
* Allow User to delete own account

* Add User delete e2e test

* fix test

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: d11n <mail@dennisreimann.de>
2021-10-09 12:18:37 +09:00
d11n
4321cbf41a Coin selection improvements (#2956)
* Improve coin selection toggling

* Improve coin selection display

Fixes #2948.

* Improve remove destination button

* Display hide unconfirmed only if there are any unconfirmed UTXOs

* Improve label styles

* Test fix

* Add top margin for non-JS coin selection
2021-10-09 10:39:34 +09:00
Umar Bolatov
8d9941bfd2 Update toggle styling to have pointer cursor (#2957) 2021-10-08 14:26:17 +09:00
nicolas.dorier
f9e38deee7 Fix warnings 2021-10-07 19:08:53 +09:00
Nicolas Dorier
89fd044b00 Replace pruning wallet by wipe transactions (#2857) 2021-10-07 16:54:22 +09:00
Andrew Camilleri
039f88d14c Match Lightning payment based on payment hash if BOLT11 is not the same. (#2773)
* Match Lightning payment based on payment hash if BOLT11 is not the same.

* Fixup

* Fixup

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-10-07 16:53:27 +09:00
nicolas.dorier
d3f9eb38a9 Fix annoying err message in logs when a websocket is cancelled 2021-10-07 15:35:19 +09:00
Umar Bolatov
768d97ac6c Fix remaining Safari inline JS CSP issues (#2954)
* fix modfiy webhook inline JS issue

* fix uncofirmed warning issue in Safari

* fix inline JS Safari issues in checkout
2021-10-07 12:27:48 +09:00
nicolas.dorier
154078d46f Fix docker images 2021-10-07 11:20:50 +09:00
Dennis Reimann
d74c6a30c8 Improve perk card styles 2021-10-06 19:32:26 +02:00
Dennis Reimann
1407d5be8d Decrease font size and weight in selection overlay 2021-10-06 19:32:26 +02:00
Dennis Reimann
721c06e157 Crowdfund: Hide theme switch when custom theme is set 2021-10-06 19:32:26 +02:00
Dennis Reimann
a0265f18d9 Crowdfund: Better customization input grouping 2021-10-06 19:32:26 +02:00
Dennis Reimann
8948475cad Crowdfund: Add theme switch to footer 2021-10-06 19:32:26 +02:00
Dennis Reimann
faed5349fb Make theme switch a view component 2021-10-06 19:32:26 +02:00
Andrew Camilleri
7bcaf956e7 Grerenfield: Add availableStatusesForManualMarking to Invoice Data (#2934)
closes ##2933
2021-10-06 18:19:34 +09:00
Umar Bolatov
31c2a80758 Add ability to set invoice status from details page (#2923)
* Add ability to set invoice status from details page

* Remove unnecessary "using" statements

* Add print styles

* Fix Safari issues

* Simplify JS

* Update status badge class names

* Update dropdown toggle padding

* Adjust dropdown menu padding
2021-10-06 14:49:57 +09:00
nicolas.dorier
150e4b842c Make sure the process doesn't crash if exception raised in Subscribe 2021-10-06 13:22:55 +09:00
nicolas.dorier
b970f64639 Remove build warnings 2021-10-06 12:53:41 +09:00
nicolas.dorier
08bd13b2cd Make CanUseWebhooks more resilient 2021-10-06 11:25:21 +09:00
Andrew Camilleri
6e3d6125c2 Payment Settled Webhook event (#2944)
* Payment Settled Webhook event

resolves #2691

* Move payment methods to payment services
2021-10-05 18:10:41 +09:00
d11n
143d5f69c1 Fix CSP for inline handlers in Safari (#2946)
* Fix CSP for inline handlers on LND seed backup page

* Fix CSP for inline handlers on checkout page

* Fix CSP for inline handlers on wallet sign pages

* Fix CSP for inline handlers on invoices list page

* Fix CSP for inline handlers on payouts page

* Fix CSP for inline handlers on confirm API key page

* Fix CSP for inline handlers on store rates page

* Fix CSP for inline handlers on notifications page

* Fix CSP for inline handlers on dynamic DNS page

* Fix CSP for inline handlers on checkout experience page
2021-10-05 15:52:14 +09:00
nicolas.dorier
156ddd24fa Make CanUsePayjoinForTopUp more resilient 2021-10-05 15:47:57 +09:00
nicolas.dorier
cf2c147f4f Bumping versions of libraries and dockerfile 2021-10-05 15:29:26 +09:00
nicolas.dorier
ce1903b2fa Bumping versions of libraries and dockerfile 2021-10-05 15:26:40 +09:00
nicolas.dorier
ccdfe5ac86 Detect websocket connection dropping in vault 2021-10-05 14:41:03 +09:00
nicolas.dorier
b0ef98dd63 Keep websocket connection alive on notifications and vault 2021-10-05 14:30:01 +09:00
nicolas.dorier
5c8e62bd90 Websocket ping message for notifications and vault 2021-10-05 14:14:22 +09:00
nicolas.dorier
6674d76d6d Add missing file 2021-10-05 13:58:40 +09:00
nicolas.dorier
dea747a9a9 Keep connection alive on checkout page by sending ping messages 2021-10-05 13:37:30 +09:00
Dennis Reimann
a32ace1dcb Shorten balance assignment 2021-10-04 17:10:07 +02:00
Dennis Reimann
4785f0a4dd Remove unused Network property 2021-10-04 17:10:07 +02:00
Dennis Reimann
8249d8a0f5 Fix indentation in view 2021-10-04 17:10:07 +02:00
Max Dignan
234bc30369 Update in adherence to the design 2021-10-04 17:10:07 +02:00
Max Dignan
b7a081b9a4 Show total balances for each currency on List Wallets Page 2021-10-04 17:10:07 +02:00
Andrew Camilleri
88c925017d Apply suggestions from code review 2021-10-04 17:06:11 +02:00
Kukks
a3c2a9ac61 Censor based on permissions 2021-10-04 17:06:11 +02:00
Wouter Samaey
7cad6302b7 Fixed wrong API permission
Viewing store payment methods needs CanViewStoreSettings instead of CanModifyStoreSettings as per the docs
2021-10-04 17:06:11 +02:00
Umar Bolatov
4b34090376 Adjust invoice details header layout 2021-10-04 17:02:57 +02:00
Pavlenex
ac554a27b6 Merge pull request #2947 from dennisreimann/faq-links
Fix FAQ links
2021-10-04 14:03:47 +02:00
Dennis Reimann
e1ea7200cf Fix FAQ links
Once more (and for the last time ;)) those linsk changed in btcpayserver/btcpayserver-doc#967
2021-10-04 13:42:31 +02:00
Dennis Reimann
802fec6bf3 Move payment related properties 2021-10-04 09:50:36 +02:00
Dennis Reimann
67aee9bdc6 Improve display and structure of payment related configuration 2021-10-04 09:50:36 +02:00
d11n
975ad2f8ab Crowdfund: Display contributions value (#2938) 2021-10-04 07:54:06 +02:00
Pavlenex
b0814166f5 Merge pull request #2941 from git-sgmoore/patch-1
Update README.md
2021-10-02 13:23:54 +02:00
sgmoore
8f397865fd Update README.md
Remove one apostrophe
2021-10-01 23:10:43 -07:00
Pavlenex
8ffa7525c5 Merge pull request #2939 from dennisreimann/docs-links
Fix documentation links
2021-10-01 18:34:41 +02:00
Dennis Reimann
6048a26511 Fix documentation links
Some links changed with the recent docs restructuring. I've also added recirects for these on the docs side now.
2021-10-01 18:18:54 +02:00
Dennis Reimann
1a8a7fc27f Crowdfund: Limit max width of embedded content like video
Closes #2782.
2021-09-29 07:58:50 +02:00
nicolas.dorier
64901dfc22 Bump postgres 2021-09-29 13:16:53 +09:00
nicolas.dorier
6a28497d33 Fix: Impossible to see relative time of transaction in wallet list 2021-09-29 13:10:00 +09:00
Kukks
ed1ec2300d Remove Coinswitch entirely 2021-09-28 10:33:11 +02:00
nicolas.dorier
edfde494fa bump bitcoin core 2021-09-28 12:47:34 +09:00
nicolas.dorier
a3cc573e4d Do not test hot reload in CanCreatePayRequest (unreliable) 2021-09-28 12:20:40 +09:00
nicolas.dorier
44fe70ae44 Make CanCreatePayRequest more resilient 2021-09-28 12:05:46 +09:00
nicolas.dorier
d05a9295b3 Make a test more resilient 2021-09-28 11:22:35 +09:00
Kukks
7aa4cd8104 Plugins: Pass the current Model to the Ui extension points 2021-09-27 14:16:38 +02:00
Kukks
4a6088b6b9 Bump NBX Client and Plugins packages 2021-09-27 10:26:42 +02:00
Kukks
d949680d5a fix: Plugins disabled message never dissappers even after re-enabling it. 2021-09-27 09:03:59 +02:00
Kukks
0cd7380af0 Make CSP accessible to plugins 2021-09-27 08:45:55 +02:00
d11n
a3afcd2a6e Crowdfund public UI re-design (#2918)
* Patch bootstrap-vue modal close button

For Bootstrap v5 compatibility, which bootstrap-vue does not have currently.

* Crowdfund: Use common global layout head (and themes)

* Crowdfund: Display disabled alert also for simple variant

* Crowdfund: Unify non-JS/simple and JS-enabled view

* Improve fireworks animation

* Improve layout

Inspired by the Bitcoin Smiles compaign, see  #2783

* Cleanup and remove views

* Fix typo

* Fix test
2021-09-27 11:46:56 +09:00
nicolas.dorier
bd6c7a8c3d Properly handle InvoiceMetadata string properties (Fix #2906) 2021-09-27 11:44:55 +09:00
nicolas.dorier
920955657d Fix camera not working on wallet send (Fix #2922) 2021-09-27 10:32:03 +09:00
nicolas.dorier
d975ea1509 bump 2021-09-26 14:33:36 +09:00
nicolas.dorier
ba5c49a8df Update Changelog 2021-09-26 14:33:36 +09:00
Andrew Camilleri
9f6c7180b2 Greenfield quality of life improvements from feedback (#2880)
* Greenfield quality of life improvements from feedback

fix #2854

* Greenfield quality of life improvements from feedback

fix #2855
2021-09-25 14:04:34 +09:00
nicolas.dorier
ef70f4d547 Simplify code with PaymentMethodId.TryParse 2021-09-24 14:21:30 +09:00
Andrew Camilleri
8c061b1f07 Attempt cover scenarios of switching back to Bitcoin only after taint (#2881) 2021-09-24 14:16:25 +09:00
d11n
0aed8fdb5b Improve app update buttons (#2915)
Better responsive behaviour and clearer distinction between primary and secondary actions. Also improves the wording ("View Crowdfund/Point of Sale" vs. "View app") and gets rid of the superfluous "Back to apps list" button.
2021-09-24 14:13:38 +09:00
nicolas.dorier
6125a99381 Should not be able to activate a payment method on an invoice which is not new 2021-09-24 00:12:12 +09:00
Nicolas Dorier
83b54b7be1 Fix infinite loop happening if payment method unavailable with on invoices with lazy activation (#2914) 2021-09-24 00:00:55 +09:00
Dennis Reimann
047222b3ee Fix offcanvas on desktop 2021-09-23 13:45:05 +02:00
Dennis Reimann
2fe1ab83f5 Improve offcanvas nav animation 2021-09-23 13:45:05 +02:00
Dennis Reimann
5372058c33 Use offcanvas nav for mobile 2021-09-23 13:45:05 +02:00
Dennis Reimann
a08261a798 Update dark mode footer colors 2021-09-23 13:44:48 +02:00
Dennis Reimann
869985f005 Finetune footer; remove obsolete images 2021-09-23 13:44:48 +02:00
1nF0rmed
97b5c473c1 Removes the "Let's Get In Touch!" block from the homepage 2021-09-23 13:44:48 +02:00
1nF0rmed
337db3daab Align social links to appear above copyright 2021-09-23 13:44:48 +02:00
1nF0rmed
10da82607d Adds social links to Layout
This removes the logo credits in the base Layout and adds the
links to Github, Mattermost and Twitter.
2021-09-23 13:44:48 +02:00
d11n
7f49824783 Improve public LN node info (#2876)
* Add store name to LN info unavailable pae

* Display multiple node info items if available

Allows to view clearnet and Tor connection info side by side.

* Re-add preferOnion for certain cases

* HTML compatible node ids

* Display more node connection failure details

* Fix syntax error

* Update BTCPayServer/Payments/Lightning/LightningLikePaymentHandler.cs

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>

* View updates

* Revert previous variable change

* Keep logic out of the view

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-09-23 20:36:42 +09:00
Umar Bolatov
5d8bc73063 Reset "all stores" values to default 2021-09-23 10:11:37 +02:00
Umar Bolatov
82675384c4 Don't adjust store mode if user is performing an action 2021-09-23 10:11:37 +02:00
Umar Bolatov
3dc663f4d8 Adjust view 2021-09-23 10:11:37 +02:00
Umar Bolatov
2b0fcdf95c [WIP] Fix issues with Authorization Request page
closes #2858
2021-09-23 10:11:37 +02:00
Nicolas Dorier
d0120f1427 Fix Selenium flakyness on Circle CI (#2904) 2021-09-22 21:31:44 +09:00
Umar Bolatov
ac34109da3 Support preview/codegen for custom currencies in pay button (#2896) 2021-09-22 13:10:52 +09:00
Umar Bolatov
d5c96eee32 Add test 2021-09-21 09:45:41 +02:00
Umar Bolatov
7b252369e9 Add GetPOSItems method 2021-09-21 09:45:41 +02:00
Umar Bolatov
9d48358f2a Rename Unavailable to Disabled 2021-09-21 09:45:41 +02:00
Umar Bolatov
2dcd7db797 Filter unavailable items in controller 2021-09-21 09:45:41 +02:00
Umar Bolatov
c267cf0e9c Rename "hidden" to "unavailable" 2021-09-21 09:45:41 +02:00
Umar Bolatov
403820cf14 Add ability to hide a product from POS app
See discussion here: https://github.com/btcpayserver/btcpayserver/discussions/2827
2021-09-21 09:45:41 +02:00
nicolas.dorier
6d667e2d78 bump redoc 2021-09-21 12:52:31 +09:00
nicolas.dorier
258a19fdf5 Make CSP more specific for docs 2021-09-21 12:47:46 +09:00
nicolas.dorier
1a593a1ced Fix documentation page broken by CSP 2021-09-21 12:43:50 +09:00
Pavlenex
b8ac57a5b3 Merge pull request #2893 from bolatovumar/fix/show-qr-padding
Remove padding from "Show QR" button
2021-09-20 11:37:48 +02:00
Umar Bolatov
b93f3ff445 Remove padding from "Show QR" button 2021-09-18 21:31:23 -07:00
Umar Bolatov
5984edb7f4 Disallow cancelling payment request when "Allow payee to create invoices in their own denomination" is not enabled (#2843)
* Disallow cancelling payment request when "Allow payee to create invoices in their own denomination" is not enabled

close #2802

* Disallow cancelling pending invoice on BE

* Update non-JS version of payment request view to disallow cancelling

* Update CanCancelPaymentWhenPossible

* Fix typo
2021-09-17 10:24:48 +09:00
Dennis Reimann
603bd2692e Summernote: Fix source map reference; remove unused files 2021-09-16 07:30:33 +02:00
Umar Bolatov
2e61bdf88f Update swagger example 2021-09-16 07:29:18 +02:00
Umar Bolatov
e6aa73197a Move GetDefaultPaymentId out of InvoiceExtensions 2021-09-16 07:29:18 +02:00
Umar Bolatov
b2f9353be1 Add tests 2021-09-16 07:29:18 +02:00
Umar Bolatov
5cba59932b Add ability to specify default payment method through Greenfield API 2021-09-16 07:29:18 +02:00
Umar Bolatov
809340e629 Add ability to select default payment method for invoice through UI 2021-09-16 07:29:18 +02:00
Kukks
bb6a188883 bump nbx in both docker compose envs 2021-09-16 07:19:54 +02:00
dstrukt
24674d354c removes slack + updates columns 2021-09-16 07:18:31 +02:00
Kukks
e93562b1db Do not publish NewTransactionEvent if GetValidOutputs did not match with the network's. 2021-09-15 07:28:17 +02:00
Kukks
f7099cf6aa Bump NBX and elements 2021-09-15 07:28:17 +02:00
Umar Bolatov
d88f012d82 Improve warning when creating invoice without wallet (#2844)
* Improve warning when creating invoice without wallet

close #2834

* Update link class name
2021-09-13 14:24:10 +09:00
d11n
f96767d3dc Bootstrap update (#2870)
* Update Bootstrap

* Fix notification checkbox styling
2021-09-13 14:23:10 +09:00
d11n
6666786b7a Unify Fido2 authentication under two-factor tab (#2866)
* Unify Fido2 authentication under two-factor tab

Closes #2754.

* Improve UI and wording

* Improve register FIDO2 device page
2021-09-13 10:16:52 +09:00
nicolas.dorier
eccbe8e018 Sanitize UrlRoot in PayButton 2021-09-12 20:33:51 +09:00
d11n
aac87539ae Fix pay button CSP issue when using modal (#2872)
* Fix pay button CSP issue when using modal

Fixes #2864.

* Use event handler, refactor csp tags

* Fix script indentation

* Fix onsubmit event handler integration

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2021-09-12 20:31:35 +09:00
nicolas.dorier
a8995d2bed Fix unit test fail bc shitcoin 2021-09-10 15:35:51 +09:00
nicolas.dorier
7f40698bba Fix interactive XSS when entering javascript: in store's website. 2021-09-10 10:56:48 +09:00
nicolas.dorier
c4f4c3138c Update Changelog 2021-09-10 00:27:27 +09:00
nicolas.dorier
3b9c7db481 The page could crash if the user clicks too many time on Notificate 'Mark as Seen' 2021-09-10 00:22:33 +09:00
nicolas.dorier
649f650da6 Fix build 2021-09-10 00:16:28 +09:00
nicolas.dorier
4c83265de4 Update Changelog 2021-09-10 00:14:45 +09:00
nicolas.dorier
ad7b62fa3d Fix CSP when there is a theme 2021-09-10 00:14:26 +09:00
d11n
650df97e50 Fix Summernote XSS possibility (#2859) 2021-09-09 22:49:30 +09:00
nicolas.dorier
6f75125cf5 bump 2021-09-09 22:17:46 +09:00
nicolas.dorier
26c05a8d5f Changelog 2021-09-09 22:17:22 +09:00
Nicolas Dorier
fc4e47cec6 Add CSP at the website level (#2863) 2021-09-09 21:51:28 +09:00
nicolas.dorier
c39f1341aa Fix warnings 2021-09-09 20:31:35 +09:00
Kukks
a39d1e0886 fix broken plugin page 2021-09-09 13:12:44 +02:00
Dennis Reimann
435f51a777 Fix for crowdfund perk editor
With no title entered, the editor got stuck in an endless loop, because it recursively invoked the save function without checking for the ID fallback being present.

Fixes #2862.
2021-09-09 10:59:03 +02:00
nicolas.dorier
de2c12c1df Fix warning 2021-09-08 18:45:12 +09:00
nicolas.dorier
ae43af999b update HWI lib 2021-09-08 18:27:36 +09:00
Nicolas Dorier
14a10eeef8 Remove useless code (#2852) 2021-09-07 19:18:56 +09:00
Umar Bolatov
180be49824 Add "#nullable enable" 2021-09-07 10:39:36 +02:00
Umar Bolatov
5faa756f1c Add check for empty theme URI before saving theme settings 2021-09-07 10:39:36 +02:00
d11n
06db29dd43 Delete confirmation modals (#2614)
* Refactor confirm view: separate modal

* Add delete confirmation modals for apps and FIDO2

* Add delete confirmation modals for 2FA actions

* Add delete confirmation modals for api keys and webhooks

* Add delete confirmation modals for stores and store users

* Add delete confirmation modals for LND seed and SSH

* Add delete confirmation modals for rate rule scripting

* Test fixes and improvements

* Add delete confirmation modals for dynamic DNS

* Add delete confirmation modals for store access tokens

* Add confirmation modals for pull payment archiving

* Refactor confirm modal code

* Add confirmation input, update wording

* Update modal styles

* Upgrade ChromeDriver

* Simplify and unify confirmation input

* Test fixes

* Fix wording

* Add modals for wallet replace and removal
2021-09-07 11:55:53 +09:00
Andrew Camilleri
6d317937c7 Do not generate payment methods when 0 amount invoice (#2776)
* Do not generate payment methods when 0 amount invoice

* Add test for 0 amoutn invoices
2021-09-07 00:23:41 +09:00
Umar Bolatov
522c990278 Allow creating top-up invoice when min/max payment amount criteria is active
closes #2831
2021-09-06 10:44:10 +02:00
Nicolas Dorier
e584ebe7de Decouple taproot activation from support in generate wallet (#2837) 2021-09-04 22:07:09 +09:00
d11n
1422bd8540 Decrease notification badge padding (#2841)
Fixes #2840.
2021-09-04 22:06:56 +09:00
d11n
fe18e71538 Refactor themes (#2794)
* Remove Bootstrap/Creative CSS file customizability

Customizations should be done using themes

* Remove deprecated Casa and Classic themes

They are still available in the design system repo and should be added as custom theme CSS file

* Use either standard or custom theme

* Remove deprecated themes

* Improve theme select UI

* Finish and refactor theme switching

* updates theme copy

* Update BTCPayServer/Views/Server/Theme.cshtml

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* Combine creative.css and site.css

Co-authored-by: dstrukt <gfxdsign@gmail.com>
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-09-03 16:16:36 +09:00
Manan Sharma
e5699f674b Taproot support for wallets (#2830)
* Support taproot for HotWallet

* Support taproot for hardware wallets

* Fix NBX version

* Undo formatting

* Do not show Taproot when not supported

* Create taproot wallet from xpub

* Bug Fix
2021-09-03 15:37:12 +09:00
Dennis Reimann
203db44b4e Patch summernote to fix issues in Chrome/Chromium
As we are using a customized version for the Bootstrap 5 compatibility anyways, with this we are also including the changes proposed in summernote/summernote#4034 to fix #2816.
2021-09-02 15:35:32 +02:00
Dennis Reimann
69c5f5b9e5 Reduce navbar padding 2021-09-02 12:36:02 +02:00
Dennis Reimann
5a16dfced3 Cleanup site.css 2021-09-02 12:36:02 +02:00
Dennis Reimann
cb46ef9e6c Revert semibold links 2021-09-02 12:36:02 +02:00
dstrukt
3b810e9b8d revert left sidebar font size 2021-09-02 12:36:02 +02:00
Dennis Reimann
663dcecb8e Cleanup home styles 2021-09-02 12:36:02 +02:00
Dennis Reimann
fbb5671f89 Cleanup styles 2021-09-02 12:36:02 +02:00
Dennis Reimann
47d348359f Use util classes for navbar padding 2021-09-02 12:36:02 +02:00
dstrukt
ab2f460f35 converts to rem 2021-09-02 12:36:02 +02:00
dstrukt
c77e3a9396 navbar queries added 2021-09-02 12:36:02 +02:00
dstrukt
014c43f79b updates section 2021-09-02 12:36:02 +02:00
dstrukt
21fb3813dd adds section + media query 2021-09-02 12:36:02 +02:00
Dennis Reimann
9a039a747a Move site customizations to design system 2021-09-02 12:36:02 +02:00
Dennis Reimann
17578a4615 Bootstrap updates
- Increase vertical navbar padding
- Update alert close button styles
- Use semibold font for links
2021-09-02 12:36:02 +02:00
Dennis Reimann
abb68d6f59 Improve fee rate component 2021-09-02 12:36:02 +02:00
Dennis Reimann
3c443344a5 Ensure round notification badge 2021-09-02 12:36:02 +02:00
dstrukt
2887017d12 updates line-height, removes sm-table hack 2021-09-02 12:36:02 +02:00
dstrukt
f2286fb1be updates copy to reduce button size 2021-09-02 12:36:02 +02:00
dstrukt
bdd11a14ff adjusts logo size for future size update 2021-09-02 12:36:02 +02:00
dstrukt
18f6e5af4d left sidebar navigation updates 2021-09-02 12:36:02 +02:00
Dennis Reimann
83b07e0caf Refactor tables, remove old customizations 2021-09-02 12:36:02 +02:00
Dennis Reimann
840a5ac4b4 Refactor Bootstrap colors 2021-09-02 12:36:02 +02:00
Dennis Reimann
4923311168 Update Bootstrap and theme variables 2021-09-02 12:36:02 +02:00
Umar Bolatov
748423dfe8 Add UpdateOnChainPaymentMethodRequest 2021-09-02 10:42:41 +02:00
Umar Bolatov
2f4e610900 Add UpdateLightningNetworkPaymentMethodRequest 2021-09-02 10:42:41 +02:00
Umar Bolatov
d39ec97b9a Remove "enabled" option from address preview endpoint 2021-09-02 10:42:41 +02:00
Dennis Reimann
0d08bd3ad1 Minor syntax changes 2021-09-02 10:39:35 +02:00
Dennis Reimann
3343738bb3 Remove back links to POSTed pages 2021-09-02 10:39:35 +02:00
Dennis Reimann
373b0b7850 Remove superfluous export command 2021-09-02 10:39:35 +02:00
Dennis Reimann
aa24da72b9 Improve raw export options 2021-09-02 10:39:35 +02:00
Dennis Reimann
aecc5f3c6e Update wording 2021-09-02 10:39:35 +02:00
Dennis Reimann
3d4ef48ceb View cleanup 2021-09-02 10:39:35 +02:00
Dennis Reimann
9bb74a17d8 Refine views and use cases 2021-09-02 10:39:35 +02:00
Dennis Reimann
b654dfb237 Cleanup initial PSBT input view 2021-09-02 10:39:35 +02:00
Dennis Reimann
1bca8c81a4 Fix Selenium test 2021-09-02 10:39:35 +02:00
Dennis Reimann
4d35fd4ab3 Fix test 2021-09-02 10:39:35 +02:00
Dennis Reimann
bf5ea23bc6 Streamline views 2021-09-02 10:39:35 +02:00
Dennis Reimann
b4c1f695a8 Remove psbt ready view
The transaction info is now shown on the decoded PSBT page.
2021-09-02 10:39:35 +02:00
Dennis Reimann
de3d966835 WIP 2021-09-02 10:39:35 +02:00
Dennis Reimann
bcdb1ab1d8 Improve review/broadcast flow and fix test 2021-09-02 10:39:35 +02:00
Dennis Reimann
63944792b0 Move signing views into wizard 2021-09-02 10:39:35 +02:00
Dennis Reimann
3895b133a3 Move PSBT flow into wizard 2021-09-02 10:39:35 +02:00
Dennis Reimann
4371b81ef3 Adjust existing PSBT views for consistency 2021-09-02 10:39:35 +02:00
Dennis Reimann
cd93a5ab6b Add separate signing flow for PSBT 2021-09-02 10:39:35 +02:00
nicolas.dorier
d9a8443081 lang update 2021-08-31 16:02:26 +09:00
nicolas.dorier
918d3b46f0 The checkout would crash for some client if automatic detection of language was checked, and the browser was not setting the accepted language 2021-08-31 16:01:16 +09:00
nicolas.dorier
f53597845e bump btcpayserver 2021-08-31 15:54:38 +09:00
nicolas.dorier
e65a3efc3c Add payjoin fix to changelog 2021-08-31 15:38:14 +09:00
nicolas.dorier
d74fcad9f4 update changelog 2021-08-31 15:36:01 +09:00
nicolas.dorier
19b88fd986 Fix: Impossible to send to two more than two destination (Fix #2825) 2021-08-31 15:23:56 +09:00
Nicolas Dorier
12105ab85c Fix rounding error for the first refund option (#2778) (#2810)
* Fix rounding error for the first refund option (#2778)

* Fix rounding issue
2021-08-31 15:08:33 +09:00
d11n
723817e3f8 Fix payment request cloning and unexpire if necessary (#2820)
* Unexpire payment requests without expiry date

* Unset expiry date when cloning payment request

* Syntax and code improvements
2021-08-31 15:07:54 +09:00
Nicolas Dorier
101fc51787 Bump NBX (#2818) 2021-08-30 16:42:22 +09:00
Umar Bolatov
58a5f88943 Hide due amount on invoice if it's zero (#2798)
address #2790
2021-08-27 16:02:20 +09:00
mandelbit
2e35d0e178 Fix coldcard wallet export path (#2809) 2021-08-27 16:00:57 +09:00
nicolas.dorier
319efbeb4b Bump c-lightning on docker-compose altcoins 2021-08-26 15:55:07 +09:00
nicolas.dorier
04e6833e22 Bump c-lightning on docker-compose altcoins 2021-08-26 14:44:57 +09:00
nicolas.dorier
748c882ba1 Bump libraries 2021-08-26 14:34:20 +09:00
Kukks
ab7d2959ea Update clightning 2021-08-23 13:09:29 +02:00
Pankaj Patil
56d3485d49 Removed the tagline character limit in the crowdfunding app 2021-08-23 13:08:55 +02:00
Kukks
119ab7b2c0 attempt EnsureNewLightningInvoiceOnPartialPayment test fix 2021-08-23 12:34:36 +02:00
Umar Bolatov
d1ea4e4fa4 Fix bug with top-up invoices when used with "Only enable the payment method after user explicitly chooses it" enabled (#2780)
* Fix bug with top-up invoices when used with "Only enable the payment method after user explicitly chooses it" enabled

* Remove unused "using" directives

* Add "#nullable enable" directive

* check for top-up invoice in LightningLikePaymentHandler
2021-08-23 15:13:26 +09:00
Joris Vial
de5ab80038 Fix typo 2021-08-15 08:26:02 +02:00
nicolas.dorier
2d23f3e5d4 bump 2021-08-13 15:51:46 +09:00
nicolas.dorier
77d1580ee3 Fix Display app on website root feature 2021-08-13 15:50:26 +09:00
nicolas.dorier
a20906bc12 Fix paybutton like when no amount set 2021-08-12 10:04:23 +09:00
Kukks
ffbf70d72b Bump BTCPayServer.Lightning nuget 2021-08-10 10:11:16 +02:00
Kukks
caa3ff616c Add fix to changelog 2021-08-10 10:11:16 +02:00
Kukks
7a102ee920 Bumpo Clightning to 0.10.1 2021-08-10 10:11:16 +02:00
Kukks
8451f34302 Revert "Bumpo Clightning to 0.10.1"
This reverts commit e4bd8e3106.
2021-08-10 09:31:14 +02:00
Kukks
e4bd8e3106 Bumpo Clightning to 0.10.1 2021-08-10 09:16:25 +02:00
nicolas.dorier
bc4945c584 Fix hotwallet migration 2 2021-08-10 12:13:00 +09:00
nicolas.dorier
fa96deb1de Fix hotwallet migration 2021-08-10 12:07:13 +09:00
nicolas.dorier
a27217dc62 bump 2021-08-09 23:55:31 +09:00
Ayush Jain
2dfb637e2f Enhance files actions to accept arrays of fileids (#2735)
* Enhanced Files action by modifying it to accept a list of SelectedFileIds

* Added checks to verify all files passed to the files action exist, Updated tests

* Enhanced Files action to accept an array of fileIds

* Removed redundant fileId list
2021-08-09 23:40:55 +09:00
Andrew Camilleri
9387c2c771 1.2.0 Changelog (#2737)
Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
Co-authored-by: Pavlenex <pavlenex@btcpayserver.org>
2021-08-09 15:54:03 +02:00
Nicolas Dorier
e7e8ed55c2 Remove support for payout to a Bitcoin Url (#2766) 2021-08-09 22:43:38 +09:00
Ayush Jain
cf067ca51b Update successful refund message (#2764) 2021-08-09 20:57:29 +09:00
Umar Bolatov
1b7517c05c Add example for orderId query string param in /api/v1/stores/{storeId}/invoices (#2759) 2021-08-09 20:33:56 +09:00
Umar Bolatov
103b3b916b Show new store warning icon only if neither on-chain wallet nor LN is configured (#2760)
close #2755
2021-08-09 20:32:43 +09:00
nicolas.dorier
fa91174b1a Fix finnish 2021-08-09 16:59:52 +09:00
nicolas.dorier
10e3595a82 Fix bulgarian 2021-08-09 16:40:42 +09:00
nicolas.dorier
965beebc66 Fix kazath 2021-08-09 16:37:55 +09:00
nicolas.dorier
83ab1a3b7c Use ulong for configKey of LND rather than uint 2021-08-07 21:52:49 +09:00
nicolas.dorier
7ac83575d4 Update langs 2021-08-05 20:19:51 +09:00
Kukks
831f73d715 Fix: Swagger Onchain fee rate endpoint mislabeled 2021-08-05 09:28:19 +02:00
Kukks
245b4ebe63 Remove missing js file from bundles 2021-08-05 07:59:56 +02:00
Andrew Camilleri
060f30d0bf Payouts: Unify confirm external payment and manually mark as paid actions (#2751) 2021-08-05 14:47:25 +09:00
Nicolas Dorier
f84b2c5160 Add proper error message if node/nbxplorer doesn't support taproot (#2752) 2021-08-05 13:56:31 +09:00
Kukks
4e56ef636b Make system plugins shown as system plugins
fixes #2741
2021-08-04 16:50:25 +02:00
Kukks
59d0cf666f Update Clightning to altcoin compose too 2021-08-04 16:12:39 +02:00
Kukks
54cc574405 Update to Clightning 0.10.0 2021-08-04 15:02:24 +02:00
d11n
97d16523b5 Wallet send UI improvements (#2750)
* Remove autocompletion for output fields

* Use consistent wording for available balance

* Set min value and hide number spins for amount inputs

* Move add destination button to destination input field

* Fix fiat amount display for multiple destinations case

* Improve display of multiple destinations

* Fix formatting
2021-08-04 20:58:46 +09:00
d11n
80086d76a8 Improve Payment Request view (#2748)
* Improve Payment Request view

Closes #2747.

* Fix payment request invoice listing condition
2021-08-04 16:13:33 +09:00
d11n
5bf1161884 PoS UI fixes (#2744)
Fixes  #2743
2021-08-04 13:24:25 +09:00
Pavlenex
f49954223a Merge pull request #2746 from dennisreimann/wallet-import-wording
Improve wallet import wording
2021-08-03 14:23:57 +02:00
Pavlenex
98d9efc8d6 Merge pull request #2745 from dennisreimann/api-keys-text
Add a period in API Keys description
2021-08-03 14:22:38 +02:00
Dennis Reimann
59f338a0b7 Improve wallet import wording
Closes #2740.
2021-08-03 14:22:26 +02:00
Dennis Reimann
e1eac5c390 Add a period in API Keys description
Fixes #2742
2021-08-03 14:10:48 +02:00
Nicolas Dorier
4c818d0359 Implement topup invoices (#2730) 2021-08-03 17:03:00 +09:00
d11n
63d4ccc058 Fix missing master fingerprint/account key path on wallet import (#2727)
* Fix missing master fingerprint/account key path on wallet import

Re-adds the view model properties that got removed in 8a1d5bbc57 and passes them through the confirm addresses form.

* Add test

This test fails on current master
2021-08-03 14:27:04 +09:00
Nicolas Dorier
1b85ab8b54 Improve UI of immature balance, show available balance in wallet list (#2732) 2021-08-01 22:13:12 +09:00
Manan Sharma
906c7eb7ec Show Immature Balance in walletsend page (#2731)
* Wallet Send page also shows immature balance

* changes ans to and

* Immature Balance msg is not tooltip

* Make msg more clear
2021-08-01 21:12:00 +09:00
nicolas.dorier
2207d836f1 Update NBXplorer again 2021-08-01 14:32:04 +09:00
rockstardev
a9cd27e012 Bumping LND to 0.13.1-beta (#2729) 2021-08-01 09:20:40 +09:00
Pavlenex
eb24cf5f84 Merge pull request #2728 from dennisreimann/bg-image
Add white background to Baillie Gifford logo
2021-07-30 19:56:46 +02:00
Dennis Reimann
fae396dc0d Add white background to supporter logo
Addresses btcpayserver/foundation.btcpayserver.org#19. This SVG is also used in the docs.
2021-07-30 19:43:31 +02:00
Pavlenex
c70393c7ef Add BG to supporters readme and login page (#2726)
* add Baillie Gifford supporter in readme and login page

* re-format img
2021-07-30 17:48:07 +02:00
Nicolas Dorier
a9da79cc58 Use PaymentUrlBuilder for ensuring proper formatting of BIP21 addresses (#2723) 2021-07-30 18:47:02 +09:00
Nicolas Dorier
4c57405945 Properly clip taxIncluded and invoice's amount (#2724) 2021-07-30 18:46:49 +09:00
Dennis Reimann
ad8f347989 Refactoring: Allow ViewsRazor extension to be used by plugins
Moves the `ViewsRazor` extension into Abstractions, so that it can be used by plugins.

Separated out of #2701, prerequisite for the LNbank plugin integration.
2021-07-30 08:27:33 +02:00
Wouter Samaey
68595be323 Improved the names of the Invoice webhooks to reflect the event type in code + better descriptions (#2598)
* Improved the names of the Invoice webhooks to reflect the event type in code + better descriptions

* Gave proper name and better description.

* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.webhooks.json

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2021-07-30 14:33:23 +09:00
dstrukt
69b855a1e7 Improves create crowdfund view (#2647)
* adds sizings

* adds section headers

* adds section headers and re-ordering

* more re-ordering

* redorder change

* adds switches

* reorders checkmark

* removes spacer + updates header

* adds sizings

* adds section headers

* adds section headers and re-ordering

* more re-ordering

* redorder change

* adds switches

* reorders checkmark

* removes spacer + updates header

* Upgrade flatpickr and adapt styles

* Improve display names

* Toggle and collapse additional options

* Add missing link attributes

* adds switch + title for enabling public crowdfund

* Add helper text for public crowdfund option

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-07-30 14:31:44 +09:00
Nicolas Dorier
6ea96efe68 Update NBitcoin, fix warnings on nullable (#2718) 2021-07-29 20:29:34 +09:00
Andrew Camilleri
499a231432 Fix: Payment Request status does not update on invoice marked events or when pr amount is changed (#2700)
fixes #2689
2021-07-28 22:38:26 +09:00
Dennis Reimann
0054fe0886 Refactor copy to clipboard
Separated out of #2701, prerequisite for the LNbank plugin integration.
2021-07-28 08:44:32 +02:00
Andrew Camilleri
c59798e9c4 GreenField: Generate Store OnChain Wallet (#2708)
* GreenField: Generate Store OnChain Wallet

* Greenfield: Do not generate wallet if already configured
2021-07-27 23:53:44 +09:00
Dennis Reimann
80483ba76f Start with camera off 2021-07-27 15:31:12 +02:00
Kukks
5c792c9e09 Make QR Scanner able to switch between sources 2021-07-27 15:31:12 +02:00
Kukks
fdae221ca5 Allow QR code multiple display modes 2021-07-27 15:31:12 +02:00
Andrew Camilleri
ba165ddd4f Local Greenfield Client for Plugins (#2410)
* wip

* Local GreenField Client for Plugins

* support notification handlers being missing

* Initial support for scoped btcpay client

* test out scoped local client

* wip

* small fix

* Throw exception if using local greenfield client and it has not been implemented yet

* adapt based on new changes in BTCPay

* update

* fix tests

* Allow Local client to bypass authorization handler

* Add Misc endpoints to Local API Client

* Add new endpoints

* Apply code review changes
2021-07-27 21:11:47 +09:00
Andrew Camilleri
14e4d2d675 Make CSSThemeManager really only focus on theme (#2457)
* Make Settings Repository cache in memory

* Make use of SettingsRepo directly instead of CssThemeManager

* Completely remove CssThemeManager
2021-07-27 21:08:54 +09:00
Andrew Camilleri
d505771d96 Make CanUseInternalLightningNode a sub policy of CanModifyServerSettings (#2709)
SInce CanModifyServerSettings can trivially modify any policy around lightning node sharing, it should automatically have access to the lightning node usage perm
2021-07-27 19:23:20 +09:00
Wouter Samaey
d8c1c51a21 Auto-detect language on payment page (#2552)
* Auto-detect language on payment page

based on the requst Accept-Language header, which is the language you configured in your browser/OS and this 99.99% accurate

* Update BTCPayServer/Services/LanguageService.cs

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

* Update BTCPayServer/Services/LanguageService.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Update BTCPayServer/Services/LanguageService.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Update BTCPayServer/Services/LanguageService.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Added loop for all locales in Accept-Language sorted by weight + check if know this language

* New public method so a unit test can be created for it

* Unit test for language detection

* Fix language service when not in browser context

* fall back to default lang

* Auto-detect setting + ?lang=auto support

* Added invoice param "?lang=auto" info to docs

* Using null-coalescing assignment operator

* Reduce complexity and http dependency in language service

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2021-07-27 08:17:56 +02:00
Kukks
71cbe716f9 fix sync modal styling 2021-07-26 16:44:41 +02:00
Kukks
f4df850d25 Greenfield: Rename enabledOnly to enabled?
Allows the filter to work in both directions instead
2021-07-26 12:03:11 +02:00
Kukks
4d538c61b1 Refactor Get Store Payment Methods
Add tests + docs + new pluggbale format for fetching payment method data + client
2021-07-26 12:03:11 +02:00
Umar Bolatov
17e6179fec Add "stores/{storeId}/payment-methods" endpoint
address #2545
2021-07-26 12:03:11 +02:00
dstrukt
b7b2f16925 Improves create point of sale view (#2646)
* re-ordering

* adds section header

* updates label on "products"

* changes button to primary

* moves description

* updates partial

* re-ordering + section headers

* more section heads and ordering

* redorders

* Toggle custom amount and tips settings

* Use display name for point of sale app type

* Use switches for enabling options

* Add space before required indicator

* Set and consolidate view model display names

* Move redirects and custom CSS to additional options

* Revert to checkbox for discounts

* adds padding

* removes bs-parent for multiple open elements on accordion

* adds helper text to discount checkbox

* updates "default view" label text

* wording cleanup

* more wording adjustments

* updates

* Add display names for app types

* Extract template editor inline styles

* updates helper text

* Display names for app types

* Typo fix

* Move template back to editor

* Fix selenium test

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-07-23 12:57:19 +02:00
cypherbeerus
a7f6bcf36c Updated status message when adding files and related test 2021-07-22 08:49:21 +02:00
cypherbeerus
590ca4ef56 add support for uploading multiple files to server 2021-07-22 08:49:21 +02:00
Andrew Camilleri
04726b3ee4 Payouts: Detect External OnChain Payouts (#2462)
* Refactor and decouple Payout logic

So that we can support lightning + external payout payments

Fixes & refactoring

almost there

final

Remove uneeded payment method checks

Refactor payouts to handle custom payment method specific actions

External onchain payments to approved payouts will now require "confirmation" from the merchant that it was sent by them.

add pill tabs for payout status

* Improve some UX around feature

* add test and some fixes

* Only listen to address tracked source and determine based on wallet get tx call from nbx

* Simplify isInternal for Payout detection

* fix test

* Fix Noreferrer test

* Make EnsureNewLightningInvoiceOnPartialPayment more resilient

* Make notifications section test more resilient in CanUsePullPaymentsViaUI
2021-07-16 09:57:37 +02:00
Umar Bolatov
eb2b523800 Re-enable "Create" button for invoices on correct form input (#2694)
* Re-enable "Create" button for invoices on correct form input

fix #2693

* Use a more specific selector for form inputs
2021-07-14 23:49:06 +09:00
Nicolas Dorier
73b461f8d0 Greenfield: add text search terms to an invoice (#2648) 2021-07-14 23:32:20 +09:00
Wouter Samaey
15be593bbd Save paymentRequestId in Metadata when creating invoice for Payment Request (#2644)
* Save paymentRequestId in Metadata when creating invoice

* Added Payment Request ID + link on invoice detail page

* Added paymentRequestId to the webhook payload

* Removed PaymentRequestId from webhook payload (rolled back previous change)

* Using strongly typed InvoiceMetadata

* Added OrderUrl metadata field to invoice + link

* Added Metadata.OrderUrl to docs

* Made orderUrl visible when no orderId is present
2021-07-14 20:43:13 +09:00
Umar Bolatov
73c89ac28d Auto-select store when creating a new invoice (#2680)
* Auto-select store when creating a new invoice

* Set types as nullable in InvoiceController.UI.cs
2021-07-14 20:40:18 +09:00
Zaxounette
45679fa29e fix typo in test/[...]/index.cshtml
Fix typo reported by following comment: 179520a211 (r53423646)
2021-07-14 11:04:21 +02:00
Umar Bolatov
861e5b1530 Add webhook delivery status indicator (#2679)
* Add webhook delivery status indicator

As discussed in: https://github.com/btcpayserver/btcpayserver/discussions/2616

* Add relative delivery time to tooltips
2021-07-12 21:58:11 +09:00
Kukks
d5019f61ce Expose ExplorerClientProvider to plugins via interface 2021-07-12 14:17:25 +02:00
Kukks
78dd1b0476 Fix store javascript after bootstrap5 update 2021-07-12 14:16:41 +02:00
Andrew Camilleri
72d5c11811 Greenfield: Add CanModifyInvoices Permissions (#2595) 2021-07-11 00:30:01 +09:00
Umar Bolatov
aefb81b7f0 Add "skip" and "limit" params for onchain txs API endpoint (#2688)
Discussed here: https://github.com/btcpayserver/btcpayserver/discussions/2667
2021-07-10 13:04:01 +09:00
Kukks
55cc32ce0f Fix new docker compose incompatibility 2021-07-08 12:53:47 +02:00
Kukks
060fc46e4f Fix system plugins resource loading 2021-07-08 12:53:34 +02:00
Nicolas Dorier
4bb3d60b6c Add misc/permissions to document the hierarchical structure (#2654) 2021-07-08 14:34:10 +09:00
Andrew Camilleri
4222d24d51 Fix: Invoice Search Text crashes invoice creation when value is too long (#2675)
This fix truncates the data to the column's max length to avoid this situation. Fixes #2641. Maybe also fixes #2585
2021-07-08 12:59:44 +09:00
Umar Bolatov
6c76866f28 Update InvoiceConfirmed to InvoiceSettled in swagger (#2681)
fix #2580
2021-07-08 12:41:03 +09:00
Umar Bolatov
50be6595bd update InvoiceStatusMark Swagger definition (#2674)
close #2597
2021-07-07 13:27:04 +09:00
Umar Bolatov
91136d2551 remove unused code in fireworks.js (#2673)
relates to #2639
2021-07-07 13:25:34 +09:00
rockstardev
2e822c5878 Hiding NetworkFee row in invoice if not applicable 2021-07-06 21:20:13 +02:00
Andrew Camilleri
894dca2eef Update BTCPayServer/Views/Shared/Bitcoin/ViewBitcoinLikePaymentData.cshtml 2021-07-06 21:20:13 +02:00
rockstardev
48355129c5 Properly counting transactions that impact NetworkFee 2021-07-06 21:20:13 +02:00
rockstardev
edc9429e84 Displaying NetworkFee if it was present for the invoice 2021-07-06 21:20:13 +02:00
Wouter Samaey
f1a222fbb3 New unit test to scan for external links/forms and if they have rel="noreferrer noopener" (#2668)
* Unit test to check for (possibly) external links

* Add rel="noreferrer noopener" to all external links so unit test passes

* Update BTCPayServer.Tests/UnitTest1.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Update BTCPayServer.Tests/UnitTest1.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Fixed bad merge from master

* PascalCasing

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2021-07-06 10:35:42 +02:00
Wouter Samaey
40bbc5850f Greenfield doc error. Should be singular. Rewording to focus on a single result. (#2657)
* Should be singular. Rewording to focus on a single result.

* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.stores-wallet.on-chain.json

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.stores-wallet.on-chain.json

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2021-07-06 10:19:18 +02:00
Wouter Samaey
70baa4087c Hide referer URL to hide our BTCPay Server URL (#2655) 2021-07-05 13:51:00 +09:00
dstrukt
8e4f56bd52 Improves notification view (#2645)
* removes hr, adds notification settings link

* adds if else to show "no notifications" or table view

* adds icon to settings button

* Fix link to notification settings

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-07-05 12:22:24 +09:00
d11n
3800780ef2 PoS: Fix images in cart view (#2649)
Fixes an issue I overlooked in #2449 and which was brought up by @dstrukt [on Mattermost](https://chat.btcpayserver.org/btcpayserver/pl/jzxqs7xw33rjfe5itorxygifbe).
2021-07-02 11:28:38 +09:00
Andrew Camilleri
6e154f6cbc Merge pull request #2642 from dennisreimann/patch-1
2FA: Fix login partial name
2021-06-30 12:26:19 +01:00
d11n
673b6d6733 2FA: Fix login partial name
Fixes a typo in the filename, which leads to an exception on login when 2FA is enabled.
2021-06-30 13:11:27 +02:00
d11n
6185b93b59 Upgrade to Bootstrap v5.0.2 (#2638) 2021-06-30 19:03:43 +09:00
Umar Bolatov
9bbaae9dea Fix visual bug with invoices search help text overlapping invoice action buttons (#2583)
* Fix visual bug with invoices search help text overlapping invoice action buttons

close #2582

* Update BTCPayServer/Views/Invoice/ListInvoices.cshtml

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: d11n <mail@dennisreimann.de>
2021-06-30 17:05:34 +09:00
Andrew Camilleri
6c856aba48 Introduce Server paging for Payouts List (#2564)
* Introduce Server paging for Payouts List

* Add paging params

* Minor code and formatting improvements

* View updates

* Apply suggestions from code review

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* fix tests

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-06-30 16:59:01 +09:00
Wouter Samaey
33de4cccfc Add permission key to API page (#2599)
* Better API key page

Now we can see the permission code + Fixed a margin-bottom when selecting a specific store

* Improve responsiveness of API key permissions

* Improve webhook editing UX

Jumps to edited item after submit

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-06-30 16:57:38 +09:00
dstrukt
6a79c8a27a Improve create payment request view (#2627)
* formatting

* more edits

* adds section headers

* updates wording

* Update BTCPayServer/Views/PaymentRequest/EditPaymentRequest.cshtml

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-06-30 16:56:28 +09:00
dstrukt
631deb9ce7 Removes lightning setup & wallet setup back button (#2628)
* removes back button

* removes wallet back on setupwallet page

* removes navbar section completely

* remove back button on modify wallet page

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-06-30 14:48:28 +09:00
Andrew Camilleri
cb2dd464f1 GreenField: Add StoreId to Invoice model (#2592) 2021-06-24 23:15:51 +09:00
johanf85
dca376cb46 Add files via upload (#2615) 2021-06-24 23:13:06 +09:00
dstrukt
89d6c83504 Improves Create Store & Create App views (#2608)
* improves create store

* redorders form elements
2021-06-24 23:06:55 +09:00
Wouter Samaey
2ea3baf36e Minor UI improvements (#2606)
* Added "Checkout" button to invoice detail page

* Added missing icon

All other pages have a "plus" icon on the primary button, except this page

* Button icons are always in front, not after like here was
2021-06-24 19:52:41 +09:00
d11n
3338dcac1c Richtext editor fixes (#2613)
* UPdate summernote with Bootstrap 5 integration

* Unify summernote options
2021-06-24 19:51:35 +09:00
Andrew Camilleri
0b9a2ee8ec Merge pull request #2581 from JimiHFord/fix-invoice-typo
fix invoice typo
2021-06-20 08:14:26 +02:00
Jimi Ford
78ac1ee15d fix invoice typo 2021-06-19 20:02:55 -07:00
Umar Bolatov
886e9ab511 Update WebhookDataBase Swagger definition (#2578)
close #2577
2021-06-18 11:01:23 +09:00
d11n
3c80621dac Add payjoin option to hot wallet setup (#2450)
* Add payjoin option to hot wallet setup

Enables payjoin by default when creating a hot wallet and offers the user an opt-out.

Test fix

* Display PayJoin option only if it is available

* Test fixes

* Update hot wallet checks

* Test fix after rebase

* Use toggle buttons for enabling options
2021-06-18 10:25:17 +09:00
Nicolas Dorier
6b4ff4ce2c Merge pull request #2575 from NicolasDorier/refactor/wallet-cleanup
Cleanup some old code in wallet setup
2021-06-17 21:20:28 +09:00
Wouter Samaey
b22aa778e1 Better webhook UI. Full URLs are visible. (#2572)
* Better webhook UI. Full URLs are visible.

* Using Bootstrap CSS class instead of a new class

* Created the generic class .sm:text-nowrap

* Renamed class

* Changed "sm" to "md"
2021-06-17 19:43:47 +09:00
Pavlenex
1c440ed36c Update Maintenance.cshtml (#2576)
* Update Maintenance.cshtml

* fix BTCPay Server maintenance error

* Rephrase "derivation settings" to "wallet settings"

* Pay button text fix

* rephrase CoinSwitch description
2021-06-17 19:40:08 +09:00
nicolas.dorier
70f56d5920 Encrypt WalletSetupViewModel.Config 2021-06-17 19:26:50 +09:00
nicolas.dorier
8a1d5bbc57 Remove outdated code in UpdateWallet 2021-06-17 16:39:55 +09:00
nicolas.dorier
956370592f Create a dedicated IsHotwalletProperty in the DerivationSchemeSettings 2021-06-17 15:36:22 +09:00
nicolas.dorier
afd479ac69 Remove the DerivationSchemeViewmodel.Enabled property 2021-06-17 15:08:04 +09:00
nicolas.dorier
39a4be5641 Remove HintAddress 2021-06-17 14:11:01 +09:00
d11n
70fcd053cd Signing context cleanup (#2568)
* Signing Context cleanup

Removes extra NBXSeedAvailable property in SigningContext, which got introduced in #2559. It is not needed since each view model involved already has it.

* Fix button in link
2021-06-15 17:35:23 +09:00
Andrew Camilleri
c9869922f7 Merge pull request #2569 from pavlenex/pnxbet
add pnxbet to readme
2021-06-14 18:27:15 +02:00
Pavlenex
8b6a333cd2 add pnxbet to readme 2021-06-14 18:17:40 +02:00
Kukks
ae329e371a fix link test 2021-06-14 11:32:35 +02:00
nicolas.dorier
cf7c3c2bf7 LightningSupportedPaymentMethod.CryptoCode is never null 2021-06-14 18:22:00 +09:00
Umar Bolatov
3d21d2724e Fix bug with LN payment method API endpoint throwing 500 (#2567)
close #2566
2021-06-14 18:19:52 +09:00
Kukks
df64a93808 add pnxbet supporter 2021-06-14 08:42:05 +02:00
Kukks
6068d384a4 fix missing bundle tag helper 2021-06-14 08:18:03 +02:00
d11n
3c0292f074 Wallet: Signing UI improvements (#2559)
* Refactoring to generalize wizard layout

* Wallet: Add intermediate signing options view

* Update BTCPayServer/Views/Wallets/WalletSigningOptions.cshtml

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

* Skip signing options for hot wallets

* Update signing options wordings, add PSBT doc link

* Fix test

* Remove form route params

* Use decode command for PSBT

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-06-14 14:06:56 +09:00
nicolas.dorier
371acc84a8 Do not retrieve all payouts in GetPullPayment every time 2021-06-10 18:54:27 +09:00
Andrew Camilleri
cd9feccf6e Mark Payouts as Paid (#2539)
* Mark Payouts as Paid

This PR allows users to mark payouts as paid manually through the UI  and through the API. It also sets up the payout proof system to be able store a manual proof that will in a later PR allow you to specify a proof of payment (link or text)

* add docs, test and greenfield client

* remove extra docs stuff

* Update BTCPayServer.Tests/GreenfieldAPITests.cs

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

* clean up pull payment/payouts fetch code

* Ensure payoutis are retrieved with pull payment

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-06-10 18:43:45 +09:00
dstrukt
f1f3dffc97 Column improvements quick patch (#2562)
* removes title, switches search input with title

* adds CSS change

* Update BTCPayServer/Views/Server/ListUsers.cshtml

Breakpoint improvement

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/wwwroot/main/site.css

Co-authored-by: d11n <mail@dennisreimann.de>

* github revision fix

* spacing

* Simplify file details display

* Resolve users list conflict

* Indent fix

* Fix Tor casing

Co-authored-by: d11n <mail@dennisreimann.de>
2021-06-09 17:53:24 +09:00
Bjarne Magnussen
e4f298acac Set lightning invoice fallback in QR code as uppercase (#2492)
* Set lightning invoice fallback in QR code as uppercase

On the lightning payment view the invoice is encoded as uppercase inside the QR code; however this is not true for the on-chain payment QR code if the invoice is set as fallback option.

This commit sets the fallback invoice as uppercase inside the QR code.

* Adds test case for uppercase fallback lightning invoice

* Apply suggestions from rockstar's review

Co-authored-by: Kukks <evilkukka@gmail.com>
2021-06-08 12:24:17 +09:00
Nicolas Dorier
e93b030bfe Update HWI library, warn users to run newer version (#2544)
* Update HWI library, warn users to run newer version

* Update BTCPayServer/wwwroot/js/vaultbridge.ui.js

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* Update BTCPayServer/wwwroot/js/vaultbridge.ui.js

Co-authored-by: Pavlenex <pavle@pavle.org>

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
Co-authored-by: Pavlenex <pavle@pavle.org>
2021-06-06 21:02:15 +09:00
d11n
64a7abe53a Bootstrap migration fixups (#2534)
* Remove xxl breakpoint

* Remove code bg

* Form updates

* Update PoS accordion

* Update forms

* Fix webhook password toggle

* Update highlight js styles

* Page updates

* Style unformatted checkboxes

* Fix typo

* Update accordions

* Update policies domain mapping

* Update toggles and checkboxes

* Update storage pages

* Fix specter logo filename casing

* Update checkout experience view

* Update webhook view

* Re-add used negative margins

* Update bootstrap

* POS layout fixes

* Decrease size of info icon in main headline

* Update BTCPayServer/Views/Stores/ModifyWebhook.cshtml

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-06-06 20:44:54 +09:00
dstrukt
784a40e2ed Server Settings Bootstrap/UI Tweaks (#2558)
* server > services columns cleanup

* server > services column patch

* server > files adds text-end to table action column

* server > maintenance updates column

* removes title, switches search input with title

* adds CSS change

* Update BTCPayServer/Views/Server/ListUsers.cshtml

Breakpoint improvement

Co-authored-by: d11n <mail@dennisreimann.de>

* Update BTCPayServer/wwwroot/main/site.css

Co-authored-by: d11n <mail@dennisreimann.de>

Co-authored-by: d11n <mail@dennisreimann.de>
2021-06-06 20:41:14 +09:00
Andrew Camilleri
9ecd27dc85 Merge pull request #2474 from bolatovumar/feat/test-webhooks
Add ability to send test webhook call
2021-06-04 13:01:57 +02:00
Andrew Camilleri
72ef23786b Merge pull request #2340 from bolatovumar/feat/greenfield-api-delete-user
Add DELETE action for api/v1/users endpoint
2021-06-04 12:30:36 +02:00
Kukks
28da78fc78 Improve tests and small refactoring 2021-06-04 12:20:45 +02:00
Umar Bolatov
c345e81902 Simplify template 2021-06-03 21:16:27 -07:00
Umar Bolatov
1b39742919 Simplify FirstOrDefault method call 2021-06-03 21:16:27 -07:00
Umar Bolatov
bc33b32522 Add delivery ID to test webhook succes message 2021-06-03 21:16:27 -07:00
Umar Bolatov
4671f08b64 Augment webhook test error message 2021-06-03 21:16:26 -07:00
Umar Bolatov
9f6f74df59 Show success/error message after sending test webhook 2021-06-03 21:16:26 -07:00
Umar Bolatov
872c99e033 Rename SendDelivery to SendAndSaveDelivery 2021-06-03 21:16:26 -07:00
Umar Bolatov
cb6e8a6937 Simplify TestWebhook method 2021-06-03 21:16:26 -07:00
Umar Bolatov
7c16f8f134 Allow specifying WebhookDeliveryData webhookid right away 2021-06-03 21:16:25 -07:00
Umar Bolatov
ad11b61af2 Formatting 2021-06-03 21:16:25 -07:00
Umar Bolatov
120b82ae00 Update webhook test page design 2021-06-03 21:16:25 -07:00
Umar Bolatov
7cf6c97d3f Return view after webhook test POST call 2021-06-03 21:16:25 -07:00
Umar Bolatov
2262acf12b Add ability to send test webhook call 2021-06-03 21:16:24 -07:00
Umar Bolatov
ca3f97c42f Add missing API key type description 2021-06-02 20:12:53 -07:00
Umar Bolatov
8731055786 Use UserNotFound instead of NotFound 2021-06-02 20:02:31 -07:00
Umar Bolatov
e943c55a91 Add basic tests for delete user endpoint 2021-06-02 20:02:31 -07:00
Umar Bolatov
be05b6aa90 Specify correct return type on delete user methods 2021-06-02 20:02:31 -07:00
Umar Bolatov
0b4d94faf2 Remove unnecessary null check 2021-06-02 20:02:30 -07:00
Umar Bolatov
9f8f677125 Remove unused IsAdmin method 2021-06-02 20:02:30 -07:00
Umar Bolatov
949d6bf584 Replace admin check with CanModifyServerSettings authorization policy 2021-06-02 20:02:30 -07:00
Umar Bolatov
9fc2d2b76b Remove CanDeleteUser constraint from "/api/v1/users/{userId}" endpoint 2021-06-02 20:02:29 -07:00
Umar Bolatov
d9935ada9d Add "/api/v1/users/me" endpoint 2021-06-02 20:02:29 -07:00
Umar Bolatov
b4076b53e8 Add IsAdminUser method to UserService 2021-06-02 20:02:28 -07:00
Umar Bolatov
53c81918a5 Enable nullable reference checking in UsersController 2021-06-02 20:02:28 -07:00
Umar Bolatov
7c11736992 Enable nullable reference checking in UserService 2021-06-02 20:02:28 -07:00
Umar Bolatov
49f168b7b3 Update delete user swagger description 2021-06-02 20:02:27 -07:00
Umar Bolatov
104092702a Simplify DeleteUser method 2021-06-02 20:02:27 -07:00
Umar Bolatov
2ed8341403 Add IsRoleAdmin to user service 2021-06-02 20:02:26 -07:00
Umar Bolatov
e5a196918f Add user service 2021-06-02 20:02:26 -07:00
Umar Bolatov
907ae760e0 Add CanDeleteUser policy 2021-06-02 20:02:25 -07:00
Umar Bolatov
37f7c4e0f9 Add DELETE user Swagger docs 2021-06-02 20:02:25 -07:00
Umar Bolatov
fe107cd23f Add DELETE action for api/v1/users endpoint 2021-06-02 20:02:22 -07:00
Dennis Reimann
a830c1e812 Use ~ prefix for local PoS image references 2021-06-01 14:34:06 +02:00
Dennis Reimann
8eb85acb88 Self-host PoS sample images
As brought up in #2447 and previously been worked on in #1039.
2021-06-01 14:34:06 +02:00
Pavlenex
ea8f510eff Merge pull request #2536 from pavlenex/remove-supporters
Remove supporters
2021-05-30 17:43:58 +02:00
Kukks
cbec44bb73 Fix QR Code shower 2021-05-30 10:38:21 +02:00
Kukks
ac44ed56e0 fixx broken shopify links 2021-05-26 13:11:59 +02:00
Jovo Kljajic
dbf2f99c4e Fixing issue with mysql migration and maxLength (#2541) 2021-05-25 16:03:49 +09:00
Pavlenex
3b04ca229f remove unused images 2021-05-20 11:05:11 +02:00
Pavlenex
5b1a171d27 remove supporters from the front page
- BTSE (Expired)
- OkCoin (Expired)
- DGLab (Expired)
- ACINQ (Remove due to front-page tier)
2021-05-20 11:02:18 +02:00
Pavlenex
9138c6c70a remove past supporters from the readme
Remove:
- BTSE
- OKCoin
- DGLabs
2021-05-20 10:59:27 +02:00
nicolas.dorier
f1092f910a bump 2021-05-19 20:19:22 +09:00
nicolas.dorier
ebc9ddfeb1 changelog 1.1.2 2021-05-19 20:18:09 +09:00
Andrew Camilleri
201b4d6ec0 Fix Shopify parsing (#2530) 2021-05-19 16:26:54 +09:00
Andrew Camilleri
3b375929c1 Support wider server sync info in greenfield server info (#2511)
fixes #2498
2021-05-19 13:07:28 +09:00
d11n
ed7031981b Bootstrap v5 migration (#2490)
* Swap bootstrap asset files

* Update themes and color definitions

* Move general bootstrap customizations

* Theme updates

Theme updates

* Remove BuildBundlerMinifier

This lead to an error, because BuildBundlerMinifier and BundlerMinifier.Core seem to conflict here. Details: https://stackoverflow.com/a/61119586

* Rewplace btn-block class with w-100

* Update badge classes

* Remove old font family head variable

* Update margin classes

* Cleanups

* Update float classes

* Update text classes

* Update padding classes

* Update border classes

* UPdate dropdown classes

* Update select classes

* Update neutral custom props

* Update bootstrap and customizations

* Update ChromeDriver; disable smooth scroll

https://github.com/SeleniumHQ/selenium/issues/8295

* Improve alert messages

* Improve bootstrap customizations

* Disable reduced motion

See also 7358282f

* Update Bootstrap data attributes

* Update file inputs

* Update input groups

* Replace deprecated jumbotron class

* Update variables; re-add negative margin util classes

* Update cards

* Update form labels

* Debug alerts

* Fix aria-labelledby associations

* Dropdown-related test fixes

* Fix CanUseWebhooks test

* Test fixes

* Nav updates

* Fix nav usage in wallet send and payouts

* Update alert and modal close buttons

* Re-add backdrop properties

* Upgrade Bootstrap to v5 final

* Update screen reader classes

* Update font-weight classes

* Update monospace font classes

* Update accordians

* Update close icon usage

* Cleanup

* Update scripts and style integrations

* Update input group texts

* Update LN node setup page

* Update more form control classes

* Update inline forms

* Add js specific test

* Upgrade Vue.js

* Remove unused JS

* Upgrade Bootstrap to v5.0.1

* Try container related test updates

* Separate jQuery bundle

* Remove jQuery from LND seed backup page

* Remove unused code

* Refactor email autofill js

* Refactor camera scanner JS

* Re-add tests

* Re-add BuildBundlerMinifier

* Do not minify bundles containing Bootstrap

Details https://github.com/madskristensen/BundlerMinifier/issues/558

* Update bundles

* Cleanup JS test

* Cleanup tests involving dropdowns

* Cleanup tests involving collapses

* Cleanup locale additions in ConfigureCore

* Cleanup bundles

* Remove duplicate status message

* Cleanup formatting

* Fix missing validation scripts

* Remove unused unminified Bootstrap js files

* Fix classic theme

* Fix Casa theme

* Fix PoS validation
2021-05-19 11:39:27 +09:00
nicolas.dorier
0eace936b0 Bump 2021-05-14 17:21:32 +09:00
nicolas.dorier
0d70743a47 Do not spam logs with events 2021-05-14 17:17:46 +09:00
Andrew Camilleri
778a0f7e8d Fix: Lightning Listener not listening on Lightning payment after activating when using lazy payments (#2524) 2021-05-14 17:17:07 +09:00
Andrew Camilleri
a8cf6ee8a2 add coinswitch changelog 2021-05-14 10:03:13 +02:00
nicolas.dorier
06a150a558 Changelog for 1.1.1 2021-05-14 16:20:47 +09:00
Nicolas Dorier
c551e5cd0a Make sure to only select accounted payments where we should (#2523) 2021-05-14 16:16:19 +09:00
Kukks
776ded0b7e Fix Coinswitch enabledflag and nav category 2021-05-14 09:08:32 +02:00
nicolas.dorier
9e3d99ec39 Do not automatically apply our datetimeoffset binder 2021-05-14 15:47:19 +09:00
Andrew Camilleri
6c9c7328bb Fix: Payout Transaction not matching when rate provided longer decima… (#2518)
* Fix: Payout Transaction not matching when rate provided longer decimal precision

fixes #2513 most likely

* Do not sue rounding and ensure crypto amount is saved with correct decimal places

* Round pull payment payout to the nearest digit supported by network

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2021-05-13 17:50:08 +09:00
Nicolas Dorier
2961a2ed53 Merge pull request #2506 from Kukks/fix-pay-button-steps
Fix Pay Button steps and range validation
2021-05-13 17:33:34 +09:00
Nicolas Dorier
12836b9f60 Merge pull request #2512 from NicolasDorier/udoqnf
Make sure BTCPayServer does not take the culture of the server
2021-05-13 17:32:05 +09:00
Alesio Kanani
17cef99ce8 Spelling improvement (#2520) 2021-05-13 17:31:08 +09:00
nicolas.dorier
2194fe43d2 Do not show payments which are not accounted in Payment request 2021-05-12 17:46:57 +09:00
Wouter Samaey
06fef563e3 Fixed 2 typos (#2514)
* Fixed 2 typos

* Update BTCPayServer/Controllers/ManageController.APIKeys.cs

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* Update BTCPayServer/Controllers/ManageController.APIKeys.cs

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-05-07 18:51:10 +02:00
Andrew Camilleri
c38eeddc55 Update BC-UR bundle and support decoding hex format of wallet (#2505) 2021-05-08 00:35:43 +09:00
Dali
84ec33afb3 Update BitCore branding (#2501)
Co-authored-by: dalijolijo <dalijolijo@v220200132547106119.bestsrv.de>
2021-05-08 00:34:38 +09:00
nicolas.dorier
4b30132d06 Make sure BTCPayServer does not take the culture of the server 2021-05-06 20:28:02 +09:00
Kukks
38942aef25 remove log 2021-05-05 12:19:35 +02:00
Kukks
200e8330d8 Fix Pay Button steps and range validation
There were numerous issues around different button types and the amount range validation. Also fixes #2503
2021-05-05 11:27:02 +02:00
Kukks
86092fc955 Wrap more plugin loading logic in try catch to not crash fatally 2021-05-03 08:35:54 +02:00
nicolas.dorier
50cd4cb3ce bump version 2021-04-29 12:52:55 +09:00
Nicolas Dorier
7c857118fa Update Changelog (#2480) 2021-04-29 12:51:35 +09:00
Andrew Camilleri
4e1b18e2bb do not crash invoice if wellknown metadata keys used with different e… (#2448)
* do not crash invoice if wellknown metadata keys used with different expected types

* fix

* add bits from alt PR
2021-04-28 16:49:10 +09:00
Andrew Camilleri
5fe3c1c61f U2fremove (#2496)
* Remove U2F support and JS

* fix final changes

* fix more final stuff
2021-04-28 16:22:09 +09:00
Kukks
270bd98a10 Remove test code from Fido2 that got merged 2021-04-28 06:26:59 +02:00
Andrew Camilleri
02bf5afe0b Migrate existing U2F to Fido2 (#2484)
* Migrate existing U2F to Fido2

This seamlessly switches all u2f registrations over to the new FIDO2 support. Please note that I have not yet added a way to drop the u2f DB and its UI so that we can test the migration works properly for all.

* add testing logic

* fix u2f tests

* remove duplicate status message

* fix test and namespaces

* fix test
2021-04-28 13:14:15 +09:00
Kukks
c878f63f99 Fix: Double entry for Api Key nav item in Account navigation menu 2021-04-27 14:06:34 +02:00
nicolas.dorier
8083935b47 Greenfield: Deleting a store in the server, should delete only webhooks of this store 2021-04-27 18:55:38 +09:00
Andrew Camilleri
c7d11132e5 Merge pull request #2491 from dennisreimann/wallet-enabling-fix
Offer enabling toggle only for wallets that are set up
2021-04-27 11:16:10 +02:00
Dennis Reimann
69442a49f1 Offer enabling toggle only for setup wallets 2021-04-27 09:27:52 +02:00
nicolas.dorier
5f9ef0ff62 Greenfield: Human friendly error if webhook or delivery not found 2021-04-27 15:38:42 +09:00
Kukks
0888cc4f97 Fix: Add Fido2 log filter to tests 2021-04-27 08:18:01 +02:00
Kukks
6821a9a0a4 Fix: Coinswitch plugin missing nav specification 2021-04-27 07:37:08 +02:00
Kukks
003e8a979b Fix: Plugins integrations formatting text wrap 2021-04-27 07:36:42 +02:00
Umar Bolatov
08e8050ca5 Add button to copy API key to clipboard (#2439)
* Add button to copy API key to clipboard

* Update "copy API key to clipboard" button appearance
2021-04-27 11:30:26 +09:00
nicolas.dorier
8d5c3c5cdd ModelBinders should not throw exception, but return error on ModelState 2021-04-26 12:55:03 +09:00
nicolas.dorier
dcc4214dcb Make sure model binder error are returning error 422, use DateTimeOffsetModelBinder 2021-04-26 12:37:56 +09:00
Saker Omera
ded55a1440 customized api/v1/invoices query parameters to filter results (#2461)
* customized api/v1/invoices query parameters to filter results

* customized api/v1/invoices query parameters to filter results

* update swagger and make parameters as arrays

* change startDate and endDate types to UnixTimestamp

* update invoice status type in swagger and better handle dateTimeoffset

* change status type to array of InvoiceStatus to match controller

* change status type to array of InvoiceStatus to match controller

Co-authored-by: somera <somera@tesla.com>
2021-04-26 11:32:44 +09:00
Jaron Rosenau
e0ff03068a add altcoin support for althash / htmlcoin (#2485)
* Switch Althash, keypath, hitbtc ticker

* add Althash

* add Althash

* switch to coingecko provider

* add Althash logo

* Fix stacking issue with rate call

* bump NBitcoin to 5.0.77

* bump NBXplorer.Client to 3.0.21
2021-04-26 11:31:00 +09:00
Nicolas Dorier
60c05cab55 Merge pull request #2477 from dennisreimann/lightning-setup-redesign
Lightning setup redesign
2021-04-22 17:39:05 +09:00
Andrew Camilleri
9c480580ba Merge pull request #2483 from dennisreimann/mobile-unread-count
UI: Fix unread count badge on mobile
2021-04-21 17:43:12 +02:00
Dennis Reimann
f3c3f397eb UI: Fix unread count badge on mobile 2021-04-21 17:38:17 +02:00
d11n
f6c7f61ec3 Update BTCPayServer/Views/Stores/SetupLightningNode.cshtml
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-04-21 14:52:45 +02:00
Dennis Reimann
aae5cce175 Improve custom node details toggling 2021-04-21 14:38:53 +02:00
Dennis Reimann
8a9bea4603 Wording and display improvements 2021-04-20 14:52:00 +02:00
Dennis Reimann
0e3f6acb0a Final tweaks and test fix 2021-04-20 12:23:50 +02:00
Dennis Reimann
bbe621109f Lightning setup redesign 2021-04-20 12:09:27 +02:00
Dennis Reimann
35f47bdfb7 Add and update theme colors 2021-04-20 12:09:26 +02:00
Nicolas Dorier
8ca0be5a4d Merge pull request #2453 from bolatovumar/unify-pos-app-card-markup
Unify POS app card markup
2021-04-20 18:29:50 +09:00
Nicolas Dorier
b6bd7cce6d Merge pull request #2446 from NicolasDorier/fweihnq
Give better error for greenfield API
2021-04-20 18:25:10 +09:00
nicolas.dorier
a7cbb3941a Give better error for greenfield API 2021-04-20 18:21:26 +09:00
Nicolas Dorier
8957720c94 Merge pull request #2469 from dennisreimann/store-payment-method-toggling
Move payment method enabling toggle to store overview
2021-04-20 17:25:34 +09:00
d11n
452915478b UI: Fix duplicate status messages (#2481)
The status message is included in the NavLayout, hence the pages that use this layout should not include the status message.

Fixes #2478.
2021-04-20 16:16:21 +09:00
Dennis Reimann
962c80fff8 Remove permission check
Ensured via the controller, see https://github.com/btcpayserver/btcpayserver/pull/2469#discussion_r616289628
2021-04-20 09:10:23 +02:00
Dennis Reimann
aef06c7f61 Wording updates
Thanks @Zaxounette!
2021-04-20 09:09:32 +02:00
Nicolas Dorier
52be5746c6 Update BTCPayServer.Tests/SeleniumTester.cs
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-04-20 09:03:40 +02:00
Nicolas Dorier
b2ff64733d Update BTCPayServer/Controllers/StoresController.Onchain.cs
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-04-20 09:03:39 +02:00
Nicolas Dorier
85cf36ac4a Update BTCPayServer.Tests/SeleniumTester.cs
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-04-20 09:03:38 +02:00
Dennis Reimann
5fda21373e Move enabling toggle to store overview 2021-04-20 09:03:37 +02:00
Kukks
1ada87ca31 Fix: Do not crash if plugin folder mismatches plugin identifier 2021-04-20 08:38:37 +02:00
Andrew Camilleri
0554565b30 FIDO2/WebAuthN Support (#2356)
* FIDO2/WebAuthN Support

This adds initial support for WebAuthN/FIDO2 as another MFA mode. U2F is still intact and runs alongside it for now. Once this is merged, I will start work on migrating U2F support to happen over the FIDO2 protocol instead.

* Refactor and future proof system (prep work of seamless u2f migration)

* attempt js fix for mobile devices

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

* fix fido name saving

* do not spam logs and hide loader when failed

* PR Changes

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

* attempt fido2 bump

* add name if not named for credentials

Co-authored-by: d11n <mail@dennisreimann.de>
2021-04-20 14:06:32 +09:00
nicolas.dorier
315284d5f5 Fix typo of webhook events property 2021-04-20 12:36:20 +09:00
nicolas.dorier
99b1e391a6 bump NBitcoin 2021-04-20 12:05:48 +09:00
Nicolas Dorier
9b50e85d0d Merge pull request #2455 from btcpayserver/feat/improving-files-page
Improving File Storage page
2021-04-20 11:06:14 +09:00
Nicolas Dorier
e394474dad Update BTCPayServer/Views/Server/Files.cshtml
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-04-20 11:05:53 +09:00
Andrew Camilleri
7d1761de4f Coin Selection: Confirmed filter (#2467)
Allows provides confirmation count to Greenfield UTXO GET api
2021-04-20 11:02:06 +09:00
Kukks
dfd4c967b7 fix null reference exception when no tor settings are provided 2021-04-19 07:43:11 +02:00
rockstardev
71305461d4 Cleaning up edit pages for storage providers not to have summary error
Error sandwich be gone
2021-04-18 14:05:12 -05:00
rockstardev
04a29ece3b Only display storage providers that can actually be set in dropdown 2021-04-18 14:03:22 -05:00
Andrew Camilleri
99dd6f3e50 Apply suggestions from code review
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-04-18 13:42:25 -05:00
rockstardev
8f6048191d Improving navigation between files and storage services and rewording info text 2021-04-18 13:42:17 -05:00
Jonathan Underwood
ee0fa71605 Refactor TorService (#2388)
* TorServices Refactor to make value passing easier

* Allow specifying Tor services through config

Format:

BTCPAY_TORSERVICES: "BTCPAYSERVER:URL.ONION:VIRTUALPORT;BTC-P2P:URL.ONION:VIRTUALPORT;BTC-RPC:URL.ONION:VIRTUALPORT;SOMEOTHERONIONSERVICE:URL.ONION:VIRTUALPORT"

* add tests

* Optimize Tor Services loader and ensure it is loaded as a hosted service

* Remove Task from Tor service loader

* Use options to parse Tor services

* Fix booboo

* Fix test after fixing booboo

* Adding timeout on long running CanEnumeratetorServices test

(cherry picked from commit 274b77e3175960158b803410037e2c7ff31984be)

* Renaming timeout variable to better name

* Only allow one of torrcfile or torservices

Co-authored-by: Kukks <evilkukka@gmail.com>
Co-authored-by: rockstardev <rockstardev@users.noreply.github.com>
2021-04-18 11:26:06 +09:00
Umar Bolatov
475a68924e Allow accessing "misc/lang" endpoint with Greenfield auth schemes (#2471)
closes #2437
2021-04-18 11:22:50 +09:00
Nicolas Dorier
c0a544351b Can disable the modification of SSH settings in BTCPay Server (#2468)
* Can disable the modification of SSH settings in BTCPay Server

* Update BTCPayServer/Controllers/ServerController.cs

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* Update BTCPayServer/Controllers/ServerController.cs

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* Update BTCPayServer/Views/Server/SSHService.cshtml

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-04-17 13:29:50 +09:00
d11n
15201a927e UI fixes (#2463)
* Fix formatting in bootstrap.css

This looks like it got introduced when resolving a merge conflict.

* Fix typos in views

* Fix semibold style definition
2021-04-16 15:02:40 +09:00
Umar Bolatov
efa567f965 Unify POS app card markup 2021-04-14 20:00:01 -07:00
nicolas.dorier
e1df1c255a Add user id in log when log in 2021-04-15 11:19:06 +09:00
Andrew Camilleri
64e34d0ef5 Seaparate CoinSwitch as a plugin (#2390)
* Separate coinswitch as a system plugin

* Decouple Coinswitch from Checkout UI

* remove dummy csproj

* Remove CoinSwitchTests.cs per @NicolasDorier feedback

Co-authored-by: rockstardev <rockstardev@users.noreply.github.com>
2021-04-13 20:19:48 +09:00
Andrew Camilleri
2e12befb8b Refactor and decouple Payout logic (#2046)
* Refactor and decouple Payout logic

So that we can support lightning and more complex flows like allowing external payments to payouts.

* fix dropdown align

* switch to simpler buttons

* rebase fixes

add some comments

* rebase fixes

add some comments

* simplify enum caveman logic

* reduce code duplication and db round trips

* Fix pull payment date format

* fix issue with payouts to send page not working correctly

* try fix some style issue

* fix bip21parse
2021-04-13 17:36:49 +09:00
nicolas.dorier
98eee27b93 Remove warnings 2021-04-13 17:06:11 +09:00
nicolas.dorier
8ed853a3b3 Attempt to make selenium less flaky 2021-04-13 15:12:09 +09:00
Andrew Camilleri
8fd4a816a6 Allow Payjoin for wallet receive addresses (#2425)
* Allow Payjoin for wallet receive addresses

* wip

* show bip21 and additional work

* style better

* add to docs

* pr changes

* remove from state when unreserved
2021-04-13 12:26:36 +09:00
d11n
b12c4c5fa0 Improve and unify page headers (#2412)
* Improve and unify page headers

* Altcoin test fixes

* Update BTCPayServer/Views/Apps/UpdateCrowdfund.cshtml

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Update BTCPayServer/Views/Apps/UpdateCrowdfund.cshtml

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Fix missing store name in pairing view

* Fix CanUsePairing test

* Bump header navigation font size

* Use partial tag instead of Html.PartialAsync in views

As suggested by @nicolasdorier. These are equivalent, see details [here](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/partial?view=aspnetcore-3.1#partial-tag-helper).

* Fix docs link

As in #2432.

* Update BTCPayServer/Views/Wallets/SignWithSeed.cshtml

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

* Update BTCPayServer/Views/Wallets/WalletSendVault.cshtml

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

* Update BTCPayServer/Views/Wallets/WalletTransactions.cshtml

Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-04-08 22:32:42 +09:00
Andrew Camilleri
6473da7114 Merge pull request #2444 from bolatovumar/increase-landing-page-copy-contrast
Increase landing page masthead text contrast
2021-04-08 13:38:44 +02:00
Andrew Camilleri
bb78ae59d4 Merge pull request #2432 from dennisreimann/fix-hot-wallet-docs-link
Fix hot wallet docs link
2021-04-08 12:21:11 +02:00
Andrew Camilleri
459f3c4a93 Document and handle Invoice Metadata better (#2401)
* Document and handle Invoice Metadata better

PosData would crash in certain scenarios when created via API. Invoice metadata known fields were not completely documented

* Fix value setter when null

* fix swagger conformity

* make all swagger invoice metadata optional looking in json
2021-04-08 16:42:18 +09:00
nicolas.dorier
e014b30915 Remove on code warning 2021-04-08 14:33:58 +09:00
nicolas.dorier
cc5a388106 Properly escape script inputs for shopify integration 2021-04-08 13:44:51 +09:00
Andrew Camilleri
5de93f8cc4 Abstract Store integrations (#2384)
* Decouple Shopify from Store

* Decouple shopify from store blob

* Update BTCPayServer.Tests.csproj

* Make sure shopify obj is set

* make shopify a system plugin
2021-04-08 13:37:05 +09:00
Andrew Camilleri
ad1b708da5 Provide more data through OnChain Wallet API (#2420)
Provides unconf/conf balanaces, keypath + address + timestamp of utxos
2021-04-08 12:43:51 +09:00
Umar Bolatov
c7ff36b314 Increase landing page masthead text contrast 2021-04-07 19:37:35 -07:00
Andrew Camilleri
f367480857 GreenField: Add FeeRate To Wallets API (#2375)
* GreenField: Add FeeRate To Wallets API

closes #1846

* make dedicated endpoint for fee rate

* remove unused call
2021-04-07 15:16:17 +09:00
xpayserver
475809b1a0 Make Invoice Create Faster And Fix Gap Limit Issue (#1843)
* Make Invoice Create Faster And Fix Gap Limit Issue

This make address reserve only when user "activate" paymet method in ui. optional setting in store checkout ui.

* Fix swagger documentation around Lazy payment methods

* fix changed code signature

* Add missing GreenField API for activate feature

* Fix checkout experience styling for activate feature

* Fix issue with Checkout activate button

* Make lightning also work with activation

* Make sure PreparePaymentModel is still called on payment handlers even when unactivated

* Make payment  link return empty if not activated

* Add activate payment method method to client and add test

* remove debugger

* add e2e test

* Rearranging lazy payments position in UI to be near dependent Unified QR code

* fix rebase conflicts

* Make lazy payment method mode activate on UI load.

Co-authored-by: Kukks <evilkukka@gmail.com>
Co-authored-by: rockstardev <rockstardev@users.noreply.github.com>
Co-authored-by: Andrew Camilleri <kukks@btcpayserver.org>
2021-04-07 13:08:42 +09:00
Dennis Reimann
fce7fdb3b7 Update link 2021-04-06 16:32:04 +02:00
Andrew Camilleri
b2c72f1d75 Merge pull request #2435 from bolatovumar/fix/2434
Set new store hints consistently for API and GUI
2021-04-06 14:50:11 +02:00
Umar Bolatov
f0ac7d2c16 Set new store hints consistently for API and GUI
closes #2434
2021-04-05 21:24:34 -07:00
Dennis Reimann
7099a3b394 Fix hot wallet docs link
# Conflicts:
#	BTCPayServer/Views/Server/Policies.cshtml
2021-04-05 21:29:41 +02:00
Andrew Camilleri
3e985d8554 Fix crash when sat is negative (liquid only) (#2418) 2021-04-05 12:39:37 +09:00
d11n
f94e8c9719 Fix typo in PoS cart view (#2428)
Noticed by @MaxHillebrand 👀
2021-04-05 12:39:02 +09:00
Andrew Camilleri
bbe1442c28 Merge pull request #2422 from kristapsk/explorer.bc-2.jp
Fix block explorer links for signet
2021-04-03 12:47:01 +02:00
Kristaps Kaupe
3a248d7707 Fix block explorer links for signet 2021-04-03 09:19:36 +03:00
Andrew Camilleri
0bb1f16d2a Merge pull request #2416 from g33kme/patch-1
Update swagger.template.stores-wallet.on-chain.json
2021-04-01 13:59:45 +02:00
g33kme
0837756152 Update swagger.template.stores-wallet.on-chain.json 2021-04-01 13:48:06 +02:00
Andrew Camilleri
23236c96cb Remove internal setters in BTCPayNetwork 2021-04-01 08:56:22 +02:00
Andrew Camilleri
6ead5c3800 Plugin FailSafe (#2351)
This introduces the concept of plugins being disabled in the case of an unrecoverable runtime error caused by a plugin.
2021-04-01 12:27:22 +09:00
nicolas.dorier
64db865e1e Changelog 2021-04-01 12:16:23 +09:00
nicolas.dorier
1b2399745d Remove stable and latest branch 2021-04-01 12:06:29 +09:00
nicolas.dorier
94acf60100 Properly show browser date 2021-04-01 11:55:43 +09:00
Umar Bolatov
a4298e8c19 Ensure root app mapping works (#2415)
close #2414
2021-04-01 11:49:46 +09:00
d11n
76985838c4 Improve Lightning setup page (#2348)
* Redesign Lightning setup page

* Improve Lightning setup page

Closes #1811.

* Test fix

* Fix LightningNetworkPaymentMethodAPITests

* Bootstrap customization fix
2021-03-31 20:23:36 +09:00
Nicolas Dorier
d24964e900 Merge pull request #2378 from dennisreimann/ui-improvements
UI: Header and navigation improvements
2021-03-31 16:08:37 +09:00
Nicolas Dorier
f4fde8f5f7 Merge pull request #2386 from btcpayserver/feat/lnd-v0.12.1-beta
Bumping LND to v0.12.1
2021-03-31 12:35:39 +09:00
nicolas.dorier
3461dd6464 Changelog for 1.0.7.1 2021-03-30 23:54:43 +09:00
nicolas.dorier
560671b57f Remove autocorrect and autocapitalize for seed input 2021-03-30 19:21:29 +09:00
Dennis Reimann
abf3962d91 Remove old styles 2021-03-30 11:38:04 +02:00
Dennis Reimann
f53a85fcd1 Bootstrap customization fix 2021-03-30 11:38:03 +02:00
Dennis Reimann
73730355b8 Add active indicator for main navigation 2021-03-30 11:38:02 +02:00
Dennis Reimann
8827721605 Layout: Update header and navigation 2021-03-30 11:38:01 +02:00
nicolas.dorier
2497413c60 Fix test 2021-03-30 17:15:03 +09:00
nicolas.dorier
a6537ef282 Update lightning charge 2021-03-30 17:08:58 +09:00
nicolas.dorier
c92adc36c6 Remove useless file 2021-03-30 15:23:36 +09:00
Umar Bolatov
a64f71f186 Add user email search and sort (#2305)
* Add user sort by email

* Add user search by email
2021-03-30 14:32:44 +09:00
Nicolas Dorier
0c766a2714 Merge pull request #2287 from bumbummen99/patch-3
Fix payment request template
2021-03-30 14:30:56 +09:00
Nicolas Dorier
6b7c49431a Merge pull request #2339 from AlexGidge/1725-pull-payments-display-date
Changed display date format on View Pull Payments screen
2021-03-30 14:29:46 +09:00
Umar Bolatov
4b37121b75 Updated "required" form input styling (#2373) 2021-03-30 14:27:42 +09:00
Umar Bolatov
120c7b9730 Ensure submitting empty currency does not break update PoS page (#2376) 2021-03-30 14:26:33 +09:00
Umar Bolatov
1aa233ca47 Order files list by descending timestamp (#2374)
closes #2273
2021-03-30 14:26:02 +09:00
Nicolas Dorier
14e6e492dd Refactor domain mapping (#2407) 2021-03-30 11:47:03 +09:00
d11n
17bdf55bcc Remove misleading title from hint icon (#2393)
Brought up by @Zaxounette [on Mattermost](https://chat.btcpayserver.org/btcpayserver/pl/yrxqodfswbby5qj69zhpojuefc).
2021-03-30 11:18:24 +09:00
Andrew Camilleri
1ae6508a43 Make dates/timespan swagger docs more clear (#2399)
* Make dates/tiemspan swagger docs more clear

* fix schema conformity
2021-03-30 11:18:00 +09:00
nicolas.dorier
b7b6cef880 Fix ratelimiter for forgotpassword 2021-03-28 20:56:46 +09:00
rockstardev
52b5c56da9 Bumping LND to use the latest docker image 2021-03-26 08:52:17 -05:00
nicolas.dorier
85ba9e96a0 Rate limit password forgot 2021-03-26 18:01:59 +09:00
Patrick
b4e15cb27f Fix Pay-Button url preview (#2397)
* Fix #2396

Adresses #2396 by creating a new element and setting the url as text rather as html.

* Fix closing tag
2021-03-26 16:37:15 +09:00
nicolas.dorier
068cfe5e3e Decrease command timeout for selenium 2021-03-26 14:31:36 +09:00
nicolas.dorier
c0449a633d Revert "Fix docker-compose for arm64 dev env"
This reverts commit 7dfce5e306.
2021-03-26 13:22:54 +09:00
nicolas.dorier
7dfce5e306 Fix docker-compose for arm64 dev env 2021-03-26 12:44:55 +09:00
Nicolas Dorier
fd53f7476e Fix flaky test (#2392) 2021-03-24 21:33:49 +09:00
d11n
ceb541ad8a Upgrade to Bootstrap v4.6 (#2379)
Also upgrades jQuery from v3.2.1 to v3.6.0
2021-03-24 18:47:55 +09:00
nicolas.dorier
d92ced6c6b Make CanUsePayjoin2 more resilient 2021-03-24 14:18:54 +09:00
nicolas.dorier
0847088391 Make CanUsePayjoin2 more resilient 2021-03-24 13:55:46 +09:00
nicolas.dorier
a128685b83 If an input already used in a payjoin is reused in another, we should not attempt to broadcast the original transaction. 2021-03-24 13:48:33 +09:00
nicolas.dorier
749d26fafa Revert "Fix Payjoin test randomly crashing"
This reverts commit 485faf0141.
2021-03-23 23:59:26 +09:00
nicolas.dorier
485faf0141 Fix Payjoin test randomly crashing 2021-03-23 18:34:34 +09:00
nicolas.dorier
af9d896510 Do not use Random 2021-03-23 17:53:23 +09:00
nicolas.dorier
1fc114fec7 Check the authentication cookie every 5 min rather than 30min 2021-03-23 17:43:13 +09:00
Pavlenex
e6938cef6f Merge pull request #2389 from pavlenex/supportercc
Add new supporter to readme
2021-03-22 17:17:42 +01:00
Pavlenex
ffafd291ee replace the svg with an improved one 2021-03-22 17:05:46 +01:00
Pavlenex
f532759543 add Coincards supporter to readme 2021-03-22 11:28:04 +01:00
Andrew Camilleri
db3ba6db3c Merge pull request #2385 from AryanJ-NYC/fix-swag-docs
fix swagger docs missing query param
2021-03-21 16:44:06 +01:00
Andrew Camilleri
0a333f8476 Merge pull request #2383 from bolatovumar/fix/2382
Update Swagger for "/api/v1/stores/{storeId}/payment-methods/LightningNetwork"
2021-03-21 10:50:11 +01:00
Umar Bolatov
738aaeed12 Update Swagger for "/api/v1/stores/{storeId}/payment-methods/LightningNetwork" 2021-03-20 19:53:03 -07:00
Kukks
ce6c9c91fc Make sure payment method uppercase logic only happens for BTC 2021-03-20 06:52:18 +01:00
Andrew Camilleri
7035b71ccd Fix POS item newline break (#2366)
* Fix POS item newline break

fixes #2365

* Update TemplateEditor.cshtml

* fix template editor with "

* apply sanitize on save
2021-03-19 23:25:04 +09:00
nicolas.dorier
923a567822 Make cookies secure 2021-03-19 20:54:30 +09:00
nicolas.dorier
9b24e9378f Explicitely disallow \ for in filename 2021-03-19 20:22:24 +09:00
nicolas.dorier
779f21a1ca Make sure cookie are HttpOnly 2021-03-19 20:09:55 +09:00
nicolas.dorier
73d70aa5e5 Better validate file names 2021-03-19 18:55:21 +09:00
Andrew Camilleri
fc78eacf8f Merge pull request #2329 from btcpayserver/addbettermenu
Make main menu show text instead of icons when on small screens
2021-03-18 19:16:21 +01:00
Andrew Camilleri
006af636e6 Merge pull request #2372 from nosovk/patch-1
turn of autocomplete for PrivKey input
2021-03-16 17:29:25 +01:00
Konstantin Nosov
4575fda10a turn of autocomplete for "BIP39 Seed (12/24 word mnemonic phrase) or HD private key" input
autocomplete not pretend to be safe store for your wallet key
2021-03-16 16:05:16 +02:00
Dennis Reimann
6c960628c2 Update pull payment template 2021-03-15 13:27:14 +01:00
Patrick
00aa7deaae Fix payment request template
Fix payment request template body/page height and footer style.
2021-03-15 13:25:20 +01:00
Pavlenex
f722956864 Merge pull request #2341 from britttttk/improve-sign-seed-copy
Fix typos on wallet sign with seed page
2021-03-15 09:14:54 +01:00
rockstardev
8f520bff12 Merge pull request #2350 from btcpayserver/fix/selenium-tests
Attempting selenium test fix for CanUseLightningSatsFeature
2021-03-14 18:57:41 -05:00
rockstardev
8398534fa0 Attempting selenium test fix for CanUseLightningSatsFeature
Swithcing to using WaitForElement and simplifying finding of alert message
2021-03-14 18:43:16 -05:00
nicolas.dorier
e1fed90b71 bump versions 2021-03-11 22:48:40 +09:00
nicolas.dorier
5ba6e53379 Changelog for 1.0.7.0 2021-03-11 22:45:47 +09:00
nicolas.dorier
d33bdfd50c Make CanUseCoinSelection less flaky 2021-03-11 22:20:25 +09:00
nicolas.dorier
4f5392eb74 Fix test 2021-03-11 22:18:02 +09:00
nicolas.dorier
064087a7c0 fix test 2021-03-11 22:08:36 +09:00
nicolas.dorier
e13821ba49 Fix view-seed 2021-03-11 21:58:20 +09:00
nicolas.dorier
c2b85779c3 Rewrite the CanUseHotWallet, check if the derivationscheme is actually a hotwallet, before retrieving the seed 2021-03-11 21:46:32 +09:00
Andrew Camilleri
cdfdad3e3d GreenField API: Wallet API (#2246)
* GreenField: Wallet API

* more work

* wip

* rough fiunish of transaction sending api

* Allow to create tx without broadcasting and small fixes

* Refactor Wallet Receive feature ad add greenfield api for address reserve for wallet

* add wallet api client

* add docs

* fix json converter tags

* fixes and add wallet tests

* fix tests

* fix rebase

* fixes

* just pass the tests already

* ugggh

* small cleanup

* revert int support in numeric string converter and make block id as native number in json

* fix LN endpoint

* try fix flaky test

* Revert "try fix flaky test"

This reverts commit 2e0d256325b892f7741325dcbab01196f74d182a.

* try fix other flaky test

* return proepr error if fee rate could not be fetched

* try fix test again

* reduce fee related logic for wallet api

* try reduce code changes for pr scope

* change auth logic for initial release of wallet api
2021-03-11 21:34:52 +09:00
nicolas.dorier
1f7992e5da Remove some code duplication 2021-03-11 21:29:13 +09:00
Andrew Camilleri
4bad7d7c52 Fix issue with store payment methods after having payment method that is no longer supported (#2349) 2021-03-10 19:51:51 +09:00
nicolas.dorier
1fcf39d4ab Fix new store incorrectly showing lightning enabled even if not 2021-03-09 17:56:17 +09:00
nicolas.dorier
a64e304d16 Fix new store showing incorrectly being paired to internal node 2021-03-09 17:54:38 +09:00
Andrew Camilleri
30c7cbba96 Fix issue around new bech uppercase + vault supported flag (#2337) 2021-03-09 12:45:56 +09:00
Alex Gidge
a7d324901d Reverted "Last Refreshed" back to "Last Updated"
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-03-08 08:45:16 +00:00
britttttk
15c87dc0b6 Fix typos on wallet sign with seed page 2021-03-07 23:30:40 -07:00
Alex Gidge
0d2de4c421 #1725 - Changed to display in user's local date time format 2021-03-07 23:19:39 +00:00
Alex Gidge
da95bd6127 #1725 - Added start date & changed display timezone 2021-03-07 22:51:50 +00:00
Matheus Gabriel Werny de Lima
e31b5529b0 Fixed a typo in README.md. (#2331) 2021-03-07 20:54:36 +09:00
Umar Bolatov
0836df6974 Update invoice log row styling (#2334)
closes #2328
2021-03-07 20:50:55 +09:00
nicolas.dorier
de4cd55adf Update coingecko exchanges 2021-03-06 13:58:02 +09:00
rockstardev
6b156f2144 Reenabling uppercase BECH32 in QR codes (#2181)
* Reenabling uppercase BECH32 in QR codes

* Fixing the test now that we're uppercasing BECH32 address

* Implementing Nicolas' feedback

Co-authored-by: rockstardev <rockstardev@users.noreply.github.com>
2021-03-06 13:52:25 +09:00
Nicolas Dorier
2b1efd9347 Merge pull request #2296 from dennisreimann/wallet-setup-finetuning
Wallet setup finetuning
2021-03-06 13:51:01 +09:00
nicolas.dorier
97dd10edc0 Fix some NRE in the FileService 2021-03-06 13:36:36 +09:00
nicolas.dorier
cc4e46d212 Fix NRE if invoice not found 2021-03-06 13:25:40 +09:00
Kukks
dc0671942d Make main menu show text instead of icons when on small screens 2021-03-05 08:48:15 +01:00
Dennis Reimann
f79c8ab641 Xpub import: Toggle multi-sig examples 2021-03-04 11:07:05 +01:00
Dennis Reimann
314fda7877 Update import wallet cells 2021-03-03 22:27:39 +01:00
Dennis Reimann
aaf77515fc Update icons 2021-03-03 21:29:03 +01:00
Dennis Reimann
b5f7b1aad4 Hover and active states for wizard navigation 2021-03-03 21:17:25 +01:00
Dennis Reimann
d36974a47e Fix test 2021-03-02 12:26:19 +01:00
Dennis Reimann
5bd16f990c Add replace confirmation; distinguish wallet types 2021-03-02 12:26:18 +01:00
Dennis Reimann
28d7924077 Fix AltcoinTests 2021-03-02 12:26:17 +01:00
Dennis Reimann
89ecba961c Remove old AddDerivationSchemes views 2021-03-02 12:26:16 +01:00
Dennis Reimann
3481a5fd19 Fix wording 2021-03-02 12:26:15 +01:00
Dennis Reimann
70a21c5136 Refactoring: Move checking condition up 2021-03-02 12:26:15 +01:00
Dennis Reimann
2e2c9764f3 Remove old Stores.BTCLike controller 2021-03-02 12:26:14 +01:00
nicolas.dorier
bd447b6c79 Fix test 2021-03-02 11:50:01 +09:00
Nicolas Dorier
4f6ec3aa32 Merge pull request #2325 from btcpayserver/fix/nextnetworkfee-null
Returning 0 for NextNetworkFee if it's null
2021-03-02 11:19:43 +09:00
nicolas.dorier
e37b3179ba Reactivate CanGetRateCryptoCurrenciesByDefault for DSH 2021-03-02 11:14:52 +09:00
Andrew Camilleri
808214f973 Fix Rates Test (Dash rate source switched to bitfinex) (#2324)
fixes #2323
2021-03-02 11:13:05 +09:00
Nicolas Dorier
7e714f1ef8 Refactor how we handle and validate LN ConnectionStrings (#2314)
* Refactor how we handle and validate LN ConnectionStrings

* Migrate existing connection string to Internal Node if they are the same. Cleanup some obsolete fields

* Fix typos, remove duplicated method

* Add a InternalNodeRef to LightningSupportedPaymentMethod
2021-03-02 11:11:58 +09:00
rockstardev
e65e46f664 NextNetworkFee is not directly initialized, falling back to null check 2021-03-01 09:56:57 -06:00
rockstardev
5e7eb6635f Initializing NextNetworkFee values if GetFee returns null 2021-03-01 09:33:02 -06:00
Andrew Camilleri
49ae62b02e Use library for Payjoin Sender (#2158)
* Use library for Payjoin Sender

* update payjoin sender to use new package and reduce code

* fix using statements
2021-03-01 22:44:53 +09:00
Umar Bolatov
c9cfe5cc6e Fix direct URL for local storage with custom root path (#2318)
* Fix direct URL for local storage with custom root path

* Remove "Context.Request.PathBase" when generating file URL display string
2021-03-01 22:43:57 +09:00
Andrew Camilleri
e8df010449 Add redirectAutomatically to GreenField Invoice API (#2321) 2021-03-01 22:34:07 +09:00
Andrew Camilleri
949136b161 GreenField API: Configure Store Lightning Payment Method v2 (#2208)
* GreenField API: Configure Store Lightning Payment Method

* Remove internal ln node endpoint and use Auth service to check internal node usage

* fix test
2021-02-26 11:58:51 +09:00
Nicolas Dorier
1e00c63146 Merge pull request #2308 from dennisreimann/policies-ui
Improve policies structure and wordings
2021-02-26 11:49:00 +09:00
Nicolas Dorier
6d9b93a407 Merge pull request #2299 from dennisreimann/pos-item-button-text
PoS: Custom buy button text per product
2021-02-26 11:45:44 +09:00
Nicolas Dorier
37c39ad587 Merge pull request #2309 from btcpayserver/invoice-status-marker
Allow invoice to be marked even when new
2021-02-26 11:26:09 +09:00
Kukks
e3e65878aa Allow invoice to be marked even when new
fixes #2019
2021-02-26 11:17:03 +09:00
Nicolas Dorier
6843b0eaab Merge pull request #2301 from btcpayserver/gf/paymenttypeparse
Make payment type parsing more dynamic
2021-02-26 11:00:27 +09:00
d11n
e25f76753a Update BTCPayServer.Tests/README.md
Co-authored-by: Max Hillebrand <30683012+MaxHillebrand@users.noreply.github.com>
2021-02-24 17:16:27 +01:00
Dennis Reimann
75c2fabd7f Make Selenium test more robust
Fixes an issue similar to what we fixed in #2293.
2021-02-24 15:10:05 +01:00
Dennis Reimann
35aeb19fcd Controller cleanups 2021-02-24 15:10:04 +01:00
Dennis Reimann
5a00f6a4fc Fix missing view name 2021-02-24 15:10:03 +01:00
Umar Bolatov
3a9fc52b8c Add "vertical-align: middle;" to pay button image CSS (#2312)
closes #2311
2021-02-24 15:10:02 +01:00
raddev
64a8de938b Update BTCPayServer.Tests/README.md
Co-authored-by: Pavlenex <pavle@pavle.org>
2021-02-24 15:09:45 +01:00
radWorx
605cf407a8 Update README.md
Update README.md #2210
2021-02-24 15:06:16 +01:00
radWorx
9ed5297e91 Update README.md
Using Polar to test Lightning payments.
2021-02-24 15:06:15 +01:00
Nicolas Dorier
07da404a23 Merge pull request #2310 from dennisreimann/webhooks-controller
Webhooks controller fix and cleanup
2021-02-24 22:03:01 +09:00
Umar Bolatov
21467ef65d Add "vertical-align: middle;" to pay button image CSS (#2312)
closes #2311
2021-02-24 22:01:05 +09:00
Dennis Reimann
4d5b2c4033 Make Selenium test more robust
Fixes an issue similar to what we fixed in #2293.
2021-02-23 16:57:21 +01:00
Dennis Reimann
5e7836b293 Controller cleanups 2021-02-23 16:51:58 +01:00
Dennis Reimann
a6fe61d508 Fix missing view name 2021-02-23 16:51:11 +01:00
Dennis Reimann
c0aa320f0a Improve policies structure and wordings
Closes #2307.
2021-02-23 10:39:26 +01:00
Dennis Reimann
4bcc18fb41 JavaScript formatting fixes 2021-02-23 09:51:25 +01:00
Dennis Reimann
32370545cb Fix variable assignment in yaml parsing loop 2021-02-23 09:50:54 +01:00
Pavlenex
2fd8c831c0 Merge pull request #2210 from radWorx/dev-with-polar
Update README.md
2021-02-22 10:22:16 +01:00
Dennis Reimann
5b4877c402 PoS: Custom buy button text for custom price 2021-02-22 08:59:59 +01:00
Kukks
71c11b34f4 Make payment type parsing more dynamic
fixes bug described in #2297
2021-02-19 08:23:55 +01:00
Dennis Reimann
3123718166 Crowdfund: Add custom buy button text 2021-02-18 12:32:43 +01:00
Dennis Reimann
dfbec71906 PoS: Add test for custom buy button text 2021-02-18 12:20:27 +01:00
Dennis Reimann
757c087afd PoS: Custom buy button text per product
Closes #2232.
2021-02-18 10:54:06 +01:00
Andrew Camilleri
b30aa968b0 Merge pull request #2293 from dennisreimann/flaky-selenium
Tame flaky Selenium tests
2021-02-18 09:39:28 +01:00
Dennis Reimann
1e902c8dee Tests: Toggle advanced settings via JS instead 2021-02-17 15:54:05 +01:00
Dennis Reimann
db5f64432e Tests: Wait for advanced settings closing animation 2021-02-17 12:34:58 +01:00
d11n
6c9c463da9 Fix plugin projects reference in solution (#2292)
Fixes #2262.
2021-02-17 10:56:48 +01:00
d11n
c73878ccca Fix missing hot wallet option on seed import (#2284)
* Fix missing hot wallet option on seed import

Thanks @kukks for spotting!

* Tests: Wait for button to be ready for interaction

* Camelcase test selectors

* Tests: Remove general ImplicitWait

* Tests: Add WaitForAndClick helper

* Tests: Refactor SetCheckbox

* Tests: Add WaitForElement helper

* Tests: Refactor and use wait.UntilJsIsReady helper

* Fix missing helper in ethereum tests

* Tests: Some more refactorings
2021-02-17 12:14:29 +09:00
Nicolas Dorier
41e453306d Merge pull request #2288 from bumbummen99/patch-4
Fix view payment request loading spinner alignment
2021-02-17 12:10:18 +09:00
Nicolas Dorier
626c6007fd Merge pull request #2286 from btcpayserver/remove-upload-limit
Remove Max body request size
2021-02-16 10:40:43 +09:00
radWorx
deb88032cb Update README.md
added missing space,
moved below Using the test lightning-cli
2021-02-15 15:15:38 -05:00
Patrick
eca317b3c4 Fix view payment request loading spinner alignment 2021-02-15 16:37:38 +01:00
Kukks
9300326483 Remove Max body request size
Upload limit by kestrel restricts plugin upload of 30mb+. this removes that limit
2021-02-15 13:42:08 +01:00
Kukks
ebc46eb7d2 fix swagger docs missing query param
fixes #2268
2021-02-15 10:05:54 +01:00
Nicolas Dorier
cb83669802 Merge pull request #2283 from bumbummen99/patch-2
Fix cart pay button loading spinner vertical alignment
2021-02-15 11:17:57 +09:00
Patrick
f6f616a21d Fix cart pay button loading spinner vertical alignment 2021-02-14 21:05:26 +01:00
Nicolas Dorier
62d50c0189 Profile email change should check email's availability (#2281) 2021-02-12 16:48:43 +09:00
Nicolas Dorier
dd5b143c13 Update BTCPayServer/Controllers/ManageController.cs
Co-authored-by: d11n <mail@dennisreimann.de>
2021-02-12 16:48:26 +09:00
nicolas.dorier
2e864c32fa Profile email change should check email's availability 2021-02-12 12:48:05 +09:00
d11n
f4fa7c927c Wallet setup redesign (#2164)
* Prepare existing layouts and views

* Add icon view component and sprite svg

* Add wallet setup basics

* Add import method view basics

* Use external sprite file instead of inline svg

* Refactor hardware wallet setup flow

* Manually enter an xpub

* Prepare other views

* Update views and models

* Finalize wallet setup flow

* Updat tests, part 1

* Update tests, part 2

* Vaul: Fix missing retry button

* Add better Scan QR subtext

Still tbd.

* Make wallet account an advanced setting

* Prevent empty xpub

* Use textarea for seed input

* Remove redundant error message for missing file upload

* Confirm store updates after generating a new wallet

* Update wording

* Modify existing wallets

* Fix proposed method name

* Suggest using ColdCard Electrum export option only

Advise the user to use the electrum export of the coldcard instead of saying either electrum or wasabi export file … the electurm one contains more info, e.g. the wasabi one doesn't include the account key path.

* More concise WalletSetupMethod setting

* Test fix

* Update wallet removal code

* Fix back navigation quirk in change wallet case

* Fix behaviour on wallet enable/disable

* Fix initial wallet setup

* Improve modify view and messages

* Test fixes

* Seed import fix

Uses the correct form url for confirming addresses

* Quickfixes from design meeting

* Add enable toggle switch on modify page

* Confirm wallet removal

* Update setup view

* Update import view

* Icon finetuning

* Improve import options page

* Refactor QR code scanner

Allow for usage with and without modal

* Update copy and instructions on import pages

* Split generate options: Hot wallet and watch-only

* Implement hot wallet options correctly

* Minor test changes

* Navbar improvements

* Fix tables

* Fix badge color

* Routing related updates

Thanks @kukks for the suggestions!

* Wording updates

Thanks @kukks for the suggestions!

* Extend address types table for xpub import

Thanks @kukks for the suggestions!

* Rename controller

* Unify precondition checks

* Improve removal warning for hot wallets

* Add tooltip on why seed import is not recommended

* Add tooltip icon

* Add Specter import info
2021-02-11 19:48:54 +09:00
Nicolas Dorier
3736cbc107 Merge pull request #2252 from dennisreimann/specter-wallet-file
Add Specter wallet file import
2021-02-10 23:02:26 +09:00
Nicolas Dorier
776825cc66 Merge pull request #2240 from dennisreimann/onchain-symbol
Invoices list: Remove icon indicator for onchain
2021-02-10 22:48:34 +09:00
Nicolas Dorier
5cb647e57f Merge pull request #2248 from bolatovumar/fix-2247
Ensure "No" selection is maintained for custom price in POS app
2021-02-10 22:42:55 +09:00
Nicolas Dorier
9c5f826bb4 Merge pull request #2256 from bumbummen99/patch-1
Fix current version
2021-02-10 22:35:34 +09:00
Nicolas Dorier
6b1803629d Merge pull request #2258 from dennisreimann/tabindex
Login: Improve tab navigation for input fields
2021-02-10 22:35:09 +09:00
Nicolas Dorier
5cea0571e3 Merge pull request #2265 from dennisreimann/checkout-tabs
Checkout: Fix scan/copy tab sizes with varying content
2021-02-10 22:34:24 +09:00
Nicolas Dorier
95c8afd5ba Merge pull request #2261 from ketominer/fix-mysql-2021
fixed mysql support
2021-02-10 18:26:20 +09:00
Dennis Reimann
ecc9a34359 Checkout: Fix scan/copy tab sizes with varying content
Fixes #2264.
2021-02-08 17:54:40 +01:00
ketominer
1fed7fb5af fix for sqlite 2021-02-07 21:14:31 +01:00
ketominer
93d1ded4c2 fixed mysql support 2021-02-07 20:57:48 +01:00
Dennis Reimann
f199775437 Register: Autofocus email field on page load 2021-02-05 13:04:21 +01:00
Dennis Reimann
40271f420d Login: Improve tab navigation for input fields
Improves the tab indexes so that keyboard navigation goes: Email > Password > Sign in > Create account > Forgot password.

Also autofocuses the email field so that you can start typing right away.

Closes #2257.
2021-02-05 13:01:55 +01:00
Pavlenex
9e71c02eb9 Merge pull request #2239 from pavlenex/readme-improvements
Readme overhaul
2021-02-05 11:29:16 +01:00
Patrick
c9cbfe630d Fix current version 2021-02-05 03:02:15 +01:00
Nicolas Dorier
bf9331b147 Merge pull request #2251 from dennisreimann/api-lightning
Fix empty GetLightningClient return value
2021-02-04 11:26:15 +09:00
Dennis Reimann
f223d2e00c Add Specter wallet file import
Closes #2223.
2021-02-03 16:36:45 +01:00
Dennis Reimann
5246e7f035 Fix empty GetLightningClient return value 2021-02-03 11:19:35 +01:00
Umar Bolatov
42de0803c9 Ensure "No" selection is maintained for custom price in POS app 2021-02-02 20:13:39 -08:00
Nicolas Dorier
242f9c6197 Merge pull request #2241 from btcpayserver/feat/lnd-0.12.0-beta
Updating development LND to v0.12.0-beta
2021-02-02 12:56:29 +09:00
rockstardev
5288198474 Updating connection to merchant_lnd for tests 2021-02-01 01:37:58 -06:00
rockstardev
b21353c4f9 Updating LND in altcoins docker file as well 2021-02-01 01:37:12 -06:00
rockstardev
65a0c6a4b3 Updating development LND to v0.12.0-beta 2021-02-01 00:55:13 -06:00
Dennis Reimann
af5bd89f34 Invoices list: Remove icon indicator for onchain
As [discussed on the chat](https://chat.btcpayserver.org/btcpayserver/pl/tcjy5ornhbd8i8jm4yj9y3maie) the icon feels unnecessary and isn't clear to users. Leaving it off and only indicating Lightning transactions avoids confusion.
2021-01-30 18:53:21 +01:00
Pavlenex
73aeffd13c Apply suggestions from code review
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-01-30 10:58:48 +01:00
Nicolas Dorier
03d2f6c017 Merge pull request #2209 from btcpayserver/invoice-metadata-test
Improve test on Greenfield Inoice metadata update
2021-01-30 11:17:11 +09:00
Pavlenex
7e1481c43f Apply suggestions from code review
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-01-29 18:31:41 +01:00
Pavlenex
8a1069bf70 Apply suggestions from code review
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-01-29 18:30:57 +01:00
Pavlenex
6097ab5d12 Update README.md
Co-authored-by: d11n <mail@dennisreimann.de>
2021-01-29 14:04:35 +01:00
Pavlenex
d951575f80 Merge branch 'readme-improvements' of https://github.com/pavlenex/btcpayserver into readme-improvements 2021-01-29 12:38:47 +01:00
Pavlenex
d887546e58 remove chat 2021-01-29 12:37:59 +01:00
Pavlenex
ec3b80cec9 Apply suggestions from code review
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2021-01-29 12:36:12 +01:00
Pavlenex
2ef442cf83 Improve readme 2021-01-29 12:19:51 +01:00
nicolas.dorier
6e5a4a7546 Update changelog.md 2021-01-29 18:36:26 +09:00
nicolas.dorier
e0d46002cb Changelog 1.0.6.8 2021-01-29 18:31:40 +09:00
Nicolas Dorier
739f13b7a3 Merge pull request #2234 from dennisreimann/safe-browsing
Safe browsing quick fixes
2021-01-29 18:24:11 +09:00
d11n
34af74b288 Apply URL changes from code review
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Update BTCPayServer/Controllers/AccountController.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Update BTCPayServer/Controllers/AccountController.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Update BTCPayServer/Controllers/AccountController.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Update BTCPayServer/Controllers/AccountController.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Update BTCPayServer/Controllers/AccountController.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

Update BTCPayServer/Controllers/AccountController.cs

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2021-01-28 12:33:12 +01:00
Dennis Reimann
4ee0cc8145 Remove clipboard code from main-bundle
See https://github.com/btcpayserver/btcpayserver/issues/2139#issuecomment-768216462
2021-01-28 10:48:06 +01:00
Dennis Reimann
4984674b1d Remove Tor URL from login and register page
Brave and Tor Browser now show availaibility of Tor automatically in the url box of the browser.
2021-01-28 10:47:28 +01:00
Dennis Reimann
f5ee67aafb Remove allowtransparency from checkout overlay 2021-01-28 10:34:34 +01:00
Dennis Reimann
98a1b0da71 Update public account URLs
- /Account/Login -> /login
- /Account/Register -> /register
- /Account/ForgotPassword -> /forgot-password
2021-01-28 10:08:22 +01:00
Nicolas Dorier
074ff76d49 Merge pull request #2221 from dennisreimann/selenium-tests
Selenium tests: Remove hacks, make them more reliable
2021-01-27 17:50:57 +09:00
Dennis Reimann
b75409a6bf Remove Firefox as option for Selenium tests 2021-01-27 09:35:14 +01:00
nicolas.dorier
94abda6e3e bump lightning libs 2021-01-27 17:21:18 +09:00
Salie Hendricks
68419a9510 Improve password reset email copy (#2211)
* Reset password email copy unified and updated

* Grammar fix for reset email copy

* Email strings added to facilitate html and style and call to action

* First pass html. Saving for later

* Compacted the html and inline styles and removed logo

Co-authored-by: Salie Hendricks <salie@safarinow.com>
2021-01-27 08:42:47 +01:00
Nicolas Dorier
db0854f203 Update NBitcoin, NetworkType => ChainName, signet support (#2224) 2021-01-27 14:39:38 +09:00
Nicolas Dorier
994301ea4c Bump Bitcoin Core and NBXPlorer (#2222) 2021-01-26 21:01:32 +09:00
Dennis Reimann
5e344b9be7 Fix missing user secrets code 2021-01-26 10:22:17 +01:00
Dennis Reimann
66d3da8ac9 Remove function checks as they didn't help 2021-01-26 09:40:31 +01:00
Dennis Reimann
71bb876c9e Configure browser settings with user secrets
Default to headless Chrome
2021-01-25 17:23:08 +01:00
Dennis Reimann
1e029f3290 Fix EthereumTests 2021-01-25 16:49:20 +01:00
Dennis Reimann
7926b689fd Default to headless, add Firefox, update Chrome 2021-01-25 15:01:53 +01:00
Dennis Reimann
4638f781f9 Fix JS error 2021-01-25 14:11:11 +01:00
Dennis Reimann
8bea1505dd Cleanups, remove WaitForPageLoad hack 2021-01-25 14:10:40 +01:00
Dennis Reimann
e567f7a80c Refactor tests
Remove the hacky `ScrollTo`, `ForceClick` and `WaitForElement`.
Add the hacky `WaitForPageLoad`.
2021-01-25 13:04:58 +01:00
rockstardev
3774e8dc51 Merge pull request #2207 from btcpayserver/feat/new-error-pages
New Error Pages
2021-01-24 23:49:36 -06:00
rockstardev
dc27ffa6ba Http error page 406 for our dear man Jack
Yes, acceptable
2021-01-24 13:41:30 -06:00
rockstardev
ca25eedfbc Extracting common layout for Error Pages 2021-01-24 13:33:34 -06:00
rockstardev
1627c05224 Fixing typos and grammar
Co-authored-by: Umar Bolatov <bolatovumar@gmail.com>
2021-01-24 13:19:26 -06:00
rockstardev
f65ca04507 Http error 502, Miles page 2021-01-24 13:19:26 -06:00
rockstardev
a662b6ef6a Http error 417, page for Pavlenex 2021-01-24 13:19:26 -06:00
Dennis Reimann
bd6d38b3b0 Tests: Move extension method 2021-01-22 12:57:46 +01:00
raddev
a890d5300b Update BTCPayServer.Tests/README.md
Co-authored-by: Pavlenex <pavle@pavle.org>
2021-01-19 13:30:45 -05:00
radWorx
eb8411611a Update README.md
Update README.md #2210
2021-01-19 13:07:19 -05:00
radWorx
9360ddf294 Merge branch 'dev-with-polar' of https://github.com/radworx/btcpayserver into dev-with-polar 2021-01-19 13:04:32 -05:00
radWorx
e3c138fa98 Update README.md
Update README.md #2210
2021-01-19 13:02:26 -05:00
nicolas.dorier
7147dadb2a Remove dependency to DBriize 2021-01-19 17:19:32 +09:00
raddev
8d03738a50 Update BTCPayServer.Tests/README.md
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-01-18 22:52:21 -05:00
raddev
e5540ee79f Update BTCPayServer.Tests/README.md
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-01-18 22:52:09 -05:00
raddev
2ccbb6d6a7 Update BTCPayServer.Tests/README.md
Co-authored-by: britttttk <39231115+britttttk@users.noreply.github.com>
2021-01-18 22:51:59 -05:00
radWorx
3dce7e7e9f Update README.md
Using Polar to test Lightning payments.
2021-01-18 22:15:52 -05:00
Kukks
79e8ce9226 Improve test on Greenfield Inoice metadata update 2021-01-18 14:24:38 +01:00
rockstardev
89857ca77c Merge pull request #2202 from btcpayserver/fix/error-pages
Improving styling of error pages in preparation for adding new ones
2021-01-17 10:10:02 -06:00
rockstardev
5ce60be78a Update BTCPayServer/Views/Shared/_BTCPaySupporters.cshtml
Co-authored-by: d11n <mail@dennisreimann.de>
2021-01-17 10:09:50 -06:00
nicolas.dorier
600cc20423 changelog 2021-01-17 21:50:02 +09:00
nicolas.dorier
987d09041d bump 2021-01-17 21:45:54 +09:00
nicolas.dorier
df52d01a1d Revert "GreenField API: Configure Store Lightning Payment Method"
This reverts commit b40095f603.
2021-01-17 21:40:16 +09:00
nicolas.dorier
07de4af581 Revert "Apply suggestions from code review"
This reverts commit 48b2e682bf.
2021-01-17 21:39:20 +09:00
Andrew Camilleri
95c50dcc0d Changelog and new release (#2204)
* Changelog and new release

* Update Changelog.md
2021-01-17 19:14:36 +09:00
Kukks
71a192d0ba Fix SQLite COnnection string setter 2021-01-17 10:02:59 +01:00
rockstardev
9acb8c2ba2 Restoring project name in partial 2021-01-16 16:26:35 -06:00
rockstardev
307f7b6bd7 Improving styling of error pages in preparation for adding new ones 2021-01-16 14:55:31 -06:00
Dennis Reimann
83dd80ae86 Prevent access to wallet features if derivation scheme isn't set (#2196) 2021-01-16 19:48:05 +09:00
Kukks
ccfa85b5e0 fix compile errors 2021-01-16 09:22:07 +01:00
Salie Hendricks
e59821caa1 GetInvoiceRaw used its own dbContext while calling code used a different one which causes the calling context not to track changes - thus nothing is saved. (#2197)
Co-authored-by: Salie Hendricks <salie@safarinow.com>
2021-01-16 09:00:19 +01:00
Andrew Camilleri
2215e5e069 Merge pull request #2194 from btcpayserver/gf/ln-payment-emthod
GreenField API: Configure Store Lightning Payment Method
2021-01-14 10:07:00 +01:00
Andrew Camilleri
48b2e682bf Apply suggestions from code review
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2021-01-14 09:19:16 +01:00
Dennis Reimann
5750da574a Add info on how to run the altcoin docker-compose (#2193) 2021-01-13 19:26:53 +01:00
Kukks
b40095f603 GreenField API: Configure Store Lightning Payment Method 2021-01-12 09:25:35 +01:00
nicolas.dorier
ec11585223 Update Changelog 2021-01-11 23:46:17 +09:00
nicolas.dorier
eedf189d44 Improve logs of the invoice text search import 2021-01-11 23:41:05 +09:00
nicolas.dorier
f027d36db8 Do not spam logs for inventory events 2021-01-11 23:33:21 +09:00
nicolas.dorier
0c79474e0c Do not index metadata 2021-01-11 23:32:32 +09:00
nicolas.dorier
610f9e2b22 Log text search migration progress 2021-01-11 23:06:59 +09:00
nicolas.dorier
4db4b28369 Fix crash if DerivationSchemeSettings.Parse parse a 2-of scheme 2021-01-11 22:47:32 +09:00
nicolas.dorier
18464f5cd5 bump 2021-01-11 19:12:48 +09:00
Nicolas Dorier
cf24c1307a Changelog 1.0.6.5 (#2192)
* Changelog 1.0.6.5

* Update Changelog.md

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-01-11 19:12:00 +09:00
nicolas.dorier
35e870a8e7 Revert "Remove tests of chaincoin default rate provider (#2189)"
This reverts commit 56daf347b9.
2021-01-11 12:11:25 +09:00
Andrew Camilleri
01be74b219 Add Bitcoin Output descriptor support (#2169)
* Add Output descriptor support

* Fix exception message and fix Parse Deriv Scheme Settings when electrum

* fix test
2021-01-11 11:22:42 +09:00
Andrew Camilleri
b8da6847b9 Plugins flexibility PR (#2129)
* Plugins flexibility PR

* Makes the BTCPayServerOptions.LoadArgs async to support Plugin hooks and actions
* relax the private set modifiers in the BTCPayNetwork
* Separate IPluginHookService from PluginService to reduce dependencies on DI
* fix some small bugs around image path
* Fix bug with new dbreeze migration where data dir was incorrect

* Update BTCPayServer/Plugins/PluginHookService.cs

Co-authored-by: rockstardev <5191402+rockstardev@users.noreply.github.com>

* Update BTCPayServer/Plugins/PluginHookService.cs

Co-authored-by: rockstardev <5191402+rockstardev@users.noreply.github.com>

Co-authored-by: rockstardev <5191402+rockstardev@users.noreply.github.com>
2021-01-07 14:49:53 +01:00
nicolas.dorier
e2e37a0db4 Make sure that the invoice currency is normalized to uppercase (Fix #2146) 2021-01-07 22:30:57 +09:00
nicolas.dorier
56daf347b9 Remove tests of chaincoin default rate provider (#2189) 2021-01-07 22:11:14 +09:00
Andrew Camilleri
5098f63175 Merge pull request #2188 from dennisreimann/patch-1
UI: Wrap notification text
2021-01-07 14:01:21 +01:00
Dennis Reimann
d9b12a6927 UI: Wrap notification text
Fixes #2187.
2021-01-07 13:58:23 +01:00
Umar Bolatov
fe4ffcfc62 Update notification dropdown styling (#2167)
* Update notification dropdown strings

* Update notification dropdown styling

address #2131

* Update border color

* Update notification hover color

* Revert "was confirmed paid" to "has been paid" change

* Move styles to site.css

* Update style="border-bottom: 0;" to border-bottom-0

* Update heading

* Add icon sprite

* Add default icon styles

* Use "currentColor" instead of specific color for icon

* Update icon color definition

* Adjust dropdown position

* Update h4 to h5
2021-01-07 18:07:42 +09:00
Andrew Camilleri
64a68b95b0 Add API Key QR scan + click to reveal api key in List view (#2174) 2021-01-07 17:56:35 +09:00
Andrew Camilleri
58d01738ab More Options refactoring (#2179)
* More Options refactoring

Continues refactoring config classes to use the propert Options pattern where possible.
DataDirectories and DatabaseOptions are now configured the Options pattern and the BTCPayOptions is now moved alongside the other config setup

* Move COnfigure logic for Options to the Startup
2021-01-06 23:51:13 +09:00
Nicolas Dorier
a18dae6d04 Merge pull request #2185 from btcpayserver/fix/deleting-dbriize
Deleting DBriize database folder if present
2021-01-06 10:59:24 +09:00
nicolas.dorier
b2959e583a Use default color for label if the color of a label is not set 2021-01-05 16:33:24 +09:00
Nicolas Dorier
a38a4d6f69 Merge pull request #2180 from btcpayserver/attempt-onion-modal-fix
Do not tell tor browser to redirect if invoice is loaded as a modal
2021-01-05 14:04:14 +09:00
nicolas.dorier
0a6ea59254 Rewrite the condition to show Onion-Location in a more readable way 2021-01-05 13:44:08 +09:00
rockstardev
04984a51e6 Fixing bug when MigratedInvoiceTextSearchPages is null 2021-01-04 22:40:50 -06:00
rockstardev
8947f13dbe Deleting legacy DBriize database if present 2021-01-04 22:35:00 -06:00
dependabot[bot]
c0549d872c Bump HtmlSanitizer from 4.0.217 to 5.0.372 in /BTCPayServer (#2183)
Bumps [HtmlSanitizer](https://github.com/mganss/HtmlSanitizer) from 4.0.217 to 5.0.372.
- [Release notes](https://github.com/mganss/HtmlSanitizer/releases)
- [Commits](https://github.com/mganss/HtmlSanitizer/compare/v4.0.217...v5.0.372)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 13:22:39 +09:00
Pavlenex
adcd5f0737 Update year (#2184) 2021-01-05 12:38:30 +09:00
Nicolas Dorier
0929857b12 Attempt to solve webhooks disappearing (#2178) 2021-01-05 12:38:12 +09:00
Kukks
7d21b39534 Do not tell browser to redirect if invoice is loaded as a modal
fixes #2089
2021-01-03 14:29:19 +01:00
Andrew Camilleri
aaf85216eb Split Options in BTCPayOptions (#2175)
* Split Options in BTCPayOptions

* fix spacing
2021-01-02 13:44:28 +01:00
rockstardev
2c87100ffb Restoring tracking of selected objects so updates work as expected 2021-01-01 02:01:33 -06:00
rockstardev
6c22546577 Merge pull request #2172 from btcpayserver/fix/db-refactoring
Refactoring db entities to follow conventions
2021-01-01 01:58:52 -06:00
rockstardev
24177ffc46 Removing partial class since Emperor requested it 2020-12-31 14:08:58 -06:00
rockstardev
8ae4315d43 Database Migration: Removing migration with wrong table name and refreshing 2020-12-31 14:08:58 -06:00
rockstardev
a588c72e6c Database Migration: Renaming InvoiceSearches table to follow convention 2020-12-31 14:08:58 -06:00
rockstardev
a656f86003 Refactoring ApplicationDbContext to order tables and OnModelCreating calls 2020-12-31 14:08:58 -06:00
rockstardev
c9dc60be7b Refactoring Data entities to fit one standard convention 2020-12-31 14:08:57 -06:00
Andrew Camilleri
91cb9129ab FGreenField: Add DefaultPaymentMethod to Stores API (#2171) 2020-12-29 18:33:44 +09:00
Andrew Camilleri
ae32fdeea7 Introduce Additional Data to Store Blob and move obsolete props to migration (#2065)
* Introduce Additional Data to Store Blob and move obsolete props to migration

* Fixes and tests

* Small adjustements to prevent tracking too many objects

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2020-12-29 17:58:35 +09:00
Andrew Camilleri
5803512820 Remove Default from OnChainPayment Method (#2170)
Makes more sense to do it on the Store endpoint after thinking about it.
2020-12-29 17:38:31 +09:00
rockstardev
553b1f139b Updating links to Zap wallet now that domain moved 2020-12-28 17:18:12 -06:00
Nicolas Dorier
623347bc48 Add Label and accountKeyPath to the on chain payment methods (#2166) 2020-12-28 13:59:01 +01:00
nicolas.dorier
f64f86fbb6 Make sure the invoice migration loop can be interrupted 2020-12-28 19:13:00 +09:00
Andrew Camilleri
39b5462809 Remove only dependency on Dbriize (TextSearch in new invoice column) (#2029)
* Remove only dependency on Dbriize (TextSearch in new invoice column)

* Switch to table for invoice text search

* Adding missing using after rebase

* Removing database migration in preparation for refresh

* Database Migration: Adding InvoiceSearchData

* Refactoring InvoicesRepository to make AddToTextSearch static and non-async

Operation as async is too expensive for simple filtering and AddRange

* Renaming InvoiceQuery property to Take

More inline with what property does by convention, Take is used in conjuction with Skip

* Refactoring SettingsRepository so update of settings can happen in another context

* Adding DbMigrationsHostedService that performs long running data migrations

* Commenting special placing of MigrationStartupTask

* Simplifying code and leaving comment on expected flow

* Resolving problems after merge

* Database Migration: Refreshing database migration, ensuring no unintended changes on ModelSnapshot

Co-authored-by: rockstardev <rockstardev@users.noreply.github.com>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2020-12-28 19:10:53 +09:00
Nicolas Dorier
a6ee64ea63 Remove DB and Directory settings out of the BTCPayServerOptions (#2168) 2020-12-27 22:06:00 +09:00
nicolas.dorier
0dcd834535 Improve error checks 2020-12-23 14:10:53 +09:00
nicolas.dorier
f0fc0441bd Remove useless constant 2020-12-23 14:07:24 +09:00
Andrew Camilleri
69eaaef963 GreenField: Store OnChain Payment Method (#2157)
* GreenField: Store set payment methods

* add swagger docs

* fix swagger
2020-12-23 14:00:38 +09:00
Andrew Camilleri
9dbfe22171 add greenfield authorize UI docs and fix small issues (#2156)
* add greenfield authorize UI docs and fix small issues

* Update ManageController.APIKeys.cs

* Apply suggestions from code review

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-12-23 13:19:38 +09:00
Andrew Camilleri
5ca4e71c34 Introduce QR Code View component (#2125)
* Introduce QR Code View component

* more cleanup

* fix js clipboard

* Fix clipboard confirmation width calculation

* fix tests

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-12-22 11:18:51 +09:00
Dennis Reimann
26b04e70b1 Fix for classic theme header CSS (#2159)
Fixes #2155.
2020-12-21 14:43:33 +01:00
Dennis Reimann
ad2430496d UI improvements (#2151)
* UI: Consistent spacing on maintenance view

* UI: Empty states for apps, stores and wallets

* UI: Empty state for file storage

* UI: Toggle invoice selection in list on row click

* Update ChromeDriver

* Fix selector in payjoin test
2020-12-21 12:26:43 +01:00
Pavlenex
d4ecfa79d6 rename UIExtensionPoint folder (#2154)
Rename to avoid build crashes on Ubuntu
2020-12-21 05:32:41 +01:00
nicolas.dorier
8f4cd929cd Changelog 1.0.6.4 2020-12-18 12:22:11 +09:00
Kukks
fb213b0e0f Fix Coin selection label filtering 2020-12-17 16:24:49 +01:00
Dennis Reimann
e48d18279c API: Fix behaviour after first admin signup (#2150)
Without updating the `FirstRun` setting it is not possible to login after signing up via the API. Otherwise the `HomeController.Index` action always redirects to the Registration page.
2020-12-17 12:27:01 +01:00
Dennis Reimann
5f46b48d45 API: Fix for invoice not found (#2148)
In case the invoice ID was invalid, this resulted in an exception instead of a 404.
2020-12-17 06:43:43 +01:00
Dennis Reimann
0cc24c8076 UI: Improve invoice view (#2144)
* UI: Improve invoice view

- General improvements for the spacings on the page
- Hides rows of data in case they aren't present
- Improved the PoS data view so that it renders complex objects nicely and adds links for URLs

TDB: For the last row "Links" there's now a special `_urls` property, which renders a list of urls with the key being the title and the value being the URL.

* Update BTCPayServer/Views/Invoice/Invoice.cshtml

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* UI: Handle arrays in PosData view

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2020-12-16 09:15:33 +01:00
nicolas.dorier
2738c749dc Attempt to fix bug of broken Mark as Seen button on deployed instances 2020-12-15 15:44:36 +09:00
Dennis Reimann
a7b178b844 API Keys: Add usage examples link to docs (#2140) 2020-12-15 14:35:18 +09:00
Pavlenex
69c44b19d4 Merge pull request #2133 from pavlenex/master
Re-structure issue template
2020-12-14 10:12:33 +01:00
Pavlenex
e6abce8022 Apply Kukk's suggestions from code review
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2020-12-13 13:20:52 +01:00
nicolas.dorier
ab64bbc3b0 bump version 2020-12-13 20:40:17 +09:00
Nicolas Dorier
5da83e9945 Changelog for 1.0.6.3 (#2135) 2020-12-13 20:39:22 +09:00
Pavlenex
0e6a8cc33e improve bug report template
- Add emoji
- Add hidden text to avoid repetition when people file an issue
- add more blank space so it's clear where people need to type
- formatting and better context
2020-12-12 17:52:51 +01:00
Pavlenex
2e2ea657ef delete feature request template
Feature request shouldn't be in the issues unless accepted by the community.
2020-12-12 17:40:37 +01:00
Pavlenex
e5fb9e2d31 update config yml template 2020-12-12 17:37:00 +01:00
nicolas.dorier
1386f205fd DateTime.Now.ToUniversalTime -> DateTime.UtcNow 2020-12-12 15:25:08 +09:00
Umar Bolatov
a294ad41cb Ensure campaign status is shown correctly in minimal crowdfund app (#2062) 2020-12-12 15:23:59 +09:00
Dennis Reimann
ed497cab99 Hide pagination & page size when not necessary (#2122)
* UI: Hide pagination and page size when not necessary

* UI: Use pager component for notifications list

* UI: Use pager component for wallet transactions list

* UI: Improve pager component

* Fix from code review
2020-12-12 15:21:37 +09:00
Nicolas Dorier
282d0abb62 Remove bitpay translator (#2130) 2020-12-12 15:17:44 +09:00
Andrew Camilleri
034b732e7c GreenField: Update invoice metadata (#2095)
* GreenField: Update invoice metadata

* add swagger

Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2020-12-12 15:15:34 +09:00
Umar Bolatov
b1e9c005b7 Add "Mark all as seen" button to notification dropdown (#2101) 2020-12-12 14:14:50 +09:00
Nicolas Dorier
0d144d088e Refactor label implementation (Fix #2090) (#2123) 2020-12-12 14:10:47 +09:00
Nicolas Dorier
b2855e74ef Document miscallenous features in the swagger doc (#2128) 2020-12-12 14:07:25 +09:00
Andrew Camilleri
0652e30c30 GreenField: Notifications API (#2055)
* GreenField: Notifications API

This refactors notifications so that we dont have a bunch of duplicated direct access to db contexts in controllers and then introduces new endpoints to fetch/toggle seen/remove  notifications of the current user.

* add tests + docs

* fix test

* pr changes

* fix permission json
2020-12-11 23:11:08 +09:00
Nicolas Dorier
1c58fabc30 Merge pull request #2127 from NicolasDorier/doclinks
Add links to API documentation for better discovery
2020-12-11 22:52:27 +09:00
nicolas.dorier
262ba6ee1e Add links to API documentation for better discovery 2020-12-11 22:48:53 +09:00
nicolas.dorier
e0534577d1 Make tests a big stronger 2020-12-11 13:41:39 +09:00
nicolas.dorier
c12423f28b update languages 2020-12-11 12:58:13 +09:00
nicolas.dorier
3dd6577b32 Use the FindBestMatch of LanguageService to fetch the checkout lang 2020-12-11 12:56:13 +09:00
Nicolas Dorier
a638b4fb28 Merge pull request #2124 from NicolasDorier/checkoutlink
Add checkoutLink and defaultLang to GreenField invoice
2020-12-11 12:28:17 +09:00
nicolas.dorier
798cf66e3f Add checkoutLink and defaultLanguage to GreenField invoice 2020-12-11 12:04:18 +09:00
Nicolas Dorier
6cf29123f3 Merge pull request #2119 from btcpayserver/greenfield/redirectURL
Add redirectURL to create invoice on Greenfield
2020-12-10 22:33:43 +09:00
nicolas.dorier
e65d42bd61 Add redirectURL to create invoice on Greenfield 2020-12-09 23:20:13 +09:00
nicolas.dorier
febf8ac5b3 Fix doc for create invoice request 2020-12-09 22:55:00 +09:00
Nicolas Dorier
c8a9b66694 Merge pull request #2113 from bolatovumar/feat/add-pull-payment-css
Add ability to add custom CSS to pull payments
2020-12-09 21:33:16 +09:00
Nicolas Dorier
9c185f1081 Merge pull request #2118 from dennisreimann/store-setup-mobile
UI: Improve mobile store setup view
2020-12-09 18:43:49 +09:00
Dennis Reimann
0a444508f8 UI: Improve mobile store setup view
According to [this comment](https://github.com/btcpayserver/btcpayserver/pull/2117#issuecomment-741255465).
2020-12-09 09:45:45 +01:00
Nicolas Dorier
1d00ee41c4 Merge pull request #2086 from dennisreimann/u2f-update
U2F: Update lib and improve error display
2020-12-09 17:33:22 +09:00
Nicolas Dorier
266434fe7b Merge pull request #2116 from btcpayserver/testfixer
Attempt to fix flaky tests
2020-12-09 16:44:46 +09:00
Nicolas Dorier
7c88333060 Merge pull request #2106 from btcpayserver/email-spam-protect
Introduce Spam protection
2020-12-09 16:43:49 +09:00
Umar Bolatov
e0b561b12a Update new pull payment page heading 2020-12-08 18:25:59 -08:00
Umar Bolatov
16e5e2d757 Add ability to associate custom CSS with a pull payment 2020-12-08 18:25:58 -08:00
Nicolas Dorier
8a07c62603 Merge pull request #2117 from dennisreimann/store-setup-mobile
UI: Improve mobile store setup view
2020-12-09 00:02:24 +09:00
Dennis Reimann
4df847bc10 UI: Improve mobile store setup view
According to [this comment](https://github.com/btcpayserver/btcpayserver/pull/2087#issuecomment-737672180).
2020-12-08 15:33:20 +01:00
Nicolas Dorier
b5df44ce8e Merge pull request #2115 from btcpayserver/pay-button-app-fix
FIx Pay Button Link preview when app mode chosen
2020-12-08 22:54:42 +09:00
Kukks
716952cd58 Attempt to fix flaky tests 2020-12-08 10:02:03 +01:00
Kukks
7b9b418e93 FIx Pay Button Link preview when app mode chosen
Apps cannot have a link as they only have a POST action.
2020-12-08 09:49:51 +01:00
Kukks
dfd7c6d4a6 add tests and reword setting 2020-12-08 08:12:29 +01:00
nicolas.dorier
920caaa524 Pull language updates 2020-12-08 15:23:15 +09:00
nicolas.dorier
13f10657b8 Fix bug: When creating API Key for non-admin, some checked permissions were not included (Fix #2107 and Fix #2002) 2020-12-08 15:20:59 +09:00
nicolas.dorier
dd5fd2e5bb Make sure checkout is not null in createinvoice 2020-12-08 14:54:24 +09:00
nicolas.dorier
97b00053c4 Do not crash on invocie creation error for greenfield (Fix #2111) 2020-12-08 14:47:20 +09:00
nicolas.dorier
76e46d2fa7 Fix performance issues on query over orderId (fix #2114) 2020-12-08 14:43:39 +09:00
Nicolas Dorier
4c62c5dc22 Merge pull request #2104 from btcpayserver/fix/qr-fail-import
do not crash when importing a non-json based QR code
2020-12-06 12:03:57 +09:00
Andrew Camilleri
c7209df7e2 Fix swagger docs for pull payments (#2105)
* Fix swagger docs for pull payments

fixes #2097

* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.pull-payments.json

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-12-04 12:03:27 +01:00
Kukks
c17b8e4d9e Introduce Spam protection
fixes #1958

Adds 2 new options:
* Do not allow stores to use the email settings of the server. Instead, they would need to fill in the email settings in their own store
* Do not allow user creation through the API unless you are an admin.

Both are opt-in and turned off by default.
2020-12-04 08:08:05 +01:00
Kukks
0ab33b704c do not crash when importing a non-json based QR code
fixes #2098
2020-12-04 07:41:02 +01:00
Nicolas Dorier
ba027de3f7 Merge pull request #2103 from btcpayserver/fix/uppercase-qrcode-2
Lowercasing the protocol in QR code because it's not widely supported
2020-12-04 14:43:59 +09:00
rockstardev
3ac257bfda Lowercasing the protocol in QR code because it's not widely supported
https://github.com/btcpayserver/btcpayserver/issues/2099#issuecomment-738550565
2020-12-03 23:39:18 -06:00
nicolas.dorier
ec495ea4d1 bump 2020-12-04 14:15:18 +09:00
Nicolas Dorier
3b035158a2 Merge pull request #2100 from btcpayserver/fix/uppercase-qrcode
Reverting uppercasing of Bech32 addresses in QR code
2020-12-04 13:00:47 +09:00
rockstardev
36582a2741 Reverting uppercasing of Bech32 addresses in QR code 2020-12-03 17:30:14 -06:00
nicolas.dorier
450d3cb7d2 bump 2020-12-03 23:30:34 +09:00
Nicolas Dorier
8d157ac5ca Merge pull request #2093 from btcpayserver/fix-sync
Fix sync not showing
2020-12-03 15:49:22 +09:00
rockstardev
89dc379761 Removing word Bitcoin from forks to satisfy Roger (#2091)
Co-authored-by: rockstardev <rockstardev@users.noreply.github.com>
2020-12-03 06:34:38 +01:00
Dennis Reimann
3e800e7e53 Update classic theme for payment requests (#2096)
Fixes #2084.
2020-12-02 15:21:03 +01:00
nicolas.dorier
b12c6289d0 Fix link for webhooks 2020-12-02 20:37:38 +09:00
Dennis Reimann
7e50267cb0 UI: Store setup finetuning (#2087)
* UI: Store setup finetuning

Incorporate @dstrukt's improvement feedback from [this comment](https://github.com/btcpayserver/btcpayserver/pull/2011#issuecomment-735909927).

* Clean up and fix test
2020-12-02 07:45:00 +01:00
Umar Bolatov
6714eb9f7f Fix bug with already used colors being used first for new tx labels (#2077)
* Extend list of available tx label colors

* Ensure unknown label colors are given the least priority

closes #2072

* Remove new label colors
2020-12-02 07:38:05 +01:00
Kukks
f1d6f0b2a6 Fix sync not showing
fixes #2092
2020-12-02 07:19:48 +01:00
Dennis Reimann
445606e2b1 Wait for content to be loaded before U2F actions 2020-12-01 14:31:42 +01:00
Dennis Reimann
ad05f479a8 U2F: Update lib and improve error display
The [previously used U2F library](https://github.com/fido-alliance/google-u2f-ref-code/) has been deprecated. The new one does not override the browsers `window.u2f` functionality if it is natively supported. It also displays the appropriate errors and falls back nicely in case the browser does not support U2F.
2020-11-30 12:43:15 +01:00
Umar Bolatov
a78c1c8278 Update tx label dropdown position (#2081)
close #2078
2020-11-26 08:57:40 +01:00
nicolas.dorier
06d6d15441 Bump version 2020-11-26 00:15:40 +09:00
Nicolas Dorier
87676ece18 Merge pull request #2080 from NicolasDorier/changelog/1.0.5.10
Changelog 1.0.6.0
2020-11-26 00:14:52 +09:00
nicolas.dorier
acfd3f1002 Changelog 1.0.5.10 2020-11-26 00:07:29 +09:00
Kukks
d5cbe66b0e fix monero condition 2020-11-25 06:25:33 +01:00
Andrew Camilleri
88aa34747b Automatically generate permissions docs for GreenField (#2043)
* Automatically generate permissions docs for GreenField

* Do a test instead
2020-11-24 10:10:32 +01:00
Kukks
cc8dcade49 Fix QR code wallet import when not electrum format 2020-11-24 09:54:17 +01:00
nicolas.dorier
a64dd9af16 remove hack #2070 2020-11-23 19:39:53 +09:00
Nicolas Dorier
8405ce6369 Merge pull request #2079 from NicolasDorier/state-renaming
[Greenfield BREAKING CHANGE] Rename invoice states and payment states
2020-11-23 19:27:41 +09:00
nicolas.dorier
18e68d04f9 Rename invoice states and payment states 2020-11-23 18:28:35 +09:00
nicolas.dorier
f3010f622c fix test 2020-11-23 17:13:29 +09:00
Dennis Reimann
ff87319a74 API: Handle lightning invoice creation errors (#2070)
Catches LightningClient exceptions and responds with a detailed API error (400) instead of a generic server failure (503).
2020-11-23 06:40:13 +01:00
Umar Bolatov
fa517417ed Ensure tx labels display correctly when there are many (#2076)
fix #2075
2020-11-23 06:34:34 +01:00
Nicolas Dorier
f9b86a6b2e Merge pull request #1901 from btcpayserver/api/invoice-extras
GreenField: Add Invoice Payment methods endpoints
2020-11-20 10:25:00 +09:00
Nicolas Dorier
8a21dfa93f Merge pull request #2051 from Kukks/separate-ln-bitcoin-checkout-part2
Separate ln bitcoin checkout part2
2020-11-19 21:04:46 +09:00
Nicolas Dorier
c88ae2d7fe Merge pull request #2069 from Kukks/monero-fix
Fix monero sync height check
2020-11-19 21:03:46 +09:00
Kukks
25e979687f Fix monero sync height check
based on issue at https://github.com/monero-project/monero/issues/7029
2020-11-19 12:27:05 +01:00
Kukks
af866939f4 fix merge 2020-11-19 07:34:22 +01:00
Nicolas Dorier
e72becdfcb Merge branch 'master' into separate-ln-bitcoin-checkout-part2 2020-11-19 12:44:01 +09:00
Nicolas Dorier
4bd97eecc9 Merge pull request #2050 from Kukks/separate-btc-ln-checkout
Separate views of Bitcoin and LN
2020-11-19 12:42:17 +09:00
nicolas.dorier
8ffe6dcfa0 Fix build 2020-11-19 12:40:07 +09:00
Nicolas Dorier
23002ac70d Merge pull request #2068 from Kukks/plugins-db
Plugins: Allow creation of independent DbContexts
2020-11-19 12:39:26 +09:00
nicolas.dorier
1262ad3cd4 Fix warnings 2020-11-19 12:34:56 +09:00
Nicolas Dorier
d8f145c4dc Merge branch 'master' into plugins-db 2020-11-19 12:19:17 +09:00
Nicolas Dorier
9c5fd1b478 Merge pull request #2058 from NicolasDorier/webhook2
Add Webhooks in store's settings
2020-11-19 12:17:34 +09:00
Kukks
24f3285003 Let migration assembly resolve from itself 2020-11-18 13:22:05 +01:00
Kukks
179520a211 Plugins: Allow creation of independent DbContexts
This allows plugins to create custom dbcontexts, which would be namespaced in the scheme with a prefix. Migrations are supported too and the table would be prefixed too
2020-11-18 12:27:26 +01:00
Dennis Reimann
ec31a4fe17 Improve Lightning node info view (#2066)
* Cleanups

* Add store name

* Unify js/non-js HTML
2020-11-17 08:57:14 +01:00
Umar Bolatov
ab780485b2 Center pay button content (#2042)
close #1999
2020-11-17 08:18:50 +01:00
nicolas.dorier
07c5c2972d Add callback doc 2020-11-16 12:13:27 +09:00
Nicolas Dorier
af593117e4 Merge pull request #2064 from Kukks/plugins-hooks-actions
Plugins: Hook System
2020-11-16 10:51:50 +09:00
Kukks
931505d135 Plugins: Hook System
Almost an exact replica of https://developer.wordpress.org/plugins/hooks/
This will allow plugins to extend specific points in business logic, such as validation, invoice payload changes, etc
2020-11-15 14:39:21 +01:00
rockstardev
6c7433b2f1 Merge pull request #2060 from btcpayserver/feat/unified-qr
Unified QR code, BIP21 with lightning fallback
2020-11-14 12:11:26 -06:00
rockstardev
38ca0accde Removing section separators 2020-11-14 12:07:11 -06:00
nicolas.dorier
df79c2cf48 Improve tests of webhooks 2020-11-14 13:39:44 +09:00
nicolas.dorier
94bcbeb604 Add Greenfield API 2020-11-13 14:15:03 +09:00
rockstardev
35e45333b1 Uppercasing destination address in QR code if it's Bech32 2020-11-09 23:57:48 -06:00
rockstardev
f17a6f13a4 Adding uppercasing of BITCOIN: scheme 2020-11-09 23:46:31 -06:00
rockstardev
1bff7bdc47 Adding validation to ensure unified QR code works as expected 2020-11-09 23:41:29 -06:00
rockstardev
13cb2c695f Adding onChainWithLnInvoiceFallback parameter to swagger doc 2020-11-09 23:08:07 -06:00
rockstardev
c581b80132 ToUpper for lightning invoice part of unified QR code
Ref: https://github.com/btcpayserver/btcpayserver/pull/2060#issuecomment-723828348
2020-11-09 02:05:17 -06:00
rockstardev
4dd0ae8bdc UnitTest1.cs code reformatting 2020-11-09 01:48:45 -06:00
rockstardev
4db67e5bc5 Adding slight delay to make test less flaky
Ref:
https://app.circleci.com/pipelines/github/btcpayserver/btcpayserver/4181/workflows/101d7b31-e267-4f5a-9892-2abb7b6cb687/jobs/11557
2020-11-09 01:48:12 -06:00
rockstardev
6aa9122160 By convention ln invoices are usually lowercase 2020-11-09 01:14:28 -06:00
rockstardev
f84f2dca64 Adding option for unified onchain QR code to Checkout Experience 2020-11-09 01:11:03 -06:00
rockstardev
3c6992e910 Adding lightning invoice fallback to onchain bitcoin url if enabled 2020-11-09 00:23:09 -06:00
rockstardev
7f79d16f02 Code cleanup of used classes 2020-11-08 23:56:39 -06:00
rockstardev
790c386ba8 Renaming class for enabled text to be consistent between wallet and lightning 2020-11-08 23:33:49 -06:00
rockstardev
ee72badf21 Fixing HTML tag typo 2020-11-08 23:15:21 -06:00
Umar Bolatov
c9c4453660 Fix-up links which ignore custom root path (#2059)
address #2057
2020-11-08 09:39:10 +01:00
nicolas.dorier
f3611ac693 Add Webhooks in store's settings 2020-11-08 15:57:24 +09:00
nicolas.dorier
cc6fe24e82 Show significant letters in the derivation scheme in store settings 2020-11-08 11:29:36 +09:00
nicolas.dorier
5a7730951a Fix create token button 2020-11-08 11:26:23 +09:00
Dennis Reimann
eef729b5f9 API: Fix open channel validation condition (#2054) 2020-11-06 16:52:58 +01:00
Nicolas Dorier
0bb0a38649 Merge pull request #2053 from NicolasDorier/eventsaver
Decouple event saving from InvoiceNotificationManager
2020-11-06 22:52:19 +09:00
Nicolas Dorier
39029adcd8 Merge pull request #2011 from dennisreimann/store-setup
Store setup restructuring
2020-11-06 22:28:20 +09:00
nicolas.dorier
c967f91abb Move some code out of InvoiceNotificationManager into InvoiceEventSaverService 2020-11-06 22:24:02 +09:00
Dennis Reimann
1ba0685596 API Docs: Fix lightning invoice for store payload (#2052) 2020-11-06 14:00:10 +01:00
Dennis Reimann
f2daa6a150 Improve store setup display 2020-11-06 11:14:00 +01:00
Kukks
e021d42551 Ensure that there is no LN/Bitcoin specific logic in the Invoice UI endpoint 2020-11-06 11:09:17 +01:00
Dennis Reimann
13509e31ca Don't warn, but hint 2020-11-06 10:50:23 +01:00
Dennis Reimann
b9af805ac1 Store UI: Improve wallet status display 2020-11-06 10:50:22 +01:00
Dennis Reimann
378d2bc8ba Store settings: Improve wallet display 2020-11-06 10:50:21 +01:00
Dennis Reimann
b73aa55a75 Store setup: Restructuring basics 2020-11-06 10:50:20 +01:00
Kukks
a729dd1380 Separate views of Bitcoin and LN 2020-11-06 09:35:26 +01:00
Dennis Reimann
09335e2cf1 Plugins UI improvements (#2048)
* Improve dependencies display

* Improve version information toggling
2020-11-06 08:06:37 +01:00
Andrew Camilleri
31738c465d Plugins: Load plugins by order, aesthetic plugin dependency system (#2020)
* Plugins: Load plugins by order, aesthetic plugin dependency system

Introduces plugins loading in order of installation, BTCPay itself shows up as a system plugin, and that plugins can define other plugins as dependencies.

* use a proper type for plugin dependencies

* rebase fixes

* message when cannot install
2020-11-05 15:43:14 +01:00
Andrew Camilleri
38fb64130d Plugins: Recommended plugins and github Remote config options (#2045)
This allows external integrations ( btcpay docker fragments) to highlight specific plugins as recommended to be installed. Also moved the remote option to  a config option instead of a url query param to avoid messy situations where users could get deceived with a generated url. The dockerfiles also have an additional csproj to build and the plugin dir was renamed correctly from extensions to plugins
2020-11-05 10:21:09 +01:00
Umar Bolatov
493b10393b Add warning for zero-conf accept option (#2038)
* Add warning for zero-conf accept option

close #2003

* Explicitly get element by id
2020-11-03 06:55:45 +01:00
Umar Bolatov
b406f52670 Add warning to configure e-mail server (#2024)
Adds a warning to configure the e-mail server before "Requires a confirmation mail for registering" checkbox can be checked if e-mail server is not configured.

close #1889
2020-11-03 06:53:49 +01:00
Mike Olthoff
ef3f314754 Remove QuadrigaCX references (#2021)
* Remove QuadrigaCX references

Quadriga has been dead for years. I've removed the references to them and replaced them with a different Canadian exchange (ndax) for example. 

The whole set of instructions could probably use an overhaul, but for now, at least let's get rid of Gerry's presence.

* Remove Quadriga from tests too

Co-authored-by: Kukks <evilkukka@gmail.com>
2020-11-02 13:10:55 +01:00
Andrew Camilleri
d2910686cd Fix link from app label (#2028) 2020-11-02 12:26:11 +01:00
Andrew Camilleri
793b1b56d9 Fix exception when saving checkout experience on new store (#2033) 2020-10-31 11:34:40 +01:00
nicolas.dorier
d8f9075e2a Fix NRE 2020-10-30 00:19:23 +09:00
Nicolas Dorier
1199d4ead9 Merge pull request #2031 from bkiac/master
Fix failing generateaddress when address contains escape sequences in docker-bitcoin-generate.sh
2020-10-29 23:58:00 +09:00
nicolas.dorier
4520e1bb3e Fix potential NRE in polling 2020-10-29 23:17:46 +09:00
Bence Knáb
afece8193e Fix possibly dirty generated bitcoin address 2020-10-29 14:16:23 +01:00
Nicolas Dorier
3b14585d1a Merge pull request #2027 from btcpayserver/missing-cs
Fix missing altcoins tab
2020-10-29 16:28:49 +09:00
Kukks
9cd32a908f Fix missing altcoins tab 2020-10-28 18:04:19 +01:00
nicolas.dorier
b9ca02088d Make a batch query for all pending invoice (Fix #2022) 2020-10-28 23:21:46 +09:00
nicolas.dorier
440ce0221a Revert "Add thread limit for updating payment states for payment invoices in NBXplorerListener"
This reverts commit 5d9827fb60.
2020-10-28 23:07:30 +09:00
nicolas.dorier
caff7eda9f Revert "Add missing async/await keywords"
This reverts commit 8d0260b644.
2020-10-28 23:07:27 +09:00
nicolas.dorier
aef1cefc18 changelog 1.0.5.9 2020-10-28 19:24:24 +09:00
Nicolas Dorier
1385c7cc9b Merge pull request #2023 from Rheopyrin/master
Add thread limit for updating payment states for payment invoices in NBXplorerListener
2020-10-28 18:43:50 +09:00
Igor Rylko
8d0260b644 Add missing async/await keywords 2020-10-27 21:17:56 +02:00
Igor Rylko
5d9827fb60 Add thread limit for updating payment states for payment invoices in NBXplorerListener 2020-10-27 21:09:53 +02:00
Kukks
256d711fde fix 2020-10-27 11:01:22 +01:00
Kukks
1d82c3779b Remove AwaitingConfirmation 2020-10-27 09:49:35 +01:00
Kukks
abc9d07977 fix swagger format for dates 2020-10-27 09:47:22 +01:00
Andrew Camilleri
40d95acfb9 Apply suggestions from code review
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-10-27 09:47:22 +01:00
Kukks
9a92bc05db fix json types 2020-10-27 09:47:22 +01:00
Kukks
8962bf00f6 GreenField: Add Invoice Payment methods endpoints
lets you fetch all active payment methods data + payments made
2020-10-27 09:47:21 +01:00
Kukks
2083954aa5 add comment 2020-10-27 08:19:41 +01:00
Kukks
66af258876 fix tests 2020-10-27 08:00:34 +01:00
nicolas.dorier
4ba04031ef Fix specter image 2020-10-27 14:59:07 +09:00
nicolas.dorier
a30456a92d Fix warnings 2020-10-26 14:19:05 +09:00
Andrew Camilleri
c8dd13577e Add nuget publishing for plugin packaer and abstractions (#2018) 2020-10-25 00:21:50 +09:00
Andrew Camilleri
fac35b46bb Display link for Pay button (#2017)
fixes #635
2020-10-24 23:52:39 +09:00
Andrew Camilleri
748cb778e0 Fix redirect when in modal (#2015)
fixes #2012
2020-10-24 23:47:05 +09:00
britttttk
bbcca24bcc Fix typos and improve wording & formatting (#2013) 2020-10-24 23:46:35 +09:00
Andrew Camilleri
b8c52b1120 fix decimal entry in payment requests (#2016)
fixes #2014
2020-10-24 12:25:50 +02:00
Dennis Reimann
b1b3ce48ee Toast messages in payment request (#2010)
* Hide toast messages in print

Fixes #2009.

* Optimize payment request toast messages
2020-10-24 10:20:19 +02:00
nicolas.dorier
da864f4c6c bump nbx and nbitcoin 2020-10-24 15:27:48 +09:00
Nicolas Dorier
758f627e12 Partially paid invoices should be reused in payment requests. Cleanup the code. (#2008) 2020-10-23 21:00:23 +09:00
Dennis Reimann
20322c6ab8 Improve payment print styles (#1977)
* Improve payment print styles

Allows for export as invoice PDF to be used in accounting. Closes #1957.

* Change Transaction ID wording

* Minor payment request UI improvements

* Add amount paid, rate and colorize payment status

* Display rate at invoice level

* Inherit text color in print

* Show full date in print view

* Rearrange payment details

* Add received date for payments

* Fix amount calculation

* Fix validInvoice assignment
2020-10-23 17:37:28 +09:00
Nicolas Dorier
7a711f0690 Merge pull request #1983 from Kukks/fix-email-search
fix email not included in textsearch
2020-10-23 17:26:10 +09:00
nicolas.dorier
067b977ec8 Do not include maxadditionalfeecontribution if there is no change. (#2007) 2020-10-23 11:57:06 +09:00
Dennis Reimann
58f0ca3d8a Improve plugins UI (#2005) 2020-10-22 10:58:22 +02:00
Andrew Camilleri
4176f3659b Add QR code scan/show for PSBT + Import wallet via QR (#1931)
* Add PSBT QR code scan/show

This PR introduces support to show and read PSBTs in BC-UR format via animated QR codes.  This allows you to use BTCPay with HW devices such as Cobo Vault and Blue wallet to sign transactions without ever exposing the keys outside of that device.
Spec: https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-005-ur.md
I've also bumped the QR code library we sue as it had a bug with large datasets.

* Reuse same code for all and allow wallet import via QR code scan

* remove unecessary js vendor files

* Allow export wallet from settings via QR

* formatting

* bundle

* fix wallet receive bundle
2020-10-21 14:03:11 +02:00
Andrew Camilleri
5979fe5eef BTCPay Extensions Part 2 (#2001)
* BTCPay Extensions Part 2

This PR cleans up the extension system a bit in that:
 * It renames the test extension to a more uniform name
 * Allows yo uto have system extensions, which are extensions but bundled by default with the release (and cannot be removed)
 * Adds a tool to help you generate an extension package from a csproj
 * Refactors the UI extension points to a view component
 * Moves some more interfaces to the Abstractions csproj

* Rename to plugins
2020-10-21 14:02:20 +02:00
Kukks
362ba21567 fix unclosed div 2020-10-21 10:45:24 +02:00
Andrew Camilleri
71894ba245 Override Block Explorer Links (#2000)
* Override Block Explorer Links

closes #1953

* load overrides after save as well

* fix js
2020-10-21 09:53:05 +02:00
Andrew Camilleri
2b19e0fbc6 Remove SQLite as default option (#1987)
* Remove SQLite as default option

IF MERGED, STORES WITH NO DB CONFIG WILL NOT START UNTIL CONFIG IS UPDATED WITH `sqlitefile=sqlite.db`

* remove sqlite conn string option

* toggle between abs path or relative for sqlite db

* Update DefaultConfiguration.cs
2020-10-20 13:12:10 +02:00
Andrew Camilleri
4d0b402e8b Allow disabling notifications per user and disabling specific notifications per user (#1991)
* Allow disabling notifications per user and disabling specific notifications per use

closes #1974

* Add disable notifs for all users

* fix term generator for notifications

* sow checkboxes instead of multiselect when js is enabled

* remove js dependency

* fix notif conditions
2020-10-20 13:09:09 +02:00
Dennis Reimann
933e0c30bf Remove empty box on post redirect (#1995)
In case JS is enabled the post redirect page showed an empty box. This box contains the explanation text for the non-JS text.

This changes it to only show the modal box in casee JS is disabled, because the page – even though only visible briefly –  looks weird for users with JS enabled.
2020-10-18 11:10:51 +02:00
rockstardev
b430afe3e1 Merge pull request #1990 from btcpayserver/feat/store-hints
Store hints/warnings
2020-10-18 03:11:36 -05:00
rockstardev
2f25f1790e Trying to prevent ocassional chrome crashes
Error: The process started from chrome location /usr/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.
2020-10-18 03:11:17 -05:00
rockstardev
d90fcf15bd Verifying presence of wallet warning on store list 2020-10-18 03:11:17 -05:00
rockstardev
be9cc41957 Dismissing lightning hint when connection is setup 2020-10-18 03:11:17 -05:00
rockstardev
ef99eeb300 Adding selenium test for store hints 2020-10-18 03:11:17 -05:00
rockstardev
1646241dfb Switch to POST for dismissing hints 2020-10-18 03:11:17 -05:00
rockstardev
543e628a8b Removing rates hint 2020-10-18 03:11:17 -05:00
rockstardev
36269cbed6 Consistent styling for Back to List 2020-10-18 03:11:17 -05:00
rockstardev
75dcdc72d2 Showing warning hint on stores listing page 2020-10-18 03:11:17 -05:00
rockstardev
f5c90bebdc Support for dismissing hints 2020-10-18 03:11:17 -05:00
rockstardev
15af66de55 Setting hints during store creation and update 2020-10-18 03:11:17 -05:00
rockstardev
17c8ac8248 Moving general store settings in same section 2020-10-18 03:11:17 -05:00
rockstardev
e5c6b9a979 Rearranging store sections and providing warnings for new stores 2020-10-18 03:11:17 -05:00
Nicolas Dorier
753849cedd Merge pull request #1994 from btcpayserver/forgotpassword
fix forgot password
2020-10-18 11:54:55 +09:00
Kukks
b81e4c01ec clean altcoins docker compose 2020-10-17 16:09:34 +02:00
Kukks
2a32b05df1 fix forgot password
If Email verification is turned off but you requested a forgot password form, it would ignore the request internally. Seems like it has been this way since the beginning
2020-10-17 09:25:48 +02:00
Andrew Camilleri
e3a0fe88c1 Fix LN invoices (#1955)
* Fix LN invoices

This commit adds more to the previous LN fix in the case of a partial payment to an invoice. While it generated a new LN invoice after 1 partial payment was made, there were some new issues uncovered:
* Any other subsequent partial payments was not listened to  and did not generate an invoice ( fixed by listeneing to received payment event and makng sure that the status was already set `to partialPaid`)
* Any other subsequent partial payments caused a DbConcurrency error and did not generate an invoice ( Fixed in `MarkUnassigned`)
2020-10-17 08:57:21 +02:00
Nicolas Dorier
ee3aa49eee Merge pull request #1993 from dennisreimann/api-keys-ui
API Keys UI: Properly align form items
2020-10-17 14:38:14 +09:00
Dennis Reimann
dd27ad79bd API Keys UI: Properly align form items 2020-10-16 22:31:09 +02:00
nicolas.dorier
cfd0f556a5 Update changelog 2020-10-16 20:44:41 +09:00
nicolas.dorier
347e70f4ea bump 2020-10-16 20:44:32 +09:00
nicolas.dorier
828aae35ce Revert "The send wallet, by default, include the previous transaction"
This reverts commit 0f743cec41.
2020-10-16 20:29:29 +09:00
Andrew Camilleri
2f56783b7e fix domain mapping bug (#1992)
fixes #1988
2020-10-16 19:59:01 +09:00
Kukks
dc4ecdaa38 better handling on remote being down 2020-10-15 15:04:11 +02:00
Andrew Camilleri
1440e8c55d BTCPay Server Extensions (#1925)
* BTCPay Server Extensions

![demo](https://i.imgur.com/2S00aL2.gif)

* cleanup

* fix

* Polish UI a bit,detect when docker deployment
2020-10-15 21:28:09 +09:00
nicolas.dorier
51a072808f If a password fail to be reset by mail, show proper error (fix #1986) 2020-10-15 15:36:42 +09:00
nicolas.dorier
0a8c2926ea reword review step for vault 2020-10-14 19:57:27 +09:00
Nicolas Dorier
5e79f567a7 Merge pull request #1982 from Kukks/hide-conn-string
Do not log the database connection string
2020-10-14 19:23:04 +09:00
Andrew Camilleri
e2eb26eb93 Use base65 instead of hex for BIP78 (#1985)
fixes #1984
2020-10-14 12:01:21 +02:00
Kukks
740a50a26d fix email not included in textsearch
fixes #1979
2020-10-14 09:16:31 +02:00
Kukks
be3f248a5a Do not log the database connection string
fixes #1980
2020-10-14 09:06:50 +02:00
Dennis Reimann
f2870caed2 Payment redesign (#1967)
* Payment redesign

Guess who's back!

This reverts commit 4174fa648d.

* Refactor PullPayment state string

Compatible with this one: https://github.com/btcpayserver/btcpayserver/pull/1834/files#diff-a9136096252382b110b9a7ac7747b95aR41

* Use unified copy to clipboard function

* Refactor status text class to helper function
2020-10-13 09:58:46 +02:00
Mario Dian
ad22d3fd91 Custom redirect_url for PoS (#1924) 2020-10-13 09:51:28 +02:00
Dennis Reimann
9dcd8b6edf Checkout: Overlay improvement and markup fixes (#1968)
* Checkout: Markup fixes

* Checkout: Less translucent overlay

More focus, as discussed in #1930: https://github.com/btcpayserver/btcpayserver/pull/1930#issuecomment-701298441
2020-10-12 17:52:21 +02:00
Sebastian Gracia
9607e0e55d Update PayButtonEnable.cshtml (#1952)
* Update PayButtonEnable.cshtml

Edit PayButton Title

* Update BTCPayServer/Views/Stores/PayButtonEnable.cshtml

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>

* Apply suggestions from code review

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-10-11 17:46:11 +02:00
nicolas.dorier
ad221eaaa2 bump 2020-10-08 17:51:38 +09:00
Nicolas Dorier
74a1a5262d Merge pull request #1966 from NicolasDorier/changelog/1.0.5.7
Changelog 1.0.5.7
2020-10-08 17:50:38 +09:00
Nicolas Dorier
32ae82d4da Update Changelog.md
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2020-10-08 17:03:46 +09:00
nicolas.dorier
9c6c8d4f8f Changelog 1.0.5.7 2020-10-08 16:55:15 +09:00
Nicolas Dorier
45fbe6972b Merge pull request #1965 from NicolasDorier/walletsend
Fix: 1 DOGE "absurdly high" fee was trapping DOGE.
2020-10-08 16:38:08 +09:00
nicolas.dorier
c262132a2f Do not check feerate in walletsend model 2020-10-08 16:33:48 +09:00
Nicolas Dorier
911a7ef6b5 Merge pull request #1964 from btcpayserver/decouple-icon-from-invoice
Decouple payment type icon from UI
2020-10-08 16:30:07 +09:00
Kukks
8cb3757f5c Decouple payment type icon from UI
We should put an effort to not couple payment methods/types together after spending so much time decoupling things.
2020-10-08 09:19:50 +02:00
Nicolas Dorier
10bf914d78 Merge pull request #1937 from NicolasDorier/retry-vault
Add Retry button if a BTCPay Vault operation fails
2020-10-08 16:17:10 +09:00
Nicolas Dorier
684177ee44 Merge pull request #1963 from btcpayserver/invoice-ui-status-show
fix invoice exception status not displaying in list
2020-10-08 15:55:48 +09:00
Kukks
b2052ca308 fix invoice exception status not displaying in list
fixes #1960
2020-10-08 08:42:45 +02:00
Andrew Camilleri
4174fa648d Revert "Payment redesign" (#1962) 2020-10-08 08:37:18 +02:00
nicolas.dorier
182d67881d Add specter to the list of RPC compatible wallet 2020-10-08 15:16:59 +09:00
Nicolas Dorier
9284ac7461 Merge pull request #1930 from dennisreimann/payment-redesign
Payment redesign
2020-10-08 12:10:28 +09:00
Nicolas Dorier
55eec06e77 Merge pull request #1934 from btcpayserver/better-users
Add Created date to user, add verified column in list and make user l…
2020-10-08 12:08:16 +09:00
nicolas.dorier
069acf0297 Add Retry button if a BTCPay Vault operation fails 2020-10-08 12:05:03 +09:00
Nicolas Dorier
d9d2c7d213 Merge pull request #1938 from NicolasDorier/email-pwd
Do not show password in clear text in email configuration (Fix #1790)
2020-10-08 12:01:21 +09:00
Nicolas Dorier
83b28e0b00 Merge pull request #1950 from btcpayserver/fixu2f-cascade
Make U2F devices cascade delete
2020-10-08 12:00:30 +09:00
Nicolas Dorier
c2d52fd48f Merge pull request #1961 from dennisreimann/notifications-dropdown
Improve notifications dropdown
2020-10-08 11:58:32 +09:00
nicolas.dorier
32e6643303 Do not ignore IsAdmin settings when creating a new user via the Users page (Fix #1954) 2020-10-08 11:57:25 +09:00
Dennis Reimann
5faf6be02d Improve notifications dropdown
Minor changes to the spacing, first of all this fixed the notifications dropdown in dark mode.
2020-10-07 22:50:34 +02:00
Kukks
9ff93ac2d5 add migration 2020-10-07 11:08:11 +02:00
Andrew Camilleri
5131d8d328 Fix onion location not always working (#1947)
closes #1881
2020-10-07 10:21:18 +02:00
Kukks
2147f8ec8b Make U2F devices cascade delete
fixes #1949
2020-10-06 17:57:16 +02:00
Andrew Camilleri
cfa568a230 Fix modal overlay (#1946)
* Fix modal overlay

fixes #1941

* fix speed
2020-10-06 09:30:16 +02:00
Dennis Reimann
ace904cf16 Fix sync modal styles (#1945)
Do not overlap the footer. Also removed the underline for the toggle button in chrome. Fixes #1941.
2020-10-06 09:01:31 +02:00
Nicolas Dorier
cb337f4a65 Merge pull request #1944 from btcpayserver/fix/new-version-string
Fixing returned version string, trimming leading v
2020-10-06 13:23:07 +09:00
Nicolas Dorier
9df78946c5 Merge pull request #1943 from btcpayserver/fix/shopify-event-confirmed
Mark Shopify orders paid on invoice payment confirmed
2020-10-06 13:22:44 +09:00
rockstardev
e47359129e Fixing returned version string, trimming leading v 2020-10-05 23:09:05 -05:00
rockstardev
4187e0f94c Mark Shopify orders paid on invoice payment confirmed 2020-10-05 16:23:21 -05:00
Kukks
b2899529c3 fix build 2020-10-05 13:00:26 +02:00
Kukks
3d2b4cbfa8 Add Created date to user, add verified column in list and make user list use same model as modern lists 2020-10-05 13:00:15 +02:00
Nicolas Dorier
9daa424afd Merge pull request #1939 from btcpayserver/fix/updateurl_ux
Showing CheckForNewVersions checkbox only if BTCPAY_UPDATEURL is set
2020-10-05 19:37:03 +09:00
rockstardev
aa04951081 Showing CheckForNewVersions checkbox only if BTCPAY_UPDATEURL is set 2020-10-05 04:26:11 -05:00
nicolas.dorier
d8da8023c2 Add tests 2020-10-05 18:09:00 +09:00
nicolas.dorier
60cadb8b6d Do not show password in clear text in email configuration (Fix #1790) 2020-10-05 17:57:50 +09:00
Dennis Reimann
dcf8783c2e Add copy link confirmation 2020-10-03 17:04:36 +02:00
Dennis Reimann
eb9dc95c58 Payment UI: Increase horizontal padding for currency 2020-10-01 21:23:49 +02:00
Dennis Reimann
f94fb4f65e Payment UI: Light background for progress bar 2020-10-01 21:23:48 +02:00
Dennis Reimann
e0aff2cf9d Payment UI: Right align totals 2020-10-01 21:23:47 +02:00
Dennis Reimann
d2369f45ce UI: Custom margins for status message 2020-10-01 21:23:46 +02:00
Dennis Reimann
7b718ada63 Pull Payment UI: Test fix 2020-10-01 21:23:45 +02:00
Dennis Reimann
652604a36f Pull Payment UI: Redesign 2020-10-01 21:23:44 +02:00
Dennis Reimann
8a4834dd2b Checkout UI: Decrease overlay opacity 2020-10-01 21:23:43 +02:00
Dennis Reimann
6d49093620 Checkout UI: HTML fixes 2020-10-01 21:23:42 +02:00
Dennis Reimann
489ce0bebc Payment Request UI: Finetuning 2020-10-01 21:23:41 +02:00
Dennis Reimann
58922c23a6 Payment Request UI: Fix if 2020-10-01 21:23:40 +02:00
Dennis Reimann
be3183fc45 Payment Request UI: Status and Payment Details 2020-10-01 21:23:39 +02:00
Dennis Reimann
38b4812eb3 Payment Request UI: Print adaptions 2020-10-01 21:23:38 +02:00
Dennis Reimann
69fdc2d821 UI: Add bootstrap responsive helper for dev env 2020-10-01 21:23:37 +02:00
Dennis Reimann
9104b0f974 Payment Request UI: Main part
fix

fix

fix
2020-10-01 21:23:36 +02:00
Dennis Reimann
6ec7373a1a # This is a combination of 2 commits.
# This is the 1st commit message:

UI: Move noscript styles to header include

Reusability

# This is the commit message #2:

fix
2020-10-01 21:23:35 +02:00
Dennis Reimann
39be605459 UI: Move noscript styles to header include
Reusability
2020-10-01 21:23:34 +02:00
Dennis Reimann
4d4459fa4e Payment Request UI: Layout and header 2020-10-01 21:23:33 +02:00
nicolas.dorier
2a3dbaa7b4 bump 2020-10-01 22:08:57 +09:00
nicolas.dorier
6069e8f083 Fix test fail and warnings 2020-10-01 20:17:20 +09:00
Nicolas Dorier
30ea223d09 Merge pull request #1927 from NicolasDorier/changelog/1.0.5.6
Changelog 1.0.5.6
2020-10-01 20:06:37 +09:00
nicolas.dorier
0a957d7097 Credits for BTCPay Logo in the bottom 2020-09-30 21:01:43 +09:00
nicolas.dorier
f28a898053 Fix building error 2020-09-30 20:54:17 +09:00
nicolas.dorier
8921d4fac8 Changelog 1.0.5.6 2020-09-30 20:42:37 +09:00
Nicolas Dorier
a66578c46d Merge pull request #1871 from xpayserver/feat/payment-method-criteria
Add Value Criteria For Payment Method
2020-09-30 20:40:31 +09:00
Nicolas Dorier
e45dcf61c4 Merge pull request #1831 from btcpayserver/add-btc-index
Show index of payment address for onchain payments
2020-09-30 18:35:51 +09:00
Nicolas Dorier
40bfc9b368 Merge pull request #1768 from sotblad/MonetaryUnit
Add MonetaryUnit (MUE) support
2020-09-30 18:33:41 +09:00
Nicolas Dorier
73684d11c8 Merge pull request #1908 from btcpayserver/feat/shopify-mark-paid
Shopify registering paid transactions, marking orders paid, finishing integration
2020-09-30 11:23:56 +09:00
rockstardev
0d4ca4520b Ensuring matching of keywords only on first transaction 2020-09-29 17:23:42 -05:00
rockstardev
f1c1846c66 Restoring BtcPay keywords 2020-09-29 16:54:33 -05:00
Kukks
d59295688e Handle edge cases around partial payments and when txs are not registered on Shopify because of unexpected outage 2020-09-29 16:52:17 -05:00
Kukks
c1808164f2 Log Shopify registration better 2020-09-29 16:51:22 -05:00
Kukks
8f8562705a Pass due amount from shopify UI in case of partial payments 2020-09-29 16:51:00 -05:00
Kukks
6da6723c72 Be sure to match transaction gateway in Shopify registration 2020-09-29 16:50:17 -05:00
Kukks
0a726d598c Make sure shopify var is set in the UI 2020-09-29 16:47:54 -05:00
Kukks
4ffd2265ea Reduce unused branching in UI 2020-09-29 16:47:29 -05:00
Kukks
3ce6269212 Remove unused imports 2020-09-29 16:47:18 -05:00
Kukks
dc0cf26f51 Fix build 2020-09-29 16:47:14 -05:00
Kukks
713a1f03e9 Fix warnings 2020-09-29 16:47:05 -05:00
Kukks
c07952629c Commenting OrderTransactionRegisterLogic 2020-09-29 16:46:28 -05:00
Andrew Camilleri
d958b1808c Make Sync Modal remember collapsed state (#1929)
* Make Sync Modal remeber collapsed state

This makes the sync modal use the bootstrap collapse component instead of animatecss. It also removed animatecss as it seemed to be only used there.  Also, it will now remember if you collapsed it between page loads which since the new eth stuff keeps asking to configure it on my dev env.

* Sync modal improvements

- Use chevron icon and indicate toggle state
- Smooth opening animation by toggling element without padding
- Better modal content padding
- Run JS immediately to prevent flickering

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-09-29 14:13:39 +02:00
Kukks
4a596c7373 Remove leftover shopify API calls and script creation 2020-09-28 07:58:49 +02:00
rockstardev
bf7c8d5a5c Bugfixing references to shop, correcting them to be dynamic 2020-09-26 13:27:18 -05:00
rockstardev
84f9ee3765 Word breaking on all chars for better display of additional script 2020-09-26 13:17:11 -05:00
rockstardev
c22536ce67 Tweaking display order and style of alerts 2020-09-26 12:55:26 -05:00
rockstardev
c14fd69a0e Disabling automatic creation of Script in Shopify 2020-09-26 12:51:29 -05:00
rockstardev
0812596929 Adding another string for integration check 2020-09-26 12:22:16 -05:00
rockstardev
d33a449332 Changing page title during before and after payment 2020-09-25 16:55:42 -05:00
rockstardev
02b99d2b06 Injecting payment button, wasn't displaying when invoice already present
Also button was not getting refresh on modal close
2020-09-25 16:55:28 -05:00
rockstardev
b4f0cf510d Ensuring that elements on page are refreshed as soon as possible
Waiting on `load` is way too long, results in bad UX
2020-09-25 16:06:29 -05:00
rockstardev
eb6b1b431c Removing duplicate FromServices import 2020-09-25 14:13:57 -05:00
rockstardev
e955ddb9f1 Changing button text to better signal operation 2020-09-25 13:58:52 -05:00
rockstardev
48acd101a5 Handling errors with registering store script 2020-09-25 13:55:34 -05:00
rockstardev
694cedb89a Handling scenario where user provides invalid Shopify credentials 2020-09-25 13:50:23 -05:00
rockstardev
47e9f820e4 Switching the flow to exclusively use Example Url 2020-09-25 13:50:04 -05:00
Kukks
a7d7b5abc3 set order id of shopify invoice and serch by order id + storeId 2020-09-24 18:18:17 +02:00
Kukks
03d6c86899 Revert "Make Invoices save internal tags in the text search"
This reverts commit f352399428.
2020-09-24 17:33:15 +02:00
rockstardev
e9bd1bad67 Removing reference to Nethereum, Bitcoin only build 2020-09-24 16:25:36 +02:00
Kukks
c9f0295516 Make Shopify transaction register system handle marked payments slightly more 2020-09-24 16:25:36 +02:00
Kukks
42df6d58b1 Simplify Shopify integration
Added dedicated endpoint that generates an invoice or returns an existing one as needed for a shopify order
Added rate limiter to shopify endpoint to prevent abuse
Reduce shopify js to a small file
Use events from btcpay modal to reduce constant pinging to btcpay server
Register invoice payment failures on the shopify backend.
2020-09-24 16:25:35 +02:00
Kukks
078a2d7e39 Reduce Shopify integration steps and make sure checks work. 2020-09-24 16:25:35 +02:00
Kukks
f352399428 Make Invoices save internal tags in the text search 2020-09-24 16:25:35 +02:00
Kukks
0b2f115b73 Fix issue with new Invoice API ignoring internal tags 2020-09-24 16:25:35 +02:00
Kukks
9aed4b0e87 Allow receiving events from the BTCPay modal library 2020-09-24 16:25:35 +02:00
Kukks
3054f91fe7 Fix typo in Invoice method param 2020-09-24 16:25:35 +02:00
Kukks
91da129abc Include missing Shopify API models 2020-09-24 16:25:35 +02:00
Kukks
f77c27ca71 Make BTCPay Modal refer to mattermost instead of slack 2020-09-24 16:25:35 +02:00
Kukks
19cc93daae Reduce steps to 1 when integrating Shopify and start adding more API calls for Shopify to reduce JS logic 2020-09-24 16:25:35 +02:00
Kukks
4516bbdadd Fix and Cache Shopify JS 2020-09-24 16:25:35 +02:00
Kukks
0cf9b20328 Kukks Shopify Enhancement Suite Commit 2020-09-24 16:25:35 +02:00
rockstardev
1c510d45f0 Commenting code to elaborate on decisions made 2020-09-24 16:25:34 +02:00
rockstardev
5b958d7ff6 Ensuring that Shopify transaction registrations are not done in parallel 2020-09-24 16:25:34 +02:00
rockstardev
d9872bc94d Making sure we don't register same invoice multiple times 2020-09-24 16:25:34 +02:00
rockstardev
f177a39b96 Removing dynamic variables from Shopify api interactions 2020-09-24 16:25:34 +02:00
rockstardev
0e53ead14e Adding another state for detection of invoice paid 2020-09-24 16:25:34 +02:00
rockstardev
9b0fb9ecdc Adding links to other integrations per @pavlenex suggestion 2020-09-24 16:25:34 +02:00
rockstardev
fa08c52f74 Bugfixing detection of invoice paid in shopify modal 2020-09-24 16:25:34 +02:00
rockstardev
ce15eed343 Fixing javascript variable typo 2020-09-24 16:25:34 +02:00
rockstardev
b993da9751 Ensuring that Shopify.Password values is present 2020-09-24 16:25:34 +02:00
rockstardev
a93e3be197 Initializing modal apiPrefix url, needed for bundling 2020-09-24 16:25:34 +02:00
rockstardev
858d56d20c Bugfixing problem with currency comparison 2020-09-24 16:25:34 +02:00
rockstardev
0818abe233 Prefixing Shopify invoices, passing real orderId 2020-09-24 16:25:34 +02:00
rockstardev
c39138e3ba Not displaying Shopify Api Password 2020-09-24 16:25:34 +02:00
rockstardev
98c530cada Using bundled javascript for Shopify 2020-09-24 16:25:33 +02:00
rockstardev
e4f3c1ae94 Tweaking UI for Shopify integration 2020-09-24 16:25:33 +02:00
rockstardev
05b45f8cf5 Shopify credentials clearing that stops order marking 2020-09-24 16:25:33 +02:00
rockstardev
d530059e7e Tweaking Shopify integrations page for better display 2020-09-24 16:25:33 +02:00
rockstardev
7a04be0f30 Registering ShopifyOrderMarkerHostedService 2020-09-24 16:25:33 +02:00
rockstardev
c3d8c8d4b0 Checking that order exists on Shopify before registering transaction 2020-09-24 16:25:33 +02:00
rockstardev
0af4be3d99 Importing hosted service that will register transactions on Shopify 2020-09-24 16:25:33 +02:00
rockstardev
8a68e1b49d Importing UI for registering and verifying Shopify credentials 2020-09-24 16:25:33 +02:00
rockstardev
cf99f0fca0 Importing ShopifyApiClient for interactions with Shopify Api 2020-09-24 16:25:33 +02:00
nicolas.dorier
31e335792f Update PSBT should include non witness utxo 2020-09-24 21:43:25 +09:00
Kukks
d1efddd312 Make sure lightning listener is listening to new bolt11 invoices for partially paid btcpay invoices and that all payments are registered to the invoice. 2020-09-24 12:18:19 +02:00
Kukks
dbe1579fc4 fix pos app test 2020-09-24 09:43:39 +02:00
nicolas.dorier
2de20937ac Add fallbackfee for tests 2020-09-24 15:38:51 +09:00
nicolas.dorier
10f5967e41 bump bitcoind 2020-09-24 15:26:40 +09:00
nicolas.dorier
0f743cec41 The send wallet, by default, include the previous transaction 2020-09-24 12:21:42 +09:00
Nicolas Dorier
f371c47be5 Merge pull request #1913 from Kukks/ln-gen-new-partial
Ensure new bolt11 invoice on partial payment to btcpay invoice
2020-09-22 20:56:56 +09:00
Kukks
d334eed9bb improve test 2020-09-22 11:30:18 +02:00
Kukks
0819df3d26 Ensure new bolt11 invoice on partial payment to btcpay invoice 2020-09-22 11:30:18 +02:00
XPayServer
e276443d2d Add Value Criteria For Payment Method
I upgrade lightning max/bitcoin min to support better control in store. Now can have setting only enable specific payment method only if value high/low I think make code simple more too and backward compatible
2020-09-22 11:20:44 +02:00
Mario Dian
0fc862bac3 Fix inventory handling in PoS (#1922) 2020-09-22 10:29:06 +02:00
Mario Dian
c640289f4f App: Light PoS on top of the existing PoS (#1909)
* Initial commit

* review fixes

* Fix padding of logo, readjust display font size when clearing numbers

Co-authored-by: Kukks <evilkukka@gmail.com>
2020-09-21 08:06:31 +02:00
Umar Bolatov
8891111b2c Adjust invoice badge styling (#1906) 2020-09-20 09:33:29 +02:00
Nicolas Dorier
abd0ba49ca Merge pull request #1875 from dennisreimann/invoice-notification-email
Invoice notification email improvements
2020-09-19 11:16:49 +09:00
Nicolas Dorier
62f00fa970 Merge pull request #1886 from Kukks/invite-link
Allow admins to invite new users
2020-09-19 11:15:38 +09:00
Nicolas Dorier
f6252b73f1 Merge pull request #1916 from Kukks/morelabels
Add more labels (payment requests, apps, better payout label)
2020-09-19 11:14:21 +09:00
Nicolas Dorier
0dbed93454 Merge pull request #1917 from xpayserver/removedonation
remove eth donation
2020-09-19 11:13:15 +09:00
XPayServer
1cf60acb29 remove donation 2020-09-18 12:30:13 +02:00
Kukks
44889a3826 fix payout test 2020-09-18 08:51:23 +02:00
Kukks
8a3c751c10 Add more labels (payment requests, apps, better payout label) 2020-09-17 16:39:55 +02:00
Andrew Camilleri
f14ad8be58 Merge branch 'master' into MonetaryUnit 2020-09-17 11:43:31 +02:00
Kukks
4463d2408c fix 2020-09-17 11:39:34 +02:00
Dennis Reimann
7e60328cff Greenfield: Rename API key redirect params; switch to POST body (#1898)
* Rename user param to userId in API key redirect

This way it is clearer what to expect and it also make the parameteer easier to consume.

* Post redirect: Allow form url and prettify page

- Form URL as alternative to controller/action for external URLs
- Making it look nice and add explanation for non-JS case

* APIKeys: Minor view updates

fix

* APIKeys: Use POST redirect for confirmation

fix

* UI: Minor update to confirm view

Tidies it up and adapts to the newly added ConfirmAPIKeys view.

* APIKeys: Update delete view

Structures the information in title and description better.

* APIKeys: Distinguish authorize and confirm (reuse)

* Upgrade ChromeDriver

* Test fixes

* Clean up PostRedirect view

By adding missing forgery token

* Re-add tests for callback post values

* Rename key param to apiKey in API key redirect

* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.authorization.json

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>

* Use DEBUG conditional for postredirect-callback-test route

* Remove unnecessary ChromeDriver references

* Add debug flag

* Remove debug flags

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2020-09-17 11:37:49 +02:00
Dennis Reimann
45ba4675fc Fix async void usage
https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md#async-void
2020-09-16 14:25:48 +02:00
Dennis Reimann
79c685c99b Invoice notification email improvements 2020-09-16 14:25:47 +02:00
Dennis Reimann
1c5567225c Don't send mail for expired invoices 2020-09-16 14:25:46 +02:00
Dennis Reimann
8ba852084e Users API: Add roles (#1914)
* API: Fix create user response model

* API: Add roles to user data
2020-09-16 14:17:33 +02:00
Kukks
9365706777 Add test 2020-09-16 11:49:47 +02:00
Kukks
8e8415515d Show index of payment address for onchain payments 2020-09-16 11:49:37 +02:00
Kukks
eb9fe7c401 add tests 2020-09-16 08:54:51 +02:00
Kukks
371b33a2e1 Allow admins to invite new users
* This refactors the email sending so that all the logic related to users and emails are now contained in one location.
* The Reset password screen has been updated from its ugly plain self to use the same layout as the login.
* An admin can now create a new account without specifying a password. A link is generated that can be given to the intended user to configure the password. If emails are configured, it also sends an email
* An admin can now create accounts that still require the user to verify their if the setting is enabled from the server settings. A link is generated that can be given to the intended user to configure the password. If emails are configured, it also sends an email.
* The above features can be used in conjunction: An email will have to verify their email through a link. Once verified, the user is redirected to setting the password.
* When an email has been verified OR a password has been set, users are now redirected to the login page with the email filled in and a success status message shown instead of a dedicated thank you page.
2020-09-16 08:54:24 +02:00
Kukks
2711f2cb2f Fix CI 2020-09-15 16:26:10 +02:00
Nicolas Dorier
25dd38af5c Merge pull request #1730 from xpayserver/feat/eth
Add Ethereum & ERC20 Support
2020-09-15 19:51:55 +09:00
Umar Bolatov
0545f6b74d Adjust logs section styling (#1907)
close #1905
2020-09-14 15:45:50 +02:00
Nicolas Dorier
e7b8220bac Merge pull request #1895 from Kukks/rename-expostpsbt-option
Rename "Export as PSBT" to "View PSBT"
2020-09-14 12:53:13 +09:00
Nicolas Dorier
9a0adcf9ed Merge pull request #1627 from btcpayserver/gf-dev-docs
Create GreenField Api Development Docs
2020-09-14 12:46:36 +09:00
Nicolas Dorier
0a8fb1b835 Merge pull request #1857 from Kukks/fix-greenfield-roles
Set roles when authenticating via greenfield
2020-09-11 22:16:18 +09:00
Nicolas Dorier
92a8d864d3 Merge pull request #1900 from btcpayserver/remove-changelly
Remove Changelly
2020-09-11 22:05:58 +09:00
Andrew Camilleri
fa46252c65 Allow entry in wallet send via fiat (#1891)
* Allow entry in wallet send via fiat

closes #1890
https://i.imgur.com/RUrSqD7.gif

* fix min amount in wallet send

* Add divisibility when setting amount from fiat
2020-09-11 09:23:08 +02:00
Lucas Moten
e051581c39 Update AddDerivationSchemes_HardwareWalletDialogs.cshtml (#1870)
Minor change for Electrum where menu choice is `Save backup`, not `Save Copy`
2020-09-11 08:31:15 +02:00
Kukks
50a9772388 Remove Changelly 2020-09-10 10:30:53 +02:00
Kukks
75fdb8f2e4 Rename "Export as PSBT" to "View PSBT" 2020-09-09 10:05:12 +02:00
XPayServer
de755ac0bb Add Ethereum & ERC20 Support
Add Tests
Add Index, XPub to payment data
Add Note on local ETH node
Fix Sync Summary and Race Condition
2020-09-09 08:19:10 +02:00
Nicolas Dorier
7ca0a8c56c Merge pull request #1888 from maltokyo/maltokyo
Wording/UX Fix on Wallet Tx Page
2020-09-08 19:21:21 +09:00
Kukks
1cb3e5f98c Set roles when authenticating via greenfield
fixes #1855
2020-09-08 11:22:32 +02:00
Nicolas Dorier
f507452a37 Merge pull request #1882 from Kukks/partial-refund
Add custom refund option
2020-09-07 15:30:46 +09:00
Nicolas Dorier
083a213e74 Merge pull request #1889 from bolatovumar/fix/1880
Add "allow insecure" check
2020-09-07 15:27:15 +09:00
rockstardev
8f17d373a3 Merge pull request #1876 from btcpayserver/feat/lnd-0.11.0-beta
Update LND to 0.11.0-beta
2020-09-07 01:24:43 -05:00
rockstardev
5e6cc4f55a Bumping docker-compose.altcoins.yml as well 2020-09-07 01:24:05 -05:00
rockstardev
d8550f6cca Update LND to 0.11.0-beta 2020-09-07 01:24:05 -05:00
Umar Bolatov
e70753df5e Add "allow insecure" check
Check if "allow insecure" is set for ligthning node connection string before throwing error for http connection.

fix #1880
2020-09-06 15:20:19 -07:00
Mal
0744e23ca6 Update WalletTransactions.cshtml 2020-09-05 23:41:40 +02:00
Mal
fcd4f223f8 Wording/UX Fix on Wallet Tx Page
Change Balance Column title to "Transaction Amount" to fix https://github.com/btcpayserver/btcpayserver/issues/1887
2020-09-05 23:23:03 +02:00
nicolas.dorier
39beacf884 Split mnemonics correctly 2020-09-03 23:59:54 +09:00
nicolas.dorier
69c2400ec7 [Bug fix] If error while signing with hot wallet, do not white page crash 2020-09-03 23:59:54 +09:00
Nicolas Dorier
81561c6f3d Merge pull request #1800 from btcpayserver/apikeys/redirect
Add API Keys Application identifier + Redirect
2020-09-03 21:27:12 +09:00
Nicolas Dorier
85d393fec3 Merge pull request #1872 from Kukks/invoie-severity
Add invoice event severity
2020-09-03 21:24:20 +09:00
nicolas.dorier
0d8e2f0d4a Fix bug: The wallet was sending only round amount of sat per byte 2020-09-03 17:27:51 +09:00
Kukks
13b9a7bf6e fix typo in monero 2020-09-02 13:15:09 +02:00
Dennis Reimann
f6aeee2b70 UI: Primary color checkmark (#1873) 2020-09-02 12:11:38 +02:00
Andrew Camilleri
86e7b7bdb3 fix monero crash (#1884)
fixes #1883
2020-09-02 12:10:27 +02:00
Kukks
735995954f Add custom refund option
Allows you to specify an alternative refund amount and currency. This allows partial refunds and other negotiated terms
closes #1874
2020-09-02 11:24:18 +02:00
Kukks
98c4b658c4 Add invoice event severity
closes #1681
https://i.imgur.com/eyMO9M3.png
2020-09-01 18:19:49 +02:00
nicolas.dorier
3c3e2f80da Push only one tag 2020-09-01 11:51:11 +09:00
nicolas.dorier
eba0778045 Nugetify the BTCPayServer.Client 2020-09-01 11:49:10 +09:00
Nicolas Dorier
4055498921 Merge pull request #1856 from Kukks/mysql-fix
attempt mysql fix
2020-08-28 20:19:18 +09:00
Kukks
811fd98a39 Add MaxLength and remove destination maxlength 2020-08-28 09:39:25 +02:00
Kukks
47930035a7 attempt mysql fix
fixes #1836
2020-08-28 09:39:25 +02:00
Kukks
6a8dbf49da clean and remove hack 2020-08-28 09:15:08 +02:00
Kukks
0e07fcc706 fixes and adapt 2020-08-28 09:00:14 +02:00
Kukks
dbe7f464bd permission check for auth 2020-08-28 09:00:13 +02:00
Kukks
7ca74aeea7 Add API Keys Application identifier
This lets the authorize api key screen redirect to the defined url  and provide it with the user id, permissions granted and the key.

This also allows apps to match existing api keys generated for it specifically using the application identifier, and if matched, presented with a confirmation page before redirection.
2020-08-28 09:00:13 +02:00
Nicolas Dorier
cf7c5102fc Merge pull request #1760 from btcpayserver/api/invoice
GreenField: Invoice API
2020-08-27 19:50:14 +09:00
Umar Bolatov
b71eb12e23 Add store sort (#1861)
close #1837
2020-08-27 17:31:33 +09:00
nicolas.dorier
709b06baa3 Remove invoices/email for this PR 2020-08-27 11:00:04 +09:00
nicolas.dorier
f900d520da Add InvoiceTime, Expiration and monitoring to Invoice greenfield API 2020-08-26 21:36:32 +09:00
nicolas.dorier
f2e94e6819 Use nicer representation of payment methods in the Greenfield API 2020-08-26 21:36:32 +09:00
nicolas.dorier
be21e7d253 Remove PaymentMethodData from invoice entity 2020-08-26 21:36:32 +09:00
nicolas.dorier
8f0cc9de03 Update swagger 2020-08-26 21:36:32 +09:00
nicolas.dorier
67b04473b5 Decouple the CreateInvoiceCore from BitpayCreateInvoice, remove some features from greenfield invoice for now 2020-08-26 21:36:32 +09:00
nicolas.dorier
b2ff041ec0 Create Metadata property for InvoiceEntity, migrate all data without logic there 2020-08-26 21:36:31 +09:00
Kukks
8dea7df82a make individual action items 2020-08-26 21:36:31 +09:00
Kukks
5f6f54db36 Remove old props 2020-08-26 21:36:31 +09:00
Kukks
41bebfedc4 add swagger docs 2020-08-26 21:36:31 +09:00
Andrew Camilleri
4917f32574 Update BTCPayServer/Controllers/GreenField/InvoiceController.cs
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-08-26 21:36:30 +09:00
Andrew Camilleri
8f4f87cd8f Update BTCPayServer.Client/Models/InvoiceData.cs
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-08-26 21:36:30 +09:00
Kukks
7ca2df9fcc rename converter 2020-08-26 21:36:30 +09:00
Kukks
d96bd15b3b add status and refactor 2020-08-26 21:36:30 +09:00
Kukks
cb5601c68b unarchive endpoint + formatting 2020-08-26 21:36:29 +09:00
Kukks
34e76494e3 GreenField: Invoice API 2020-08-26 21:36:29 +09:00
Andrew Camilleri
81bba8c829 Fix invoice action responsiveness (#1854) 2020-08-26 15:19:40 +09:00
Pavlenex
9ac5011bed Merge pull request #1868 from pavlenex/master
Add new supporter, re-arrange old one
2020-08-25 12:28:33 +02:00
Pavlenex
6c055ff9ef Add new supporter, re-arrange old one 2020-08-25 11:43:11 +02:00
Umar Bolatov
db89754a26 Add text break to alerts (#1865) 2020-08-25 14:55:34 +09:00
nicolas.dorier
8239fd7e0e InvoiceEntity blob should not be indented when saved into DB 2020-08-25 14:53:18 +09:00
Dennis Reimann
e7ea8ac40f Improve invoices list view (#1815)
* Improve invoices list view

* Pager: Only show options that make sense

* ListInvoices formatting

* Add separator for dropdown toggle split

* Minor ListInvoices improvement

* Improve payment requests list view

* Distinguish empty and filtered lists

* Properly align invoice details

* Add payment symbols to invoices list

* Improve payment symbols in invoices list

* Always display search on list pages

* Inline variable

* Move display logic to pager

e5040ede55 (commitcomment-41698272)
2020-08-24 13:57:07 +09:00
nicolas.dorier
a249a164f7 Fix HitBTC again 2020-08-20 13:15:35 +09:00
Nicolas Dorier
44896559c6 Merge pull request #1853 from Kukks/not-if-test-func
Add debug notifications
2020-08-20 13:00:33 +09:00
Nicolas Dorier
112495323e Merge pull request #1852 from Kukks/notif-del-bug-fix
fix notification page issue
2020-08-20 12:59:53 +09:00
Sotiris Blad
2767fca5d6 Update Currencies.json 2020-08-19 16:38:36 +03:00
Sotiris Blad
b5b32cacfc Merge branch 'master' into MonetaryUnit 2020-08-19 15:33:02 +03:00
Sotiris Blad
98a74a15f7 Update BTCPayServer.Common.csproj 2020-08-19 15:31:49 +03:00
Kukks
68686cd249 Add debug notifications
This adds a test notif only available in debug mode + endpoint `/Notifications/GenerateJunk` that generates x amount of notifications.
2020-08-19 13:31:28 +02:00
Kukks
565dbd88ff fix notification page issue
fixes #1820
2020-08-19 13:21:05 +02:00
Nicolas Dorier
c4d2ece9c7 Merge pull request #1849 from NicolasDorier/removetorlink
Remove Tor link from navbar
2020-08-18 16:00:02 +09:00
nicolas.dorier
59f00ea3df Remove Tor link from navbar 2020-08-18 13:03:26 +09:00
nicolas.dorier
00f4691f38 Bump lightning lib 2020-08-17 12:02:24 +09:00
nicolas.dorier
a578857806 bump clightning 2020-08-17 11:54:23 +09:00
nicolas.dorier
80e46db48a typo 2020-08-16 23:27:52 +09:00
nicolas.dorier
f4ad04ec2e Fix HitBTC provider 2020-08-16 23:12:21 +09:00
nicolas.dorier
66d01aecc3 bump lightning lib 2020-08-16 22:46:53 +09:00
nicolas.dorier
b176b972b6 Fix tests 2020-08-16 22:09:10 +09:00
nicolas.dorier
90ccf88d4b Bump libraries and version and changelog 2020-08-16 21:47:03 +09:00
Nicolas Dorier
12b5c88acf Merge pull request #1829 from btcpayserver/bitcoin-only-fixes
Do not crash UI and background services after switching to BItcoin Only when you had altcoin payments
2020-08-16 21:39:30 +09:00
Andrew Camilleri
3024ace641 Merge branch 'master' into bitcoin-only-fixes 2020-08-14 17:50:36 +02:00
Nicolas Dorier
d907010e1d Merge pull request #1830 from btcpayserver/feat/shopify
Shopify integration
2020-08-13 17:59:17 +09:00
Nicolas Dorier
bc5068ac7b Merge pull request #1842 from NicolasDorier/components
Use razor component to encapsulate UI logic
2020-08-13 17:44:22 +09:00
nicolas.dorier
68482732f7 Fix CSV export incorrectly formated (fix #1844) 2020-08-13 17:06:16 +09:00
nicolas.dorier
d05f914841 Fix crash if impossible to get the network of a payment 2020-08-13 16:29:59 +09:00
Pavlenex
f323d06f5c fix format that works with github templates 2020-08-12 10:14:57 +02:00
Pavlenex
0aad14dcfe Merge pull request #1840 from pavlenex/configyml
add config yaml to issue templates
2020-08-12 10:11:38 +02:00
Pavlenex
b812c7493a Update issue templates
Add issues templates
2020-08-12 10:10:21 +02:00
Pavlenex
f244170f7b Merge pull request #1839 from pavlenex/issue-template-delete
Delete issue template folder
2020-08-12 10:00:36 +02:00
nicolas.dorier
5c9d0fd40a Use razor component to encapsulate UI logic 2020-08-12 16:48:14 +09:00
Dennis Reimann
10d6e44a38 Docker: Add Lightning channel setup/teardown scripts (#1835)
An alternative for establishing the customer-merchant channel connection.
2020-08-11 14:25:12 +02:00
Pavlenex
a7a793088d add config yaml
- add support chat link
- disable blank issues
2020-08-11 13:28:52 +02:00
Pavlenex
18ce6c83c4 Delete issue template folder 2020-08-11 13:20:05 +02:00
Nicolas Dorier
768f335a3c Merge pull request #1833 from dennisreimann/login-mobile
UI: Improve mobile login views
2020-08-10 22:41:41 +09:00
Nicolas Dorier
56ed583bff Merge pull request #1825 from Zaxounette/PullPayments-claim
Pull payments claim & payout notification rewording
2020-08-10 22:41:20 +09:00
Nicolas Dorier
901f3c4f7a Merge pull request #1822 from dennisreimann/fix-1816
UI: Fix custom-select glitch
2020-08-10 22:40:33 +09:00
Nicolas Dorier
d12e6a0465 Merge pull request #1821 from dennisreimann/fonts
Self-host webfonts
2020-08-10 22:39:34 +09:00
Nicolas Dorier
ef5a05d051 Merge pull request #1818 from xpayserver/feat/vertags
Add Better Feature Build Support
2020-08-10 22:39:14 +09:00
Nicolas Dorier
111cdbd4dc Merge pull request #1814 from dennisreimann/seed-confirm-setting
Remove confirm option for seed from wallet settings
2020-08-10 22:37:44 +09:00
Dennis Reimann
4e70f5b8f1 UI: Improve mobile login views 2020-08-10 09:46:01 +02:00
Kukks
26aac6c45d Do not crash UI and background services after switching to BItcoin Only when you have altcoin payments 2020-08-09 16:17:16 +02:00
rockstardev
0de8cbfd45 Final tweaking of UI for first version 2020-08-09 07:50:06 -05:00
rockstardev
c6d72f0487 Hiding pay button after click 2020-08-09 07:18:00 -05:00
rockstardev
c79e79a5b6 Making js variables easier to select with double click 2020-08-08 11:22:59 -05:00
rockstardev
f73c912945 Simplifying script by getting variables from Shopify object 2020-08-08 11:14:45 -05:00
rockstardev
37cb49d785 Adding Shopify scripts with extracted variables 2020-08-08 10:11:08 -05:00
Zaxounette
ea9836a701 Subtle term change in Awaiting-payout-notification 2020-08-08 12:50:55 +02:00
Zaxounette
3dbb8a0cc1 Rewording of the success-claim-message for clarity 2020-08-08 12:47:28 +02:00
Dennis Reimann
0e1818f535 Swap webfonts on load 2020-08-07 11:41:18 +02:00
Dennis Reimann
e1947c0077 UI: Fix custom-select glitch
Fixes #1816.
2020-08-06 22:32:28 +02:00
Dennis Reimann
7c349b12b2 Self-host webfonts
This inlines all webfonts we are using throughout the app, instead of loading them from Google Fonts. There are several benefits to this approach:
- Better performance
- We don't have any problems in regards to potential Google Fonts downtimes
- It protects our users privacy, as they don't have to request those fonts from a third-party

It sets up individual css files per font-face, so that they are easier to include and require on a per use-case basis.
2020-08-06 22:18:26 +02:00
XPayServer
d758bedaed Add Better Version Build Support
This allow you to build specific builds based on feature for specific version such as `v1.0.0.88-lndseedbackup-1` (good for forks with custom features)
2020-08-06 08:43:16 +02:00
nicolas.dorier
a80146e894 fix typo name 2020-08-06 00:51:12 +09:00
nicolas.dorier
68d13b8724 bump 2020-08-06 00:07:12 +09:00
nicolas.dorier
f974e1b6cd update lang 2020-08-06 00:06:15 +09:00
Nicolas Dorier
50d3a53e4f Merge pull request #1794 from NicolasDorier/changelog/1.0.5.4
Add changelog for 1.0.5.4
2020-08-06 00:05:08 +09:00
rockstardev
53be80a26d Moving new version notification to new feature, linking issues 2020-08-06 00:03:47 +09:00
Dennis Reimann
2d608621d9 Remove confirm option for seed from wallet settings
Closes #1813.
2020-08-05 11:20:34 +02:00
Nicolas Dorier
ede5aceeeb Merge pull request #1812 from britttttk/wallet-typo
Fix typo in generate wallet
2020-08-05 16:47:06 +09:00
britttttk
b6959bdfd4 Typo in generate wallet 2020-08-05 01:42:08 -06:00
Nicolas Dorier
eb0dee07d8 Merge pull request #1808 from bolatovumar/issue/1804
Add pointer cursor to wallet transaction comment and tag icons
2020-08-05 12:12:48 +09:00
Umar Bolatov
067a42d400 Add pointer cursor to wallet transaction comment and tag icons
close #1804
2020-08-04 18:51:21 -07:00
nicolas.dorier
f363ebd41d Add changelog for 1.0.5.4 2020-08-04 21:51:35 +09:00
Nicolas Dorier
698ae56d82 Merge pull request #1801 from btcpayserver/fixcfinvoice
Fix Crowdfund not counting all invoices when configured to
2020-08-04 21:49:58 +09:00
Kukks
5a9793a952 Fix Crowdfund not counting all invoices when configured to
fixes #1698
2020-08-04 13:40:00 +02:00
Nicolas Dorier
57fffc8ef0 Merge pull request #1798 from dennisreimann/summernote-upgrade
Upgrade summernote rich text editor
2020-08-04 16:52:35 +09:00
Nicolas Dorier
78d4bc07d2 Merge pull request #1799 from Kukks/fixpr
Handle multiple new invoices in  payment requests
2020-08-04 16:51:47 +09:00
Kukks
b381e629f1 Handle multiple new invoices in payment requests 2020-08-04 07:55:13 +02:00
Dennis Reimann
0c7314f771 Upgrade summernote rich text editor
Fixes #1796.
2020-08-04 07:52:05 +02:00
Nicolas Dorier
4dca905a91 Merge pull request #1797 from Kukks/fixlq
fix chain loader after unfiltered removed
2020-08-04 14:28:47 +09:00
Kukks
4ace7e07c9 fix chain loader after unfiltered removed 2020-08-04 07:25:15 +02:00
nicolas.dorier
74c80fa536 Allow RPC access in services when the node is synching (fix #1795) 2020-08-04 14:16:25 +09:00
nicolas.dorier
f2a005eeac HTTP Escape placeholders in callbacks 2020-08-04 14:05:36 +09:00
nicolas.dorier
7f29769352 Bump nbx 2020-08-04 13:22:40 +09:00
nicolas.dorier
ffcc967aef Fix: Spurious Error Message When Saving User With Non-Admin Rights (fix #1793) 2020-08-04 11:30:19 +09:00
nicolas.dorier
23aefccbe9 Construct websocket uri for notification client side 2020-08-04 11:21:41 +09:00
Sotiris Blad
a0d70ea8a4 Merge branch 'master' into MonetaryUnit 2020-08-03 19:18:08 +03:00
Sotiris Blad
db29a31de6 rename to fix conflict 2020-08-03 19:17:15 +03:00
Nicolas Dorier
e399815427 Merge pull request #1788 from btcpayserver/feat/new-version-check
Adding HostedService that checks for new BTCPayServer version on GitHub once a day
2020-08-03 23:00:17 +09:00
rockstardev
16eedf4153 Deducing if to perform update check from update url configuration 2020-08-03 03:17:04 -05:00
rockstardev
ce87d2e45c Making use of options to initalize update check on first admin registration 2020-08-03 03:17:04 -05:00
rockstardev
c18167889d Adding update related options and using them in HostedService 2020-08-03 03:17:04 -05:00
rockstardev
adefaf2fa8 Ensuring that only tags that match release format raise notification
Utilizing the same regex used on circleci
2020-08-03 03:17:04 -05:00
rockstardev
c9d830f9ae Logging exceptions and unsuccessful http calls 2020-08-03 03:17:04 -05:00
rockstardev
9e70bb448a Fixes based on feedback 2020-08-03 03:17:04 -05:00
rockstardev
6c7d3ae0bf Adding checkbox for check new version policy 2020-08-03 03:17:04 -05:00
rockstardev
51211dccb0 Adding test to verify new version check 2020-08-03 03:17:04 -05:00
rockstardev
53f9c22fb7 Refactoring to exposing related classes 2020-08-03 03:17:04 -05:00
rockstardev
1b3e40fd70 Fixing typo 2020-08-03 03:17:04 -05:00
rockstardev
dc3c130162 Initializing Cts with class, preventing race condition 2020-08-03 03:17:04 -05:00
rockstardev
ea7231ff26 Adding hosted service that will optionally check for new version once a day 2020-08-03 03:17:04 -05:00
Dennis Reimann
b47b942e97 Wallet UI: Improve views (#1763)
* Improve UpdateStore and DerivationScheme views

fix

* Improve wallet views

CSS fix

* Apply suggestions from code review

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2020-08-03 17:12:21 +09:00
Nicolas Dorier
b90ce01e05 Merge pull request #1792 from btcpayserver/invoice-ui-fix
Quickfix for Invoices list
2020-08-03 16:48:12 +09:00
Kukks
85d61c4c93 Quickfix for Invoices list
https://i.imgur.com/4eDlbxk.gif

original:
https://chat.btcpayserver.org/files/6ocj359nuinftf6ujbnpeszh1o/public?h=MVe3va_TChslDFwdTKhVEkhhJUdIQ6ihwwJ4yOmCC6Q
https://chat.btcpayserver.org/files/gk7mjojfg3faxc6x57gg4pchka/public?h=JGGbhyOiyeazCtr7vAnZY1cPOgHFZ29xJZRwDzSdtgo
2020-08-03 09:37:03 +02:00
nicolas.dorier
ad307e859e Make CircleCI check if bitcoin only build still works 2020-08-03 16:31:35 +09:00
Nicolas Dorier
f6801187cb Merge pull request #1791 from dennisreimann/cleanups
Simple layout cleanups
2020-08-03 15:29:37 +09:00
Dennis Reimann
5b929e85cf Simple layout cleanups
Some cleanups related to the recent changes arount the LayoutSimple. We don't use the font montserrat anymore and the col-head class is also obsolete.
Moved the remaining styles to our site.css
2020-08-02 14:33:20 +02:00
Nicolas Dorier
8e2728902a Merge pull request #1754 from btcpayserver/feat/prefs-generalization
Cookie Preferences Generalization, applying same style to ListInvoices and Payment Requests
2020-07-31 16:12:10 +09:00
nicolas.dorier
6894a224b6 Remove redundant doc info written in the doc 2020-07-31 10:56:17 +09:00
rockstardev
77f5d0be35 Initializing BasePagingViewModels from cookie 2020-07-30 18:02:59 -05:00
nicolas.dorier
bce1345ccc Add BTCPayServerEnvironment.Altcoins 2020-07-30 22:06:54 +09:00
nicolas.dorier
2c26d55813 Missing files 2020-07-30 22:04:38 +09:00
nicolas.dorier
87f411e5f1 Exclude altcoins files from bitcoin only build 2020-07-30 22:04:13 +09:00
nicolas.dorier
4af3fa4eb2 Fix build 2020-07-30 22:00:25 +09:00
nicolas.dorier
7974633bba Fix EmbeddedCSS being ignored, stripped by sanitizer 2020-07-30 11:36:33 +09:00
nicolas.dorier
1fb75c908b Remove the concept of unfiltered networks 2020-07-30 11:36:02 +09:00
nicolas.dorier
26112a1ed6 Use CsvHelper for generating CSV 2020-07-30 10:01:56 +09:00
nicolas.dorier
17bcfe154c Add coherence test on test time docker compose 2020-07-29 22:12:46 +09:00
Nicolas Dorier
3ce16dc9a3 Merge pull request #1782 from xpayserver/btc-only
Add Bitcoin Only Build
2020-07-29 21:58:28 +09:00
nicolas.dorier
f9342b1c92 Run tests on the altcoin build for maximum coverage 2020-07-29 20:49:46 +09:00
nicolas.dorier
39cc420415 Improve build time for dockerfiles 2020-07-29 20:13:35 +09:00
nicolas.dorier
9b7323f9fa Move some altcoins tests 2020-07-29 20:01:51 +09:00
nicolas.dorier
77fff553d1 Activate runtime razor or all debug configs 2020-07-29 19:58:54 +09:00
nicolas.dorier
cfdd1af3a3 Make vscode open the browser automatically 2020-07-29 19:54:52 +09:00
nicolas.dorier
22da4182b1 Separate docker-compose and launch profiles 2020-07-29 19:38:58 +09:00
nicolas.dorier
002f6d3e87 Isolate altcoins tests in their own folder 2020-07-29 19:11:54 +09:00
nicolas.dorier
02998fff49 Add Altcoins-Release and Altcoins-Debug configurations 2020-07-29 18:55:28 +09:00
Nicolas Dorier
8156fce81a Merge pull request #1784 from Kukks/paymentlink
Generate Payment link from PaymentType
2020-07-29 17:27:12 +09:00
Nicolas Dorier
2d3b0717f8 Merge pull request #1783 from Kukks/numeric-json-converter
Make Decimal json converter work for other number types
2020-07-29 16:44:51 +09:00
Kukks
e33200058d Generate Payment link from PaymentType 2020-07-29 09:31:47 +02:00
Kukks
7230a91b4f Make Decimal json converter work for other number types 2020-07-29 08:44:52 +02:00
nicolas.dorier
c06c5d4104 bump NBX 2020-07-29 13:27:04 +09:00
XPayServer
92ae1109d0 Add Bitcoin Only Build 2020-07-28 22:48:51 +02:00
rockstardev
19ffd031ec Refactoring query extraction from cookie into extender methods 2020-07-28 10:28:32 -05:00
rockstardev
466a0c6049 Adding support for dynamic, special meaning date strings 2020-07-28 10:28:32 -05:00
rockstardev
97e5f2e656 Ignoring prefs cookie deserialization errors 2020-07-28 10:28:32 -05:00
rockstardev
bce386bc7a Blobbifying user preferences cookie, to contain all prefs 2020-07-28 10:28:32 -05:00
rockstardev
f47ffd7ed0 Using proper class for 0 left padding
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-07-28 10:28:32 -05:00
rockstardev
0b115c3228 Using pull-right class instead of direct float style 2020-07-28 10:28:32 -05:00
rockstardev
a22c12adc9 Applying paging footer to Payment Requests 2020-07-28 10:28:32 -05:00
rockstardev
8f293db29b Extracting grid paging to partial 2020-07-28 10:28:32 -05:00
rockstardev
7bcc559ec7 Generalizing TimezoneOffset field init 2020-07-28 10:28:32 -05:00
rockstardev
e3a8e1a187 Applying conventions from ListInvoice on PaymentRequests 2020-07-28 10:28:32 -05:00
rockstardev
9d9d0461ad Generalizing saving of search, applying it to PaymentRequests grid 2020-07-28 10:28:32 -05:00
rockstardev
6bacddc159 Refactoring ListInvoicePreferences 2020-07-28 10:28:32 -05:00
Nicolas Dorier
b7d66efb20 Merge pull request #1753 from bolatovumar/feat/1568
Allow sorting apps by store, name or app type
2020-07-28 15:18:30 +09:00
Nicolas Dorier
26480dc602 Merge pull request #1776 from btcpayserver/invoicequeryperf
Improve query performance for invoice listing
2020-07-28 10:36:08 +09:00
nicolas.dorier
ba316d02ca Improve query performance for invoice listing 2020-07-27 13:31:04 +09:00
Nicolas Dorier
82582d24ea Merge pull request #1764 from dennisreimann/pull-payment-ui
Improve Pull Payment view
2020-07-27 12:34:45 +09:00
Nicolas Dorier
aeaaa2f7d5 Merge pull request #1769 from msafi/check-in-vscode-debug-configurations
Check in VS Code debug configurations
2020-07-27 11:30:46 +09:00
Nicolas Dorier
89c39d15de Merge pull request #1773 from bolatovumar/fix/1770
Add margin to "Delete this store" button
2020-07-27 11:30:01 +09:00
Nicolas Dorier
2cabc63752 Merge pull request #1774 from Eskyee/patch-10
Update .gitignore all the .DS_Store files
2020-07-27 11:29:39 +09:00
Umar Bolatov
e03311e5ec Add margin to "Delete this store" button
fix #1770
2020-07-25 19:15:46 -07:00
Esky33
810e12f474 Update .gitignore all the .DS_Store files
.gitignore all the .DS_Store files in every folder and subfolder - improves UX
If you are using macOS, visual studio, visual code, rider, your system appends the .DS_Store file in your directories. It’s not a big issue, but often you need to exclude these files explicitly in your .gitignore file, to prevent any unnecessary files in your commit. 

notice for btcpay Mac dev users..
This will never allow the .DS_Store file to sneak in your git.
But, if it's already there, you can write in your project terminal:

find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
then commit and push the changes to remove the .DS_Store from your remote repo:

git commit -m "Remove .DS_Store from everywhere"

git push origin master
2020-07-26 00:30:34 +01:00
M.K. Safi
60157eb70c Remove .NET Core Attach debug configurations 2020-07-25 10:11:30 -07:00
M.K. Safi
1f3f456123 Fix JSON indentations 2020-07-25 10:07:47 -07:00
M.K. Safi
97b7d920cb Check-in .vscode/extensions.json 2020-07-25 10:07:03 -07:00
Nicolas Dorier
3ffd79c279 Merge pull request #1762 from dennisreimann/readmes
Minor README improvements
2020-07-25 14:36:55 +09:00
Nicolas Dorier
09c7b2a5e4 Merge pull request #1772 from bolatovumar/feat/1771
Add pagination to wallet transactions page
2020-07-25 14:03:56 +09:00
Umar Bolatov
df1447b917 Add pagination to wallet transactions page
close #1771
2020-07-24 21:39:30 -07:00
M.K. Safi
22f22c0fa0 Set logging.moduleLoad to false 2020-07-24 12:53:36 -07:00
M.K. Safi
272de60f9f Edit .gitignore 2020-07-24 10:15:31 -07:00
M.K. Safi
b40dd46871 Check-in VS Code debug config files 2020-07-24 10:13:34 -07:00
Sotiris Blad
e67d2ee498 Add MonetaryUnit (MUE) support 2020-07-24 18:32:40 +03:00
Andrew Camilleri
310f6a385c fix null instance on invoice when using paymentCurrencies (#1766)
fixes #1765
2020-07-24 08:16:41 +02:00
Dennis Reimann
6245684801 Improve Pull Payment view 2020-07-23 17:15:08 +02:00
Dennis Reimann
79f0e5768b README: Use two rows for supporters 2020-07-23 09:47:05 +02:00
Dennis Reimann
967f28542f Minor README improvements 2020-07-23 09:47:04 +02:00
Nicolas Dorier
df413d1af0 Merge pull request #1761 from dennisreimann/store-ui
UI updates: Manage store
2020-07-23 16:28:11 +09:00
Dennis Reimann
a3b4ceba50 Improve update store view 2020-07-22 15:31:09 +02:00
Dennis Reimann
2496ec73bf Improve checkout experience view 2020-07-22 15:30:58 +02:00
Dennis Reimann
f84fe82f9b Improve list API tokens view 2020-07-22 15:29:58 +02:00
Dennis Reimann
c5a073cee8 Improve enable paybutton view 2020-07-22 15:29:24 +02:00
Dennis Reimann
ed81a17039 Code formatting 2020-07-22 15:29:03 +02:00
Dennis Reimann
22f8c4b88b Render messages only when present 2020-07-22 15:28:31 +02:00
Nicolas Dorier
27d7d03d4c Merge pull request #1745 from dennisreimann/recovery-seed
Recovery seed
2020-07-22 20:55:20 +09:00
Nicolas Dorier
ca8d83099f Merge pull request #1752 from dennisreimann/login
Login/register view improvements
2020-07-22 20:53:01 +09:00
Nicolas Dorier
3b250dbbd0 Merge pull request #1759 from bolatovumar/fix/1758
Place status message in correct positions for cart and static versions of POS app
2020-07-22 20:47:43 +09:00
Umar Bolatov
bc0215b647 Place status message in correct positions for cart and static versions of POS app
fix #1758
2020-07-20 20:32:26 -07:00
Umar Bolatov
25527ec1dd Use nameof() instead of strings 2020-07-20 20:02:14 -07:00
Dennis Reimann
9e1ac8cd28 Update test 2020-07-20 17:46:25 +02:00
Dennis Reimann
8688334f0d Update views dependent on simple layout 2020-07-20 16:53:49 +02:00
Dennis Reimann
8d6a70ed7b Minor login/register adjustments 2020-07-20 15:20:23 +02:00
Umar Bolatov
36e3eeecaa Allow sorting apps by store, name or app type
close #1568
2020-07-19 15:20:18 -07:00
nicolas.dorier
25d08c1a71 Fix swagger doc for approve payout 2020-07-19 15:56:15 -05:00
Dennis Reimann
7c1d0f2e8f Recovery seed page improvements 2020-07-19 15:52:57 +02:00
Dennis Reimann
0e8cd20533 Login/register/error view updates 2020-07-19 14:28:07 +02:00
Dennis Reimann
6bc5c05cf3 Fix text and test 2020-07-17 18:00:10 +02:00
Dennis Reimann
dbf6676115 Recovery seed page improvements 2020-07-17 18:00:09 +02:00
Dennis Reimann
188774f30a Seed-lookup related test fixes 2020-07-17 18:00:08 +02:00
Dennis Reimann
cfef1f3432 Add separate recovery seed backup view
fix
2020-07-17 18:00:07 +02:00
Dennis Reimann
892ea0e9af Login/register view improvements
Consistently aligned the texts centered and moved the Tor URL button below the form.
2020-07-17 17:51:25 +02:00
Nicolas Dorier
f6549cda33 Merge pull request #1749 from btcpayserver/invoicepref
Save the latest search on invoices
2020-07-17 19:16:36 +09:00
rockstardev
9fb83f268b Fixing Unfiltered link to leverage empty string for clear 2020-07-17 04:32:33 -05:00
Nicolas Dorier
31d927c93d Merge pull request #1750 from britttttk/rbf-doc
Use BTCPay doc for RBF tooltip
2020-07-17 16:46:51 +09:00
Nicolas Dorier
16977009ea Merge pull request #1751 from bolatovumar/feat/1743
Allow selecting all notifications on the page at once
2020-07-17 15:35:05 +09:00
Umar Bolatov
08db3b1613 Allow selecting all notifications on the page at once
close #1743
2020-07-16 21:52:40 -07:00
britttttk
32c6228dfa Use btcpay doc for rbf tooltip 2020-07-16 22:38:19 -06:00
nicolas.dorier
f3700c39e3 Save the latest search on invoices 2020-07-17 13:24:41 +09:00
Nicolas Dorier
7d0aa8d91f Merge pull request #1729 from xpayserver/feat/enhance-monero
Show sync progress for monero and show amount of monero payment
2020-07-17 12:45:22 +09:00
Nicolas Dorier
bdfe77dbb5 Merge pull request #1746 from btcpayserver/api/fix-keys-requirement
GreenField: Remove requirement for permissions >= 1 when creating key
2020-07-17 12:44:22 +09:00
Nicolas Dorier
2e225a1435 Merge pull request #1712 from dennisreimann/login
Redesign login and register / refactor create user
2020-07-17 12:39:08 +09:00
Kukks
c2a4bc2603 GreenField: Remove requirement for permissions >= 1 when creating key
Sometimes you just want to have an api key to verify a user still exists periodically on a server and do not need any permissions
2020-07-16 10:26:04 +02:00
nicolas.dorier
561caf966a bump 2020-07-16 12:34:39 +09:00
Nicolas Dorier
33eb5f8117 Merge pull request #1742 from bolatovumar/feat/1709
Allow mass-archiving of invoices
2020-07-15 12:27:25 +09:00
Nicolas Dorier
efa62e72af Merge pull request #1741 from dennisreimann/2fa-view
UI: Minor enhancements to 2FA view
2020-07-15 12:26:11 +09:00
Umar Bolatov
94e8bf4a72 Allow mass-archiving of invoices
closes #1709
2020-07-14 19:58:52 -07:00
Dennis Reimann
391d7b01d1 UI: Minor enhancements to 2FA view
Improve hover highlight for light and dark theme. APply a bit more spacing to the 2FA link cells.

Also fixes table row highlight in light theme.
2020-07-14 13:29:26 +02:00
Kukks
9d1cd085ea ad psbt base64 file upload test 2020-07-14 09:52:17 +02:00
nicolas.dorier
311972c39f Update changelog 2020-07-14 16:43:48 +09:00
Nicolas Dorier
72d4fa6cd0 Merge pull request #1740 from btcpayserver/psbt-decode
streamline decode of uploaded psbt file + fix action button alginment
2020-07-14 16:43:19 +09:00
Kukks
016bf1d671 add download psbt action 2020-07-14 09:36:58 +02:00
nicolas.dorier
406b06a0be Update changelog 2020-07-14 16:31:01 +09:00
Nicolas Dorier
24439f1dc2 Merge pull request #1737 from btcpayserver/payjoin-hw-fix
Fix Payjoin HWW signing
2020-07-14 16:29:11 +09:00
Nicolas Dorier
15df2dfb0c Merge pull request #1735 from btcpayserver/2fa-config-screen
Fix 2FA config screens
2020-07-14 16:27:09 +09:00
Kukks
d393cee732 streamline decode of uploaded psbt file + fix action button alginment 2020-07-14 09:18:40 +02:00
nicolas.dorier
4c175ca340 bump version 2020-07-14 16:05:07 +09:00
nicolas.dorier
5ed21fd740 Update lang 2020-07-14 16:04:58 +09:00
nicolas.dorier
88af6c441f Can refund invalid invoices 2020-07-14 15:42:37 +09:00
Dennis Reimann
5da9bd1784 Minor fixes and improvements for login and register 2020-07-13 21:30:09 +02:00
Dennis Reimann
a122c38666 Add copy tor url button to login and register 2020-07-13 21:29:42 +02:00
Dennis Reimann
e9870a4455 Improve forgot password view 2020-07-13 19:09:59 +02:00
Dennis Reimann
dbb8dae5e2 Login and register as secondary buttons 2020-07-13 19:09:50 +02:00
Dennis Reimann
6f9043b2bc Improve validation message spacing 2020-07-13 19:09:21 +02:00
Dennis Reimann
0235624c64 Unify get and post routes for create user 2020-07-13 19:08:47 +02:00
Dennis Reimann
ea8f121cb0 Rework login and register views 2020-07-13 17:32:19 +02:00
Dennis Reimann
9b9cb83a06 Dissect register and create user 2020-07-13 17:32:18 +02:00
Dennis Reimann
17421497a1 Extract supporter styles from layout 2020-07-13 17:29:47 +02:00
Dennis Reimann
761f6152d0 Unify welcome and error layout to LayoutSimple 2020-07-13 17:29:47 +02:00
Kukks
eb14635a53 broadcast hww payjopin immediately 2020-07-13 15:02:51 +02:00
Nicolas Dorier
37b065ce6a Merge pull request #1736 from btcpayserver/basic-auth-fix
fail auth on incorrect basic auth value
2020-07-13 18:03:26 +09:00
Nicolas Dorier
dd0f8faf79 Merge pull request #1707 from Kukks/corsapi
Enable CORS and fix small doc error
2020-07-13 18:01:43 +09:00
Kukks
006ebf3f15 Fix 2FA config screens 2020-07-13 10:58:53 +02:00
Kukks
572c7ebbd8 Fix Payjoin HWW signing
fixes #1557
2020-07-13 10:54:39 +02:00
Nicolas Dorier
b728cd61ae Merge pull request #1716 from arc3x/pull-payment-view-filter-fix
Fix: Filter payouts by PullPaymentDataId when fetching transactions for a specific pull payment
2020-07-13 17:40:55 +09:00
Nicolas Dorier
04f71155b0 Merge pull request #1721 from dennisreimann/ui-updates-account
UI updates: Account section
2020-07-13 17:39:35 +09:00
Nicolas Dorier
e45c5ae71e Merge pull request #1724 from bolatovumar/fix-1723
Widen destination address field and make it monospace
2020-07-13 17:39:09 +09:00
Nicolas Dorier
632911d28c Merge pull request #1727 from dennisreimann/ui-updates-server
UI updates: Server settings section
2020-07-13 17:38:33 +09:00
Nicolas Dorier
5fb72513a0 Merge pull request #1733 from bolatovumar/fix-1732
Improve "Pull payments" table look
2020-07-13 17:37:59 +09:00
Kukks
4b392ad70a fail auth on incorrect basic auth value
fixes #1713
2020-07-13 08:35:13 +02:00
Nicolas Dorier
42f6fbb4e5 Merge pull request #1504 from Argoneum/argoneum
Add Argoneum
2020-07-13 15:00:44 +09:00
Umar Bolatov
afce1682a6 Replace pull payments body copy with a tooltip docs link 2020-07-12 12:45:30 -07:00
Umar Bolatov
9f7af1c7d3 Replace | with - in pull payments table actions column 2020-07-12 12:37:36 -07:00
Umar Bolatov
ca1355f80c Right-align "Actions" column in pull payments table 2020-07-12 12:35:11 -07:00
rockstardev
0d2f35c22f Merge pull request #1731 from btcpayserver/fix/json-indent
Modifying launchSettings.json to follow 2 space indent convention
2020-07-12 07:50:51 -05:00
Umar Bolatov
6c71949888 Improve "Pull payments" table look
fix #1732
2020-07-11 21:03:46 -07:00
rockstardev
91e06d0858 Modifying launchSettings.json to follow 2 space indent convention 2020-07-11 16:45:44 -05:00
rockstardev
fe776edc9e Updating dev LND to 0.10.2-beta 2020-07-11 16:31:38 -05:00
XPayServer
1c7185a574 Show sync progress for monero and show amount of monero payment 2020-07-11 17:44:27 +02:00
Dennis Reimann
8a7825f3bd Improve service settings view 2020-07-09 17:22:28 +02:00
Dennis Reimann
3f23531f20 Improve email settings view 2020-07-09 17:22:22 +02:00
Dennis Reimann
29d95a53a3 Improve users list view 2020-07-09 17:22:06 +02:00
Dennis Reimann
718835255f Improve spacing for status messages 2020-07-09 17:21:29 +02:00
Dennis Reimann
ca1f910d55 Improve maintenance view 2020-07-09 17:20:43 +02:00
Dennis Reimann
0e410af63f Fix spacing for subnavs on mobile 2020-07-09 17:20:08 +02:00
Dennis Reimann
0bbe095f6f General table style improvements 2020-07-09 17:19:25 +02:00
Umar Bolatov
8b1a457312 Widen destination address field and make it monospace
fix #1723
2020-07-08 19:58:57 -07:00
Dennis Reimann
7a46b2fd1b Improve user profile view 2020-07-08 19:20:32 +02:00
Dennis Reimann
bfd25b8a14 Improve API keys list view 2020-07-08 19:20:24 +02:00
Dennis Reimann
dae8163846 Improve change password view 2020-07-08 19:20:11 +02:00
Dennis Reimann
4db6c16068 Improve U2F view 2020-07-08 19:19:55 +02:00
Dennis Reimann
906ecc021b Improve 2FA views 2020-07-08 19:19:29 +02:00
Dennis Reimann
8fc593a73e Improve secondary login view 2020-07-08 19:18:40 +02:00
Dennis Reimann
f8e3b62edf Improve spacing for ordered lists and status messages 2020-07-08 19:18:04 +02:00
Oleg Semyonov
3051724ad8 Add Argoneum 2020-07-07 07:44:45 +03:00
Oleg Semyonov
b82abb066d Fix typo 2020-07-07 07:43:33 +03:00
Matthew
ccfb97612e forwarded filter for PullPaymentDataId in GetPayoutInPeriod 2020-07-06 15:49:39 -07:00
Matthew
6bf3dd96fb Merge pull request #1 from btcpayserver/master
upstream pull
2020-07-01 11:36:58 -07:00
Kukks
f1e8b4b6e6 fix json 2020-06-30 08:54:57 +02:00
Kukks
82af723f1f Enable CORS and fix small doc error 2020-06-30 08:26:19 +02:00
Nicolas Dorier
aeb90a3674 Merge pull request #1706 from dennisreimann/store-lightning
Improve information structure on Lightning page
2020-06-30 11:06:07 +09:00
Nicolas Dorier
64ab8e3fbe Merge pull request #1704 from btcpayserver/fix/code-cleanup-1
Code cleanup
2020-06-30 11:04:49 +09:00
Dennis Reimann
f7474340cd Update BTCPayServer/Views/Stores/AddLightningNode.cshtml
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2020-06-29 22:38:50 +02:00
Dennis Reimann
04acbf6509 Improve information structure on Lightning page 2020-06-29 16:54:07 +02:00
rockstardev
f88c02cccd Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
rockstardev
be5e0ea3fd Adding editorconfig reference 2020-06-28 21:48:10 -05:00
rockstardev
b6c7af32de Cleaning up bom from cs files 2020-06-28 21:44:35 -05:00
rockstardev
29294318d0 Specifying utf-8 as default charset for all files 2020-06-28 21:44:09 -05:00
nicolas.dorier
d3325f17c5 Add missing file 2020-06-28 18:00:51 +09:00
nicolas.dorier
51514252b6 Run dotnet format 2020-06-28 17:55:27 +09:00
nicolas.dorier
18abc4913b Move hosting classes in right folder 2020-06-28 17:49:23 +09:00
nicolas.dorier
d2958e1a7d Move extensions methods in specific classes 2020-06-28 17:16:53 +09:00
Nicolas Dorier
be44c3f9c2 Isolate OnModelCreating in Data classes (#1702) 2020-06-27 21:55:16 +09:00
Zaxounette
72e407b69d Typos in PullPayments.cshtml (#1699)
Fixes typos in Pull Payments UI text.

No related issue, standalone PR.
2020-06-27 12:01:19 +02:00
Riccardo Masutti
66b9d0739b Set noindex, nofollow to ViewPullPayment.cshtml (#1700) 2020-06-27 12:00:10 +02:00
Riccardo Masutti
3e717ecdbc Set noindex, nofollow to ViewPaymentRequest.cshtml (#1701) 2020-06-27 11:58:55 +02:00
nicolas.dorier
91720a0f34 Add changelog 2020-06-27 15:43:10 +09:00
nicolas.dorier
9d531a385d bump 2020-06-27 15:39:58 +09:00
nicolas.dorier
26137200b9 Do not use Onion-Location for custom domains (Fix #1693) 2020-06-27 15:39:02 +09:00
nicolas.dorier
376b5fc160 Fix warning message when using SQLite (Fix #1695) 2020-06-27 15:35:32 +09:00
Nicolas Dorier
dbb2924ccc Fix: Create store could be called with a scoped store's modify apikey (#1696) 2020-06-27 15:34:03 +09:00
nicolas.dorier
d0188f42b7 Fix crowdfound on root 2020-06-27 15:33:34 +09:00
nicolas.dorier
6208706d46 Better error message if permission missing 2020-06-27 14:05:56 +09:00
nicolas.dorier
3288264ca0 Add changelog 2020-06-27 12:23:27 +09:00
nicolas.dorier
16f2ddddf0 Fix Point of Sale with custom domains 2020-06-27 12:21:19 +09:00
nicolas.dorier
783185d99c Fix Point of Sale with custom domains 2020-06-27 12:13:17 +09:00
Andrew Camilleri
4ca83de131 changelog (#1669)
* changelog

* Update Changelog.md

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>

* Update Changelog.md

* Update Changelog.md

* Update Changelog.md

* Update Changelog.md

* Update Changelog.md

* Update Changelog.md

* Update Changelog.md

* Update Changelog.md

* Apply suggestions from code review

Co-authored-by: Pavlenex <pavlenex@btcpayserver.org>

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: Pavlenex <pavlenex@btcpayserver.org>
2020-06-26 23:07:35 +09:00
nicolas.dorier
f2b986a357 Remove warnings 2020-06-26 20:52:59 +09:00
Kukks
a0065bc2ba catch cancled task exception in notif 2020-06-26 11:54:18 +02:00
nicolas.dorier
dc43b54892 bump version 2020-06-26 17:09:00 +09:00
nicolas.dorier
603a3dd273 bump NBitcoin 2020-06-26 16:29:40 +09:00
nicolas.dorier
16b5f70e4b Fix permission on store's lightning server 2020-06-26 16:20:34 +09:00
Kukks
9a989b46cc add supporter 2020-06-26 07:12:22 +02:00
nicolas.dorier
6c64e7c220 Update fi-FI language 2020-06-25 18:03:33 +09:00
Kukks
d66325a241 fix coin parser for weird networks 2020-06-25 10:51:27 +02:00
Kukks
bf8190d122 bump nbx docker 2020-06-25 10:33:05 +02:00
Nicolas Dorier
23aec25686 Merge pull request #1685 from dennisreimann/broken-links
Check and fix broken anchor links.
2020-06-25 17:25:43 +09:00
Nicolas Dorier
405c0c609f Merge pull request #1691 from Eskyee/patch-9
remove unnecessary whitespace
2020-06-25 17:22:15 +09:00
Nicolas Dorier
95e0f3378d Merge pull request #1690 from btcpayserver/consolidatetables
Consolidate tables before release
2020-06-25 17:17:57 +09:00
Esky33
c9850a5e24 remove unnecessary whitespace
cleaning up the unnecessary white space.
2020-06-25 08:33:34 +01:00
Nicolas Dorier
3cf7d01f37 Merge pull request #1688 from Kukks/fix-coin-parser
fix ypub/zpub parsing for all alts
2020-06-25 15:45:02 +09:00
nicolas.dorier
ae9fae1f7d Consolidate tables before release 2020-06-25 15:43:45 +09:00
Nicolas Dorier
69b423edc8 Merge pull request #1689 from btcpayserver/invoicerefund
Implement invoice refund
2020-06-25 15:32:17 +09:00
nicolas.dorier
5e8b379c50 Add invoice refund 2020-06-25 15:31:46 +09:00
nicolas.dorier
d03124dfba Add an approval state to pull payments 2020-06-25 13:35:10 +09:00
nicolas.dorier
fdc11bba8d Remove old unused refund table 2020-06-25 13:34:25 +09:00
Andrew Camilleri
dc5d8a6cb7 Refresh UI notifications automatically on update (#1680)
* Refresh UI notifications automatically on update

* make notif timeago live

* pass cancellation token

* Update InvoiceEventData.cs
2020-06-24 10:23:16 +02:00
Kukks
2042f59283 fix ypub/zpub parsing for all alts
@gruve-p reported that ypub import was not working and then found this. no ypub/zpub import for any alts worked before lol
2020-06-24 10:18:45 +02:00
Nicolas Dorier
8230a408ac Add pull payment feature (#1639) 2020-06-24 10:34:09 +09:00
gruve-p
7805e5cea4 Fix version byte for zpub (#1686) 2020-06-24 10:19:50 +09:00
Dennis Reimann
36868644dc Check and fix broken anchor links.
In addition to #1682.
2020-06-23 17:51:25 +02:00
Kukks
321b67efd4 remove password type input on passphrase 2020-06-23 16:41:04 +02:00
Dennis Reimann
9ea42dd981 Checkout CSS improvements (#1684)
* Checkout: Hide hidden items

As [reported on Mattermost](https://chat.btcpayserver.org/btcpayserver/pl/4mxado5a3ifnzxyhrszusz4q8e) the old way of hiding does not work well with widescreen displays.

* Checkout: Minor theme improvements
2020-06-23 16:25:43 +02:00
Riccardo Masutti
631d97c6b3 Fix 404 link (#1682) 2020-06-23 22:52:19 +09:00
Andrew Camilleri
13569fe4a2 Improve notifications UI (#1678)
* Add No JS support for notification seen toggle

* Invalidate cache when user toggles seen/massaction

* mark notif as seen after click

* add additional mass actions

* fix formatting

* add pav changes

* invalidate cache on new notifs
2020-06-23 10:06:02 +09:00
Andrew Camilleri
12e2b93ac9 Add invoice notifications (#1674)
* Add invoice notifications

* fixeth le order

* comment-to-code auto commit

* reduce notifications
2020-06-22 16:32:51 +09:00
Andrew Camilleri
0dd1b668cd Support wasabi file format input (#1671)
* Support wasabi file format input

This adds support to importing the wasabi file format which seems to be used more for imports by Wasabi,ColdCard,BlueWallet & Cobo Vault (and way better than electrum anyway)

* fixes

* add test
2020-06-22 15:39:29 +09:00
Peter Williams
e751be21ea Altcoin - Add Chaincoin (#1636)
* Altcoin - Add Chaincoin

* Image

* Altcoin - Rating CHC

* Altcoin - Chaincoin insertion

* Revert

* Fix large diff

* Unit Test revert
2020-06-22 14:41:20 +09:00
Nicolas Dorier
15b8a159f5 Merge pull request #1672 from NicolasDorier/refactor/bip78
Adapt payjoin for BIP78
2020-06-22 13:58:14 +09:00
nicolas.dorier
24a88fcfb5 Adapt payjoin for BIP78 2020-06-22 13:57:42 +09:00
Esky33
9f842be53a fixed broken URL links (#1677) 2020-06-20 17:08:50 +02:00
Andrew Camilleri
c6632fe083 Change generate wallet passphrase to text input to fix autocomplete (#1676) 2020-06-20 16:02:36 +02:00
nicolas.dorier
0b720768b8 Asyncify NotificationManager 2020-06-17 11:26:21 +09:00
Nicolas Dorier
9f12fe7e0a Merge pull request #1670 from btcpayserver/refactor/notifications2
Introduce INotificationHandler
2020-06-17 10:12:16 +09:00
nicolas.dorier
cff5b82b06 Introduce INotificationHandler 2020-06-16 23:29:25 +09:00
Nicolas Dorier
677cc3bee9 Merge pull request #1666 from NicolasDorier/refactor/notificatoin
Small refactoring of Notifications
2020-06-16 15:46:27 +09:00
nicolas.dorier
aef5cc50d5 Add the StoreScope 2020-06-15 20:52:53 +09:00
Andrew Camilleri
6729827645 Update greenfield-development.md 2020-06-15 12:45:05 +02:00
nicolas.dorier
d7eeadac41 Do not allow generation of dummy even if regtest 2020-06-15 17:19:03 +09:00
nicolas.dorier
7cdfa7d4c5 Use attribute to map notifcations to their string 2020-06-15 17:19:03 +09:00
nicolas.dorier
9070b475ea Make the NotificationSender more generic 2020-06-15 17:19:02 +09:00
Kukks
43a99bfef2 fix supporters 2020-06-15 10:08:38 +02:00
rockstardev
18ffd678b7 Bugfixing context factory reference 2020-06-15 01:25:55 -05:00
rockstardev
7566d3dac8 Tweaking date display in notifications 2020-06-15 01:23:55 -05:00
rockstardev
741b93dc04 Removing obsolete NotificationDbSaver hosted service 2020-06-15 01:22:09 -05:00
rockstardev
b19298f633 Merge pull request #1651 from btcpayserver/feat/notifications
Notification system
2020-06-15 00:59:51 -05:00
rockstardev
1954dfd4d7 Removing Generate Test Notification button 2020-06-15 00:58:23 -05:00
rockstardev
31cc966b38 Bugfixing setting of Created, expanding test 2020-06-15 00:57:20 -05:00
rockstardev
261931c8ef Adding list notification test 2020-06-15 00:53:12 -05:00
rockstardev
2c44c25b25 Signaling reference pass, bugfixing reference to deserialized blob 2020-06-15 00:36:50 -05:00
rockstardev
f072ec3a8c Adding paging to notifications grid 2020-06-15 00:00:56 -05:00
rockstardev
113869bd08 Renaming to BaseNotification 2020-06-14 23:49:08 -05:00
rockstardev
0dab96f0a6 Moving Notification to dedicated Service namespace 2020-06-14 23:49:08 -05:00
rockstardev
342f63a625 Directly casting to NotificationEvent, evading null case 2020-06-14 23:49:08 -05:00
rockstardev
f52c6b65ce Switching to using registered IMemoryCache 2020-06-14 23:49:08 -05:00
rockstardev
07efa87fe5 Refactoring conversion of data to view model, switching to FillViewModel 2020-06-14 23:49:08 -05:00
rockstardev
ffa04b625a Changing case for private methods 2020-06-14 23:49:08 -05:00
rockstardev
b9807aac56 Add Notification entity to database in one migration 2020-06-14 23:49:08 -05:00
rockstardev
b973c0ab82 Removing database migrations in preparation for squashing them into one 2020-06-14 23:49:08 -05:00
rockstardev
0d876b9322 Removing csv jquery voodoo and using checkbox viewmodel mapping 2020-06-14 23:49:08 -05:00
rockstardev
09a72f2cfb Cascade delete notifications for user 2020-06-14 23:49:08 -05:00
rockstardev
455ac8786a Explicitly define NotificationType for NewVersionNotification 2020-06-14 23:49:08 -05:00
rockstardev
213e68859e Renaming class file 2020-06-14 23:49:08 -05:00
rockstardev
2f4967a23a Limiting Notification string fields 2020-06-14 23:49:08 -05:00
rockstardev
0c170fc399 Caching of notifications, refactoring NotificationManager into singleton 2020-06-14 23:49:08 -05:00
rockstardev
d1383d78c5 Disconnecting NotificationBase from Event, introducing NotificationSender 2020-06-14 23:49:08 -05:00
rockstardev
8876f1f992 Making NotificationEventBase classes internal to reduce leak 2020-06-14 23:49:08 -05:00
rockstardev
b53cb50a91 Pkzipping Notification blobs to keep with convention 2020-06-14 23:49:08 -05:00
rockstardev
1f35534dfb Providing overridable NotificationType property, direct mapping 2020-06-14 23:49:08 -05:00
rockstardev
294dad01c3 Switching to UserManager for fetching user id 2020-06-14 23:49:08 -05:00
rockstardev
0ec566e6df Removing modal reference that's not needed 2020-06-14 23:49:08 -05:00
rockstardev
536a85eadc Moving Notifications nav item to separate partial 2020-06-14 23:49:08 -05:00
rockstardev
8cdc73c31f Moving layout partial to separate folder 2020-06-14 23:49:08 -05:00
rockstardev
afaabd06d9 Abstracting conversion to ViewModel, requiring implementation on class 2020-06-14 23:49:08 -05:00
rockstardev
bb6f6e7d27 Adding icon to Action link 2020-06-14 23:49:08 -05:00
rockstardev
73588ea22b Generalizing saving to database and registration of NotificationEventBase classes 2020-06-14 23:49:08 -05:00
rockstardev
b6e3ad9325 Refactoring code to extract claim parsing 2020-06-14 23:49:08 -05:00
rockstardev
7e9bf9598d Providing support for mass actions on notifications, delete first 2020-06-14 23:49:08 -05:00
rockstardev
3680e03cdb Moving to structure where click on td is counted as seen 2020-06-14 23:49:08 -05:00
rockstardev
0b89598f39 Marking notification read through js magic 2020-06-14 23:49:08 -05:00
rockstardev
bad4c9dc60 Confirming deleting of notification 2020-06-14 23:49:08 -05:00
rockstardev
95a751c505 Displaying last 5 notifications in Layout 2020-06-14 23:49:08 -05:00
rockstardev
359e761922 Mark read and unread 2020-06-14 23:49:08 -05:00
rockstardev
654bb0c8ca Displaying number of unread messages in _Layout.cshtml 2020-06-14 23:49:08 -05:00
rockstardev
3eb503b13b Tweaking notification display and allowing deletion 2020-06-14 23:49:08 -05:00
rockstardev
31e0bb43e8 Updating migration with our ef core voodoo magic
We're deleting partial designer classes and moving attributes to main class
2020-06-14 23:49:08 -05:00
rockstardev
4bc0fd98ca Saving notifications to database and loading them from there 2020-06-14 23:49:08 -05:00
rockstardev
9206f0cd2e Handling notifications event and rendering them through controller 2020-06-14 23:49:08 -05:00
rockstardev
e834cd7595 Add Notification Entity migration 2020-06-14 23:49:08 -05:00
rockstardev
50e1e2d982 Standardizing DbSet properties, reducing whitespace 2020-06-14 23:49:08 -05:00
rockstardev
6ddb20d022 Foundation for events to propagate notifications 2020-06-14 23:49:08 -05:00
rockstardev
0cacfa140b Renaming Notice to Notification
Longer, but what can we do...
2020-06-14 23:49:08 -05:00
rockstardev
1ab016d21e Foundation for notices grid 2020-06-14 23:49:08 -05:00
rockstardev
6ad7d18c42 Escaping at character in link 2020-06-14 23:31:54 -05:00
Nicolas Dorier
a46774c2ee Merge pull request #1663 from Kukks/supporters
Handle Supporters display
2020-06-15 09:15:56 +09:00
Kukks
58f9b9b0c1 Handle Supporters display
closes #1624
2020-06-14 16:09:36 +02:00
Nicolas Dorier
0000257dcc Merge pull request #1659 from Kukks/psbt-fullprev
Add AlwaysIncludeNonWitnessUTXO to Wallet Send
2020-06-14 22:47:57 +09:00
Andrew Camilleri
8c3907df82 add info 2020-06-14 15:45:58 +02:00
Nicolas Dorier
f7c1dff576 Merge pull request #1660 from woutersamaey/icon-colors-bootstrap-friendly
Colored "check" and "times" icons green or red the bootstrap way
2020-06-14 22:12:20 +09:00
Nicolas Dorier
16982dc76a Merge pull request #1662 from bolatovumar/fix-1661
Update "Back to the app list" links to not open in new tab by default
2020-06-14 22:11:57 +09:00
Umar Bolatov
9532db7bae Update "Back to the app list" links to not open in new tab by default
fix #1661
2020-06-13 19:18:38 -07:00
Wouter Samaey
a93062e0f0 Colored "check" and "times" icons green or red the bootstrap way 2020-06-12 15:22:39 +02:00
Andrew Camilleri
6c828a29ec Update greenfield-development.md 2020-06-12 14:10:43 +02:00
Kukks
b7c65b2ba6 Add AlwaysIncludeNonWitnessUTXO to Wallet Send 2020-06-12 13:58:55 +02:00
nicolas.dorier
f40a8853f6 Require Owner role to the store for modifying store via Greenfield 2020-06-12 18:26:20 +09:00
Nicolas Dorier
1889c33d80 Merge pull request #1656 from dennisreimann/docs-links
Update and fix documentation links
2020-06-12 14:51:12 +09:00
Nicolas Dorier
308ca479df Merge pull request #1655 from pavlenex/utxo-change
Rename "Make sure no UTXO change is created" to "Don't create UTXO change"
2020-06-12 14:50:38 +09:00
Nicolas Dorier
0b7d5c839a Merge pull request #1630 from Kukks/public-endpoint-json
Pay endpoint: if JsonResponse is true, send error in json too
2020-06-12 14:50:17 +09:00
Nicolas Dorier
9e0d6618b1 Merge pull request #1629 from Kukks/ipnorder
Add order id to IPN
2020-06-12 14:49:51 +09:00
Nicolas Dorier
02a2bd92af Merge pull request #1658 from NicolasDorier/thub
Add thunderhub integration
2020-06-12 14:29:11 +09:00
nicolas.dorier
03d90f79ea Add thunderhub integration 2020-06-12 14:28:28 +09:00
Dennis Reimann
b066cfd904 Update and fix documentation links 2020-06-11 16:09:33 +02:00
Pavlenex
475d7f01b7 fix broken link 2020-06-11 12:22:33 +02:00
Pavlenex
b30597b8f1 Change the seed saved in NBXplorer to hot wallet (#1652)
* Change the seed saved in NBXplorer name

* the hot wallet
2020-06-11 12:19:40 +02:00
Pavlenex
1824f03d35 Rename UTXO change 2020-06-11 12:10:51 +02:00
Dennis Reimann
4cd3d167b1 Autofocus 2FA-code input on page load (#1650)
UX improvement that allows you to directly paste the 2FA-code. Useful when you are using e.g. the 1Password browser extension.
2020-06-10 19:40:06 +02:00
Nicolas Dorier
4640c63094 Merge pull request #1637 from jad0c/patch-1
fix broken FAQ link in readme
2020-06-10 16:49:59 +09:00
Nicolas Dorier
2460012caa Merge pull request #1646 from Kukks/fix/pos-format
Fix possible view exception in pos app
2020-06-10 10:27:37 +09:00
Kukks
db7768ef57 Fix possible view exception in pos app
Replaced string.format with a simpler replace and also allow `{Price}` instead of `{0}` as it's obscure to non c# devs
2020-06-09 19:56:44 +02:00
Nicolas Dorier
74b6aa7353 Merge pull request #1623 from Kukks/telemetry
Opt out from telemetry data in docker
2020-06-09 22:07:51 +09:00
Nicolas Dorier
0e0297d650 Merge pull request #1643 from NicolasDorier/fix/ln
Fix lightning implementation, docs and tests
2020-06-09 21:52:45 +09:00
nicolas.dorier
8dd6ecc0b8 Fix lightning implementation, docs and tests 2020-06-09 17:24:34 +09:00
Nicolas Dorier
e84d4d3cb5 Merge pull request #1644 from btcpayserver/feat/lnd-0.10.1-beta
Bump LND version to 0.10.1-beta
2020-06-09 16:06:37 +09:00
rockstardev
da54154ae7 Bump LND version 2020-06-08 23:28:45 -05:00
Nicolas Dorier
a9dbbe1955 Merge pull request #1640 from btcpayserver/renametoscope
Rename Permission.StoreId to Permission.Scope
2020-06-07 23:27:11 +09:00
nicolas.dorier
3fbe86c286 Rename Permission.StoreId to Permission.Scope 2020-06-07 23:17:48 +09:00
Nicolas Dorier
0022e71dd4 Merge pull request #1628 from Kukks/greenfield/consistentreturn
GreenField: Handle status codes, error models consistently
2020-06-07 18:59:22 +09:00
Kukks
c74121fefc Opt out from telemetry data in docker
https://www.michaelcrump.net/part12-aspnetcore/
https://docs.microsoft.com/en-us/dotnet/core/tools/telemetry
2020-06-07 08:32:00 +02:00
Kukks
67c3581989 Add order id to IPN
fixes #1598
2020-06-07 08:31:42 +02:00
Kukks
1d1c1141a3 Pay endpoint: if JsonResponse is true, send error in json too
fixes #1532
2020-06-07 08:30:54 +02:00
Kukks
cf00784096 fix swagger 2020-06-07 08:30:04 +02:00
rockstardev
db209af787 Updating ports for merchant lnd
I saw several instances where btcpayservertests_merchant_lnd_1 failed to start in circleci
2020-06-07 01:24:47 -05:00
Kukks
30bd94ee43 fix tests 2020-06-07 08:21:45 +02:00
Kukks
f313a5f221 GreenField: Handle status codes, error models consistently 2020-06-07 08:21:45 +02:00
rockstardev
b9ef5af5d7 Fixing variable reference
Who'll save Emperor if not me
2020-06-06 23:52:21 -05:00
jad0c
59677b6521 fix broken FAQ link in readme 2020-06-06 21:44:13 -04:00
nicolas.dorier
56283df05a Can only sign with NBX if imported with NBX 2020-06-07 09:38:29 +09:00
Nicolas Dorier
ef271a088a Merge pull request #1634 from dennisreimann/minor-fixups
Minor fix ups
2020-06-06 09:48:28 +09:00
Dennis Reimann
6043b7c75d Minor fix ups
Resolves https://github.com/btcpayserver/btcpayserver/pull/1633#discussion_r435655010
2020-06-05 11:38:55 +02:00
Nicolas Dorier
c338779f0e Merge pull request #1633 from dennisreimann/onion-location
Add Onion-Location HTTP header
2020-06-05 11:09:55 +09:00
Andrew Camilleri
34239dc383 Update docs/greenfield-development.md
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-06-04 12:03:56 +02:00
Dennis Reimann
67758609a7 Add Onion-Location HTTP header
Closes #1626.
2020-06-04 08:53:55 +02:00
Andrew Camilleri
6af3b4a51d Update greenfield-development.md 2020-06-03 11:12:26 +02:00
Andrew Camilleri
16afca8058 Create GreenField Api Development Docs 2020-06-03 10:28:37 +02:00
nicolas.dorier
f2bb24f6ab Fix build error #1588 2020-06-03 15:49:27 +09:00
Nicolas Dorier
44ee7c66ce Merge pull request #1620 from NicolasDorier/additionaldata
[GreenField] Add additional data to allow roundtrip of upper version fields
2020-06-01 19:23:35 +09:00
Nicolas Dorier
117622200b Merge pull request #1622 from Kukks/network-rates-decouple
Remove dependency on Common from Rating
2020-06-01 15:25:19 +09:00
Kukks
340ba5c714 fix symbol 2020-06-01 08:13:39 +02:00
nicolas.dorier
9e16b506e5 Small esthetic refacotring 2020-06-01 13:10:21 +09:00
Nicolas Dorier
e865d85c2c Merge pull request #1619 from NicolasDorier/adddoc
[Greenfield] Document store API
2020-06-01 11:47:16 +09:00
Kukks
284e66c730 fix test 2020-05-31 20:54:50 +02:00
Kukks
587f244f1d Remove dependency on Common from Rating
replaces #1591 and #1592 , closes #1571 Replaces the Currencies.txt to a json format which includes the networks too ( there is also a test to check now) Also makes CurrencyPair not depend on network and instead use CurrencyNameTable
2020-05-31 20:54:50 +02:00
Kukks
379e5741e7 fix broken bootstrap theme generator link 2020-05-31 20:54:24 +02:00
nicolas.dorier
ec4c346e0a [Greenfield] Document store API 2020-05-31 12:04:23 +09:00
nicolas.dorier
5099f98d2a [GreenField] Add additional data to allow roundtrip of upper version fields 2020-05-31 11:51:36 +09:00
Nicolas Dorier
ebc99adc58 Merge pull request #1615 from NicolasDorier/refactor/timespan
Always use second based TimeSpan in Greenfield
2020-05-31 10:55:40 +09:00
nicolas.dorier
048dff7e9e Always use second based TimeSpan in Greenfield 2020-05-31 08:52:32 +09:00
Nicolas Dorier
a70934938a Merge pull request #1605 from dennisreimann/pos-refactoring
Point of Sale Refactoring
2020-05-30 13:14:50 +09:00
nicolas.dorier
d9a93f996f Merge branch 'master' of https://github.com/btcpayserver/btcpayserver 2020-05-29 18:47:40 +09:00
Nicolas Dorier
3456d87bb5 Merge pull request #1612 from Kukks/api/swaggerln
Api/swaggerln
2020-05-29 18:47:25 +09:00
Kukks
4947fa4d45 Add also money json converter 2020-05-29 10:15:01 +02:00
Kukks
37f4b34b5e Add Lightmoney json converter + do swagger defs for ln api 2020-05-29 10:04:28 +02:00
nicolas.dorier
66206399e1 Rename LightningPrivateRouteHint =>privateRouteHints 2020-05-29 09:03:07 +09:00
Andrew Camilleri
1e3f62718d GreenField: Cross-implemenation Lightning Node API (#1566)
* GreenField: Cross-implemenation Lightning Node API

* switch to hard unrsstricted check

* fix

* set LightningPrivateRouteHints in swagger + stores api

* add priv route hint

* rename models and add swagger defs to models
2020-05-29 09:00:13 +09:00
Nicolas Dorier
114ab98059 Merge pull request #1611 from Kukks/fix/pr-expiry-big
Fix: Paid payment requests are not marked as completed if there is an expiry date set
2020-05-29 08:58:58 +09:00
Nicolas Dorier
47baa219fd Merge pull request #1609 from NicolasDorier/pj3
Adapt PJ implementation to latest BIP
2020-05-29 08:58:38 +09:00
Kukks
96509717cb Fix: Paid payment requests are not marked as completed if there is an expiry date set 2020-05-28 17:45:06 +02:00
Nicolas Dorier
89bbcb6092 Merge pull request #1610 from pavlenex/supporter-new
Add new supporter to readme
2020-05-29 00:05:21 +09:00
Kukks
95dbb65612 GreenField: Payment Request property missing jsonconverter 2020-05-28 16:57:03 +02:00
Kukks
7db8d52624 add missing title in swagger payment request def 2020-05-28 16:53:50 +02:00
Kukks
77073fa78c fix swagger schema 2020-05-28 16:42:47 +02:00
Dennis Reimann
9e315f99d0 POS: Updates from code review 2020-05-28 12:50:08 +02:00
Kukks
16ad3ee7fe Add test for payment request payment status update in greenfield 2020-05-28 09:48:47 +02:00
Dennis Reimann
559015c70d POS: Test fixes 2020-05-28 09:40:34 +02:00
Pavlenex
15d02dab4f Add new supporter to readme 2020-05-28 09:28:42 +02:00
Dennis Reimann
332a1da167 POS: Updates from code review 2020-05-28 08:59:48 +02:00
Dennis Reimann
e12aa9e657 POS: Use views instead of partials 2020-05-28 08:50:04 +02:00
nicolas.dorier
9503e07dc8 Adapt PJ implementation to latest BIP 2020-05-28 13:35:48 +09:00
Kukks
9b44370832 support version revision tags 2020-05-27 16:56:39 +02:00
Kukks
568015c58f add new supporter 2020-05-27 16:41:50 +02:00
Dennis Reimann
58f56eac90 POS: Updates from code review
Thanks @kukks
2020-05-27 14:20:21 +02:00
Nicolas Dorier
03532e4063 Merge pull request #1604 from janoside/master
Clarify/clean up warning shown when adding a lightning node
2020-05-27 12:34:36 +09:00
Nicolas Dorier
de6081c2dc Merge pull request #1602 from Kukks/electrum-file
Rename Coldcard to Electrum/Airgapped hardware wallets
2020-05-27 12:33:43 +09:00
Dennis Reimann
197b46880c POS: Separate static and cart views 2020-05-26 21:53:23 +02:00
Dennis Reimann
b7ec22ee89 POS: Set ViewType via optional URL parameter
Falls back to the DefaultView defined in the POS settings.

POS: Fix POST-Route
2020-05-26 21:53:22 +02:00
Dennis Reimann
fad53a9fa2 POS: Replace EnableShoppingCart with DefaultView 2020-05-26 16:48:47 +02:00
Nicolas Dorier
5b4fec11ed Merge pull request #1596 from NicolasDorier/random-rbf
Randomize RBF if the user does not care
2020-05-26 03:23:33 +09:00
Dan Janosik
0ef4602a65 Clarify/clean up warning shown when adding a lightning node 2020-05-25 13:42:58 -04:00
Kukks
c8f182f13f Rename Coldcard to Electrum/Airgapped hardware wallets
Also adds support to read the xpub from the file directly ( Cobo Vault support)
2020-05-25 15:49:44 +02:00
nicolas.dorier
36630d9586 Randomize RBF if the user does not care 2020-05-25 19:46:42 +09:00
nicolas.dorier
32f2acee53 Removed unexisting file in csproj 2020-05-25 16:08:16 +09:00
Nicolas Dorier
3be2ef5c91 Merge pull request #1599 from NicolasDorier/removeledger
Remove LedgerWallet direct integration
2020-05-25 07:50:33 +09:00
nicolas.dorier
7e5d269c39 Remove LedgerWallet direct integration 2020-05-25 07:41:30 +09:00
Nicolas Dorier
6e0c090622 Merge pull request #1597 from NicolasDorier/refactor/wallet-param
Refactor parameter passing in wallet functions
2020-05-25 07:15:52 +09:00
nicolas.dorier
cccf3ca617 The signing context should not be passed to PSBT screen 2020-05-25 07:05:01 +09:00
nicolas.dorier
9e9b5945fe Ensure the payjoin can generate a high R signature if the payer is sending it 2020-05-25 06:47:43 +09:00
nicolas.dorier
77f6019d82 Use EnforceLowR suggestion of NBXplorer for signing 2020-05-25 06:34:49 +09:00
nicolas.dorier
35432d919c Refactor common data structure for wallet into SigningContext 2020-05-25 06:29:06 +09:00
nicolas.dorier
25e6f82aa3 Refactor parameter passing in wallet functions 2020-05-25 04:55:28 +09:00
nicolas.dorier
d22993871f Bump NBXplorer 2020-05-24 20:19:06 +09:00
Andrew Camilleri
80563de587 Add support for Bitpay invoice create property "paymentCurrencies" (#1589) 2020-05-24 19:11:26 +09:00
Nicolas Dorier
b5102c4269 Bump NBX (#1595) 2020-05-24 17:59:43 +09:00
Andrew Camilleri
9d215ea27d Reuse same html and handling of commands for PSBT signing/ Wallet Send (#1587)
* Reuse same html and handling of commands for PSBT signing/ Wallet Send

* fix ledger
2020-05-24 04:31:21 +09:00
Andrew Camilleri
cdf6886c39 Require loggedin user for docs? (#1567)
* Require loggedin user for docs?

We had talked before that docs should be for authorized users only. We had it in when we had Nswag but must have lost it after we switch to manual swagger files

* fix
2020-05-24 04:18:51 +09:00
Andrew Camilleri
79b034b505 GreenField: Add properties to Store API (#1573)
* GreenField: Add properties to Store API

* Update StoreBaseData.cs

* fix api

* fix swagger
2020-05-24 04:13:18 +09:00
nicolas.dorier
bfba105aec Update packages (may fix #1590) 2020-05-22 19:23:37 +09:00
nicolas.dorier
1bbdaa1251 Make sure replaced transactions have linethrough in the invoice list 2020-05-21 01:50:39 +09:00
Nicolas Dorier
ca462bec84 Merge pull request #1585 from btcpayserver/feat/private-route-hints
Adding private route hints based on store settings
2020-05-20 08:10:08 +09:00
rockstardev
eb5dcab32d Upgrading to BTCPayServer.Lightning to 1.1.15 2020-05-19 18:00:35 -05:00
rockstardev
ca3acdacdc Setting PriveRoute hints when creating lightning invoices 2020-05-19 16:47:26 -05:00
rockstardev
33f63508e8 Adding setting in checkout experience for inclusion of private route hints 2020-05-19 16:27:06 -05:00
Andrew Camilleri
5033cb3186 Support specifying payment method through apps (#1539)
* Support specifying payment method through apps

closes #1525
This is great if you want to offer items with an incentive to use a specific payment method without messing with the rates.
For example, you can have `Item A` which costs 25$ and your store is configured for USDT and BTC. You can create two items, with different prices, where Item A costs 20$ if you pay with bitcoin or 25$ if you paid in dirty fiat pegs

* make code cleaner

* Add Test

* fix test

* fix test
2020-05-20 03:54:24 +09:00
Nicolas Dorier
3d1122be7c Merge pull request #1583 from NicolasDorier/refactor/serverinfo
Refactor server info data structure
2020-05-20 03:43:39 +09:00
nicolas.dorier
1d092a15fb Refactor server info data structure 2020-05-20 03:27:06 +09:00
nicolas.dorier
501a21b89e bump .net core on dockerfile 2020-05-20 03:10:30 +09:00
Kukks
b9006e4417 fix rebase
# Conflicts:
#	BTCPayServer.Tests/GreenfieldAPITests.cs
2020-05-19 20:09:19 +02:00
Andrew Camilleri
5b3b96b372 GreenField: Payment Requests CRUD (#1430)
* GreenField: Payment Requests CRUD

* fixes

* fix swagger

* fix swag

* rebase fixes

* Add new permissions for payment requests

* Adapt PR to archive

* fix tst

* add to contains policxy

* make decimals returned as string due to avoid shitty language parsing issues

* do not register decimal json converter as global

* fix cultureinfo for json covnerter

* pr changes

* add json convertet test

* fix json test

* fix rebase
2020-05-20 02:59:23 +09:00
Nicolas Dorier
338a0f9251 Merge pull request #1576 from dennisreimann/api-server-info
GreenField: Add Server Info API basics
2020-05-20 02:31:16 +09:00
Nicolas Dorier
29ba761d7c Merge pull request #1581 from NicolasDorier/syncpj
Sync payjoin receiver implementation to the bip
2020-05-19 21:10:35 +09:00
nicolas.dorier
b96e668dfd Sync payjoin receiver implementation to the bip 2020-05-19 20:57:04 +09:00
nicolas.dorier
de3753d04e Rename payjoin optional parameters, implement sender minFeeRate 2020-05-19 20:57:03 +09:00
Umar Bolatov
2a030fe7fb Use different close button color variable (#1580)
fix #1579
2020-05-18 21:52:26 +02:00
Umar Bolatov
f595d823b6 Decode item description on POS app page (#1578)
fix #938
2020-05-18 21:51:58 +02:00
Dennis Reimann
78d191f7d8 Incorporate code review feedback 2020-05-18 16:51:21 +02:00
Dennis Reimann
3b6dbe76c5 Add sync state 2020-05-18 16:02:15 +02:00
Dennis Reimann
e3b348b55c GreenField: Add Server Info API basics 2020-05-18 15:29:04 +02:00
Andrew Camilleri
cf012a7946 fix dead link (#1575) 2020-05-18 08:44:12 +02:00
Nicolas Dorier
8d1ff01ee8 Adapt payjoin implementation to the BIP (#1569) 2020-05-17 05:07:24 +09:00
rockstardev
e9bda50054 Bumping LND to v0.9.2-beta in dev 2020-05-13 18:06:14 -05:00
Andrew Camilleri
8ca2824b00 Open wallet with BIP21 links (#1565)
* Open wallet with BIP21 links

https://i.imgur.com/IWefMKB.gifv

* remove debugger;

* Move to settings
2020-05-12 22:32:33 +09:00
nicolas.dorier
f7d70daff3 Add invalid-transaction as wellknown error 2020-05-12 21:42:51 +09:00
nicolas.dorier
42d27d69dc Merge db migrations 2020-05-10 00:53:21 +09:00
Nicolas Dorier
5a9d1e3257 Merge pull request #1560 from Kukks/archive-pr
Archive Payment reqeusts
2020-05-10 00:51:59 +09:00
Nicolas Dorier
9cc9a16bb9 Merge pull request #1556 from Kukks/invoice-archive
Archive Invoice
2020-05-10 00:51:11 +09:00
Nicolas Dorier
a3efe9a9dc Merge pull request #1561 from NicolasDorier/bp/new
Refactoring of payjoin to support new spec
2020-05-10 00:50:40 +09:00
Kukks
94b0b9498d adapt tests 2020-05-09 15:17:59 +02:00
Kukks
bb322d6bf3 add e2e test 2020-05-09 15:05:52 +02:00
nicolas.dorier
b0f820e95a Implement noadjustfee, feebumpindex and v parameters for payjoin 2020-05-09 21:22:00 +09:00
nicolas.dorier
da588380ed Remove httpCode from error message 2020-05-09 19:33:48 +09:00
Kukks
8fa65408ed Archive Payment reqeusts
closes #1588
2020-05-08 12:33:47 +02:00
Andrew Camilleri
2d68d0da63 Redo App template editor with Vue based app (#1544)
* Redo App template editor with Vue based app

* fix styles better

* remove debug

* support methods

* make price required

* fix styling for validation errors

* show create or edit in title based on context

* add border bottom when image present

* escape/unescape

* more validation fixes

* fix responsive style

* Toggle template field

* add errors to the app

* enhance validation
2020-05-08 05:37:59 +09:00
Andrew Camilleri
2bc7fa0316 Show warning when enabling Payjoin but supported payment methods are not using a hot wallet (#1545)
* Show warning when enabling Payjoin but supported payment methods are not using a hot wallet

https://i.imgur.com/RXBhr0n.png fixes #1474

* expose p2p port
2020-05-08 05:37:10 +09:00
chewsta
55f416c48c apply window scroll offset to copied notification offset (#1550)
resolves #1549
2020-05-08 05:35:25 +09:00
Andrew Camilleri
aff91f49ef Make fee rate options pretty (#1554) 2020-05-08 05:34:39 +09:00
Andrew Camilleri
ba02372d13 Try to tell browser that autocomplete is not welcome in generate wallet (#1555)
fixes #1553
2020-05-07 21:41:37 +09:00
Kukks
e5a3ef3e22 Archive Invoice 2020-05-07 12:50:07 +02:00
nicolas.dorier
137c3ef2ce Add changelog 2020-05-05 19:19:27 +09:00
nicolas.dorier
87352f0b62 Make sure wallet support decimal fee, and allow user to select different fee rate based on expected confirmation time 2020-05-05 19:10:53 +09:00
chewsta
2226884946 add qrcode margins (#1547)
addresses #1537 by adding a margin to the qrcodes in ShowLightningNodeInfo and WalletReceive (use same settings as Checkout)
2020-05-05 10:26:57 +02:00
nicolas.dorier
9d2cd46464 fix tests and bump 2020-05-05 07:23:00 +09:00
nicolas.dorier
f3b2b350ce Fix build 2020-05-05 07:06:32 +09:00
nicolas.dorier
96c04481da bump NBXplorer 2020-05-05 06:55:19 +09:00
nicolas.dorier
dad2642fa7 Make sure we match the user's sequence 2020-05-05 04:45:10 +09:00
rockstardev
59bdb943dd Reverting invoice row display so AM/PM is not cut off 2020-05-04 01:42:02 -05:00
Andrew Camilleri
67da6ee379 Decimal precision and filter valid transaction (#1538)
The liquid transactions list was showing all transactions to the wallet, even when it had nothing to do with the specific crypto code (e.g sending LBTC txs in USDT, LCAD in USDT, etc). This PR fixes that.

It also uses the previously introduced checkout decimal precision fix to the Wallets screen, specifically the balance amount on wallet llist and balance change on transaction list.
2020-05-04 01:04:34 +09:00
Andrew Camilleri
9c9c102e74 fix PadRight formatter 2020-05-03 09:32:10 +02:00
Umar Bolatov
26241be6fa Ensure dropdown option doesn't overflow container (#1533)
fix #1526
2020-05-03 01:39:39 +09:00
Andrew Camilleri
2bb4dd5d01 Fix decimal points shown in Checkout UI based on currency ( always showed btc decimal precision before) (#1529)
* Fix decimal points shown in Checkout UI based on currency ( always showed btc decimal precision before)

* cleanup ShowMoney
2020-05-03 01:28:35 +09:00
Nicolas Dorier
5312bb1dee Merge pull request #1535 from Kukks/elementsbump
Bump elements and fix test
2020-05-02 20:47:22 +09:00
nicolas.dorier
bf6f5aa335 Bump c-lightning 2020-05-02 20:33:55 +09:00
Kukks
4a58763f98 Bump elements and fix test 2020-05-02 13:26:55 +02:00
nicolas.dorier
b8202da7aa Fix tests 2020-05-02 00:59:36 +09:00
Nicolas Dorier
edfc82ac75 Merge pull request #1522 from Kukks/view-seed
Add View seed to wallet settings
2020-05-01 21:36:27 +09:00
nicolas.dorier
b28fc85974 Fix: Do not returns HTML content if authentication to API fails 2020-05-01 21:33:42 +09:00
Kukks
ab1b36bcdc add test for view seed 2020-05-01 13:34:11 +02:00
Nicolas Dorier
5443ac4688 Merge pull request #1531 from Kukks/api/store/prep
GreenField: Prep store for more data
2020-05-01 18:49:29 +09:00
Nicolas Dorier
d92d8ba0e4 Merge pull request #1524 from Kukks/txlist-labelfix
Add top Label filter + fix label link inconsistency
2020-05-01 18:47:48 +09:00
Nicolas Dorier
0f19d303eb Merge pull request #1527 from Kukks/app-inv-clean
Make App Inventory Updater run updates in order
2020-05-01 18:46:08 +09:00
Nicolas Dorier
1332f597e5 Merge pull request #1528 from Kukks/payjoin/ui-linkfix
Payjoin: Fix payjoin detection in checkout UI
2020-05-01 18:44:50 +09:00
nicolas.dorier
de004074b7 Fix typo 2020-05-01 18:43:40 +09:00
Nicolas Dorier
29741f39ac Merge pull request #1523 from Kukks/sender-payjoin-label
Tag payjoin for sender too
2020-05-01 05:27:33 +09:00
Kukks
33ea8984fc format 2020-04-30 16:44:27 +02:00
Kukks
85517b0344 GreenField: Prep store for more data
refactored things around a bit to make it cleaner for when we add more properties to the store model
2020-04-30 16:43:16 +02:00
Kukks
74c574255e Payjoin: Fix payjoin detection in checkout UI
sometimes, it would think there is a payjoin enabled invoice when really, it was just the address or asset id that has `pj` in it
2020-04-30 09:05:17 +02:00
Kukks
70d4e98dff Make App Inventory Updater run updates in order
followed the same logic we used in the new auto labelling
2020-04-29 14:51:37 +02:00
Kukks
f1900d30f2 clean format 2020-04-29 11:21:47 +02:00
Kukks
463567cb07 Add top Label filter + fix label link inconsistency 2020-04-29 10:11:23 +02:00
Kukks
53b0e675c3 Tag payjoin for sender too 2020-04-29 09:09:16 +02:00
Kukks
d323bb35cc Add View seed to wallet settings 2020-04-29 08:28:13 +02:00
nicolas.dorier
3e13e478ad Fix click on label 2020-04-29 01:43:41 +09:00
Nicolas Dorier
5f421b0679 Changlog 1.0.4.2 (#1513) 2020-04-29 01:23:02 +09:00
nicolas.dorier
c99fe54db1 bump 2020-04-29 01:21:58 +09:00
nicolas.dorier
05a2985c5b Changlog 1.0.4.2 2020-04-29 01:07:20 +09:00
Nicolas Dorier
47408498b9 Revert "View seed option if available (#1518)" (#1521)
This reverts commit e75b4ec6bf.
2020-04-29 00:57:41 +09:00
Andrew Camilleri
e75b4ec6bf View seed option if available (#1518) 2020-04-29 00:55:53 +09:00
Dennis Reimann
ff99ab1239 Improve pay button with custom text (#1520)
Fixes #1517.
2020-04-29 00:52:48 +09:00
Dennis Reimann
2841cd8498 Updates from design system (#1519)
* Use variable names as defined in the design system

* Use bootstrao version from design system
2020-04-29 00:48:55 +09:00
nicolas.dorier
519f4af867 Bump pj original tx broadcast timeout 2020-04-29 00:23:51 +09:00
nicolas.dorier
68cc3aba21 update translations 2020-04-29 00:22:48 +09:00
Andrew Camilleri
3a2970a495 Label Factory (#1516)
* Label Factory

* fix typo and format
2020-04-28 16:53:34 +09:00
Andrew Camilleri
b31fb1a269 Auto label utxos based on invoice and payjoin (#1499)
* Auto label utxos based on invoice and payjoin

This PR introduces automatic labelling to transactions.
* If it is an incoming tx to an invoice, it will tag it as such.
* If it was a payjoin tx , it will tag it as such.
* If a transaction's inputs were exposed to a payjoin sender, we tag it as such.

* wip

* wip

* support in coinselection

* remove ugly hack

* support wallet transactions page

* remove messy loop

* better label template helpers

* add tests and susbcribe to event

* simplify data

* fix test

* fix label  + color

* fix remove label

* renove useless call

* add toString

* fix potential crash by txid

* trim json keyword in manual label

* format file
2020-04-28 15:06:28 +09:00
Andrew Camilleri
3801eeec43 Payjoin: Better UIH1 & UIH2 based selection (#1473)
* Try to make SelectUTXO care about all inputs and outputs

* wip

* wip

* Add test and fix seelctor

* remove space

* review changes

* revert back to index check
2020-04-28 01:28:21 +09:00
Dennis Reimann
94cdd399d5 Finetune colors (#1514)
* Better harmonic neutral color progression

fix

* Invert light/dark colors for dark theme

fix

* Lighten form control borders a bit

* Use correct text color variables
2020-04-27 23:57:18 +09:00
Andrew Camilleri
c784144a07 Greenfield: Add update store API (#1495)
* Greenfield: Add update store API

* update update store model

* change greenfield controller name to stop conflict
2020-04-27 20:13:20 +09:00
Andrew Camilleri
b600e5777e Add tooltip for store deriv + show "Not set" + "show end piece of string" (#1507)
* Add tooltip for store deriv + show "Not set" + "show end piece of string"

fixes #1506

* use regex witchraft

* adjust with regex
2020-04-27 19:55:46 +09:00
Kukks
e49074d797 fix bip21 + coinselection combo bug in wallet send 2020-04-27 12:12:01 +02:00
Kukks
02d26467f9 remove fake bundle 2020-04-27 12:04:18 +02:00
Evan Kaloudis
e68b45c76a Update lightning-charge to v0.4.19 (#1511)
Changes the default units from mBTC to sats
2020-04-27 18:44:12 +09:00
Andrew Camilleri
f410f7d4d1 Hide LN option for liquid Assets (#1512)
Was getting a bit crowded for stuff that isn't supported yet.
2020-04-27 18:15:38 +09:00
Remco
d4dbe6fe17 Typo fix (#1503) 2020-04-27 05:18:36 +09:00
nicolas.dorier
c7305ba5e1 Bump lightning 2020-04-27 04:39:17 +09:00
Dennis Reimann
e11963aca0 Checkout dark theme improvements (#1510)
Increase the contrast for some elements. Closes #1508.
2020-04-27 04:23:03 +09:00
nicolas.dorier
2d77426e04 Bump lightning 2020-04-27 04:10:31 +09:00
nicolas.dorier
7e0f9e1d28 Fix docker-customer-lightning-cli.ps1 pay doesn't work (Fix #1509) 2020-04-27 03:59:16 +09:00
nicolas.dorier
18e181bb9f Bump lightning library, logs channel setup 2020-04-27 03:53:45 +09:00
nicolas.dorier
c3c9585a95 Bump BTCPayServer.Lightning 2020-04-27 02:29:34 +09:00
nicolas.dorier
4b5b941761 Update translations 2020-04-26 15:34:30 +09:00
nicolas.dorier
79c70b31a3 Fix tests 2020-04-26 01:47:47 +09:00
nicolas.dorier
072139f707 bump Nbitcoin 2020-04-26 01:11:50 +09:00
nicolas.dorier
9d80db98c5 bump NBitcoin 2020-04-26 01:01:09 +09:00
Kukks
a5df029d43 update test to loop through all formats for payjoin 2020-04-25 17:38:04 +02:00
nicolas.dorier
47f16aadd5 Rely on NBitcoin to get the expected hash 2020-04-26 00:26:02 +09:00
Andrew Camilleri
f8b2b18c6e Fix PJ (#1502)
* Fix P2SH-P2WPKH case for Payjoin (Fix #1500)

* fix p2sh issue

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2020-04-26 00:19:24 +09:00
Kukks
4be6c06af5 add payjoin e2e test for all compatible formats 2020-04-25 16:12:16 +02:00
Andrew Camilleri
92c58eea7f Fix: Sign with NBX option not present after decoding PSBT (#1497) 2020-04-23 22:02:26 +09:00
Andrew Camilleri
5e6049bf3f Payjoin fix: return psbt in same format it was received (#1496)
* Payjoin fix: return psbt in same format it was received

* fix formatting
2020-04-23 22:02:00 +09:00
Nicolas Dorier
7adaa146dc Merge pull request #1471 from dennisreimann/api-health-endpoint
GreenField: Add health check endpoint
2020-04-23 02:44:11 +09:00
Nicolas Dorier
e3b51f593e Merge pull request #1411 from Kukks/api/stores/get
GreenField: Create/Get/Delete Stores
2020-04-23 02:42:29 +09:00
Kukks
e64094dfcc fix permissions for client api tester 2020-04-22 15:12:38 +02:00
Kukks
cb6fcadb86 add scope test 2020-04-22 15:05:13 +02:00
Kukks
297b84a18b add request name validation 2020-04-22 15:05:13 +02:00
Kukks
b7c0e049b5 fix bug in permission store selector 2020-04-22 15:05:13 +02:00
Kukks
aeef160d0b separate store swagger 2020-04-22 15:05:13 +02:00
Kukks
34c1a304a9 Add Create Store 2020-04-22 15:05:13 +02:00
Kukks
4f1ae4733c remove store api 2020-04-22 15:05:13 +02:00
Kukks
e009c1a25a Fixing CheckNoDeadLink test now that btse blocks our call from circleci 2020-04-22 15:05:13 +02:00
Kukks
79f12a7058 fix client 2020-04-22 15:05:13 +02:00
Kukks
deb197cfa5 GreenField: Get Stores 2020-04-22 15:05:13 +02:00
Kukks
2710130667 add error message instead of 500 status
fixes #1494
2020-04-22 14:18:36 +02:00
Dennis Reimann
48163961ed Rename LCAD image (#1493)
Fixes #1491.
2020-04-22 08:47:44 +02:00
Dennis Reimann
8658cb5f29 Re-add versioning for btcpay.js (#1489) 2020-04-22 08:24:29 +02:00
Kukks
a6a56e4791 fix controller 2020-04-21 17:09:17 +02:00
Dennis Reimann
22e39998e2 Updates from code review
Thanks @kukks!
2020-04-21 16:43:14 +02:00
Dennis Reimann
70d1056d48 API: Health endpoint returns synchronized state 2020-04-21 16:29:54 +02:00
Dennis Reimann
3bd5c3e1b5 API: Add health check endpoint 2020-04-21 14:59:33 +02:00
Nicolas Dorier
0a1a4fd3b5 Merge pull request #1490 from bolatovumar/fix-1488
Make both sides of payment request table look same
2020-04-21 20:15:33 +09:00
Umar Bolatov
e508b22d34 Make both sides of payment request table look same
fix #1488
2020-04-20 20:45:59 -07:00
Nicolas Dorier
a7815f107e Merge pull request #1485 from Kukks/fix/pay-request-url
Fix: Payment request redirects to non-existing (404) URL after paymen…
2020-04-20 18:39:59 +09:00
Nicolas Dorier
ded5670108 Merge pull request #1486 from Kukks/hotwalletwarning
Show warning when using hot wallet on non admin
2020-04-20 01:56:18 +09:00
nicolas.dorier
c1ffeb331b Fix typo 2020-04-20 01:47:27 +09:00
Nicolas Dorier
ad1148d3e2 Merge pull request #1487 from ketominer/master
Fix MySQL support (fixed width columns instead of blobs) replaces #1484
2020-04-19 21:26:36 +09:00
ketominer
a7b926d907 fixed Address field size (back) 2020-04-19 13:48:05 +02:00
Kukks
1f7a821c09 Show warning when using hot wallet on non admin
closes #1475
2020-04-19 13:45:51 +02:00
Kukks
bf45edb5d8 Fix: Payment request redirects to non-existing (404) URL after payment completed
fixes #1479
2020-04-19 13:12:07 +02:00
ketominer
686f5bf151 Fix MySQL support (fixed width columns instead of blobs) 2020-04-19 11:15:06 +02:00
Kukks
426fe793e6 remove versioning for btcpay.js
fixes #1483
2020-04-19 09:29:20 +02:00
Nicolas Dorier
aee55103a3 Merge pull request #1477 from dennisreimann/asset-cache-busting
Improve static asset caching
2020-04-19 05:32:20 +09:00
Nicolas Dorier
778bf97079 Merge pull request #1478 from dennisreimann/assert-link-not-dead
Improve AssertLinkNotDead test output in case of exception
2020-04-19 03:10:45 +09:00
nicolas.dorier
2dcb3111f8 Add changelog 2020-04-19 03:05:23 +09:00
Dennis Reimann
03d1f98402 Improve AssertLinkNotDead test output in case of exception
If the test fails with an exception other than the `EqualException` the failed URL isn't logged. This general exception handler takes care of e.g. `HttpRequestException` and reports the URL that failed to be checked.

Stumbled upon this while checking why [this test run](https://app.circleci.com/pipelines/github/btcpayserver/btcpayserver/2934/workflows/0525d9fd-e4de-49dc-957b-d98b16a9abd4/jobs/7199/parallel-runs/0/steps/0-102) fails.
2020-04-18 19:33:53 +02:00
nicolas.dorier
34755b32dc bump 2020-04-19 02:09:12 +09:00
Nicolas Dorier
6679ee1ca2 Merge pull request #1472 from Kukks/payjoin/p2shfixes
Fix Payjoin p2sh
2020-04-19 02:01:10 +09:00
Dennis Reimann
8420c74b31 Improve static asset caching
Cache static assets for one year and set the correct cache control header. Adds the cache busting version based on file content to asset references to invalidate the cache on change. ([further details on the approach](https://andrewlock.net/adding-cache-control-headers-to-static-files-in-asp-net-core/) and [why one year](https://ashton.codes/set-cache-control-max-age-1-year/))

Most of the changes are the additions of the `asp-append-version="true"` attribute, the main configuration change is in `Startup.cs`.
2020-04-18 17:56:05 +02:00
Kukks
0077105a2d remove hacks 2020-04-18 08:29:07 +02:00
Kukks
51db617584 fixes 2020-04-18 08:09:49 +02:00
Kukks
514b695907 fix coin addition for p2sh 2020-04-18 08:09:49 +02:00
Kukks
b470ce2dad fix p2sh test error codes 2020-04-18 08:09:49 +02:00
Kukks
161850150a fix p2sh detection input 2020-04-18 08:09:49 +02:00
Kukks
b02cfa9d41 fix subtract fees auto tick when clicking on balance 2020-04-17 15:24:27 +02:00
Kukks
dfe655393d Fix enable payjoin when p2sh 2020-04-16 17:23:29 +02:00
nicolas.dorier
8c81dae167 bump 2020-04-16 22:44:53 +09:00
nicolas.dorier
de75d30f06 bump 2020-04-16 22:41:36 +09:00
Nicolas Dorier
8ba99d4e7c Merge pull request #1469 from NicolasDorier/changelog
Add changelog 1.0.4.0
2020-04-16 22:40:04 +09:00
nicolas.dorier
c3bc25a7d4 Add changelog 2020-04-16 22:38:38 +09:00
nicolas.dorier
42be03b560 bump nbx and nbitcoin 2020-04-16 19:37:10 +09:00
Nicolas Dorier
e73aece9c3 Merge pull request #1467 from dennisreimann/404-center-supporters
Center supporter logos on 404 page
2020-04-16 14:47:35 +09:00
Nicolas Dorier
69c57867b3 Merge pull request #1468 from NicolasDorier/persisit/offchaintx
Persist offchain transactions
2020-04-16 14:46:48 +09:00
nicolas.dorier
7434163848 Persist offchain transactions 2020-04-16 14:36:50 +09:00
Dennis Reimann
00d1c4ebcc Navbar fixes (#1466)
* Fix onion position in mobile navbar

* Show nav hover highlight only on desktop

* Fix navbar icon color
2020-04-15 17:13:58 +02:00
Dennis Reimann
26067fbfe2 Center supporter logos on 404 page 2020-04-15 16:49:13 +02:00
Kukks
03458efea4 Change payjoin endpoint key to pj 2020-04-13 11:52:22 +02:00
Kukks
bd21bf9c0f add payjoin tooltip 2020-04-13 11:51:25 +02:00
Nicolas Dorier
5b7a20c33e Merge pull request #1464 from NicolasDorier/payjoin/persistance
Persist planned transactions and locks for payjoin
2020-04-13 16:57:13 +09:00
nicolas.dorier
c73c34dfaa Persisting locked input and outpoints 2020-04-13 16:06:07 +09:00
nicolas.dorier
a3a9361ba5 Persist the Delayed Broadcaster 2020-04-13 16:00:33 +09:00
nicolas.dorier
2f0e9569a1 Fix build error 2020-04-13 15:57:57 +09:00
Nicolas Dorier
511a0efa89 Merge pull request #1465 from Kukks/hot-wallet-policy
add additional server policy for hot wallet RPC import
2020-04-13 15:51:01 +09:00
Nicolas Dorier
4ae91ba307 Merge pull request #1461 from bolatovumar/fix-1459
Make sure sponsor logos show up nicely on all screen sizes
2020-04-13 15:49:23 +09:00
Nicolas Dorier
3a70f467eb Merge pull request #1457 from bolatovumar/fix-1456
Add mnemonic phrase color CSS variable
2020-04-13 15:48:55 +09:00
Kukks
4e09bb0b01 add additional server policy for hot wallet
So that if you enable hot wallets for all, you can still not allow them to import to your RPC
2020-04-13 08:48:35 +02:00
Umar Bolatov
5ae18cf21f Make sure mnemonic phrase doesn't blend into background 2020-04-13 08:05:44 +02:00
Nicolas Dorier
6bfb6a795e Merge pull request #1462 from NicolasDorier/improve-ux-hotwallet
Do not ask for address confirmation if a new wallet is generated
2020-04-13 13:55:34 +09:00
nicolas.dorier
1d2540543b Payjoin: Randomly round the payment output if it is one input tx 2020-04-13 13:34:23 +09:00
nicolas.dorier
9efe6267d3 Do not ask for address confirmation if a new wallet is generated 2020-04-13 13:03:55 +09:00
Umar Bolatov
cb10551d2c Make sure sponsor logos show up nicely on all screen sizes
fix #1459
2020-04-12 15:08:28 -07:00
Nicolas Dorier
b0073af5aa Merge pull request #1408 from Kukks/api/api-key-uu-refactor
Refactor UI for Add APIKey/Authorize
2020-04-10 22:00:32 +09:00
Nicolas Dorier
7ca7f53446 Merge pull request #1447 from dennisreimann/modern-theme
New default theme
2020-04-10 16:55:55 +09:00
Kukks
ad284a4b61 Refactor UI for Add APIKey/Authorize 2020-04-10 09:49:01 +02:00
Kukks
95e7d5ded9 fix tests 2020-04-10 09:18:08 +02:00
Dennis Reimann
55722b3191 Improve border color themeing 2020-04-10 09:18:08 +02:00
Dennis Reimann
5e34efc9f4 Improve invoice table details display 2020-04-10 09:18:08 +02:00
Dennis Reimann
6f85ffd9df Update footer color 2020-04-10 09:18:08 +02:00
Dennis Reimann
9783a76c38 Fix generated API key color 2020-04-10 09:18:08 +02:00
Dennis Reimann
05952f95f1 Split light and dark theme
To make them explicitely selectable.
2020-04-10 09:18:08 +02:00
Dennis Reimann
b9c97cc5d7 Homepage updates 2020-04-10 09:18:08 +02:00
Dennis Reimann
d5b088b924 Improve color handling 2020-04-10 09:18:08 +02:00
Dennis Reimann
fbd5673cfd POS logo coloring fix 2020-04-10 09:18:08 +02:00
Dennis Reimann
dbb7ad083a Add alert-link classes where necessary 2020-04-10 09:18:08 +02:00
Dennis Reimann
ce7e4234cc Decrease font-size to match classic theme 2020-04-10 09:18:07 +02:00
Dennis Reimann
d2b38fdfce Set default theme for kitchensink 2020-04-10 09:18:07 +02:00
Dennis Reimann
fcdcc5e69b Update main nav hover
fix
2020-04-10 09:18:07 +02:00
Dennis Reimann
8d73606809 Footer updates 2020-04-10 09:18:07 +02:00
Dennis Reimann
15a7c4d092 Use consistent variable names 2020-04-10 09:18:07 +02:00
Dennis Reimann
c205e41072 Rename modern to default theme 2020-04-10 09:18:07 +02:00
Dennis Reimann
48c220b751 Header updates for light/dark theme
fix
2020-04-10 09:18:07 +02:00
Dennis Reimann
06ff268644 Update bootstrap and kitchensink
Discourage use of explicit light/dark classes, because they interfere with the approach of having parallel light/dark themes.
2020-04-10 09:18:07 +02:00
Dennis Reimann
9ee920a816 Draft modern theme
Based on the design input from Figma, see https://www.figma.com/file/C7Xyq0FlxgFW8vaBr8ht1z/BTCPAY?node-id=17%3A126

Color updates
2020-04-10 09:18:07 +02:00
Dennis Reimann
a403363015 Move font-size setting to site.css 2020-04-10 09:18:07 +02:00
Andrew Camilleri
6274958409 Trust the payment method details for the payjoin enabled and make invoice logs consistent (#1450) 2020-04-10 16:00:41 +09:00
Andrew Camilleri
d47e225dce Fix email sending on registration crash (#1454) 2020-04-10 15:59:39 +09:00
Francis Pouliot
841cf61c92 Add L-CAD support (new Liquid Asset) (#1448)
* Add Liquid CAD support

Adds the Liquid CAD asset ID from Bull Bitcoin

* Add the Liquid CAD logo

* Fix image asset

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2020-04-10 15:59:02 +09:00
gruve-p
2d2c5b46af Support RBF and PayJoin for GRS (#1455) 2020-04-10 15:38:00 +09:00
Nicolas Dorier
cc80e4636f Remove runtime compile on tests (#1453) 2020-04-09 23:19:45 +09:00
Andrew Camilleri
bb24c95e71 delete files on user delete (#1452)
fixes #1451
(I did not do a cascade delete for 2 reasons: Sqlite does not support the migration easily to alter a foreign key AND files would be orphaned in the storage with no record in the db)
2020-04-09 22:17:06 +09:00
Kukks
c7a4158a39 use payjoin key from constants 2020-04-09 14:07:26 +02:00
Andrew Camilleri
ed0e423aa7 Add payment link in checkout with payjoin indicator (#1449)
* Add payment link in checkout with payjoin indicator

* move to bottom
2020-04-09 20:44:08 +09:00
nicolas.dorier
1c0d713b00 Catch all error thrown by EndAccept 2020-04-09 20:36:19 +09:00
nicolas.dorier
70c80f4d44 Remove useless line 2020-04-09 20:27:24 +09:00
nicolas.dorier
e3f6de8472 Remove warnings, replace BIP79 by Payjoin, Fix strange error in Accept loop 2020-04-09 20:25:17 +09:00
nicolas.dorier
95644f8884 Fix tests 2020-04-09 19:44:16 +09:00
nicolas.dorier
f57db12c09 Document downside of socks proxy 2020-04-09 18:56:30 +09:00
nicolas.dorier
0d821ff4db Connection: close when using the internal proxy, fix gateway errors with connections in limbo 2020-04-09 18:49:30 +09:00
nicolas.dorier
6927d81175 Implement Http Tor proxy as a internal http proxy 2020-04-09 17:38:55 +09:00
Andrew Camilleri
e183714475 Add Tor Http Client Factory (#1445)
* WIP: Add Tor Http Client Factory

This PR adds a Tor Http Client Factory so that we can do HTTP requests over socks5( which we usually use tor's socks5).
Using it for payjoin when possible.

Currently have an issue where a 503 is always returned.  Must be something wrong with my tor config or the socks proxy lib Im using

* fix

* remove external dependency

* make payjoin client use tor client if available

* fix docker test

* use tor client only if available and necessary

* remove bip 79 mention
2020-04-08 22:40:41 +09:00
nicolas.dorier
6602823067 Refactor the input type detection 2020-04-08 22:14:16 +09:00
Nicolas Dorier
111feeb673 Merge pull request #1441 from Kukks/payjoin/p2sh
Payjoin: P2SH support
2020-04-08 22:00:07 +09:00
Kukks
3bf1b78b33 fix 2020-04-08 14:32:29 +02:00
Kukks
751ccc333f make test less slimfy 2020-04-08 14:32:29 +02:00
Kukks
624e6e4744 adapt 2020-04-08 14:32:29 +02:00
Kukks
73b13c750d add P2sh support 2020-04-08 14:32:29 +02:00
Kukks
148b04e9ba allow changing the payjoin key easily later 2020-04-08 14:32:29 +02:00
Kukks
32938479ac WIP: Payjoin: P2SH support 2020-04-08 14:32:29 +02:00
Nicolas Dorier
aae0086e68 Merge pull request #1443 from dennisreimann/wallet-view-improvements
Wallet view improvements
2020-04-08 21:25:31 +09:00
Nicolas Dorier
1f4556bd9d Merge pull request #1440 from dennisreimann/transactions-dropdowns
Fix transaction dropdowns
2020-04-08 21:24:23 +09:00
Nicolas Dorier
d7bb15cac3 Merge pull request #1442 from dennisreimann/docker-bitcoin-generate-shell-script
Add bitcoin generate shell script
2020-04-08 21:22:47 +09:00
Nicolas Dorier
9a54445785 Merge pull request #1439 from Kukks/monero-fix
monero fixes
2020-04-08 21:11:27 +09:00
Dennis Reimann
523edfef58 Fix wording for no vault connection 2020-04-08 13:29:54 +02:00
Dennis Reimann
5a841216b8 Add checkbox coin selection (js version) 2020-04-08 13:29:16 +02:00
Dennis Reimann
d6d58a98db Improve non-js coin selection 2020-04-08 13:15:03 +02:00
Dennis Reimann
6a0cda69c9 Wallet view improvements
As brought up by @kukks with [this comment](https://github.com/btcpayserver/btcpayserver/pull/1434#issuecomment-609724703). These improvements can be applied across themes, so these fixes are separated from the originating PR.
Pure visual finetunings for the Coin Selection form and amount/fee rate links.
2020-04-08 12:38:26 +02:00
nicolas.dorier
24691e5290 Bump NBitcoin and NBX 2020-04-08 19:34:12 +09:00
nicolas.dorier
b203d369fb Fix payjoin tests 2020-04-08 18:24:04 +09:00
nicolas.dorier
b1cc30d25d Fix sequence check on client 2020-04-08 17:51:22 +09:00
nicolas.dorier
72e64885be Fix sequence check on client 2020-04-08 17:42:50 +09:00
nicolas.dorier
f4a47f5197 Deterministically sort the UTXOs to select 2020-04-08 13:46:11 +09:00
Dennis Reimann
fe45152529 Add bitcoin generate shell script
The shell equivalent to the existing powershell script.
2020-04-07 18:13:47 +02:00
nicolas.dorier
9a9773853e Fix bug in payjoin receiver where too much fee could be substracted from receiver 2020-04-07 20:04:08 +09:00
nicolas.dorier
9d2ab8b154 The payjoin receiver can inject a fake change 2020-04-07 18:14:31 +09:00
nicolas.dorier
ba2184e21a Do not remove outputs in payjoin tx 2020-04-07 15:10:19 +09:00
Dennis Reimann
829b0dd5e2 Fix transaction dropdowns
As brought up by @kukks with [this comment](https://github.com/btcpayserver/btcpayserver/pull/1434#issuecomment-609720019). The problem exists across themes, so the fix is separated from the originating PR.
2020-04-06 18:16:41 +02:00
nicolas.dorier
9fc451c9ca Make stronger check on fee, let the merchant make bigger transaction if he pays the fee 2020-04-06 23:24:51 +09:00
Kukks
452568e740 monero fixes 2020-04-06 16:12:48 +02:00
Kukks
5503132ffc Fix vue-i18n var substitution error in checkout
fixes #1438
2020-04-06 13:38:58 +02:00
nicolas.dorier
17a6b7d34f Rename an error of pj to unsupported-input 2020-04-06 20:27:48 +09:00
nicolas.dorier
69ad9edc9a Check pj with 1 sat/b 2020-04-06 20:26:50 +09:00
Nicolas Dorier
80bb959ac3 Merge pull request #1415 from Kukks/wallet/camera
Scan address/bip21 with camera
2020-04-06 20:07:32 +09:00
nicolas.dorier
1e0587af26 Make sure tests use fixed fees 2020-04-06 19:18:49 +09:00
Kukks
16e35e8b55 update html styles 2020-04-06 11:51:01 +02:00
Kukks
8278926e42 change wallet send buttons 2020-04-06 11:51:01 +02:00
Kukks
1debbc3cdb Change error messages 2020-04-06 11:51:01 +02:00
Kukks
65c99ead1d cleanup 2020-04-06 11:51:00 +02:00
Kukks
2693dacae6 Scan address/bip21 with camera 2020-04-06 11:51:00 +02:00
Nicolas Dorier
7ce614f1c4 Merge pull request #1435 from btcpayserver/pr/dark-checkout
Dark checkout theme
2020-04-06 17:46:17 +09:00
Nicolas Dorier
79a0f97abb Merge pull request #1432 from Kukks/api/permission-blob
GreenField: Switch to Blob for API Keys
2020-04-06 17:42:32 +09:00
Nicolas Dorier
670e0ee7df Merge pull request #1436 from NicolasDorier/remove-rider-errors
Remove bugs reported by Rider
2020-04-06 17:36:07 +09:00
Nicolas Dorier
3f231a8894 Merge pull request #1437 from dennisreimann/manage-store-spacings
Improve section spacings on manage store page
2020-04-06 17:35:05 +09:00
Dennis Reimann
f5dfee7642 Improve section spacings on manage store page 2020-04-06 10:12:05 +02:00
nicolas.dorier
ab120c5dcb Fix tests 2020-04-06 17:05:03 +09:00
rockstardev
f085a5618b Defaulting Powered by BtcPayServer link to green in light and dark theme 2020-04-05 23:21:14 -05:00
nicolas.dorier
d939baac84 Give more information to the user if payjoin fails 2020-04-06 13:19:51 +09:00
rockstardev
41d70e8462 Tweaking black background on Pay with and Totals line, colors for dropdowns 2020-04-05 23:09:31 -05:00
nicolas.dorier
9af7edf8b8 Add comments to explain the Payment's ReceivedTime 2020-04-06 12:23:56 +09:00
nicolas.dorier
01a8c20ee8 Use better time precision for time in PaymentEntity 2020-04-05 23:57:43 +09:00
nicolas.dorier
4c966e2a09 Refactor the detection of the payjoin payment 2020-04-05 22:44:34 +09:00
nicolas.dorier
42aead3c89 A replacement payment should have the same fee as the replaced one 2020-04-05 20:48:00 +09:00
nicolas.dorier
a348960041 Make CanChangeNetworkFeeMode more resilient 2020-04-05 20:00:28 +09:00
nicolas.dorier
c737a25234 Add logs to test CanChangeNetworkFeeMode 2020-04-05 18:54:12 +09:00
nicolas.dorier
a01b2e4a83 Small optimization for faster AddDerivationScheme 2020-04-05 18:35:29 +09:00
Nicolas Dorier
5f838db281 Merge pull request #1431 from Kukks/api/merge-multiple-swagger
Swagger Generator: Merge multiple documents
2020-04-05 17:36:04 +09:00
nicolas.dorier
08beffb005 Make sure FindPaymentViaPolling does not requests over and over the same coins 2020-04-05 16:50:19 +09:00
Kukks
76b919d887 make swagger test use live endpoint 2020-04-05 09:43:49 +02:00
rockstardev
c106ac2c42 Adding margin around QR code 2020-04-04 23:44:47 -05:00
nicolas.dorier
4a1fb71e09 Do not print dangerous info in the logs 2020-04-05 12:33:10 +09:00
nicolas.dorier
98e2baae19 Remove bugs reported by Rider 2020-04-05 12:30:23 +09:00
Nicolas Dorier
963c69a0e0 Merge pull request #1321 from Kukks/bpu
BIP79
2020-04-05 12:10:55 +09:00
nicolas.dorier
fd026a9733 Refactor server-side 2020-04-05 12:02:36 +09:00
rockstardev
e76785a64e Removing background gradient
It's not smooth on most displays
2020-04-04 18:03:37 -05:00
rockstardev
1a8f222e46 Migrating fixes on default theme back to legacy style 2020-04-04 17:54:13 -05:00
rockstardev
24d26d7a44 Streamlining btnGroupLnd styling 2020-04-04 17:49:43 -05:00
rockstardev
c86370c25a Extracting css class for Powered by BtcPayServer 2020-04-04 17:28:00 -05:00
rockstardev
20cba1d3a1 Tweaking colors on language dropdown hover 2020-04-04 17:16:09 -05:00
rockstardev
3e2efc7f27 Adding first iteration of dark design 2020-04-04 16:47:37 -05:00
rockstardev
d2c29aaec6 Tweaking text opacity, recommended fee line consistency 2020-04-04 16:47:26 -05:00
rockstardev
bb1c5dead5 Moving selection slider to bottom to comply with new design 2020-04-04 16:32:44 -05:00
Kukks
41cc79600a Swagger Generator: Merge multiple documents
It's becoming very hard to edit the swagger file as it grows (especially with multiple PRs altering it). This PR allows the swagger file to be generated from multiple jsons instead which are merged in the controller.
2020-04-04 14:22:07 +02:00
Andrew Camilleri
238d4fceea Merge pull request #1426 from Kukks/fix-dead-link-tester
Fix dead link tester
2020-04-04 14:21:22 +02:00
Kukks
c6d75de3d7 GreenField: Switch to Blob for API Keys 2020-04-02 09:32:22 +02:00
Kukks
9e1ae29600 change broadcast button style 2020-03-31 14:57:24 +02:00
Nicolas Dorier
d60b00e8cd Merge pull request #1425 from Kukks/coin-selection-fix
Fix coin selection filter bug
2020-03-31 18:43:41 +09:00
Kukks
49786f4195 add bitpay to blacklist 2020-03-31 11:13:22 +02:00
rockstardev
7b6eae6053 Fixing CheckNoDeadLink test now that btse blocks our call from circleci 2020-03-31 11:12:01 +02:00
Kukks
a408541eb3 Fix coin selection filter bug 2020-03-31 11:07:57 +02:00
Nicolas Dorier
1ba25448cc Merge pull request #1423 from btcpayserver/feat/new-invoice
New invoice design
2020-03-31 17:33:10 +09:00
Kukks
4d2e59e1a1 Change flow of payjoin in wallet + fix tests 2020-03-30 13:27:04 +02:00
rockstardev
7b4f686add Moving default theme back to root now that we don't have separate setting 2020-03-30 01:38:45 -05:00
rockstardev
ee0ef2881a Removing extra setting, depending on Custom CSS for bundled themes 2020-03-28 14:10:18 -06:00
Nicolas Dorier
22f79e9fe4 Merge pull request #1401 from Kukks/wallet-receive-improve
Allow wallet receive to generate new addresses
2020-03-29 00:38:32 +09:00
rockstardev
fdad5a47d5 Reformating file according to project standards 2020-03-27 18:04:30 -05:00
rockstardev
e32f3cbf80 Preserving legacy margin for previous CustomLogoLinks 2020-03-27 18:04:05 -05:00
Kukks
b56d026fdb small changes 2020-03-27 14:59:00 +01:00
Kukks
64717328f6 check output sum of proposed payjoin 2020-03-27 10:45:13 +01:00
Kukks
065be9be64 Revert back to original transaction if payjoined tx does not work 2020-03-27 10:45:13 +01:00
Kukks
10fcfab233 remove bpu TempData 2020-03-27 10:45:13 +01:00
Kukks
ff9865c516 fix tor docker 2020-03-27 10:45:13 +01:00
Kukks
59bae2c337 ToHashSet 2020-03-27 10:45:13 +01:00
Kukks
89d9793692 remove support from old ledger websocket 2020-03-27 10:45:13 +01:00
Kukks
23b2f55b47 use nameof 2020-03-27 10:45:13 +01:00
Kukks
886510c2e1 remove tor for now 2020-03-27 10:45:13 +01:00
Kukks
2b11b43d6d NRE fix 2020-03-27 10:45:13 +01:00
Kukks
d90ffb2254 move payjoin settings to store settings from checkout experience 2020-03-27 10:45:13 +01:00
Kukks
fc88a867fa try fix test 2020-03-27 10:45:13 +01:00
Kukks
e4cb1a875b Remove tor client factory 2020-03-27 10:45:13 +01:00
Kukks
1a62ee9260 try fix tor socks5 connection 2020-03-27 10:45:12 +01:00
Kukks
56d5e6f99f fixes 2020-03-27 10:45:12 +01:00
Kukks
f1821636db fix tor client creator 2020-03-27 10:45:12 +01:00
Kukks
2e3a0706ee RBF Protection & Handling 2020-03-27 10:45:12 +01:00
Kukks
89da4184ff BIP79 Support 2020-03-27 10:45:12 +01:00
nicolas.dorier
1895e154d9 Add missing file 2020-03-27 18:42:59 +09:00
nicolas.dorier
6d7b57ea3b A api key can always revoke itself, add a route to delete any api key 2020-03-27 14:46:51 +09:00
nicolas.dorier
39a8c3fe47 GreenField: Create API Key 2020-03-27 14:17:31 +09:00
Nicolas Dorier
927c09ff7b Merge pull request #1418 from NicolasDorier/refactor/greenfield-classes
Rename classes in Greenfield Authentication, use different AuthenticationScheme for Basic versus APIKey
2020-03-27 13:41:32 +09:00
nicolas.dorier
08abda1522 Restrict authentication to the APIController to GreenFieldAPIKeys 2020-03-27 13:34:03 +09:00
nicolas.dorier
d219ba5d32 Split the greenfield authhandler in two classes 2020-03-27 13:06:41 +09:00
nicolas.dorier
afdee9d8a2 Move directories, rename controllers 2020-03-27 12:58:45 +09:00
nicolas.dorier
ac14f199e4 Renaming GreenField classes 2020-03-27 12:55:21 +09:00
nicolas.dorier
76818fa385 Rename API Keys folder to GreenField 2020-03-27 12:44:21 +09:00
nicolas.dorier
49be370e51 Rename GreenField auth to APIKey auth in swagger doc 2020-03-27 12:43:06 +09:00
Nicolas Dorier
fbe89f1784 Merge pull request #1416 from pavlenex/invoice-summary
Rename Paid summary to Invoice Summary
2020-03-27 12:32:15 +09:00
rockstardev
b7afcb90a2 Tweaking checkout logo to be set from css 2020-03-26 19:49:04 -05:00
rockstardev
a6ac67963e Adding setting to CheckoutExperience to pick checkout theme 2020-03-26 19:49:00 -05:00
rockstardev
bde8ed7aa2 Extracting checkout theme css as separate link 2020-03-26 19:48:54 -05:00
rockstardev
ca234838a3 Tweaks for close button, recommended fee 2020-03-26 19:48:48 -05:00
rockstardev
d54d340bef Adjusting new color scheme on invoice 2020-03-26 19:48:42 -05:00
nicolas.dorier
a926a5eedf Fix warning 2020-03-26 22:56:30 +09:00
nicolas.dorier
0df5e7d7a3 Fix clone button in edit payment request (Fix #1414) 2020-03-26 22:54:47 +09:00
pavlenex
034fb4ec80 Rename Paid summary to Invoice Summary 2020-03-26 12:50:08 +01:00
Kukks
69482eb4fb Allow wallet receive to generate new addresses 2020-03-25 17:24:41 +01:00
nicolas.dorier
10e52f08be Prevent NRE exception 2020-03-26 01:21:47 +09:00
nicolas.dorier
5565d8dae5 Catch error with bitflyer 2020-03-26 01:21:46 +09:00
Nicolas Dorier
c633402fe2 Merge pull request #1410 from Kukks/coin-selection-fix
fix coin selection
2020-03-26 01:08:53 +09:00
nicolas.dorier
0688feea3c Fix docker files 2020-03-26 00:57:54 +09:00
nicolas.dorier
c906fd42df Add bitflyer direct integration 2020-03-26 00:48:01 +09:00
Kukks
6468b39121 try fix test again 2020-03-25 14:11:38 +01:00
Kukks
d0a95f5a69 fix coin selection 2020-03-25 14:11:38 +01:00
Nicolas Dorier
e36338d903 Merge pull request #1403 from Kukks/basic-auth
Greenfield API: Basic Auth
2020-03-25 21:00:14 +09:00
Nicolas Dorier
e596513fc1 Merge pull request #1409 from Kukks/fix-link-test
Fix Link checker test
2020-03-25 19:33:50 +09:00
Kukks
77588182b9 Make validation uniform 2020-03-24 23:44:26 -05:00
Kukks
ca00caa4a4 Do not allow 0 amount invocies for crowdfund and payment requests 2020-03-24 23:43:56 -05:00
Kukks
36bd76248b Allow Pay Button to work on Apps
This PR allows you to use the pay button generator to create buttons that target apps. This means that you can generate an invoice that is linked to an item on the POS/Crowdfund (targeting the item is optional). The POS/Crowdfund item amount -> invoice creation amount validation works too so that the user cannot modify the amount of a perk using just html ( fixes #1392 )
2020-03-24 23:43:47 -05:00
Kukks
f0f05acdfd Let 0 amount invoices pass through and allow email to be set when required but paid
@ketominer @Askuwheteau @IAskuwheteau
2020-03-24 23:43:19 -05:00
Kukks
6df7ffd7e2 lol windows phone 2020-03-24 08:55:47 +01:00
Kukks
91924512e6 Fix Link checker test 2020-03-24 08:00:47 +01:00
Kukks
7899c2d5c5 fix test 2020-03-23 21:18:40 +01:00
Kukks
56ba834ca2 Consolidate auth into one 2020-03-23 16:46:49 +01:00
nicolas.dorier
d57fdd4785 Remove useless delay in tests 2020-03-23 17:19:19 +09:00
nicolas.dorier
805e1f53b3 Test Wallet Receive, Send with NBX, Coin selection 2020-03-23 15:46:54 +09:00
Nicolas Dorier
40953ef2c6 Merge pull request #1399 from Kukks/coin-selection
New feature: Coin Selection
2020-03-23 14:05:11 +09:00
Nicolas Dorier
ff055c08fb Merge pull request #1404 from btcpayserver/pr/can-manage-wallet
Additional logging and tweaking for CanManageWallet test
2020-03-22 13:53:29 +09:00
rockstardev
f3d5cf3622 Additional logging and tweaking for CanManageWallet test 2020-03-21 12:23:02 -05:00
Kukks
e48e8c34d9 fix tst 2020-03-20 17:59:14 +01:00
Kukks
98a48cd0a5 fix swagger validation test 2020-03-20 17:37:39 +01:00
Kukks
f8f358ebdb add to client, fix tests and doc 2020-03-20 17:14:47 +01:00
Kukks
9d99c32305 add basic auth for greenfield 2020-03-20 14:07:31 +01:00
nicolas.dorier
478b1463ff Improve documentation 2020-03-20 20:26:36 +09:00
nicolas.dorier
7e7f0053e2 Improve documentation 2020-03-20 20:25:10 +09:00
nicolas.dorier
9a940a044e Fix tests 2020-03-20 20:00:30 +09:00
nicolas.dorier
d2864ccd7c Make sure ApiKeyData set all the fields, remove UserId 2020-03-20 20:00:05 +09:00
nicolas.dorier
ad4dbdad6d Fix the PermissionJsonConverter 2020-03-20 19:57:00 +09:00
nicolas.dorier
094307d688 Remove warning and improve UI of permission selection 2020-03-20 19:39:02 +09:00
nicolas.dorier
53e7c84e73 Fix tests 2020-03-20 18:56:30 +09:00
Nicolas Dorier
2a865284da Merge pull request #1402 from Kukks/liquid-assets-divisibility
Fix liquid asset BIP21 decimal precision
2020-03-20 18:39:05 +09:00
nicolas.dorier
4666238e38 Fix build 2020-03-20 18:38:21 +09:00
Kukks
b54a7b80e3 add tests and fix 2020-03-20 09:31:22 +01:00
nicolas.dorier
432d6bb261 Update documentation 2020-03-20 14:33:11 +09:00
nicolas.dorier
fb36ed2cae Fix tests 2020-03-20 14:07:42 +09:00
nicolas.dorier
55516a3253 Remove excessive folders 2020-03-20 14:03:28 +09:00
nicolas.dorier
a0e638d500 Switch from System.Text.Json to Newtonsoft, typify the BTCPayServer.Client 2020-03-20 14:01:51 +09:00
nicolas.dorier
2def9e7bd3 fix build 2020-03-20 13:58:07 +09:00
nicolas.dorier
0bfc12ae3d Fix build 2020-03-20 13:44:02 +09:00
nicolas.dorier
318d826694 Rename Permissions.Can.. to Policies.Can.. 2020-03-20 13:41:47 +09:00
Nicolas Dorier
44b3bb34a4 Merge pull request #1400 from NicolasDorier/refactor/permissions
Refactor permissions of GreenField
2020-03-20 13:30:58 +09:00
nicolas.dorier
46edc281b6 Fix tests 2020-03-20 13:22:10 +09:00
Kukks
d72139c2c1 Fix liquid asset BIP21 decimal precision
The way liquid assets decimal precision works is just an ui layer. Each unit of an asset is actually 1sat.
Fixes https://github.com/Blockstream/green_android/issues/86
2020-03-19 16:00:33 +01:00
nicolas.dorier
29a807696b Refactor permissions of GreenField 2020-03-19 23:43:51 +09:00
Kukks
517c65f1fc make no js version a littler better 2020-03-19 10:08:33 +01:00
Kukks
8f18be727b add clear option 2020-03-19 10:02:31 +01:00
Kukks
d6c66d0c03 New feature: Coin Selection
This opt-in feature allows you to select which utxos you want to use for a specific transaction.
2020-03-19 09:44:47 +01:00
nicolas.dorier
eac33d494a Add logs 2020-03-19 13:34:11 +09:00
nicolas.dorier
2105b44610 Make sure the create user is respecting the disable-registration settings 2020-03-19 13:30:53 +09:00
Nicolas Dorier
ab74013a05 Merge pull request #1398 from btcpayserver/pr/fix-tests
Adding loggin in CanManageWallet test, fixing UserControllerTests
2020-03-19 13:15:17 +09:00
rockstardev
967b02e373 Commenting out conflicting check 2020-03-18 19:17:15 -05:00
rockstardev
8432cd5477 Adding new check for expected behavior in UsersControllerTests 2020-03-18 19:01:27 -05:00
rockstardev
ccfca65c41 Reverting changes to UsersController because of CanCreateUsersViaAPI test 2020-03-18 18:55:45 -05:00
rockstardev
0a8abaf7d5 Refactoring if condition to ensure CanCreateUser permission
Fixing UsersControllerTests
2020-03-18 18:40:21 -05:00
rockstardev
47c1164003 Adding logging to detect failure of CanManageWallet test
If all logs are present it's possibly issue with TempData
2020-03-18 18:17:21 -05:00
nicolas.dorier
65d26ad8a1 improve redoc documentation 2020-03-18 23:35:17 +09:00
nicolas.dorier
0a0d8d53a4 Improve redoc 2020-03-18 23:30:27 +09:00
nicolas.dorier
e50e3f662d Can create user without authentication if there is no admin 2020-03-18 23:10:15 +09:00
nicolas.dorier
540a31207e Properly validate create user input 2020-03-18 20:51:50 +09:00
nicolas.dorier
132c36df7b Remove useless routes and info in swagger 2020-03-18 20:25:54 +09:00
nicolas.dorier
e351e0c9ea Remove dependency on NSwag 2020-03-18 20:08:09 +09:00
Nicolas Dorier
8d7b9fcef2 Merge pull request #1390 from Kukks/api/user-create
Greenfield API: Create User
2020-03-18 16:26:10 +09:00
Kukks
6e1f3989e8 remove special case 2020-03-18 08:10:35 +01:00
Kukks
e99767c7e2 Greenfield API: Create User
Slightly big PR because I started refactoring to reduce code duplication between the UI based business logic and the api one.
2020-03-17 08:21:27 +01:00
nicolas.dorier
c85fb3e89f Remove ndax from test suite (crashing exchange) 2020-03-17 13:19:55 +09:00
nicolas.dorier
348934488d Refactor tests for greenfield 2020-03-16 16:36:55 +09:00
Nicolas Dorier
6c8918a308 Merge pull request #1389 from Kukks/api/god-mode
Greenfield API: God Mode
2020-03-16 16:29:19 +09:00
Kukks
ff2ea5815c add else tests 2020-03-16 08:13:44 +01:00
Kukks
cc0202ecb3 fix test 2020-03-13 08:00:04 +01:00
Kukks
0c065df4bd Greenfield API: God Mode
When the `ServerManagement` permission is granted, you should be able to do everything in the system.
Maybe I should rename it to GodMode as a permission to not have any confusion with managing server settings (currently `ServerManagement`)?
2020-03-12 18:43:57 +01:00
Nicolas Dorier
b5664dac81 Merge pull request #1387 from Kukks/api/users-get-current
Greenfield API: Get current User
2020-03-12 23:20:18 +09:00
Kukks
8173296c96 Greenfield API: Get current User
Builds on #1368
This PR adds a new endpoint: Get current user.. It only returns the current user's id and email for now( let's extend later)
It also adds a new permission: `ProfileManagement` which is needed for this endpoint (and for update endpoints later)
2020-03-12 14:59:24 +01:00
Nicolas Dorier
71a00c0e67 Merge pull request #1384 from Kukks/api/authorize-ui
Make api docs only available after login
2020-03-12 12:00:00 +09:00
Kukks
70b172addc Make api docs only available after login 2020-03-11 18:05:40 +01:00
Kukks
2002c6750b target netstandard2.1 for Client 2020-03-11 16:54:53 +01:00
Kukks
786be9d1f5 fix tests 2020-03-11 16:54:53 +01:00
Kukks
233fa8a4a1 BTCPayServer.Client library + Revoke API Key 2020-03-11 16:54:53 +01:00
Nicolas Dorier
c74f52a61c Merge pull request #1383 from Kukks/fix-tests
fix e2e tests
2020-03-12 00:53:44 +09:00
Kukks
245507f821 fix e2e tests 2020-03-11 16:52:29 +01:00
Nicolas Dorier
5495c4b5d3 Merge pull request #1382 from NicolasDorier/betterrbf
Simplify RBF handling, and handle case of double spend happening outs…
2020-03-11 22:41:46 +09:00
nicolas.dorier
afd2c8e3d7 Bump nbx 2020-03-11 22:32:53 +09:00
nicolas.dorier
c8e1db2102 Better event messages 2020-03-11 21:11:07 +09:00
nicolas.dorier
95f859b6db Simplify RBF handling, and handle case of double spend happening outside of wallet (Fix #1375) 2020-03-11 21:05:12 +09:00
nicolas.dorier
6bf7ef0798 Revert "Simplify RBF handling, and handle case of double spend happening outside of wallet (Fix #1375)"
This reverts commit 42152050a3.
2020-03-11 20:57:19 +09:00
nicolas.dorier
42152050a3 Simplify RBF handling, and handle case of double spend happening outside of wallet (Fix #1375) 2020-03-11 20:46:37 +09:00
nicolas.dorier
67befcc629 bump 2020-03-10 22:48:17 +09:00
nicolas.dorier
3cdf881438 bump lightning libraries 2020-03-10 22:31:05 +09:00
nicolas.dorier
153992a458 Use good rng for generating API keys 2020-03-10 21:30:46 +09:00
nicolas.dorier
691a8d6fd8 Fix warnings 2020-03-10 21:28:00 +09:00
nicolas.dorier
a9bf843be0 Bump various libraries 2020-03-10 21:24:22 +09:00
Nicolas Dorier
60e5afe690 Merge pull request #1379 from Kukks/fix-cf
fix duplicate key error in crowdfunding
2020-03-10 20:58:09 +09:00
Nicolas Dorier
980bedf301 Merge pull request #1378 from pavlenex/supporter-btse
Add new supporter to readme and front page
2020-03-10 20:18:40 +09:00
Kukks
6f6e8ba1a1 fix duplicate key error in crowdfunding 2020-03-10 11:20:05 +01:00
pavlenex
d3af82e38b Add btse to readme and front page 2020-03-10 10:28:15 +01:00
nicolas.dorier
65afc9f7b2 Make sure dashboard is initialized from the beginning 2020-03-10 17:42:53 +09:00
nicolas.dorier
2e630ac5d8 WaitSiteIsOperational should only wait full sync 2020-03-10 17:24:38 +09:00
nicolas.dorier
e6acc19bcc Add a test catching expirationTime bug (#1336) 2020-03-10 17:11:15 +09:00
nicolas.dorier
c598a1827f Remove misleading error message (Fix #1377) 2020-03-10 16:33:50 +09:00
nicolas.dorier
1edd19f403 bump 2020-03-10 15:54:02 +09:00
Nicolas Dorier
1052e9a035 Merge pull request #1376 from Kukks/fix-sqllite-again
fix sqlite again
2020-03-10 15:52:38 +09:00
Kukks
5e15dd97b3 fix sqlite again
closes #1287
Seems like a merge conflict removed the fix for sqlite datetimeoffsets
2020-03-09 09:44:44 +01:00
Nicolas Dorier
7763ad5b2c Merge pull request #1372 from btcpayserver/pr/flaky-tests
Fixing ocassional CanManageWallet Selenium test fails
2020-03-06 19:22:43 +09:00
rockstardev
4e826553f8 Fixing ocassional CanManageWallet Selenium test fails
Looking through logs it seems like Generate button is never clicked, which can happen if modal is not displayed
https://circleci.com/gh/btcpayserver/btcpayserver/6167
2020-03-06 02:06:32 -06:00
nicolas.dorier
21c7bcca5a bump 2020-03-06 15:16:53 +09:00
Nicolas Dorier
1df0fe9deb Merge pull request #1369 from pavlenex/readme-macos-dev-video
Readme Update .Net Core to 3.1, Add MacOS video
2020-03-04 16:46:07 +09:00
Nicolas Dorier
7038c28429 Merge pull request #1370 from bolatovumar/prettify-receive-tab
Prettify wallet receive tab screen
2020-03-04 16:45:34 +09:00
Umar Bolatov
d9bdb46033 Prettify wallet receive tab screen 2020-03-03 21:15:27 -08:00
pavlenex
e0aad34105 Update .Net Core to 3.1, Add MacOS video 2020-03-03 22:44:58 +01:00
Nicolas Dorier
a88f46e1ab Merge pull request #1365 from bolatovumar/fix-1332
Specify QR code error correction level explicitly
2020-03-03 18:03:40 +09:00
Nicolas Dorier
ba480e40e6 Merge pull request #1362 from pavlenex/readme-deployment
add enviroment configuration to issue template
2020-03-02 18:17:36 +09:00
Nicolas Dorier
ef52d6b4c7 Merge pull request #1352 from Kukks/changelly-fiat
remove changelly fiat option
2020-03-02 18:10:50 +09:00
Nicolas Dorier
99f47e2848 Merge pull request #1360 from Kukks/pay-button-modal
Modal option for Pay Button
2020-03-02 18:10:14 +09:00
pavlenex
8046872315 Add private info note, change command 2020-03-02 10:07:50 +01:00
Nicolas Dorier
b282a70534 Merge pull request #1351 from Kukks/api/api-keys-get
GreenField API #1: Get current API Key info
2020-03-02 18:06:34 +09:00
Nicolas Dorier
991daefd85 Merge pull request #1359 from Kukks/cf-fixes
Use proper divisibility for payments in crowdfund and do not show too…
2020-03-02 18:04:14 +09:00
Nicolas Dorier
2a0353b6ff Merge pull request #1367 from btcpayserver/fix/flaky-tests
Fixing Selenium tests failing because of dynamic hidden elements
2020-03-02 17:58:06 +09:00
rockstardev
304caaaf1d Fixing Selenium tests failing because of dynamic hidden elements 2020-03-01 22:38:40 -06:00
rockstardev
4f5f52b937 Merge pull request #1366 from btcpayserver/pr/fix-931
Fixing modal Open Wallet click on iOS Safari by targeting iframe parent
2020-03-01 22:05:20 -06:00
rockstardev
0b4760bc29 Merge pull request #1361 from btcpayserver/pr/fix-1316
Showing the next available address in the invoices list
2020-03-01 21:49:14 -06:00
rockstardev
7f6d27cc5b Fixing modal Open Wallet click on iOS Safari by targeting iframe parent 2020-03-01 20:51:34 -06:00
rockstardev
f8520201ce Using tuple for payments partial model 2020-03-01 19:46:05 -06:00
Umar Bolatov
efda8ff5bd Specify QR code error correction level explicitly
fix #1332
2020-03-01 14:16:24 -08:00
pavlenex
27f964e2a1 add enviroment configuration 2020-02-29 10:46:07 +01:00
rockstardev
56380a5fb3 Formatting code 2020-02-28 23:15:14 -06:00
rockstardev
a303e793b4 Fixing CanCreateApiKeys test admin user check 2020-02-28 23:15:06 -06:00
rockstardev
2934c27ee5 Commenting decision to leave partial 2020-02-28 17:04:56 -06:00
rockstardev
44d4673981 Removing reference to InvoicePaymentsPartial.cshtml from Invoice.cshtml 2020-02-28 16:58:09 -06:00
rockstardev
fca6b39681 Revert "Remove the next address to pay to from Invoice details page (Fix #1056) (#1283)"
This reverts commit 6848482999.
2020-02-28 16:30:57 -06:00
Kukks
c3bfce7656 Modal option for Pay Button
closes #796
2020-02-28 16:01:44 +01:00
Kukks
c607696230 Use proper divisibility for payments in crowdfund and do not show tooltip if identical data
fixes #1037 and fixes #1003
2020-02-28 12:51:15 +01:00
Kukks
9eac33793a GreenField API #1: Get current API Key info 2020-02-26 16:20:32 +01:00
Nicolas Dorier
18aaa1a0c4 Merge pull request #1341 from btcpayserver/swagger
Add Swagger and Redoc
2020-02-26 19:02:35 +09:00
Kukks
e7eea1036b make api key delete use confirm page 2020-02-26 10:26:38 +01:00
Kukks
48c21baee5 add migration attributes and remove designer 2020-02-26 09:53:58 +01:00
Kukks
95b9884af7 Revert "consolidate migrations"
This reverts commit 501c3241b5.
2020-02-26 09:41:32 +01:00
nicolas.dorier
d9ea9fbffd Fix colspan 2020-02-26 17:34:32 +09:00
Kukks
0c7f35b000 fix swagger gen 2020-02-26 09:17:50 +01:00
Pavlenex
78f73132ed Delete docs folder (#1354) 2020-02-26 14:00:46 +09:00
rockstardev
5a93857b4a Simplifying delegate invoke
Ref: 0074790684 (r37477529)
2020-02-25 16:08:57 -06:00
Kukks
b71fd1653e remove changelly fiat option
closes #728
2020-02-25 16:44:19 +01:00
Kukks
ec80787120 fix 2020-02-25 15:33:04 +01:00
Kukks
501c3241b5 consolidate migrations 2020-02-25 15:00:47 +01:00
Kukks
0a8b303c11 add label for api keys, make api keys without -, fix null exception on authorize 2020-02-25 14:43:53 +01:00
nicolas.dorier
fec5637040 Replace Datetime.UTCNow by entity.InvoiceTime 2020-02-25 17:22:39 +09:00
nicolas.dorier
5cbe61e2e0 Allow user to set the expirationTime of invoice via the API (Fix #1336) 2020-02-25 17:21:08 +09:00
Kukks
023e64704d Add Swagger and Redoc
Blocked by #1262
2020-02-24 19:04:04 +01:00
Andrew Camilleri
276a9a95f9 Remove OpenIddict (#1244) 2020-02-25 00:40:04 +09:00
nicolas.dorier
d16a4334cb Fix error 500 on services page 2020-02-25 00:10:07 +09:00
Andrew Camilleri
fa51180dfa Api keys with openiddict (#1262)
* Remove OpenIddict

* Add API Key system

* Revert removing OpenIddict

* fix rebase

* fix tests

* pr changes

* fix tests

* fix apikey test

* pr change

* fix db

* add migration attrs

* fix migration error

* PR Changes

* Fix sqlite migration

* change api key to use Authorization Header

* add supportAddForeignKey

* use tempdata status message

* fix add api key css

* remove redirect url + app identifier feature :(
2020-02-24 22:36:15 +09:00
nicolas.dorier
a3e7729c52 Remove warnings 2020-02-24 22:12:50 +09:00
nicolas.dorier
2a7f6e4aa3 bump 2020-02-24 21:32:54 +09:00
Andrew Camilleri
1d61db4758 Add text customization for pay button (#1346)
* Add text customization for pay button

https://i.imgur.com/nFxscOZ.gifv

* pr changes
2020-02-24 21:29:29 +09:00
nicolas.dorier
ee524e36c5 bump 2020-02-24 21:25:52 +09:00
hannes
f097ecdc80 fix: remove ipn via email #1241 (#1337)
* fix: remove ipn via email #1241

* fix: remove ipn via email #1241
2020-02-24 21:21:03 +09:00
Andrew Camilleri
a354f7d9dd add GET endpoint for pay button (#1349)
closes #889
2020-02-24 21:18:04 +09:00
rockstardev
29d51ad2a2 Adding 1 second leeway for expiration 2020-02-21 17:09:03 -06:00
rockstardev
1be6408246 Adding logging to try and catch situations where invoice is not expired 2020-02-21 17:09:03 -06:00
Andrew Camilleri
34702d2633 Revoke Legacy Api Keys (#1344)
closes #1333
2020-02-21 13:40:00 +09:00
nicolas.dorier
b79b310bd5 Revert "Sort invoice list (Fix #1329)"
This reverts commit dc4f8a1fbe.
2020-02-21 11:29:09 +09:00
nicolas.dorier
dc4f8a1fbe Sort invoice list (Fix #1329) 2020-02-19 22:04:46 +09:00
Andrew Camilleri
6d0896084f Add JS Modal test (#1342) 2020-02-19 17:39:14 +09:00
Andrew Camilleri
d31bff7070 BPU Prep Work Part2 (#1340)
* BPU Prep Work Part2

* Adjust tests to use the hot wallet when registering deriv scheme
* Add amount to payment data view for onchain payments
* Make zone limits higher when in dev mode (for tests in next PR)
* Make IPaymentMethodDetails serialize/deserialize through payment type using the network
* Allow named settings through settings repo
* Refactor some extensions for next PR

* pr changes

* use json convert for now
2020-02-19 17:35:23 +09:00
nicolas.dorier
f2aab4cf03 Add warning if fail to load rates from cache 2020-02-16 23:04:48 +09:00
nicolas.dorier
c03dc48fe9 Do not crash if can't load rate cache 2020-02-16 22:07:56 +09:00
nicolas.dorier
143c909812 bump 2020-02-16 19:58:53 +09:00
Charles Hill
821b904163 Added SendGrid, Mailgun to Quick-fill email settings (#1335) 2020-02-15 14:37:29 +09:00
nicolas.dorier
6015eb337a Fix broken link 2020-02-15 14:36:36 +09:00
nicolas.dorier
5d817a0483 Revert fix mysql 2020-02-14 00:23:00 +09:00
nicolas.dorier
ee9905e85a Fix mysql 2020-02-14 00:07:19 +09:00
nicolas.dorier
ff4c7c364e Fix mysql 2020-02-14 00:02:47 +09:00
nicolas.dorier
a2d657f5cb Fix mysql migration 2020-02-13 23:58:48 +09:00
Andrew Camilleri
db6a4687d2 Wallet prep work for BPU (#1331)
* Wallet prep work for BPU

This PR prepares the wallet for #1321. It makes transfers from the vault and ledger to go to their own post actions for processing (not particularly useful in this PR but is needed in BPU to propose a new tx)  It also makes the Sign with seed consistent with redirect to /psbt/ready after signing which it did not do (it stayed on the seed route)

* fix test

* add assert
2020-02-13 22:06:00 +09:00
Andrew Camilleri
07f0d95f56 BIP21 Support for Wallet spending (#1322)
* BIP21 Support for Wallet spending

* extract bip21 loading to method

* add bip21 parsing test
2020-02-13 17:18:43 +09:00
Hans Looman
1a409a441d Update POLIS related entries (#1313)
* Update Polis related info and services

* Fix Polis Rate Fetcher

* Fix Polis ratefetcher - Cryptopia is obsolete

* POLIS rate provider changes to comply with internal testing

* URL / pair alignment

* Add small doc to re-trigger testing
2020-02-13 14:44:31 +09:00
Nicolas Dorier
445e184154 Merge pull request #1328 from pavlenex/readme
Minor readme cleanup + license clarification
2020-02-13 14:42:18 +09:00
pavlenex
9a10f55a85 Merge remote-tracking branch 'upstream/master' into readme 2020-02-12 19:11:53 +01:00
nicolas.dorier
ae33b1d0a8 Fix PSBT Redirect No-access issues 2020-02-12 16:35:24 +09:00
pavlenex
4ed2db83a5 fix a broken link 2020-02-09 19:01:52 +01:00
pavle
500aa85142 Fix broken links 2020-02-09 17:35:00 +01:00
pavle
3b6cc84a93 Minor readme cleanup + license clarification 2020-02-09 17:33:44 +01:00
Nicolas Dorier
5ce29d2bb8 Merge pull request #1325 from Kukks/fix-revoke-access
Fixes #1324 store token revoke redirect error
2020-02-08 21:54:43 +00:00
Nicolas Dorier
3184d2b2df Merge pull request #1327 from Kukks/coldcard-fix
Fix #1326 Coldcard import dialog
2020-02-08 21:54:19 +00:00
Kukks
f5e65ec2a6 Fix #1326 Coldcard import dialog 2020-02-08 10:54:34 +01:00
Kukks
66488d813b Fixes #1324 store token revoke redirect error 2020-02-07 08:23:00 +01:00
nicolas.dorier
4853cfe41a bump 2020-02-03 19:13:51 +09:00
Nicolas Dorier
dc7733abcd Merge pull request #1041 from Kukks/satscurrency
Add sats as a native currency
2020-02-03 08:42:35 +00:00
Nicolas Dorier
771c8e2758 Merge pull request #1314 from btcpayserver/feature/errorpages
Adding error pages to handle HTTP errors
2020-02-03 08:39:58 +00:00
rockstardev
24664b60af Adding test ensuring that api errors are properly returned 2020-02-03 02:21:03 -06:00
rockstardev
82393eb8bb Fixing api exception handling in the pipeline 2020-02-03 02:18:36 -06:00
rockstardev
b432d8903f Grammar fix by Kukks 2020-02-01 11:16:40 -06:00
rockstardev
ea9169f607 Updating 404 page not found assert 2020-02-01 02:29:08 -06:00
rockstardev
496a6f0f55 Special page to handle 429 errors 2020-02-01 01:59:56 -06:00
rockstardev
fb2a0fb7fb Special page to handle 500 errors 2020-02-01 01:58:17 -06:00
rockstardev
ef503fa907 Special page to handle 404 errors 2020-02-01 01:41:27 -06:00
rockstardev
fe2eca4fda Adding prettier error handling page in the pipeline 2020-02-01 01:40:50 -06:00
rockstardev
88835b5b55 Moving _LayoutWelcome to shared folder 2020-02-01 00:32:31 -06:00
rockstardev
876c940032 Reverting delegate reference to previous state until Nicolas confirms change 2020-02-01 00:26:01 -06:00
rockstardev
a08d5be35c Expanding tests to check implicit conversion of Sats to BTC 2020-01-29 22:31:43 -06:00
Umar Bolatov
0074790684 Remove "#nullable enable" directive and unnecessary operators 2020-01-29 01:53:47 -06:00
Umar Bolatov
23aaf794ef Add nullable enable directive to HttpClientRequestMaker.MakeRequestAsync 2020-01-29 01:53:47 -06:00
rockstardev
bb12d37416 Displaying sats in a more user-friendly way (space as group separator) (#1306)
Fix: #1146
2020-01-27 19:57:46 +09:00
Andrew Camilleri
e058903450 Do not show assets in sync modal (#1309) 2020-01-26 19:45:52 +09:00
Andrew Camilleri
06f1c17a5f Make unused assets in store settings collapsed (#1310) 2020-01-26 19:45:24 +09:00
nicolas.dorier
e00136de93 Fix spurious DefaultAntiforgery errors 2020-01-26 15:02:40 +09:00
Lucas Cullen
56d8c033d7 Update display text on the view model. 2020-01-24 15:45:35 -06:00
rockstardev
666682677c Merge pull request #1303 from btcpayserver/feat/viewnewwindow
Providing open in new window split buttons
2020-01-24 15:34:25 -06:00
rockstardev
652b958d4f Removing viewapp command now that we directly redirect in cshtml 2020-01-24 15:11:34 -06:00
rockstardev
c7c0db612a Restoring IDs Selenium depends on for tests 2020-01-23 20:40:20 -06:00
rockstardev
a83edce4dc Updating idents, code formatting 2020-01-23 20:19:24 -06:00
rockstardev
f99058a9fa Adding code comment for review 2020-01-23 20:18:33 -06:00
rockstardev
a907143d81 Providing open in new window split button when updating crowdfund
Unifying styles on POS and Crowdfund settings

co-authored-by: radWorx <dramirez@soulrivers.com>
2020-01-23 20:17:29 -06:00
rockstardev
4ae173bb69 Providing open in new window split button when updating POS app
co-authored-by: radWorx <dramirez@soulrivers.com>
2020-01-23 20:04:34 -06:00
rockstardev
1436420a93 Providing link to view app in new window
co-authored-by: radWorx <dramirez@soulrivers.com>
2020-01-23 19:51:57 -06:00
Andrew Camilleri
086cbaa231 Add clightning rest services page (#1297)
* Add clightning rest services page

* fix rebase
2020-01-23 22:20:37 +09:00
Umar Bolatov
5dd3112e0d Ensure "import from....a new/existing seed" modal text is readable in Casa theme (#1300)
fix #1299
2020-01-23 22:20:00 +09:00
Andrew Camilleri
b42e4f240a Fix (#1301)
* Fix seed signing validation

* fix ident
2020-01-23 22:02:37 +09:00
Andrew Camilleri
7076692069 fix configurator password loader (#1298) 2020-01-22 15:16:32 +09:00
Andrew Camilleri
dcb3601791 Fix ETB asset id 2020-01-21 18:22:42 +01:00
Andrew Camilleri
54c7c0d696 Add currency precision based on network (#1294) 2020-01-21 22:28:13 +09:00
nicolas.dorier
f324185d82 bump nbx 2020-01-21 21:47:51 +09:00
Kukks
a63502873c Add implicit hidden rate rule for sats in parser 2020-01-21 13:34:00 +01:00
Kukks
f5cbf6672a remove default rate rule for sats 2020-01-21 13:34:00 +01:00
Kukks
a78dff5931 remove padding 2020-01-21 13:34:00 +01:00
Kukks
f8139a9156 cleanup (remove sats rate provider and just use rate scripting) 2020-01-21 13:34:00 +01:00
Kukks
27a61b7afd fix test 2020-01-21 13:34:00 +01:00
Kukks
71671b9e16 Add sats as a native currency
This will allow you to create an invoice where its primary currency is denominated in sats
2020-01-21 13:33:59 +01:00
nicolas.dorier
c68bf5220e bump 2020-01-21 21:09:49 +09:00
nicolas.dorier
80ee03d897 Remove dead link 2020-01-21 21:06:35 +09:00
nicolas.dorier
d0bfa67495 Fix build 2020-01-21 21:04:35 +09:00
nicolas.dorier
bdb2edba12 Fix U2F signing 2020-01-21 21:00:34 +09:00
nicolas.dorier
78d8f4e011 Fix rescan wallet link 2020-01-21 20:54:45 +09:00
Andrew Camilleri
1bfe9dda97 Integrate Configurator External Service (#1190) 2020-01-21 18:27:10 +09:00
Andrew Camilleri
8e6f43cd3a Sign with NBX Seed (#1218) 2020-01-21 17:33:12 +09:00
Nicolas Dorier
6848482999 Remove the next address to pay to from Invoice details page (Fix #1056) (#1283) 2020-01-21 16:53:24 +09:00
nicolas.dorier
43967ee86e bump 2020-01-21 13:20:52 +09:00
Andrew Camilleri
61b99f6630 Add support for ETB liquid asset (#1295) 2020-01-21 13:19:55 +09:00
nicolas.dorier
7e073fb7e1 Add test CanCreateSqlitedb 2020-01-19 22:10:05 +09:00
Andrew Camilleri
1ceb5cb576 Fix sqlite madness (#1293)
* Need to reference Microsoft.EntityFrameworkCore.Design else you can't generate migrations
* fix design time migrations issues
* update snapshot
```
Your startup project 'BTCPayServer.Data' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is c
orrect, install the package, and try again.
```
*
2020-01-19 21:57:50 +09:00
nicolas.dorier
53a60d1660 Add Direct Provider with bitfinex, okex and coinbasepro 2020-01-18 21:48:04 +09:00
nicolas.dorier
25b733ca7f Remove knowledge of ExchangeName from BackgroundRateFetcher 2020-01-18 19:42:46 +09:00
nicolas.dorier
1bf680fdb9 Improve tests to not create new HttpClient every times 2020-01-18 19:23:40 +09:00
nicolas.dorier
76008c9f5c bump to sdk 3.1.101 and version 3.1.1 (security patch) 2020-01-18 16:59:25 +09:00
nicolas.dorier
1bf04ac4ac Generate less keys with nbxplorer 2020-01-18 16:20:03 +09:00
nicolas.dorier
4b088defd3 Increase timeout for AssertHappyMessage test 2020-01-18 15:36:20 +09:00
nicolas.dorier
a2be7ee471 Fix statusMessage handling for the Receive wallet page 2020-01-18 15:32:01 +09:00
Andrew Camilleri
025da0261d new feature: Wallet Receive Page (#1065)
* new feature: Wallet Receive Page

closes #965

* Conserve addresses by waiting till address is spent before generating each run

* fix tests

* Filter by cryptocode before matching outpoint

* fix build

* fix edge case issue

* use address in keypathinfo directly

* rebase fixes

* rebase fixes

* remove duplicate code

* fix messy condition

* fixes

* fix e2e

* fix
2020-01-18 14:12:27 +09:00
nicolas.dorier
4ac79a7ea3 Fixing SQLite in Invoices page (Fix #1287) 2020-01-17 21:45:20 +09:00
nicolas.dorier
ef20a03b95 Fix send from ledger and send from vault 2020-01-17 21:38:27 +09:00
nicolas.dorier
d9681398e5 Bump 2020-01-17 18:21:21 +09:00
Nicolas Dorier
25f19e5d9f Merge pull request #1286 from NicolasDorier/rate/refactor
Refactor rate handling to prevent error of exchange name and re-reroute coinaverage to coingecko
2020-01-17 18:20:43 +09:00
nicolas.dorier
aab6fcd508 use coingecko if coinaverage is set 2020-01-17 18:15:08 +09:00
nicolas.dorier
a8ac01cd8b Refactor rate handling to prevent error of exchange name 2020-01-17 18:11:05 +09:00
nicolas.dorier
605a0fd3c9 bump 2020-01-17 15:16:57 +09:00
nicolas.dorier
90ec416125 Add exponential backoff for CoinGecko, pass the cancellationtoken around 2020-01-17 15:08:28 +09:00
nicolas.dorier
827b6085af Do not hammer CoinGecko with tests 2020-01-17 14:56:05 +09:00
nicolas.dorier
ff11e6e032 Remove CoinAverage RateSource enum 2020-01-17 14:51:07 +09:00
nicolas.dorier
9b55648e41 Fix build 2020-01-17 14:45:26 +09:00
nicolas.dorier
6dffbbd93d Remove CachedRateProvider 2020-01-17 14:42:02 +09:00
nicolas.dorier
7a0991d6b1 Remove CoinAverage integration (2) 2020-01-17 14:30:51 +09:00
nicolas.dorier
9b165de5e6 Remove CoinAverage integration 2020-01-17 14:29:22 +09:00
nicolas.dorier
1b9a4e7775 Coingecko should use BackgroundFetcherRateProvider instead of CachedRateProvider 2020-01-17 14:23:04 +09:00
nicolas.dorier
48799562f8 Fix comment 2020-01-17 14:18:18 +09:00
nicolas.dorier
7d545ca682 Remove ability to set custom cache, fix coinaverage not really using coinaverage 2020-01-17 14:16:12 +09:00
Darosior
9739f3fb25 LN store config: fix a typo (#1285) 2020-01-17 12:12:12 +09:00
Andrew Camilleri
bb12de8945 Fix Sqlite migration (#1284) 2020-01-16 22:05:33 +09:00
nicolas.dorier
feabeafed9 Fix Selenium tests ran in Debug mode 2020-01-16 18:03:41 +09:00
nicolas.dorier
6b427e99ca use directly clightning integration instead of charge during debug 2020-01-16 17:15:11 +09:00
nicolas.dorier
31db34ec8d Revert "Revert RazorCompileOnBuild=false temporarily"
This reverts commit 92e5f2852a.
2020-01-16 16:52:46 +09:00
nicolas.dorier
bf614cd322 Make sure the payment button does not error 500 if node not ready (Fix #1180) 2020-01-16 16:25:37 +09:00
nicolas.dorier
9410933e1c Fix: Adding comment on wallet transactions causes 500 error (Close #1280) 2020-01-16 15:19:45 +09:00
Andrew Camilleri
c269dee980 Liquid changes (#1281)
Add assetid to bip21 for liquid
change liquid icons
change liquid asset name
change currency code displayed in checkout to one set in network
2020-01-16 15:01:01 +09:00
nicolas.dorier
5aefb585e9 Fix Serilog logging too much 2020-01-16 14:00:31 +09:00
nicolas.dorier
780cf67a1b bump bitcoin core 2020-01-15 13:25:29 +09:00
rockstardev
12e7c5e5e1 Updating referenced lnd to 0.8.2-beta (#1279) 2020-01-15 13:24:10 +09:00
nicolas.dorier
92e5f2852a Revert RazorCompileOnBuild=false temporarily 2020-01-15 00:37:42 +09:00
nicolas.dorier
0fbda9441a Fix AddressInUseException in tests 2020-01-15 00:22:31 +09:00
nicolas.dorier
32a82bbb7c bump 2020-01-15 00:01:36 +09:00
nicolas.dorier
628d0bb690 fix tests 2020-01-15 00:00:36 +09:00
Andrew Camilleri
05223c1a5f Bump NBX (#1277) 2020-01-14 23:10:58 +09:00
nicolas.dorier
9aa0603d87 bump 2020-01-14 22:07:13 +09:00
Andrew Camilleri
36f980135f fix broken url (#1275)
* fix broken url

* fix test
2020-01-14 22:06:46 +09:00
Nicolas Dorier
63953e42a8 Merge pull request #1276 from NicolasDorier/norazor/compile
Remove build of razor view for better debug experience
2020-01-14 21:38:38 +09:00
nicolas.dorier
4ba836f1ff Remove build of razor view for better debug experience 2020-01-14 21:33:13 +09:00
Nicolas Dorier
b7132ab66a Merge pull request #1274 from Kukks/route-fixes
fix broken links
2020-01-14 21:00:29 +09:00
Nicolas Dorier
67810d50cb Merge pull request #1272 from Kukks/u2ftests
U2F Tests + throw non non U2f exceptions
2020-01-14 20:46:25 +09:00
Kukks
b7503c994c fix broken links 2020-01-14 12:46:07 +01:00
Kukks
389695751f add u2f tests 2020-01-14 11:47:24 +01:00
Kukks
dad3039c06 throw on non-u2f specific errors 2020-01-14 09:49:51 +01:00
nicolas.dorier
9ccb472c7a Fix U2F 2020-01-14 12:31:10 +09:00
nicolas.dorier
c35afd5e9a Fix arm64 image 2020-01-14 00:35:45 +09:00
nicolas.dorier
74adaf1d1f Rename 2020-01-14 00:28:43 +09:00
nicolas.dorier
0fce8d0739 bump 2020-01-13 23:58:01 +09:00
Nicolas Dorier
dbb6408acb Merge pull request #1264 from Kukks/coingecko
CoinGecko Rate Provider
2020-01-13 23:57:20 +09:00
nicolas.dorier
5dbdb4b399 Keep coinaverage compatibility, improve UX, hardcode feed provider supported exchanges 2020-01-13 23:37:01 +09:00
Kukks
58d9a48787 CoinGecko Rate Provider
The CoinGecko rate provider is similar to the bitcoin average one, in that you can ask it for a rate from its aggregated sourcing or you can get rates from specific exchanges. I've added support for both.
I haven't integrated it or replaced coinaverage just to see if we should use it as the default and switch everyone to it or what other action to take.
2020-01-13 20:20:00 +09:00
Nicolas Dorier
4baeb7bc71 Merge pull request #1268 from escapedcat/fix/1216_users-remove-name
fix(users): remove name from list #1216
2020-01-13 13:41:03 +09:00
nicolas.dorier
1a3da096a7 Go back to bitcoind 0.18.0 2020-01-13 13:26:42 +09:00
nicolas.dorier
ba0e501e38 bump bitcoind 2020-01-13 13:14:41 +09:00
escapedcat
bff95e4655 fix(users): remove name from list #1216
name is not used and can not be edited so it should be removed to avoid confusion
2020-01-12 15:23:58 +01:00
nicolas.dorier
4f03f3c9cb Bump nbx in tests 2020-01-12 21:45:23 +09:00
nicolas.dorier
d48334b97f Make test more reliable 2020-01-12 20:54:04 +09:00
Nicolas Dorier
90da81f68e Merge pull request #1238 from bolatovumar/fix-1236
Adjust invoice pagination behavior
2020-01-12 16:55:57 +09:00
nicolas.dorier
9ba1403f5c bump libraries 2020-01-12 16:30:25 +09:00
Nicolas Dorier
846fd815ff Merge pull request #1267 from NicolasDorier/remove/uselesss
Remove useless dependencies
2020-01-12 16:16:03 +09:00
nicolas.dorier
60e0f775ed Remove useless dependencies 2020-01-12 16:05:01 +09:00
nicolas.dorier
529c2df1cc Make tests more resilient 2020-01-12 15:50:23 +09:00
Nicolas Dorier
430a9eb261 Merge pull request #1266 from NicolasDorier/bump/libs
Bump libraries
2020-01-12 15:44:05 +09:00
nicolas.dorier
d3408b91be bump libraries 2020-01-12 15:32:26 +09:00
nicolas.dorier
d5febb30e7 Fix build 2020-01-12 13:59:41 +09:00
nicolas.dorier
63c4ec1809 Reactivate GoogleCloudStorage 2020-01-12 13:55:41 +09:00
nicolas.dorier
6ac8cd19d3 Better logs for HappyMessage 2020-01-12 13:54:06 +09:00
nicolas.dorier
c95bceef4d Fix circleci 2020-01-12 13:42:04 +09:00
nicolas.dorier
3449bba4b3 Reactivate google storage 2020-01-12 13:39:42 +09:00
nicolas.dorier
d94b016e63 Add google storage at build time 2020-01-12 13:34:29 +09:00
nicolas.dorier
629dfcf152 Cleanup netcore21 specific code 2020-01-12 13:30:54 +09:00
nicolas.dorier
9876208b7d Add arm64v8 support 2020-01-11 22:54:08 +09:00
Nicolas Dorier
df617d5186 Merge pull request #1258 from NicolasDorier/migration/netcore31
Switch to .netcoreapp3.1
2020-01-11 15:03:51 +09:00
nicolas.dorier
21f715bfc6 Add runtime razor compilation during debug 2020-01-11 13:12:41 +09:00
nicolas.dorier
18a2c1a00f Remove warning 2020-01-11 13:12:41 +09:00
nicolas.dorier
6c2fdecebe Rewrite EF query for 3.1 compatibility 2020-01-11 13:12:40 +09:00
nicolas.dorier
c3b7779ea3 Migrate dockerfile to .netcoreapp3.1 2020-01-11 13:12:40 +09:00
nicolas.dorier
83ea95ed6d Switch to .netcoreapp3.1 2020-01-11 13:12:39 +09:00
nicolas.dorier
a816e37621 Update libs 2020-01-11 13:12:24 +09:00
Nicolas Dorier
33c65a6548 Merge pull request #1246 from Kukks/generate-wallet-message
add error message on generate wallet failure
2020-01-10 20:03:59 +09:00
nicolas.dorier
bf57701cf0 Passing ambient route parameters explicitely 2020-01-10 15:37:44 +09:00
nicolas.dorier
bfcd90d8d1 Refactor test 2020-01-10 14:46:42 +09:00
Umar Bolatov
0387306918 Adjust invoice listing pagination display 2020-01-09 20:04:55 -08:00
nicolas.dorier
c99d26a55d Fix test for clightning overpaying 2020-01-10 11:13:54 +09:00
Nicolas Dorier
7efeeb7c28 Merge pull request #1231 from NicolasDorier/fix/mysqlmigrations
Fix MySQL support
2020-01-09 17:13:53 +09:00
Rockstar Developer
3164783b31 Merge pull request #1253 from radWorx/lead-login-verbiage
"Lead-login" verbiage
2020-01-06 21:50:37 -06:00
Rockstar Developer
28c441924a Merge pull request #1242 from jlopp/varFix
Fix variable spelling
2020-01-06 21:44:17 -06:00
Rockstar Developer
3b3ec7fc21 Merge pull request #1237 from jlopp/spellCheck
Add spelling / grammar fixes and some clarifications for settings
2020-01-06 21:43:46 -06:00
Rockstar Developer
dfa0201726 Merge pull request #1254 from pavlenex/year-update
Update Year 2020 in License
2020-01-06 21:43:20 -06:00
pavlenex
2b889d9e29 Update Year
Happy New Year.
2020-01-03 14:11:15 +01:00
badev
08688f69c0 "lead-login" verbiage
missing final period. suggest changing verbiage to reflect btcpayserver.org verbiage for consistency.
2020-01-02 22:50:26 -05:00
Nicolas Dorier
4a0d29c700 Merge pull request #1247 from Kukks/liquid-wallet-changes
Liquid: Show limited wallet pages
2019-12-30 13:21:39 +09:00
Kukks
fa916d4862 Liquid: Show limited wallet pages 2019-12-29 17:08:30 +01:00
Kukks
1973647b51 add error message on generate wallet failure 2019-12-29 16:43:55 +01:00
Jameson Lopp
12133cd7d3 fix variable spelling 2019-12-27 14:32:43 -05:00
nicolas.dorier
9b66ba226b bump lightning lib 2019-12-27 21:59:06 +09:00
nicolas.dorier
96731fabc7 bump lightning lib 2019-12-27 21:44:28 +09:00
nicolas.dorier
87f1ab7caa bump lightning 2019-12-27 21:21:18 +09:00
Umar Bolatov
4cf6f8e753 Rename ListInvoices function to ListInvoicesPage to avoid ambiguity 2019-12-26 15:08:43 -08:00
Umar Bolatov
dc59c4ca47 Adjust invoice pagination behavior
fix #1236
2019-12-26 14:53:09 -08:00
Jameson Lopp
4f046ed1d3 add spelling / grammar fixes and some clarifications for settings. 2019-12-26 07:32:32 -05:00
Nicolas Dorier
d689222e04 Merge pull request #1234 from NicolasDorier/rates/limit
Do not preemptively fetch rates of all exchanges
2019-12-26 16:36:53 +09:00
nicolas.dorier
57985e78e5 Save the last update time instead of the next update time 2019-12-26 16:24:57 +09:00
nicolas.dorier
731341b749 Do not preemptively fetch rates of all exchanges 2019-12-26 14:54:26 +09:00
Nicolas Dorier
f12186e09f The tests in btcpayserver should use only the services they use (#1233) 2019-12-24 18:11:21 +09:00
Andrew Camilleri
4d7480db15 Liquid & Liquid Assets Support (#1118) 2019-12-24 16:20:44 +09:00
Nicolas Dorier
0485a9178d Merge pull request #1232 from NicolasDorier/seed/bettererror
Make it mandatory for the user to set the master fingerprint in the w…
2019-12-23 23:32:14 +09:00
nicolas.dorier
17d2b20cd5 User can use passphrase when importing seed 2019-12-23 23:31:39 +09:00
nicolas.dorier
aa459d0ff3 Make it mandatory for the user to set the master fingerprint in the wallet settings for seed signing. Improve error messages. 2019-12-23 23:08:41 +09:00
nicolas.dorier
656ff7029e Do not show on screen seed passphrase in sign with seed 2019-12-23 22:32:33 +09:00
nicolas.dorier
8e00e6d8e3 Make sure that varchar(255) is used for mysql migration scripts 2019-12-23 15:03:06 +09:00
nicolas.dorier
8bcb2381a0 Comment code to generate MySql migration scripts 2019-12-23 15:03:05 +09:00
nicolas.dorier
a73d2db02a Fix tests 2019-12-19 16:36:04 +09:00
nicolas.dorier
47eb087d1b Rename CanGenerateWallet to CanUseHotWallet, small refactoring on generatewallet 2019-12-18 22:28:03 +09:00
Nicolas Dorier
ed6a01469a Merge pull request #1212 from Kukks/generatewallet
Generate wallet
2019-12-18 16:35:34 +09:00
Kukks
7cfe5f0421 failsafe with selenium 2019-12-16 12:10:03 +01:00
Kukks
1aef7f7ea6 rebase fix 2019-12-16 10:25:07 +01:00
Kukks
9142c48a0b return correct view 2019-12-16 09:38:00 +01:00
Kukks
45e139c5b7 define view 2019-12-16 09:35:41 +01:00
Kukks
6706658377 add policy to restrict generate wallet usage 2019-12-16 09:32:43 +01:00
Kukks
a75b6201b7 update message 2019-12-16 09:01:27 +01:00
Kukks
f724d6c0cf tests for importing keys to rpc 2019-12-16 09:01:27 +01:00
Kukks
0dccbeac3d fix tests 2019-12-16 09:01:27 +01:00
Kukks
7d2dc45dfb fix ident 2019-12-16 09:01:27 +01:00
Kukks
f284ef9052 Add generate wallet e2e test 2019-12-16 09:01:27 +01:00
Kukks
80790bd9b0 fixes 2019-12-16 09:00:41 +01:00
Kukks
2da9434571 init work 2019-12-16 09:00:00 +01:00
nicolas.dorier
579e0d2e09 Do not crash if empty destination is entered on WalletSend 2019-12-11 13:05:59 +09:00
nicolas.dorier
33703b83a3 Fix device not found with Trezor T 2019-12-10 23:52:48 +09:00
nicolas.dorier
23b9dfed2c Cache balance 2019-12-10 22:17:59 +09:00
nicolas.dorier
b8f6ef8844 fix sdk version of tests 2019-12-10 21:46:06 +09:00
nicolas.dorier
6f6b4c8ead Fix dockerfile versions 2019-12-10 21:43:21 +09:00
Nicolas Dorier
5d87dd5861 Merge pull request #1219 from bolatovumar/fix-1217
[Wallet] Show invalid address message when address is invalid
2019-12-10 21:39:43 +09:00
nicolas.dorier
02c8bf4469 bump 2019-12-10 21:23:38 +09:00
nicolas.dorier
540cb912f3 Can display address on device at confirmation screen 2019-12-10 21:22:46 +09:00
nicolas.dorier
93f490f570 Fix pin entry 2019-12-10 20:10:13 +09:00
nicolas.dorier
de2e222ae5 Improve signing vault UI 2019-12-10 18:58:12 +09:00
nicolas.dorier
12055a000b Proper handling of passphrase for Trezor T 2019-12-10 18:16:52 +09:00
Umar Bolatov
6addb3e481 [Wallet] Show invalid address message when address is invalid
fix #1217
2019-12-07 21:20:42 -08:00
Nicolas Dorier
d9cd916440 Merge pull request #1187 from dennisreimann/document-themeing
Document themeing
2019-12-07 17:22:47 +09:00
nicolas.dorier
452a705b75 Update russian,portugal 2019-12-07 17:21:11 +09:00
Nicolas Dorier
1c8206c749 Merge pull request #1214 from MrPaz/feature/satsfix
Fixing sats exchange rate display
2019-12-07 17:18:54 +09:00
nicolas.dorier
062c42e524 Fix build 2019-12-07 16:42:03 +09:00
nicolas.dorier
2d932ebb21 Update to runtime .NET 2.1.14 2019-12-07 16:35:13 +09:00
nicolas.dorier
0e0fa53517 Prompt passphrase for trezor T 2019-12-05 22:47:07 +09:00
nicolas.dorier
4e20730379 Better message when the device is signing (#1207) 2019-12-05 22:37:04 +09:00
nicolas.dorier
1d70d935b8 Provide better details for unknown error (#1208) 2019-12-05 22:03:35 +09:00
Rockstar Developer
9b8f42cdf6 Merge pull request #1213 from rockstardev/feature/accessdeniedfix
Fixing AccessDenied page displayed
2019-12-04 15:38:40 -06:00
Matt Pazar
eb85b1a7b4 Fixing sats exchange rate display
Fixed #1147
2019-12-04 14:21:33 -06:00
rockstardev
df7e2073df Fixing AccessDenied page displayed 2019-12-04 13:45:09 -06:00
nicolas.dorier
84d943d6cc Trying to fix TrezorT 2019-12-04 22:12:38 +09:00
nicolas.dorier
a1d82b0e8b fix bug if selecting segwit with vault 2019-12-04 21:52:48 +09:00
nicolas.dorier
ab7c124302 Properly show text to enter pin or passphrase for trezor T 2019-12-04 17:23:10 +09:00
nicolas.dorier
544597348b Fix inverted boolean logic 2019-12-04 17:19:25 +09:00
nicolas.dorier
1559c510be Trying to handle Trezor T correctly 2019-12-04 17:16:37 +09:00
nicolas.dorier
3e08581e9b Fix fetching xpub for trezor 2019-12-04 16:34:25 +09:00
nicolas.dorier
49c70d9b04 Vault: Reinite the popup in add derivation scheme if it is closed 2019-12-04 16:16:41 +09:00
nicolas.dorier
50e7d8389c Vault: Allow user to pick the account number 2019-12-04 15:54:08 +09:00
nicolas.dorier
ea5bd6d435 bump nbx 2019-12-04 13:51:26 +09:00
nicolas.dorier
cbb37674e3 vault-confirm is not a popper 2019-12-04 12:56:39 +09:00
nicolas.dorier
e70d5ceb08 Fix JS error on WalletSendVault after PIN is asked (#1210) 2019-12-04 12:52:54 +09:00
nicolas.dorier
5d7b253edd Fix bug: Vault option now showing up in PSBT 2019-12-03 18:57:07 +09:00
nicolas.dorier
df38b84bbb Fix alignment in psbt review 2019-12-03 14:30:29 +09:00
nicolas.dorier
a3fc75ea3b Show proper error message if the keypath in wallet settings is not good (Fix #1209) 2019-12-03 14:26:52 +09:00
nicolas.dorier
71a8166027 Handle "pin already prompted" error. (Fix #1209) 2019-12-03 13:53:58 +09:00
Dennis Reimann
564dd95d81 Remove unused modern theme
We can start over with this once the general design decisions are decided on and we start implementing a new UI.
2019-12-02 11:19:17 +01:00
Dennis Reimann
eb16b435df Document themeing approach
Sums up and adds to the comments made in #1175.

I wasn't sure where to put these kinds of docs, as tehy are code related and not end user facing. Let's discuss whether or not this fits in here or should become part of the docs repo.

fix
2019-12-02 11:18:33 +01:00
Nicolas Dorier
f94daed06d Merge pull request #1184 from bolatovumar/fix-1182
[Wallet] Specify validation range for wallet send amount
2019-12-02 18:29:45 +09:00
Nicolas Dorier
e841bfa148 Merge pull request #1186 from dennisreimann/custom-theme
UI: Add custom theme file option
2019-12-02 18:29:07 +09:00
Nicolas Dorier
03b76380e7 Merge pull request #1192 from dennisreimann/ln-node-certthumbprint
LN Node: Show ready to use certthumbprint
2019-12-02 18:28:11 +09:00
Nicolas Dorier
c6671f7122 Merge pull request #1200 from pavlenex/ipn-notification
Re-name the Invoice e-mail notification field
2019-12-02 18:27:52 +09:00
Nicolas Dorier
db56c2b106 Merge pull request #1202 from pavlenex/create-wallet
Change create with connect in wallet page
2019-12-02 18:27:40 +09:00
Nicolas Dorier
f7b2c836b7 Merge pull request #1203 from Kukks/nbxupdate
update nbx + prep bitcoin payment data ctor change
2019-12-02 18:27:28 +09:00
Nicolas Dorier
6ec379b538 Merge pull request #1198 from Eskyee/patch-3
Update vaultbridge.js
2019-12-02 18:27:02 +09:00
Kukks
d6e1d34ebf update nbx docker tests 2019-12-02 10:10:24 +01:00
Kukks
bc2a039ea2 bump nbx and make balance return decimal 2019-12-02 09:57:38 +01:00
Kukks
e31e600144 update nbx + prep bitcoin payment data ctor change 2019-12-01 15:30:56 +01:00
pavlenex
91f83d751f Connect wallet clarification 2019-11-30 18:15:28 +01:00
nicolas.dorier
b8288f1efa Use 127.0.0.1 instead of localhost for vault's http requests. (Fix https://github.com/btcpayserver/BTCPayServer.Vault/issues/9#issuecomment-559858955) 2019-11-30 23:34:47 +09:00
nicolas.dorier
fa61c2bcdd Add error for invalid network 2019-11-30 23:33:42 +09:00
pavlenex
2d168e1d9b Re-name the Invoice e-mail notification field 2019-11-30 11:45:06 +01:00
Esky33
3e7ad4a4f6 Update vaultbridge.js
replace localhost with 127.0.0.1 fixes BTCPay Vault in Apple Safari browser Version 13.0.3 macOS Catalina 10.15.1 (19B88)
thanks to Nicolas
2019-11-29 20:09:46 +00:00
nicolas.dorier
d2357ee8b9 Do not ask for Pin on Trezor T 2019-11-25 11:50:49 +09:00
Nicolas Dorier
9f04c7d0bc Merge pull request #1193 from dennisreimann/heading-alignment
UI: Left align admin section headings
2019-11-25 11:44:25 +09:00
Dennis Reimann
9baa7eed80 UI: Left align admin section headings
Removes the custom property and consistently align the headings left, which I agree is the better choice.

Context: https://chat.btcpayserver.org/btcpayserver/pl/upb3nzch7j8nmpbt7kfmoe6beo
2019-11-24 20:39:29 +01:00
nicolas.dorier
287fbc523f Asks pin and passphrase if device is not ready 2019-11-24 22:51:13 +09:00
Dennis Reimann
ea6df35c87 LN Node: Show ready to use certthumbprint
Turns the output of the `openssl` command from

`SHA256 Fingerprint=48:37:A4:D6:[…]`

into this, which can be copied and inserted directly:

`4837A4D6[…]`
2019-11-24 09:48:34 +01:00
nicolas.dorier
2e0db1a430 Fix XML parsing error (#1185) 2019-11-23 14:04:26 +09:00
Dennis Reimann
7ccf0c3612 UI: Add custom theme file option
This adds a "Custom Theme CSS file" to the "Server settings: Theme" page. It works similar to the custom bootstrap and creative start fields, but is only added to the head in case it is set.

The main idea here is that users would choose one of our predefined themes and have the option to override specific values. The other apporach would be to let the custom theme replace the predefined one, but this could lead to issues in case we extend the set of variables, which would be unset then.
This way users can copy a predefined theme and override all variables or just the ones they want to customize.

The help icon besides the label links to a page in the docs I'm currently working on.
2019-11-22 21:09:18 +01:00
nicolas.dorier
1b58058796 Refactoring 2019-11-22 19:19:05 +09:00
nicolas.dorier
98276bcb3d Remove useless try/catch 2019-11-22 19:16:32 +09:00
nicolas.dorier
1aa4dbb90d bump 2019-11-22 19:14:15 +09:00
nicolas.dorier
eef623fb4b Ask passphrase when appropriate (Fix #1185) 2019-11-22 19:13:04 +09:00
Umar Bolatov
84bbbcbe10 [Wallet] Specify validation range for wallet send amount
fix #1182
2019-11-21 18:47:10 -08:00
Nicolas Dorier
a324e2aeaf Merge pull request #1181 from Kukks/register-login-link
add login button to register page
2019-11-21 18:01:39 +09:00
Kukks
d6b3530384 add login button to register page 2019-11-21 09:28:35 +01:00
nicolas.dorier
dfe8a10e1a bump 2019-11-21 16:39:18 +09:00
nicolas.dorier
5afa847e6e Fix sign transaction 2019-11-21 16:38:43 +09:00
nicolas.dorier
1bcbc9bab0 Should not show the password 2019-11-21 16:03:06 +09:00
nicolas.dorier
b915544798 Prevent NRE on NBxplorer listener 2019-11-21 14:27:57 +09:00
nicolas.dorier
2b9f390c64 update translation 2019-11-21 14:17:27 +09:00
nicolas.dorier
ee42d5c7b4 bump 2019-11-21 14:15:04 +09:00
Nicolas Dorier
f809dd51a6 Merge pull request #1152 from NicolasDorier/feature/vault
Add hardware support via BTCPayServer Vault
2019-11-21 14:13:43 +09:00
nicolas.dorier
1a8d6e5c05 Implement BTCPayServer vault derivation scheme import 2019-11-21 14:06:16 +09:00
Nicolas Dorier
869ba745b2 Merge pull request #1175 from bolatovumar/fix-1169
Add CSS variable for preformatted text color
2019-11-21 14:03:05 +09:00
Umar Bolatov
180dfb6edf Add CSS variable for preformatted text color
fix #1169
2019-11-20 11:12:31 -08:00
nicolas.dorier
45b08ac8d2 Add sponsor 2019-11-19 20:37:15 +09:00
nicolas.dorier
9a4b385432 Add sponsor 2019-11-19 20:33:26 +09:00
Nicolas Dorier
08289b89c5 Merge pull request #1176 from pavlenex/supporters-sw
Add new supporter to readme
2019-11-19 20:32:42 +09:00
pavlenex
a31d1d81c8 Update README.md 2019-11-19 09:20:31 +01:00
pavlenex
e4c7bb0378 add wallet of satoshi to readme
add wallet of Satoshi, fix Lunanode spacing
2019-11-19 09:16:04 +01:00
pavlenex
374aaf2e2b add walletofsatoshi svg logo 2019-11-19 09:12:38 +01:00
Nicolas Dorier
52fd686993 Merge pull request #1174 from pavlenex/new-supporters-lw
add new supporter to readme
2019-11-19 00:31:06 +09:00
pavlenex
03c36ef0d2 add lunanode to readme 2019-11-18 15:55:56 +01:00
nicolas.dorier
71a6ffac2e Adjust status message for WalletTransactions 2019-11-18 21:47:09 +09:00
nicolas.dorier
92777ba181 Make sure SSH does not throw in separate thread 2019-11-18 17:15:40 +09:00
nicolas.dorier
81843fb609 Do not delete the password from the seed 2019-11-18 17:00:54 +09:00
Nicolas Dorier
3af3ffd038 Merge pull request #1167 from dennisreimann/ui-improvements
UI: Payment request improvement
2019-11-18 14:23:51 +09:00
Nicolas Dorier
2ce5cd0b6f Merge pull request #1171 from bitcoinbrisbane/master
Add office 365 to the quick fill settings
2019-11-18 14:23:12 +09:00
Lucas Cullen
d791fd59e9 Merge branch 'master' of github.com:bitcoinbrisbane/btcpayserver 2019-11-18 08:12:30 +10:00
Lucas Cullen
6064e3ce55 Add office365 quick settings 2019-11-18 08:12:06 +10:00
nicolas.dorier
0fcfe0e977 Can prune wallet transaction history 2019-11-17 17:13:09 +09:00
nicolas.dorier
997df5c64d Remove build warnings 2019-11-17 16:50:28 +09:00
nicolas.dorier
27af96662f Fix bug for Network not having a NBitcoin Network 2019-11-17 13:04:42 +09:00
Dennis Reimann
0be6f3ca70 UI: Remove superfluous spaces when description is empty 2019-11-16 23:28:53 +01:00
Dennis Reimann
7af80611b6 UI: Better payment request amounts display
Uses a table instead of list group items, so that the columns properly align (rows use the same grid). Also aligns the values on the right.
2019-11-16 22:59:51 +01:00
nicolas.dorier
4c349803b6 Use Channel instead of blocking collection for the Invoice Watcher 2019-11-16 19:12:26 +09:00
Nicolas Dorier
35a4278ae8 Merge pull request #1161 from britttttk/app-button
Hide View button in crowdfund
2019-11-16 18:58:11 +09:00
Nicolas Dorier
06365b7b73 Merge pull request #1158 from Kukks/register-login-secure-lock
Do not allow login or register over an insecure connection
2019-11-16 18:15:16 +09:00
nicolas.dorier
f31e013986 bump 2019-11-16 18:03:16 +09:00
nicolas.dorier
fe1df743ce bump nbx 2019-11-16 17:22:51 +09:00
Kukks
22ffd48cd4 refactor 2019-11-16 08:57:16 +01:00
nicolas.dorier
c83bcd259d Testing happy messages, fix approval button 2019-11-16 15:20:54 +09:00
nicolas.dorier
8ebac28ccf Fix tests 2019-11-16 15:07:02 +09:00
nicolas.dorier
4e5001d7ef Delete password from the lnd seed backup 2019-11-16 14:07:43 +09:00
nicolas.dorier
84fe14a1ed Test LND Seed Backup service and Logs. Use the Confirm View instead of poppup 2019-11-16 14:06:37 +09:00
Nicolas Dorier
6828730313 Merge pull request #1162 from dennisreimann/theme-fixes
Theme fixes
2019-11-16 12:36:50 +09:00
Nicolas Dorier
e540079220 Merge pull request #1163 from dennisreimann/main-bundle-script-order
Fix script order in main bundle
2019-11-16 12:36:03 +09:00
Nicolas Dorier
e99f806b66 Merge pull request #1164 from dennisreimann/page-titles
Page title fixes
2019-11-16 12:35:45 +09:00
Dennis Reimann
b452f1d125 Limit custom table styles to small tables
Otherwise it overrides to many styles so that i.e. font-sizes with th .h*-classes do not work anymore.
2019-11-15 15:15:22 +01:00
Dennis Reimann
f0a9d209a5 Fix bootstrap reference in cart bundle 2019-11-15 15:15:21 +01:00
Dennis Reimann
984aa2912a Fix script order in main bundle
creative.js relies on ScrollReveal being present on initialization, so it has to be included after scrollreveal.min.js
2019-11-15 15:15:20 +01:00
Dennis Reimann
c8937f6d46 POS app theme fixes 2019-11-15 15:15:19 +01:00
Dennis Reimann
cb849ab23e Light/dark color fixes
fix
2019-11-15 15:15:18 +01:00
Dennis Reimann
3bca3427eb Consistent use of page title on Pay Button page 2019-11-15 14:44:08 +01:00
Dennis Reimann
a127b13db1 Add missing payment request page titles 2019-11-15 14:43:36 +01:00
Dennis Reimann
a2f608266b Fix bootstrap reference in cart bundle 2019-11-15 14:01:18 +01:00
Dennis Reimann
05f8b8d8af Fix script order in main bundle
creative.js relies on ScrollReveal being present on initialization, so it has to be included after scrollreveal.min.js
2019-11-15 13:56:03 +01:00
Kukks
f1cef81d76 Do not allow login or register over an insecure connection 2019-11-15 12:39:17 +01:00
Dennis Reimann
e1bf376f10 Mark up alert-links for better display 2019-11-15 11:24:27 +01:00
Dennis Reimann
9298eab30d Improve QR code display on dark background 2019-11-15 11:23:52 +01:00
Dennis Reimann
584528f903 Improve pay button display on dark background 2019-11-15 11:08:10 +01:00
Dennis Reimann
3501920956 Set apart theme select from custom css file references 2019-11-15 11:06:09 +01:00
Dennis Reimann
65a867e82d Fix css references on bootstrap kitchensink page 2019-11-15 11:05:12 +01:00
nicolas.dorier
2bfea50014 Update NBXplorer 2019-11-15 18:53:20 +09:00
nicolas.dorier
89539fca01 Fix build 2019-11-15 18:20:10 +09:00
nicolas.dorier
240f6fa45a Allow /rates to pass storeId 2019-11-15 18:10:14 +09:00
nicolas.dorier
c004065eea Apply some lipstick on the lnd seed backup 2019-11-15 17:55:55 +09:00
Britt Kelly
1cfba82d77 Hide button when missing required fields 2019-11-14 23:58:38 -07:00
nicolas.dorier
3bdcbd8907 Small adjustment to make tables look better 2019-11-15 15:22:01 +09:00
nicolas.dorier
fd53811fdd Adjust base font-size to match old style 2019-11-15 14:45:53 +09:00
rockstardev
5eeda40098 Addressing CSS inconsistencies compared to old design
Fixes: #1159
2019-11-14 22:48:15 -06:00
rockstardev
7bce316e78 Merge branch 'master' into feature/lndseedbackup 2019-11-14 21:02:56 -06:00
rockstardev
68f172b9ef Switching back to v as prefix, other scripts assume it's presence
z wouldn't work because some scripts in btcpayserver-docker re-append v as prefix to find tag
2019-11-14 21:00:39 -06:00
rockstardev
9b3e7338ba Fixing broken CrowdfundTests.CanContributeOnlyWhenAllowed test 2019-11-14 20:56:28 -06:00
rockstardev
c6ef6fc17d Removing bootstrap and creative start vendor dirs, moving to main 2019-11-14 20:41:53 -06:00
Rockstar Developer
e4c797eaa7 Merge pull request #1137 from dennisreimann/ui-css-refactoring
UI: Support themes via CSS variables
2019-11-14 20:28:01 -06:00
Dennis Reimann
bdca51a178 Fine tuning the classic theme 2019-11-14 21:10:17 +01:00
Dennis Reimann
e147ce8606 Minor layout improvements 2019-11-14 18:45:35 +01:00
Dennis Reimann
830286ecc1 Center content on forgot password page 2019-11-14 18:44:14 +01:00
Dennis Reimann
bc56cab488 Fix colors in wallet send view 2019-11-14 18:44:13 +01:00
Dennis Reimann
dd683db6d5 Bump up font size and spacings in classic theme 2019-11-14 18:44:12 +01:00
Dennis Reimann
5436999b13 Fix welcome layout background 2019-11-14 18:44:11 +01:00
Dennis Reimann
29946763ba Move theme switch to top 2019-11-14 18:42:58 +01:00
Dennis Reimann
7160f7dc22 Add bootstrap kitchensink
Can be used to control the look of all elements:
/_bootstrap_kitchensink.html?theme=casa
2019-11-14 18:42:57 +01:00
Dennis Reimann
e44db30ddb Finetune color settings
fix
2019-11-14 18:42:56 +01:00
Dennis Reimann
458b2fd72e Register page fixes 2019-11-14 18:42:55 +01:00
Dennis Reimann
66ffa5f987 Rename alpha theme variables to backdrop 2019-11-14 18:42:54 +01:00
Dennis Reimann
dd8caa46c4 Remove modern theme option
For now as it is not really shaped yet.
2019-11-14 18:42:53 +01:00
Dennis Reimann
55de85d829 Casa theme color fixes 2019-11-14 18:42:52 +01:00
Dennis Reimann
10f782aa11 Integrate and adapt new register page 2019-11-14 18:42:51 +01:00
Dennis Reimann
5bb6918465 Add Casa theme draft 2019-11-14 18:42:50 +01:00
Dennis Reimann
205fd3c9ce Use grid consistently 2019-11-14 18:42:49 +01:00
Dennis Reimann
50bf55cbdf Unify section headings 2019-11-14 18:42:48 +01:00
Dennis Reimann
3a9ecd8b33 Dissect css rules and simplify color variables 2019-11-14 18:42:48 +01:00
Dennis Reimann
5942a840b2 Move main bundle files also 2019-11-14 18:42:47 +01:00
Dennis Reimann
6dd3c79c23 Move themes and bootstrap 2019-11-14 18:42:46 +01:00
radWorx
a25e0ef592 add-theme-picker 2019-11-14 18:42:45 +01:00
Dennis Reimann
29465cbadc Use "modern" theme as example 2019-11-14 18:42:44 +01:00
Dennis Reimann
fdc1aa25e4 Use variable based bootstrap and creativestart
fix
2019-11-14 18:42:40 +01:00
Nicolas Dorier
04fbe42bda Merge pull request #1139 from bolatovumar/issue-1138
Vary page layout for registering new accounts
2019-11-14 23:58:37 +09:00
nicolas.dorier
57a6949565 Fix View app on Crowdfunding (#1141) 2019-11-14 21:13:41 +09:00
nicolas.dorier
bcb85e2084 Errors not working in PointOfSale (#1141) 2019-11-14 20:55:18 +09:00
nicolas.dorier
6900964c03 Fix debug log not showing (Fix #1157) 2019-11-14 18:49:33 +09:00
Nicolas Dorier
3d2b8d2969 Merge pull request #1156 from bolatovumar/fix-1155
Improve mobile view on new welcome layout
2019-11-14 17:26:58 +09:00
nicolas.dorier
c7da4e3eff Add TestTimeouts 2019-11-14 17:14:08 +09:00
Umar Bolatov
9e31154808 Improve mobile view on new welcome layout
fix #1155
2019-11-13 18:46:58 -08:00
nicolas.dorier
89353b8e7c Remove svg trash 2019-11-13 18:50:23 +09:00
Nicolas Dorier
b8eea53e01 Merge pull request #1154 from pavlenex/supporters-dglabs
Add supporter to readme
2019-11-13 18:43:43 +09:00
pavlenex
9bafce8069 Add DG Labs logo to readme 2019-11-13 10:38:31 +01:00
nicolas.dorier
a9de1c2c64 Add link to foundation website 2019-11-13 17:37:57 +09:00
nicolas.dorier
e6505040e0 Missing svg 2019-11-13 16:06:41 +09:00
nicolas.dorier
92bdb20e1c Add new sponsor 2019-11-13 16:04:47 +09:00
nicolas.dorier
c6bba9188b Improve error message for CanUsePosApp 2019-11-13 15:56:58 +09:00
Nicolas Dorier
c3a84f6577 Merge pull request #1142 from Kukks/bugfix/u2f
Fix U2F bug when using multiple devices
2019-11-13 15:37:14 +09:00
Nicolas Dorier
ba54b5aacf Merge pull request #1144 from Kukks/ndax
Bump ExchangeSharp, fixes breaking changes and switch to exchangeshar…
2019-11-13 15:36:52 +09:00
nicolas.dorier
e92a15e072 Add logs to find out if tests hang on website getting operational 2019-11-13 15:24:56 +09:00
Nicolas Dorier
ad853c6985 Merge pull request #1153 from NicolasDorier/nico/remove-trezor
Remove Trezor in AddDerivationScheme
2019-11-13 15:20:12 +09:00
nicolas.dorier
e7ff5c0a4b Remove Trezor in AddDerivationScheme 2019-11-13 15:10:33 +09:00
Nicolas Dorier
fef1bde9b6 Merge pull request #1151 from NicolasDorier/update/nbxplorerclient
Bump NBXplorer.Client
2019-11-13 14:45:10 +09:00
nicolas.dorier
eb87d7cadc Bump NBXplorer.Client 2019-11-13 13:51:06 +09:00
Nicolas Dorier
5394e0a4a0 Merge pull request #1143 from Kukks/bugfix/ln-sats
Display proper rate for ln sats feature
2019-11-12 14:01:13 +09:00
Nicolas Dorier
0f0b846e04 Merge pull request #1032 from bolatovumar/fix-1029
Retain store ids when filtering invoices
2019-11-11 21:00:42 +09:00
Nicolas Dorier
ae869489b5 Merge pull request #1133 from pavlenex/readme-2
Add CTA at the bottom + fix broken table tag
2019-11-11 20:58:53 +09:00
Kukks
cdc973cbea fix tests 2019-11-11 11:25:23 +01:00
Kukks
bae9ca2a7a fix ambigous ref 2019-11-11 10:08:10 +01:00
Kukks
0df7506ad5 Bump ExchangeSharp, fixes breaking changes and switch to exchangesharp provider for ndax 2019-11-11 07:14:29 +01:00
Kukks
974101624b fix text 2019-11-10 18:51:51 +01:00
Kukks
621a7d998d Display proper rate for ln sats feature
fixes #1128
2019-11-10 18:49:24 +01:00
Kukks
539c7d6e17 fix for multiple U2F devices 2019-11-10 18:12:20 +01:00
Kukks
2743641122 hidden challenges rendered 2019-11-10 17:32:28 +01:00
rockstardev
1d08a811e7 Enabling circleci builds on feature tags 2019-11-10 07:00:30 -06:00
rockstardev
c5ca02e48e Js cleanup based on Kukks feedback 2019-11-10 06:22:17 -06:00
rockstardev
bce201038f Including walletunlock.json file in TestData for easier debugging 2019-11-10 06:19:59 -06:00
rockstardev
c24bb443d3 Fixing check for external services that don't specify server 2019-11-10 06:12:32 -06:00
rockstardev
9c165d84ef Removing LND seed information from walletunlock.json 2019-11-10 06:12:32 -06:00
rockstardev
58b834fe9d Displaying information from walletunlock.json if file is present 2019-11-10 06:12:32 -06:00
rockstardev
2b1aac9aa9 Service page for LND Seed Backup 2019-11-10 06:12:32 -06:00
Umar Bolatov
dfdb99165b Vary page layout for registering new accounts
address #1138
2019-11-09 21:24:19 -08:00
Nicolas Dorier
b75eaee6dd Merge pull request #1115 from escapedcat/feat/ledger-xpub-help
feat(stores): add ledger specific xpub help
2019-11-10 00:28:05 +09:00
Nicolas Dorier
888b06376d Merge pull request #1132 from Kukks/xmr-fix
fix moneromoney util
2019-11-10 00:07:27 +09:00
Nicolas Dorier
7f6b1e7e6e Merge pull request #1135 from bolatovumar/fix-1129
Make sure documentation tooltip link stays inline with label
2019-11-10 00:06:36 +09:00
nicolas.dorier
8dd1efc126 Adding test timeout 2019-11-09 16:57:40 +09:00
Umar Bolatov
9cd64bf81a Inline "allow custom payment amount" checkbox with label 2019-11-08 19:12:52 -08:00
Umar Bolatov
2c14cece6b Make sure documentation tooltip link stays inline with label
close #1129
2019-11-08 19:12:51 -08:00
escapedcat
11c269693e feat(stores): add ledger specific xpub help
problem: maximum of 20 ledger accounts are being listed in the derivation-scheme select
solution: help users with i.e. multiple ledger accounts by providing link to docs for detailed info on where to find the xpub key manually
2019-11-08 15:24:12 +01:00
nicolas.dorier
ae9b93ca8f Removing useless tool 2019-11-08 22:41:14 +09:00
nicolas.dorier
563e95df7c Fix tests 2019-11-08 21:42:34 +09:00
nicolas.dorier
5b37a9df0b Make sure we don't pass the psbt in GET url 2019-11-08 21:21:23 +09:00
nicolas.dorier
28396206de Show the torrc config when debugging via F5 2019-11-08 17:26:32 +09:00
nicolas.dorier
9d3026f676 Add torrc files in tests 2019-11-08 16:10:49 +09:00
Umar Bolatov
0f7458254e Retain store ids when filtering invoices 2019-11-07 18:14:38 -08:00
pavlenex
2305a0a5c8 Add CTA at the bottom + fix broken table tag 2019-11-07 19:43:25 +01:00
Kukks
7ce2ddb400 fix moneromoney util 2019-11-07 18:41:10 +01:00
Nicolas Dorier
13c8372329 Merge pull request #1131 from pavlenex/supporters-final
Add supporters, remove listed alts
2019-11-07 23:17:29 +09:00
pavlenex
8fd7ee0763 Add supporters, remove listed alts 2019-11-07 11:33:11 +01:00
nicolas.dorier
aab7c08500 Unify StatusMessage handling 2019-11-07 18:59:51 +09:00
nicolas.dorier
ff8de47e69 Fix tests 2019-11-07 18:36:45 +09:00
nicolas.dorier
3ff9cc85ef Fix tests 2019-11-07 18:35:47 +09:00
nicolas.dorier
0a2440e14c Fix test 2019-11-07 18:29:52 +09:00
nicolas.dorier
d37abb53f0 Fix status message when a model is passed 2019-11-07 18:20:17 +09:00
nicolas.dorier
656a3956b1 Fix strange message in PaymentRequests (Fix #1130) 2019-11-07 17:59:35 +09:00
nicolas.dorier
c31e7593b6 Add label to FullyNoded 2019-11-07 17:08:24 +09:00
nicolas.dorier
7be9083220 Update sponsor 2019-11-07 16:46:10 +09:00
nicolas.dorier
b85667a191 Fix status message of PaymentRequest 2019-11-07 16:19:36 +09:00
nicolas.dorier
892d906ac7 Fix tx link in payment request 2019-11-07 16:12:05 +09:00
nicolas.dorier
0277708b2a Fix tor service parsing 2019-11-07 15:58:03 +09:00
nicolas.dorier
d757aa2978 Fix typo 2019-11-07 15:48:56 +09:00
nicolas.dorier
cf7bba9600 Fix services if there is more than one tor external services 2019-11-07 15:41:39 +09:00
nicolas.dorier
a0d498812d bump 2019-11-07 14:35:18 +09:00
nicolas.dorier
29e8783beb Update translations 2019-11-07 14:34:34 +09:00
nicolas.dorier
57b87a55bc Show Bitcoin RPC service 2019-11-07 14:33:10 +09:00
nicolas.dorier
9ff9377bc7 Make sure the recommended fees are different from the network fee rate 2019-11-07 13:45:45 +09:00
nicolas.dorier
163ef031b9 Make sure the recommended fees are different from the network fee rate 2019-11-07 13:35:47 +09:00
Nicolas Dorier
1cfdd1489b Merge pull request #1127 from bolatovumar/master
Make recommended fee confirmation target configurable
2019-11-07 13:27:03 +09:00
Umar Bolatov
0a9290a980 Make recommended fee confirmation target configurable
Address #1110
2019-11-06 16:21:33 -08:00
nicolas.dorier
f0c2fb62df Select all link when clicked 2019-11-07 00:13:00 +09:00
nicolas.dorier
24d6532dac Add onion link to login/register 2019-11-06 23:58:04 +09:00
nicolas.dorier
fee1fe22a7 Use better svg version of the logo 2019-11-06 23:25:56 +09:00
nicolas.dorier
d8103f7293 Fix webfont 2019-11-06 21:57:43 +09:00
nicolas.dorier
3d3446e46a Improve design of register/login on mobile 2019-11-06 21:51:10 +09:00
nicolas.dorier
22af4d2836 Because links are not reusable in LightningWalletService, it should not open in a new tab 2019-11-06 21:17:50 +09:00
Nicolas Dorier
06b2a3383d Merge pull request #1125 from NicolasDorier/fix/maintainence
Improve message in Maintainance page
2019-11-06 16:41:11 +09:00
nicolas.dorier
06c3f01e41 Improve message in Maintainance page 2019-11-06 16:17:03 +09:00
Nicolas Dorier
d392880102 Merge pull request #1121 from NicolasDorier/ux/login-register
Add sponsor and new design to the login and registration page
2019-11-06 15:29:36 +09:00
nicolas.dorier
55dd8da284 Redirect first run to register, redirect unlogged to login 2019-11-06 15:19:14 +09:00
nicolas.dorier
e76f5b19b1 bump lightning package 2019-11-06 13:20:57 +09:00
nicolas.dorier
5650b8560d Refactor the Header in its own partial view 2019-11-06 13:15:26 +09:00
nicolas.dorier
2d80dbfa8f Custom logo and custom url for checkout page should accept any string (relative path) (Fix #1124) 2019-11-06 12:02:13 +09:00
Rockstar Developer
c62aeb670a Merge pull request #1120 from rockstardev/cifixrefactor
Fixing CircleCi to run external test only in repo context, small refactor of LndServiceViewModel
2019-11-05 09:41:43 -06:00
nicolas.dorier
1a407a2da3 Add sponsor and new design to the login and registration page 2019-11-05 18:01:43 +09:00
Nicolas Dorier
72d7e2dc5b Merge pull request #1116 from bolatovumar/issue-1111
Improve pay button display options section
2019-11-04 12:04:14 +09:00
rockstardev
a126ec1718 Renaming to LndServiceViewModel, used both by grpc and rest 2019-11-03 13:18:09 -06:00
rockstardev
bf59114a00 Run CircleCi external tests only in context of btcpayserver user & repo 2019-11-03 13:16:21 -06:00
Umar Bolatov
6b587bfc31 Improve pay button display options section
address #1111
2019-11-03 09:53:09 -08:00
Nicolas Dorier
28a2017b65 Merge pull request #1108 from dennisreimann/paybutton
More pay button improvements
2019-11-03 20:26:55 +09:00
Nicolas Dorier
c3a6e9a799 Merge pull request #1112 from Kukks/fix-monero-qr
fix qr code amounts for monero
2019-11-03 20:26:35 +09:00
Nicolas Dorier
45c66a167b Merge pull request #1113 from Kukks/payment-request-fixes2
fix Payment request "Cancel invoice" button always showing
2019-11-03 20:25:46 +09:00
nicolas.dorier
380629a961 Update BTCPayServer.Lightning 2019-11-03 16:34:14 +09:00
nicolas.dorier
74fdd1358c Update translations 2019-11-03 16:31:01 +09:00
nicolas.dorier
e9d63650b9 bump 2019-11-03 16:18:33 +09:00
nicolas.dorier
9ecb27a9bd Fix and test /api-tokens (fix https://github.com/btcpayserver/woocommerce-plugin/issues/34) 2019-11-03 16:17:28 +09:00
Nicolas Dorier
b0ae878ef6 Merge pull request #1107 from NicolasDorier/ui/new-confirm
Redesign confirm forms
2019-11-03 15:37:33 +09:00
nicolas.dorier
28cc4facd4 Redesign confirm form 2019-11-03 15:20:25 +09:00
Kukks
749146ad3c fix Payment request "Cancel invoice" button always showing
The Cancel current invoice button always showed even when there was active invoice
2019-11-02 08:49:19 +01:00
Kukks
a4ba93d249 fix qr code amounts for monero 2019-11-02 08:41:48 +01:00
Dennis Reimann
7eae1f3b3c More pay button improvements 2019-10-31 11:31:30 +01:00
nicolas.dorier
d66e8f2d13 Removing obsolete StatusMessage 2019-10-31 15:19:38 +09:00
nicolas.dorier
058b768b0a update lightning charge in tests 2019-10-31 14:31:44 +09:00
Nicolas Dorier
3425f84507 Merge pull request #1106 from NicolasDorier/refactor/statusmessage
[WIP] Refactor StatusMessage and remove ExternalLogin
2019-10-31 14:12:05 +09:00
nicolas.dorier
aad586232c Refactor StatusMessage and remove ExternalLogin 2019-10-31 14:11:33 +09:00
Nicolas Dorier
b514533814 Merge pull request #1104 from dennisreimann/paybutton
Improve pay button display
2019-10-31 14:01:38 +09:00
Dennis Reimann
3b1f851f8a Improve pay button display
These changes should provide a more solid CSS approach to display the pay button in different scenarios. Also it fixes minor functionality issues like preselecting the merchant-chosen currency in the custom amount and slider dropdown.
2019-10-29 21:08:08 +01:00
nicolas.dorier
99095f25d9 bump clightning 2019-10-29 16:46:22 +09:00
Nicolas Dorier
d79a28ac6f Merge pull request #1103 from rockstardev/lndseedless
Updating reference to new LND docker image and walletunlock.json path
2019-10-29 15:38:44 +09:00
rockstardev
120fe1ba85 Updating reference to new LND docker image and walletunlock.json path 2019-10-28 23:47:55 -05:00
Nicolas Dorier
ad8d8c31ab Merge pull request #1099 from Kukks/modal-close-fix
Fix: Close button for modal is broken
2019-10-28 14:26:20 +09:00
Kukks
3e5ab70583 Fix: Close button for modal is broken
closes #1093
2019-10-27 08:13:30 +01:00
nicolas.dorier
cd5b334a00 Make sure renci ssh does not prevent btcpay from closing 2019-10-26 23:40:35 +09:00
nicolas.dorier
9a99b3fdc2 Fix bug: Could not delete store 2019-10-26 23:35:55 +09:00
nicolas.dorier
2249ee195a Catch websockets exceptions 2019-10-23 16:11:20 +09:00
nicolas.dorier
93cdbf7a1a Only push the released tag 2019-10-23 15:44:49 +09:00
nicolas.dorier
22fa43f8d6 Version bump 2019-10-23 15:29:37 +09:00
nicolas.dorier
39a6bd15d1 Update translations 2019-10-23 15:12:28 +09:00
nicolas.dorier
1d8fe9fb93 Bump dbriize 2019-10-23 14:57:08 +09:00
nicolas.dorier
565cac34b0 Update NBXplorer 2019-10-23 14:56:59 +09:00
nicolas.dorier
1cb02b2913 Bump bundlerminifier 2019-10-23 14:56:48 +09:00
nicolas.dorier
1174178771 Remove reliance on ambient routing values 2019-10-23 13:52:22 +09:00
Nicolas Dorier
f1a2cc2b65 Merge pull request #1096 from sam-sla/patch-2
Fix typo in SECURITY.md
2019-10-22 23:50:22 +09:00
Samuel Almeida
36d97d1e74 Fix typo in SECURITY.md 2019-10-21 22:05:29 +02:00
nicolas.dorier
12264d8e74 Make sure SSHClient Disconnect does not hang if a cancellationToken is passed 2019-10-21 18:43:53 +09:00
nicolas.dorier
4d68b12080 Rewrite some EF queries to make EF3.0 happy 2019-10-21 18:38:57 +09:00
nicolas.dorier
3c7137830e Make sure that the SSL connection does not prevent btcpayserver from restarting 2019-10-21 16:34:26 +09:00
nicolas.dorier
4f1b4131cb Add more logs on hosted service exit 2019-10-21 14:03:55 +09:00
nicolas.dorier
ccb45e3a99 Remove empty folder 2019-10-21 13:31:43 +09:00
nicolas.dorier
f3461bfbe6 Show success message when derivation scheme is updated 2019-10-21 13:24:13 +09:00
nicolas.dorier
22b05500f1 Reactivate ndax 2019-10-20 17:52:30 +09:00
nicolas.dorier
66a2383ad1 Make CanHandleRefundEmailForm less capricious 2019-10-20 16:47:48 +09:00
nicolas.dorier
7d6fb21a8c Fix test 2019-10-20 16:45:40 +09:00
nicolas.dorier
5054e76d64 Fix build 2019-10-20 16:24:11 +09:00
nicolas.dorier
9adb825c30 Do not ask for email in checkout by default (Fix #1084) 2019-10-20 15:46:34 +09:00
nicolas.dorier
9a28dc5121 Pass cancellationToken around in the Kraken Provider 2019-10-20 15:24:07 +09:00
Nicolas Dorier
c82c67359c Merge pull request #1061 from reablaz/master
updated AppsUpdate view with correct GET request
2019-10-19 18:27:56 +09:00
nicolas.dorier
59afc05661 Log hosted services exiting 2019-10-19 14:12:43 +09:00
nicolas.dorier
c05820224e Log paytester dispose 2019-10-19 14:09:19 +09:00
nicolas.dorier
fee106abef Remove possible NRE when app start 2019-10-19 13:50:52 +09:00
nicolas.dorier
48fa11759f Missing files 2019-10-19 00:54:43 +09:00
nicolas.dorier
eac4c91820 Move Bitpay authentication class in BTCPayServer.Security 2019-10-19 00:54:20 +09:00
nicolas.dorier
037fcf93f5 Merge branch 'refactor/remove-scopes' 2019-10-18 23:58:43 +09:00
nicolas.dorier
dabe805602 Remove dead link 2019-10-18 23:58:25 +09:00
nicolas.dorier
dacf5c1e16 Go back to .net 7.3 2019-10-18 23:50:18 +09:00
nicolas.dorier
da2e8665a1 Remove unused scope, assert policy on store listing 2019-10-18 23:42:06 +09:00
nicolas.dorier
8643c04a39 Additional fixes for 3.0 2019-10-18 21:46:34 +09:00
nicolas.dorier
c5ba063edf Move OpenId folder 2019-10-18 21:36:32 +09:00
Nicolas Dorier
9648836e2d Merge pull request #1077 from NicolasDorier/migration/openiddict30
Update to OpenIddict3.0
2019-10-18 21:30:27 +09:00
nicolas.dorier
3c9b58916b Update to OpenIddict3.0 2019-10-18 19:02:23 +09:00
Nicolas Dorier
d56a5ad86e Merge pull request #1076 from bolatovumar/feat-1036
Add option to show recommeded fee on checkout invoice
2019-10-18 12:13:39 +09:00
nicolas.dorier
cd5cc6435c make lightning scheme lowercase (Fix #1091) 2019-10-17 00:52:19 +09:00
Umar Bolatov
c908301b84 Add option to show recommeded fee on checkout invoice
Address #1036
2019-10-14 10:09:26 -07:00
nicolas.dorier
e68d76b56d Add timeout to tests 2019-10-14 23:50:51 +09:00
Nicolas Dorier
8339ec59b7 Merge pull request #1090 from bolatovumar/issue-1089
Make UI checkboxes inline with their labels
2019-10-14 22:47:29 +09:00
Nicolas Dorier
c5cfd7921a Merge pull request #1086 from NicolasDorier/refactor/authorization
Refactor authorizations
2019-10-14 22:46:26 +09:00
Umar Bolatov
e584004b23 Make UI checkboxes inline with their labels
address #1089
2019-10-13 20:07:41 -07:00
nicolas.dorier
281a2461ad Refactor authorizations 2019-10-14 00:24:41 +09:00
nicolas.dorier
bd94b5f84e Temporarily remove docker image cache for circleci 2019-10-12 20:38:41 +09:00
Nicolas Dorier
2b040b3465 Merge pull request #1085 from Eskyee/patch-1
Update launchSettings.json
2019-10-12 12:28:28 +09:00
Esky33
0e452c7cdf Update launchSettings.json
I`m  the Removing Docker-Regtest-https-monero as this loads as a default, which I didn't ask for, it  default in my builds config, launchSettings json, also I think since this json was changed, it gave my Mac VS a indent bug somehow, ?? But i may be wrong there, 
can Nicolas please review ?? this is the correct way I would remove Docker-Regtest-https-monero from my folk ?? thanks
2019-10-12 03:43:30 +01:00
nicolas.dorier
2acdc77289 Update lang 2019-10-10 19:46:29 +09:00
nicolas.dorier
fda6a1a77b Use ClaimTransformer instead of Authentication's JWT 2019-10-10 19:46:29 +09:00
Nicolas Dorier
7e5c593e09 Merge pull request #1081 from bolatovumar/fix-1078
[PoS app] Show card scrollbar only when necessary
2019-10-10 15:22:29 +09:00
nicolas.dorier
40b191ef49 Skip HeadersOverrideMiddleware if on onion 2019-10-10 14:10:01 +09:00
Umar Bolatov
a92f0fe289 [PoS app] Show card scrollbar only when necessary
fix #1078
2019-10-09 20:41:24 -07:00
nicolas.dorier
ca17efbc29 Add missing file 2019-10-10 09:49:03 +09:00
nicolas.dorier
5025e0dd4d Allow xforwardedproto to be override via configuration 2019-10-09 22:26:54 +09:00
nicolas.dorier
1325c5d441 Add TestTimeout to some tests 2019-10-08 16:32:22 +09:00
Nicolas Dorier
30585d2cc1 Merge pull request #1075 from rockstardev/master
Replacing donation widget with link new donate page
2019-10-08 12:19:42 +09:00
rockstardev
98468f4eb0 Replacing donation widget with link new donate page
Resolves #1073

Co-authored-by: vswee <vswee@users.noreply.github.com>
2019-10-07 17:30:20 -05:00
nicolas.dorier
39876dea07 Use random ports in container tests 2019-10-07 16:25:27 +09:00
nicolas.dorier
03917ec806 Remove possible crash at shutdown 2019-10-07 16:06:36 +09:00
nicolas.dorier
1c9a91140b Asyncify tests 2019-10-07 16:04:25 +09:00
nicolas.dorier
3417556f5c Update pomelo on .netcore3.0 2019-10-07 15:12:22 +09:00
nicolas.dorier
0cc2fa962d Prepare Startup.cs for netcoreapp30 2019-10-07 13:03:50 +09:00
nicolas.dorier
8ba1303968 Move BitpayMiddleware up the stack 2019-10-07 12:43:17 +09:00
nicolas.dorier
ae2b055fb5 Fix build 2019-10-06 23:41:27 +09:00
nicolas.dorier
a919d3ddec Move TryGetSolutionDirectoryInfo in test utils 2019-10-06 23:38:57 +09:00
nicolas.dorier
102b38b5a8 Make test CanUsePaymentMethodDropdown more reliable 2019-10-06 23:13:42 +09:00
nicolas.dorier
56a363adf9 Add more test timeout 2019-10-06 22:51:01 +09:00
nicolas.dorier
5c8dcb0292 Add test timeout 2019-10-06 22:49:28 +09:00
nicolas.dorier
0fd5c722f6 Add test timeout for some selenium tests 2019-10-06 22:24:28 +09:00
Nicolas Dorier
b86befbdaf Merge pull request #1072 from pavlenex/security-md
Add Security.md
2019-10-06 22:20:26 +09:00
BitcoinShirt
53310dee8a Add Security.md 2019-10-06 12:25:40 +02:00
nicolas.dorier
78b86ce0ea Fix build in netcoreapp21 2019-10-06 18:47:49 +09:00
nicolas.dorier
3bdc7c102a Fix Startup in netcoreapp3.0 2019-10-06 16:00:38 +09:00
nicolas.dorier
f9714f0be0 Fix build 2019-10-06 15:54:19 +09:00
nicolas.dorier
536f98b566 Fix entity framework queries to work in netcoreapp3.0 2019-10-06 15:48:12 +09:00
nicolas.dorier
f4977e7f9f Prepare AuthenticationTests for .netcoreapp3.0 2019-10-05 20:45:09 +09:00
nicolas.dorier
68807bae37 Do not use AsAsyncEnumerable() 2019-10-04 22:55:38 +09:00
nicolas.dorier
ccc2d0e13c Exclude Google Cloud Storage for .netcoreapp3.0, it depends on System.Interactive.Linq which create namespace conflict with the new AsyncEnumerable 2019-10-04 17:56:08 +09:00
nicolas.dorier
c2032ee15b Prepare the Authentication controller for .netcoreapp3.0 2019-10-04 17:21:53 +09:00
nicolas.dorier
724a5b5460 Prepare code to move to netcoreapp3.0 2019-10-04 17:17:11 +09:00
nicolas.dorier
c9ec0f9d3c Prepare startup.cs for netcoreapp3.0 2019-10-03 18:46:09 +09:00
nicolas.dorier
411fe90b8c Can compile tests in netcoreapp3.0 2019-10-03 18:25:07 +09:00
nicolas.dorier
a56004fbef Remove a warning on .netcoreapp3.0 2019-10-03 18:15:08 +09:00
nicolas.dorier
e75edac3c1 Make .netcoreapp 3.0 build happy 2019-10-03 18:00:07 +09:00
nicolas.dorier
aaa05eb5ec Fix build 2019-10-03 17:37:10 +09:00
nicolas.dorier
8d0d80e086 Fix build 2019-10-03 17:14:07 +09:00
nicolas.dorier
4d84343a80 Prepare BTCPayServer for .netcore 3.0 2019-10-03 17:06:49 +09:00
nicolas.dorier
275fbc81e7 Prepare BTCPayServer.Data for .netcore 3.0 2019-10-03 16:36:02 +09:00
nicolas.dorier
d23adfbd78 Prepare BTCPayServer.Common and BTCPayServer.Rating for .netcore 3.0 2019-10-03 16:13:12 +09:00
Nicolas Dorier
f7b85babfe Merge pull request #1068 from rockstardev/master
Cleanup U2F namespace to correspond to folder path
2019-10-03 12:57:53 +09:00
rockstardev
56e85b68d9 Csproj cleanup, reorganizing namespaces, fixing tests 2019-10-02 22:41:53 -05:00
rockstardev
755a6bf8e6 Cleaning up references to old U2F\Services folder 2019-10-02 12:38:06 -05:00
rockstardev
7282199c31 Cleanup U2F namespace to correspond to folder path 2019-10-02 12:32:41 -05:00
nicolas.dorier
639f5d2fc4 Make sure calling monero related controllers can't be done if the shitcoin is not supported 2019-10-01 15:30:27 +09:00
nicolas.dorier
8c8ef9d3ca Rename shitcoins to altcoins 2019-09-30 20:43:15 +09:00
Pavle
2c5c6d28e3 Fix broken getting started link in readme (#1060) 2019-09-30 18:42:35 +09:00
nicolas.dorier
fd78d02576 Moving Monero classes into BTCPayServer.Common 2019-09-30 17:58:41 +09:00
nicolas.dorier
3a0328d0be Moving shitcoin code in shitcoin folder 2019-09-30 17:51:47 +09:00
Andrew Camilleri
d66b111121 xmr (#1044) 2019-09-30 17:32:43 +09:00
reablaz
8cbc58ea2f updated AppsUpdate view with correct GET request
So user can request invoice data by invoice id from btcpayserver, to verify callback
2019-09-29 15:12:35 +03:00
Andrew Camilleri
3366c86b16 Authorize granular permissions (#1057)
* granular scope permissions for api

* final fixes and styling

* prettify code

* fix missing policy
2019-09-29 16:23:31 +09:00
nicolas.dorier
c7e3241a85 Update info link in ListTokens 2019-09-29 16:21:25 +09:00
nicolas.dorier
1c2c3ede80 Update help link 2019-09-29 16:12:03 +09:00
nicolas.dorier
0f46da2e6b Update c-lightning 2019-09-29 13:53:18 +09:00
nicolas.dorier
514386ecdd Remove NDax support 2019-09-29 11:58:16 +09:00
nicolas.dorier
2257b95732 bump 2019-09-24 15:22:26 +09:00
nicolas.dorier
7a5cfcf50f Fix docker-entrypoint for raspberry 2019-09-24 15:21:50 +09:00
nicolas.dorier
e8d5190569 bump 2019-09-22 22:00:17 +09:00
Nicolas Dorier
d6d13ec001 Merge pull request #1046 from Kukks/pre-monero
General optimizations and fixes
2019-09-22 00:15:37 +09:00
Kukks
f3aa67e0f1 make invoice repository able to query more extensively 2019-09-21 17:07:48 +02:00
Kukks
59839a3332 make sure networks are abstracted properly 2019-09-21 16:39:44 +02:00
Kukks
fa18bd9a69 allow nav layout for store to not have a main title specified 2019-09-21 16:28:04 +02:00
Kukks
bf9dd57177 move css logic to global css file as it makes more sense 2019-09-21 16:24:01 +02:00
Kukks
a230e21737 Store Nav extension support 2019-09-21 16:22:26 +02:00
nicolas.dorier
e763e9e41a Make sure BTCPAY_SSHKEYFILE is set when starting container 2019-09-21 23:06:15 +09:00
nicolas.dorier
2e0abdbd06 Fix BTC_GBP pair not resolved for kraken 2019-09-21 13:05:05 +09:00
nicolas.dorier
f3890cd029 Make test more reliable 2019-09-20 19:41:59 +09:00
nicolas.dorier
2f918b1195 Fix SSH settings not correctly applied 2019-09-20 19:33:23 +09:00
Andrew Camilleri
5b73f22eb4 set buyer email in get invoice to refund email if not set (#1023)
closes #973 fixes #941
2019-09-20 19:15:07 +09:00
Samuel Almeida
edfdae744f Fix other-dependencies reference in TOC (#1035) 2019-09-20 19:14:33 +09:00
Umar Bolatov
438fc34ad2 Replace pay button PNG image with an SVG and add 2x res version (#1034)
fix #1030
2019-09-20 19:14:08 +09:00
nicolas.dorier
9e107b1eb1 Try to read the authorized keys file from the configuration 2019-09-20 18:51:14 +09:00
nicolas.dorier
a8e2a99faa Do not use sed -i in docker endpoint 2019-09-20 18:06:21 +09:00
nicolas.dorier
0823a3e0dc Remove warnings 2019-09-20 17:35:55 +09:00
nicolas.dorier
7ac72c6c2a Make sure the key is deleted 2019-09-20 17:25:07 +09:00
nicolas.dorier
6d703d590b Generate SSH keys in the docker container 2019-09-20 17:23:32 +09:00
nicolas.dorier
3dada3c464 Remove SSH warning if no SSH settings set 2019-09-20 15:26:09 +09:00
nicolas.dorier
a2cb6178b8 Can edit authorized_keys in SSH Services, remove download keyfile support 2019-09-19 19:17:20 +09:00
nicolas.dorier
42dda56eea Retry SSH connection later if it fails 2019-09-19 16:54:07 +09:00
Andrew Camilleri
6407e15187 Create FUNDING.yml 2019-09-15 14:56:46 +03:00
nicolas.dorier
af97e296ba bump 2019-09-15 01:13:06 +09:00
Rockstar Developer
200c9709fe Updating BundlerMinifier (#1033) 2019-09-13 04:56:36 +09:00
Andrew Camilleri
18b8bec8d0 Checkout: show red border around email when invalid (#1013) 2019-09-12 18:28:11 +09:00
nicolas.dorier
41d714e2ce Revert "Share same browser for all selenium tests"
This reverts commit 2ce0749bb6.
2019-09-11 16:22:41 +09:00
nicolas.dorier
60a8b23c03 Revert "Fix test"
This reverts commit 0096250384.
2019-09-11 16:22:27 +09:00
nicolas.dorier
0096250384 Fix test 2019-09-11 15:58:38 +09:00
nicolas.dorier
2ce0749bb6 Share same browser for all selenium tests 2019-09-11 15:36:12 +09:00
Andrew Camilleri
7ab97311be Re-enable lightning sats feature through C# (#1014) 2019-09-11 14:49:06 +09:00
Andrew Camilleri
e6cfb6e851 Selenium Tests for Checkout + other store operations (#1015) 2019-09-10 17:03:24 +09:00
nicolas.dorier
b3298589c3 Rockstarify the docker-compose 2019-09-10 13:02:52 +09:00
Nicolas Dorier
127ad3e573 Merge pull request #1028 from bolatovumar/fix-1025
Allow removing transaction labels by clicking on an icon
2019-09-10 12:45:34 +09:00
Umar Bolatov
2a262c4e1e Allow removing transaction labels by clicking on an icon
close #1025
2019-09-09 20:40:32 -07:00
Nicolas Dorier
ee804c9922 Merge pull request #1019 from bolatovumar/fix-1017
[Wallet] Prevent jumpy transition on page load when transaction labels are present
2019-09-09 13:35:04 +09:00
Nicolas Dorier
3a8e136f39 Merge branch 'master' into fix-1017 2019-09-09 13:34:51 +09:00
Nicolas Dorier
8eec6db825 Merge pull request #1021 from dennisreimann/patch-1
Fix typo on Pay Button page
2019-09-09 13:33:22 +09:00
Nicolas Dorier
1c90b6227c Merge pull request #1026 from bolatovumar/fix-1024
[Wallet] Add space between transaction labels
2019-09-09 13:33:03 +09:00
Umar Bolatov
8b7ea6c71f [Wallet] Add space between transaction labels
close #1024
2019-09-08 11:00:57 -07:00
nicolas.dorier
3fc9d0c010 Better error message for seed signing (Fix #999) 2019-09-08 00:18:30 +09:00
Dennis Reimann
345ce6ba5a Fix typo on Pay Button page
Signed-off-by: Dennis Reimann <mail@dennisreimann.de>
2019-09-07 08:32:01 +02:00
nicolas.dorier
d9cd00f49a Make tests more resilient 2019-09-06 18:29:12 +09:00
Nicolas Dorier
2266c0dc96 Merge pull request #1020 from Kukks/ndax-rates
Add Ndax rate provider
2019-09-06 17:37:42 +09:00
nicolas.dorier
882430cf58 Fix docker-compose ssh connection 2019-09-06 16:59:20 +09:00
nicolas.dorier
11730cbae6 Add sshd service so we can test SSH stuff as well 2019-09-06 16:51:49 +09:00
Kukks
dc3abc76c3 add Ndax rate provider 2019-09-06 08:20:08 +02:00
nicolas.dorier
0013703cef Use docker sleep for the dev container in tests 2019-09-06 15:16:24 +09:00
nicolas.dorier
91b1a5e3e5 Remove MySQL from tests (never run) 2019-09-06 15:16:24 +09:00
Nicolas Dorier
911faeb510 Merge pull request #1018 from mbambnag/patch-1
Update Currencies.txt
2019-09-06 14:54:19 +09:00
Umar Bolatov
8fa9834bf6 [Wallet] Prevent jumpy transition on page load when transaction labels are present
fix #1017
2019-09-05 19:22:31 -07:00
mbambnag
cf930fc46a Update Currencies.txt 2019-09-06 07:16:15 +07:00
nicolas.dorier
9ca9b5a5d2 Remove lightning sats denomination (Fix #1012) 2019-09-05 14:58:01 +09:00
nicolas.dorier
3a87dc2223 Fix payment method switching stopped working #1012 2019-09-05 12:48:00 +09:00
nicolas.dorier
67d3875c98 Fix error on this.fetchData 2019-09-05 12:13:36 +09:00
nicolas.dorier
77d0f3d85c Fix tests 2019-09-05 11:55:31 +09:00
nicolas.dorier
0798b95c6b fix build 2019-09-05 11:41:51 +09:00
nicolas.dorier
c247e275f6 Make sure NotificationUrl and RedirectUrl are of type Uri 2019-09-04 18:20:36 +09:00
nicolas.dorier
f17a359893 Fix NotificationUrl and RedirectUrl templating 2019-09-04 18:01:26 +09:00
nicolas.dorier
8e15707dc7 fix dockerfiles 2019-09-04 17:37:40 +09:00
nicolas.dorier
d890753ee2 bump 2019-09-04 17:30:58 +09:00
nicolas.dorier
00b82ad07a Update translations 2019-09-04 17:30:24 +09:00
Nicolas Dorier
a21948cf16 Merge pull request #1004 from bolatovumar/fix-606
Tackle additional issues in #606
2019-09-04 17:26:58 +09:00
Kukks
eb583ba628 Revert "Start off cart hidden on desktop breakpoint"
This reverts commit a169179061.
2019-09-04 09:29:46 +02:00
Umar Bolatov
a4b61f8aab [POS app] Allow empty string for product description (#1010)
fix #1008
2019-09-04 13:07:09 +09:00
Andrew Camilleri
7208e63155 Excerpts from #971 (manual PR) (part1 ) (#1006)
* Excerpts from #971

Relating to selenium tests + small renamings

* fix build
2019-09-03 20:11:36 +09:00
nicolas.dorier
8f464b0838 Fix build 2019-09-03 14:10:13 +09:00
britttttk
233b799a46 Fix inventory string (#1005) 2019-09-03 14:08:55 +09:00
Andrew Camilleri
d99beb9811 New feature: Apps limited inventory (#961) 2019-09-02 22:37:52 +09:00
nicolas.dorier
fefc45854e Remove anchor where querying URL 2019-09-02 18:05:40 +09:00
nicolas.dorier
0047a5388d Add test for dead links in Views 2019-09-02 16:32:38 +09:00
nicolas.dorier
66064bd2eb Add link to wallets doc 2019-09-02 16:10:52 +09:00
nicolas.dorier
6bd601137a Allow Placeholders in redirectURL (Fix #169) 2019-09-02 16:04:41 +09:00
Umar Bolatov
eae913f809 fix(pos-app): hide "clear search" button when input field is manually cleared 2019-09-01 11:18:46 -07:00
Umar Bolatov
bc8e7ce888 Add background color to cart tip button when it's focused 2019-08-30 20:27:43 -07:00
Umar Bolatov
1ec342da1e Apply consistent border radius to POS app search bar 2019-08-30 20:06:08 -07:00
Umar Bolatov
a169179061 Start off cart hidden on desktop breakpoint 2019-08-30 20:04:21 -07:00
nicolas.dorier
57b436417c Revert "Skip BundleMinify if in Debug mode"
This reverts commit 0229b560e7.
2019-08-30 19:36:57 +09:00
nicolas.dorier
0229b560e7 Skip BundleMinify if in Debug mode 2019-08-30 19:18:56 +09:00
Nicolas Dorier
3c51bd3b23 Merge pull request #1000 from btcpayserver/refactor/move-data
[Refactor] Move SQL classes in their own assembly
2019-08-30 18:45:22 +09:00
nicolas.dorier
b7ba97d86f Fix namespace in the db snapshot 2019-08-30 18:22:19 +09:00
nicolas.dorier
0eb58e9a91 Remove designer files 2019-08-30 18:22:18 +09:00
nicolas.dorier
f257f9f91d [Refactor] Move SQL classes in their own assembly 2019-08-30 18:22:13 +09:00
Umar Bolatov
8971dbc2f9 Ensure raised amount is showing with correct precision in crowdfound app tooltip (#987)
fix #926
2019-08-30 16:17:17 +09:00
nicolas.dorier
5b4e78f8d1 Add bitpay as direct provider, remove reliance on NBitpayClient in the Rate Assembly 2019-08-29 18:13:01 +09:00
Umar Bolatov
27f20386df Add confirmation button to recovery codes view (#984)
fix #806
2019-08-29 17:16:02 +09:00
Umar Bolatov
9154e4264d Address issues in #606 (#988)
* Increase POS cart button and input size elements as per #606

* Increase confirmation modal input and button size as per #606

* Add loading indicator to cart confirmation pay button as per #606

* Ensure POS app tip amount input shows decimal amount with correct divisibility

* Center POS app cart quantity input field

address task in #606

* Ensure search bar and content are horizontally aligned

address task in #606
2019-08-29 17:15:00 +09:00
nicolas.dorier
7457e99451 Change button style 2019-08-29 16:26:34 +09:00
Andrew Camilleri
c5227d9996 Request consent from user before giving application access to the user's data & services. 2019-08-29 16:25:16 +09:00
Umar Bolatov
1447b5e8be Add top margin to 2FA screen heading (#986)
fix #985
2019-08-29 16:16:16 +09:00
Andrew Camilleri
efdb131c33 checkout fixes (#997) 2019-08-29 15:37:02 +09:00
nicolas.dorier
d9a0db3efc bump nbx 2019-08-29 00:03:14 +09:00
nicolas.dorier
cb8c077c1e better error message for bad ssh config 2019-08-27 23:39:17 +09:00
nicolas.dorier
9688798a4a Asyncify SSH access, do not show SSH service if ssh is not well configured 2019-08-27 23:30:25 +09:00
Andrew Camilleri
9a9e31c759 Split Bitcoin/LN to partial defined in payment handler and convert checkout to Vue (#996) 2019-08-27 11:31:15 +09:00
Andrew Camilleri
55c0c0ea6f fix #994 tab slider not always working on checkout (#995) 2019-08-26 20:43:40 +09:00
Andrew Camilleri
43ee22f965 Allow overriding UI of checkout in payment handler (#992) 2019-08-25 22:50:11 +09:00
wiz
989a7b863e Revert "Add bisq as supporting P2P service" (#993)
This reverts commit 0c5c6233c7.
2019-08-25 16:53:29 +09:00
nicolas.dorier
709ee54ac2 Do not prevent btcpay from starting if unsupported sshkey 2019-08-25 12:27:29 +09:00
Andrew Camilleri
664b920a39 Make invoice payments view modular per payment handler (#991) 2019-08-24 23:10:13 +09:00
Lucas Cullen
7ea3312534 Add display attributes. Fix #98 (#990) 2019-08-24 23:06:34 +09:00
Lucas Cullen
929b5c7951 Add display attributes. Fix #98 2019-08-24 15:39:43 +10:00
Andrew Camilleri
3e9bee2d44 simplify settings changed listening (#976)
* simplify settings changed listening

Might as well use the Event aggregator to listen in on changes instead of the current complicated magic in the settings repo. This also reduces db calls( it sends the new settings through the event instead of fetching them again)

* add settings extension

* switch to old style but using event aggregator
2019-08-22 20:44:06 +09:00
Umar Bolatov
a571f77a40 Ensure POS/Crowdfund price input fields bring up numpad on mobile (#982)
fix #680
2019-08-21 23:05:52 +09:00
Umar Bolatov
13f2be7811 Add bigger than zero validation for payment request amount (#981)
fix #844
2019-08-21 23:05:06 +09:00
Umar Bolatov
3d00611ddf Remove stray semicolon from payment request view (#980)
fix #979
2019-08-21 23:04:25 +09:00
nicolas.dorier
576734b5cb downgrade clightning 2019-08-21 15:12:09 +09:00
nicolas.dorier
6cd60732b5 Properly render replaced tx in invoice view 2019-08-21 01:25:03 +09:00
Andrew Camilleri
1635e1e3fb missing file commit (#977) 2019-08-21 00:00:50 +09:00
Andrew Camilleri
b29b46bbc7 Add policy to allow internal lightning node for non-admins (#975)
Partially related to #204 (but no actual management and accounting of funds in different stores occurs)
2019-08-20 17:38:15 +09:00
nicolas.dorier
e45f1afd51 Small rewrite of condition 2019-08-20 16:12:18 +09:00
nicolas.dorier
288dc9b626 Do not loop infinitely waiting for btcpay to start 2019-08-20 16:10:44 +09:00
nicolas.dorier
81c6a76ea2 make sure tests run on latest images 2019-08-20 14:17:52 +09:00
nicolas.dorier
182f9b3cf6 bump clightning 2019-08-20 13:38:42 +09:00
Pavle
e71fd4950f Add dev env videos to readme (#964)
- Add full node wallet as a feature
- Formatting
- Add windows dev env video
- Add ubuntu dev env video
2019-08-19 14:15:22 +09:00
Andrew Camilleri
72d519bb45 Add description and embedded css to POS (#970)
* Add description and embedded css to POS

* wrap embedded css props in <style> before Safe.raw
2019-08-19 14:13:42 +09:00
nicolas.dorier
e743b2e457 Downgrade clightning 2019-08-17 15:57:15 +09:00
nicolas.dorier
f932a34581 Fix docker-compose test 2019-08-17 15:37:57 +09:00
nicolas.dorier
3543d9bd60 Fix docker-compose test 2019-08-17 15:35:41 +09:00
nicolas.dorier
d387834c6c Fix docker-compose test 2019-08-17 15:25:00 +09:00
nicolas.dorier
6ea15411b6 Update c-ligthning and some packages 2019-08-17 15:14:31 +09:00
nicolas.dorier
63df6ac5eb Make sure EmbeddedCSS is CSS 2019-08-10 14:53:24 +09:00
nicolas.dorier
039bee5b65 bump 2019-08-10 14:19:34 +09:00
Nicolas Dorier
be5597085b Use Safe.Raw and Safe.Json instead of Html.Raw and the JsonHelper, move sanitization at the View level (#960) 2019-08-10 14:05:11 +09:00
Nicolas Dorier
6b355cbe1b Merge pull request #959 from woutersamaey/improved-smtp-config-form
UI improvements to SMTP settings + Quick fill function for Gmail and Hotmail
2019-08-08 18:07:40 +09:00
Wouter Samaey
dec5d19a2f Only show SMTP quick fill when JavaScript is enabled 2019-08-07 22:10:15 +02:00
Wouter Samaey
ff533994d8 UI improvements to SMTP settings + Quick fill function for Gmail and Hotmail 2019-08-07 21:31:08 +02:00
nicolas.dorier
221e2c7898 Fix "Key already added in dictionary" error when signing with ledger 2019-08-07 17:53:03 +09:00
Nicolas Dorier
fb77fddcc3 Merge pull request #954 from woutersamaey/prevent-autofill-smtp-config
Prevent autofilling SMTP config user and password
2019-08-05 15:15:41 +09:00
Wouter Samaey
c37086e000 Change type of SMTP password field to plain text, preventing autofill once and for all 2019-08-04 17:17:55 +02:00
Nicolas Dorier
3d6783b743 Merge pull request #955 from PatrickLemke/fix-typo-dns-settings
Fix typo / grammar for dns error message
2019-08-04 21:42:43 +09:00
Nicolas Dorier
c479e6aae5 Merge pull request #956 from woutersamaey/prevent-layout-break-long-text-links
Prevent layout from breaking on hyperlinks with very long URLs as the visible text
2019-08-04 21:33:07 +09:00
Wouter Samaey
59a770e0d7 Prevent layout from breaking on hyperlinks with very long URLs as the visible text 2019-08-04 11:29:03 +02:00
Nicolas Dorier
140259e737 Merge pull request #911 from Kukks/fix-domain-policy-dropdowns
Allow apps server admin does not have access to to be mapped in domain-to-app policy settings
2019-08-03 23:24:51 +09:00
Kukks
59a391dcc9 add store name 2019-08-03 16:23:00 +02:00
Kukks
3a1cdefa09 Allow apps server admin does not have access to to be mapped in domain-to-app policy settings
This is a bugfix imo:
If you have 2 server admins, where only Admin1 has access to a specific app and Admin2 goes to edit the policies, the mapping would be overwritten to "None" .
This PR exposes all apps on all stores to this mapping dropdown irrespective of user. I think it makes sense to leak this minor data here to server admins.
2019-08-03 16:23:00 +02:00
nicolas.dorier
7be104f486 Only show the txid as unconf in the wallet transaction list 2019-08-03 23:21:09 +09:00
nicolas.dorier
d90a65975c Add placeholder for label name 2019-08-03 23:13:27 +09:00
nicolas.dorier
4e53f59a9c Implement label filter 2019-08-03 23:10:45 +09:00
nicolas.dorier
8e58fc128d Fix bug on unable to add comment 2019-08-03 23:02:15 +09:00
nicolas.dorier
756b6e9692 Make sure tags does not contains ',' 2019-08-03 22:06:14 +09:00
nicolas.dorier
23d546c559 Add max length to comment and tags 2019-08-03 22:03:49 +09:00
nicolas.dorier
6d4ea6a951 simplify code 2019-08-03 21:52:47 +09:00
Patrick Lemke
f9b5dcd4a6 docker deployment method 2019-08-03 13:29:27 +02:00
Patrick Lemke
eab679cb2b fix typo 2019-08-03 12:23:54 +02:00
Nicolas Dorier
ddf8b20091 Fix for bug #922 & bug #949 (#951)
* Fix "Do not propose lightning payment if value of the invoice is above..."

* Fix "Do not propose lightning payment if value of the invoice is above..." take care of the GAP edge case where OnChainMinValue > LightningMaxValue

* Fix "Do not propose on chain payment if the value of the invoice is below..." and take care of the GAP edge case

* Add test to cover all case and fix small issue

* Simplified version, with less validation
2019-08-03 12:55:58 +09:00
nicolas.dorier
f1457582fe Fix test 2019-08-03 12:41:12 +09:00
Wouter Samaey
7841f79f31 Prevent autofilling SMTP config user and password 2019-08-02 20:35:48 +02:00
HugoDoyon
56e5acfb65 Simplified version, with less validation 2019-08-02 14:14:54 -04:00
HugoDoyon
6b777878e3 Add test to cover all case and fix small issue 2019-08-02 14:14:54 -04:00
HugoDoyon
428c7c5444 Fix "Do not propose on chain payment if the value of the invoice is below..." and take care of the GAP edge case 2019-08-02 14:14:54 -04:00
HugoDoyon
f8427eb801 Fix "Do not propose lightning payment if value of the invoice is above..." take care of the GAP edge case where OnChainMinValue > LightningMaxValue 2019-08-02 14:14:54 -04:00
HugoDoyon
2a53c056ca Fix "Do not propose lightning payment if value of the invoice is above..." 2019-08-02 14:14:54 -04:00
nicolas.dorier
21d555ee6b Fix bug: Can't remove comments to transaction 2019-08-03 00:55:27 +09:00
nicolas.dorier
d79fda166f Can attach labels and comment to transaction in the wallet 2019-08-03 00:43:19 +09:00
britttttk
c8025ebaac View pos in selenium test (#953) 2019-08-02 13:48:12 +09:00
nicolas.dorier
42d7ad02b0 In update store, make payment methods "enabled" only if properly configured 2019-08-01 17:10:52 +09:00
badev
21556d4c07 added View App button to POS settings (#947)
* added View App button to POS settings

updated POS settings form group buttons to match Crowdfund settings from group buttons, addressing #854

* added View App button to POS settings #947

Fixed "Save Settings" Redirect
2019-08-01 15:55:41 +09:00
Andrew Camilleri
89a7166c1b More options to Custom Amount Pay button (#948)
* Start adding more options to Custom Amount Pay button

This allows you to simplify the custom amount pay button to remove the big + & - buttons along with set a min, max and step amounts. There's also an option to fit the button next to the input amount to have it more condensed(not finished)

* make fit button inline work nicely

* make currency dropdown more obvious

* fix space
2019-07-31 22:58:04 +09:00
nicolas.dorier
5d6c28c997 Fix tests 2019-07-31 15:40:21 +09:00
nicolas.dorier
717cadc64b Fix "Setting "Do not propose lightning payment if value of the invoice is above..." have no effect" (Fix #949) 2019-07-31 15:38:49 +09:00
nicolas.dorier
3dac7ef3f3 Fix dynamic dns 2019-07-25 23:26:56 +09:00
nicolas.dorier
056cb60d5d Validate dynamic dns POST 2019-07-25 20:54:49 +09:00
nicolas.dorier
bb4e92ec50 Fix alignement in Dynamic DNS 2019-07-25 19:44:40 +09:00
nicolas.dorier
9218fb6463 bump 2019-07-25 19:39:15 +09:00
nicolas.dorier
d9baea4c38 Remove global xpubs 2019-07-25 19:38:29 +09:00
nicolas.dorier
6df6537cf9 Fix tests, improve logs 2019-07-25 19:36:03 +09:00
nicolas.dorier
72d199f390 Add documentation link 2019-07-25 19:27:43 +09:00
nicolas.dorier
233bce578b Can remove dyndns services 2019-07-25 19:07:56 +09:00
nicolas.dorier
63472d54d7 Can configure multiple dynamic dns 2019-07-25 18:29:18 +09:00
nicolas.dorier
db57b5ae80 Fix DynDNS renewal 2019-07-25 16:37:39 +09:00
nicolas.dorier
8896d89908 Add Dynamic DNS support 2019-07-24 17:59:30 +09:00
badev
8e07bf3ffb Update Login.cshtml (#935)
* Update Login.cshtml

[UI] Removed Unneeded string on login page with registering disabled. #881

* Update Login.cshtml
2019-07-24 12:40:06 +09:00
nicolas.dorier
6194d0ad44 bump NicolasDorier.RateLimits 2019-07-21 15:28:07 +09:00
nicolas.dorier
138532d3d4 use donate.btcpayserver.org as donation link 2019-07-19 18:36:57 +09:00
Rockstar Developer
4716b704d4 Paging on List Users page for big hosting providers like Esky (#905) 2019-07-19 16:50:17 +09:00
Andrew Camilleri
109e576811 redo crowdfund modal perk list (#919)
* redo crowdfund modal perk list

closes #918

* fix small responsive issue
2019-07-19 16:48:39 +09:00
Cryptcoin Junkey
631c878722 Fix typo. (#928) 2019-07-19 16:47:52 +09:00
nicolas.dorier
4cbcdb8af5 Make sure QRCodes use SVG instead of canvas (QRCodes on Tor does not work because of canvas fingerprinting protections) 2019-07-19 16:27:26 +09:00
Andrew Camilleri
d24628a386 fix payment request hub bug with payment types (#927) 2019-07-18 14:00:46 +09:00
Rockstar Developer
7e714bdfa2 Increasing default monitoring expiration time (#925)
With value 60 what would often happen is that invoice ends up being declared invalid, and then payment arrives later when system is not monitoring. After lots of production testing we decided to increase this value by default so that new users don't need to manually reassign invoices from `invalid` status, especially if they use third party plugin like wooCommerce.
2019-07-17 12:45:32 +09:00
nicolas.dorier
e3283fb29b Bump NBitcoin and NBXplorer 2019-07-15 19:40:06 +09:00
nicolas.dorier
be0285155f Do not redirect from login page if there is a returnUrl. 2019-07-15 17:18:30 +09:00
nicolas.dorier
1c055a7282 Make sure perk contributions are not accounted until paid 2019-07-15 17:01:12 +09:00
nicolas.dorier
8d3cdd39ca Fix "Configure Email Settings warning link not working" (Fix https://github.com/btcpayserver/btcpayserver/issues/906) 2019-07-14 22:54:27 +09:00
nicolas.dorier
010ba4d5b6 Can specify display name for sender in email settings (Fix https://github.com/btcpayserver/btcpayserver/issues/910) 2019-07-14 22:45:14 +09:00
nicolas.dorier
d176a16caa fix typo 2019-07-14 22:25:43 +09:00
nicolas.dorier
fd4a27c1a3 When logged in, the URL /account/login is still accessible (Fix https://github.com/btcpayserver/btcpayserver/issues/916) 2019-07-14 22:16:23 +09:00
nicolas.dorier
ae73858e23 Fix warning 2019-07-13 22:44:07 +09:00
nicolas.dorier
1427e5458b Fix invoice page not showing tor link (Fix https://github.com/btcpayserver/btcpayserver/issues/915) 2019-07-13 22:42:46 +09:00
nicolas.dorier
8853cf9f83 Only count contributors which paid invoice 2019-07-13 22:32:54 +09:00
nicolas.dorier
de7f22bcbc bump 2019-07-13 22:21:23 +09:00
nicolas.dorier
b8b2fa29d7 bump clightning 2019-07-13 22:03:33 +09:00
nicolas.dorier
476a241936 bump 2019-07-12 23:36:28 +09:00
nicolas.dorier
dc97982fad Remove trace of gdax (fix https://github.com/btcpayserver/btcpayserver/issues/913) 2019-07-12 23:34:10 +09:00
nicolas.dorier
e488f93b17 Add explanation for the annoying windows popup 2019-07-12 13:04:54 +09:00
nicolas.dorier
e6e9668bbb Prevent error 500 if bad psbt 2019-07-12 12:57:56 +09:00
nicolas.dorier
56976898bd Fix error 414 2019-07-12 12:23:13 +09:00
nicolas.dorier
221ff05c49 bump 2019-07-12 11:49:09 +09:00
nicolas.dorier
8f719d3e33 Solve error 414 when PSBT are too big 2019-07-12 11:47:13 +09:00
nicolas.dorier
67c2abca2d Hide openid warning message 2019-07-08 14:57:42 +09:00
nicolas.dorier
36046f08f7 Use Migration startup task when starting BTCPay instead of hosted service. 2019-07-08 12:12:39 +09:00
radWorx
3c4455c23c Update AppHubStreamer.cs (#908)
Bug fix #902
2019-07-07 20:03:40 +09:00
nicolas.dorier
e3db2e2b76 Remove warnings 2019-07-04 21:18:16 +09:00
nicolas.dorier
5567a26b33 update translation 2019-07-04 21:16:20 +09:00
nicolas.dorier
5387c3dd97 bump 2019-07-04 20:56:54 +09:00
nicolas.dorier
d14eef979c Bump versions of package and software 2019-07-04 20:50:40 +09:00
nicolas.dorier
c7069f4fd9 bump 2019-07-04 18:49:25 +09:00
nicolas.dorier
b40239f93b bump nbxplorer 2019-07-04 18:48:54 +09:00
nicolas.dorier
2958175add Sort payment requests, most recent first 2019-07-01 17:33:49 +09:00
britttttk
719ad8f4d4 Add File Storage links (#893)
* add redirect to Services for enable provider

* add tooltip to FS FAQ
2019-07-01 15:20:33 +09:00
Andrew Camilleri
4055eda757 Part3: OpenIddict: Add Flows Event Handlers (#568)
* Part 1 & Part 2 squashed commits

pr changes


pr fixes


remove config for openid -- no need for it for now


Part 1: OpenIddict - Minor Changes & Config prep


Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies


pr changes


fix merge 


fix compile


fix compile #2


Part 1: OpenIddict - Minor Changes & Config prep


add missing nuget


Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies

* Part3: OpenIddict: Add Flows Event Handlers

* pr changes

* fix merge

* fix rebase

* fix imports

* cleanup

* do not allow u2f enabled accounts to log in

* start better tests for flows

* add tests

* fixes

* reintroduce dynamic policy as policies on jwt do not work without it

* reduce logs

* fix incorrect endpoint definitions

* Add implicit flow e2e test

* add code flow and refresh flow

* do not allow jwt bearer auth for all requests( only those under /api)

* remove commentedt code

* make sure authorize attr is marked with scheme

* remove dynamic policy and set claims in jwt handler

* cleanup

* change serversettings policy to not need a claim

* Add test to checkadmin verification

* revert server setting claim removal

* fix test

* switch back to claim

* unit test fixes

* try fix build with weird references to csprojes

* start fixing rebase

* remove https requirement to handle tor

* reformat tests correctly

* fix csproj

* fix ut formatting

* PR Changes

* do not show selenium browser
2019-07-01 12:39:25 +09:00
Nicolas Dorier
442df56629 Merge pull request #898 from Kukks/multiple-domains
Multiple domains for apps in BTCPay
2019-06-28 16:31:55 +09:00
Kukks
477ab67fe9 set viewbag on method result instead 2019-06-26 07:02:22 +02:00
nicolas.dorier
64c60741a0 Fix possible NRE 2019-06-26 13:46:45 +09:00
Nicolas Dorier
9e354d7703 Merge pull request #891 from Kukks/pay-button-language
Allow language parameter in pay button endpoint
2019-06-26 13:27:52 +09:00
Nicolas Dorier
1932c1cd7c Merge pull request #897 from Kukks/filesystem-downloads
fix tmp link download
2019-06-26 13:11:08 +09:00
Kukks
11670d0c0f make checkout param more generic and add it to pay button generator 2019-06-25 21:01:37 +02:00
Kukks
6cab02cd99 Multiple domains for apps in BTCPay
closes #887
2019-06-25 20:41:32 +02:00
Kukks
fc1d781272 fix tmp link download
closes #894
2019-06-25 12:23:10 +02:00
Kukks
a58ecfd35a Save local file storage upon selection instead
closes #895
2019-06-25 11:40:33 +02:00
nicolas.dorier
645516ee1b Change donation button from slider to input 2019-06-23 14:45:27 +09:00
nicolas.dorier
f570de5086 Fix payment button alignement 2019-06-23 14:31:56 +09:00
nicolas.dorier
81ccfa1e6c Change donation QR to use proper donation button. Remove also special thanks part as the contributors dramtically changed. 2019-06-23 14:29:43 +09:00
Andrew Camilleri
b808aa4971 allow language parameter in pay button endpoint 2019-06-18 18:31:20 +02:00
nicolas.dorier
d1f1bc93b3 Fix version detection 2019-06-18 14:00:42 +09:00
nicolas.dorier
faf433f644 Fix build 2019-06-18 13:51:04 +09:00
nicolas.dorier
ba4660a03a bump 2019-06-18 13:41:30 +09:00
nicolas.dorier
03aa3693d0 Update translations 2019-06-18 13:41:10 +09:00
nicolas.dorier
ecae976993 Make sure we don't timeout on NBX 2019-06-18 13:37:24 +09:00
nicolas.dorier
307c8980e0 Move Common and Version.csproj in Build folder 2019-06-17 21:42:48 +09:00
nicolas.dorier
e53d0eda47 Fix NRE if the account has no rootedKeyPath 2019-06-16 12:32:00 +09:00
nicolas.dorier
369b15b20b bump 2019-06-13 16:33:23 +09:00
nicolas.dorier
ff8bbcd88a Merge branch 'amitasaurus-btcPay-coinSwitch' 2019-06-13 16:31:48 +09:00
Amit Singh
c52d22dc30 resolved conflicts 2019-06-13 12:49:01 +05:30
Amit Singh
4fa6c9dc3d coinswitchAmountDue always returning 1.025 possible fix 2019-06-13 12:14:28 +05:30
nicolas.dorier
a958d10dd9 Fix local network detection (https://github.com/btcpayserver/btcpayserver-docker/pull/152) 2019-06-12 17:40:49 +09:00
Nicolas Dorier
ff86ce64b4 Merge pull request #880 from Kukks/error-messages-login-register
Show Model errors on login/register
2019-06-12 14:02:26 +09:00
Nicolas Dorier
f31d8aa9d7 Merge pull request #886 from btcpayserver/Kukks-patch-1
Fix automated docker build link
2019-06-12 14:01:18 +09:00
Andrew Camilleri
3cf7406123 Fix automated docker build link
Was pointing to nicolas' repo instead of the active one
2019-06-11 19:13:37 +02:00
nicolas.dorier
5d8bf196a8 Fix: Allow get rate unauthenticated 2019-06-11 18:40:47 +09:00
nicolas.dorier
019bd26c51 bump 2019-06-11 18:16:31 +09:00
nicolas.dorier
0e1f924fc3 Relax "Insecure transport protocol to access this service, please use HTTPS or TOR" error in server setting services 2019-06-10 18:16:12 +09:00
nicolas.dorier
15c3893aab Make sure currency is in uppercase 2019-06-10 00:46:29 +09:00
nicolas.dorier
deeab7c238 Add link to checkout page theme doc 2019-06-09 22:26:59 +09:00
nicolas.dorier
e5ba7b9e69 Refactor authentication handlers 2019-06-09 01:36:54 +09:00
nicolas.dorier
ca5be7e38d Never use default AuthenticationScheme 2019-06-08 12:41:44 +09:00
nicolas.dorier
fb530f2b34 fix build 2019-06-07 13:46:02 +09:00
nicolas.dorier
29cbf63346 Remove deps on NetworkProvider in AppService 2019-06-07 13:40:48 +09:00
nicolas.dorier
13c03cc0c2 Removing dependency on NetworkProvider from InvoiceWatcher 2019-06-07 13:34:38 +09:00
nicolas.dorier
281280d3ec Fix crash which can happen during export if someone remove support for a network, inject Network inside paymentdata 2019-06-07 13:31:11 +09:00
nicolas.dorier
410be51951 Update language 2019-06-07 00:49:05 +09:00
nicolas.dorier
eefe8289b3 Fix exception in CreateInvoice if a payment method is not supported 2019-06-07 00:45:10 +09:00
nicolas.dorier
a53a5944f8 Remove empty row if no validation 2019-06-06 18:54:51 +09:00
nicolas.dorier
cd009466b6 Make sure we don't have empty row if no StatusMessage 2019-06-06 18:47:31 +09:00
nicolas.dorier
f0c106de75 Change the menu nav bar pages by moving the title above the nav pills 2019-06-06 18:29:54 +09:00
Kukks
fcf1b679e6 Show Model errors on login/register
Invalid logins and registrations were not showing any messages
2019-06-04 14:37:13 +02:00
nicolas.dorier
03ba57cd46 bump 2019-06-04 10:24:51 +09:00
nicolas.dorier
bea08e5cfd Refactor: Remove uneeded dependencies to PaymentMethodHandlerDictionary 2019-06-04 10:17:26 +09:00
nicolas.dorier
01787e2662 Refactor: Remove PrepareInvoiceDTO 2019-06-04 10:11:52 +09:00
nicolas.dorier
ac76220349 Move GetTransactionLink to PaymentType 2019-06-04 09:56:18 +09:00
nicolas.dorier
796954c6e3 Refactor: Remove BlockExplorerLink from the payment handler 2019-06-04 09:52:06 +09:00
nicolas.dorier
292c188182 Fix build errors 2019-06-04 09:40:36 +09:00
nicolas.dorier
1f7097ef89 Refactor: Move DeserializeSupportedPaymentMethod to PaymentType 2019-06-04 09:33:42 +09:00
nicolas.dorier
b97e083017 Refactor: Move DeserializePaymentMethodDetails to PaymentType 2019-06-04 09:22:46 +09:00
nicolas.dorier
8ffd182b98 Refactor: Add DeserializePaymentData at the PaymentType level 2019-06-04 09:16:18 +09:00
nicolas.dorier
1e77546251 Refactoring, make PaymentType a class instead of enum 2019-06-04 08:59:01 +09:00
nicolas.dorier
8711960e74 Removing DeserializePaymentMethodDetails from IPaymentMethodHandler 2019-06-04 01:55:07 +09:00
nicolas.dorier
8e2bcef824 The list of payment method should not depends on configuration of the users 2019-06-04 01:40:23 +09:00
nicolas.dorier
d418cf7b07 Optimize docker files 2019-06-04 01:30:36 +09:00
nicolas.dorier
864bcbb675 Move back GetCryptoPaymentData logic inside PaymentEntity 2019-06-04 01:24:15 +09:00
nicolas.dorier
0b257b98f5 Move back ToPrettyString() in PaymentMethodId to fix crash if a payment method as been disabled 2019-06-04 01:06:03 +09:00
Nicolas Dorier
daab68d0b8 Merge pull request #877 from btcpayserver/feature/new-register
New register form
2019-06-03 21:02:25 +09:00
nicolas.dorier
ab0511aa1d Make is admin checkbox inline 2019-06-03 21:01:48 +09:00
Nicolas Dorier
12494c3ac6 Merge pull request #876 from btcpayserver/feature/login
New login page
2019-06-03 20:57:06 +09:00
nicolas.dorier
621533e050 New register form 2019-06-03 20:47:18 +09:00
nicolas.dorier
dc334d230a New login windows 2019-06-03 20:36:07 +09:00
nicolas.dorier
b848595378 Add missing command lines 2019-06-03 17:34:10 +09:00
nicolas.dorier
ae4b2ab1fd Fix #875 2019-06-03 16:46:35 +09:00
nicolas.dorier
2ca8cc6ca3 bump 2019-06-03 15:57:13 +09:00
nicolas.dorier
3b57e2684e Add NotPaid_ExtraTransaction 2019-06-03 15:56:25 +09:00
nicolas.dorier
898c672193 decrease number conf funding channel required for lightningd 2019-06-03 15:53:26 +09:00
nicolas.dorier
18a7bc9278 Decrease number of confirmations requires for channels of lnd in tests 2019-06-03 15:51:13 +09:00
nicolas.dorier
bb29ee10c5 Only execute external_tests on master 2019-06-03 15:41:44 +09:00
nicolas.dorier
5441ae537a Fix docker-entrypoint for tests 2019-06-03 15:36:50 +09:00
nicolas.dorier
0a0ddafd67 Add permission to run-tests 2019-06-03 15:34:09 +09:00
nicolas.dorier
a3b914d8b4 Remove code 2019-06-03 15:32:46 +09:00
nicolas.dorier
39f75d3742 Refactor test run by circleci 2019-06-03 15:32:20 +09:00
nicolas.dorier
3dd77a4f2c Rename CircleCI steps and dockerfiles 2019-06-03 15:20:20 +09:00
nicolas.dorier
6782e82972 Update translations 2019-06-02 18:13:04 +09:00
nicolas.dorier
120fce0288 fix test container 2019-06-02 17:41:34 +09:00
nicolas.dorier
aa57531ed7 fix test container 2019-06-02 17:37:44 +09:00
nicolas.dorier
8f76bc0bcb Extract version in separate csproj to have better dockerfile caching 2019-06-02 17:33:35 +09:00
nicolas.dorier
189280e602 Fix docker images 2019-06-02 17:06:00 +09:00
nicolas.dorier
78ca26cf78 bump 2019-06-02 16:53:36 +09:00
nicolas.dorier
0c5c6233c7 Add bisq as supporting P2P service 2019-06-02 16:30:44 +09:00
nicolas.dorier
4fe480ee55 Fix selenium test 2019-05-31 15:40:59 +09:00
Nicolas Dorier
be6560e08c Merge pull request #871 from rockstardev/uifixes
Tweaking UI styles, updating default table style, and extra notification for payment for paidPartial
2019-05-31 15:39:17 +09:00
Kukks
0f58f6da36 fix cryptoimage 2019-05-31 08:00:32 +02:00
rockstardev
dcaf0463a7 Displaying notification for extra transaction if paidPartial 2019-05-31 07:48:42 +02:00
rockstardev
5c6643270b Bugfixing path to crypto image
Will need to move all these paths to absolute, rather than relative
2019-05-31 07:48:42 +02:00
rockstardev
7b337bde49 Restoring table border styling done by KayBeSee 2019-05-31 07:48:42 +02:00
Andrew Camilleri
7056aae301 Do not show custom amount field in cart when not enabled (#873)
fixes #872
2019-05-31 14:29:16 +09:00
grubles
1b6eb9cab0 Update explorer to blockstream.info (#869) 2019-05-31 14:26:41 +09:00
nicolas.dorier
80e23beda9 Update TwentyTwenty 2019-05-31 14:16:17 +09:00
nicolas.dorier
d70e120acc Fix test 2019-05-31 12:17:47 +09:00
nicolas.dorier
c877937fdf Show the inputs of the PSBT in the review screen 2019-05-31 00:23:23 +09:00
nicolas.dorier
8379b07de0 Use a redirect for update 2019-05-31 00:00:20 +09:00
nicolas.dorier
c8c33245b8 Revert table changes from #821 2019-05-30 23:42:56 +09:00
nicolas.dorier
0faf2fe83e Fix buttons in PSBT 2019-05-30 23:36:01 +09:00
nicolas.dorier
19bc511f39 Can update PSBT, fix the PSBT review page 2019-05-30 23:16:05 +09:00
Andrew Camilleri
916323bb3b [WIP] Further abstractions to Payment Handlers (#867)
* mark items to abstract


wip


wip


wip


wip


wip


wip


wip


cleanup


parse other types


compile and fix tests


fix bug 


fix warnings


fix rebase error


reduce payment method handler passings


more cleanup


switch tests to Fast mode 


fix obsolete warning


remove argument requirement 


rebase fixes


remove overcomplicated code


better parsing


remove dependency on environement


remove async

* fixes and simplification

* simplify

* clean up even more

* replace nuglify dependency

* remove extra space

* Fix tests

* fix booboo

* missing setter

* change url resolver

* reduce payment method handlers

* wrap payment method handlers in a custom type

* fix tests

* make invoice controller UI selectlist population cleaner

* make store controller use payment handler dictionary

* fix ln flag

* fix store controller test

* remove null checks on payment handlers

* remove unused imports

* BitcoinSpecificBtcPayNetwork - abstract BTCPayNetwork

* some type fixes

* fix tests

* simplify fetching handler in invoice controller

* rename network base and bitcoin classes

* abstract serializer to network level

* fix serializer when network not provided

* fix serializer when network not provided

* fix serializer when network not provided

* Abstract more payment type specific logic to handlers

* fix merge issue

* small fixes

* make use of repository instead of direct context usage

* reduce redundant code

* sanity check

* test fixes
2019-05-30 16:02:52 +09:00
nicolas.dorier
0e568e2af5 Make sure that only the log directory can be read on /server/logs 2019-05-30 11:46:09 +09:00
nicolas.dorier
dde841383a Don't throw exception if derivation scheme is not found 2019-05-30 11:24:43 +09:00
Andrew Camilleri
81dae7d350 BTCPay Abstractions: Move PaymentMethod specific logic to their handlers (#850) 2019-05-29 23:33:31 +09:00
Andrew Camilleri
d3e3c31b0c Btcpay abstract BTCPayNetwork -- Alternative PR to #865 (#868)
* BitcoinSpecificBtcPayNetwork - abstract BTCPayNetwork

* some type fixes

* fix tests

* simplify fetching handler in invoice controller

* rename network base and bitcoin classes

* abstract serializer to network level

* fix serializer when network not provided

* fix serializer when network not provided

* fix serializer when network not provided

* try fixes for isolating pull request
2019-05-29 18:43:50 +09:00
Kevin Mulcrone
90852fe951 updated styles on user server page (#821)
* updated styles on user server page

* moved files out of bootstrap.css

* removed old css classes from initial commit

* move css changes to site.css

* add missing }
2019-05-28 21:40:10 +09:00
Nicolas Dorier
a2251d245f Merge pull request #861 from rockstardev/extendconfcount
Extending invoice monitoring time if we haven't reached MaxTrackedConfirmation
2019-05-26 11:18:22 +09:00
rockstardev
112f9c4241 Adding invoice back to pending to track confirmations if less than max 2019-05-25 17:30:27 -05:00
rockstardev
b300404bc7 Extending invoice monitoring if max confirmation count not reached 2019-05-25 17:20:17 -05:00
nicolas.dorier
19161b52f5 Fiat denomination box disappeared from the wallet (fix #860) 2019-05-25 22:23:32 +09:00
nicolas.dorier
429170520e Make sure fingerprint/hdpath are passed down to AddDerivationScheme.
Close ledger popup on account selection.

Add additional info after pairing
2019-05-25 12:53:03 +09:00
Andrew Camilleri
5571413a78 Put Ledger Wallet pairing in a popup, prepare code for Trezor pairing (#836)
* Allowing for POS to be displayed at website root

* Switching to asp attributes for form post action

* Applying default formatting rules on HTML

* The destination pays mining fees => Subtract fees from amount

* small cleanup (#851)

* Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies (#567)

* Part 1: OpenIddict - Minor Changes & Config prep

* Part 1: OpenIddict - Minor Changes & Config prep

* Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies

* pr changes

* pr changes

* fix merge

* pr fixes

* remove config for openid -- no need for it for now

* fix compile

* fix compile #2

* remove extra ns using

* Update Startup.cs

* compile

* adjust settings a bit

* remove duplicate

* remove external login provider placeholder html

* remove unused directives

* regenerate db snapshot model

* Remove dynamic policy

* Provide Pretty descriptions for payment methods from their handlers (#852)

* small cleanup

* Provide Pretty descriptions for payment methods from their handlers

* remove PrettyMethod()

* integration with trezor

* rough load xpub from trezor

* update deriv scheme trezor

* move ledger import to dialog

* add import from hw wallet dropdown

* Support temporary links for local file system provider (#848)

* wip

* Support temporary links for local file system provider

* pass base url to file services

* fix test

* do not crash on errors with local filesystem

* remove console

* fix paranthesis

* work on trezor.net integration

* pushed non compiling sign wallet code

* comment out wallet code

* abstract ledger ws in add deriv

* Auto stash before merge of "trezor" and "btcpayserver/master"

* final add changes

* cleanup

* improve connectivity and fix e2e tests

* fix selenium

* add experimental warning for trezor

* move import button to right and convert to text link

* switch to defer and async scripts in add deriv scheme

* make defer not async

* more elaborate import trezor dialog

* Fix small issues

* hide trezor for now
2019-05-25 11:45:36 +09:00
Nicolas Dorier
512ee16620 Refactor invoice entity to not have to inject the NetworkProvider (#858) 2019-05-24 22:22:38 +09:00
Nicolas Dorier
15dc0d60db Split projects (#857) 2019-05-24 18:42:22 +09:00
Andrew Camilleri
d86cc9192e Support temporary links for local file system provider (#848)
* wip

* Support temporary links for local file system provider

* pass base url to file services

* fix test

* do not crash on errors with local filesystem

* remove console

* fix paranthesis
2019-05-24 15:44:23 +09:00
Andrew Camilleri
25b08b21fa Provide Pretty descriptions for payment methods from their handlers (#852)
* small cleanup

* Provide Pretty descriptions for payment methods from their handlers

* remove PrettyMethod()
2019-05-24 15:38:47 +09:00
Andrew Camilleri
ef9c2e8af1 Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies (#567)
* Part 1: OpenIddict - Minor Changes & Config prep

* Part 1: OpenIddict - Minor Changes & Config prep

* Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies

* pr changes

* pr changes

* fix merge

* pr fixes

* remove config for openid -- no need for it for now

* fix compile

* fix compile #2

* remove extra ns using

* Update Startup.cs

* compile

* adjust settings a bit

* remove duplicate

* remove external login provider placeholder html

* remove unused directives

* regenerate db snapshot model

* Remove dynamic policy
2019-05-24 15:17:02 +09:00
Andrew Camilleri
9bee48c601 small cleanup (#851) 2019-05-24 15:11:38 +09:00
nicolas.dorier
961942ff6a Merge branch 'posroot' 2019-05-24 15:08:49 +09:00
Rockstar Developer
de1c2b0150 Allowing for POS to be displayed at website root (#853)
* Allowing for POS to be displayed at website root

* Switching to asp attributes for form post action

* Applying default formatting rules on HTML
2019-05-24 15:07:09 +09:00
nicolas.dorier
5a73358bca The destination pays mining fees => Subtract fees from amount 2019-05-24 14:28:09 +09:00
rockstardev
1812ea90b5 Applying default formatting rules on HTML 2019-05-23 10:36:23 -05:00
rockstardev
d98a416ed9 Switching to asp attributes for form post action 2019-05-23 10:35:57 -05:00
rockstardev
b947749382 Allowing for POS to be displayed at website root 2019-05-22 14:30:47 -05:00
nicolas.dorier
c4d0b061c9 bump 2019-05-21 19:06:27 +09:00
nicolas.dorier
3bada5d443 Fix multi send substract fees 2019-05-21 19:04:39 +09:00
nicolas.dorier
06a35787aa Make WalletSend match exactly the design of before without additional destination 2019-05-21 18:44:49 +09:00
Andrew Camilleri
88c931ec13 Make wallet able to send to multiple destinations (#847)
* Make wallet able to send to multiple destinations

* fix tests

* update e2e tests

* fix e2e part 2

* make headless again

* pr changes

* make wallet look exactly as old one when only 1 dest
2019-05-21 17:10:07 +09:00
Andrew Camilleri
3d436c3b0e Add Eclair to connection string examples (#846)
* Add Eclair to connection string examples

* bump LN nuget
2019-05-20 10:13:11 +09:00
Rockstar Developer
b4bb44d3e6 Adding Paid filter, invoice confirmed/paid/complete (#849) 2019-05-20 10:02:57 +09:00
nicolas.dorier
39157e6883 Fix tests 2019-05-20 00:06:03 +09:00
nicolas.dorier
9b6b9e6113 Fix build 2019-05-19 23:33:32 +09:00
nicolas.dorier
87df34e064 Can actually upload PSBT file in PSBT Combine and PSBT view.
Validate transaction before allowing any broadcast and show errors nicely.
2019-05-19 23:27:18 +09:00
nicolas.dorier
55a48ff84a Add some notice in sign with seed 2019-05-17 14:42:28 +09:00
nicolas.dorier
aed98f16bb Show fee rate in transaction detail review 2019-05-16 12:56:06 +09:00
nicolas.dorier
2926865c1b bump 2019-05-15 22:57:14 +09:00
Rockstar Developer
20fb7fc188 Fixing bug induced with server converting UTC times to server local (#835) 2019-05-15 22:02:39 +09:00
Andrew Camilleri
461462eafc fix file timezone and isDownload for local files temp urls (#837)
closes #834
2019-05-15 22:02:03 +09:00
nicolas.dorier
7aa6d1a8d7 fix test on Circle CI for selenium 2019-05-15 19:27:30 +09:00
nicolas.dorier
d914fe2f48 Make sure that the accountkey can sign a transaction 2019-05-15 19:00:26 +09:00
nicolas.dorier
e100edce24 Add selenium test for the manual seed signing 2019-05-15 16:00:03 +09:00
nicolas.dorier
a68915d6cf WalletPSBTReady show the summary of the transaction, signing with the seed respect the keypath of the wallet settings 2019-05-15 15:00:09 +09:00
nicolas.dorier
210d680b21 nameofify 2019-05-15 01:07:46 +09:00
nicolas.dorier
8dc4acdc34 Make sure people does not use launchsettings by mistake 2019-05-15 01:06:26 +09:00
Andrew Camilleri
eb54a18fcd Wallet & PSBT: Sign with seed or key (#840)
* Allow signing a PSBT with an extkey/wif or mnemonic seed

* reword things

* small text
2019-05-15 01:03:48 +09:00
Andrew Camilleri
cf436e11ae Part 1: OpenIddict - Minor Changes & Config prep (#566)
* Part 1: OpenIddict - Minor Changes & Config prep

* add missing nuget

* pr changes

* pr fixes

* remove config for openid -- no need for it for now

* remove unused extension

* Add tests

* use pay tester http client

* check redirecturl in tests
2019-05-15 00:46:43 +09:00
nicolas.dorier
e22b7f74c7 Increase test coverage of selenium 2019-05-14 23:33:46 +09:00
nicolas.dorier
f8fca7434c Hack selenium again 2019-05-14 22:29:05 +09:00
nicolas.dorier
66d303c4ba Install chrome driver on alpine 2019-05-14 19:58:28 +09:00
nicolas.dorier
186ed8beb2 Hack selenium 2019-05-14 19:27:26 +09:00
nicolas.dorier
fac546cc0b Print sources if Selenium test fail 2019-05-14 19:19:23 +09:00
nicolas.dorier
9d2d2d0d64 Catch errors in AssertNoErrors 2019-05-14 19:13:55 +09:00
nicolas.dorier
f58043b07f dump logs of selenium before failiing test 2019-05-14 19:09:26 +09:00
nicolas.dorier
289c6fa10e Remove docker-compose update 2019-05-14 18:36:07 +09:00
nicolas.dorier
00e24ab249 Make sure BTCPay is operational before starting tests 2019-05-14 18:35:22 +09:00
nicolas.dorier
7b69e334d7 update docker-compose so selenium tests works 2019-05-14 18:05:16 +09:00
nicolas.dorier
12507b6743 Add some logs related to selenium 2019-05-14 17:34:19 +09:00
nicolas.dorier
3750842833 Show in logs where the btcpay tester is binding 2019-05-14 16:56:03 +09:00
nicolas.dorier
1dcec3e1fb bind to all interface if inside the test container 2019-05-14 16:13:55 +09:00
nicolas.dorier
d8e1edd6d3 bump nbx in tests 2019-05-14 16:07:46 +09:00
nicolas.dorier
a1f1e90626 Make selenium work on CI 2019-05-14 16:06:51 +09:00
nicolas.dorier
522d745883 Update NBXplorer and NBitcoin 2019-05-14 16:06:43 +09:00
nicolas.dorier
8ffb81cdf3 Refactor Selenium tests to properly cleanup resources 2019-05-13 18:42:20 +09:00
nicolas.dorier
ae5254c65e disable selenium test for a while 2019-05-13 18:14:31 +09:00
nicolas.dorier
9d53888524 fix typo 2019-05-13 18:03:41 +09:00
nicolas.dorier
cd6dd78759 Click around in selenium, and do not forget to run the selenium tests on circleCI 2019-05-13 17:59:15 +09:00
nicolas.dorier
27fd49e61c Add --allow-admin-registration, useful for tests 2019-05-13 17:00:58 +09:00
nicolas.dorier
a3a259556f Merge branch 'testcircleci' 2019-05-13 13:48:46 +09:00
rockstardev
803da75636 Only run integrations tests in btcpayserver repository 2019-05-13 13:48:09 +09:00
nicolas.dorier
d1556eb6cd bump 2019-05-13 08:55:26 +09:00
nicolas.dorier
a7edbfe5e9 Remove useless code 2019-05-13 08:23:24 +09:00
nicolas.dorier
663b5beac1 remove useless code 2019-05-13 08:22:29 +09:00
nicolas.dorier
7e164d2ec3 make sure we don't sign same input twice 2019-05-13 08:21:54 +09:00
nicolas.dorier
f9fb0bb477 Simplify logic in LedgerHardwareWalletSerivce by using NBitcoin helper methods. 2019-05-13 08:18:12 +09:00
nicolas.dorier
702c7f2c30 Fix tests 2019-05-13 00:35:06 +09:00
nicolas.dorier
8b348ade75 Can select the signing key in WalletSettings 2019-05-13 00:30:28 +09:00
nicolas.dorier
bf37f44795 Add Wallet settings menu, do not rebase keypaths when create the PSBT 2019-05-13 00:13:55 +09:00
britttttk
698033b0cf Selenium Chrome Tests 2019-05-12 18:49:28 +09:00
nicolas.dorier
10496363f5 Change button style on WalletPSBTReadyView 2019-05-12 16:19:27 +09:00
nicolas.dorier
14647d5778 minor improvement to UI of PSBT 2019-05-12 15:16:40 +09:00
nicolas.dorier
560dde3396 bump 2019-05-12 14:58:43 +09:00
rockstardev
7f9c2439c4 Custom date range filtering modal 2019-05-12 14:56:13 +09:00
rockstardev
6de5d0bce8 Unifying datetime styles across admin 2019-05-12 14:56:13 +09:00
rockstardev
c705a11aa7 Fixing merge bug with css file 2019-05-12 14:56:13 +09:00
rockstardev
45a196b407 Non-minified version of moment, adding required ref, fixing old ones 2019-05-12 14:56:13 +09:00
rockstardev
07cb6adb69 Extracting datetime flatpickr for use throught website 2019-05-12 14:56:13 +09:00
rockstardev
5358f81ce0 Dropdown for often used filterings 2019-05-12 14:56:13 +09:00
rockstardev
5b7988be79 Fixing display of long BOLT11 strings 2019-05-12 14:56:13 +09:00
rockstardev
e6c794d68f Moving update of confirmation count to InvoiceWatcher 2019-05-12 14:56:13 +09:00
rockstardev
de73fedd1b Check indicator after status change 2019-05-12 14:56:13 +09:00
nicolas.dorier
2719849a54 bump 2019-05-12 14:51:57 +09:00
nicolas.dorier
3011fecf0f Add tests for PSBT 2019-05-12 14:51:24 +09:00
nicolas.dorier
6da0a9a201 Can combine PSBT 2019-05-12 13:13:52 +09:00
nicolas.dorier
572fe3eacb Moveonly: Move all PSBT stuff in separate file 2019-05-12 11:13:04 +09:00
nicolas.dorier
ff82f15246 Always rebase keys before signing, refacotring some code 2019-05-12 11:07:41 +09:00
nicolas.dorier
b214e3f6df bump minimum version of ledger wallet 2019-05-12 01:35:13 +09:00
nicolas.dorier
cb9130fdf9 Can broadcast PSBT, can decide to export something signed by the ledger via PSBT 2019-05-12 00:05:30 +09:00
nicolas.dorier
925dc869a2 Add wasabi wallet to the wallet list supporting P2P connections 2019-05-11 22:25:10 +09:00
nicolas.dorier
5f1aa619cd Can sign and export arbitrary PSBT 2019-05-11 20:26:31 +09:00
nicolas.dorier
541c748ecb WalletSendLedger and LedgerConnection only depends on PSBT 2019-05-11 20:02:32 +09:00
nicolas.dorier
e853bddbc8 Add utility tool to decode PSBT 2019-05-11 00:29:29 +09:00
nicolas.dorier
79d26b5d95 Push rebase keypath and min fee logic down nbxplorer 2019-05-10 19:30:10 +09:00
nicolas.dorier
840f52a75b Fix build 2019-05-10 14:36:57 +09:00
britttttk
f955302c74 remove CF modal text 2019-05-10 11:35:51 +09:00
nicolas.dorier
95e7d3dfc4 Don't scan 49' or 84' if not segwit 2019-05-10 10:55:10 +09:00
nicolas.dorier
75f2749b19 Decouple HardwareWalletService into two classes: LedgerHardwareWalletService and HardwareWalletService 2019-05-10 10:48:30 +09:00
nicolas.dorier
01e5b319d1 Save the fingerprint of the root of LedgerWallet, and use it. Simplify HardwareWallet 2019-05-10 01:05:37 +09:00
nicolas.dorier
e504163bc7 Add NonAction to CreatePSBT 2019-05-09 19:34:45 +09:00
nicolas.dorier
aba3f7d6bd bump 2019-05-09 19:21:03 +09:00
nicolas.dorier
8d74023d30 update translation 2019-05-09 19:20:36 +09:00
nicolas.dorier
602625fc17 Fix tests 2019-05-09 19:14:01 +09:00
nicolas.dorier
bbeb2d5009 Refactor ElectrumMapping with proper enum 2019-05-09 19:05:08 +09:00
nicolas.dorier
51faa39636 Add some tests to check that AccountKeyPath and RootFingerprint are taken into account during PSBT creation 2019-05-09 18:58:14 +09:00
nicolas.dorier
f37bfbf9f9 Add more tests 2019-05-09 18:38:25 +09:00
nicolas.dorier
ba9928831e Fix tests 2019-05-09 18:11:39 +09:00
nicolas.dorier
2b6bd3d751 Assume ElectrumMapping of BTC if not specified 2019-05-09 17:51:46 +09:00
nicolas.dorier
e96ca21c89 Small refactoring for tests 2019-05-09 17:21:51 +09:00
Kukks
6ee10fe98b add grs 2019-05-09 17:16:17 +09:00
Kukks
a567c19759 conditionally select electrum mapping based on network 2019-05-09 17:16:17 +09:00
Kukks
bb3a087d39 Move ElectrumMapping to BtcPayNetwork 2019-05-09 17:16:17 +09:00
nicolas.dorier
5a92fe736f Fix: Uploading coldcard in derivation scheme would forget to remember some data 2019-05-09 16:11:09 +09:00
Kukks
88390402a4 reorder buttons 2019-05-09 12:48:11 +09:00
Kukks
538eb66672 Allow import of coldcard wallet 2019-05-09 12:48:11 +09:00
nicolas.dorier
0b6dfe0fd3 Fix DerivationSchemeSettings.ToPrettyString() 2019-05-09 01:07:05 +09:00
nicolas.dorier
d5579ef2b5 Do not serialize PaymentId for DerivationSchemeSettings 2019-05-09 01:06:03 +09:00
nicolas.dorier
836c3a5b3a Make sure we don't confuse user between derivation scheme of coldcard or btcpay 2019-05-09 00:55:49 +09:00
nicolas.dorier
f2da64adad Add parsing of cold card wallet 2019-05-09 00:55:48 +09:00
nicolas.dorier
e5704abfb3 Fix migration from old version to new version of WalletKeyPathRoots 2019-05-09 00:55:48 +09:00
nicolas.dorier
3bf4eea1fe Improve error handling for export psbt 2019-05-09 00:55:47 +09:00
nicolas.dorier
aa23222339 CreatePSBT should always rebase the PSBT 2019-05-09 00:55:46 +09:00
nicolas.dorier
68c1670c70 Show pretty wallet string in Update Store 2019-05-09 00:55:45 +09:00
nicolas.dorier
914eaaaa51 Refactor DerivationStrategy to DerivationSchemeSettings 2019-05-09 00:55:44 +09:00
nicolas.dorier
5831ba2143 bump 2019-05-09 00:23:52 +09:00
Kukks
c167a24f09 use older version of lib until it supports linux better 2019-05-08 20:17:17 +09:00
Kukks
a539d27c62 fix exception handling 2019-05-08 20:17:17 +09:00
nicolas.dorier
d7fc079376 RBF on by default, can disable it in Wallet Send /advanced settings. 2019-05-08 15:24:20 +09:00
nicolas.dorier
3a05f7e294 PSBT export support in send from wallet screen 2019-05-08 14:40:16 +09:00
nicolas.dorier
03713f9bd8 Add PSBT support in the send screen 2019-05-08 14:39:37 +09:00
nicolas.dorier
2a145f4350 Replace noob button in wallet send by an advanced settings accordion 2019-05-08 12:34:33 +09:00
nicolas.dorier
d049da696c Fix exception thrown if user does not exist on login 2019-05-08 12:34:13 +09:00
nicolas.dorier
5a46d0e80d Add cmd tools to generate blocks 2019-05-08 12:19:16 +09:00
nicolas.dorier
926250a967 Remove warnings 2019-05-07 23:34:31 +09:00
Kukks
139b588795 fix coinswitch...yet again 2019-05-07 23:23:29 +09:00
nicolas.dorier
909f18f9c7 Update language 2019-05-07 18:02:14 +09:00
nicolas.dorier
f598495198 bump 2019-05-07 17:57:04 +09:00
rockstardev
95d746504d Changing invoice state and updating display from js 2019-05-07 17:29:19 +09:00
rockstardev
9a2e1d43ea Triggering optional confirmation update only on Invoice details page 2019-05-07 17:29:19 +09:00
Andrew Camilleri
be844978c1 Allow cancelling a non paid pending invoice in payment requests (#815)
* allow cancel on un paid new invoices in payment requests

* start work on cancel pr payment

* finish up cancel action

* final touch and add tests
2019-05-07 17:26:40 +09:00
nicolas.dorier
60a361f963 Trying to make sure Azure tests does not run on PRs 2019-05-07 17:11:23 +09:00
nicolas.dorier
93f50451e6 bump deps 2019-05-07 17:05:45 +09:00
Andrew Camilleri
0936812df0 Fix date time issues on crowdfund.payment requests (#808)
* fix some conditional display bugs in crowdfund

* bump flatpickr

* make clear button show up even with flatpickt fake input ui

* update uis to specify date value in specific format and use custom format for flatpickr display and use moment to parse date instead

* fix remaining public ui date issues
2019-05-07 17:01:37 +09:00
Lucas Cullen
50351f56f8 Fix grammar (#817)
* Fix grammar

* Fix typo
2019-05-07 16:55:22 +09:00
nicolas.dorier
232ceed8b0 Prettify the bitcoin core node page 2019-05-07 14:44:26 +09:00
nicolas.dorier
b6c37a73b1 Fix duplicated entries on Services. Fix formatting of P2P page. 2019-05-07 14:31:49 +09:00
nicolas.dorier
5967666df6 Add green wallet info 2019-05-07 14:16:44 +09:00
nicolas.dorier
bf035333cf Add service type P2P 2019-05-07 14:07:36 +09:00
nicolas.dorier
f93d1173e2 Show tor exposed bitcoin node 2019-05-07 13:58:55 +09:00
nicolas.dorier
08bf4faeee Pass the hint change address to hardware wallet (useful in care of send-to-self where the underlying wallet support only output belonging to self) 2019-05-07 08:21:34 +09:00
Andrew Camilleri
e2b2cf0175 Do not drop column in u2f migration if not possible (#813)
closes #812
2019-05-05 00:57:44 +09:00
nicolas.dorier
d32a24004e Fix test 2019-05-03 12:59:11 +09:00
nicolas.dorier
1f04e4e6be Add rpcport for bitcoin-cli 2019-05-03 11:10:01 +09:00
nicolas.dorier
778dcf97b1 update docker compose for bitcoin 2019-05-03 11:04:19 +09:00
nicolas.dorier
957fbdb907 Update NBitcoin, NBXplorer, Bitcoin Core 2019-05-03 10:18:08 +09:00
nicolas.dorier
e169b851ee Remove another warning 2019-05-02 21:44:16 +09:00
nicolas.dorier
7fadb4c5ad Remove some annoying warnings 2019-05-02 21:38:39 +09:00
nicolas.dorier
a20db7f341 bump nbx 2019-05-02 21:35:28 +09:00
Andrew Camilleri
b5f4739ae5 Allow invoice creation to only allow specific payment methods in UI (#792)
* allow invoice creation to only allow specific payment methods

* add test

* reuse existing feature

* final fixes
2019-05-02 21:29:51 +09:00
rockstardev
4bc03fbf06 Code coloring invoice states 2019-05-02 21:11:56 +09:00
rockstardev
1d3ff143d2 Tweaking UI, expanding details and max width on order id 2019-05-02 21:11:56 +09:00
rockstardev
6918b8a291 Extracting payment details population, refactoring invoice data load 2019-05-02 21:11:56 +09:00
Amit Singh
3cd37682d3 [BUG FIX]: Coinswitch exchange with altcoins popup not showing bug fix (#804) 2019-05-02 21:02:01 +09:00
Andrew Camilleri
19a990b095 Add U2f Login Support (#787)
* init u2f

* ux fixes

* Cleanup Manage Controller

* final changes

* remove logs

* remove console log

* fix text for u2f

* Use Is Secure instead of IsHttps

* add some basic u2f tests

* move loaders to before title

* missing commit

* refactor after nicolas wtf moment
2019-05-02 21:01:08 +09:00
nicolas.dorier
87a4f02f18 bump NBXplorer 2019-05-02 20:46:27 +09:00
Andrew Camilleri
8a99fc0505 Fix Azure Storage (#803) 2019-05-02 20:39:12 +09:00
nicolas.dorier
bac99deb6c Do not run external integration if PR 2019-05-02 20:38:45 +09:00
nicolas.dorier
e65850b1eb Refactor Send money from ledger using PSBT 2019-05-02 18:56:01 +09:00
Amit Singh
77338c6054 [BUG FIX]: Coinswitch exchange with altcoins popup not showing bug fix 2019-05-02 14:49:33 +05:30
nicolas.dorier
a6e52ed3df bump NBitcoin 2019-05-02 17:31:57 +09:00
nicolas.dorier
4a9eadf71a Bump NBXplorer 2019-05-02 17:28:54 +09:00
nicolas.dorier
b8f6cf4f23 Execute ExternalIntegration tests after 2019-05-02 15:31:51 +09:00
Andrew Camilleri
e8abc1137b remove duplicate view code for email and fix password bug (#788)
closes #786
2019-05-01 12:17:25 +09:00
Andrew Camilleri
8507688c50 add azure storage config validation (#791) 2019-05-01 12:16:55 +09:00
Kukks
5718096224 Revert "Merge branch 'sonarqube'"
This reverts commit d76e61e6f4.
2019-04-29 07:53:34 +02:00
Kukks
d76e61e6f4 Merge branch 'sonarqube' 2019-04-29 07:21:50 +02:00
Kukks
232817c00d add sonarqube 2019-04-29 07:18:21 +02:00
nicolas.dorier
86af585df3 bump nbx in tests 2019-04-29 12:31:21 +09:00
nicolas.dorier
9e770ea484 bump dbriize 2019-04-29 12:30:47 +09:00
nicolas.dorier
9670f11554 Fix HTTP 500 errors if querying the website in tests 2019-04-28 23:11:24 +09:00
nicolas.dorier
dc369d52cb Use fa fa-user for profile menu item 2019-04-28 16:07:42 +09:00
nicolas.dorier
33c755fc54 Replace log out text by an icon 2019-04-28 15:59:44 +09:00
nicolas.dorier
c5adc0eb71 Rename ShowEmailWarningForStore(storeId) => IsEmailConfigured(storeId) 2019-04-28 15:28:22 +09:00
Andrew Camilleri
fcb1de8a86 Show email warning on apps when settings are not complete (#794)
* Show email warning on apps when settings are not complete

closes #693

* refactor email warning logic
2019-04-28 15:27:10 +09:00
nicolas.dorier
6df83ad148 Replace DBreeze by DBriize 2019-04-28 15:16:11 +09:00
rockstardev
857a436677 Clarifying comma is required for splitting params, providing example 2019-04-26 22:00:12 -05:00
rockstardev
c6091750b0 Displaying switchable datetimes on wallet transactions page 2019-04-26 22:00:12 -05:00
rockstardev
64e7324285 Fixing CanUsePoSApp test 2019-04-26 22:00:12 -05:00
rockstardev
d5bd0ee781 Filtering invoices by StartDate and EndDate
Now it's required to separate parameters with comma. Forced to do
this because dates have spaces between date and time part
2019-04-26 22:00:12 -05:00
nicolas.dorier
3b91b38014 do not run external integration tests if in a PR 2019-04-24 22:40:36 +09:00
nicolas.dorier
165d4e2732 remove unused parameter 2019-04-24 22:40:36 +09:00
nicolas.dorier
098dfacce8 Remove segwit limitation for rescan 2019-04-24 22:40:35 +09:00
Andrew Camilleri
44d1419af9 Add itemCode to Invoice Response (#784)
closes #779
2019-04-24 22:36:35 +09:00
nicolas.dorier
d0d077642d Make sure we returns only one token in GetTokens 2019-04-23 16:05:11 +09:00
nicolas.dorier
dc04839fab Run Azure tests in CircleCI 2019-04-22 17:19:04 +09:00
nicolas.dorier
4ce0cb4b35 Remove useless code in storage providers 2019-04-22 16:57:22 +09:00
nicolas.dorier
5100c36c06 Uncomment google/amazon code, just disable it in the service registration 2019-04-22 16:45:50 +09:00
Andrew Camilleri
b184360eb7 Abstracted cloud storage - Amazon/Google/Azure/Local (#708)
* wip

* add in storage system

* ui fixes

* fix settings ui

* Add Files Crud UI

* add titles

* link files to users

* add migration

* set blob to public

* remove base 64 read code

* fix file query model init

* move view model to own file

* fix local root path

* use datadir for local storage

* move to services

* add direct file url

* try fix tests

* remove magic string

* remove other magic strings

* show error message on unsupported provider

* fix asp net version

* redirect to storage settings if provider is not supported

* start writing tests

* fix tests

* fix test again

* add some more to the tests

* more tests

* try making local provider work on tests

* fix formfile

* fix small issue with returning deleted file

* check if returned data is null for deleted file

* validate azure Container name

* more state fixes

* change azure test trait

* add tmp file url generator

* fix tests

* small clean

* disable amazon and  google


comment out unused code for now


comment out google/amazon
2019-04-22 16:41:20 +09:00
Nicolas Dorier
02d79de17c Merge pull request #773 from pavlenex/readme
Add TOC, Intro Video, Getting Started to readme
2019-04-22 14:16:53 +09:00
Pavle
cf27c66132 wordiness 2019-04-19 15:59:56 +02:00
Pavle
53d9ed5adb add proper video and img size 2019-04-19 13:23:35 +02:00
pavle
3fe5051098 Update README.md
- Add Table of Contents
- Add Getting Started Section
- Add Intro video
2019-04-19 13:17:51 +02:00
nicolas.dorier
f7c8a989b6 bump lnd 2019-04-17 13:51:43 +09:00
nicolas.dorier
65dcfd3549 bump 2019-04-15 15:28:05 +09:00
Nicolas Dorier
6976fc54ca Merge pull request #765 from Kukks/bugfix/crowdfund
Fix dynamic  crowdfund labelling
2019-04-15 15:26:58 +09:00
Nicolas Dorier
0e077ff5c4 Merge pull request #768 from Kukks/feature/invoicesearchsession
Make invoice list search term persistent for session
2019-04-15 15:26:05 +09:00
Nicolas Dorier
c2f171a729 Merge pull request #766 from Kukks/bugfix/crowdfund_orderid
fix redirect uri for crowdfund invoices
2019-04-15 15:24:53 +09:00
Nicolas Dorier
fea38758e4 Merge pull request #767 from Kukks/bugfix/unusual-filter
fix unusual filter
2019-04-15 15:24:41 +09:00
Rockstar Developer
444733565b Updating altcoins section 2019-04-13 22:24:46 -05:00
Kukks
96d28f00cc Make invoice list search term persistent for session 2019-04-13 14:00:48 +02:00
Kukks
70cc79a77f fix unusual filter
closes #763
2019-04-13 13:50:14 +02:00
Kukks
8d10186fdf fix redirect uri for crowdfund invoices
closes #759
2019-04-13 13:43:47 +02:00
Kukks
6f7e0205f8 Fix dynamic crowdfund labelling
closes #760
2019-04-13 13:22:19 +02:00
nicolas.dorier
7ef11817c1 Add britt and rockstar video in readme 2019-04-12 18:03:05 +09:00
nicolas.dorier
c387c84861 bump 2019-04-12 15:02:28 +09:00
nicolas.dorier
ae7ad9f667 Filter the apps by the user id 2019-04-12 14:54:59 +09:00
nicolas.dorier
c55f1185e6 Revert "Do not show all apps in Server settings policy"
This reverts commit 1619666bef.
2019-04-12 14:43:07 +09:00
nicolas.dorier
1619666bef Do not show all apps in Server settings policy 2019-04-12 14:29:56 +09:00
Nicolas Dorier
bf784f6fd7 Merge pull request #758 from rockstardev/dynamicroot
Allowing for displaying of app directly on website root
2019-04-12 14:19:19 +09:00
rockstardev
13e330fa65 Better UI for selection of app to be displayed on root 2019-04-12 00:13:14 -05:00
rockstardev
827b133534 Allowing for displaying of app directly on website root 2019-04-11 16:30:23 -05:00
nicolas.dorier
4067d4b00f Remove the Facade concept 2019-04-11 23:55:20 +09:00
Nicolas Dorier
359d8c5c6a Merge pull request #745 from Kukks/feature/invoicepaymentdata
Add payment data to crypto info in invoice api model
2019-04-11 19:10:52 +09:00
Nicolas Dorier
265b7364e8 Merge pull request #756 from Kukks/invoice-auto-redirect
Allow POS to redirect invoices automatically after paid
2019-04-11 19:10:21 +09:00
Kukks
dc2b8c9e4c bump to nbitpay and use for payments 2019-04-11 12:00:10 +02:00
Kukks
37869fd049 Add payment data to crypto info in invoice api model
Depends on https://github.com/MetacoSA/NBitpayClient/pull/22
2019-04-11 11:54:56 +02:00
Kukks
d7ada4d493 add redirect automatically to checkout experience/ store settings 2019-04-11 11:53:31 +02:00
Nicolas Dorier
f093f85dbf Merge pull request #753 from britttttk/fix/defaultText
Improve default payment method dropdown
2019-04-11 18:11:46 +09:00
Kukks
1cf17872ab Allow POS to redirect invoices automatically after paid
closes #730
2019-04-11 11:08:42 +02:00
Nicolas Dorier
c79751829b Merge pull request #754 from Kukks/fix-pos-notif
fix pos settings savings for notifications
2019-04-11 17:34:42 +09:00
Kukks
7a21c03896 fix pos settings savings for notifications
closes #751
2019-04-11 09:14:39 +02:00
britttttk
54f07139db Improve default payment method dropdown text 2019-04-11 00:41:30 -06:00
nicolas.dorier
d78990fbd5 Changing queries: Using FirstOrDefaultAsync result in suboptimal queries 2019-04-11 15:05:30 +09:00
nicolas.dorier
9ed7dbc838 Remove Quadrigacx (bankrupt) 2019-04-11 14:57:31 +09:00
nicolas.dorier
9b12c7bc57 Add missing file 2019-04-11 12:41:38 +09:00
nicolas.dorier
8973c75bbc fix build 2019-04-11 10:06:36 +09:00
Pavle
f425df7b6d Add Contributing section 2019-04-10 16:05:07 -05:00
Rockstar Developer
a44b600c5e Improving documentation and altcoins sections 2019-04-10 12:48:02 -05:00
Rockstar Developer
7f0a42c2d5 Updating altcoins section 2019-04-10 12:30:54 -05:00
nicolas.dorier
60cd864226 Inject HttpClient inside lightning client instances 2019-04-11 01:10:46 +09:00
Nicolas Dorier
71cf02915e Merge pull request #740 from rockstardev/uifixes
Button to switch between time formats, width fix
2019-04-09 18:05:18 +09:00
Nicolas Dorier
327d2298fb Merge pull request #746 from Kukks/tag-pos-invoices
tag pos invoices too
2019-04-09 18:04:14 +09:00
nicolas.dorier
2ca11ed692 Fix PoS decimal issue (Fix #747) 2019-04-09 11:10:27 +09:00
Kukks
0224815a60 workaround tight coupling of crowdfund to apps mechanics 2019-04-08 16:02:53 +02:00
Kukks
df824c36d2 tag pos invoices too 2019-04-08 15:46:24 +02:00
nicolas.dorier
66e7777b1a bump nbx 2019-04-08 22:26:52 +09:00
Nicolas Dorier
7ff85a86bf Merge pull request #736 from Dolu89/master
New Pay Button type (Custom amount and Slider)
2019-04-08 22:19:05 +09:00
nicolas.dorier
7b3700c2c6 Fix bitbank API weirdness (Fix #741) 2019-04-08 21:57:12 +09:00
Nicolas Dorier
04679aefd6 Merge pull request #743 from Kukks/fix-coinswitch
fix coinswitch
2019-04-08 17:23:47 +09:00
nicolas.dorier
5190639b77 Simplify InvoiceWatcher logic and remove unused code 2019-04-08 13:28:13 +09:00
Ludovic
0bf73abb39 Fix Custom amount under 0 in Pay button 2019-04-06 15:22:09 +02:00
Ludovic
7e0211924d Replace inline js by templates in pay button 2019-04-06 15:02:02 +02:00
Ludovic
a8a857a7ce Move Slider settings below radio buttons 2019-04-06 13:47:22 +02:00
Kukks
1d18965a26 fix coinswitch 2019-04-06 08:10:27 +02:00
rockstardev
e020b86a3f Button to switch between time formats, width fix 2019-04-05 09:44:49 -05:00
nicolas.dorier
1b80b90609 Update lang, bump 2019-04-05 18:50:20 +09:00
Nicolas Dorier
efc3512994 Merge pull request #739 from Kukks/pos-fixes
fix malformed html in pos + align price/button to card bottom
2019-04-05 16:53:33 +09:00
Kukks
acb8ca982f fix malformed html in pos + align price/button to card bottom 2019-04-05 09:50:41 +02:00
nicolas.dorier
adc42cbba4 Put timeout on tests 2019-04-05 16:28:18 +09:00
nicolas.dorier
7edcb7ef5f Update NBitcoin 2019-04-05 16:21:00 +09:00
nicolas.dorier
656017c6df SocketFactory uses NBitcoin implementation of Socks 2019-04-05 16:19:04 +09:00
nicolas.dorier
35db6d4a8b Fix test CanScheduleBackgroundTasks 2019-04-05 15:32:30 +09:00
Nicolas Dorier
2741187546 Merge pull request #737 from rockstardev/uifixes
New batch of UI fixes
2019-04-05 15:23:41 +09:00
nicolas.dorier
c3a7ab647c Increase reliability of test CanScheduleBackgroundTasks 2019-04-05 15:16:36 +09:00
nicolas.dorier
92da0ec2d2 fix tests 2019-04-05 14:59:46 +09:00
nicolas.dorier
c767a49f2d Increase notitifcation timeout to 1 minute, make sure that BackgroundJobScheduler is correctly cancelling tasks 2019-04-05 14:58:25 +09:00
nicolas.dorier
ea8196b532 Do not use HttpClient singleton for the InvoiceNotifcationManager 2019-04-05 14:31:09 +09:00
rockstardev
58f138e854 Invoice list improvements
Items 5 and 9 from #349
2019-04-04 22:25:38 -05:00
rockstardev
b4b6939498 Coin switching on no-script invoices 2019-04-04 21:48:52 -05:00
Ludovic
bc97c07670 Add currency select in Pay Button 2019-04-04 21:32:16 +02:00
Ludovic
cf27fe5a53 Merge remote-tracking branch 'upstream/master' 2019-04-04 20:57:16 +02:00
Ludovic
449066449b Add a new Pay Button Type : Slider 2019-04-04 20:56:12 +02:00
nicolas.dorier
eb5e32a07f Remove exception thrown by binance provider 2019-04-04 19:39:37 +09:00
nicolas.dorier
708cdbe23f Remove bunch of catched exception when BTCPay starts 2019-04-04 19:35:46 +09:00
nicolas.dorier
333de52c33 Merge branch 'feature/sync-video' 2019-04-04 18:17:39 +09:00
nicolas.dorier
6b9932fa14 Escape css selector 2019-04-04 18:16:54 +09:00
nicolas.dorier
6c45689e6a Fix point of sale search (Fix #734) 2019-04-04 16:32:56 +09:00
nicolas.dorier
1e3307c84c Add link to andreas video during IBD 2019-04-04 15:58:28 +09:00
nicolas.dorier
d0eed9857d Prevent user to log in or register via unsecured network 2019-04-04 14:28:50 +09:00
Ludovic
4221763f48 Merge remote-tracking branch 'upstream/master' 2019-04-03 21:45:41 +02:00
Ludovic
184c797b0e Add a new Pay Button Type : Custom amount 2019-04-03 21:43:53 +02:00
nicolas.dorier
4853e15d8a Better timing measurement during invoice creation 2019-04-03 15:00:09 +09:00
nicolas.dorier
6b4b903669 Improve invoice logs, make sure logs are saved as fire and forget 2019-04-03 14:38:35 +09:00
Nicolas Dorier
05da63f2a5 Merge pull request #721 from Kukks/expose-notif-to-pos
add notif Email to crowdfund and pos + add notif url to pos
2019-04-02 17:34:56 +09:00
Nicolas Dorier
5b4b073fc8 Merge pull request #731 from Kukks/coinswitch-shitcoin-tax
add coinswitch shitcoin tax
2019-04-02 17:33:37 +09:00
Nicolas Dorier
4723a83dbb Merge pull request #732 from rockstardev/uifixes
UI fixes
2019-04-02 17:32:47 +09:00
nicolas.dorier
78350db62d Add a Clean button in the Maintenance page 2019-04-01 17:10:05 +09:00
rockstardev
e8b71f36b2 Adding support for noscript invoices 2019-03-31 13:46:38 -05:00
Kukks
6db9061dd1 add coinswitch shitcoin tax 2019-03-31 18:55:14 +02:00
rockstardev
320826a4b9 Returning empty payload to fix JSON parse error thrown in JS 2019-03-31 11:48:53 -05:00
nicolas.dorier
ad0edb5f4c Make sure arm build have /sbin/ip 2019-03-31 14:08:53 +09:00
nicolas.dorier
2856c10bc3 Revert "Do not use /sbin/ip to fetch the current ip (fix #712)"
This reverts commit 561644f75b.
2019-03-31 13:54:10 +09:00
nicolas.dorier
24aa18e9ed bump 2019-03-31 13:32:26 +09:00
nicolas.dorier
767eca97cb Fix tests 2019-03-31 13:31:50 +09:00
nicolas.dorier
73d5415ea9 Use NBitcoin's socks implementation 2019-03-31 13:16:05 +09:00
nicolas.dorier
e5a26cfca8 Update dependencies 2019-03-31 12:08:08 +09:00
nicolas.dorier
e40cd1fc0c Update publish docker 2019-03-29 18:39:02 +09:00
nicolas.dorier
978b7d930e Catch operation cancelled exception on the BackgroundJobScheduler 2019-03-29 18:09:54 +09:00
nicolas.dorier
0f2e3ef957 Make latest branch 2019-03-29 17:48:24 +09:00
Kukks
275b590e80 add notif Email to crowdfund and pos + add notif url to pos
closes #720
2019-03-29 07:51:00 +01:00
nicolas.dorier
5d9da82d8e fix build 2019-03-27 18:58:56 +09:00
nicolas.dorier
1a122726b7 Add more timeout for lightning tests 2019-03-27 18:57:51 +09:00
nicolas.dorier
0bd02a9272 Fix some exceptions raised if port is already used 2019-03-27 18:56:43 +09:00
nicolas.dorier
3cce7b8b35 Refactor the lightning listener, some users complain payments are not detected (should fix #676) 2019-03-27 15:53:38 +09:00
Nicolas Dorier
e3ab1f5228 Merge pull request #707 from Kukks/user-email-sync
set username on email change
2019-03-25 14:59:02 +09:00
nicolas.dorier
4c875d9c7c update doc sdk 2019-03-25 14:10:16 +09:00
nicolas.dorier
e79334a6f6 Fix: if anyone can create invoice and /invoices has storeId parameters, then it should be allowed 2019-03-25 12:59:42 +09:00
nicolas.dorier
a09c6d51e6 fix exception which can be thrown if the store is not found 2019-03-25 12:24:48 +09:00
nicolas.dorier
312c7b7193 Fix anonymous bitpay api access 2019-03-25 12:22:17 +09:00
nicolas.dorier
ee733fee28 If AnyoneCanInvoice and the storeId is passed as a parameter to the Bitpay API, then allow request 2019-03-25 12:18:39 +09:00
nicolas.dorier
4d7e9d3f8a Rewrite the BitpayAuthHandler more clearly 2019-03-25 12:09:18 +09:00
Nicolas Dorier
873c0a183a Merge pull request #713 from pavlenex/link
Update Readme, Fix Broken Pebble Link
2019-03-25 10:20:08 +09:00
Andrew Camilleri
ea53ae8f20 Update ManageController.cs 2019-03-24 16:09:36 +01:00
Andrew Camilleri
686bc3380d Update ManageController.cs 2019-03-24 16:09:20 +01:00
Nicolas Dorier
67da20bcea Merge pull request #706 from Kukks/pos-max-length
remove template max length in pos app
2019-03-24 23:58:08 +09:00
nicolas.dorier
561644f75b Do not use /sbin/ip to fetch the current ip (fix #712) 2019-03-24 23:56:31 +09:00
pavle
1abc89858f Fix broken Pebble Link
Fix broken Pebble Link
2019-03-24 14:15:47 +01:00
nicolas.dorier
91c63a8ee6 bump 2019-03-24 13:37:14 +09:00
Nicolas Dorier
563882d30b Merge pull request #711 from rockstardev/bugfix/satround
Javascript floating point math fix, closes #701
2019-03-24 13:35:13 +09:00
rockstardev
9a5eeee794 Javascript floating point math fix, closes #701 2019-03-23 22:28:54 -05:00
rockstardev
0578a692db Updating bundler to new version that will also support .NET Core 2.2 2019-03-23 19:10:16 -05:00
nicolas.dorier
f74f06338a Update bundle minifier, trying to fix (#710 with bundle on) 2019-03-23 23:24:29 +09:00
Kukks
1281f348bf set username on email change
closes #673
2019-03-22 12:53:56 +01:00
Kukks
5e76d4bfc1 remove template max length in pos app
closes #704
2019-03-22 09:14:27 +01:00
nicolas.dorier
2a302ea346 Do not spam logs if we can't connect to lightning because lightning is not started 2019-03-20 14:35:33 +09:00
nicolas.dorier
be90172840 bump Microsoft.AspNetCore.App 2019-03-20 14:13:12 +09:00
nicolas.dorier
b85ee895f5 Update nbxplorer in the tests 2019-03-20 14:08:25 +09:00
nicolas.dorier
93de408e07 bump 2019-03-20 12:37:53 +09:00
nicolas.dorier
d3662ae734 fix dockerfile 2019-03-20 12:34:47 +09:00
nicolas.dorier
132d7795ea bump .net 2019-03-20 12:22:46 +09:00
nicolas.dorier
bf5a624209 Remove curl dependency on alpine image 2019-03-20 11:49:43 +09:00
nicolas.dorier
abbdbda03a Add Bitbank provider 2019-03-20 00:49:44 +09:00
Pavle
8a8593437a Add TOR
- Adds Tor
- Clarifies alts (once again)
- adds payment requests
2019-03-18 12:00:31 +01:00
Nicolas Dorier
e203cada54 Merge pull request #675 from Kukks/css-grid-pos-fix
attempt fix pos css grid
2019-03-18 19:47:11 +09:00
nicolas.dorier
00c11c7ee9 bump 2019-03-18 18:58:15 +09:00
nicolas.dorier
82126b85d2 Fix tests 2019-03-18 18:52:19 +09:00
nicolas.dorier
4f428c8ed1 Fix other tor services display 2019-03-18 17:13:02 +09:00
nicolas.dorier
9868af4db8 Show onion link in the navbar 2019-03-18 17:07:39 +09:00
nicolas.dorier
0a5d7c5efa Add .local as a localnetwork link 2019-03-18 16:48:04 +09:00
nicolas.dorier
c2754b324d Show other tor services 2019-03-18 16:45:46 +09:00
Kukks
5c618233cb fix singular item in pos stretched width 2019-03-18 07:39:45 +01:00
Kukks
9e91259b9e attempt fix pos css grid 2019-03-18 07:07:31 +01:00
nicolas.dorier
014d08f38a Add socks support on BTCPay Server to query onion endpoints 2019-03-18 00:03:02 +09:00
nicolas.dorier
7998ea142b Fix tor services not appearing 2019-03-17 21:47:08 +09:00
nicolas.dorier
a4051dac72 Make sure BTCPay show TOR lightning node info if the site is accessed through TOR 2019-03-17 21:28:47 +09:00
nicolas.dorier
e3a8892d24 Check tor services in the background 2019-03-17 21:07:24 +09:00
nicolas.dorier
ea02d77e69 Parse torrc file to know virtual port of hidden services 2019-03-17 20:49:26 +09:00
nicolas.dorier
4f582a6712 Show onion hosts instead of url (can't know about ports) 2019-03-17 13:42:54 +09:00
nicolas.dorier
4769b1d452 Show tor services inside hidden directories in Server Settings/Services 2019-03-17 13:01:47 +09:00
nicolas.dorier
17b18d820f bump 2019-03-17 12:28:38 +09:00
nicolas.dorier
26f34e75c2 Language update 2019-03-17 12:28:19 +09:00
Nicolas Dorier
6f50ac50ec Merge pull request #689 from rockstardev/rock-lnsats
Allowing for lightning payment amounts to be displayed in Satoshis
2019-03-17 12:26:13 +09:00
rockstardev
5261cfcdd3 Allowing for lightning payment amounts to be displayed in Satoshis 2019-03-15 22:43:57 -05:00
Nicolas Dorier
675920697f Merge pull request #685 from britttttk/fix/PayReqMessage
Improve delete payment request message
2019-03-16 12:36:24 +09:00
rockstardev
24699bf2ba Updating QR Code on public node info page to be SVG
Co-authored-by: Sebastian Kippe <sebastian@kip.pe>
2019-03-15 22:16:12 -05:00
rockstardev
5ab92ed794 Switching to SVG for QR code so it looks OK on higher density display
Co-authored-by: Sebastian Kippe <sebastian@kip.pe>
2019-03-15 21:45:55 -05:00
britttttk
8e83f0faa1 Improve delete payment request message 2019-03-14 23:26:39 -06:00
nicolas.dorier
30d5add2ea bump 2019-03-15 14:04:17 +09:00
nicolas.dorier
6e47babf45 Overpayment of lightning invoice now properly appears (Fix #486) 2019-03-14 18:48:05 +09:00
nicolas.dorier
9b95fa1f20 Add links for Payment Requests and Apps docs in UI 2019-03-12 21:50:55 +09:00
nicolas.dorier
c67aa14a87 Fix payment requests and crowdfund app not working if ROOTPATH is specified (fix #659) 2019-03-12 15:48:24 +09:00
nicolas.dorier
23f296ef34 The store owner can define default currency pairs when using rate API without parameter 2019-03-11 18:39:21 +09:00
nicolas.dorier
c6ce676ad3 Fix exception on Payment Request (#672) 2019-03-11 16:06:27 +09:00
nicolas.dorier
fafb02b0dc bump 2019-03-11 15:20:10 +09:00
nicolas.dorier
53cecc8c8a Improve error message for POST /tokens without body 2019-03-10 15:10:30 +09:00
Nicolas Dorier
db0e9ee8f8 Merge pull request #654 from Kukks/robots-suck
Add policy to discourage search engines + build robots.txt dynamcally
2019-03-10 15:00:11 +09:00
Nicolas Dorier
2fac794d96 Merge pull request #667 from pavlenex/pavlenex-patch-issue-templates
Add Issue Templates
2019-03-10 14:58:58 +09:00
Pavle
ffcd716906 Create feature_request.md 2019-03-09 23:21:03 +01:00
Pavle
85f50724db Create Bug Report template 2019-03-09 23:16:29 +01:00
Nicolas Dorier
808a995741 Merge pull request #665 from rockstardev/rock-qrcodefix
Rendering QR code only if there is data, plus loading indicator
2019-03-10 00:40:07 +09:00
Kukks
4deb853914 remo useless mode now 2019-03-09 16:35:53 +01:00
rockstardev
470ec3354e Rendering QR code only if there is data, plus loading indicator 2019-03-09 09:33:05 -06:00
Kukks
053c2da9f1 use thememanager instead of view component 2019-03-09 16:29:04 +01:00
nicolas.dorier
c0e28ce66e Revert "Remove error in console logs on checkout page"
This reverts commit 08dd94e267.
2019-03-10 00:28:47 +09:00
nicolas.dorier
08dd94e267 Remove error in console logs on checkout page 2019-03-10 00:18:34 +09:00
nicolas.dorier
7497865d1f Pay button was not working properly if the server was not en-US (Fix #638) 2019-03-09 23:40:22 +09:00
Kukks
1888e4fe2b remove robots and remove nofollow 2019-03-09 15:01:56 +01:00
Kukks
6746a5cbd5 add meta for noindex,nofollow if policy set 2019-03-09 14:55:37 +01:00
Nicolas Dorier
baecb7bb0c Fix coinswitch issue (#664)
Coinswitch did a breaking change, this fixes it. Closes #660
2019-03-09 22:36:25 +09:00
nicolas.dorier
28bf4b42bb Fix tests 2019-03-09 22:36:07 +09:00
nicolas.dorier
c73dc425ad Remove externalurl in command line options --help (Fix #658) 2019-03-09 22:30:49 +09:00
nicolas.dorier
2138b7dcb8 Fix invoice popup not showing up if btcpay has a rootpath 2019-03-09 22:28:20 +09:00
Kukks
8b6c4a9383 simplifed robots generator 2019-03-09 14:23:55 +01:00
Kukks
344755cbd0 Add policy to discourage search engines + build robots.txt dynamcally
closes #390
2019-03-09 14:13:10 +01:00
Kukks
63a975267c Fix coinswitch issue
Coinswitch did a breaking change, this fixes it. Closes #660
2019-03-09 14:11:56 +01:00
nicolas.dorier
3c7d93e88d No ROOTPATH in launchsettings 2019-03-09 18:40:41 +09:00
nicolas.dorier
75974037bc Fix SignalR paths if RootPath is used 2019-03-09 16:08:31 +09:00
nicolas.dorier
e8a346182b Fix vue-qrcode inside the lightning network info vue 2019-03-09 12:51:05 +09:00
rockstardev
e96d34f741 New QR Code component, fixes scanning of long lightning invoices 2019-03-08 16:19:39 -06:00
nicolas.dorier
7dad814f19 Fix some checkout page if RootPath is set (#659) 2019-03-09 00:48:33 +09:00
nicolas.dorier
7e67ca1413 Fix RootPath was not working correctly on Linux 2019-03-08 23:38:00 +09:00
Nicolas Dorier
603263549b Document LND supported wallets in services (#657)
* Document LND supported wallets in services

* Add Zeus

* Open links in new tab
2019-03-08 18:12:14 +09:00
nicolas.dorier
a82b971ce7 bump 2019-03-07 20:51:51 +09:00
nicolas.dorier
b58c8ef2f0 Bump libraries 2019-03-07 20:33:05 +09:00
nicolas.dorier
274533bfdf Fix spot not using HttpClient created by the httpclientfactory 2019-03-07 19:41:20 +09:00
nicolas.dorier
cd6ce401e1 Fix logs getting spammed by HTTP requests 2019-03-07 19:41:19 +09:00
Andrew Camilleri
0c0809101d Datetime picker and small edit UI changes (#647)
* do not allow negative amounts for crowdfund and payment requests

* remove currency placeholder in payment requests

* Improve date picker ui 

Clear button only appears when a value is set. If no value is set, display a placeholder indicating it. closes #625
2019-03-07 14:29:29 +09:00
Andrew Camilleri
4b342376a8 Pos experimental card deck (#651)
* Try out experimental card deck

* apply card deck to shopping cart version
2019-03-07 14:28:42 +09:00
Andrew Camilleri
fd963b9ad0 fix no store error message for payment request (#646)
* fix no store error message for payment request 

closes #628

* Update PaymentRequestController.cs
2019-03-07 14:28:14 +09:00
Andrew Camilleri
06406c0695 Clone Payment Requests (#648)
* Clone Payment Requests

closes #615

* Do not save clone instantly
2019-03-07 14:27:16 +09:00
Andrew Camilleri
2b567de5c1 Allow sounds and animation colors in crowdfund to be configured (#653)
closes #652
2019-03-07 14:25:09 +09:00
Andrew Camilleri
ef46d03760 fix lightning typo (#655)
closes #622
2019-03-07 13:14:47 +09:00
nicolas.dorier
b174f299fa Fix LND QR code (Fix #656) 2019-03-07 10:26:27 +09:00
nicolas.dorier
09837966b9 bump 2019-03-06 17:53:03 +09:00
rockstardev
465dce1d02 Running check of submitted SMTP data on both Test and Save 2019-03-05 13:00:14 -06:00
nicolas.dorier
067dbad546 Fix build 2019-03-05 17:29:52 +09:00
nicolas.dorier
522970fdb9 Fix build 2019-03-05 17:21:44 +09:00
nicolas.dorier
e67aa499a6 Fix build 2019-03-05 17:20:26 +09:00
nicolas.dorier
3b68d81507 Small refactoring 2019-03-05 17:13:34 +09:00
nicolas.dorier
051248f2fc Add CancellationToken to GetRatesAsync and propagate it from the controllers to the rate fetcher 2019-03-05 17:09:17 +09:00
nicolas.dorier
9a239f99f4 Add bylls as supported exchange 2019-03-05 16:07:23 +09:00
nicolas.dorier
86c431d66e Only get contributions from invoices matching the currency of the Payment request or crowdfund 2019-03-05 14:26:27 +09:00
nicolas.dorier
b35fe0e8e3 Fix CurrentPendingAmount/CurrentAmount not being set 2019-03-05 14:06:40 +09:00
nicolas.dorier
54905f5ceb Fix currencyValue 2019-03-05 13:58:13 +09:00
nicolas.dorier
1c9b05d992 Fix: Payment requests and crowdfund were estimating current contributions based on the current rate 2019-03-05 13:54:34 +09:00
nicolas.dorier
a89c71df38 Fix bundleconfig 2019-03-04 22:38:06 +09:00
nicolas.dorier
3db1f2af12 Fix warning when compiling bundles 2019-03-04 22:35:56 +09:00
nicolas.dorier
5399ff2751 Fix forwarding options 2019-03-04 22:34:14 +09:00
nicolas.dorier
bcea6027e9 Replace Forwarded Headers via ASP.NET Core middleware 2019-03-04 20:48:19 +09:00
nicolas.dorier
a9722df7e4 bump 2019-03-04 18:39:16 +09:00
nicolas.dorier
474be6f7be French update 2019-03-04 18:39:03 +09:00
Pavle
ada9a7264b Fix typo in AppsController.cs (#630)
Fixing a tiny typo in the AppsController.cs
2019-03-04 18:36:47 +09:00
nicolas.dorier
e991b302d0 Fix bug: "BTCPay is expecting you to access this website" being cached 2019-03-04 18:33:57 +09:00
nicolas.dorier
eef301c6ec Fix error message if X-Forwarded-Proto not set correctly 2019-03-04 17:26:08 +09:00
rockstardev
3fdfd0adfd Removed exponentiation on invoice request amount
Fixes #620
2019-03-03 17:44:28 -06:00
rockstardev
358f1ffc43 Removed border when there is only one currency 2019-03-03 17:44:28 -06:00
sachili
349c3409df Preserve password when sending test email 2019-03-03 17:40:40 -06:00
Kevin Mulcrone
0263a2950c added enabled to ViewCrowdfundViewModel, added warning on preview page 2019-03-03 17:39:53 -06:00
sachili
0364a57cae Added a space between Enable and SSL. 2019-03-03 17:39:22 -06:00
Will Caldwell
e232dd7d7e Add a space between "Test" and "Email" in the UI. 2019-03-03 17:38:57 -06:00
rockstardev
fee936b569 Only checking for last admin if user being deleted is admin
Bugfixing issue #632
2019-03-03 17:38:38 -06:00
nicolas.dorier
420115c54d bump nbx 2019-03-03 01:37:34 +09:00
nicolas.dorier
312e961098 Update c-lightning, nbxplorer and lightning libs 2019-03-02 23:38:26 +09:00
nicolas.dorier
223213857f Do not expose internal IP on SSH connection settings 2019-03-01 16:41:36 +09:00
nicolas.dorier
c0da81557b Fix missing authenticated URI for charge 2019-03-01 15:38:11 +09:00
nicolas.dorier
81945c0737 Fix bug on spark external config parsing 2019-03-01 15:34:30 +09:00
nicolas.dorier
9664e3d6a1 bump version and deps 2019-03-01 14:55:53 +09:00
nicolas.dorier
0a8bd38e76 Danish support 2019-03-01 14:52:45 +09:00
nicolas.dorier
013054fb82 Small refactor 2019-03-01 14:46:32 +09:00
nicolas.dorier
d898f716d1 Add some tests on externalConnectionString 2019-03-01 14:33:32 +09:00
nicolas.dorier
1d3f144d21 Support relative path for external services, simplify the code in Services 2019-03-01 13:20:21 +09:00
nicolas.dorier
de29d87487 Fix QR code not showing full uri if using relative path 2019-02-28 23:01:25 +09:00
nicolas.dorier
ebef085a9c Support relative path for Spark and RTL external url, check in server settings if we are using a secure protocol 2019-02-28 22:20:14 +09:00
nicolas.dorier
2c1f159d72 Document error of reverse proxy configuration 2019-02-28 21:43:44 +09:00
nicolas.dorier
1ef59e05a5 fix dockerfile 2019-02-27 21:58:28 +09:00
nicolas.dorier
5e09992637 Fix dockerfile 2019-02-27 21:56:36 +09:00
nicolas.dorier
30448233b1 Fix dockerfile 2019-02-27 21:49:25 +09:00
nicolas.dorier
a1601a17aa Fix permission 2019-02-27 21:44:16 +09:00
Andrew Camilleri
7522f7d0f7 fix remaining edgecase with payment request pay endpoint (#619) 2019-02-27 21:42:25 +09:00
nicolas.dorier
d04b9c4c09 Remove last reference to externalurl 2019-02-27 21:41:02 +09:00
nicolas.dorier
1a24ff9a49 bump 2019-02-27 21:41:01 +09:00
Andrew Camilleri
13d72de82d fix payment request redirect url (#617) 2019-02-27 20:25:13 +09:00
nicolas.dorier
3728fdab3f improve warning message 2019-02-27 18:54:19 +09:00
nicolas.dorier
2317e3d50c Make sure we rewrite the request scheme 2019-02-27 18:52:11 +09:00
nicolas.dorier
5f15976c02 bump 2019-02-27 18:46:15 +09:00
nicolas.dorier
7f592639c5 Remove URI rewritting and ExternalUri stuff 2019-02-27 18:38:11 +09:00
Rockstar Developer
a98402af12 Making currency switching indicator more obvious with button style (#616) 2019-02-27 13:45:58 +09:00
nicolas.dorier
316ffa91d1 bump 2019-02-26 23:10:58 +09:00
Rockstar Developer
c24953b57e Making hamburger light to see it on dark background (#613) 2019-02-26 14:08:03 +09:00
Kukks
7a1b1b7e5e Merge branch 'payment-requests' 2019-02-25 17:59:02 +09:00
nicolas.dorier
70f71f64c4 Use internal tags, not order id in the streamer to know if the incoming invoice is for the payment request 2019-02-25 17:56:29 +09:00
nicolas.dorier
5bccd07d7d Make sure the invoiceEvent is from a payment request. 2019-02-25 17:56:29 +09:00
nicolas.dorier
d818baa6d1 Fix crowdfund test 2019-02-25 17:56:29 +09:00
Kukks
249b8abf03 deduct network from contributions + removed unsued Enabled properties 2019-02-25 17:56:29 +09:00
Kukks
c134277514 remove creating state from payment requests 2019-02-25 17:56:29 +09:00
Kukks
f5d366cf7f Fix final bugs 2019-02-25 17:56:29 +09:00
Kukks
ad25a2ed08 Add payment requests 2019-02-25 17:56:28 +09:00
Mario Dian
1e7a2ffe97 Enable/Disable tips and discount. Fix custom amount. (#612) 2019-02-25 15:11:03 +09:00
nicolas.dorier
dd52075ff1 Add backoff delay if fetching exchange rate is failing 2019-02-24 22:00:30 +09:00
nicolas.dorier
0253e42bd5 Do not poll in the invoice page if websocket are working 2019-02-23 15:22:17 +09:00
nicolas.dorier
d99774f8d9 fix tests 2019-02-22 22:52:43 +09:00
nicolas.dorier
d563a2ec89 Fix tests 2019-02-22 22:48:39 +09:00
nicolas.dorier
b4b4523193 Round currency up to significant decimal 2019-02-22 22:15:25 +09:00
nicolas.dorier
fbcb69f447 Do not prevent btcpayserver from starting if using insecure protocol for lightning services 2019-02-22 18:24:27 +09:00
nicolas.dorier
8ae5a9c1f7 Fix old crowdfunding invoices 2019-02-22 17:51:38 +09:00
nicolas.dorier
3ef5bfb6eb bump 2019-02-22 17:30:54 +09:00
nicolas.dorier
4016ded584 Affect orderId to crowdfund app invoices 2019-02-22 17:29:54 +09:00
nicolas.dorier
5b0b4adb1c Fix service link for RTL 2019-02-22 15:46:43 +09:00
nicolas.dorier
f1ec3b0c75 bump 2019-02-22 15:08:45 +09:00
nicolas.dorier
b5d55a2066 Add RTL support 2019-02-22 15:06:52 +09:00
nicolas.dorier
0d2c9fe377 Fix https://github.com/btcpayserver/btcpayserver/issues/585 2019-02-22 13:52:35 +09:00
nicolas.dorier
2c7cc9a796 Fix: invoice Price was not being rounded if no taxIncluded present 2019-02-21 21:58:49 +09:00
nicolas.dorier
2e1d623755 fix https://github.com/btcpayserver/btcpayserver/issues/596 2019-02-21 21:30:30 +09:00
nicolas.dorier
52fee8f842 Make sure no nullreferenceexception is thrown if invalid invoice 2019-02-21 19:36:05 +09:00
nicolas.dorier
6ba17e8e30 Can filter supported payment methods for an invoice 2019-02-21 19:34:11 +09:00
nicolas.dorier
ac3432920a Fix build 2019-02-21 18:42:12 +09:00
nicolas.dorier
63c88be533 Use CreateInvoiceRequest instead of NBitpay Invoice type 2019-02-21 18:40:27 +09:00
nicolas.dorier
3cb577e6ba Add link back to official website 2019-02-21 14:04:03 +09:00
nicolas.dorier
1e0d64c548 Improve homepage, document mattermost and point on the official website. 2019-02-21 13:50:46 +09:00
nicolas.dorier
bc1b9ff59c update translations 2019-02-20 23:16:13 +09:00
nicolas.dorier
7d73bed3be bump 2019-02-20 23:06:52 +09:00
nicolas.dorier
126fbdfd60 Fix null reference exception if the NotificationUrl is not set 2019-02-20 23:03:04 +09:00
nicolas.dorier
15094436fd bump lnd 2019-02-20 21:29:16 +09:00
nicolas.dorier
010c653995 Create EventHostedServiceBase and make AppHubStreamer use this 2019-02-20 12:27:10 +09:00
nicolas.dorier
119f82fd4e Properly aggregate contributions amount 2019-02-19 16:15:14 +09:00
nicolas.dorier
3bbf4de5d2 Fix live update of crowdfunding, add tests, consider payments as confirmed if invoice is confirmed 2019-02-19 16:01:28 +09:00
nicolas.dorier
0807f3b87b Remote internal tags at store level 2019-02-19 13:24:04 +09:00
nicolas.dorier
4e9b3b40aa Fix crowdfunding-admin js file not being included 2019-02-19 13:20:06 +09:00
nicolas.dorier
cc444811db Rename CrowdfundHubStream to AppHubSteamer 2019-02-19 13:18:30 +09:00
nicolas.dorier
50c8525012 Moving CrowdfundSettings in its own file 2019-02-19 13:07:10 +09:00
nicolas.dorier
aedad497e8 Rename AppsHelper to AppService 2019-02-19 13:04:58 +09:00
nicolas.dorier
b1b231e645 Add tests on tagging 2019-02-19 12:59:12 +09:00
nicolas.dorier
dc46fd225a Migrate old crowdfund deployment to the new tagging system 2019-02-19 12:53:24 +09:00
nicolas.dorier
6226de7cff Refactor Crowdfund to use the tagging system 2019-02-19 12:48:48 +09:00
nicolas.dorier
37327ec674 Apps can tag invoices 2019-02-19 12:48:08 +09:00
nicolas.dorier
c071c81403 Pass the whole Entity object to internal InvoiceEvent 2019-02-19 12:08:07 +09:00
nicolas.dorier
85d75a013a The invoices link of crowdfund show all invoices of the store if it is set to use all store's invoice 2019-02-19 11:45:04 +09:00
nicolas.dorier
3816b36131 Add internal tags to invoice 2019-02-19 11:14:21 +09:00
nicolas.dorier
dc7965267b Use GetRelativePathOrAbsolute in ViewCrowdfund and ViewPointOfSale 2019-02-19 00:28:44 +09:00
nicolas.dorier
ce9a6bced7 Use GetRelativePathOrAbsolute in ShowLightningNodeInfo 2019-02-18 12:25:14 +09:00
nicolas.dorier
85325dc710 Update translations 2019-02-18 12:24:55 +09:00
Kukks
ac4050df70 Improve the UI of lightning node info 2019-02-17 19:40:39 +09:00
Kukks
a16a53167b Can put lightning node info inside an XFrame 2019-02-17 19:30:16 +09:00
Kukks
afab3cf847 Better Datetime picker picker in crowdfund page 2019-02-17 19:25:18 +09:00
nicolas.dorier
8fdaeb7bac Fix race condition on calculation of contributions, refactor the methods to AppHelper 2019-02-17 19:17:59 +09:00
nicolas.dorier
7e0f9f6e0d Inject HtmlSanitizer in AddBTCPayServer, remove AppHelpers deps when possible 2019-02-17 18:47:25 +09:00
Andrew Camilleri
5b1bf6cd88 add email to export (#583) 2019-02-17 18:33:40 +09:00
nicolas.dorier
b1584c352b Free some memory 2019-02-17 16:13:16 +09:00
rockstardev
b06b83503c Better status message 2019-02-15 10:05:29 -06:00
rockstardev
b03d89c190 Different message for admin deletion, check not to delete last admin
Ref: #549, #550
2019-02-15 10:05:29 -06:00
rockstardev
f53548d10f Showing warning when user tries to delete last admin 2019-02-15 10:05:29 -06:00
Rockstar Developer
5ec2f54d7f Merge pull request #593 from BenSanex/bugfix/591_FixValidationMessage
Custom validation message for Crowdfund form primary currency
2019-02-15 10:03:05 -06:00
rockstardev
db588ff961 I've added asterisk. Isn't that impressive? 2019-02-15 10:02:17 -06:00
BenSanex
2b7006a14c add asterisk, revert primary currency error message, remove the 2019-02-11 21:53:45 -06:00
BenSanex
8f5f07882f Custom validation message for Crowdfund form primary currency 2019-02-07 20:27:26 -06:00
nicolas.dorier
0eee8e7464 Returns Access-Control-Allow-Origin * on all Bitpay GET and post requests. 2019-02-02 16:12:51 +09:00
nicolas.dorier
3725a5b644 Correctly set Access-Control-Allow-Headers 2019-02-02 15:51:38 +09:00
nicolas.dorier
c84c0ac64d set CORS headers 2019-02-02 15:22:00 +09:00
nicolas.dorier
098e07988c Bypass MVC for replying to CORS requests if Bitpay API 2019-02-02 15:19:22 +09:00
nicolas.dorier
66bb702aca Fix CORS for bitpay API again 2019-02-02 13:58:32 +09:00
Pavle
03ff2fedf0 Update Translator grammar (#579) 2019-02-01 17:35:49 +09:00
nicolas.dorier
c707f47b11 bump 2019-01-31 22:03:46 +09:00
nicolas.dorier
585efa3ff5 Fix: Default payment method should not return a disabled one 2019-01-31 22:03:28 +09:00
nicolas.dorier
07d0b98a23 Update language 2019-01-31 19:33:07 +09:00
nicolas.dorier
c7c0f01010 bump 2019-01-31 19:24:36 +09:00
nicolas.dorier
cf6b17250a Can set lightning network as default payment method (close #290) 2019-01-31 19:07:38 +09:00
Andrew Camilleri
90503a490c Add dots to make derivation examples clearer (#561) 2019-01-31 17:00:15 +09:00
Andrew Camilleri
ebdd53b99b fix unfairly long dropdown in ledger account selection (#574)
Closes #570
2019-01-31 16:56:39 +09:00
Andrew Camilleri
51a5d2e812 Refactor XFrames Attribute & simplify pos settings page (#576)
* Enable better error when invoice cannot be created on crowdfund

Closes #572

* Allow all public apps in iframe

* cleanup pos page dev info
2019-01-31 16:56:21 +09:00
Pavle
2ad509d56a Update Readme.md (#577)
* Update readme

* Update README.md

* add apps link

* fix broken link
2019-01-31 16:55:27 +09:00
nicolas.dorier
1a98bfba36 Fix formatting of currencies in Invoice detail page 2019-01-30 19:18:44 +09:00
nicolas.dorier
d05bb6c60e Properly format currencies in Invoice list 2019-01-30 19:01:18 +09:00
nicolas.dorier
ed81b6a6aa bump 2019-01-30 15:52:31 +09:00
nicolas.dorier
264914588f fix bitpay API not having CORS 2019-01-30 14:57:10 +09:00
nicolas.dorier
05df43b426 fix bitpay API not having CORS 2019-01-30 14:36:26 +09:00
nicolas.dorier
0334a4e176 bump 2019-01-30 13:46:55 +09:00
nicolas.dorier
38dca425da Fix repetitive IPN for lightning network payments (https://github.com/btcpayserver/btcpayserver/issues/564) 2019-01-30 13:40:08 +09:00
nicolas.dorier
82d4a79dd4 Fix potential crash if the current host is an IP instead of DNS name, might fix https://github.com/btcpayserver/btcpayserver/issues/543 2019-01-30 12:52:34 +09:00
nicolas.dorier
6725be8145 Remove warnings 2019-01-29 18:35:27 +09:00
nicolas.dorier
f5b693f01b Disable quadricagx tests because exchange is down 2019-01-29 18:34:30 +09:00
Andrew Camilleri
f09f23e570 Enable better error when invoice cannot be created on crowdfund (#575)
Closes #572
2019-01-29 18:32:44 +09:00
nicolas.dorier
4f4d05b8cd Make sure CORS is enabled on Bitpay's API 2019-01-29 18:20:53 +09:00
Andrew Camilleri
0c5b5ff49c Add link to no stores error (#558)
* add link

* safer status message

* refactor

* small view cleanup
2019-01-29 16:44:46 +09:00
nicolas.dorier
a815fad3f1 Put back the list of ledger accounts to 5. 2019-01-29 13:06:43 +09:00
nicolas.dorier
d8b1c7c10a Fix broken lightning payments on Checkout page 2019-01-28 18:50:26 +09:00
Andrew Camilleri
02e1aea80c add warning for third parties (#562)
* add warning for third parties

* Update UpdateCoinSwitchSettings.cshtml

* Update UpdateChangellySettings.cshtml

* Update UpdateChangellySettings.cshtml

* Update UpdateCoinSwitchSettings.cshtml
2019-01-28 17:40:23 +09:00
nicolas.dorier
1892f7e0f4 rename field 2019-01-28 17:10:51 +09:00
Andrew Camilleri
b7b50349a7 Convert Ledger account list to dropdown and add more accounts to list (#560) 2019-01-28 17:07:01 +09:00
nicolas.dorier
02d227ee02 Fix connection to checkout backend (bad links) 2019-01-28 16:24:11 +09:00
nicolas.dorier
47f8938b89 Catch websocket connection issues 2019-01-28 15:12:40 +09:00
nicolas.dorier
4945a640a7 Use PaymentHash of a lightning payment as PaymentId 2019-01-27 13:06:55 +09:00
nicolas.dorier
0136977359 update translations 2019-01-26 21:23:41 +09:00
nicolas.dorier
0acd3e20b0 bump 2019-01-26 20:58:15 +09:00
Andrew Camilleri
30bdfeee37 Enhance PosData Viewer & add cart to posdata in POS app (#559) 2019-01-26 13:26:49 +09:00
Nicolas Dorier
7ea665d884 Merge pull request #557 from Kukks/master
Fix close invoice button for modal invoices #555
2019-01-25 20:48:45 +09:00
Kukks
073edcfb12 Merge remote-tracking branch 'btcpayserver/master' 2019-01-25 12:41:20 +01:00
Kukks
a645366a25 Fix close invoice button for modal invoices #555 2019-01-25 12:41:15 +01:00
Nicolas Dorier
12aa0b7abd Merge pull request #556 from ChekaZ/master
Support Bitcoinplus
2019-01-25 16:09:39 +09:00
Oliver Ziegler
3f98a50410 Support Bitcoinplus 2019-01-25 01:03:04 +01:00
nicolas.dorier
24c8c076d5 Add taxIncluded field in invoice 2019-01-24 20:53:29 +09:00
nicolas.dorier
37e6931d33 Improve help 2019-01-23 17:44:03 +09:00
nicolas.dorier
86493568e9 Fix external services parsing 2019-01-23 13:31:00 +09:00
nicolas.dorier
bb51436ae3 Accept absolute url for external services 2019-01-23 13:17:36 +09:00
nicolas.dorier
854a55ac1a Merge branch 'store-level-email' 2019-01-22 21:39:55 +09:00
Kukks
cfb4b080d3 Emails on store level 2019-01-22 21:38:39 +09:00
Nicolas Dorier
00aa2e4e17 Merge pull request #546 from britttttk/fix/message
Fix delete user message
2019-01-21 17:11:24 +09:00
britttttk
69c67d99f6 Fix message for delete user 2019-01-20 21:19:01 -07:00
britttttk
65596ec8c1 fix delete user message 2019-01-20 21:12:20 -07:00
nicolas.dorier
49643cb00e Make CanScheduleBackgroundTasks more robust 2019-01-19 21:19:15 +09:00
Nicolas Dorier
35b0faee57 Merge pull request #541 from Horndev/patch-2
Improve exception messages in server configuration parsing.
2019-01-19 20:49:08 +09:00
Steven Horn
88ef4d69b2 Improve help and exception messages.
Improve the messages passed to users and in exceptions when parsing the BTCPayServerOptions configuration.
2019-01-18 10:23:47 -04:00
nicolas.dorier
575b6ca222 Improve error messages when the store has no payment method configured 2019-01-18 19:15:31 +09:00
nicolas.dorier
b5a0e844d2 Cann GetInvoicesTotal in parallel 2019-01-17 23:40:47 +09:00
nicolas.dorier
2642e11ce2 Fix amount format in wallet send 2019-01-17 23:37:39 +09:00
Nicolas Dorier
b4fe655efe Merge pull request #534 from sipsorcery/fixpaging
Small improvement to the paging buttons on the list invoices page
2019-01-17 11:14:31 +09:00
Nicolas Dorier
ffb761909a Merge pull request #535 from dalijolijo/master
Change default exchange for Bitcore
2019-01-17 11:10:55 +09:00
David
b443e1ac6e Change default exchange for Bitcore 2019-01-16 22:04:24 +00:00
Aaron Clauson
a4792f54a7 Added bootstrap paging buttons to the invoice list page and fixed paging buttons. 2019-01-16 21:33:04 +01:00
nicolas.dorier
686ae029e0 bump 2019-01-16 23:49:40 +09:00
nicolas.dorier
f3fd2e7d0f Update translations 2019-01-16 23:08:48 +09:00
nicolas.dorier
7efd9ba0a5 Fix ledger on firefox 2019-01-16 23:07:22 +09:00
nicolas.dorier
1c2a6bb8a1 Delete unused code 2019-01-16 19:35:29 +09:00
nicolas.dorier
7bcf1cbdd5 Remove references to hangfire 2019-01-16 19:30:03 +09:00
nicolas.dorier
2aaa2544bd Do not send mail synchronously in InvoiceNotificationManager 2019-01-16 19:21:02 +09:00
nicolas.dorier
d85f03ba20 Remove HangFire dependency 2019-01-16 19:15:09 +09:00
Nicolas Dorier
cfb51a6be4 Merge pull request #531 from Kukks/patch-2
fix merge bug
2019-01-16 15:58:29 +09:00
nicolas.dorier
c9d778c94b Bump nbitcoin and nbxplorer 2019-01-16 15:16:41 +09:00
Andrew Camilleri
fd62f882de fix merge bug 2019-01-15 18:18:41 +01:00
nicolas.dorier
adc050f190 Trim destination address 2019-01-16 01:19:37 +09:00
nicolas.dorier
2d551b9fc5 bump 2019-01-16 00:13:03 +09:00
nicolas.dorier
884acdde32 Disabled POLIS and Bitcoin because default exchange (cryptopedia) is down 2019-01-16 00:08:17 +09:00
Nicolas Dorier
8f896de794 Merge pull request #516 from Kukks/feature/crowdfund
Crowdfund Bug fixes
2019-01-15 23:57:29 +09:00
Nicolas Dorier
5e4e26d2fd Merge pull request #529 from Kukks/bugfix/app-proper-redirect
fix app redirect to app instead of root url
2019-01-15 23:54:54 +09:00
Nicolas Dorier
ae688e6615 Merge pull request #530 from Horndev/patch-1
Grammatical corrections in exception messages
2019-01-15 23:54:20 +09:00
nicolas.dorier
c4c812bdf6 Remove cryptopia from directly queried exchanges 2019-01-15 23:53:32 +09:00
nicolas.dorier
e620fc0283 Add expert mode to BTCPay with No Change UTXO option 2019-01-15 23:50:45 +09:00
nicolas.dorier
c333902468 Round up invoice price 2019-01-15 22:12:29 +09:00
nicolas.dorier
4c83ecd06a Remove unused code 2019-01-15 21:56:33 +09:00
Steven Horn
b28a547dc4 Grammatical corrections in exception messages
Fixed a few grammatical errors in LightningLikePaymentHandler.
2019-01-15 12:21:31 +00:00
Kukks
6bc17e05bd add ids for better styling possibilities 2019-01-15 13:12:19 +01:00
Kukks
0903350d30 add more log 2019-01-15 12:12:17 +01:00
Kukks
6c0f19b457 Merge branch 'master' into feature/crowdfund 2019-01-15 09:48:16 +01:00
Kukks
e119dc823f fix app redirect to app instead of root url 2019-01-15 09:46:07 +01:00
Nicolas Dorier
43295c9c57 Merge pull request #528 from bolatovumar/master
Update .NET Core SDK version in documentation
2019-01-15 16:42:40 +09:00
Nicolas Dorier
ded8b54042 Merge pull request #524 from Kukks/escapedstorename
Fix Store name character escaping on paid invoice #522
2019-01-15 16:41:51 +09:00
Umar Bolatov
50a3178d51 Update .NET Core SDK version in documentation
Address #523
2019-01-14 16:49:12 -08:00
Kukks
393c226032 fix escaped store name in return 2019-01-14 09:32:22 +01:00
Kukks
f2630df387 dispose streamer properly 2019-01-14 08:21:27 +01:00
Kukks
abcd2c1750 add padding when disqus enabled 2019-01-14 08:01:07 +01:00
Kukks
cc95f3b5b5 fix exponent numbers in contribution amounts 2019-01-14 07:53:03 +01:00
Kukks
a08ee93b43 fix issue with perk ordering 2019-01-14 07:45:21 +01:00
Kukks
4b90f873d5 Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-11 10:52:31 +01:00
Kukks
419ab8e0b1 add loader and fix perk badge zindex 2019-01-11 10:52:21 +01:00
nicolas.dorier
c95ef27998 bump 2019-01-11 00:17:58 +09:00
Nicolas Dorier
63dfd93834 Merge pull request #511 from Kukks/feature/crowdfund
crowdfund: change text
2019-01-11 00:17:37 +09:00
Kukks
57610881de change text 2019-01-10 16:12:00 +01:00
Nicolas Dorier
7469faf296 Merge pull request #510 from Kukks/feature/crowdfund
fix notif number
2019-01-10 23:58:57 +09:00
Kukks
55a884a559 fix js number 2019-01-10 15:57:30 +01:00
nicolas.dorier
ee2b3c3d10 bump 2019-01-10 23:41:08 +09:00
Nicolas Dorier
e5819a260b Merge pull request #509 from Kukks/feature/crowdfund
missed commit crowdfund
2019-01-10 23:40:52 +09:00
Kukks
a3ecf48702 fix pos update too 2019-01-10 15:37:50 +01:00
Kukks
1c0b904cd2 Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-10 15:35:19 +01:00
Kukks
072d8a1728 fix exponents in js product editor 2019-01-10 15:35:03 +01:00
nicolas.dorier
964e541c32 Update translations 2019-01-10 23:33:12 +09:00
nicolas.dorier
78fec4ed22 bump 2019-01-10 23:31:35 +09:00
Nicolas Dorier
ef111d36c9 Merge pull request #484 from Kukks/feature/crowdfund
New App: Crowdfunding 🎉 🎉
2019-01-10 23:30:31 +09:00
Kukks
4f64193e85 add rank badge to minimal and fix css in minimal 2019-01-10 14:54:41 +01:00
Kukks
89bb6d1268 add validation for ranking 2019-01-10 14:43:47 +01:00
Kukks
9f4226bf0f remove inline styles and fix checkbox setting text 2019-01-10 14:19:06 +01:00
Andrew Camilleri
a87c2a3374 Merge remote-tracking branch 'origin/master' into feature/crowdfund 2019-01-10 09:50:22 +01:00
Andrew Camilleri
d7294ba5a0 fix product item template 2019-01-10 09:28:51 +01:00
nicolas.dorier
82d286dc6f Fix test 2019-01-10 14:00:26 +09:00
Nicolas Dorier
1fa18ab997 Merge pull request #507 from hubiktomas/patch-1
Typo fix
2019-01-10 13:49:52 +09:00
nicolas.dorier
afc90f32c9 Fix tests 2019-01-10 13:47:21 +09:00
nicolas.dorier
e9cfb7c21e Update link to accounting doc 2019-01-10 13:08:25 +09:00
Tomáš Hubík
1af8ea3769 Typo fix 2019-01-09 17:35:32 +01:00
Andrew Camilleri
9f7af190f1 fix ranking style 2019-01-09 15:44:16 +01:00
Kukks
9c703fe94d fix number issue 2019-01-09 12:55:02 +01:00
Kukks
a7a11a4f13 Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-09 12:22:42 +01:00
Kukks
c32c3bb62b add contribution ranking 2019-01-09 12:22:36 +01:00
nicolas.dorier
e29d1480a6 Add link to doc for export 2019-01-09 17:28:30 +09:00
nicolas.dorier
8f299d7791 Fix build 2019-01-09 17:25:46 +09:00
nicolas.dorier
65fb2e992e Round InvoiceDue and PaidCurrency in export 2019-01-09 17:18:01 +09:00
Nicolas Dorier
41f5d677d5 Merge pull request #491 from bitcoinshirt/bitcoinshirt-patch-ny
Update 2019 license
2019-01-09 13:33:56 +09:00
Nicolas Dorier
a2b78b8cd9 Merge pull request #506 from britttttk/fix/PasswordLength
Fix registration password length
2019-01-09 13:33:41 +09:00
britttttk
c93f217033 Fix minimum registration password length 2019-01-08 18:32:07 -07:00
Kukks
82c47b6e9a fix margin on crowdfund 2019-01-08 21:42:11 +01:00
Kukks
94fb738c67 fix choice key and currency data 2019-01-08 15:49:07 +01:00
Kukks
89071e40fc oops 2019-01-08 15:14:06 +01:00
Kukks
95a90c410e Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-08 15:10:13 +01:00
Kukks
59fc371cd5 perk count + img fixer 2019-01-08 15:10:05 +01:00
nicolas.dorier
9b404e330d bump 2019-01-08 23:03:53 +09:00
Nicolas Dorier
1667f9b2ef Merge pull request #504 from Kukks/bugfix/general
Fix Coinswitch Issues, Fix LN Node Info Clipboard, Fix Vue-Cloak Styles
2019-01-08 23:02:34 +09:00
Kukks
caadfc8641 use bolt icon in view 2019-01-08 13:52:44 +01:00
Kukks
bffc2e70c1 use summernote instead 2019-01-08 13:52:30 +01:00
Kukks
8b686f0b12 fix coin switch issues 2019-01-08 11:27:37 +01:00
Kukks
def8d1e0cb fix ln node clipboard 2019-01-08 10:54:02 +01:00
Kukks
ca28c34be0 fix ln payment calculator 2019-01-08 10:32:10 +01:00
Kukks
196bc3ea00 Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-08 09:50:50 +01:00
Nicolas Dorier
b15267be4d Merge pull request #453 from 2pac1/master
Update Anyone can enable invoices text so its much more clear
2019-01-08 12:56:04 +09:00
nicolas.dorier
5c074f6f5f Update translations 2019-01-07 22:51:26 +09:00
Kukks
04cba61888 add bundle helper 2019-01-07 14:40:51 +01:00
Kukks
a41e2e1ceb Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-07 14:39:08 +01:00
Kukks
d1d03c98ba pr changes 2019-01-07 14:39:04 +01:00
nicolas.dorier
679942159e bump 2019-01-07 22:37:55 +09:00
Kukks
3e48a54ab5 Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-07 14:25:41 +01:00
Kukks
f6e389ff62 fix issues 2019-01-07 14:25:35 +01:00
Nicolas Dorier
63c309bd12 Merge pull request #499 from Kukks/node-info-page
Add Node Info Page
2019-01-07 22:04:08 +09:00
Kukks
561ec57cc8 Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-07 11:13:02 +01:00
Nicolas Dorier
3cefd7bd1e Merge pull request #467 from Kukks/feature/coinswitch
CoinSwitch Integration
2019-01-07 19:11:55 +09:00
Kukks
c63feb488c Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-07 10:58:52 +01:00
Kukks
12c418d84d Add Node Info Page 2019-01-07 09:52:27 +01:00
nicolas.dorier
4b982f815c Renaming 2019-01-07 15:35:18 +09:00
Nicolas Dorier
d4d3346b6d Merge pull request #463 from sipsorcery/455-disablereg
Set disable registration as default true
2019-01-07 15:20:04 +09:00
Aaron Clauson
6010a103e0 Added new disable-registration command line option. 2019-01-06 16:43:55 +01:00
Aaron Clauson
5dc1da2af0 Don't disable user registrations if debug for unit tests. 2019-01-06 14:55:18 +01:00
Kukks
f2ccc4d963 Add sanity check in loading crowdfun 2019-01-06 14:44:51 +01:00
Kukks
a92d48efdd move button below help text 2019-01-06 14:37:40 +01:00
Kukks
b633206b45 add helpful texts 2019-01-06 14:28:53 +01:00
Kukks
b6f3d2af5e Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-06 14:12:25 +01:00
Nicolas Dorier
5fd77d9fcc Merge pull request #492 from Kukks/crowdfund-part-1
Crowdfund Part 1: JS Dependencies
2019-01-06 21:59:52 +09:00
Kukks
5ca4494eed reorder options in update crowdfund 2019-01-06 13:51:40 +01:00
Kukks
de7e419ef4 fix overflow of descriptions 2019-01-06 13:50:30 +01:00
Kukks
20a6b3fc33 Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2019-01-06 10:25:24 +01:00
Nicolas Dorier
540414d8f5 Merge pull request #495 from Kukks/crowdfund-part-3
Enhance Invoice Events
2019-01-06 18:14:56 +09:00
Nicolas Dorier
abcdb8ced0 Merge pull request #494 from Kukks/crowdfund-part-2
Crowdfund Part 2: Expand Invoice Searching
2019-01-06 18:14:23 +09:00
Kukks
5076d73695 Enhance Invoice Events 2019-01-06 10:12:45 +01:00
Aaron Clauson
d88735f84e Merge remote-tracking branch 'upstream/master' into 455-disablereg 2019-01-06 10:05:33 +01:00
Nicolas Dorier
2244f0ab76 Merge pull request #493 from btcpayserver/feature/fastertests
[WIP] Make tests fast to execute
2019-01-06 18:04:38 +09:00
Kukks
40c85d6104 Expand Invoice Searching 2019-01-06 10:00:55 +01:00
nicolas.dorier
42892e24f4 Remove uneeded database call during derivation scheme registration 2019-01-06 17:58:11 +09:00
Kukks
e6357d2ac8 fix build 2019-01-06 09:29:21 +01:00
Kukks
1eecd85ceb Merge branch 'master' into feature/crowdfund 2019-01-06 09:26:58 +01:00
Kukks
c27557826b add vendors 2019-01-06 09:08:05 +01:00
nicolas.dorier
88150b6535 Improve IPN tests 2019-01-06 15:04:30 +09:00
Andrew Camilleri
d63176da19 Update BTCPayServer.csproj 2019-01-05 22:38:44 +01:00
bitcoinshirt
887da5aa9a new year 2019-01-05 22:22:19 +01:00
Kukks
6e7f1151bc bug fixes and optimizations 2019-01-05 19:47:39 +01:00
Nicolas Dorier
b2aebcc5d3 Merge pull request #480 from britttttk/fix/PaymentButton
Fix payment button size
2019-01-05 22:32:11 +09:00
Nicolas Dorier
ae9ad0fa65 Merge pull request #489 from btcpayserver/feature/networkfee
Add support for removing network fee on first payment
2019-01-05 22:09:10 +09:00
Kukks
fb6d852827 switc back to regtest 2019-01-05 10:18:01 +01:00
Kukks
ba17612461 Link to associated invoices 2019-01-05 10:17:52 +01:00
Kukks
a15c7a0213 change crowdfund app prefix to not break invoice searcher 2019-01-05 09:53:57 +01:00
Kukks
7e321d4016 expand list invoices search 2019-01-05 09:49:06 +01:00
nicolas.dorier
a05cd5678b Add support for removing network fee on first payment 2019-01-05 17:45:49 +09:00
Kukks
2ccf007b9a fix permissions 2019-01-05 09:38:27 +01:00
Kukks
895b8c2c80 ux fixes 2019-01-05 09:18:15 +01:00
nicolas.dorier
0f175174f6 Rename TxFee to NetworkFee and save the Network Fee of each payment under PaymentEntity 2019-01-05 13:31:05 +09:00
Kukks
493466683c start adding UTs 2019-01-04 16:42:35 +01:00
Kukks
761c342c51 add validation 2019-01-04 13:47:06 +01:00
Kukks
5341da28d9 add date time picker 2019-01-04 12:58:29 +01:00
Kukks
7768f41849 add reset every x amount of time feature 2019-01-04 11:42:37 +01:00
Andrew Camilleri
fa8993191e Update coinswitch.html 2019-01-03 15:31:56 +01:00
Andrew Camilleri
239ce28575 Update coinswitch.html 2019-01-02 21:50:43 +01:00
Kukks
c52a49f747 add minimal crowdfund version 2019-01-02 14:08:30 +01:00
Kukks
e4b9895ba7 add rich text and options 2019-01-02 12:47:06 +01:00
Kukks
92a2bb4d32 fixes to computed goal result 2019-01-02 12:04:35 +01:00
Kukks
bfec722312 protect contrib endpoint when needed 2019-01-02 11:29:47 +01:00
Kukks
5a3f7b5b70 add in more info and simplify backend model 2019-01-02 10:41:54 +01:00
Kukks
2aa097be46 fix cache expiration time 2019-01-02 09:45:04 +01:00
Kukks
8a646d85c6 fix bundles 2019-01-02 09:03:20 +01:00
Kukks
890b3eaa00 remove api key for disqus 2019-01-02 08:10:42 +01:00
Kukks
cda28ebf15 ui fixes + toggle sound options 2018-12-31 13:20:00 +01:00
Kukks
2245027ca3 ux fixes 2018-12-31 12:34:27 +01:00
Kukks
3dc250f801 Add Disqus & fix ux 2018-12-31 11:38:05 +01:00
Kukks
66e786a1b0 styles and perks 2018-12-30 20:28:36 +01:00
britttttk
1e26926350 Fix payment button size 2018-12-30 00:27:22 -07:00
Kukks
8bd7ea5bbc start ux for perks 2018-12-29 20:21:23 +01:00
Kukks
6eb36abe2e start contrib perks 2018-12-29 11:52:07 +01:00
Kukks
6fced3fab2 better tooltips and icons 2018-12-29 10:19:50 +01:00
Kukks
774e456e54 cleanup 2018-12-28 23:57:39 +01:00
Kukks
519859e1c5 ux fixwes 2018-12-28 23:31:41 +01:00
Kukks
26f0c488e5 hook up proper payments to events and super crazy ux shit 2018-12-28 23:12:16 +01:00
Kukks
1b0b53fbd0 small ux fixes 2018-12-28 18:23:32 +01:00
Kukks
35f4ea29f9 more integration 2018-12-28 17:38:20 +01:00
Kukks
fff39d9879 Merge remote-tracking branch 'origin/feature/coinswitch' into feature/coinswitch 2018-12-28 12:34:01 +01:00
Kukks
444e761d41 Merge remote-tracking branch 'btcpayserver/master' into feature/coinswitch 2018-12-28 12:33:55 +01:00
Kukks
68a3def35a save state for coinswitch started order 2018-12-28 12:33:47 +01:00
Kukks
d9426d301d Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2018-12-28 12:08:32 +01:00
Kukks
8bcf7109a3 integrate invoice popup 2018-12-28 12:07:15 +01:00
Andrew Camilleri
3effdf0f4d Update UpdateCoinSwitchSettings.cshtml 2018-12-28 10:49:12 +01:00
Nicolas Dorier
3c122bcf53 Merge pull request #478 from mariodian/pos-fix-search-btn
PoS: Fix z-index of search cancel button that overlaps modal confirmation
2018-12-28 16:12:59 +09:00
Mario Dian
037ff52f4f Fix z-index of search cancel button that overlaps modal confirmation 2018-12-28 11:13:04 +08:00
Kukks
b11f8acba1 wip 2018-12-28 00:10:03 +01:00
Kukks
ef9a633aa4 fixes for hub 2018-12-27 20:55:46 +01:00
Kukks
c7e2f979dd Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2018-12-27 20:19:29 +01:00
Kukks
e97bb9c933 work on vue and signalr fro crowdfund 2018-12-27 20:19:21 +01:00
nicolas.dorier
fa506b5bf8 bump 2018-12-27 18:52:01 +09:00
nicolas.dorier
e3193a92d0 Add PaidCurrency in the excel export 2018-12-27 16:48:33 +09:00
nicolas.dorier
d76dabdca6 Remove warning 2018-12-27 16:19:00 +09:00
nicolas.dorier
d219f50912 Merge branch 'pos-new-design' 2018-12-27 16:17:07 +09:00
nicolas.dorier
e08710a19c Fix tests 2018-12-27 16:11:58 +09:00
Mario Dian
4e167b35be Bug fixes
- fix `tip reset` when cart content changes
- fix negative cart value when deleting empty cart items
2018-12-27 13:19:51 +08:00
Mario Dian
16873384a8 - fix cart item removal
- fix empty qty field
- remove tip when total changes
2018-12-27 12:57:31 +08:00
Mario Dian
f87339f9fa Change CustomTipPercentages type to int[] 2018-12-27 12:57:31 +08:00
Mario Dian
5f5e5e3211 Add missing AppId 2018-12-27 12:57:31 +08:00
Mario Dian
f724db8226 Fix cart table widths 2018-12-27 12:57:31 +08:00
Mario Dian
c7e90cd7df New PoS design 2018-12-27 12:57:31 +08:00
Nicolas Dorier
8c5b00b1a3 Merge pull request #470 from Kukks/feature/bootstrapbump
update bootstrap to 4.2.1
2018-12-27 13:40:42 +09:00
Nicolas Dorier
a3b79fbcd8 Merge pull request #462 from rockstardev/master
InvoiceDue field in export
2018-12-26 16:47:38 +09:00
nicolas.dorier
9db77e6351 Rewrite and comment non obvious code for ledger 2018-12-26 15:10:00 +09:00
nicolas.dorier
5bc1eaec9f bump 2018-12-26 15:04:43 +09:00
nicolas.dorier
81c9ce7284 Limit the number of time the wallet need to export the xpub 2018-12-26 15:04:11 +09:00
nicolas.dorier
caa6978d80 Save the KeyPath of the WalletKeyPathRoot of the hardware wallet so we don't have to scan for it 2018-12-26 14:04:00 +09:00
nicolas.dorier
af22d6a4e3 Remove preliminary test to know if the ledger can handle the store. If it can't signing will fail anyway. 2018-12-25 19:33:03 +09:00
nicolas.dorier
0eabb3c37c Remove useless query to ledger xpub in the Add derivation scheme screen 2018-12-25 19:02:11 +09:00
Kukks
2b84791391 fix raw html 2018-12-22 21:03:43 +01:00
Kukks
6f896cb096 update bootstrap to 4.2.1 2018-12-22 17:32:03 +01:00
Kukks
9a488c60f2 fix some styling 2018-12-22 17:30:54 +01:00
Kukks
9cb50446f4 update bootstrap to 4.2.1 2018-12-22 16:55:24 +01:00
Kukks
8c00a2359e better layout 2018-12-22 15:43:40 +01:00
Kukks
d1ff34d16d add minimal crowdfund system and UI 2018-12-22 15:02:16 +01:00
Kukks
8e8615dab8 Merge remote-tracking branch 'btcpayserver/master' into feature/crowdfund 2018-12-21 11:51:13 +01:00
nicolas.dorier
a63ed4d3b4 bump 2018-12-21 16:45:05 +09:00
nicolas.dorier
968c820702 Add turkish translation 2018-12-21 14:15:05 +09:00
nicolas.dorier
3061b4dfd2 Add comments 2018-12-21 13:33:26 +09:00
nicolas.dorier
ed4de612dd Fix layout if customized to an absolute uri 2018-12-21 13:31:02 +09:00
nicolas.dorier
d4bdd5fd9c Do not use absolute link to link theme files on layout.cshtml 2018-12-21 13:24:01 +09:00
Aaron Clauson
8b71556425 Merge branch 'master' into 455-disablereg 2018-12-20 21:58:07 +01:00
Andrew Camilleri
ae6e1bfd85 Update UpdateCoinSwitchSettings.cshtml 2018-12-20 21:01:10 +01:00
Kukks
6d1f3b73ef update link 2018-12-20 20:40:33 +01:00
Aaron Clauson
0dcaf80c7f Changed disable register mechanism to apply policy setting after admin user created rather than using DB user count checks. 2018-12-20 20:39:48 +01:00
Kukks
fc9cd5bdf0 Merge remote-tracking branch 'btcpayserver/master' into feature/coinswitch 2018-12-20 17:57:04 +01:00
Kukks
a434c45196 fix function names 2018-12-20 17:56:57 +01:00
Nicolas Dorier
87b316ec23 Merge pull request #439 from Kukks/grs-clightning
Add lightning icon for GRS
2018-12-20 22:43:28 +09:00
nicolas.dorier
9c99ffae57 Lightning charge integration 2018-12-20 22:40:32 +09:00
Andrew Camilleri
30a3a84ec9 fix final issues with integration 2018-12-20 14:33:31 +01:00
nicolas.dorier
d0f585df9d fix tests 2018-12-20 21:34:09 +09:00
nicolas.dorier
bac2db5cda Add timeout to lightning tests 2018-12-20 21:27:08 +09:00
nicolas.dorier
c35bf2f483 fix docker compose 2018-12-20 21:23:24 +09:00
nicolas.dorier
2e04c5e39c Update docker-compose test 2018-12-20 21:20:30 +09:00
nicolas.dorier
9dcf16e819 Add xunit diagnostic message 2018-12-20 21:00:06 +09:00
nicolas.dorier
361d494cde Accept cookiefilepath as alternative to cookiefile for spark connection string 2018-12-20 20:24:06 +09:00
nicolas.dorier
4d7015294e Fix configuration of lnd rest 2018-12-20 20:12:36 +09:00
nicolas.dorier
5f16fb4668 report slow tests 2018-12-20 18:44:39 +09:00
nicolas.dorier
4bf2228675 Show test logs in CircleCI 2018-12-20 18:35:32 +09:00
Nicolas Dorier
2ba823f192 Merge pull request #465 from Kukks/master
do not add ln payment if amount couldn't be parsed
2018-12-20 18:09:57 +09:00
Andrew Camilleri
27fa2d5b69 do not add ln payment if amount couldn't be parsed 2018-12-20 09:21:20 +01:00
nicolas.dorier
47ef7661d8 Fix search for macaroon 2018-12-20 17:08:32 +09:00
nicolas.dorier
3f6ff25322 update es-ES 2018-12-20 17:00:30 +09:00
nicolas.dorier
f56c23009a bump 2018-12-20 16:57:59 +09:00
nicolas.dorier
e80593fb7b Expose LND's other macaroon if possible 2018-12-20 16:52:04 +09:00
nicolas.dorier
57324345ac Remove remaining of RestrictedMacaroon 2018-12-20 16:24:36 +09:00
nicolas.dorier
73e280157d Show the gRPC cypher suites for gRPC consumption 2018-12-20 14:16:23 +09:00
Aaron Clauson
cfaa5766ed Always allow user registration if there are no user records. 2018-12-19 20:03:27 +01:00
Aaron Clauson
8b08db308b Merge branch 'master' into 455-disablereg 2018-12-19 19:40:13 +01:00
Kukks
3e2ff55954 Merge remote-tracking branch 'btcpayserver/master' into feature/coinswitch 2018-12-19 10:41:36 +01:00
nicolas.dorier
70d1d0d230 Remove volumes before running tests 2018-12-19 15:50:20 +09:00
nicolas.dorier
94e0048a3b Redirect users to docs.btcpayserver.org on home page 2018-12-19 15:30:10 +09:00
Aaron Clauson
a34d1641b3 Set disable registration as default true. 2018-12-18 20:16:48 +01:00
Kukks
40c645e433 coinswitch integration 2018-12-18 20:14:59 +01:00
Kukks
b2e5415a35 coinswitch integration 2018-12-18 20:00:30 +01:00
rockstardev
365ee4cf0b Fixing CSV test now that we have new field / reorders 2018-12-18 12:35:59 -06:00
Kukks
2b4603a234 coinswitch integration 2018-12-18 19:01:58 +01:00
rockstardev
ec23eae21d Ensuding that payments are always ordered by time for consistency 2018-12-18 11:56:51 -06:00
rockstardev
7a9229628a InvoiceDue field in export 2018-12-18 11:56:12 -06:00
nicolas.dorier
9db5c0f375 Hack tests to make currency formatting work on linux 2018-12-19 00:28:06 +09:00
Andrew Camilleri
27bde55f54 work on building the viewmodel for crowdfund 2018-12-18 16:27:03 +01:00
nicolas.dorier
2bb24282d2 Clean previous run with dock-compose 2018-12-19 00:15:33 +09:00
nicolas.dorier
998472e463 Fix symbol display on linux 2018-12-19 00:11:15 +09:00
nicolas.dorier
63ff46a768 cache docker on circleCI for tests 2018-12-18 23:27:57 +09:00
nicolas.dorier
660f43e3b7 Add fast test for JPY formatting 2018-12-18 23:26:35 +09:00
nicolas.dorier
0ba96aa4b8 Fix export tests 2018-12-18 23:24:22 +09:00
nicolas.dorier
d85247d2ad Run tests inside container 2018-12-18 22:35:58 +09:00
nicolas.dorier
9ca85ed365 Change column order 2018-12-18 21:44:51 +09:00
nicolas.dorier
93113fd871 Fix payment exports to reflect correctly payment data, rename fields. 2018-12-18 21:35:52 +09:00
Andrew Camilleri
b5d360594a Merge remote-tracking branch 'origin/master' into feature/crowdfund 2018-12-18 13:29:22 +01:00
nicolas.dorier
d5ae79c38c Add more information about status in the CSV export 2018-12-18 19:33:14 +09:00
nicolas.dorier
7cf07b27e3 Invoice export should not prefix amounts with crypto code 2018-12-18 19:20:10 +09:00
nicolas.dorier
bb0f986b0c Add additional test on euro formatting 2018-12-18 19:09:55 +09:00
nicolas.dorier
2c2a85327f Add test logs 2018-12-18 01:02:27 +09:00
nicolas.dorier
7bf03e497b In cart js, add space to symbol if needed (fix #450) 2018-12-18 00:38:59 +09:00
nicolas.dorier
7a4dee3d38 Point of Sale returns correct currency information (#450) 2018-12-18 00:25:17 +09:00
nicolas.dorier
7b27d6f0bb Merge branch 'mariodian-pos-product-management' 2018-12-15 23:40:04 +09:00
nicolas.dorier
83dc95a0a7 Remove dollar sign in textbox 2018-12-15 23:39:45 +09:00
nicolas.dorier
d60889f952 Merge branch 'pos-product-management' of https://github.com/mariodian/btcpayserver into mariodian-pos-product-management 2018-12-15 23:22:07 +09:00
Nicolas Dorier
8c9952973d Merge pull request #449 from sipsorcery/uxpwdreset
HTML formatting fix for issue #448.
2018-12-15 23:20:09 +09:00
Mario Dian
00673bdb7f Fix product width on smaller screens 2018-12-14 16:16:08 +08:00
Mario Dian
d039890a9b Create js-only product management in PoS 2018-12-14 16:03:02 +08:00
nicolas.dorier
41e88c07fe update languages 2018-12-14 13:14:03 +09:00
nicolas.dorier
67c5027b16 bump 2018-12-14 13:12:27 +09:00
nicolas.dorier
a341d4f800 Show Spark QR Code pairing 2018-12-14 13:12:27 +09:00
2pac1
e3833914b3 Update AddDerivationScheme.cshtml 2018-12-13 16:18:01 +01:00
2pac1
49cdec6961 Update PayButtonEnable.cshtml 2018-12-13 12:26:30 +01:00
Aaron Clauson
3ad1834439 Better fix this as well or the user gets a blank page after the reset. 2018-12-12 22:39:37 +01:00
Aaron Clauson
4b492eae85 HTML formatting fix for issue #448. 2018-12-12 22:29:40 +01:00
Nicolas Dorier
f0ff47af8d Merge pull request #447 from britttttk/translations/disable
Check for disable flag in Transifex
2018-12-12 23:40:47 +09:00
nicolas.dorier
991826b686 do not show restricted macaroon 2018-12-12 18:52:01 +09:00
nicolas.dorier
22d59a1ed7 Do not leak access key in browser 2018-12-12 18:37:50 +09:00
nicolas.dorier
475ea68696 Can attach external spark 2018-12-12 18:19:13 +09:00
britttttk
864e84706a check for disable flag 2018-12-11 22:18:17 -07:00
nicolas.dorier
9c93e76eeb Remove temporary nuget down hack 2018-12-12 12:20:17 +09:00
Kukks
7fa1b65af0 initial commit 2018-12-11 16:36:25 +01:00
Kukks
c00c95efcf initial coinswitch work 2018-12-11 12:47:38 +01:00
nicolas.dorier
94be2b46d5 docker build should use right api.nuget.org server 2018-12-10 23:36:54 +09:00
nicolas.dorier
4b4d0d2d19 Adding working server for api.nuget.org 2018-12-10 22:35:43 +09:00
nicolas.dorier
0d06cf63b7 Use enum for invoice status and invoice exception 2018-12-10 21:48:28 +09:00
nicolas.dorier
7b24c02d51 bump 2018-12-10 20:34:34 +09:00
Kukks
becf488714 Merge remote-tracking branch 'btcpayserver/master' into grs-clightning 2018-12-10 10:42:08 +01:00
nicolas.dorier
e89e8226e4 Fix build 2018-12-10 17:34:27 +09:00
nicolas.dorier
a533a96598 Remove XFrame for PoS 2018-12-10 16:39:21 +09:00
nicolas.dorier
27321c0919 bump 2018-12-10 16:04:28 +09:00
nicolas.dorier
058472d325 Show restricted macaroon for LND 2018-12-10 16:03:58 +09:00
nicolas.dorier
b5c9a03052 Can mark invoice as complete 2018-12-10 15:34:48 +09:00
nicolas.dorier
07dad3affa bump 2018-12-07 19:35:25 +09:00
nicolas.dorier
8afc103ae7 Show REST connection information for LND in a QR Code 2018-12-07 19:31:07 +09:00
nicolas.dorier
591d7b4b80 Can show external service link with BTCPAY_EXTERNALSERVICES 2018-12-07 18:42:39 +09:00
nicolas.dorier
2162afc78e Lightning network warnings 2018-12-07 17:54:10 +09:00
nicolas.dorier
25e226d219 Clarify the code 2018-12-07 14:37:07 +09:00
nicolas.dorier
8472bfe90d Add test for bad bitid signature 2018-12-07 14:34:07 +09:00
nicolas.dorier
93645b2fbe Fix error 500 if token not found 2018-12-07 13:48:39 +09:00
nicolas.dorier
d53c987f2e bump 2018-12-06 17:25:50 +09:00
nicolas.dorier
682693a9f0 Update translations 2018-12-06 17:23:42 +09:00
nicolas.dorier
e836faf792 Stop setting BIP70 link info 2018-12-06 17:12:51 +09:00
nicolas.dorier
6e27233be8 Remove BIP70 support 2018-12-06 17:08:28 +09:00
nicolas.dorier
9209984a2f Remove useless argument from GetInvoice 2018-12-06 17:05:27 +09:00
nicolas.dorier
1477630c78 Remove anonymous access to invoice data 2018-12-06 16:58:04 +09:00
nicolas.dorier
ab670080c7 bump 2018-12-06 12:29:13 +09:00
nicolas.dorier
8198f98376 Code simplification 2018-12-06 12:26:42 +09:00
nicolas.dorier
65b4697229 Properly error 401 if request is not signed correctly 2018-12-06 12:22:05 +09:00
nicolas.dorier
e75a1a8b70 Improve ledger feedback for asking authorization to access xpub 2018-12-04 21:22:27 +09:00
Andrew Camilleri
580494fea7 add correct icon 2018-12-04 11:46:01 +01:00
nicolas.dorier
5a958da84d bump 2018-12-04 13:04:56 +09:00
nicolas.dorier
cad602ad14 Fix several issues in cart
* Fix: Only USD currency with 2 decimals were properly handled for tips
* Fix: All PoS apps would were sharing the same basket
* Fix: Currency formatting was not using server side information
* Fix: Various bug of formatting for decimal 0 and more than 2.
2018-12-04 13:04:26 +09:00
nicolas.dorier
1f14bd6188 Add button and qr code to the bitpay translator 2018-12-04 11:53:25 +09:00
nicolas.dorier
156f52b76f Add bitpay translator 2018-12-03 23:59:08 +09:00
Nicolas Dorier
d674b8ac71 Merge pull request #430 from dalijolijo/master
bump
2018-12-01 22:40:48 +09:00
David
861150971f bump 2018-12-01 10:15:57 +00:00
Nicolas Dorier
a653421514 Merge pull request #428 from mariodian/fix-pos-cart-currency
Fix currency format for total amount
2018-12-01 14:09:01 +09:00
Mario Dian
8f234a02cb Add currency formats for major currencies 2018-12-01 12:59:45 +08:00
nicolas.dorier
92ecf99427 bump 2018-12-01 13:23:56 +09:00
nicolas.dorier
705dbf12d7 Change translation of the expiration screen 2018-12-01 13:19:35 +09:00
nicolas.dorier
fe11b11c13 Add Polski and Srpski 2018-12-01 12:02:53 +09:00
Mario Dian
f2a43ad1f3 Escape js properties in html template 2018-11-30 21:14:09 +08:00
Mario Dian
cbbe5cfb25 - fix currency format for numbers over 999
- fix cart table
2018-11-30 20:01:47 +08:00
nicolas.dorier
0eccc6085b bump 2018-11-30 04:34:38 -06:00
rockstardev
a89da1f705 Recoding test to respect new ordering in CSV 2018-11-30 04:34:18 -06:00
rockstardev
5b297e539a Additional fields and ordering based on feedback 2018-11-30 04:18:37 -06:00
nicolas.dorier
1d932c3753 Improve invoice script if no PoS data available 2018-11-30 04:17:57 -06:00
Andrew Camilleri
5a77fc74ba quickly fix changelly button style (#423)
Fix the button for now so it doesn't appear broken.
2018-11-30 04:17:44 -06:00
rockstardev
7b47b96252 Always using quotes for CSV export 2018-11-30 03:15:23 -06:00
rockstardev
a4bec83ecc Fixing warnings on invariant culture, hate this for being so verbose 2018-11-30 02:51:23 -06:00
rockstardev
8509a0de18 Basic export CSV and JSON tests 2018-11-30 02:34:43 -06:00
rockstardev
8e30b7430d Adding PaymentType and destination, CSV export 2018-11-30 02:04:26 -06:00
rockstardev
9235d32a45 Export of payments made on invoices 2018-11-30 01:22:39 -06:00
nicolas.dorier
dd503570ac bump 2018-11-30 11:30:30 +09:00
Mario Dian
613281a1e7 Fix form processing when cart is enabled (#424) 2018-11-30 11:29:27 +09:00
nicolas.dorier
bab7bf6633 bump 2018-11-27 15:17:32 +09:00
Mario Dian
1831692761 Enable shopping cart, add items to cart, enable tips (#410)
Modal cart, remove items, checkout

Fix removal and adding of cart items

Improve cart UI

Add cart bundle, remove unused js files from the view when cart isn't used

Do not enable cart by default

Do not put modal into the view when the cart is disabled

Escape js properties

Work with amounts as cents

Make animation speed look constant

Enable tips in the cart

Fix cart UI
2018-11-27 15:14:32 +09:00
Andrew Camilleri
e144d2479b Add POS Data to Invoice UI (#409)
* Add POS Data in Invoice UI

* fix build

* extract in helper and add UTs

* add in unit test coverage through mvc view too
2018-11-27 15:13:09 +09:00
nicolas.dorier
c25831316e bump nbx 2018-11-26 12:02:50 +09:00
nicolas.dorier
60b72aabe8 fix test 2018-11-24 13:38:23 +09:00
nicolas.dorier
c8fcb0ab18 Use framework dependent build for ARM 2018-11-23 16:14:13 +09:00
nicolas.dorier
9911d18390 Do not push latest images to dockerhub 2018-11-23 14:12:47 +09:00
nicolas.dorier
e24630ac1e Remove qemu install requirement for the host 2018-11-23 14:08:14 +09:00
nicolas.dorier
4c1fd3edae More comment on ARM build 2018-11-23 14:02:44 +09:00
nicolas.dorier
f65492dd66 Use stretch slim for arm 2018-11-23 14:00:33 +09:00
nicolas.dorier
5d978c7670 Use manifest image for building arm images 2018-11-23 13:58:21 +09:00
nicolas.dorier
11788cece9 No need to create latest tag 2018-11-23 13:18:35 +09:00
nicolas.dorier
1aaa55dc62 Make test less flaky 2018-11-23 13:09:30 +09:00
nicolas.dorier
ce57a2b8fb Do not tag latest 2018-11-23 12:59:48 +09:00
nicolas.dorier
0604cc5bd0 bump 2018-11-23 11:37:05 +09:00
nicolas.dorier
3d2c0bcc6c Use specific sdk and runtime version for arm 2018-11-23 11:23:27 +09:00
Rockstar Developer
0f222979a6 CircleCI multiarch Docker images (#416)
* Preparing final version of CircleCI docker building

* Removing test job requirement for building Docker images

We'll already monitor build before tagging, would be too many checks

* Adding pushing of manifest for tag

* Easy access to docker/circle config files for edit

* Generalizing script with $DOCKERHUB_REPO variable
2018-11-23 11:21:01 +09:00
nicolas.dorier
a1eb6a14f5 Fix all script because of docker-compose team screwing up (https://github.com/docker/compose/issues/6316) 2018-11-22 16:16:10 +09:00
Andrew Camilleri
186ce01022 add pairing code to tokens page after authorize (#412) 2018-11-22 15:13:35 +09:00
nicolas.dorier
0096ec1d12 bump nbxplorer 2018-11-21 20:41:51 +09:00
rockstardev
2929d7bf51 Fixing MONA_BTC rate breaking tests and CircleCI because zaif is down 2018-11-20 15:42:45 -06:00
Andrew Camilleri
d90fb5764d Add noindex,nofollow to invoices, checkouts and fix create invoice ui bug (#407)
* add noindex,nofollow on invoices

* fix create invoice button and add noindex,nofollow to checkout and invoice pages
2018-11-19 13:20:48 +09:00
nicolas.dorier
4dccd0c733 Add better instruction on how to customize the theme 2018-11-17 12:43:11 +09:00
nicolas.dorier
300d912331 bump 2018-11-17 11:43:41 +09:00
Rockstar Developer
9d21c89151 Preserving title with custom amount (#403)
* Preserving title with custom amount

* Custom button texts for complete localization

* Update tests, now checking custom amount description and button text

* Support for Custom CSS in POS
2018-11-17 11:39:43 +09:00
nicolas.dorier
24a8c4015c Bump 2018-11-17 11:35:20 +09:00
Rockstar Developer
5eb40d6b7f Bugfixing redirect button (#405) 2018-11-17 11:32:31 +09:00
nicolas.dorier
36f486e91b Add test for the parser 2018-11-17 01:45:59 +09:00
nicolas.dorier
5b684ac26e Make really sure we don't generate segwit addresses for non segwit coins 2018-11-17 01:39:32 +09:00
nicolas.dorier
85062725bd bump 2018-11-17 01:21:56 +09:00
nicolas.dorier
401d9c8565 DerivationSchemeParser should not override a label 2018-11-17 01:21:34 +09:00
nicolas.dorier
6f276ac1bc Do not crash if derivation strategy is empty 2018-11-17 01:09:28 +09:00
nicolas.dorier
4350785cef Remove double slash 2018-11-17 00:23:51 +09:00
nicolas.dorier
9a2a85ac3d Update translations 2018-11-17 00:22:18 +09:00
nicolas.dorier
d030a61322 bump 2018-11-17 00:16:31 +09:00
nicolas.dorier
dacb6dca41 bump .net core 2018-11-17 00:13:22 +09:00
nicolas.dorier
c40fc69087 Use the choiceKey of PoS item as ItemCode 2018-11-16 23:16:44 +09:00
nicolas.dorier
eff983135c showcase the custom field in PoS template 2018-11-16 18:36:18 +09:00
Rockstar Developer
479303dd9e Tweaking UI for custom amounts (#398)
* Tweaking appearance of custom amount card

* Allowing POS items to have custom amounts, good for donations/tips

* Prepending currency symbol in POS

* Fixing regression, thanks unit test
2018-11-16 12:31:38 +09:00
nicolas.dorier
e9b2088f7d change default title for pointofsale 2018-11-14 17:45:46 +09:00
nicolas.dorier
4af5b94013 Add tooling which pull transifex translation automatically, add Slovenčina. (Close #386) 2018-11-14 16:48:25 +09:00
nicolas.dorier
441398402d Remove global.json because .403 became suddenly unavailable 2018-11-13 16:41:49 +09:00
nicolas.dorier
258d4fda3f bump 2018-11-13 16:37:43 +09:00
nicolas.dorier
8e667f6c3f Allow empty template (Fix #303) 2018-11-13 16:32:13 +09:00
Mario Dian
a996cc2e6d Fix margins, change template (#397) 2018-11-13 16:29:18 +09:00
nicolas.dorier
9b8a8690e7 Change links to gitbook 2018-11-13 16:21:58 +09:00
nicolas.dorier
f2387fd6b5 Workaround to compile on circle 2018-11-13 16:16:57 +09:00
nicolas.dorier
888036a99d use docker on Circle CI 2018-11-13 15:55:10 +09:00
nicolas.dorier
539c0ed7f0 show dotnet info on CI 2018-11-13 15:47:25 +09:00
nicolas.dorier
95e065a462 Add tooltip to update store (#382) 2018-11-13 15:36:07 +09:00
Andrew Camilleri
087f20cb6c Fix small view error in logs (#392) 2018-11-12 22:25:39 +09:00
Andrew Camilleri
7adf321956 Checkout Experience Language Setting (#393)
* fix check out experience default language validation of preset value not found

* Update CheckoutExperienceViewModel.cs
2018-11-12 22:17:00 +09:00
nicolas.dorier
dc749462ec automatically detect the btcpay server url in btcpay.js 2018-11-10 23:43:48 +09:00
nicolas.dorier
16b57f24a2 Fix #383 2018-11-10 23:25:11 +09:00
Mario Dian
b16b1c3e8b - add item image and description (#391)
- fix margins
2018-11-10 15:38:26 +09:00
nicolas.dorier
fee56873b5 Handle exception if log file do not exists. 2018-11-09 21:43:10 +09:00
nicolas.dorier
e1b2b72cd2 bump 2018-11-09 21:16:09 +09:00
Andrew Camilleri
daf4e5ce6c I am sorry for so many prs <3 (#389)
* make language loading more solid

* disable browser lang preferences

* pr fix

* pr fixes

* pr fixes

* make sure language files are named correctly

* fix dropdown width issue when in modal form

* fix issue from jquery hell
2018-11-09 21:13:00 +09:00
Andrew Camilleri
2ec2c7263f Make language loading more efficient and solid (#388)
* make language loading more solid

* disable browser lang preferences

* pr fix

* pr fixes

* pr fixes
2018-11-09 19:02:53 +09:00
David
abfcab552f bump (#384) 2018-11-09 17:34:30 +09:00
Rockstar Developer
cfdf8b1670 Example modal in invoice list (#387) 2018-11-09 17:13:45 +09:00
Andrew Camilleri
f23e2a3ec4 async i18n and json translation format (#369)
* start working on loading locales async and as json

* finish off langs and UI

* fix path

* fix tests
2018-11-09 16:48:38 +09:00
Rockstar Developer
aa1ac3da50 Modal invoice through btcpay.js (#381)
* Modal through btcpay.js

* Handling close action depending on whether is modal or not

* Tweaking button position

* Stripping trailing slashes if present when setting site root
2018-11-09 16:09:09 +09:00
Andrew Camilleri
c9c7316b7d Logs UI in Server Admin (#374)
* add in ui

* add in logging viewer

* Revert "add in ui"

This reverts commit 9614721fa8a439f7097adca69772b5d41f6585d6.

* finish basic feature

* clean up

* improve and fix build

* add in debug log level command option

* use paging for log file list, use extension to select log files, show message for setting up logging

* make paging a little better

* add very basic UT for logs

* Update ServerController.cs
2018-11-07 22:29:35 +09:00
nicolas.dorier
d152d5cd90 fix build 2018-11-06 16:08:42 +09:00
nicolas.dorier
6fd37710e1 Rename validators namespace 2018-11-06 15:38:07 +09:00
nicolas.dorier
0419a3c19a do not affect Buyer for every paymentid 2018-11-05 17:37:55 +09:00
nicolas.dorier
0c382da561 Show unconf transactions with low opacity 2018-11-05 17:26:49 +09:00
nicolas.dorier
9fc7f287d2 Expose buyer object to conform to bitpay API 2018-11-05 17:02:12 +09:00
nicolas.dorier
dd7c4850f0 bump nbxplorer 2018-11-05 14:12:05 +09:00
nicolas.dorier
93992ec3ed bump 2018-11-05 12:15:05 +09:00
nicolas.dorier
15d9adfbf1 Fix rate fetching for kraken doge and dash 2018-11-05 12:14:39 +09:00
nicolas.dorier
676a914c40 Fix, allow rescan if other crypto nodes are not synched 2018-11-04 22:46:27 +09:00
nicolas.dorier
b423b4eec1 Do not allow rescan of wallet which are not segwit 2018-11-04 14:59:28 +09:00
nicolas.dorier
9784a89112 limit apdu size to ledger 2018-11-04 00:36:48 +09:00
David
7b596e6d9c Add Bitcore BTX support (#259) 2018-11-03 13:42:17 +09:00
David
76febcf238 bump NBXplorer.Client (#378)
NBXplorer.Client Version 1.0.3.5 is available: da7df86019
2018-11-02 21:38:41 +09:00
nicolas.dorier
a57a72de88 bump clightning 2018-11-02 19:02:07 +09:00
nicolas.dorier
235b307b06 bump deps 2018-11-02 18:05:48 +09:00
nicolas.dorier
05b0f6d0f7 Fix invoice search not working on transaction id 2018-11-02 14:26:13 +09:00
nicolas.dorier
1d7081d8b8 bump 2018-11-01 21:51:16 +09:00
nicolas.dorier
c0174c0c2c inverse DASH rate 2018-11-01 16:33:53 +09:00
nicolas.dorier
fa8324c1f9 Fix DASH rate for kraken 2018-11-01 14:48:46 +09:00
nicolas.dorier
4b0951caec trim destination in WalletSend 2018-11-01 12:54:25 +09:00
nicolas.dorier
0d51c99717 Properly configure the logger to log what happen in ConfigureServices, add https profile adapted for debugging ledger wallet. 2018-11-01 12:52:32 +09:00
Aaron Clauson
24623c59d7 Adjusted mechanism for setting https binding configuration option (#372)
* Adjusted mechanism for setting https binding configuration option.

* Modified the https binding logic to use default bind and port options.

* Removed dedicated https certification config properties and instead used direct access via setting name.
2018-11-01 12:07:28 +09:00
nicolas.dorier
88044f6b76 Decouple Wallet Send screen from Ledger Wallet 2018-11-01 00:19:25 +09:00
nicolas.dorier
38edbf8362 Improve token UX (Fix #353) 2018-10-31 17:59:09 +09:00
nicolas.dorier
bc0acf5701 make test more reliable 2018-10-31 16:57:31 +09:00
nicolas.dorier
a82f181126 Reactivate cryptopia 2018-10-31 13:31:03 +09:00
nicolas.dorier
be0139a46f bump 2018-10-31 13:06:36 +09:00
nicolas.dorier
4db5b4f2b1 Wait for the nodes to be fully synched before starting tests 2018-10-31 13:06:17 +09:00
nicolas.dorier
93cefced80 bump .NET core and dependencies 2018-10-31 13:03:12 +09:00
nicolas.dorier
85f586f623 bump dependencies 2018-10-31 11:56:21 +09:00
nicolas.dorier
2be1f97419 Remove cryptopedia as direct provider, add estimated time to wallet rescan page, bump nbx 2018-10-30 15:40:27 +09:00
nicolas.dorier
63014231ab Revert "Added configuration options for BtcPayServer https binding. (#360)"
This reverts commit 3ac37497ab.
2018-10-30 00:25:05 +09:00
Aaron Clauson
3ac37497ab Added configuration options for BtcPayServer https binding. (#360) 2018-10-30 00:11:02 +09:00
nicolas.dorier
d0cafb020f Add an invoices list to store list 2018-10-29 12:44:20 +09:00
nicolas.dorier
d3b3198b68 For lightning payments tests, add small delay after creating the invoice before sending the payment 2018-10-29 00:22:30 +09:00
nicolas.dorier
c1f17ff63b Add some test logs to flaky test 2018-10-28 23:43:48 +09:00
nicolas.dorier
dafd958f69 bump 2018-10-28 23:07:58 +09:00
Andrew Camilleri
f51af6c61c fix issue with changelly rates and cover with UTs (#368) 2018-10-28 23:07:36 +09:00
nicolas.dorier
254db22063 Change test trait name 2018-10-28 22:51:02 +09:00
nicolas.dorier
8be4256278 Fix unreliable tests 2018-10-28 22:46:03 +09:00
nicolas.dorier
8e8669d63f Warning as errors 2018-10-28 22:15:32 +09:00
nicolas.dorier
4625ff92f1 Run unreliable tests, attempt to make them a bit more reliable 2018-10-28 22:10:37 +09:00
nicolas.dorier
6aa84326af Make sure tests run sequentially 2018-10-28 21:46:12 +09:00
nicolas.dorier
9a384d81fe Run only dev time containers 2018-10-28 21:25:42 +09:00
nicolas.dorier
0cbe36c048 Run reliable tests, remove the docker build 2018-10-28 21:19:18 +09:00
nicolas.dorier
7f16aa8c7e Run only fast tests on CI 2018-10-28 20:59:59 +09:00
nicolas.dorier
872f8a6229 Add circleCI badge 2018-10-28 20:28:16 +09:00
nicolas.dorier
9b261daa6d Add circleci file 2018-10-28 20:06:04 +09:00
nicolas.dorier
c46c15c258 Fix changelly tests 2018-10-28 01:10:07 +09:00
nicolas.dorier
a8ba1ed1ed Removing Kukks changelly credential from the source code 2018-10-28 01:02:24 +09:00
nicolas.dorier
ff4056d4f3 bump 2018-10-27 23:32:04 +09:00
nicolas.dorier
ae152c3ffa bump NBXplorer 2018-10-27 23:30:57 +09:00
nicolas.dorier
e2ff33d7db Document how to test mysql 2018-10-27 23:20:50 +09:00
Aaron Clauson
ce94c05fd3 MySQL Support (#345)
* MySQL EF support added using Pomelo MySQL provider.

* MySQL EF support added using Pomelo MySQL provider.
2018-10-27 23:15:21 +09:00
nicolas.dorier
9cde4dc7e2 Restart containers if crash 2018-10-27 23:14:26 +09:00
nicolas.dorier
ca571cd756 Add authorization on WalletRescan 2018-10-27 22:52:09 +09:00
Rockstar Developer
e5eb0c79c0 Exposing LND Rest, providing info in Server/Services (#363)
* Displaying LND Rest connection info in Services

* Code cleanup

* Tweaking UI

* Fix typo
2018-10-27 22:49:39 +09:00
nicolas.dorier
43bd6587d3 re-enable changelly 2018-10-27 22:41:37 +09:00
Andrew Camilleri
3bb059ab74 refactor changelly & improve tests (#366) 2018-10-27 22:41:07 +09:00
nicolas.dorier
4c963d6edf bump 2018-10-26 23:10:45 +09:00
nicolas.dorier
396bc7f7b4 Commenting Changelly 2018-10-26 23:10:29 +09:00
nicolas.dorier
2896a9b26f Add ScanUTXOSet support 2018-10-26 23:07:39 +09:00
nicolas.dorier
9267a45449 Remove useless test 2018-10-26 19:07:19 +09:00
nicolas.dorier
c430d470c4 Fix warnings and bump nbxplorer 2018-10-26 19:06:06 +09:00
nicolas.dorier
3921a3ca22 Fix warnings, update libs 2018-10-26 18:36:58 +09:00
britttttk
1ff0a98d30 Adding Ukrainian Translation (#352) 2018-10-24 15:18:31 +09:00
britttttk
f0efd52cb7 Adding Kazakh Language (#350) 2018-10-24 15:17:09 +09:00
britttttk
bb8fa88688 Adding Vietnamese (#351) 2018-10-24 15:16:30 +09:00
Andrew Camilleri
4b976c13c1 Changelly v2 (#343)
* Disable shapeshift and use changelly

* UI to manage changelly payment method

* wip on changelly api

* Add in Vue component for changelly and remove target currency from payment method

* add changelly merhcant id

* Small fixes to get Conversion to load

* wip fixing the component

* fix merge conflict

* fixes to UI

* remove debug, fix fee calc and move changelly to own partials

* Update ChangellyController.cs

* move original vue setup back to checkout

* Update core.js

* Extracting Changelly component to js file

* Proposal for loading spinner

* remove zone

* imrpove changelly ui

* add in changelly config checks

* try new method to calculate amount + remove to currency from list

* abstract changelly lofgic to provider and reduce dependency on js component

* Add UTs for Changelly

* refactor changelly backend

* fix failing UT

* add shitcoin tax

* pr changes

* pr changes

* WIP: getting rid of changelly dependency

* client caching, compiling code, cleaner code

* Cleaner changelly

* fiat!

* updat i18n, css and error styler

* default keys

* pr changes part 1

* part2

* fix tests

* fix loader alignment and retry button responsiveness

* final pr change
2018-10-24 14:52:19 +09:00
nicolas.dorier
f68d4efcdd update to 0.17.0 2018-10-19 19:05:12 +09:00
bitcoinshirt
fea247b218 Fixing broken link in Wallets/WalletSend.cshtml (#342)
Removing the earlier Yubico link, since it's broken and the article no longer exists.
Furthermore, I tested this integration with other U2F supporting browsers (Firefox Nightly, Firefox) and it only works in Google Chrome, so I suggest we only suggest what works, and for now, that's Chrome only.
2018-10-18 12:43:41 +09:00
nicolas.dorier
f419c56a3c Revert "Changelly Support (#267)"
This reverts commit a5fca7a1c4.
2018-10-18 12:27:46 +09:00
Andrew Camilleri
a5fca7a1c4 Changelly Support (#267)
* Disable shapeshift and use changelly

* UI to manage changelly payment method

* wip on changelly api

* Add in Vue component for changelly and remove target currency from payment method

* add changelly merhcant id

* Small fixes to get Conversion to load

* wip fixing the component

* fix merge conflict

* fixes to UI

* remove debug, fix fee calc and move changelly to own partials

* Update ChangellyController.cs

* move original vue setup back to checkout

* Update core.js

* Extracting Changelly component to js file

* Proposal for loading spinner

* remove zone

* imrpove changelly ui

* add in changelly config checks

* try new method to calculate amount + remove to currency from list

* abstract changelly lofgic to provider and reduce dependency on js component

* Add UTs for Changelly

* refactor changelly backend

* fix failing UT

* add shitcoin tax

* pr changes

* pr changes
2018-10-18 12:13:39 +09:00
Esky33
e18d0b5d51 Updating Yaml (#336) 2018-10-17 13:30:43 +09:00
nicolas.dorier
9952cdca7f bump 2018-10-17 12:06:37 +09:00
Rockstar Developer
6278145374 Removing old QR update code (#337) 2018-10-17 11:55:49 +09:00
Rockstar Developer
84018a5caa Bugfixing race condition for QR code switch (#335)
Ref: #334
2018-10-17 11:49:30 +09:00
Aaron Clauson
d7785fe2d2 Added Serilog file logger for debug file support. (#323) 2018-10-16 00:37:42 +09:00
nicolas.dorier
e1751c4d91 [Fix] Querying rate with authenticated request should be successfull 2018-10-15 18:11:20 +09:00
nicolas.dorier
913da79ff4 Remove dups lang 2018-10-14 21:35:21 +09:00
Denny Biasiolli
a4fbb2de7e creating italian localization file (#310) 2018-10-14 21:34:15 +09:00
Thijs Triemstra
b5601ed5e6 fix typo (#304) 2018-10-14 21:28:09 +09:00
Esky33
42c4f15f22 fixed typos (#331) 2018-10-14 21:26:47 +09:00
nicolas.dorier
6fbd9b2628 bump 2018-10-12 14:02:27 +09:00
Rockstar Developer
d04bfb58a2 Resolving issue with long translations breaking layout (#330) 2018-10-12 14:01:44 +09:00
nicolas.dorier
cded2548f5 bump 2018-10-12 13:32:04 +09:00
nicolas.dorier
dcc859a86a Disable export to JSON 2018-10-12 13:17:38 +09:00
britttttk
9bec38559f Nepali Translation (#311)
* Nepali Language

* Delete Checkout.cshtml

* Delete LanguageService.cs

* add np.js

* Match Language File Style
2018-10-12 10:11:03 +09:00
Sosthene
2856454d41 [langs-fr] Correction and some minor improvement (#316) 2018-10-12 10:10:42 +09:00
britttttk
b3c4fc4003 Added Russian (#312) 2018-10-12 10:10:20 +09:00
Rockstar Developer
c2bbc04c4c Various bugfixes (#308)
* NotifyEmail field on Invoice, sending email when triggered

* Styling invoices page

* Exporting Invoices in JSON

* Recoding based on feedback

* Fixing image breaking responsive layout on mobile

* Reducing amount of data sent in email notification

* Turning bundling on by default
2018-10-12 10:09:13 +09:00
GameXG
db40c7bc32 Solving the new version of btcpayserver caused btcpay-python not to create an order problem (#327) 2018-10-11 23:50:28 +09:00
Sosthene
60707fdbd1 Add simplified chinese translation (#326)
* Add Chinese Simplified translation

* Add Chinese simplified translation
2018-10-11 14:25:16 +09:00
nicolas.dorier
f05614f4da bump 2018-10-11 00:51:43 +09:00
nicolas.dorier
a10c382bd4 [Tests] return WalletId when registering scheme 2018-10-10 00:13:37 +09:00
nicolas.dorier
da2fb876cb Can pass pre filled amount and address to Send Wallet 2018-10-09 23:48:14 +09:00
nicolas.dorier
3c58bff803 Comparable WalletId 2018-10-09 23:44:32 +09:00
nicolas.dorier
a28814bc0e Fix RateRules crash if dups 2018-10-09 23:43:03 +09:00
nicolas.dorier
3cff8261ae Set the id for apps only to 20 bytes, and output the Id in the controller so we can use it in tests 2018-10-09 23:38:56 +09:00
nicolas.dorier
b16e8f7b76 Move GetAppDataIfOwner inside AppHelper 2018-10-09 23:34:51 +09:00
nicolas.dorier
57ab001c0c [Tests] Pass Port to the fake http context 2018-10-09 23:32:47 +09:00
nicolas.dorier
3d85dace38 Move currency display method into CurrencyNameTable 2018-10-09 23:30:26 +09:00
nicolas.dorier
7a04c2974f Center QR Authenticator QR Code 2018-10-09 23:30:26 +09:00
Rockstar Developer
d459839bf7 Displaying Node Info as QR code for Lightning payments (#318)
* Styling elements required for Node info

* Allowing switching QR between bolt11 and node info for lightning

* Equal width for Bolt11 and Node info buttons

* Certain languages were too verbose for display of "Pay with"

Fixes: #317
2018-10-08 07:19:55 +09:00
nicolas.dorier
657cfe1b23 bump 2018-10-06 23:21:33 +09:00
nicolas.dorier
f4eaa0f01f Make sure X-Forwarded-Port does not override ExternalUrl 2018-10-06 23:20:32 +09:00
Gruve_p
1e2ffcadf0 Add GRS lightning image (#309) 2018-10-03 11:25:52 +09:00
nicolas.dorier
dcc05af02e fix typo 2018-10-02 22:11:01 +09:00
nicolas.dorier
4b7f78f38b document .net version update 2018-10-02 22:06:06 +09:00
nicolas.dorier
f94ff4cc74 Update dotnet version + nbxplorer 2018-10-02 19:33:25 +09:00
nicolas.dorier
b750663a1f update lnd/clightning 2018-09-28 17:08:51 +09:00
nicolas.dorier
4c4b76e995 Remove Bitpay direct provider 2018-09-28 17:08:51 +09:00
Rockstar Developer
da19d2c1a7 Bugfixing display of custom amount entry in POS (#302)
Ref: #293
2018-09-28 13:31:59 +09:00
nicolas.dorier
fb15c5b354 Increase timeout for wallet, update references 2018-09-28 10:15:35 +09:00
nicolas.dorier
6ffe1cfcab bump LedgerWallet lib 2018-09-27 16:31:33 +09:00
nicolas.dorier
87678c58ac Fix error message for ledger signing 2018-09-27 15:43:34 +09:00
nicolas.dorier
feab4cc48a update ledgerwebsocket 2018-09-27 15:21:26 +09:00
rockstardev
712946f512 bump 2018-09-22 05:16:24 -05:00
rockstardev
a7bfceae05 Reverting to 2.1.0 until we update docker images 2018-09-22 05:14:36 -05:00
rockstardev
8a26cd549a bump 2018-09-22 01:11:14 -05:00
rockstardev
1cf3ce0617 Footer with server version now visible only for logged in users
Per #282
2018-09-22 01:11:14 -05:00
rockstardev
73c65fada2 Fixing display on Lockout page 2018-09-22 01:11:14 -05:00
rockstardev
92ea923c03 Updating reference to Bitcoin docker image 2018-09-22 01:11:14 -05:00
rockstardev
e7db453717 Removing network fee line item if fee is 0
Per discussion in #265
2018-09-22 01:11:14 -05:00
rockstardev
10ee09f052 Bugfixing broken link in footer
Div overlay caused it, fixes #269
2018-09-22 01:11:14 -05:00
rockstardev
be7d91a138 VueJs cloak until loading is finished
Addressing #255
2018-09-22 01:11:14 -05:00
rockstardev
3278c80d3f Fixing problem with View dynamic recompiling
The type 'RazorViewAttribute' exists in both 'Microsoft.AspNetCore.Mvc.Razor' error resolved
2018-09-22 01:11:14 -05:00
Rockstar Developer
65e1edb0b8 Merge pull request #274 from Kukks/feature/lockout
enable account lockout
2018-09-22 00:42:33 -05:00
Andrew Camilleri
e05c88370f enable account lockout 2018-09-12 13:36:44 +02:00
nicolas.dorier
15c29f8419 Update dependencies 2018-09-09 23:04:16 +09:00
nicolas.dorier
fc722731d3 bump 2018-09-08 14:54:23 +09:00
nicolas.dorier
1c9c564e90 Merge branch 'rockstardev-master' 2018-09-08 14:54:06 +09:00
nicolas.dorier
872b60f8ea Merge branch 'master' of github.com:btcpayserver/btcpayserver 2018-09-08 14:53:53 +09:00
nicolas.dorier
0d3364b3da Change button path to api/v1/invoices 2018-09-08 14:53:42 +09:00
nicolas.dorier
fed53661b3 Add btcpay.store.cancreateinvoice claim, and use that for the store 2018-09-08 14:53:41 +09:00
nicolas.dorier
e86b4d89ca remove paybuttontest 2018-09-08 14:53:41 +09:00
rockstardev
c5cb32f6dd Providing option to disable Pay Button at later date 2018-09-08 14:53:41 +09:00
rockstardev
deb56e16ec Confirmation page for enabling Pay Button 2018-09-08 14:53:41 +09:00
rockstardev
b5626ef01c Validating that Store has Pay Button enabled 2018-09-08 14:53:41 +09:00
rockstardev
e39d9067f2 Updating Unit tests 2018-09-08 14:53:41 +09:00
rockstardev
43d34d5d35 Now requiring Authorization on AppsController 2018-09-08 14:53:41 +09:00
rockstardev
7341be76bb Extracting public portion of app controller 2018-09-08 14:53:41 +09:00
rockstardev
0abd62dfe8 Moving PayButton handler to public controller 2018-09-08 14:53:41 +09:00
rockstardev
735012e3d7 Refactoring Invoice to cleanup unused code 2018-09-08 14:53:41 +09:00
nicolas.dorier
b5efb8d2e6 Add exchange name to expired rate 2018-09-08 14:53:40 +09:00
Takaya Imai
1dbeabb716 Update broken link of third-party host (#271) 2018-09-08 14:05:37 +09:00
nicolas.dorier
671f9e56e2 Merge branch 'master' of github.com:btcpayserver/btcpayserver 2018-09-04 19:04:47 +09:00
nwilson1412
dc6c189948 Update broken link (#264)
Current link goes to a 404 page, updated to current .NET Core SDK 2.1 page
2018-09-03 22:04:14 +09:00
bitcoinshirt
4501824f3f Updating Readme (#262)
* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

reduced merchant guide link for better readability

* Update README.md

* Update README.md

* Update README.md
2018-09-03 22:03:50 +09:00
nicolas.dorier
4568d2a98e Add exchange name to expired rate 2018-08-31 10:45:21 +09:00
nicolas.dorier
f5d81334f8 Remove Lightning Specific logic from BTCPay, and use BTCPayServer.Lightning packages instead 2018-08-30 12:24:00 +09:00
Nicolas Dorier
f3ed90399b Merge pull request #257 from dalijolijo/master
Bring supported coins in alphabetic order
2018-08-30 10:45:01 +09:00
David
fada01cec9 Bring supported coins in alphabetic order 2018-08-30 01:07:30 +02:00
nicolas.dorier
1b4b9fb4cc bump 2018-08-29 00:31:39 +09:00
nicolas.dorier
6eeef8a866 Remove XFrame on the checkout page 2018-08-29 00:31:23 +09:00
nicolas.dorier
24979a0af2 add lnd trickledelay 2018-08-28 18:13:28 +09:00
nicolas.dorier
be1a44f018 Fix bug in LND client 2018-08-28 18:06:07 +09:00
nicolas.dorier
9fcc2903fc Revert "Disable color in logs"
This reverts commit 06df63b283.
2018-08-28 16:13:26 +09:00
nicolas.dorier
06df63b283 Disable color in logs 2018-08-28 09:56:17 +09:00
nicolas.dorier
0f1efc16f5 fx build 2018-08-27 18:45:05 +09:00
nicolas.dorier
da8a06952c Fix bug about btcpay showing wrong port 0 as public lightning port for charge and clightning 2018-08-27 18:36:08 +09:00
nicolas.dorier
38d810cef7 Fix bundling 2018-08-25 23:08:46 +09:00
nicolas.dorier
393a3a2b8f Remove obsolete code in checkout 2018-08-25 22:50:17 +09:00
nicolas.dorier
aaddc580d1 bump 2018-08-25 21:49:41 +09:00
nicolas.dorier
957d478865 Fixing coinaverage, ValidityTime was faster than the refresh rate 2018-08-25 21:49:20 +09:00
nicolas.dorier
023913a852 Rate limit per IP the number of login attempt 2018-08-25 20:28:46 +09:00
nicolas.dorier
6c51d83f61 Fix tests 2018-08-25 15:49:04 +09:00
nicolas.dorier
0edaedb6ab Report if BackgroundFetcherRateProvider has expired entry 2018-08-25 15:09:42 +09:00
nicolas.dorier
13f21aa0d6 bump 2018-08-25 14:48:06 +09:00
nicolas.dorier
929a0c37bd Better handle errors on BackgroundFetcherRateProvider 2018-08-25 14:44:56 +09:00
nicolas.dorier
058ccf56d0 Fix uncaught exception on when getting rates of invoice 2018-08-25 14:44:55 +09:00
Nicolas Dorier
162ac572da Merge pull request #252 from Onurrr/patch-1
Update Checkout.cshtml
2018-08-24 18:37:07 +09:00
Onur
c7f3fdb46d Update Checkout.cshtml 2018-08-23 13:11:07 +02:00
nicolas.dorier
29af07b3f9 Make sure we do not return outdated rates 2018-08-23 13:47:56 +09:00
nicolas.dorier
758436a428 bump 2018-08-23 12:16:43 +09:00
nicolas.dorier
e0cadb4f62 Do not send not found if invoices does not belong to logged on user 2018-08-23 12:13:27 +09:00
nicolas.dorier
013dfa1b61 Properly escape attributes, make the preview an actual form rather than an image 2018-08-23 11:55:29 +09:00
nicolas.dorier
e0f1c50534 Making Currency a textbox instead of dropdown 2018-08-23 11:17:54 +09:00
nicolas.dorier
d50dc2e68e ServerIPN is an email 2018-08-23 11:12:25 +09:00
nicolas.dorier
8b5b18c97e Make sure no trailing slash bug 2018-08-23 11:11:39 +09:00
nicolas.dorier
f7383b4cc8 Fixing error on CheckoutExperience if no crypto is set 2018-08-23 11:08:53 +09:00
nicolas.dorier
1bc32285ba Merge branch 'master' of https://github.com/rockstardev/btcpayserver into rockstardev-master 2018-08-23 11:01:48 +09:00
nicolas.dorier
f12114f9aa Poll and cache rates in parallel 2018-08-23 00:24:33 +09:00
rockstardev
2b6faa8d20 Migrating generator to work on store path 2018-08-22 14:05:12 +02:00
rockstardev
45b7df6ac9 Removing traces of PayButton being an app... shhhh... 2018-08-22 14:04:59 +02:00
rockstardev
5a43ce2719 Transfering Pay Button from App directly to Store 2018-08-22 13:57:54 +02:00
rockstardev
fe31dc8606 Setting titles for new pill navigation 2018-08-22 13:56:55 +02:00
rockstardev
f0615482d9 Refactoring pill navigation to use new subnav code with enums 2018-08-22 13:50:29 +02:00
rockstardev
03c47e6f7d Merge remote-tracking branch 'source/master' 2018-08-22 13:01:34 +02:00
rockstardev
4111b8a5a3 Maintaining AppId reference 2018-08-22 12:59:55 +02:00
rockstardev
5b5a2e8c25 Reorganizing Javascript code and references 2018-08-22 11:10:46 +02:00
rockstardev
9ec0c23c52 Folder for pay buttons, donate button 2018-08-22 10:59:24 +02:00
rockstardev
9a5034c13c URL of image for pay button 2018-08-22 10:52:17 +02:00
rockstardev
b1fcf4524a Separate app for PayButton 2018-08-22 10:26:49 +02:00
nicolas.dorier
87d384dba5 Decouple RateProviderFactory with RateFetcher 2018-08-22 16:53:40 +09:00
nicolas.dorier
4f5a8f7953 Use direct provider for Kraken, update packages 2018-08-21 15:59:57 +09:00
nicolas.dorier
8728356698 Use HttpClientFactory for coinaverage 2018-08-21 14:33:13 +09:00
nicolas.dorier
9c30476fc8 Making BTCPayServer a bit faster when creating invoices 2018-08-21 13:54:52 +09:00
rockstardev
09beb57eaf Fixing csproj 2018-08-17 16:27:37 +02:00
rockstardev
76a36d1829 Merge remote-tracking branch 'source/master'
# Conflicts:
#	BTCPayServer/BTCPayServer.csproj
2018-08-17 13:35:56 +02:00
rockstardev
0d4036efa2 Dynamically determining site url 2018-08-17 13:33:47 +02:00
rockstardev
cb4562aad5 Model validation attributes added for email and url 2018-08-17 13:26:33 +02:00
rockstardev
0084d4766b Server side validation of PayButton POST 2018-08-17 13:21:00 +02:00
rockstardev
74ddcfa01e Handling payment button post and providing test form 2018-08-17 12:38:03 +02:00
rockstardev
ed36fba0d7 Defining input names for validation errors 2018-08-17 10:30:49 +02:00
rockstardev
af015d435b Integrating Clipboard.js and implemeting copy code 2018-08-16 22:22:15 +02:00
rockstardev
ec59980e6f Validation and conditional rendering of Generated Code section 2018-08-16 21:55:24 +02:00
rockstardev
f0f4247c5d Field validation 2018-08-15 23:58:39 +02:00
rockstardev
b562094956 Currency dropdown as part of page model 2018-08-14 23:47:41 +02:00
rockstardev
4afd55c441 Rendering button code on load from srvModel 2018-08-14 23:47:28 +02:00
rockstardev
d7404f418d Returning intialized model and inputchange on all attribs 2018-08-14 19:40:57 +02:00
rockstardev
893410911c Button width influenced by generator 2018-08-14 18:59:59 +02:00
rockstardev
556b581b6a Updating display of generated HTML 2018-08-14 14:57:46 +02:00
nicolas.dorier
1685ccaca8 Fixing success message for DNS 2018-08-13 17:04:37 +09:00
nicolas.dorier
522abcfdfd Fix setting up DNS name 2018-08-13 16:48:10 +09:00
nicolas.dorier
ed1827ff28 Fix not showing ssh service if no LND 2018-08-13 15:10:59 +09:00
nicolas.dorier
214b2d1c1c Fix SSH fingerprint checking 2018-08-13 09:43:59 +09:00
nicolas.dorier
322518e9dc Ensure the ssh connection is trusted 2018-08-12 23:23:26 +09:00
nicolas.dorier
ea2dd536b4 bump 2018-08-12 21:40:56 +09:00
nicolas.dorier
6a1eca760a Can configure BTCPay SSH connection at startup 2018-08-12 21:38:45 +09:00
nicolas.dorier
29513d4ded Who network type in the conf file of gRPC, fix #246 2018-08-12 16:19:18 +09:00
rockstardev
57daf27fdd Completion of UI for rest of Pay Button gneerator 2018-08-11 13:34:52 +02:00
rockstardev
e698d90e3c Pay Button page foundation 2018-08-10 20:26:51 +02:00
nicolas.dorier
86ca081030 Fix #244 2018-08-08 17:32:16 +09:00
nicolas.dorier
14841ad7c9 bump 2018-08-08 14:46:46 +09:00
nicolas.dorier
2c6aa12aab Fix #240 2018-08-08 14:45:46 +09:00
nicolas.dorier
ef4d39db3c bump 2018-08-06 12:08:55 +09:00
nicolas.dorier
7a566c477d Allow CORS for creating a new invoice via AJAX through the PoS app (fix #238) 2018-08-06 12:04:36 +09:00
Nicolas Dorier
85c40aef23 Merge pull request #241 from rockstardev/master
Always showing currency name to prevent LND confusion
2018-08-06 11:47:01 +09:00
rockstardev
d00fa42553 Always showing currency name to prevent LND confusion
Discussion: https://forkbitpay.slack.com/archives/C6PSCRFAM/p1533125977000141
2018-08-05 22:45:48 +02:00
nicolas.dorier
e9e94f5e99 Show nice error if attempting to access lnd before being fully synched 2018-08-03 12:14:09 +09:00
nicolas.dorier
5e2d4407ca Update doc for update point of sale 2018-08-02 10:30:47 +09:00
nicolas.dorier
846bd08e20 Server admin can add new user 2018-08-02 00:16:16 +09:00
nicolas.dorier
a1a4eed860 Add % to spread box 2018-08-01 23:38:52 +09:00
nicolas.dorier
1e582625f3 fix migration bug 2018-08-01 18:50:33 +09:00
nicolas.dorier
39b018fdf3 fix test 2018-08-01 18:42:28 +09:00
nicolas.dorier
83304de1c6 Remove the concept of "Rate multiplier" and replace it with the concept of "Spread" 2018-08-01 18:38:46 +09:00
nicolas.dorier
5c8e03dcbf More user friendly Update Store screen 2018-08-01 15:59:29 +09:00
nicolas.dorier
4dddc539f6 bump 2018-07-31 00:27:17 +09:00
nicolas.dorier
9950b781b4 Slight UI adjustment to disable or enable method of payment 2018-07-31 00:26:49 +09:00
nicolas.dorier
7a32f692d1 Add test for Disabling PaymentMethod 2018-07-31 00:18:58 +09:00
Andrew Camilleri
d480be925b Can disable method of payments 2018-07-30 23:54:31 +09:00
nicolas.dorier
3775317047 Fix CanGetRates test, and fix #178 2018-07-30 23:22:26 +09:00
nicolas.dorier
500bdd9bf1 Fix GetRates 2018-07-30 23:07:29 +09:00
nicolas.dorier
57bda24664 Fix other DDOS related to GetRate 2018-07-30 22:51:39 +09:00
nicolas.dorier
6401af00fe Fix potential DDOS on get rate 2018-07-30 22:45:28 +09:00
Nicolas Dorier
3b3a18bbbc Update README.md 2018-07-30 13:43:46 +09:00
Nicolas Dorier
b4e9dfeeaf Merge pull request #234 from DeltaEngine/master
Added Dash support
2018-07-28 23:21:20 +09:00
Benjamin Nitschke
16f5def245 Reverted Dash_btc rule parsing check on request 2018-07-28 16:11:02 +02:00
Benjamin Nitschke
26e7de534b Added Dash to readme 2018-07-27 21:07:43 +02:00
Benjamin Nitschke
a3ae694048 Added Dash support for BTCPayServer 2018-07-27 21:06:19 +02:00
nicolas.dorier
b04d70f141 bump 2018-07-27 18:18:27 +09:00
Nicolas Dorier
101d6131c7 Merge pull request #197 from Kukks/feature/bitpayrates
[WIP] Bitpay rates api
2018-07-27 18:18:05 +09:00
Andrew Camilleri
faabd68f6f Merge remote-tracking branch 'origin/master' into feature/bitpayrates 2018-07-27 11:16:52 +02:00
nicolas.dorier
aa72b814da bump 2018-07-27 18:04:57 +09:00
nicolas.dorier
0dcda0f289 Fix: Inverse rule was not found in BTCPay with X_X 2018-07-27 18:04:41 +09:00
nicolas.dorier
a2b039f983 Report errors of LND 2018-07-27 15:49:57 +09:00
Andrew Camilleri
1a54f2d01a remove redundant cryptocode field in payment method interface 2018-07-27 08:41:36 +02:00
Andrew Camilleri
4276994265 fix bitpayconstraint for rates 2018-07-27 07:55:42 +02:00
Andrew Camilleri
2c6133b4f7 let X_X rates show in rates api as bitpay does 2018-07-27 07:55:18 +02:00
Andrew Camilleri
64181d1a93 use default crypto for /rates route 2018-07-27 07:54:55 +02:00
Andrew Camilleri
25e9a27a78 add in bitpay api constraints to actions 2018-07-27 06:38:54 +02:00
Andrew Camilleri
f3edaf5160 Merge remote-tracking branch 'btcpayserver/master' into feature/bitpayrates 2018-07-27 05:57:25 +02:00
nicolas.dorier
7bfdf2d11d Order transactions in transaction list view 2018-07-27 12:03:56 +09:00
nicolas.dorier
d2808cf662 bump 2018-07-27 01:35:07 +09:00
nicolas.dorier
b68fcec692 Fix rate in the WalletSend 2018-07-27 01:17:43 +09:00
nicolas.dorier
86644d38d7 Show rate error to the model in WalletSend 2018-07-27 00:32:09 +09:00
nicolas.dorier
52f60b0457 Can show the transaction list in wallet menu 2018-07-27 00:08:07 +09:00
nicolas.dorier
638b58ab48 remove debug u2f 2018-07-26 23:26:06 +09:00
nicolas.dorier
1606f43609 Show the fiat price when sending coins 2018-07-26 23:23:28 +09:00
nicolas.dorier
ad1307746c Add a "Wallet" menu 2018-07-26 22:32:50 +09:00
Nicolas Dorier
22307b8a2b Merge pull request #233 from danielalexiuc/master
Fix small typo on server settings page
2018-07-25 10:59:43 +09:00
danielalexiuc
f1c244bf6a Fix small typo 2018-07-25 11:44:26 +10:00
nicolas.dorier
c425e0439d Fix build error 2018-07-25 01:01:05 +09:00
nicolas.dorier
cdf78f0463 Fix mixing commands 2018-07-25 00:51:45 +09:00
nicolas.dorier
7d997f7d60 disown the launched command 2018-07-25 00:35:18 +09:00
nicolas.dorier
0edbbe6ae3 Use nohup to update domain 2018-07-24 23:56:41 +09:00
nicolas.dorier
4f7bfbf451 fix typo 2018-07-24 23:36:59 +09:00
nicolas.dorier
cd416dac60 nohup the update and changedomain 2018-07-24 23:27:52 +09:00
nicolas.dorier
b58173967d Fix typo 2018-07-24 22:55:10 +09:00
nicolas.dorier
4b743bb998 bump 2018-07-24 22:26:48 +09:00
nicolas.dorier
0af1adcfb8 Can update server 2018-07-24 22:10:37 +09:00
nicolas.dorier
c048e4eeaf bump 2018-07-24 19:05:11 +09:00
nicolas.dorier
64194896ba Add curl dependency because of https://github.com/dotnet/corefx/issues/30003 2018-07-24 19:04:48 +09:00
nicolas.dorier
1d4472cc08 Show inner exception if SSL connection fail when changing domain 2018-07-24 18:47:55 +09:00
nicolas.dorier
d8bc7ef4b8 Better description for changing domain 2018-07-24 18:23:16 +09:00
nicolas.dorier
27cea81cb2 Add ability to change domain from server settings 2018-07-24 17:04:57 +09:00
nicolas.dorier
b0d6216ffc Better timestamp for invoice logs, fix bugs which can happen if invoice get deleted 2018-07-24 12:19:43 +09:00
nicolas.dorier
060876d07f Do not round satoshis to 8 decimal 2018-07-23 18:15:40 +09:00
nicolas.dorier
96b7373d88 Update NBitcoin 2018-07-23 18:10:54 +09:00
nicolas.dorier
c2f282f85c Fix rounding bug 2018-07-23 17:59:12 +09:00
nicolas.dorier
7afa726ddc Fix, macaroonfilepath should be read in order to create the qr code 2018-07-23 12:20:11 +09:00
nicolas.dorier
6eb7bbf853 Fix some invoice failing to create because of rounding issues 2018-07-23 12:01:20 +09:00
nicolas.dorier
11a26c940d Do not expose the config secret in URL, and use {net.CryptoCode}.external.lnd.grpc argument 2018-07-23 11:54:33 +09:00
nicolas.dorier
624252e4ad LightningConnectionString can parse gRPC 2018-07-23 11:11:00 +09:00
nicolas.dorier
57bb980526 Update packages 2018-07-23 00:21:40 +09:00
nicolas.dorier
e0c718f4ba Fix wallet alert 2018-07-23 00:21:40 +09:00
Nicolas Dorier
c58e015bfb Merge pull request #230 from viacoin/master
Viacoin: add to README
2018-07-22 21:45:28 +09:00
nicolas.dorier
648829644a Add QR code information 2018-07-22 21:28:21 +09:00
Romano
1b0f8c7aca Viacoin: add to README 2018-07-22 14:18:31 +02:00
nicolas.dorier
4f8e0b0393 Can get lnd config without being logged 2018-07-22 18:43:11 +09:00
nicolas.dorier
466f65d6cd bump 2018-07-22 18:39:22 +09:00
nicolas.dorier
022b4f115d Expose LND gRPC settings 2018-07-22 18:38:14 +09:00
Nicolas Dorier
71f6aaabbd Merge pull request #229 from rockstardev/master
Changing Lightning suffix per suggestion
2018-07-21 22:21:49 +09:00
rockstardev
79b06bce42 Changing Lightning suffix per suggestion 2018-07-20 23:33:54 -05:00
nicolas.dorier
480afebcd9 bump 2018-07-20 15:25:45 +09:00
nicolas.dorier
96721e95a2 Clean unreachable store if user is deleted 2018-07-20 15:24:19 +09:00
nicolas.dorier
883cd41232 Fix bug where store was not properly deleted 2018-07-19 22:46:55 +09:00
nicolas.dorier
3f48a478af Add delete button in update store settings 2018-07-19 22:23:14 +09:00
nicolas.dorier
8d3b45bdec Delete store if no owner 2018-07-19 21:38:55 +09:00
nicolas.dorier
bbd19a96ec Make sure we don't delete store on Sqlite 2018-07-19 21:32:33 +09:00
nicolas.dorier
ce17e3212a Can delete stores 2018-07-19 19:31:17 +09:00
nicolas.dorier
c3ea63c6ce bump 2018-07-19 14:49:47 +09:00
nicolas.dorier
1ee4bd9c92 Fix tests, and make sure Listen does not block for LND 2018-07-19 14:49:30 +09:00
nicolas.dorier
e6bb6619e5 bump 2018-07-19 13:55:12 +09:00
Nicolas Dorier
cc29d863d7 Merge pull request #228 from rockstardev/dev-currency-selection
Showing currency name next to icon
2018-07-19 13:54:19 +09:00
rockstardev
8cb2c93abd Adding UTF8 lightning icon to Lightning payments methods 2018-07-18 23:53:00 -05:00
rockstardev
2187e05a10 Renaming BTG image to conform to new naming scheme for onchain/offchain 2018-07-17 23:32:44 -05:00
rockstardev
4c07483383 Merge remote-tracking branch 'source/master' into dev-currency-selection 2018-07-17 23:29:52 -05:00
rockstardev
65916755b6 Bitcoin always first selection in currency list 2018-07-17 23:29:40 -05:00
rockstardev
3cefbc89e4 Conditional display not necessary since whole block is hidden 2018-07-17 23:10:54 -05:00
rockstardev
c40b47b1dd Hover indicator and handling case with only one currency 2018-07-17 22:54:09 -05:00
rockstardev
a2d17bfa7e Closing currency selection dialog once invoice expired or paid 2018-07-17 22:30:02 -05:00
Nicolas Dorier
cdf0c6d27d Merge pull request #227 from Vutov/master
Added BTG lightning svg
2018-07-17 22:57:18 +09:00
Vutov
8154986102 Added BTG lightning svg 2018-07-17 13:43:37 +03:00
rockstardev
203494e809 Tweaking CSS styles and display of payment method selection 2018-07-17 00:14:56 -05:00
rockstardev
d49bbc95af Tweaking display with display name and crypto code 2018-07-16 23:43:52 -05:00
rockstardev
c44132fd35 Using same icon for onchain and offchain per user feedback 2018-07-16 23:29:55 -05:00
rockstardev
c75512303d Getting display names directly from NetworkProvider 2018-07-16 23:25:28 -05:00
nicolas.dorier
97d50df13e bump 2018-07-14 12:46:29 +09:00
nicolas.dorier
0e1ef78af1 Fix auth for listening invoices 2018-07-14 12:45:45 +09:00
rockstardev
464ab30fea Ordering currencies by name 2018-07-13 22:35:34 -05:00
Nicolas Dorier
3ee1c05646 Merge pull request #225 from rockstardev/master
Fitting longer wallet addresses, displaying ellipsis for overflow
2018-07-14 12:24:38 +09:00
rockstardev
c54c39926b Fitting longer wallet addresses, displaying ellipsis for overflow
Ref: https://github.com/btcpayserver/btcpayserver/issues/223
2018-07-13 16:45:32 -05:00
rockstardev
33d18a3278 Displaying payment method name during checkout
Ref: https://github.com/btcpayserver/btcpayserver/issues/152
2018-07-13 15:58:59 -05:00
Nicolas Dorier
97e564901e Merge pull request #222 from martinbehrens/tweak-help-options
tweaking help option wording
2018-07-14 03:14:18 +09:00
nicolas.dorier
832069dd44 bump 2018-07-14 03:08:45 +09:00
nicolas.dorier
1ac17e96c3 Throw lnd exception if any issue with lnd 2018-07-14 02:56:36 +09:00
nicolas.dorier
d907031ec7 Cancel the infinite delay 2018-07-14 02:41:48 +09:00
Martin Behrens
4b5af9cb5c tweaking help option wording 2018-07-13 19:00:03 +02:00
nicolas.dorier
0057146fee bump 2018-07-14 01:54:10 +09:00
nicolas.dorier
0c8925d2a2 Correctly dispose the session when listening lightning invoices 2018-07-14 01:45:14 +09:00
Nicolas Dorier
b9e5b0d56e Merge pull request #206 from viacoin/master
Viacoin: add support
2018-07-13 23:04:03 +09:00
Romano
eb6dbd1247 Merge branch 'master' into master 2018-07-13 15:07:15 +02:00
nicolas.dorier
fe8428b8b0 make sure the LndInvoiceClientSession get disposed, even if it fails at initialization 2018-07-13 19:56:19 +09:00
Romano
f2aa15310a Viacoin: add support 2018-07-13 12:53:04 +02:00
nicolas.dorier
1814cb2d6e bump 2018-07-13 19:48:01 +09:00
nicolas.dorier
94a6f20a05 Refactor the LndInvoiceClient which might solve memory leak 2018-07-13 19:45:50 +09:00
nicolas.dorier
22e700a53e Fix NullReferenceException when setting lightning connectionString without externalurl 2018-07-13 15:02:31 +09:00
Nicolas Dorier
cd78e559cf Merge pull request #221 from romanornr/master
[Translation Dutch]: improve translation
2018-07-12 23:55:19 +09:00
Romano
f0257fb8f7 [Translation Dutch]: improve translation 2018-07-12 12:57:15 +02:00
nicolas.dorier
34cdbf73f0 bump 2018-07-12 18:20:01 +09:00
nicolas.dorier
b291a6d25a removing csp 2018-07-12 18:19:43 +09:00
nicolas.dorier
fa7e974e73 bump 2018-07-12 17:38:43 +09:00
nicolas.dorier
976d9d0cda Add CSP (Disable it if custom theming) 2018-07-12 17:38:21 +09:00
nicolas.dorier
6ea2d9175d hamburger menu should not be black 2018-07-12 16:34:09 +09:00
nicolas.dorier
10ceddc709 ReferrerPolicy 2018-07-12 02:38:08 +09:00
nicolas.dorier
5dd57c8064 X-XSS-Protection 2018-07-12 02:23:54 +09:00
nicolas.dorier
a256dd3277 x-content-type-options=nosniff 2018-07-12 01:43:16 +09:00
nicolas.dorier
5ee9a92f1e Do not use external website for highlightjs 2018-07-12 01:20:44 +09:00
nicolas.dorier
65c7c85c14 Do not put youtube on the front page (doing suspicious ads requests from the website) 2018-07-12 00:55:06 +09:00
nicolas.dorier
27b686095c bump 2018-07-11 22:40:25 +09:00
nicolas.dorier
cd2fef0dab Add a error if the browser access BTCPay with the wrong url 2018-07-11 22:40:10 +09:00
nicolas.dorier
743288fa47 add instruction for the lightning connection string 2018-07-11 19:23:23 +09:00
nicolas.dorier
270ebead49 fix error message 2018-07-11 17:47:29 +09:00
nicolas.dorier
145e3bec83 bump 2018-07-11 16:46:31 +09:00
nicolas.dorier
563e931468 simplify the docker-compose 2018-07-11 10:42:20 +09:00
nicolas.dorier
3113097c4f Update to https, use new dockerfile 2018-07-10 19:33:54 +09:00
nicolas.dorier
cdbbad1694 Fix misleading error when using http on internalNode 2018-07-10 12:58:17 +09:00
nicolas.dorier
c9c2730409 check macaroonfilepath is rooted 2018-07-10 12:51:23 +09:00
nicolas.dorier
310a9a6d59 Remove ctor in LndSwaggerClient 2018-07-10 12:49:25 +09:00
nicolas.dorier
1a1078782e Suppoort macaroonfilepath in connection string 2018-07-10 12:46:04 +09:00
nicolas.dorier
73cb3dc4ee Fix listen loop for LND 2018-07-09 01:08:09 +09:00
nicolas.dorier
9eb36a8b40 Clean the LND listener, and make sure it correctly ends. 2018-07-08 22:20:59 +09:00
nicolas.dorier
6307aa8665 Use SHA256 cert thumprint in connection string, allowInsecure=true 2018-07-08 20:58:37 +09:00
nicolas.dorier
b9e8408db5 Simplify LND implementation 2018-07-08 18:55:48 +09:00
nicolas.dorier
0879895678 Fix tests and rename type=lnd to type=lnd-rest 2018-07-08 15:34:19 +09:00
Nicolas Dorier
a4ecf070b0 Merge pull request #217 from rockstardev/master
Handling unlikely state transition from paid to invalid
2018-07-08 12:24:33 +09:00
rockstardev
162d76206e Handling unlikely state transition from paid to invalid
Ref: https://github.com/btcpayserver/btcpayserver/issues/216
2018-07-07 10:38:07 -05:00
nicolas.dorier
5af14ef2ec When creating PoS app, redirect to settings. When updating an app, redirect to List of apps. 2018-07-05 21:11:18 +09:00
nicolas.dorier
7210eebeca Create Store redirect to store settings 2018-07-05 21:05:13 +09:00
rockstardev
25dbf6445f LND Support 2018-07-01 21:45:21 +09:00
nicolas.dorier
0828c60537 Deactivate support for UFO (default rate rules are failing CanGetRateCryptoCurrenciesByDefault ) 2018-07-01 16:11:29 +09:00
nicolas.dorier
34deb17f3d Fix tests 2018-07-01 16:10:17 +09:00
nicolas.dorier
06b02b8691 Fix missing logs 2018-07-01 15:52:11 +09:00
nicolas.dorier
b7abc08c27 Create a new format for LightningConnectionString 2018-07-01 15:45:08 +09:00
nicolas.dorier
399ae2cd9e Fix: If DOGE fee becomes higher that 1 DOGE, the transaction would fail to broadcast 2018-07-01 13:46:28 +09:00
nicolas.dorier
63fe0f6612 Make sure that DOGECOIN pays min amount of fee 2018-06-30 22:05:41 +09:00
nicolas.dorier
42d60ef84b Fix: Could not send money from wallet of a coin without segwit 2018-06-30 21:26:10 +09:00
rockstardev
1784c30787 Merge remote-tracking branch 'source/master' into dev-lndrpc
# Conflicts:
#	BTCPayServer.Tests/UnitTest1.cs
2018-06-26 01:08:01 -05:00
nicolas.dorier
ac8feceaf2 bump 2018-06-26 14:19:54 +09:00
nicolas.dorier
3d8c5195ae Update CLightning and charge 2018-06-26 14:18:47 +09:00
rockstardev
9a5259510b Merge remote-tracking branch 'source/master' into dev-lndrpc 2018-06-25 22:31:42 -05:00
nicolas.dorier
caecb26420 fix typos and sentences referencing Bitcoin 2018-06-25 11:58:07 +09:00
nicolas.dorier
ecc8b3d9ed Fix spelling 2018-06-24 21:51:32 +09:00
nicolas.dorier
d313395751 Show rule evaluation in invoice logs 2018-06-24 21:01:29 +09:00
rockstardev
9e698a8004 Commenting few tricky lines of code 2018-06-23 23:37:58 -05:00
rockstardev
3c4c99ee42 Saving of Macaroon and Tls for LND connection 2018-06-23 23:16:39 -05:00
rockstardev
d34ffc0d9a Refactoring conditional method, separating into two properties 2018-06-23 22:50:50 -05:00
rockstardev
039303bfaa Fixing typos during code review 2018-06-23 22:03:51 -05:00
nicolas.dorier
273cf1adc9 Fix checkout if only one currency is present 2018-06-24 00:53:56 +09:00
nicolas.dorier
5feb520843 Add support for groestlcoin 2018-06-24 00:45:57 +09:00
nicolas.dorier
17e914778d Make sure that lightning payments events are using the state of the invoice when they got issued (#205) 2018-06-21 14:15:36 +09:00
nicolas.dorier
db24ab792f update clightning 2018-06-18 23:07:55 +09:00
rockstardev
42475ec7b7 Switching to lnd image from Docker Hub 2018-06-15 18:28:01 -05:00
rockstardev
4972f0ab7b Labeling issue with rapid testing of lightning payments 2018-06-15 18:27:37 -05:00
rockstardev
07e13747cf Merge remote-tracking branch 'source/master' into dev-lndrpc 2018-06-15 17:21:21 -05:00
rockstardev
2465eb7e36 Revering debug param 2018-06-15 17:20:56 -05:00
rockstardev
4ddcd7a4c8 Will depend on lnd bitcoin.defaultremotedelay=720 param
Ref: https://github.com/lightningnetwork/lnd/pull/788
2018-06-15 17:14:20 -05:00
rockstardev
89d9658e82 Bugfixing amount in invoice data, we need to set Satoshis 2018-06-15 17:12:59 -05:00
rockstardev
66ecb32538 Need param so that funding channels can be opened between LND and CL 2018-06-15 16:29:09 -05:00
rockstardev
a22576da0a Streamlining flow of interaction between test lnd customer / merchant 2018-06-15 15:56:02 -05:00
rockstardev
69bd888bab Refactoring ServerTester so that ClightningRPCClient can use LND 2018-06-15 15:02:40 -05:00
rockstardev
9b540273fc Parsing of node info and returning it for GetInfo 2018-06-15 13:57:39 -05:00
rockstardev
cfd083bed5 Providing port for peer-to-peer connection for local tests 2018-06-15 11:53:53 -05:00
rockstardev
55c9314cdd Reference to lnd docker image updated to point to latest
Also helps with building image locally for debugging
2018-06-15 11:53:34 -05:00
Andrew Camilleri
8cafa8a483 Merge remote-tracking branch 'origin/master' into feature/bitpayrates 2018-06-12 15:34:09 +02:00
Nicolas Dorier
448cc06a11 Merge pull request #203 from ChekaZ/master
Support UFO
2018-06-12 10:43:53 +09:00
Oliver Ziegler
0780df4fd7 Support UFO 2018-06-09 17:25:45 +02:00
nicolas.dorier
04174b7431 Fix authentication 2018-06-06 16:02:37 +09:00
nicolas.dorier
b7c58c2083 Fix bug of authentication caused by previous refactoring on authentication 2018-06-06 14:46:41 +09:00
nicolas.dorier
cd75fd6842 bump 2018-06-05 12:53:55 +09:00
nicolas.dorier
370951a3bd make sure postgres DB is created with C locale 2018-06-05 12:51:37 +09:00
nicolas.dorier
2c08b0137b Update NBitpayClient 2018-06-05 12:29:45 +09:00
Andrew Camilleri
724af44e41 Merge branch 'master' into feature/bitpayrates 2018-06-04 15:09:14 +02:00
nicolas.dorier
1eee31e9f1 Fix rate bug: Sometimes coinaverage is sending null bid and ask 2018-06-04 12:01:30 +09:00
nicolas.dorier
01cf579530 Use proper custom authentication handler for bitpay 2018-06-04 12:00:03 +09:00
Nicolas Dorier
f72705935a Merge pull request #201 from ChekaZ/master
Support Feathercoin
2018-06-04 01:45:07 +09:00
Oliver Ziegler
a29ab6b6b0 Support Feathercoin 2018-06-03 14:30:43 +02:00
nicolas.dorier
4784518235 update link 2018-06-01 13:21:56 +09:00
rockstardev
f8c88bd44f Providing ability to increase lightning timeout for tests/debugging 2018-05-31 16:31:39 -05:00
rockstardev
0d1d0d57f4 Logging Swagger errors for logging and easier debugging 2018-05-31 16:31:19 -05:00
rockstardev
2bd1238668 Rounding TotalSeconds expiry so it doesn't break invoice creation 2018-05-31 16:31:00 -05:00
rockstardev
d1fb51b412 Reactivating LND end to end test 2018-05-31 16:07:59 -05:00
rockstardev
279de1b869 Passing CancelToken and properly parsing invoice response 2018-05-31 15:53:14 -05:00
rockstardev
ce9189caf8 Listen / WaitInvoice for Lnd 2018-05-31 15:08:22 -05:00
rockstardev
431147784e Merge branch 'master' into dev-lndrpc 2018-05-31 12:11:31 -05:00
nicolas.dorier
0697b8bf86 update images 2018-05-31 23:54:03 +09:00
nicolas.dorier
5050b59014 bump 2018-05-31 18:41:33 +09:00
nicolas.dorier
665cf4c3b1 Updating BTCPayServer to .NET Core 2.1 2018-05-31 18:41:03 +09:00
Andrew Camilleri
bac9ef4f93 add some UT and fix error message + bump Nbitpayclient 2018-05-29 17:12:07 +02:00
nicolas.dorier
98e81ab0fd Merge branch 'rockstardev-master' 2018-05-29 12:27:55 +09:00
nicolas.dorier
6ce70237fc Merge branch 'master' of github.com:btcpayserver/btcpayserver 2018-05-29 12:27:45 +09:00
rockstardev
4f23fc99a1 Renaming method to better communicate function 2018-05-29 12:27:04 +09:00
rockstardev
d7fccae452 Generalizing TimeSpan to Time Ago, reverting invoice list to ago 2018-05-29 12:27:04 +09:00
rockstardev
d7a5021ed2 Updating Invoice details to show local date time 2018-05-29 12:27:03 +09:00
rockstardev
63ec832667 Support for localizing datetimes base on browser's timezone 2018-05-29 12:27:03 +09:00
rockstardev
8d95b9fa04 Renaming method to better communicate function 2018-05-28 09:36:49 -05:00
Andrew Camilleri
ada6f3b844 Finish rate api 2018-05-28 15:30:43 +02:00
Andrew Camilleri
c8a26ce952 api fixes 2018-05-28 14:55:49 +02:00
Andrew Camilleri
6cf80b7533 small rename 2018-05-28 14:29:23 +02:00
Andrew Camilleri
79df523bb2 reorder methods 2018-05-28 10:20:18 +02:00
Andrew Camilleri
e921f9757a Merge remote-tracking branch 'btcpayserver/master' into feature/bitpayrates 2018-05-28 09:05:11 +02:00
Nicolas Dorier
b497d1871e Merge pull request #195 from andres-pinilla/patch-3
Updated es.js
2018-05-28 10:50:30 +09:00
Andrés Pinilla
c7cd029482 Update es.js
Various strings updated.
2018-05-27 20:36:32 -05:00
rockstardev
68f2cba60d Generalizing TimeSpan to Time Ago, reverting invoice list to ago 2018-05-26 09:42:55 -05:00
rockstardev
5c4200b036 Updating Invoice details to show local date time 2018-05-26 09:35:42 -05:00
rockstardev
bc06114023 Support for localizing datetimes base on browser's timezone 2018-05-26 09:32:20 -05:00
Andrew Camilleri
bed9737d64 Merge remote-tracking branch 'btcpayserver/master' into feature/bitpayrates 2018-05-26 14:42:17 +02:00
nicolas.dorier
556082c4c9 fix json serialization 2018-05-26 18:29:57 +09:00
nicolas.dorier
6a46d02fc6 Add dummy policies field 2018-05-26 18:26:02 +09:00
Nicolas Dorier
d75e5b8b12 Merge pull request #129 from cronos-polis/master
Polis Integration
2018-05-26 14:50:32 +09:00
rockstardev
d293bc3947 Throwing NotImplementedException for Listen / WaitInvoice 2018-05-25 12:19:15 -05:00
rockstardev
e634700913 Changing the way we signal that LightningConnectingString is Lnd 2018-05-25 12:18:47 -05:00
rockstardev
ce81136c88 Adding LndMockTester for passing end to end tests 2018-05-25 10:44:59 -05:00
nicolas.dorier
a97ef2eee8 MinerFee matching Bitpay API 2018-05-25 22:49:49 +09:00
nicolas.dorier
be33ebc168 fix typo 2018-05-25 17:35:01 +09:00
nicolas.dorier
789193a0c8 fix typo 2018-05-25 12:55:29 +09:00
Nicolas Dorier
01792cf299 Merge pull request #190 from yashbhutwala/fix_typo
Fix spelling of lightning
2018-05-25 11:41:46 +09:00
Yash Bhutwala
ff9265f721 Fix spelling of lightning 2018-05-24 16:26:01 -04:00
nicolas.dorier
8d61314852 Use FullNotification and improve instructions 2018-05-25 00:02:24 +09:00
nicolas.dorier
1ce6ae8727 fix typo 2018-05-24 23:58:24 +09:00
nicolas.dorier
dec5dbc0d2 Ability to pass fields to POS app #181 2018-05-24 23:54:48 +09:00
nicolas.dorier
4e32dad1ea Can solve inverses at exchange level 2018-05-23 19:29:01 +09:00
nicolas.dorier
127ca7582f Make sure inverse rules have priority 2018-05-23 19:13:12 +09:00
nicolas.dorier
b98993f84b fix typo 2018-05-23 11:16:19 +09:00
nicolas.dorier
e35f074b66 Better label for Rate Multiplier 2018-05-23 02:43:22 +09:00
nicolas.dorier
ba3d13d56c Make sure the rate of the merchant is using the ask of a divided exchange 2018-05-23 02:18:38 +09:00
nicolas.dorier
ead67887ab Enable SSL was ignored 2018-05-23 00:59:50 +09:00
Nicolas Dorier
437f27f107 Merge pull request #188 from andres-pinilla/master
Better spanish translation (tu)
2018-05-22 14:11:25 +09:00
Andrés Pinilla
8d41a8e98d Better spanish translation (tú) 2018-05-21 23:15:04 -05:00
nicolas.dorier
7e6ab015a6 Fix bug on Error page 2018-05-22 01:05:45 +09:00
Andrew Camilleri
2583eb15ec Merge remote-tracking branch 'btcpayserver/master' into feature/bitpayrates 2018-05-21 16:49:43 +02:00
Andrew Camilleri
1879ea55e8 init bitpay rates api 2018-05-21 16:49:37 +02:00
nicolas.dorier
f8bc3a5081 bump 2018-05-21 20:47:07 +09:00
nicolas.dorier
dd1a93ee0e Revert "Remove unused Error.cshtml"
This reverts commit 7b2ef9aec2.
2018-05-21 20:44:03 +09:00
rockstardev
093ae39e61 Custom HTTPS certificates accepted for lnd connection 2018-05-20 10:27:49 -05:00
rockstardev
cac58808f0 Renaming file to LndInvoiceClient and commenting Dispose 2018-05-20 10:27:35 -05:00
rockstardev
a063f10778 Checking for nulls during channel opening in tests 2018-05-20 10:27:11 -05:00
nicolas.dorier
3cf3aa63f6 CurrencyNameTable can use fallback 2018-05-20 23:37:18 +09:00
nicolas.dorier
011dd5574f Add a fallback currency format info 2018-05-20 23:22:20 +09:00
nicolas.dorier
365911286b bump 2018-05-20 17:04:03 +09:00
rockstardev
fe5347aa86 Maintaining BitPay compatibility
Ref: https://github.com/btcpayserver/btcpayserver/issues/180
2018-05-20 17:00:54 +09:00
cronos
f22c8a72cd Rebase 2018-05-16 11:21:57 -05:00
nicolas.dorier
eeb522fe7d Remove special case for showing crypto currency 2018-05-16 21:19:48 +09:00
Nicolas Dorier
f9e40b209a Merge pull request #179 from rockstardev/fiat
Showing exchange rate for cryptos
2018-05-16 21:14:23 +09:00
rockstardev
20635ea3d6 Showing exchange rate for cryptos
Ref: https://github.com/btcpayserver/btcpayserver/pull/170#issuecomment-389462155
2018-05-16 05:46:11 -05:00
rockstardev
6cefd9c3e7 Merge remote-tracking branch 'source/master' into dev-lndrpc 2018-05-16 04:50:46 -05:00
nicolas.dorier
7062705d6f bump 2018-05-16 10:40:48 +09:00
nicolas.dorier
58b994e043 fix tests 2018-05-16 10:40:25 +09:00
nicolas.dorier
640ff36fa2 fix build 2018-05-16 10:26:45 +09:00
nicolas.dorier
39ec5242d7 Bump NBitpayClient 2018-05-16 10:22:43 +09:00
nicolas.dorier
1c50210e61 fix build 2018-05-16 10:22:42 +09:00
Nicolas Dorier
a1ffda0151 Merge pull request #168 from Kukks/feature/extended-invoice
[WIP] Feature/extended invoice
2018-05-16 10:21:52 +09:00
Nicolas Dorier
fd15348551 Merge pull request #174 from monaco-ex/pr-support-monacoin
Support Monacoin.
2018-05-16 10:21:07 +09:00
Nicolas Dorier
989c99c550 Merge pull request #170 from rockstardev/fiat
Display fiat value of invoice during checkout
2018-05-16 10:18:24 +09:00
rockstardev
bcf97b1474 Hiding display of payment-tabs now that we have flex line-items 2018-05-15 15:17:59 -05:00
rockstardev
67abbed66a Removing display of exchange if invoice source amount is in crypto 2018-05-15 15:17:58 -05:00
rockstardev
eb01e91e13 Only show Order Amount in Fiat if Invoice is created with fiat value 2018-05-15 15:17:58 -05:00
rockstardev
12ceb9e0bc Simplifying CSS styles for line-items box
Now that we'll have different box sizes it's not possible to rely on exact height specification
2018-05-15 15:17:57 -05:00
nicolas.dorier
ecf03f90aa Fix UriAttribute bug, and currency formatting crash 2018-05-16 02:24:59 +09:00
nicolas.dorier
1747414a57 update clightning of docker compose 2018-05-16 01:37:20 +09:00
nicolas.dorier
3a02f16c6e Fix bug where exchange name in rate rules were uncorrectly considered a currency 2018-05-16 01:27:15 +09:00
Andrew Camilleri
a6ee337ed0 more coverage 2018-05-15 16:25:43 +02:00
Andrew Camilleri
559f535257 add some coverage for bitpay fields 2018-05-15 16:18:37 +02:00
Andrew Camilleri
2952ccc7fd Merge remote-tracking branch 'origin/master' into feature/extended-invoice 2018-05-15 15:44:51 +02:00
rockstardev
a0243fa569 Lnd support for passing macaroon and tls as hex 2018-05-14 22:18:08 -05:00
rockstardev
789b9168ad Adding Lnd to connection types and supporting parsing 2018-05-14 15:54:44 -05:00
rockstardev
7c29cb62ef Enabling dual support - clients with or without macaroons/tls 2018-05-14 15:05:03 -05:00
cronos
f81ca1888d Merge remote-tracking branch 'upstream/master' 2018-05-14 11:23:54 -05:00
cronos-polis
ed02e0f4d6 Merge pull request #1 from zeusthealmighty/patch-1
KeyPath Updated
2018-05-14 11:23:08 -05:00
zeusthealmighty
0a83f21af5 KeyPath Updated 2018-05-14 10:04:12 -05:00
nicolas.dorier
23a3c145ed fix run.sh 2018-05-14 22:08:35 +09:00
nicolas.dorier
4184c6c208 Convert in UriAttribute use invariant culture 2018-05-14 21:28:33 +09:00
Nicolas Dorier
29c28b1841 Merge pull request #175 from Kukks/bugfix/real-url-validation
use alternative uri validation
2018-05-14 17:31:56 +09:00
Andrew Camilleri
de48fb4077 add direct file test cases 2018-05-14 09:34:19 +02:00
Andrew Camilleri
bcd79c5882 use alternative uri validation 2018-05-14 09:32:04 +02:00
cryptcoin-junkey
b8c513aa2b Support Monacoin. 2018-05-14 05:44:17 +00:00
Andrew Camilleri
ad67f4ef18 update to use longs 2018-05-13 09:47:42 +02:00
Andrew Camilleri
2c0bcfc0ec Merge remote-tracking branch 'btcpayserver/master' into feature/extended-invoice 2018-05-13 08:34:36 +02:00
nicolas.dorier
0ba1072d54 bump 2018-05-13 15:09:38 +09:00
nicolas.dorier
f7fe855274 Do not roundup rates 2018-05-13 15:09:17 +09:00
nicolas.dorier
449738414b Add cryptopia 2018-05-12 19:37:32 +09:00
nicolas.dorier
a34842585d bump 2018-05-12 19:19:40 +09:00
nicolas.dorier
eb882c2c46 Update package 2018-05-12 19:15:54 +09:00
nicolas.dorier
ca65c6bd8f fix #171 2018-05-12 18:38:43 +09:00
rockstardev
f97173e9e7 Testing invoice payment with Lnd 2018-05-12 00:43:13 -05:00
rockstardev
8fc1b0c856 Ensuring lightning channel is open for testing 2018-05-12 00:23:10 -05:00
rockstardev
cabd7c4e64 Lnd requires zmqpubrawblock setting, and port 9735 for peer connections 2018-05-12 00:19:26 -05:00
rockstardev
f8540dc78c Providing merchant_lnd and customer_lnd for testing 2018-05-11 16:59:24 -05:00
rockstardev
b03d271f85 Refactoring LndClient, enabling passing of Swagger instance 2018-05-11 14:07:46 -05:00
rockstardev
3770adb7d3 Displaying fiat value of invoice's order amount in details 2018-05-11 12:15:26 -05:00
cronos
7fdf19ca22 Remove cryptopia from CoinAverage 2018-05-11 11:07:42 -05:00
cronos
4e776adb03 Merge remote-tracking branch 'upstream/master' 2018-05-11 11:06:51 -05:00
nicolas.dorier
26db946392 BTCPayRateProviderFactory is responsible for getting the supported exchange list 2018-05-12 00:54:17 +09:00
cronos
d102c142b9 Typo 2018-05-11 10:46:49 -05:00
cronos
f7989541b9 Change Polis Rates - Add Cryptopia 2018-05-11 10:26:08 -05:00
nicolas.dorier
b7f0ce18b3 Make sure Lightning charge can't hang out the payment 2018-05-12 00:23:25 +09:00
cronos
e1dfbfe3b0 Rebase 2018-05-11 10:20:23 -05:00
nicolas.dorier
786d129452 Make sure to not freeze if ligthning does not respond 2018-05-12 00:14:39 +09:00
Andrew Camilleri
a37a8e8fcd Merge remote-tracking branch 'btcpayserver/master' into feature/extended-invoice 2018-05-11 16:46:38 +02:00
nicolas.dorier
355989c278 bump 2018-05-11 23:34:42 +09:00
nicolas.dorier
af3dee95de round up rates sent back by the RateProviderFactory 2018-05-11 23:31:50 +09:00
nicolas.dorier
70a6bd6a01 bump 2018-05-11 22:42:29 +09:00
nicolas.dorier
4afb0acc84 does not generate antiforgery 2018-05-11 22:41:11 +09:00
nicolas.dorier
9afc143801 Use decimals and fix invoices 2018-05-11 22:38:31 +09:00
nicolas.dorier
8e4943df65 low-medium speed policy 2018-05-11 22:12:45 +09:00
nicolas.dorier
9b3bd8343d bump nuget packages 2018-05-11 21:33:46 +09:00
Andrew Camilleri
ee4f83ddba small fixes 2018-05-11 12:21:25 +02:00
Andrew Camilleri
c326998381 bump nbitpayclient dependency to .20 2018-05-11 11:42:13 +02:00
Andrew Camilleri
239a011e60 add new properties and change types to decimal 2018-05-11 11:31:21 +02:00
Andrew Camilleri
5ffe118159 Merge remote-tracking branch 'btcpayserver/master' into feature/extended-invoice 2018-05-11 11:24:32 +02:00
nicolas.dorier
6f07849e1d Use policies security for controlling access to bitpay api 2018-05-11 17:16:18 +09:00
Andrew Camilleri
dbe5c62d11 Merge remote-tracking branch 'btcpayserver/master' into feature/extended-invoice 2018-05-11 10:08:29 +02:00
nicolas.dorier
199db01eaf No need of authentication for GetInvoice API (#166) 2018-05-11 17:05:08 +09:00
nicolas.dorier
a3c46c8f67 Use hangfire in-memory provider until the postgres binding to hangfire get updated. 2018-05-11 15:06:11 +09:00
nicolas.dorier
66a68d6180 Rename LockSubscription, remove the link if not available 2018-05-10 16:02:49 +09:00
rockstardev
be1128a886 Support for displaying fiat value of invoice 2018-05-09 22:39:13 -05:00
nicolas.dorier
d41a5a65a2 Update posgres and clightning in tests 2018-05-10 11:56:46 +09:00
nicolas.dorier
d5cab938ee bump 2018-05-09 14:10:06 +09:00
nicolas.dorier
9dddfb65f0 Add globalization to the alpine package 2018-05-09 14:09:41 +09:00
nicolas.dorier
6bd5976d90 Update SQLite package 2018-05-08 19:17:06 +09:00
nicolas.dorier
b3385bf901 update tests image 2018-05-08 18:09:12 +09:00
nicolas.dorier
bba268b5e2 Upgrade to .NET Core 2.1 2018-05-08 17:57:53 +09:00
nicolas.dorier
70c98b6901 use the theme manager for ViewPointOfSale 2018-05-08 00:19:28 +09:00
nicolas.dorier
2d3b7fea2e update packages 2018-05-07 23:02:55 +09:00
Nicolas Dorier
3bdf1c9a00 Merge pull request #156 from Vutov/master
Added BTG Support
2018-05-07 14:16:31 +09:00
nicolas.dorier
a52665ea80 bump 2018-05-07 12:29:56 +09:00
nicolas.dorier
3d943d49e6 Make sure if the default crypto is no available, we don't get error 404 2018-05-07 12:25:50 +09:00
nicolas.dorier
6ca8ba9231 Allow signing on non segwit transactions via the ledger 2018-05-07 12:17:46 +09:00
nicolas.dorier
75d685ae6c fix grammar 2018-05-07 00:24:23 +09:00
nicolas.dorier
7b2ef9aec2 Remove unused Error.cshtml 2018-05-06 22:49:00 +09:00
nicolas.dorier
efe666b284 Fix call to Rates via bitpay API 2018-05-06 22:41:38 +09:00
vutov
ca8af5047a Changed DefaultRateRules 2018-05-06 14:59:49 +03:00
nicolas.dorier
cdc0b0d628 Fix crash when creating a token 2018-05-06 19:03:30 +09:00
nicolas.dorier
87e28b70fd cap MinimumTotalDue to 1 satoshi 2018-05-06 13:55:03 +09:00
nicolas.dorier
b96f464e39 Add "unusual:" filter to invoice list 2018-05-06 13:16:39 +09:00
vutov
bca68986f3 Added BTG Support 2018-05-05 23:06:09 +03:00
nicolas.dorier
272ac49872 try to better respect event ordering 2018-05-06 02:06:07 +09:00
nicolas.dorier
5f05ca5ac6 bump 2018-05-06 00:43:05 +09:00
nicolas.dorier
7872b3ec55 Add a new invoice event: expiredPaidPartial and fix some corner case for tolerance 2018-05-06 00:40:44 +09:00
Nicolas Dorier
27a0aebd12 Merge pull request #155 from Kukks/feature/order-tolerance
Payment Tolerance
2018-05-06 00:06:39 +09:00
nicolas.dorier
366490516e Can filter with "exceptionstatus:", show the exception status on invoice list page 2018-05-05 23:25:09 +09:00
Andrew Camilleri
9a92646d4d add test and refactor for PR 2018-05-05 16:07:22 +02:00
Andrew Camilleri
b002c49dac Merge remote-tracking branch 'btcpayserver/master' into feature/order-tolerance 2018-05-05 16:04:59 +02:00
nicolas.dorier
3f4ec9ba80 simplify currency parsing if _ is forgotten and there is 6 letters 2018-05-05 22:59:53 +09:00
nicolas.dorier
0290a5eacd update clightning 2018-05-05 22:46:07 +09:00
nicolas.dorier
744734a6a1 Returns fallback feerate for coins not supporting fee rate query in NBXplorer 2018-05-05 22:19:36 +09:00
nicolas.dorier
29f662f87c bump NBXplorer 2018-05-05 22:05:22 +09:00
Andrew Camilleri
af21f9f10c Merge remote-tracking branch 'btcpayserver/master' into feature/order-tolerance 2018-05-05 08:49:16 +02:00
nicolas.dorier
efdc99b9d1 Do not spam the logs about failed mail 2018-05-05 01:42:42 +09:00
nicolas.dorier
4458e63c1a Break default DOGE rules in two, add some documentation about inverses 2018-05-05 01:34:08 +09:00
nicolas.dorier
3225745115 bump 2018-05-05 01:01:39 +09:00
nicolas.dorier
a325592106 Can match exact reverse 2018-05-05 01:00:19 +09:00
Andrew Camilleri
01069ed583 Remove unnecessary branching 2018-05-04 17:50:05 +02:00
Andrew Camilleri
0fc770bbb1 extract logic of accounting to accounting and remove bitpay breaking changes 2018-05-04 17:47:33 +02:00
Andrew Camilleri
dfb79ef96e Merge remote-tracking branch 'btcpayserver/master' into feature/order-tolerance 2018-05-04 17:46:39 +02:00
cronos
7c3ddf904c Merge remote-tracking branch 'upstream/master' 2018-05-04 09:47:03 -05:00
Andrew Camilleri
c3d73236e0 start work on payment tolerance feature 2018-05-04 16:15:34 +02:00
rockstardev
cfbcf0947a Switching to using Dockerfile from Docker Hub 2018-05-01 21:12:04 -05:00
rockstardev
fcfba7f5e1 Refactoring connection to Lnd now there is HTTP support 2018-05-01 20:33:43 -05:00
rockstardev
f4f9fabfd3 Building docker compose with our custom lnd 2018-05-01 19:02:57 -05:00
cronos
25208915eb Merge remote-tracking branch 'upstream/master' 2018-04-30 10:29:30 -05:00
lepipele
75f4a39ef2 Adding script to build lnd Docker container for testing
Obviously when we publish to Docker Hub this whole folder is bye-bye
2018-04-29 02:57:08 -05:00
lepipele
f9f4d93191 Lnd Dockerfile that integrates with BtcPayServer 2018-04-29 02:52:33 -05:00
lepipele
69050f7a56 Lnd sends some integers as strings, testing invoice creation 2018-04-28 12:49:56 -05:00
lepipele
1743919cd4 Conversion of LnrpcInvoice into LightningInvoice 2018-04-28 00:39:43 -05:00
lepipele
131328b42c Foundation integration with Lnd 2018-04-27 23:36:58 -05:00
lepipele
ad3b605148 Adding ZMQ settings Lnd needs 2018-04-27 23:36:58 -05:00
lepipele
f32e225fa6 Generating Lnd wrapper using NSwag
https://github.com/lightningnetwork/lnd/blob/master/lnrpc/rpc.swagger.json
2018-04-27 23:36:58 -05:00
eabz
52e0845fc5 Merge remote-tracking branch 'upstream/master' 2018-04-21 09:59:46 -05:00
Cronos
daf1a0a4bc Revert to origin csproj 2018-04-17 11:19:28 -05:00
Cronos
bc8978182e Add Polis 2018-04-17 11:13:50 -05:00
2066 changed files with 251202 additions and 75750 deletions

6
.circleci/can-build.sh Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
set -e
echo "Checking if it is possible to build Bitcoin only..."
cd ../BTCPayServer.Tests
docker-compose -f "docker-compose.yml" build

154
.circleci/config.yml Normal file
View File

@@ -0,0 +1,154 @@
version: 2
jobs:
fast_tests:
machine:
image: ubuntu-2004:202111-02
steps:
- checkout
- run:
command: |
cd .circleci && ./run-tests.sh "Fast=Fast|ThirdParty=ThirdParty" && ./can-build.sh
selenium_tests:
machine:
image: ubuntu-2004:202111-02
steps:
- checkout
- run:
command: |
cd .circleci && ./run-tests.sh "Selenium=Selenium"
integration_tests:
machine:
image: ubuntu-2004:202111-02
steps:
- checkout
- run:
command: |
cd .circleci && ./run-tests.sh "Integration=Integration"
trigger_docs_build:
machine:
image: ubuntu-2004:202111-02
steps:
- run:
command: |
curl -X POST -H "Authorization: token $GH_PAT" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/btcpayserver/btcpayserver-doc/dispatches --data '{"event_type": "build_docs"}'
# publish jobs require $DOCKERHUB_REPO, $DOCKERHUB_USER, $DOCKERHUB_PASS defined
amd64:
machine:
image: ubuntu-2004:202111-02
steps:
- checkout
- run:
command: |
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
GIT_COMMIT=$(git rev-parse HEAD)
#
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull -t $DOCKERHUB_REPO:$LATEST_TAG-amd64 -f amd64.Dockerfile .
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull --build-arg CONFIGURATION_NAME=Altcoins-Release -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-amd64 -f amd64.Dockerfile .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-amd64
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-amd64
arm32v7:
machine:
image: ubuntu-2004:202111-02
steps:
- checkout
- run:
command: |
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
GIT_COMMIT=$(git rev-parse HEAD)
#
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 -f arm32v7.Dockerfile .
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull --build-arg CONFIGURATION_NAME=Altcoins-Release -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm32v7 -f arm32v7.Dockerfile .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm32v7
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm32v7
arm64v8:
machine:
image: ubuntu-2004:202111-02
steps:
- checkout
- run:
command: |
sudo docker run --rm --privileged multiarch/qemu-user-static:register --reset
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
GIT_COMMIT=$(git rev-parse HEAD)
#
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --pull -t $DOCKERHUB_REPO:$LATEST_TAG-arm64v8 -f arm64v8.Dockerfile .
sudo docker build --build-arg GIT_COMMIT=${GIT_COMMIT} --build-arg CONFIGURATION_NAME=Altcoins-Release --pull -t $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm64v8 -f arm64v8.Dockerfile .
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-arm64v8
sudo docker push $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm64v8
multiarch:
machine:
image: ubuntu-2004:202201-02
steps:
- run:
command: |
sudo docker login --username=$DOCKERHUB_USER --password=$DOCKERHUB_PASS
#
LATEST_TAG=${CIRCLE_TAG:1} #trim v from tag
sudo docker manifest create --amend $DOCKERHUB_REPO:$LATEST_TAG $DOCKERHUB_REPO:$LATEST_TAG-amd64 $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 $DOCKERHUB_REPO:$LATEST_TAG-arm64v8
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG $DOCKERHUB_REPO:$LATEST_TAG-amd64 --os linux --arch amd64
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG $DOCKERHUB_REPO:$LATEST_TAG-arm32v7 --os linux --arch arm --variant v7
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG $DOCKERHUB_REPO:$LATEST_TAG-arm64v8 --os linux --arch arm64 --variant v8
sudo docker manifest push $DOCKERHUB_REPO:$LATEST_TAG -p
sudo docker manifest create --amend $DOCKERHUB_REPO:$LATEST_TAG-altcoins $DOCKERHUB_REPO:$LATEST_TAG-altcoins-amd64 $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm32v7 $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm64v8
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG-altcoins $DOCKERHUB_REPO:$LATEST_TAG-altcoins-amd64 --os linux --arch amd64
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG-altcoins $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm32v7 --os linux --arch arm --variant v7
sudo docker manifest annotate $DOCKERHUB_REPO:$LATEST_TAG-altcoins $DOCKERHUB_REPO:$LATEST_TAG-altcoins-arm64v8 --os linux --arch arm64 --variant v8
sudo docker manifest push $DOCKERHUB_REPO:$LATEST_TAG-altcoins -p
workflows:
version: 2
build_and_test:
jobs:
- fast_tests
- selenium_tests
- integration_tests
publish:
jobs:
- trigger_docs_build:
filters:
branches:
ignore: /.*/
# only act on version tags
tags:
only: /(v[1-9]+(\.[0-9]+)*(-[a-z0-9-]+)?)|(v[a-z0-9-]+)/
- amd64:
filters:
# ignore any commit on any branch by default
branches:
ignore: /.*/
# only act on version tags v1.0.0.88 or v1.0.2-1
# OR feature tags like vlndseedbackup
# OR features on specific versions like v1.0.0.88-lndseedbackup-1
tags:
only: /(v[1-9]+(\.[0-9]+)*(-[a-z0-9-]+)?)|(v[a-z0-9-]+)/
- arm32v7:
filters:
branches:
ignore: /.*/
tags:
only: /(v[1-9]+(\.[0-9]+)*(-[a-z0-9-]+)?)|(v[a-z0-9-]+)/
- arm64v8:
filters:
branches:
ignore: /.*/
tags:
only: /(v[1-9]+(\.[0-9]+)*(-[a-z0-9-]+)?)|(v[a-z0-9-]+)/
- multiarch:
requires:
- amd64
- arm32v7
- arm64v8
filters:
branches:
ignore: /.*/
tags:
only: /(v[1-9]+(\.[0-9]+)*(-[a-z0-9-]+)?)|(v[a-z0-9-]+)/

18
.circleci/run-tests.sh Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/sh
set -e
cd ../BTCPayServer.Tests
docker-compose -v
docker-compose -f "docker-compose.altcoins.yml" down --v
# For some reason, docker-compose pull fails time to time, so we try several times
n=0
until [ "$n" -ge 10 ]
do
docker-compose -f "docker-compose.altcoins.yml" pull && break
n=$((n+1))
sleep 5
done
docker-compose -f "docker-compose.altcoins.yml" build
docker-compose -f "docker-compose.altcoins.yml" run -e "TEST_FILTERS=$1" tests

View File

@@ -10,10 +10,15 @@ root = true
insert_final_newline = true
indent_style = space
indent_size = 4
charset = utf-8
space_before_self_closing = true
[project.json]
[*.json]
indent_size = 2
[swagger*.json]
indent_size = 4
# C# files
[*.cs]
# New line preferences
@@ -66,7 +71,7 @@ dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
dotnet_naming_style.camel_case_underscore_style.required_prefix = _
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
# Code style defaults
dotnet_sort_system_directives_first = true
@@ -120,8 +125,11 @@ csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
csharp_style_prefer_null_check_over_type_check = true:warning
csharp_prefer_simple_using_statement = true:warning
# C++ Files
[*.{cpp,h,in}]
curly_bracket_next_line = true
indent_brace_style = Allman
@@ -146,4 +154,4 @@ indent_size = 2
[*.sh]
end_of_line = lf
[*.{cmd, bat}]
end_of_line = crlf
end_of_line = crlf

2
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
# These are supported funding model platforms
custom: https://foundation.btcpayserver.org

68
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
name: 🐛 Bug Report
description: File a bug report
title: "[Bug]: "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report! Please provide as much information as you can. It helps us better understand the problem and fix it faster.
- type: textarea
id: version
attributes:
label: What is your BTCPay version?
description: You can see the version in the footer's bottom right corner
placeholder: I'm running BTCPay v1.X.X.X
validations:
required: true
- type: textarea
id: deployment
attributes:
label: How did you deploy BTCPay Server?
description: Docker, manual, third-party host? Read more on deployment methods [here](https://docs.btcpayserver.org/Deployment/)
placeholder: I'm running BTCPay Server on a...
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: What happened?
description: A clear and concise description of what the bug is.
placeholder: Tell us what you see!
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: How did you encounter this bug?
description: Step by step describe how did you encounter the bug?
placeholder: 1. I clicked X 2. Then I clicked Y 3. See error
validations:
required: true
- type: textarea
id: logoutput
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. Logs can be found in Server Settings > Logs. Here's how you can [troubleshoot an issue](https://docs.btcpayserver.org/Troubleshooting/)
render: shell
- type: textarea
id: browser
attributes:
label: What browser do you use?
description: Provide your browser and it's version. If you replicated issues on multiple browsers, let us know which ones.
placeholder: For example Safari 15.00, Chrome 10.0, Tor, Edge, etc
validations:
required: false
- type: textarea
id: additonal
attributes:
label: Additional information
description: Feel free to provide additional information. Screenshots are always helpful.
- type: checkboxes
id: terms
attributes:
label: Are you sure this is a bug report?
description: By submitting this report, you agree that this is not a support or a feature request. For general questions please read our [documentation](https://docs.btcpayserver.org). You can ask questions in [discussions](https://github.com/btcpayserver/btcpayserver/discussions) and [on our community chat](https://chat.btcpayserver.org)
options:
- label: I confirm this is a bug report
required: true

17
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
blank_issues_enabled: true
contact_links:
- name: 💡 Request a feature
url: https://github.com/btcpayserver/btcpayserver/discussions/categories/ideas-feature-requests
about: Submit a feature request or vote on ideas posted by others. Features with most upvotes become roadmap candidates
- name: 🧑‍💻 Ask a technical question
url: https://github.com/btcpayserver/btcpayserver/discussions/new?category=technical-support
about: If you're experiencing a technical problem post it to our community support forum
- name: 🔌 Report a problem with a plugin
url: https://github.com/btcpayserver/btcpayserver/discussions/new?category=plugins-integrations
about: Experiencing a problem with a third-party plugin? Post it here and we will tag their developers to assist
- name: 📝 Official Documentation
url: https://docs.btcpayserver.org
about: Check our documentation for answers to common questions
- name: 💬 Community Support Chat
url: https://chat.btcpayserver.org/
about: Ask general questions and get community support in real-time

14
.gitignore vendored
View File

@@ -288,8 +288,14 @@ __pycache__/
*.xsd.cs
/BTCPayServer/Build/dockerfiles
# Bundling JS/CSS
BTCPayServer/wwwroot/bundles/*
!BTCPayServer/wwwroot/bundles/.gitignore
.vscode/*
!.vscode/launch.json
!.vscode/tasks.json
!.vscode/extensions.json
BTCPayServer/testpwd
.DS_Store
Packed Plugins
Plugins/packed
.vscode
BTCPayServer/wwwroot/swagger/v1/openapi.json
BTCPayServer/appsettings.dev.json

3
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"recommendations": ["ms-dotnettools.csharp"]
}

33
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,33 @@
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (web)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/BTCPayServer/bin/Debug/net6.0/BTCPayServer.dll",
"args": [],
"cwd": "${workspaceFolder}/BTCPayServer",
"stopAtEntry": false,
// Enable launching a web browser when ASP.NET Core starts. For more information: https://aka.ms/VSCode-CS-LaunchJson-WebBrowser
"serverReadyAction": {
"action": "openExternally",
"pattern": "\\bNow listening on:\\s+(https?://\\S+)"
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"sourceFileMap": {
"/Views": "${workspaceFolder}/Views"
},
"logging": {
"moduleLoad": false
}
}
]
}

42
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,42 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/BTCPayServer/BTCPayServer.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/BTCPayServer/BTCPayServer.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
},
{
"label": "watch",
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"${workspaceFolder}/BTCPayServer/BTCPayServer.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
}
]
}

View File

@@ -0,0 +1,43 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="../Build/Version.csproj" Condition="Exists('../Build/Version.csproj')" />
<Import Project="../Build/Common.csproj" />
<PropertyGroup>
<Company>BTCPay Server</Company>
<Copyright>Copyright © BTCPay Server 2020</Copyright>
<Description>A library for BTCPay Server plugin development</Description>
<PackageIcon>icon.png</PackageIcon>
<PackageTags>btcpay,btcpayserver</PackageTags>
<PackageProjectUrl>https://github.com/btcpayserver/btcpayserver/tree/master/BTCPayServer.Abstractions</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryUrl>https://github.com/btcpayserver/btcpayserver</RepositoryUrl>
<RepositoryType>git</RepositoryType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
<NoWarn>1591;1573;1572;1584;1570;3021</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Release' ">
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
<None Include="icon.png" Pack="true" PackagePath="\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="HtmlSanitizer" Version="5.0.372" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.9" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.9" />
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="6.0.7" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="6.0.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\BTCPayServer.Client\BTCPayServer.Client.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,18 @@
using Newtonsoft.Json;
namespace BTCPayServer.Abstractions
{
public class CamelCaseSerializerSettings
{
static CamelCaseSerializerSettings()
{
Settings = new JsonSerializerSettings()
{
ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()
};
Serializer = JsonSerializer.Create(Settings);
}
public static readonly JsonSerializerSettings Settings;
public static readonly JsonSerializer Serializer;
}
}

View File

@@ -0,0 +1,20 @@
using System.IO;
namespace BTCPayServer.Configuration
{
public class DataDirectories
{
public string DataDir { get; set; }
public string PluginDir { get; set; }
public string TempStorageDir { get; set; }
public string StorageDir { get; set; }
public string TempDir { get; set; }
public string ToDatadirFullPath(string path)
{
if (Path.IsPathRooted(path))
return path;
return Path.Combine(DataDir, path);
}
}
}

View File

@@ -0,0 +1,11 @@
namespace BTCPayServer.Abstractions.Constants
{
public class AuthenticationSchemes
{
public const string Cookie = "Identity.Application";
public const string Bitpay = "Bitpay";
public const string Greenfield = "Greenfield.APIKeys,Greenfield.Basic";
public const string GreenfieldAPIKeys = "Greenfield.APIKeys";
public const string GreenfieldBasic = "Greenfield.Basic";
}
}

View File

@@ -0,0 +1,7 @@
namespace BTCPayServer.Abstractions.Constants;
public class WellKnownTempData
{
public const string SuccessMessage = nameof(SuccessMessage);
public const string ErrorMessage = nameof(ErrorMessage);
}

View File

@@ -0,0 +1,111 @@
using System;
using BTCPayServer.Abstractions.Models;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.Extensions.Options;
using Npgsql.EntityFrameworkCore.PostgreSQL.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Migrations.Operations;
namespace BTCPayServer.Abstractions.Contracts
{
public abstract class BaseDbContextFactory<T> where T : DbContext
{
private readonly IOptions<DatabaseOptions> _options;
private readonly string _schemaPrefix;
public BaseDbContextFactory(IOptions<DatabaseOptions> options, string schemaPrefix)
{
_options = options;
_schemaPrefix = schemaPrefix;
}
public abstract T CreateContext();
class CustomNpgsqlMigrationsSqlGenerator : NpgsqlMigrationsSqlGenerator
{
#pragma warning disable EF1001 // Internal EF Core API usage.
public CustomNpgsqlMigrationsSqlGenerator(MigrationsSqlGeneratorDependencies dependencies, Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.Internal.INpgsqlSingletonOptions opts) : base(dependencies, opts)
#pragma warning restore EF1001 // Internal EF Core API usage.
{
}
protected override void Generate(NpgsqlCreateDatabaseOperation operation, IModel model, MigrationCommandListBuilder builder)
{
builder
.Append("CREATE DATABASE ")
.Append(Dependencies.SqlGenerationHelper.DelimitIdentifier(operation.Name));
// POSTGRES gotcha: Indexed Text column (even if PK) are not used if we are not using C locale
builder
.Append(" TEMPLATE ")
.Append(Dependencies.SqlGenerationHelper.DelimitIdentifier("template0"));
builder
.Append(" LC_CTYPE ")
.Append(Dependencies.SqlGenerationHelper.DelimitIdentifier("C"));
builder
.Append(" LC_COLLATE ")
.Append(Dependencies.SqlGenerationHelper.DelimitIdentifier("C"));
builder
.Append(" ENCODING ")
.Append(Dependencies.SqlGenerationHelper.DelimitIdentifier("UTF8"));
if (operation.Tablespace != null)
{
builder
.Append(" TABLESPACE ")
.Append(Dependencies.SqlGenerationHelper.DelimitIdentifier(operation.Tablespace));
}
builder.AppendLine(Dependencies.SqlGenerationHelper.StatementTerminator);
EndStatement(builder, suppressTransaction: true);
}
}
public void ConfigureBuilder(DbContextOptionsBuilder builder)
{
switch (_options.Value.DatabaseType)
{
case DatabaseType.Sqlite:
builder.UseSqlite(_options.Value.ConnectionString, o =>
{
if (!string.IsNullOrEmpty(_schemaPrefix))
{
o.MigrationsHistoryTable(_schemaPrefix);
}
});
break;
case DatabaseType.Postgres:
builder
.UseNpgsql(_options.Value.ConnectionString, o =>
{
o.EnableRetryOnFailure(10);
if (!string.IsNullOrEmpty(_schemaPrefix))
{
o.MigrationsHistoryTable(_schemaPrefix);
}
})
.ReplaceService<IMigrationsSqlGenerator, CustomNpgsqlMigrationsSqlGenerator>();
break;
case DatabaseType.MySQL:
builder.UseMySql(_options.Value.ConnectionString, ServerVersion.AutoDetect(_options.Value.ConnectionString), o =>
{
o.EnableRetryOnFailure(10);
if (!string.IsNullOrEmpty(_schemaPrefix))
{
o.MigrationsHistoryTable(_schemaPrefix);
}
});
break;
default:
throw new ArgumentOutOfRangeException();
}
}
}
}

View File

@@ -0,0 +1,12 @@
using System.Threading.Tasks;
using BTCPayServer.Client;
using Microsoft.AspNetCore.Http;
namespace BTCPayServer.Abstractions.Contracts
{
public interface IBTCPayServerClientFactory
{
Task<BTCPayServerClient> Create(string userId, params string[] storeIds);
Task<BTCPayServerClient> Create(string userId, string[] storeIds, HttpContext httpRequest);
}
}

View File

@@ -0,0 +1,32 @@
using System;
using System.Text.Json.Serialization;
using BTCPayServer.Abstractions.Converters;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace BTCPayServer.Abstractions.Contracts
{
public interface IBTCPayServerPlugin
{
public string Identifier { get; }
string Name { get; }
[JsonConverter(typeof(VersionConverter))]
Version Version { get; }
string Description { get; }
bool SystemPlugin { get; set; }
PluginDependency[] Dependencies { get; }
void Execute(IApplicationBuilder applicationBuilder, IServiceProvider applicationBuilderApplicationServices);
void Execute(IServiceCollection applicationBuilder);
public class PluginDependency
{
public string Identifier { get; set; }
public string Condition { get; set; }
public override string ToString()
{
return $"{Identifier}: {Condition}";
}
}
}
}

View File

@@ -0,0 +1,17 @@
#nullable enable
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
namespace BTCPayServer.Abstractions.Contracts;
public interface IFileService
{
Task<bool> IsAvailable();
Task<IStoredFile> AddFile(IFormFile file, string userId);
Task<IStoredFile> AddFile(Uri file, string userId);
Task<string?> GetFileUrl(Uri baseUri, string fileId);
Task<string?> GetTemporaryFileUrl(Uri baseUri, string fileId, DateTimeOffset expiry,
bool isDownload);
Task RemoveFile(string fileId, string userId);
}

View File

@@ -0,0 +1,29 @@
using System;
namespace BTCPayServer.Abstractions.Contracts
{
public abstract class BaseNotification
{
public abstract string Identifier { get; }
public abstract string NotificationType { get; }
}
public interface INotificationHandler
{
string NotificationType { get; }
Type NotificationBlobType { get; }
public (string identifier, string name)[] Meta { get; }
void FillViewModel(object notification, NotificationViewModel vm);
}
public class NotificationViewModel
{
public string Id { get; set; }
public string Identifier { get; set; }
public string Type { get; set; }
public DateTimeOffset Created { get; set; }
public string Body { get; set; }
public string ActionLink { get; set; }
public bool Seen { get; set; }
}
}

View File

@@ -0,0 +1,10 @@
using System.Threading.Tasks;
namespace BTCPayServer.Abstractions.Contracts
{
public interface IPluginHookAction
{
public string Hook { get; }
Task Execute(object args);
}
}

View File

@@ -0,0 +1,11 @@
using System.Threading.Tasks;
namespace BTCPayServer.Abstractions.Contracts
{
public interface IPluginHookFilter
{
public string Hook { get; }
Task<object> Execute(object args);
}
}

View File

@@ -0,0 +1,10 @@
using System.Threading.Tasks;
namespace BTCPayServer.Abstractions.Contracts
{
public interface IPluginHookService
{
Task ApplyAction(string hook, object args);
Task<object> ApplyFilter(string hook, object args);
}
}

View File

@@ -0,0 +1,7 @@
#nullable enable
namespace BTCPayServer.Abstractions.Contracts;
public interface IScopeProvider
{
string? GetCurrentStoreId();
}

View File

@@ -0,0 +1,13 @@
#nullable enable
using System.Threading;
using System.Threading.Tasks;
namespace BTCPayServer.Abstractions.Contracts
{
public interface ISettingsRepository
{
Task<T?> GetSettingAsync<T>(string? name = null) where T : class;
Task UpdateSetting<T>(T obj, string? name = null) where T : class;
Task<T> WaitSettingsChanged<T>(CancellationToken cancellationToken = default) where T : class;
}
}

View File

@@ -0,0 +1,10 @@
using System.Threading;
using System.Threading.Tasks;
namespace BTCPayServer.Abstractions.Contracts
{
public interface IStartupTask
{
Task ExecuteAsync(CancellationToken cancellationToken = default);
}
}

View File

@@ -0,0 +1,12 @@
#nullable enable
using System.Collections.Generic;
using System.Threading.Tasks;
namespace BTCPayServer.Abstractions.Contracts;
public interface IStoreRepository
{
Task<T?> GetSettingAsync<T>(string storeId, string name) where T : class;
Task<Dictionary<string, T?>> GetSettingsAsync<T>(string name) where T : class;
Task UpdateSetting<T>(string storeId, string name, T obj) where T : class;
}

View File

@@ -0,0 +1,12 @@
using System;
namespace BTCPayServer.Abstractions.Contracts;
public interface IStoredFile
{
string Id { get; set; }
string FileName { get; set; }
string StorageFileName { get; set; }
DateTime Timestamp { get; set; }
string ApplicationUserId { get; set; }
}

View File

@@ -0,0 +1,9 @@
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
namespace BTCPayServer.Abstractions.Contracts;
public interface ISwaggerProvider
{
Task<JObject> Fetch();
}

View File

@@ -0,0 +1,18 @@
using System.Collections.Generic;
namespace BTCPayServer.Abstractions.Contracts
{
public interface ISyncSummaryProvider
{
bool AllAvailable();
string Partial { get; }
IEnumerable<ISyncStatus> GetStatuses();
}
public interface ISyncStatus
{
public string CryptoCode { get; set; }
public bool Available { get; }
}
}

View File

@@ -0,0 +1,9 @@
namespace BTCPayServer.Abstractions.Contracts
{
public interface IUIExtension
{
string Partial { get; }
string Location { get; }
}
}

View File

@@ -0,0 +1,13 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using NBitcoin;
namespace BTCPayServer.Payments.PayJoin;
public interface IUTXOLocker
{
Task<bool> TryLock(OutPoint outpoint);
Task<bool> TryUnlock(params OutPoint[] outPoints);
Task<bool> TryLockInputs(OutPoint[] outPoints);
Task<HashSet<OutPoint>> FindLocks(OutPoint[] outpoints);
}

View File

@@ -0,0 +1,19 @@
using System;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace BTCPayServer.Abstractions.Converters
{
public class VersionConverter : JsonConverter<Version>
{
public override Version Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
return Version.Parse(reader.GetString());
}
public override void Write(Utf8JsonWriter writer, Version value, JsonSerializerOptions options)
{
writer.WriteStringValue(value.ToString());
}
}
}

View File

@@ -0,0 +1,19 @@
namespace BTCPayServer.Abstractions.Custodians.Client;
public class AssetQuoteResult
{
public string FromAsset { get; set; }
public string ToAsset { get; set; }
public decimal Bid { get; set; }
public decimal Ask { get; set; }
public AssetQuoteResult() { }
public AssetQuoteResult(string fromAsset, string toAsset, decimal bid, decimal ask)
{
FromAsset = fromAsset;
ToAsset = toAsset;
Bid = bid;
Ask = ask;
}
}

View File

@@ -0,0 +1,12 @@
namespace BTCPayServer.Abstractions.Custodians;
public class AssetBalancesUnavailableException : CustodianApiException
{
public AssetBalancesUnavailableException(System.Exception e) : base(500, "asset-balances-unavailable", $"Cannot fetch the asset balances: {e.Message}", e)
{
}
public AssetBalancesUnavailableException(string errorMsg) : base(500, "asset-balances-unavailable", $"Cannot fetch the asset balances: {errorMsg}")
{
}
}

View File

@@ -0,0 +1,13 @@
using BTCPayServer.Client.Models;
namespace BTCPayServer.Abstractions.Custodians;
public class AssetQuoteUnavailableException : CustodianApiException
{
public AssetPairData AssetPair { get; }
public AssetQuoteUnavailableException(AssetPairData assetPair) : base(400, "asset-price-unavailable", "Cannot find a quote for pair " + assetPair)
{
this.AssetPair = assetPair;
}
}

View File

@@ -0,0 +1,13 @@
using System;
namespace BTCPayServer.Abstractions.Custodians;
public class BadConfigException : CustodianApiException
{
public string[] BadConfigKeys { get; set; }
public BadConfigException(string[] badConfigKeys) : base(500, "bad-custodian-account-config", "Wrong config values: " + String.Join(", ", badConfigKeys))
{
this.BadConfigKeys = badConfigKeys;
}
}

View File

@@ -0,0 +1,13 @@
namespace BTCPayServer.Abstractions.Custodians;
public class CannotWithdrawException : CustodianApiException
{
public CannotWithdrawException(ICustodian custodian, string paymentMethod, string message) : base(403, "cannot-withdraw", message)
{
}
public CannotWithdrawException(ICustodian custodian, string paymentMethod, string targetAddress, CustodianApiException originalException) : base(403, "cannot-withdraw", $"{custodian.Name} cannot withdraw {paymentMethod} to '{targetAddress}': {originalException.Message}")
{
}
}

View File

@@ -0,0 +1,18 @@
using System;
namespace BTCPayServer.Abstractions.Custodians;
public class CustodianApiException : Exception
{
public int HttpStatus { get; }
public string Code { get; }
public CustodianApiException(int httpStatus, string code, string message, System.Exception ex) : base(message, ex)
{
HttpStatus = httpStatus;
Code = code;
}
public CustodianApiException(int httpStatus, string code, string message) : this(httpStatus, code, message, null)
{
}
}

View File

@@ -0,0 +1,8 @@
namespace BTCPayServer.Abstractions.Custodians;
public class CustodianFeatureNotImplementedException : CustodianApiException
{
public CustodianFeatureNotImplementedException(string message) : base(400, "not-implemented", message)
{
}
}

View File

@@ -0,0 +1,8 @@
namespace BTCPayServer.Abstractions.Custodians;
public class DepositsUnavailableException : CustodianApiException
{
public DepositsUnavailableException(string message) : base(404, "deposits-unavailable", message)
{
}
}

View File

@@ -0,0 +1,8 @@
namespace BTCPayServer.Abstractions.Custodians;
public class InsufficientFundsException : CustodianApiException
{
public InsufficientFundsException(string message) : base(400, "insufficient-funds", message)
{
}
}

View File

@@ -0,0 +1,9 @@
namespace BTCPayServer.Abstractions.Custodians;
public class InvalidWithdrawalTargetException : CustodianApiException
{
public InvalidWithdrawalTargetException(ICustodian custodian, string paymentMethod, string targetAddress, CustodianApiException originalException) : base(403, "invalid-withdrawal-target", $"{custodian.Name} cannot withdraw {paymentMethod} to '{targetAddress}': {originalException.Message}")
{
}
}

View File

@@ -0,0 +1,9 @@
namespace BTCPayServer.Abstractions.Custodians;
public class PermissionDeniedCustodianApiException : CustodianApiException
{
public PermissionDeniedCustodianApiException(ICustodian custodian) : base(403, "custodian-api-permission-denied", $"{custodian.Name}'s API reported that you don't have permission.")
{
}
}

View File

@@ -0,0 +1,11 @@
namespace BTCPayServer.Abstractions.Custodians;
public class TradeNotFoundException : CustodianApiException
{
private string tradeId { get; }
public TradeNotFoundException(string tradeId) : base(404, "trade-not-found", "Could not find trade ID " + tradeId)
{
this.tradeId = tradeId;
}
}

View File

@@ -0,0 +1,11 @@
namespace BTCPayServer.Abstractions.Custodians;
public class WithdrawalNotFoundException : CustodianApiException
{
private string WithdrawalId { get; }
public WithdrawalNotFoundException(string withdrawalId) : base(404, "withdrawal-not-found", $"Could not find withdrawal ID {withdrawalId}.")
{
WithdrawalId = withdrawalId;
}
}

View File

@@ -0,0 +1,9 @@
namespace BTCPayServer.Abstractions.Custodians;
public class WrongTradingPairException : CustodianApiException
{
public const int HttpCode = 404;
public WrongTradingPairException(string fromAsset, string toAsset) : base(HttpCode, "wrong-trading-pair", $"Cannot find a trading pair for converting {fromAsset} into {toAsset}.")
{
}
}

View File

@@ -0,0 +1,29 @@
using System.Collections.Generic;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Abstractions.Custodians.Client;
/**
* The result of a market trade. Used as a return type for custodians implementing ICanTrade
*/
public class MarketTradeResult
{
public string FromAsset { get; }
public string ToAsset { get; }
/**
* The ledger entries that show the balances that were affected by the trade.
*/
public List<LedgerEntryData> LedgerEntries { get; }
/**
* The unique ID of the trade that was executed.
*/
public string TradeId { get; }
public MarketTradeResult(string fromAsset, string toAsset, List<LedgerEntryData> ledgerEntries, string tradeId)
{
this.FromAsset = fromAsset;
this.ToAsset = toAsset;
this.LedgerEntries = ledgerEntries;
this.TradeId = tradeId;
}
}

View File

@@ -0,0 +1,28 @@
using System.Collections.Generic;
using BTCPayServer.Client.Models;
using BTCPayServer.JsonConverters;
namespace BTCPayServer.Abstractions.Custodians.Client;
public class SimulateWithdrawalResult
{
public string PaymentMethod { get; }
public string Asset { get; }
public decimal MinQty { get; }
public decimal MaxQty { get; }
public List<LedgerEntryData> LedgerEntries { get; }
// Fee can be NULL if unknown.
public decimal? Fee { get; }
public SimulateWithdrawalResult(string paymentMethod, string asset, List<LedgerEntryData> ledgerEntries,
decimal minQty, decimal maxQty)
{
PaymentMethod = paymentMethod;
Asset = asset;
LedgerEntries = ledgerEntries;
MinQty = minQty;
MaxQty = maxQty;
}
}

View File

@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Abstractions.Custodians.Client;
public class WithdrawResult
{
public string PaymentMethod { get; }
public string Asset { get; set; }
public List<LedgerEntryData> LedgerEntries { get; }
public string WithdrawalId { get; }
public WithdrawalResponseData.WithdrawalStatus Status { get; }
public DateTimeOffset CreatedTime { get; }
public string TargetAddress { get; }
public string TransactionId { get; }
public WithdrawResult(string paymentMethod, string asset, List<LedgerEntryData> ledgerEntries, string withdrawalId, WithdrawalResponseData.WithdrawalStatus status, DateTimeOffset createdTime, string targetAddress, string transactionId)
{
PaymentMethod = paymentMethod;
Asset = asset;
LedgerEntries = ledgerEntries;
WithdrawalId = withdrawalId;
CreatedTime = createdTime;
Status = status;
TargetAddress = targetAddress;
TransactionId = transactionId;
}
}

View File

@@ -0,0 +1,17 @@
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
using Newtonsoft.Json.Linq;
namespace BTCPayServer.Abstractions.Custodians;
public interface ICanDeposit
{
/**
* Get the address where we can deposit for the chosen payment method (crypto code + network).
* The result can be a string in different formats like a bitcoin address or even a LN invoice.
*/
public Task<DepositAddressData> GetDepositAddressAsync(string paymentMethod, JObject config, CancellationToken cancellationToken);
public string[] GetDepositablePaymentMethods();
}

View File

@@ -0,0 +1,31 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Abstractions.Custodians.Client;
using BTCPayServer.Client.Models;
using Newtonsoft.Json.Linq;
namespace BTCPayServer.Abstractions.Custodians;
public interface ICanTrade
{
/**
* A list of tradable asset pairs, or NULL if the custodian cannot trade/convert assets. if thr asset pair contains fiat, fiat is always put last. If both assets are a cyrptocode or both are fiat, the pair is written alphabetically. Always in uppercase. Example: ["BTC/EUR","BTC/USD", "EUR/USD", "BTC/ETH",...]
*/
public List<AssetPairData> GetTradableAssetPairs();
/**
* Execute a market order right now.
*/
public Task<MarketTradeResult> TradeMarketAsync(string fromAsset, string toAsset, decimal qty, JObject config, CancellationToken cancellationToken);
/**
* Get the details about a previous market trade.
*/
public Task<MarketTradeResult> GetTradeInfoAsync(string tradeId, JObject config, CancellationToken cancellationToken);
public Task<AssetQuoteResult> GetQuoteForAssetAsync(string fromAsset, string toAsset, JObject config, CancellationToken cancellationToken);
}

View File

@@ -0,0 +1,20 @@
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Abstractions.Custodians.Client;
using Newtonsoft.Json.Linq;
namespace BTCPayServer.Abstractions.Custodians;
/// <summary>
/// Interface for custodians that can move funds to the store wallet.
/// </summary>
public interface ICanWithdraw
{
public Task<WithdrawResult> WithdrawToStoreWalletAsync(string paymentMethod, decimal amount, JObject config, CancellationToken cancellationToken);
public Task<SimulateWithdrawalResult> SimulateWithdrawalAsync(string paymentMethod, decimal qty, JObject config, CancellationToken cancellationToken);
public Task<WithdrawResult> GetWithdrawalInfoAsync(string paymentMethod, string withdrawalId, JObject config, CancellationToken cancellationToken);
public string[] GetWithdrawablePaymentMethods();
}

View File

@@ -0,0 +1,26 @@
#nullable enable
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
using Newtonsoft.Json.Linq;
namespace BTCPayServer.Abstractions.Custodians;
public interface ICustodian
{
/**
* Get the unique code that identifies this custodian.
*/
string Code { get; }
string Name { get; }
/**
* Get a list of assets and their qty in custody.
*/
Task<Dictionary<string, decimal>> GetAssetBalancesAsync(JObject config, CancellationToken cancellationToken);
public Task<Form.Form> GetConfigForm(JObject config, CancellationToken cancellationToken = default);
}

View File

@@ -0,0 +1,14 @@
#nullable enable
using System.Collections.Generic;
using System.Linq;
using BTCPayServer.Abstractions.Custodians;
namespace BTCPayServer.Abstractions.Extensions;
public static class CustodianExtensions
{
public static ICustodian? GetCustodianByCode(this IEnumerable<ICustodian> custodians, string code)
{
return custodians.FirstOrDefault(custodian => custodian.Code == code);
}
}

View File

@@ -0,0 +1,47 @@
using System.Collections.Generic;
using BTCPayServer.Client.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ModelBinding;
namespace BTCPayServer.Abstractions.Extensions;
public static class GreenfieldExtensions
{
public static IActionResult UserNotFound(this ControllerBase ctrl)
{
return ctrl.CreateAPIError(404, "user-not-found", "The user was not found");
}
public static IActionResult CreateValidationError(this ControllerBase controller, ModelStateDictionary modelState)
{
return controller.UnprocessableEntity(modelState.ToGreenfieldValidationError());
}
public static List<GreenfieldValidationError> ToGreenfieldValidationError(this ModelStateDictionary modelState)
{
List<GreenfieldValidationError> errors = new List<GreenfieldValidationError>();
foreach (var error in modelState)
{
foreach (var errorMessage in error.Value.Errors)
{
errors.Add(new GreenfieldValidationError(error.Key, errorMessage.ErrorMessage));
}
}
return errors;
}
public static IActionResult CreateAPIError(this ControllerBase controller, string errorCode, string errorMessage)
{
return controller.BadRequest(new GreenfieldAPIError(errorCode, errorMessage));
}
public static IActionResult CreateAPIError(this ControllerBase controller, int httpCode, string errorCode, string errorMessage)
{
return controller.StatusCode(httpCode, new GreenfieldAPIError(errorCode, errorMessage));
}
public static IActionResult CreateAPIPermissionError(this ControllerBase controller, string missingPermission, string message = null)
{
return controller.StatusCode(403, new GreenfieldPermissionAPIError(missingPermission, message));
}
}

View File

@@ -0,0 +1,120 @@
using System;
using Microsoft.AspNetCore.Http;
namespace BTCPayServer.Abstractions.Extensions;
public static class HttpRequestExtensions
{
public static bool IsOnion(this HttpRequest request)
{
if (request?.Host.Host == null)
return false;
return request.Host.Host.EndsWith(".onion", StringComparison.OrdinalIgnoreCase);
}
public static string GetAbsoluteRoot(this HttpRequest request)
{
return string.Concat(
request.Scheme,
"://",
request.Host.ToUriComponent(),
request.PathBase.ToUriComponent());
}
public static Uri GetAbsoluteRootUri(this HttpRequest request)
{
return new Uri(request.GetAbsoluteRoot());
}
public static string GetCurrentUrl(this HttpRequest request)
{
return string.Concat(
request.Scheme,
"://",
request.Host.ToUriComponent(),
request.PathBase.ToUriComponent(),
request.Path.ToUriComponent());
}
public static string GetCurrentPath(this HttpRequest request)
{
return string.Concat(
request.PathBase.ToUriComponent(),
request.Path.ToUriComponent());
}
public static string GetCurrentPathWithQueryString(this HttpRequest request)
{
return request.PathBase + request.Path + request.QueryString;
}
/// <summary>
/// If 'toto' and RootPath is 'rootpath' returns '/rootpath/toto'
/// If 'toto' and RootPath is empty returns '/toto'
/// </summary>
/// <param name="request"></param>
/// <param name="path"></param>
/// <returns></returns>
public static string GetRelativePath(this HttpRequest request, string path)
{
if (path.Length > 0 && path[0] != '/')
path = $"/{path}";
return string.Concat(
request.PathBase.ToUriComponent(),
path);
}
/// <summary>
/// If 'https://example.com/toto' returns 'https://example.com/toto'
/// If 'toto' and RootPath is 'rootpath' returns '/rootpath/toto'
/// If 'toto' and RootPath is empty returns '/toto'
/// </summary>
/// <param name="request"></param>
/// <param name="path"></param>
/// <returns></returns>
public static string GetRelativePathOrAbsolute(this HttpRequest request, string path)
{
if (!Uri.TryCreate(path, UriKind.RelativeOrAbsolute, out var uri) ||
uri.IsAbsoluteUri)
return path;
if (path.Length > 0 && path[0] != '/')
path = $"/{path}";
return string.Concat(
request.PathBase.ToUriComponent(),
path);
}
public static string GetAbsoluteUri(this HttpRequest request, string redirectUrl)
{
bool isRelative =
(redirectUrl.Length > 0 && redirectUrl[0] == '/')
|| !new Uri(redirectUrl, UriKind.RelativeOrAbsolute).IsAbsoluteUri;
return isRelative ? request.GetAbsoluteRoot() + redirectUrl : redirectUrl;
}
/// <summary>
/// Will return an absolute URL.
/// If `relativeOrAsbolute` is absolute, returns it.
/// If `relativeOrAsbolute` is relative, send absolute url based on the HOST of this request (without PathBase)
/// </summary>
/// <param name="request"></param>
/// <param name="relativeOrAbsolte"></param>
/// <returns></returns>
public static Uri GetAbsoluteUriNoPathBase(this HttpRequest request, Uri relativeOrAbsolute = null)
{
if (relativeOrAbsolute == null)
{
return new Uri(string.Concat(
request.Scheme,
"://",
request.Host.ToUriComponent()), UriKind.Absolute);
}
if (relativeOrAbsolute.IsAbsoluteUri)
return relativeOrAbsolute;
return new Uri(string.Concat(
request.Scheme,
"://",
request.Host.ToUriComponent()) + relativeOrAbsolute.ToString().WithStartingSlash(), UriKind.Absolute);
}
}

View File

@@ -0,0 +1,59 @@
using System.Text.Json;
using BTCPayServer.Abstractions.Constants;
using BTCPayServer.Abstractions.Models;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Newtonsoft.Json.Linq;
namespace BTCPayServer.Abstractions.Extensions;
public static class SetStatusMessageModelExtensions
{
public static void SetStatusMessageModel(this ITempDataDictionary tempData, StatusMessageModel statusMessage)
{
if (statusMessage == null)
{
tempData.Remove("StatusMessageModel");
return;
}
tempData["StatusMessageModel"] = JsonSerializer.Serialize(statusMessage, new JsonSerializerOptions());
}
public static StatusMessageModel GetStatusMessageModel(this ITempDataDictionary tempData)
{
tempData.TryGetValue(WellKnownTempData.SuccessMessage, out var successMessage);
tempData.TryGetValue(WellKnownTempData.ErrorMessage, out var errorMessage);
tempData.TryGetValue("StatusMessageModel", out var model);
if (successMessage != null || errorMessage != null)
{
var parsedModel = new StatusMessageModel();
parsedModel.Message = (string)successMessage ?? (string)errorMessage;
if (successMessage != null)
{
parsedModel.Severity = StatusMessageModel.StatusSeverity.Success;
}
else
{
parsedModel.Severity = StatusMessageModel.StatusSeverity.Error;
}
return parsedModel;
}
else if (model != null && model is string str)
{
return JObject.Parse(str).ToObject<StatusMessageModel>();
}
return null;
}
public static bool HasStatusMessage(this ITempDataDictionary tempData)
{
return (tempData.Peek(WellKnownTempData.SuccessMessage) ??
tempData.Peek(WellKnownTempData.ErrorMessage) ??
tempData.Peek("StatusMessageModel")) != null;
}
public static bool HasErrorMessage(this ITempDataDictionary tempData)
{
return GetStatusMessageModel(tempData)?.Severity == StatusMessageModel.StatusSeverity.Error;
}
}

View File

@@ -0,0 +1,12 @@
using BTCPayServer.Abstractions.Contracts;
using Microsoft.Extensions.DependencyInjection;
namespace BTCPayServer.Abstractions.Extensions
{
public static class ServiceCollectionExtensions
{
public static IServiceCollection AddStartupTask<T>(this IServiceCollection services)
where T : class, IStartupTask
=> services.AddTransient<IStartupTask, T>();
}
}

View File

@@ -0,0 +1,43 @@
using System;
using System.IO;
using System.Linq;
namespace BTCPayServer.Abstractions.Extensions;
public static class StringExtensions
{
public static bool IsValidFileName(this string fileName)
{
return !fileName.ToCharArray().Any(c => Path.GetInvalidFileNameChars().Contains(c)
|| c == Path.AltDirectorySeparatorChar
|| c == Path.DirectorySeparatorChar
|| c == Path.PathSeparator
|| c == '\\');
}
public static string Truncate(this string value, int maxLength)
{
if (string.IsNullOrEmpty(value))
return value;
return value.Length <= maxLength ? value : value.Substring(0, maxLength);
}
public static string WithTrailingSlash(this string str)
{
if (str.EndsWith("/", StringComparison.InvariantCulture))
return str;
return str + "/";
}
public static string WithStartingSlash(this string str)
{
if (str.StartsWith("/", StringComparison.InvariantCulture))
return str;
return $"/{str}";
}
public static string WithoutEndingSlash(this string str)
{
if (str.EndsWith("/", StringComparison.InvariantCulture))
return str.Substring(0, str.Length - 1);
return str;
}
}

View File

@@ -0,0 +1,139 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
namespace BTCPayServer.Abstractions.Extensions
{
public static class ViewsRazor
{
private const string ACTIVE_CATEGORY_KEY = "ActiveCategory";
private const string ACTIVE_PAGE_KEY = "ActivePage";
private const string ACTIVE_ID_KEY = "ActiveId";
private const string ActivePageClass = "active";
public enum DateDisplayFormat
{
Localized,
Relative
}
public static void SetActivePage<T>(this ViewDataDictionary viewData, T activePage, string title = null, string activeId = null)
where T : IConvertible
{
SetActivePage(viewData, activePage.ToString(), activePage.GetType().ToString(), title, activeId);
}
public static void SetActivePage(this ViewDataDictionary viewData, string activePage, string category, string title = null, string activeId = null)
{
// Page Title
viewData["Title"] = title ?? activePage;
// Navigation
viewData[ACTIVE_PAGE_KEY] = activePage;
viewData[ACTIVE_ID_KEY] = activeId;
SetActiveCategory(viewData, category);
}
public static void SetActiveCategory<T>(this ViewDataDictionary viewData, T activeCategory)
{
SetActiveCategory(viewData, activeCategory.ToString());
}
public static void SetActiveCategory(this ViewDataDictionary viewData, string activeCategory)
{
viewData[ACTIVE_CATEGORY_KEY] = activeCategory;
}
public static string IsActiveCategory<T>(this ViewDataDictionary viewData, T category, object id = null)
{
return IsActiveCategory(viewData, category.ToString(), id);
}
public static string IsActiveCategory(this ViewDataDictionary viewData, string category, object id = null)
{
if (!viewData.ContainsKey(ACTIVE_CATEGORY_KEY))
{
return null;
}
var activeId = viewData[ACTIVE_ID_KEY];
var activeCategory = viewData[ACTIVE_CATEGORY_KEY]?.ToString();
var categoryMatch = category.Equals(activeCategory, StringComparison.InvariantCultureIgnoreCase);
var idMatch = id == null || activeId == null || id.Equals(activeId);
return categoryMatch && idMatch ? ActivePageClass : null;
}
public static string IsActivePage<T>(this ViewDataDictionary viewData, T page, object id = null)
where T : IConvertible
{
return IsActivePage(viewData, page.ToString(), page.GetType().ToString(), id);
}
public static string IsActivePage<T>(this ViewDataDictionary viewData, IEnumerable<T> pages, object id = null)
where T : IConvertible
{
return pages.Any(page => IsActivePage(viewData, page.ToString(), page.GetType().ToString(), id) == ActivePageClass)
? ActivePageClass
: null;
}
public static string IsActivePage(this ViewDataDictionary viewData, string page, string category, object id = null)
{
if (!viewData.ContainsKey(ACTIVE_PAGE_KEY))
{
return null;
}
var activeId = viewData[ACTIVE_ID_KEY];
var activePage = viewData[ACTIVE_PAGE_KEY]?.ToString();
var activeCategory = viewData[ACTIVE_CATEGORY_KEY]?.ToString();
var categoryAndPageMatch = (category == null || activeCategory.Equals(category, StringComparison.InvariantCultureIgnoreCase)) && page.Equals(activePage, StringComparison.InvariantCultureIgnoreCase);
var idMatch = id == null || activeId == null || id.Equals(activeId);
return categoryAndPageMatch && idMatch ? ActivePageClass : null;
}
public static HtmlString ToBrowserDate(this DateTimeOffset date, DateDisplayFormat format = DateDisplayFormat.Localized)
{
var relative = date.ToTimeAgo();
var initial = format.ToString().ToLower();
var dateTime = date.ToString("o", CultureInfo.InvariantCulture);
var displayDate = format == DateDisplayFormat.Relative ? relative : date.ToString("g", CultureInfo.InvariantCulture);
return new HtmlString($"<time datetime=\"{dateTime}\" data-relative=\"{relative}\" data-initial=\"{initial}\">{displayDate}</time>");
}
public static HtmlString ToBrowserDate(this DateTime date, DateDisplayFormat format = DateDisplayFormat.Localized)
{
var relative = date.ToTimeAgo();
var initial = format.ToString().ToLower();
var dateTime = date.ToString("o", CultureInfo.InvariantCulture);
var displayDate = format == DateDisplayFormat.Relative ? relative : date.ToString("g", CultureInfo.InvariantCulture);
return new HtmlString($"<time datetime=\"{dateTime}\" data-relative=\"{relative}\" data-initial=\"{initial}\">{displayDate}</time>");
}
public static string ToTimeAgo(this DateTimeOffset date) => (DateTimeOffset.UtcNow - date).ToTimeAgo();
public static string ToTimeAgo(this DateTime date) => (DateTimeOffset.UtcNow - date).ToTimeAgo();
public static string ToTimeAgo(this TimeSpan diff) => diff.TotalSeconds > 0 ? $"{diff.TimeString()} ago" : $"in {diff.Negate().TimeString()}";
public static string TimeString(this TimeSpan timeSpan)
{
if (timeSpan.TotalMinutes < 1)
{
return $"{(int)timeSpan.TotalSeconds} second{Plural((int)timeSpan.TotalSeconds)}";
}
if (timeSpan.TotalHours < 1)
{
return $"{(int)timeSpan.TotalMinutes} minute{Plural((int)timeSpan.TotalMinutes)}";
}
return timeSpan.Days < 1
? $"{(int)timeSpan.TotalHours} hour{Plural((int)timeSpan.TotalHours)}"
: $"{(int)timeSpan.TotalDays} day{Plural((int)timeSpan.TotalDays)}";
}
private static string Plural(int value)
{
return value == 1 ? string.Empty : "s";
}
}
}

View File

@@ -0,0 +1,37 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace BTCPayServer.Abstractions.Form;
public class AlertMessage
{
// Corresponds to the Bootstrap CSS "alert alert-xxx" messages:
// Success = green
// Warning = orange
// Danger = red
// Info = blue
public enum AlertMessageType
{
Success,
Warning,
Danger,
Info
}
[JsonConverter(typeof(StringEnumConverter))]
public AlertMessageType Type;
// The translated message to be shown to the user
public string Message;
public AlertMessage()
{
}
public AlertMessage(AlertMessageType type, string message)
{
this.Type = type;
this.Message = message;
}
}

View File

@@ -0,0 +1,64 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace BTCPayServer.Abstractions.Form;
public class Field
{
public static Field Create(string label, string name, string value, bool required, string helpText, string type = "text")
{
return new Field
{
Label = label,
Name = name,
Value = value,
OriginalValue = value,
Required = required,
HelpText = helpText,
Type = type
};
}
// The name of the HTML5 node. Should be used as the key for the posted data.
public string Name;
public bool Constant;
// HTML5 compatible type string like "text", "textarea", "email", "password", etc.
public string Type;
public static Field CreateFieldset()
{
return new Field { Type = "fieldset" };
}
// The value field is what is currently in the DB or what the user entered, but possibly not saved yet due to validation errors.
// If this is the first the user sees the form, then value and original value are the same. Value changes as the user starts interacting with the form.
public string Value;
public bool Required;
// The translated label of the field.
public string Label;
// The original value is the value that is currently saved in the backend. A "reset" button can be used to revert back to this. Should only be set from the constructor.
public string OriginalValue;
// A useful note shown below the field or via a tooltip / info icon. Should be translated for the user.
public string HelpText;
[JsonExtensionData] public IDictionary<string, JToken> AdditionalData { get; set; }
public List<Field> Fields { get; set; } = new();
// The field is considered "valid" if there are no validation errors
public List<string> ValidationErrors = new();
public virtual bool IsValid()
{
return ValidationErrors.Count == 0 && Fields.All(field => field.IsValid());
}
}

View File

@@ -0,0 +1,141 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json.Linq;
using Npgsql.Internal.TypeHandlers.GeometricHandlers;
namespace BTCPayServer.Abstractions.Form;
public class Form
{
#nullable enable
public static Form Parse(string str)
{
ArgumentNullException.ThrowIfNull(str);
return JObject.Parse(str).ToObject<Form>(CamelCaseSerializerSettings.Serializer) ?? throw new InvalidOperationException("Impossible to deserialize Form");
}
public override string ToString()
{
return JObject.FromObject(this, CamelCaseSerializerSettings.Serializer).ToString(Newtonsoft.Json.Formatting.Indented);
}
#nullable restore
// Messages to be shown at the top of the form indicating user feedback like "Saved successfully" or "Please change X because of Y." or a warning, etc...
public List<AlertMessage> TopMessages { get; set; } = new();
// Groups of fields in the form
public List<Field> Fields { get; set; } = new();
// Are all the fields valid in the form?
public bool IsValid()
{
if (TopMessages?.Any(t => t.Type == AlertMessage.AlertMessageType.Danger) is true)
return false;
return Fields.Select(f => f.IsValid()).All(o => o);
}
public Field GetFieldByFullName(string fullName)
{
foreach (var f in GetAllFields())
{
if (f.FullName == fullName)
return f.Field;
}
return null;
}
public IEnumerable<(string FullName, List<string> Path, Field Field)> GetAllFields()
{
HashSet<string> nameReturned = new();
foreach (var f in GetAllFieldsCore(new List<string>(), Fields))
{
var fullName = string.Join('_', f.Path.Where(s => !string.IsNullOrEmpty(s)));
if (!nameReturned.Add(fullName))
continue;
yield return (fullName, f.Path, f.Field);
}
}
public bool ValidateFieldNames(out List<string> errors)
{
errors = new List<string>();
HashSet<string> nameReturned = new();
foreach (var f in GetAllFieldsCore(new List<string>(), Fields))
{
var fullName = string.Join('_', f.Path.Where(s => !string.IsNullOrEmpty(s)));
if (!nameReturned.Add(fullName))
{
errors.Add($"Form contains duplicate field names '{fullName}'");
continue;
}
}
return errors.Count == 0;
}
IEnumerable<(List<string> Path, Field Field)> GetAllFieldsCore(List<string> path, List<Field> fields)
{
foreach (var field in fields)
{
List<string> thisPath = new(path.Count + 1);
thisPath.AddRange(path);
if (!string.IsNullOrEmpty(field.Name))
{
thisPath.Add(field.Name);
yield return (thisPath, field);
}
foreach (var child in field.Fields)
{
if (field.Constant)
child.Constant = true;
foreach (var descendant in GetAllFieldsCore(thisPath, field.Fields))
{
yield return descendant;
}
}
}
}
public void ApplyValuesFromForm(IEnumerable<KeyValuePair<string, StringValues>> form)
{
var values = form.GroupBy(f => f.Key, f => f.Value).ToDictionary(g => g.Key, g => g.First());
foreach (var f in GetAllFields())
{
if (f.Field.Constant || !values.TryGetValue(f.FullName, out var val))
continue;
f.Field.Value = val;
}
}
public void SetValues(JObject values)
{
var fields = GetAllFields().ToDictionary(k => k.FullName, k => k.Field);
SetValues(fields, new List<string>(), values);
}
private void SetValues(Dictionary<string, Field> fields, List<string> path, JObject values)
{
foreach (var prop in values.Properties())
{
List<string> propPath = new List<string>(path.Count + 1);
propPath.AddRange(path);
propPath.Add(prop.Name);
if (prop.Value.Type == JTokenType.Object)
{
SetValues(fields, propPath, (JObject)prop.Value);
}
else if (prop.Value.Type == JTokenType.String)
{
var fullName = string.Join('_', propPath.Where(s => !string.IsNullOrEmpty(s)));
if (fields.TryGetValue(fullName, out var f) && !f.Constant)
f.Value = prop.Value.Value<string>();
}
}
}
}

View File

@@ -0,0 +1,69 @@
using System;
using System.Reflection;
using BTCPayServer.Abstractions.Contracts;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
namespace BTCPayServer.Abstractions.Models
{
public abstract class BaseBTCPayServerPlugin : IBTCPayServerPlugin
{
public virtual string Identifier
{
get
{
return GetType().GetTypeInfo().Assembly.GetName().Name;
}
}
public virtual string Name
{
get
{
return GetType().GetTypeInfo().Assembly
.GetCustomAttribute<AssemblyProductAttribute>()?
.Product ?? "???";
}
}
public virtual Version Version
{
get
{
return GetVersion(GetType().GetTypeInfo().Assembly
.GetCustomAttribute<AssemblyInformationalVersionAttribute>()?
.InformationalVersion) ??
Assembly.GetAssembly(GetType())?.GetName()?.Version ??
new Version(1, 0, 0, 0);
}
}
private static Version GetVersion(string informationalVersion)
{
if (informationalVersion is null)
return null;
Version.TryParse(informationalVersion, out var r);
return r;
}
public virtual string Description
{
get
{
return GetType().GetTypeInfo().Assembly
.GetCustomAttribute<AssemblyDescriptionAttribute>()?
.Description ?? string.Empty;
}
}
public bool SystemPlugin { get; set; }
public virtual IBTCPayServerPlugin.PluginDependency[] Dependencies { get; } = Array.Empty<IBTCPayServerPlugin.PluginDependency>();
public virtual void Execute(IApplicationBuilder applicationBuilder,
IServiceProvider applicationBuilderApplicationServices)
{
}
public virtual void Execute(IServiceCollection applicationBuilder)
{
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
namespace BTCPayServer.Abstractions.Models
{
public class ConfirmModel
{
private const string ButtonClassDefault = "btn-danger";
public ConfirmModel() { }
public ConfirmModel(string title, string desc, string action = null, string buttonClass = ButtonClassDefault, string actionName = null, string controllerName = null)
{
Title = title;
Description = desc;
Action = action;
ActionName = actionName;
ControllerName = controllerName;
ButtonClass = buttonClass;
if (Description.Contains("<strong>", StringComparison.InvariantCultureIgnoreCase))
{
DescriptionHtml = true;
}
}
public string Title { get; set; }
public string Description { get; set; }
public bool DescriptionHtml { get; set; }
public string Action { get; set; }
public string ActionName { get; set; }
public string ControllerName { get; set; }
public string ButtonClass { get; set; } = ButtonClassDefault;
}
}

View File

@@ -0,0 +1,8 @@
namespace BTCPayServer.Abstractions.Models
{
public class DatabaseOptions
{
public DatabaseType DatabaseType { get; set; }
public string ConnectionString { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace BTCPayServer.Abstractions.Models
{
public enum DatabaseType
{
Sqlite,
Postgres,
MySQL,
}
}

View File

@@ -0,0 +1,50 @@
using System;
namespace BTCPayServer.Abstractions.Models
{
public class StatusMessageModel
{
public StatusMessageModel()
{
}
public string Message { get; set; }
public string Html { get; set; }
public StatusSeverity Severity { get; set; }
public bool AllowDismiss { get; set; } = true;
public string SeverityCSS => ToString(Severity);
private void ParseNonJsonStatus(string s)
{
Message = s;
Severity = s.StartsWith("Error", StringComparison.InvariantCultureIgnoreCase)
? StatusSeverity.Error
: StatusSeverity.Success;
}
public static string ToString(StatusSeverity severity)
{
switch (severity)
{
case StatusSeverity.Info:
return "info";
case StatusSeverity.Error:
return "danger";
case StatusSeverity.Success:
return "success";
case StatusSeverity.Warning:
return "warning";
default:
throw new ArgumentOutOfRangeException();
}
}
public enum StatusSeverity
{
Info,
Error,
Success,
Warning
}
}
}

View File

@@ -0,0 +1,7 @@
rm "bin\release\" -Recurse -Force
dotnet pack --configuration Release --include-symbols -p:SymbolPackageFormat=snupkg
$package=(ls .\bin\Release\*.nupkg).FullName
dotnet nuget push $package --source "https://api.nuget.org/v3/index.json"
$ver = ((ls .\bin\release\*.nupkg)[0].Name -replace '.*(\d+\.\d+\.\d+)\.nupkg','$1')
git tag -a "BTCPayServer.Abstractions/v$ver" -m "BTCPayServer.Abstractions/$ver"
git push origin "BTCPayServer.Abstractions/v$ver"

View File

@@ -0,0 +1,27 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
namespace BTCPayServer.Security;
public class AuthorizationFilterHandle
{
public AuthorizationHandlerContext Context { get; }
public PolicyRequirement Requirement { get; }
public HttpContext HttpContext { get; }
public bool Success { get; private set; }
public AuthorizationFilterHandle(
AuthorizationHandlerContext context,
PolicyRequirement requirement,
HttpContext httpContext)
{
Context = context;
Requirement = requirement;
HttpContext = httpContext;
}
public void MarkSuccessful()
{
Success = true;
}
}

View File

@@ -0,0 +1,150 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NBitcoin.Crypto;
namespace BTCPayServer.Security
{
public class ConsentSecurityPolicy
{
public ConsentSecurityPolicy(string name, string value)
{
if (value.Contains(';', StringComparison.OrdinalIgnoreCase))
throw new FormatException();
_Value = value;
_Name = name;
}
private readonly string _Name;
public string Name
{
get
{
return _Name;
}
}
private readonly string _Value;
public string Value
{
get
{
return _Value;
}
}
public override bool Equals(object obj)
{
ConsentSecurityPolicy item = obj as ConsentSecurityPolicy;
if (item == null)
return false;
return GetHashCode().Equals(item.GetHashCode());
}
public static bool operator ==(ConsentSecurityPolicy a, ConsentSecurityPolicy b)
{
if (System.Object.ReferenceEquals(a, b))
return true;
if (((object)a == null) || ((object)b == null))
return false;
return a.GetHashCode() == b.GetHashCode();
}
public static bool operator !=(ConsentSecurityPolicy a, ConsentSecurityPolicy b)
{
return !(a == b);
}
public override int GetHashCode()
{
return HashCode.Combine(Name, Value);
}
}
public class ContentSecurityPolicies
{
public ContentSecurityPolicies()
{
}
readonly HashSet<ConsentSecurityPolicy> _Policies = new HashSet<ConsentSecurityPolicy>();
/// <summary>
/// Allow a specific script as event handler
/// </summary>
/// <param name="script"></param>
public void AllowUnsafeHashes(string script = null)
{
if (!allowUnsafeHashes)
{
Add("script-src", $"'unsafe-hashes'");
allowUnsafeHashes = true;
}
if (script != null)
{
var sha = GetSha256(script);
Add("script-src", $"'sha256-{sha}'");
}
}
bool allowUnsafeHashes = false;
/// <summary>
/// Allow the injection of script tag with the following script
/// </summary>
/// <param name="script"></param>
public void AllowInline(string script)
{
ArgumentNullException.ThrowIfNull(script);
var sha = GetSha256(script);
Add("script-src", $"'sha256-{sha}'");
}
static string GetSha256(string script)
{
return Convert.ToBase64String(Hashes.SHA256(Encoding.UTF8.GetBytes(script.Replace("\r\n", "\n", StringComparison.Ordinal))));
}
public void Add(string name, string value)
{
Add(new ConsentSecurityPolicy(name, value));
}
public void Add(ConsentSecurityPolicy policy)
{
_Policies.Add(policy);
}
public void UnsafeEval()
{
Add("script-src", "'unsafe-eval'");
}
public IEnumerable<ConsentSecurityPolicy> Rules => _Policies;
public bool HasRules => _Policies.Count != 0;
public override string ToString()
{
StringBuilder value = new StringBuilder();
bool firstGroup = true;
foreach (var group in Rules.GroupBy(r => r.Name))
{
if (!firstGroup)
{
value.Append(';');
}
HashSet<string> values = new HashSet<string>();
List<string> valuesList = new List<string>();
values.Add(group.Key);
valuesList.Add(group.Key);
foreach (var v in group)
{
if (values.Add(v.Value))
valuesList.Add(v.Value);
}
value.Append(String.Join(" ", valuesList.OfType<object>().ToArray()));
firstGroup = false;
}
return value.ToString();
}
}
}

View File

@@ -0,0 +1,15 @@
using System;
using Microsoft.AspNetCore.Authorization;
namespace BTCPayServer.Security
{
public class PolicyRequirement : IAuthorizationRequirement
{
public PolicyRequirement(string policy)
{
ArgumentNullException.ThrowIfNull(policy);
Policy = policy;
}
public string Policy { get; }
}
}

View File

@@ -0,0 +1,16 @@
using System.Threading.Tasks;
using BTCPayServer.Abstractions.Contracts;
namespace BTCPayServer.Abstractions.Services
{
public abstract class PluginAction<T> : IPluginHookAction
{
public abstract string Hook { get; }
public Task Execute(object args)
{
return Execute(args is T args1 ? args1 : default);
}
public abstract Task Execute(T arg);
}
}

View File

@@ -0,0 +1,17 @@
using System.Threading.Tasks;
using BTCPayServer.Abstractions.Contracts;
namespace BTCPayServer.Abstractions.Services
{
public abstract class PluginHookFilter<T> : IPluginHookFilter
{
public abstract string Hook { get; }
public Task<object> Execute(object args)
{
return Execute(args is T args1 ? args1 : default).ContinueWith(task => task.Result as object);
}
public abstract Task<T> Execute(T arg);
}
}

View File

@@ -0,0 +1,30 @@
using Ganss.XSS;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc.Rendering;
namespace BTCPayServer.Abstractions.Services
{
public class Safe
{
private readonly IHtmlHelper _htmlHelper;
private readonly IJsonHelper _jsonHelper;
private readonly HtmlSanitizer _htmlSanitizer;
public Safe(IHtmlHelper htmlHelper, IJsonHelper jsonHelper, HtmlSanitizer htmlSanitizer)
{
_htmlHelper = htmlHelper;
_jsonHelper = jsonHelper;
_htmlSanitizer = htmlSanitizer;
}
public IHtmlContent Raw(string value)
{
return _htmlHelper.Raw(_htmlSanitizer.Sanitize(value));
}
public IHtmlContent Json(object model)
{
return _htmlHelper.Raw(_jsonHelper.Serialize(model));
}
}
}

View File

@@ -0,0 +1,16 @@
using BTCPayServer.Abstractions.Contracts;
namespace BTCPayServer.Abstractions.Services
{
public class UIExtension : IUIExtension
{
public UIExtension(string partial, string location)
{
Partial = partial;
Location = location;
}
public string Partial { get; }
public string Location { get; }
}
}

View File

@@ -0,0 +1,30 @@
using System;
using BTCPayServer.Security;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace BTCPayServer.Abstractions.TagHelpers;
/// <summary>
/// Add sha256- to allow inline event handlers in a:href=javascript:
/// </summary>
[HtmlTargetElement("a", Attributes = "csp-allow")]
public class CSPA : TagHelper
{
private readonly ContentSecurityPolicies _csp;
public CSPA(ContentSecurityPolicies csp)
{
_csp = csp;
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.Attributes.RemoveAll("csp-allow");
if (output.Attributes.TryGetAttribute("href", out var attr))
{
var v = attr.Value.ToString();
if (v.StartsWith("javascript:", StringComparison.OrdinalIgnoreCase))
{
_csp.AllowUnsafeHashes(v);
}
}
}
}

View File

@@ -0,0 +1,37 @@
using System.Collections.Generic;
using System.Linq;
using BTCPayServer.Security;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace BTCPayServer.Abstractions.TagHelpers;
/// <summary>
/// Add 'unsafe-hashes' and sha256- to allow inline event handlers in CSP
/// </summary>
[HtmlTargetElement(Attributes = "onclick")]
[HtmlTargetElement(Attributes = "onkeypress")]
[HtmlTargetElement(Attributes = "onchange")]
[HtmlTargetElement(Attributes = "onsubmit")]
public class CSPEventTagHelper : TagHelper
{
public const string EventNames = "onclick,onkeypress,onchange,onsubmit";
private readonly ContentSecurityPolicies _csp;
readonly static HashSet<string> EventSet = EventNames.Split(',')
.ToHashSet();
public CSPEventTagHelper(ContentSecurityPolicies csp)
{
_csp = csp;
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
foreach (var attr in output.Attributes)
{
var n = attr.Name.ToLowerInvariant();
if (EventSet.Contains(n))
{
_csp.AllowUnsafeHashes(attr.Value.ToString());
}
}
}
}

View File

@@ -0,0 +1,33 @@
using BTCPayServer.Security;
using Microsoft.AspNetCore.Razor.TagHelpers;
using NBitcoin;
namespace BTCPayServer.Abstractions.TagHelpers;
/// <summary>
/// Add a nonce-* so the inline-script can pass CSP rule when they are rendered server-side
/// </summary>
[HtmlTargetElement("script")]
public class CSPInlineScriptTagHelper : TagHelper
{
private readonly ContentSecurityPolicies _csp;
public CSPInlineScriptTagHelper(ContentSecurityPolicies csp)
{
_csp = csp;
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
if (output.Attributes.ContainsName("src"))
return;
if (output.Attributes.TryGetAttribute("type", out var attr))
{
if (attr.Value?.ToString() != "text/javascript")
return;
}
var nonce = RandomUtils.GetUInt256().ToString().Substring(0, 32);
output.Attributes.Add(new TagHelperAttribute("nonce", nonce));
_csp.Add("script-src", $"'nonce-{nonce}'");
}
}

View File

@@ -0,0 +1,25 @@
using System.Threading.Tasks;
using BTCPayServer.Security;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace BTCPayServer.Abstractions.TagHelpers;
/// <summary>
/// Add sha256- to allow inline event handlers in CSP
/// </summary>
[HtmlTargetElement("template", Attributes = "csp-allow")]
public class CSPTemplate : TagHelper
{
private readonly ContentSecurityPolicies _csp;
public CSPTemplate(ContentSecurityPolicies csp)
{
_csp = csp;
}
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
output.Attributes.RemoveAll("csp-allow");
var childContent = await output.GetChildContentAsync();
var content = childContent.GetContent();
_csp.AllowInline(content);
}
}

View File

@@ -0,0 +1,48 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Razor.TagHelpers;
using Microsoft.Extensions.Logging;
namespace BTCPayServer.Abstractions.TagHelpers;
[HtmlTargetElement(Attributes = nameof(Permission))]
public class PermissionTagHelper : TagHelper
{
private readonly IAuthorizationService _authorizationService;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ILogger<PermissionTagHelper> _logger;
public PermissionTagHelper(IAuthorizationService authorizationService, IHttpContextAccessor httpContextAccessor, ILogger<PermissionTagHelper> logger)
{
_authorizationService = authorizationService;
_httpContextAccessor = httpContextAccessor;
_logger = logger;
}
public string Permission { get; set; }
public string PermissionResource { get; set; }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
if (string.IsNullOrEmpty(Permission))
return;
if (_httpContextAccessor.HttpContext is null)
return;
var key = $"{Permission}_{PermissionResource}";
if (!_httpContextAccessor.HttpContext.Items.TryGetValue(key, out var o) ||
o is not AuthorizationResult res)
{
res = await _authorizationService.AuthorizeAsync(_httpContextAccessor.HttpContext.User,
PermissionResource,
Permission);
_httpContextAccessor.HttpContext.Items.Add(key, res);
}
if (!res.Succeeded)
{
output.SuppressOutput();
}
}
}

View File

@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Text.Encodings.Web;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Razor.TagHelpers;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.Routing;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace BTCPayServer.Abstractions.TagHelpers;
// Make sure that <svg><use href=/ are correctly working if rootpath is present
[HtmlTargetElement("use", Attributes = "href")]
public class SVGUse : UrlResolutionTagHelper2
{
private readonly IFileVersionProvider _fileVersionProvider;
public SVGUse(IUrlHelperFactory urlHelperFactory, HtmlEncoder htmlEncoder, IFileVersionProvider fileVersionProvider) : base(urlHelperFactory, htmlEncoder)
{
_fileVersionProvider = fileVersionProvider;
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
var attr = output.Attributes["href"].Value.ToString();
var symbolIndex = attr!.IndexOf("#", StringComparison.InvariantCulture);
var start = attr.IndexOf("~", StringComparison.InvariantCulture) + 1;
var length = (symbolIndex != -1 ? symbolIndex : attr.Length) - start;
var filePath = attr.Substring(start, length);
if (!string.IsNullOrEmpty(filePath))
{
var versioned = _fileVersionProvider.AddFileVersionToPath(ViewContext.HttpContext.Request.PathBase, filePath);
attr = attr.Replace(filePath, versioned);
}
output.Attributes.SetAttribute("href", attr);
base.Process(context, output);
}
}

View File

@@ -0,0 +1,31 @@
using BTCPayServer.Abstractions.Services;
using BTCPayServer.Security;
using Microsoft.AspNetCore.Razor.TagHelpers;
using NBitcoin;
namespace BTCPayServer.Abstractions.TagHelpers;
[HtmlTargetElement("srv-model")]
public class SrvModel : TagHelper
{
private readonly Safe _safe;
private readonly ContentSecurityPolicies _csp;
public SrvModel(Safe safe, ContentSecurityPolicies csp)
{
_safe = safe;
_csp = csp;
}
public string VarName { get; set; } = "srvModel";
public object Model { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "script";
output.TagMode = TagMode.StartTagAndEndTag;
output.Attributes.Add(new TagHelperAttribute("type", "text/javascript"));
var nonce = RandomUtils.GetUInt256().ToString().Substring(0, 32);
output.Attributes.Add(new TagHelperAttribute("nonce", nonce));
_csp.Add("script-src", $"'nonce-{nonce}'");
output.Content.SetHtmlContent($"var {VarName} = {_safe.Json(Model)};");
}
}

View File

@@ -0,0 +1,314 @@
#nullable enable
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Text.Encodings.Web;
using Microsoft.AspNetCore.Html;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Razor.TagHelpers;
using Microsoft.AspNetCore.Mvc.Rendering;
using Microsoft.AspNetCore.Mvc.Routing;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace BTCPayServer.Abstractions.TagHelpers
{
// A copy of https://github.com/dotnet/aspnetcore/blob/39f0e0b8f40b4754418f81aef0de58a9204a1fe5/src/Mvc/Mvc.Razor/src/TagHelpers/UrlResolutionTagHelper.cs
// slightly modified to also work on use tag.
public class UrlResolutionTagHelper2 : TagHelper
{
// Valid whitespace characters defined by the HTML5 spec.
private static readonly char[] ValidAttributeWhitespaceChars =
new[] { '\t', '\n', '\u000C', '\r', ' ' };
private static readonly Dictionary<string, string[]> ElementAttributeLookups =
new(StringComparer.OrdinalIgnoreCase)
{
{ "use", new[] { "href" } },
{ "a", new[] { "href" } },
{ "applet", new[] { "archive" } },
{ "area", new[] { "href" } },
{ "audio", new[] { "src" } },
{ "base", new[] { "href" } },
{ "blockquote", new[] { "cite" } },
{ "button", new[] { "formaction" } },
{ "del", new[] { "cite" } },
{ "embed", new[] { "src" } },
{ "form", new[] { "action" } },
{ "html", new[] { "manifest" } },
{ "iframe", new[] { "src" } },
{ "img", new[] { "src", "srcset" } },
{ "input", new[] { "src", "formaction" } },
{ "ins", new[] { "cite" } },
{ "link", new[] { "href" } },
{ "menuitem", new[] { "icon" } },
{ "object", new[] { "archive", "data" } },
{ "q", new[] { "cite" } },
{ "script", new[] { "src" } },
{ "source", new[] { "src", "srcset" } },
{ "track", new[] { "src" } },
{ "video", new[] { "poster", "src" } },
};
/// <summary>
/// Creates a new <see cref="UrlResolutionTagHelper"/>.
/// </summary>
/// <param name="urlHelperFactory">The <see cref="IUrlHelperFactory"/>.</param>
/// <param name="htmlEncoder">The <see cref="HtmlEncoder"/>.</param>
public UrlResolutionTagHelper2(IUrlHelperFactory urlHelperFactory, HtmlEncoder htmlEncoder)
{
UrlHelperFactory = urlHelperFactory;
HtmlEncoder = htmlEncoder;
}
/// <inheritdoc />
public override int Order => -1000 - 999;
/// <summary>
/// The <see cref="IUrlHelperFactory"/>.
/// </summary>
protected IUrlHelperFactory UrlHelperFactory { get; }
/// <summary>
/// The <see cref="HtmlEncoder"/>.
/// </summary>
protected HtmlEncoder HtmlEncoder { get; }
/// <summary>
/// The <see cref="ViewContext"/>.
/// </summary>
[HtmlAttributeNotBound]
[ViewContext]
public ViewContext ViewContext { get; set; } = default!;
/// <inheritdoc />
public override void Process(TagHelperContext context, TagHelperOutput output)
{
ArgumentNullException.ThrowIfNull(context);
ArgumentNullException.ThrowIfNull(output);
if (output.TagName == null)
{
return;
}
if (ElementAttributeLookups.TryGetValue(output.TagName, out var attributeNames))
{
for (var i = 0; i < attributeNames.Length; i++)
{
ProcessUrlAttribute(attributeNames[i], output);
}
}
// itemid can be present on any HTML element.
ProcessUrlAttribute("itemid", output);
}
/// <summary>
/// Resolves and updates URL values starting with '~/' (relative to the application's 'webroot' setting) for
/// <paramref name="output"/>'s <see cref="TagHelperOutput.Attributes"/> whose
/// <see cref="TagHelperAttribute.Name"/> is <paramref name="attributeName"/>.
/// </summary>
/// <param name="attributeName">The attribute name used to lookup values to resolve.</param>
/// <param name="output">The <see cref="TagHelperOutput"/>.</param>
protected void ProcessUrlAttribute(string attributeName, TagHelperOutput output)
{
ArgumentNullException.ThrowIfNull(attributeName);
ArgumentNullException.ThrowIfNull(output);
var attributes = output.Attributes;
// Read interface .Count once rather than per iteration
var attributesCount = attributes.Count;
for (var i = 0; i < attributesCount; i++)
{
var attribute = attributes[i];
if (!string.Equals(attribute.Name, attributeName, StringComparison.OrdinalIgnoreCase))
{
continue;
}
if (attribute.Value is string stringValue)
{
if (TryResolveUrl(stringValue, resolvedUrl: out string? resolvedUrl))
{
attributes[i] = new TagHelperAttribute(
attribute.Name,
resolvedUrl,
attribute.ValueStyle);
}
}
else
{
if (attribute.Value is IHtmlContent htmlContent)
{
var htmlString = htmlContent as HtmlString;
if (htmlString != null)
{
// No need for a StringWriter in this case.
stringValue = htmlString.ToString();
}
else
{
using var writer = new StringWriter();
htmlContent.WriteTo(writer, HtmlEncoder);
stringValue = writer.ToString();
}
if (TryResolveUrl(stringValue, resolvedUrl: out IHtmlContent? resolvedUrl))
{
attributes[i] = new TagHelperAttribute(
attribute.Name,
resolvedUrl,
attribute.ValueStyle);
}
else if (htmlString == null)
{
// Not a ~/ URL. Just avoid re-encoding the attribute value later.
attributes[i] = new TagHelperAttribute(
attribute.Name,
new HtmlString(stringValue),
attribute.ValueStyle);
}
}
}
}
}
/// <summary>
/// Tries to resolve the given <paramref name="url"/> value relative to the application's 'webroot' setting.
/// </summary>
/// <param name="url">The URL to resolve.</param>
/// <param name="resolvedUrl">Absolute URL beginning with the application's virtual root. <c>null</c> if
/// <paramref name="url"/> could not be resolved.</param>
/// <returns><c>true</c> if the <paramref name="url"/> could be resolved; <c>false</c> otherwise.</returns>
protected bool TryResolveUrl(string url, out string? resolvedUrl)
{
resolvedUrl = null;
var start = FindRelativeStart(url);
if (start == -1)
{
return false;
}
var trimmedUrl = CreateTrimmedString(url, start);
var urlHelper = UrlHelperFactory.GetUrlHelper(ViewContext);
resolvedUrl = urlHelper.Content(trimmedUrl);
return true;
}
/// <summary>
/// Tries to resolve the given <paramref name="url"/> value relative to the application's 'webroot' setting.
/// </summary>
/// <param name="url">The URL to resolve.</param>
/// <param name="resolvedUrl">
/// Absolute URL beginning with the application's virtual root. <c>null</c> if <paramref name="url"/> could
/// not be resolved.
/// </param>
/// <returns><c>true</c> if the <paramref name="url"/> could be resolved; <c>false</c> otherwise.</returns>
protected bool TryResolveUrl(string url, [NotNullWhen(true)] out IHtmlContent? resolvedUrl)
{
resolvedUrl = null;
var start = FindRelativeStart(url);
if (start == -1)
{
return false;
}
var trimmedUrl = CreateTrimmedString(url, start);
var urlHelper = UrlHelperFactory.GetUrlHelper(ViewContext);
var appRelativeUrl = urlHelper.Content(trimmedUrl);
var postTildeSlashUrlValue = trimmedUrl.Substring(2);
if (!appRelativeUrl.EndsWith(postTildeSlashUrlValue, StringComparison.Ordinal))
{
throw new InvalidOperationException();
}
resolvedUrl = new EncodeFirstSegmentContent(
appRelativeUrl,
appRelativeUrl.Length - postTildeSlashUrlValue.Length,
postTildeSlashUrlValue);
return true;
}
private static int FindRelativeStart(string url)
{
if (url == null || url.Length < 2)
{
return -1;
}
var maxTestLength = url.Length - 2;
var start = 0;
for (; start < url.Length; start++)
{
if (start > maxTestLength)
{
return -1;
}
if (!IsCharWhitespace(url[start]))
{
break;
}
}
// Before doing more work, ensure that the URL we're looking at is app-relative.
if (url[start] != '~' || url[start + 1] != '/')
{
return -1;
}
return start;
}
private static string CreateTrimmedString(string input, int start)
{
var end = input.Length - 1;
for (; end >= start; end--)
{
if (!IsCharWhitespace(input[end]))
{
break;
}
}
var len = end - start + 1;
// Substring returns same string if start == 0 && len == Length
return input.Substring(start, len);
}
private static bool IsCharWhitespace(char ch)
{
return ValidAttributeWhitespaceChars.AsSpan().IndexOf(ch) != -1;
}
private sealed class EncodeFirstSegmentContent : IHtmlContent
{
private readonly string _firstSegment;
private readonly int _firstSegmentLength;
private readonly string _secondSegment;
public EncodeFirstSegmentContent(string firstSegment, int firstSegmentLength, string secondSegment)
{
_firstSegment = firstSegment;
_firstSegmentLength = firstSegmentLength;
_secondSegment = secondSegment;
}
public void WriteTo(TextWriter writer, HtmlEncoder encoder)
{
encoder.Encode(writer, _firstSegment, 0, _firstSegmentLength);
writer.Write(_secondSegment);
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -0,0 +1,38 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<LangVersion>10.0</LangVersion>
<Company>BTCPay Server</Company>
<Copyright>Copyright © BTCPay Server 2020</Copyright>
<Description>A client library for BTCPay Server Greenfield API</Description>
<PackageIcon>icon.png</PackageIcon>
<PackageTags>btcpay,btcpayserver</PackageTags>
<PackageProjectUrl>https://github.com/btcpayserver/btcpayserver/tree/master/BTCPayServer.Client</PackageProjectUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryUrl>https://github.com/btcpayserver/btcpayserver</RepositoryUrl>
<RepositoryType>git</RepositoryType>
</PropertyGroup>
<PropertyGroup>
<Version Condition=" '$(Version)' == '' ">1.7.2</Version>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
<NoWarn>1591;1573;1572;1584;1570;3021</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Release' ">
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="BTCPayServer.Lightning.Common" Version="1.3.21" />
<PackageReference Include="NBitcoin" Version="7.0.24" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
<ItemGroup>
<None Include="icon.png" Pack="true" PackagePath="\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,58 @@
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<ApiKeyData> GetCurrentAPIKeyInfo(CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest("api/v1/api-keys/current"), token);
return await HandleResponse<ApiKeyData>(response);
}
public virtual async Task<ApiKeyData> CreateAPIKey(CreateApiKeyRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(CreateHttpRequest("api/v1/api-keys", bodyPayload: request, method: HttpMethod.Post), token);
return await HandleResponse<ApiKeyData>(response);
}
public virtual async Task<ApiKeyData> CreateAPIKey(string userId, CreateApiKeyRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/users/{userId}/api-keys",
bodyPayload: request, method: HttpMethod.Post), token);
return await HandleResponse<ApiKeyData>(response);
}
public virtual async Task RevokeCurrentAPIKeyInfo(CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest("api/v1/api-keys/current", null, HttpMethod.Delete), token);
await HandleResponse(response);
}
public virtual async Task RevokeAPIKey(string apikey, CancellationToken token = default)
{
if (apikey == null)
throw new ArgumentNullException(nameof(apikey));
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/api-keys/{apikey}", null, HttpMethod.Delete), token);
await HandleResponse(response);
}
public virtual async Task RevokeAPIKey(string userId, string apikey, CancellationToken token = default)
{
if (apikey == null)
throw new ArgumentNullException(nameof(apikey));
if (userId is null)
throw new ArgumentNullException(nameof(userId));
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/users/{userId}/api-keys/{apikey}", null, HttpMethod.Delete), token);
await HandleResponse(response);
}
}
}

View File

@@ -0,0 +1,103 @@
using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<PointOfSaleAppData> CreatePointOfSaleApp(string storeId,
CreatePointOfSaleAppRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/apps/pos", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<PointOfSaleAppData>(response);
}
public virtual async Task<CrowdfundAppData> CreateCrowdfundApp(string storeId,
CreateCrowdfundAppRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/apps/crowdfund", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<CrowdfundAppData>(response);
}
public virtual async Task<PointOfSaleAppData> UpdatePointOfSaleApp(string appId,
CreatePointOfSaleAppRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/apps/pos/{appId}", bodyPayload: request,
method: HttpMethod.Put), token);
return await HandleResponse<PointOfSaleAppData>(response);
}
public virtual async Task<AppDataBase> GetApp(string appId, CancellationToken token = default)
{
if (appId == null)
throw new ArgumentNullException(nameof(appId));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/apps/{appId}",
method: HttpMethod.Get), token);
return await HandleResponse<AppDataBase>(response);
}
public virtual async Task<AppDataBase[]> GetAllApps(string storeId, CancellationToken token = default)
{
if (storeId == null)
throw new ArgumentNullException(nameof(storeId));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/apps",
method: HttpMethod.Get), token);
return await HandleResponse<AppDataBase[]>(response);
}
public virtual async Task<AppDataBase[]> GetAllApps(CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/apps",
method: HttpMethod.Get), token);
return await HandleResponse<AppDataBase[]>(response);
}
public virtual async Task<PointOfSaleAppData> GetPosApp(string appId, CancellationToken token = default)
{
if (appId == null)
throw new ArgumentNullException(nameof(appId));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/apps/pos/{appId}",
method: HttpMethod.Get), token);
return await HandleResponse<PointOfSaleAppData>(response);
}
public virtual async Task<CrowdfundAppData> GetCrowdfundApp(string appId, CancellationToken token = default)
{
if (appId == null)
throw new ArgumentNullException(nameof(appId));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/apps/crowdfund/{appId}",
method: HttpMethod.Get), token);
return await HandleResponse<CrowdfundAppData>(response);
}
public virtual async Task DeleteApp(string appId, CancellationToken token = default)
{
if (appId == null)
throw new ArgumentNullException(nameof(appId));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/apps/{appId}",
method: HttpMethod.Delete), token);
await HandleResponse(response);
}
}
}

View File

@@ -0,0 +1,34 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public static Uri GenerateAuthorizeUri(Uri btcpayHost, string[] permissions, bool strict = true,
bool selectiveStores = false, (string ApplicationIdentifier, Uri Redirect) applicationDetails = default)
{
var result = new UriBuilder(btcpayHost);
result.Path = "api-keys/authorize";
AppendPayloadToQuery(result,
new Dictionary<string, object>()
{
{"strict", strict}, {"selectiveStores", selectiveStores}, {"permissions", permissions}
});
if (applicationDetails.Redirect != null)
{
AppendPayloadToQuery(result, new KeyValuePair<string, object>("redirect", applicationDetails.Redirect));
if (!string.IsNullOrEmpty(applicationDetails.ApplicationIdentifier))
{
AppendPayloadToQuery(result, new KeyValuePair<string, object>("applicationIdentifier", applicationDetails.ApplicationIdentifier));
}
}
return result.Uri;
}
}
}

View File

@@ -0,0 +1,102 @@
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<IEnumerable<CustodianAccountData>> GetCustodianAccounts(string storeId, bool includeAssetBalances = false, CancellationToken token = default)
{
var queryPayload = new Dictionary<string, object>();
if (includeAssetBalances)
{
queryPayload.Add("assetBalances", "true");
}
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts", queryPayload), token);
return await HandleResponse<IEnumerable<CustodianAccountData>>(response);
}
public virtual async Task<CustodianAccountResponse> GetCustodianAccount(string storeId, string accountId, bool includeAssetBalances = false, CancellationToken token = default)
{
var queryPayload = new Dictionary<string, object>();
if (includeAssetBalances)
{
queryPayload.Add("assetBalances", "true");
}
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}", queryPayload), token);
return await HandleResponse<CustodianAccountResponse>(response);
}
public virtual async Task<CustodianAccountData> CreateCustodianAccount(string storeId, CreateCustodianAccountRequest request, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts", bodyPayload: request, method: HttpMethod.Post), token);
return await HandleResponse<CustodianAccountData>(response);
}
public virtual async Task<CustodianAccountData> UpdateCustodianAccount(string storeId, string accountId, CreateCustodianAccountRequest request, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}", bodyPayload: request, method: HttpMethod.Put), token);
return await HandleResponse<CustodianAccountData>(response);
}
public virtual async Task DeleteCustodianAccount(string storeId, string accountId, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}", method: HttpMethod.Delete), token);
await HandleResponse(response);
}
public virtual async Task<DepositAddressData> GetCustodianAccountDepositAddress(string storeId, string accountId, string paymentMethod, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}/addresses/{paymentMethod}"), token);
return await HandleResponse<DepositAddressData>(response);
}
public virtual async Task<MarketTradeResponseData> MarketTradeCustodianAccountAsset(string storeId, string accountId, TradeRequestData request, CancellationToken token = default)
{
//var response = await _httpClient.SendAsync(CreateHttpRequest("api/v1/users", null, request, HttpMethod.Post), token);
//return await HandleResponse<ApplicationUserData>(response);
var internalRequest = CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}/trades/market", null,
request, HttpMethod.Post);
var response = await _httpClient.SendAsync(internalRequest, token);
return await HandleResponse<MarketTradeResponseData>(response);
}
public virtual async Task<MarketTradeResponseData> GetCustodianAccountTradeInfo(string storeId, string accountId, string tradeId, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}/trades/{tradeId}", method: HttpMethod.Get), token);
return await HandleResponse<MarketTradeResponseData>(response);
}
public virtual async Task<TradeQuoteResponseData> GetCustodianAccountTradeQuote(string storeId, string accountId, string fromAsset, string toAsset, CancellationToken token = default)
{
var queryPayload = new Dictionary<string, object>();
queryPayload.Add("fromAsset", fromAsset);
queryPayload.Add("toAsset", toAsset);
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}/trades/quote", queryPayload), token);
return await HandleResponse<TradeQuoteResponseData>(response);
}
public virtual async Task<WithdrawalResponseData> CreateCustodianAccountWithdrawal(string storeId, string accountId, WithdrawRequestData request, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}/withdrawals", bodyPayload: request, method: HttpMethod.Post), token);
return await HandleResponse<WithdrawalResponseData>(response);
}
public virtual async Task<WithdrawalSimulationResponseData> SimulateCustodianAccountWithdrawal(string storeId, string accountId, WithdrawRequestData request, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}/withdrawals/simulation", bodyPayload: request, method: HttpMethod.Post), token);
return await HandleResponse<WithdrawalSimulationResponseData>(response);
}
public virtual async Task<WithdrawalResponseData> GetCustodianAccountWithdrawalInfo(string storeId, string accountId, string paymentMethod, string withdrawalId, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest($"api/v1/stores/{storeId}/custodian-accounts/{accountId}/withdrawals/{paymentMethod}/{withdrawalId}", method: HttpMethod.Get), token);
return await HandleResponse<WithdrawalResponseData>(response);
}
}
}

View File

@@ -0,0 +1,16 @@
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<IEnumerable<CustodianData>> GetCustodians(CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest("api/v1/custodians"), token);
return await HandleResponse<IEnumerable<CustodianData>>(response);
}
}
}

View File

@@ -0,0 +1,15 @@
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<ApiHealthData> GetHealth(CancellationToken token = default)
{
var response = await _httpClient.SendAsync(CreateHttpRequest("api/v1/health"), token);
return await HandleResponse<ApiHealthData>(response);
}
}
}

View File

@@ -0,0 +1,145 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
using NBitcoin;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<IEnumerable<InvoiceData>> GetInvoices(string storeId, string[] orderId = null,
InvoiceStatus[] status = null,
DateTimeOffset? startDate = null,
DateTimeOffset? endDate = null,
string textSearch = null,
bool includeArchived = false,
int? skip = null,
int? take = null,
CancellationToken token = default)
{
Dictionary<string, object> queryPayload = new Dictionary<string, object>();
queryPayload.Add(nameof(includeArchived), includeArchived);
if (startDate is DateTimeOffset s)
queryPayload.Add(nameof(startDate), Utils.DateTimeToUnixTime(s));
if (endDate is DateTimeOffset e)
queryPayload.Add(nameof(endDate), Utils.DateTimeToUnixTime(e));
if (orderId != null)
queryPayload.Add(nameof(orderId), orderId);
if (textSearch != null)
queryPayload.Add(nameof(textSearch), textSearch);
if (status != null)
queryPayload.Add(nameof(status), status.Select(s => s.ToString().ToLower()).ToArray());
if (skip != null)
{
queryPayload.Add(nameof(skip), skip);
}
if (take != null)
{
queryPayload.Add(nameof(take), take);
}
var response =
await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices",
queryPayload), token);
return await HandleResponse<IEnumerable<InvoiceData>>(response);
}
public virtual async Task<InvoiceData> GetInvoice(string storeId, string invoiceId,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices/{invoiceId}"), token);
return await HandleResponse<InvoiceData>(response);
}
public virtual async Task<InvoicePaymentMethodDataModel[]> GetInvoicePaymentMethods(string storeId, string invoiceId,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods"), token);
return await HandleResponse<InvoicePaymentMethodDataModel[]>(response);
}
public virtual async Task ArchiveInvoice(string storeId, string invoiceId,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices/{invoiceId}",
method: HttpMethod.Delete), token);
await HandleResponse(response);
}
public virtual async Task<InvoiceData> CreateInvoice(string storeId,
CreateInvoiceRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<InvoiceData>(response);
}
public virtual async Task<InvoiceData> UpdateInvoice(string storeId, string invoiceId,
UpdateInvoiceRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices/{invoiceId}", bodyPayload: request,
method: HttpMethod.Put), token);
return await HandleResponse<InvoiceData>(response);
}
public virtual async Task<InvoiceData> MarkInvoiceStatus(string storeId, string invoiceId,
MarkInvoiceStatusRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
if (request.Status != InvoiceStatus.Settled && request.Status != InvoiceStatus.Invalid)
throw new ArgumentOutOfRangeException(nameof(request.Status), "Status can only be Invalid or Complete");
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices/{invoiceId}/status", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<InvoiceData>(response);
}
public virtual async Task<InvoiceData> UnarchiveInvoice(string storeId, string invoiceId, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices/{invoiceId}/unarchive",
method: HttpMethod.Post), token);
return await HandleResponse<InvoiceData>(response);
}
public virtual async Task ActivateInvoicePaymentMethod(string storeId, string invoiceId, string paymentMethod, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices/{invoiceId}/payment-methods/{paymentMethod}/activate",
method: HttpMethod.Post), token);
await HandleResponse(response);
}
public virtual async Task<PullPaymentData> RefundInvoice(
string storeId,
string invoiceId,
RefundInvoiceRequest request,
CancellationToken token = default
)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/invoices/{invoiceId}/refund", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<PullPaymentData>(response);
}
}
}

View File

@@ -0,0 +1,59 @@
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<IEnumerable<LNURLPayPaymentMethodData>>
GetStoreLNURLPayPaymentMethods(string storeId, bool? enabled = null,
CancellationToken token = default)
{
var query = new Dictionary<string, object>();
if (enabled != null)
{
query.Add(nameof(enabled), enabled);
}
var response =
await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LNURLPay",
query), token);
return await HandleResponse<IEnumerable<LNURLPayPaymentMethodData>>(response);
}
public virtual async Task<LNURLPayPaymentMethodData> GetStoreLNURLPayPaymentMethod(
string storeId,
string cryptoCode, CancellationToken token = default)
{
var response =
await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LNURLPay/{cryptoCode}"), token);
return await HandleResponse<LNURLPayPaymentMethodData>(response);
}
public virtual async Task RemoveStoreLNURLPayPaymentMethod(string storeId,
string cryptoCode, CancellationToken token = default)
{
var response =
await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LNURLPay/{cryptoCode}",
method: HttpMethod.Delete), token);
await HandleResponse(response);
}
public virtual async Task<LNURLPayPaymentMethodData> UpdateStoreLNURLPayPaymentMethod(
string storeId,
string cryptoCode, LNURLPayPaymentMethodData paymentMethod,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LNURLPay/{cryptoCode}",
bodyPayload: paymentMethod, method: HttpMethod.Put), token);
return await HandleResponse<LNURLPayPaymentMethodData>(response);
}
}
}

View File

@@ -0,0 +1,146 @@
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<LightningNodeInformationData> GetLightningNodeInfo(string cryptoCode,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/info",
method: HttpMethod.Get), token);
return await HandleResponse<LightningNodeInformationData>(response);
}
public virtual async Task<LightningNodeBalanceData> GetLightningNodeBalance(string cryptoCode,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/balance",
method: HttpMethod.Get), token);
return await HandleResponse<LightningNodeBalanceData>(response);
}
public virtual async Task ConnectToLightningNode(string cryptoCode, ConnectToNodeRequest request,
CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/connect", bodyPayload: request,
method: HttpMethod.Post), token);
await HandleResponse(response);
}
public virtual async Task<IEnumerable<LightningChannelData>> GetLightningNodeChannels(string cryptoCode,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/channels",
method: HttpMethod.Get), token);
return await HandleResponse<IEnumerable<LightningChannelData>>(response);
}
public virtual async Task OpenLightningChannel(string cryptoCode, OpenLightningChannelRequest request,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/channels", bodyPayload: request,
method: HttpMethod.Post), token);
await HandleResponse(response);
}
public virtual async Task<string> GetLightningDepositAddress(string cryptoCode, CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/address", method: HttpMethod.Post), token);
return await HandleResponse<string>(response);
}
public virtual async Task<LightningPaymentData> PayLightningInvoice(string cryptoCode, PayLightningInvoiceRequest request,
CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/invoices/pay", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<LightningPaymentData>(response);
}
public virtual async Task<LightningPaymentData> GetLightningPayment(string cryptoCode,
string paymentHash, CancellationToken token = default)
{
if (paymentHash == null)
throw new ArgumentNullException(nameof(paymentHash));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/payments/{paymentHash}",
method: HttpMethod.Get), token);
return await HandleResponse<LightningPaymentData>(response);
}
public virtual async Task<LightningInvoiceData> GetLightningInvoice(string cryptoCode,
string invoiceId, CancellationToken token = default)
{
if (invoiceId == null)
throw new ArgumentNullException(nameof(invoiceId));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/invoices/{invoiceId}",
method: HttpMethod.Get), token);
return await HandleResponse<LightningInvoiceData>(response);
}
public virtual async Task<LightningInvoiceData[]> GetLightningInvoices(string cryptoCode,
bool? pendingOnly = null, long? offsetIndex = null, CancellationToken token = default)
{
var queryPayload = new Dictionary<string, object>();
if (pendingOnly is bool v)
{
queryPayload.Add("pendingOnly", v.ToString());
}
if (offsetIndex is > 0)
{
queryPayload.Add("offsetIndex", offsetIndex);
}
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/invoices", queryPayload), token);
return await HandleResponse<LightningInvoiceData[]>(response);
}
public virtual async Task<LightningPaymentData[]> GetLightningPayments(string cryptoCode,
bool? includePending = null, long? offsetIndex = null, CancellationToken token = default)
{
var queryPayload = new Dictionary<string, object>();
if (includePending is bool v)
{
queryPayload.Add("includePending", v.ToString());
}
if (offsetIndex is > 0)
{
queryPayload.Add("offsetIndex", offsetIndex);
}
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/payments", queryPayload), token);
return await HandleResponse<LightningPaymentData[]>(response);
}
public virtual async Task<LightningInvoiceData> CreateLightningInvoice(string cryptoCode, CreateLightningInvoiceRequest request,
CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/server/lightning/{cryptoCode}/invoices", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<LightningInvoiceData>(response);
}
}
}

View File

@@ -0,0 +1,148 @@
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<LightningNodeInformationData> GetLightningNodeInfo(string storeId, string cryptoCode,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/info",
method: HttpMethod.Get), token);
return await HandleResponse<LightningNodeInformationData>(response);
}
public virtual async Task<LightningNodeBalanceData> GetLightningNodeBalance(string storeId, string cryptoCode,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/balance",
method: HttpMethod.Get), token);
return await HandleResponse<LightningNodeBalanceData>(response);
}
public virtual async Task ConnectToLightningNode(string storeId, string cryptoCode, ConnectToNodeRequest request,
CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/connect", bodyPayload: request,
method: HttpMethod.Post), token);
await HandleResponse(response);
}
public virtual async Task<IEnumerable<LightningChannelData>> GetLightningNodeChannels(string storeId, string cryptoCode,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/channels",
method: HttpMethod.Get), token);
return await HandleResponse<IEnumerable<LightningChannelData>>(response);
}
public virtual async Task OpenLightningChannel(string storeId, string cryptoCode, OpenLightningChannelRequest request,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/channels", bodyPayload: request,
method: HttpMethod.Post), token);
await HandleResponse(response);
}
public virtual async Task<string> GetLightningDepositAddress(string storeId, string cryptoCode,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/address", method: HttpMethod.Post),
token);
return await HandleResponse<string>(response);
}
public virtual async Task<LightningPaymentData> PayLightningInvoice(string storeId, string cryptoCode, PayLightningInvoiceRequest request,
CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices/pay", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<LightningPaymentData>(response);
}
public virtual async Task<LightningPaymentData> GetLightningPayment(string storeId, string cryptoCode,
string paymentHash, CancellationToken token = default)
{
if (paymentHash == null)
throw new ArgumentNullException(nameof(paymentHash));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/payments/{paymentHash}",
method: HttpMethod.Get), token);
return await HandleResponse<LightningPaymentData>(response);
}
public virtual async Task<LightningInvoiceData> GetLightningInvoice(string storeId, string cryptoCode,
string invoiceId, CancellationToken token = default)
{
if (invoiceId == null)
throw new ArgumentNullException(nameof(invoiceId));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices/{invoiceId}",
method: HttpMethod.Get), token);
return await HandleResponse<LightningInvoiceData>(response);
}
public virtual async Task<LightningInvoiceData[]> GetLightningInvoices(string storeId, string cryptoCode,
bool? pendingOnly = null, long? offsetIndex = null, CancellationToken token = default)
{
var queryPayload = new Dictionary<string, object>();
if (pendingOnly is bool v)
{
queryPayload.Add("pendingOnly", v.ToString());
}
if (offsetIndex is > 0)
{
queryPayload.Add("offsetIndex", offsetIndex);
}
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices", queryPayload), token);
return await HandleResponse<LightningInvoiceData[]>(response);
}
public virtual async Task<LightningPaymentData[]> GetLightningPayments(string storeId, string cryptoCode,
bool? includePending = null, long? offsetIndex = null, CancellationToken token = default)
{
var queryPayload = new Dictionary<string, object>();
if (includePending is bool v)
{
queryPayload.Add("includePending", v.ToString());
}
if (offsetIndex is > 0)
{
queryPayload.Add("offsetIndex", offsetIndex);
}
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/payments", queryPayload), token);
return await HandleResponse<LightningPaymentData[]>(response);
}
public virtual async Task<LightningInvoiceData> CreateLightningInvoice(string storeId, string cryptoCode,
CreateLightningInvoiceRequest request, CancellationToken token = default)
{
if (request == null)
throw new ArgumentNullException(nameof(request));
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning/{cryptoCode}/invoices", bodyPayload: request,
method: HttpMethod.Post), token);
return await HandleResponse<LightningInvoiceData>(response);
}
}
}

View File

@@ -0,0 +1,48 @@
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<LightningAddressData[]> GetStoreLightningAddresses(string storeId,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning-addresses",
method: HttpMethod.Get), token);
return await HandleResponse<LightningAddressData[]>(response);
}
public virtual async Task<LightningAddressData> GetStoreLightningAddress(string storeId, string username,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning-addresses/{username}",
method: HttpMethod.Get), token);
return await HandleResponse<LightningAddressData>(response);
}
public virtual async Task RemoveStoreLightningAddress(string storeId, string username,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning-addresses/{username}",
method: HttpMethod.Delete), token);
await HandleResponse(response);
}
public virtual async Task<LightningAddressData> AddOrUpdateStoreLightningAddress(string storeId,
string username, LightningAddressData data,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/lightning-addresses/{username}",
method: HttpMethod.Post, bodyPayload: data), token);
return await HandleResponse<LightningAddressData>(response);
}
}
}

View File

@@ -0,0 +1,59 @@
using System.Collections.Generic;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using BTCPayServer.Client.Models;
namespace BTCPayServer.Client
{
public partial class BTCPayServerClient
{
public virtual async Task<IEnumerable<LightningNetworkPaymentMethodData>>
GetStoreLightningNetworkPaymentMethods(string storeId, bool? enabled = null,
CancellationToken token = default)
{
var query = new Dictionary<string, object>();
if (enabled != null)
{
query.Add(nameof(enabled), enabled);
}
var response =
await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LightningNetwork",
query), token);
return await HandleResponse<IEnumerable<LightningNetworkPaymentMethodData>>(response);
}
public virtual async Task<LightningNetworkPaymentMethodData> GetStoreLightningNetworkPaymentMethod(
string storeId,
string cryptoCode, CancellationToken token = default)
{
var response =
await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LightningNetwork/{cryptoCode}"), token);
return await HandleResponse<LightningNetworkPaymentMethodData>(response);
}
public virtual async Task RemoveStoreLightningNetworkPaymentMethod(string storeId,
string cryptoCode, CancellationToken token = default)
{
var response =
await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LightningNetwork/{cryptoCode}",
method: HttpMethod.Delete), token);
await HandleResponse(response);
}
public virtual async Task<LightningNetworkPaymentMethodData> UpdateStoreLightningNetworkPaymentMethod(
string storeId,
string cryptoCode, UpdateLightningNetworkPaymentMethodRequest paymentMethod,
CancellationToken token = default)
{
var response = await _httpClient.SendAsync(
CreateHttpRequest($"api/v1/stores/{storeId}/payment-methods/LightningNetwork/{cryptoCode}",
bodyPayload: paymentMethod, method: HttpMethod.Put), token);
return await HandleResponse<LightningNetworkPaymentMethodData>(response);
}
}
}

Some files were not shown because too many files have changed in this diff Show More