nicolas.dorier
59afc05661
Log hosted services exiting
2019-10-19 14:12:43 +09:00
nicolas.dorier
fee106abef
Remove possible NRE when app start
2019-10-19 13:50:52 +09:00
nicolas.dorier
536f98b566
Fix entity framework queries to work in netcoreapp3.0
2019-10-06 15:48:12 +09:00
Kukks
59839a3332
make sure networks are abstracted properly
2019-09-21 16:39:44 +02:00
nicolas.dorier
3dada3c464
Remove SSH warning if no SSH settings set
2019-09-20 15:26:09 +09:00
nicolas.dorier
42dda56eea
Retry SSH connection later if it fails
2019-09-19 16:54:07 +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
Andrew Camilleri
d99beb9811
New feature: Apps limited inventory ( #961 )
2019-09-02 22:37:52 +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
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
3dac7ef3f3
Fix dynamic dns
2019-07-25 23:26: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
nicolas.dorier
36046f08f7
Use Migration startup task when starting BTCPay instead of hosted service.
2019-07-08 12:12:39 +09:00
Kukks
6cab02cd99
Multiple domains for apps in BTCPay
...
closes #887
2019-06-25 20:41:32 +02: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
bea08e5cfd
Refactor: Remove uneeded dependencies to PaymentMethodHandlerDictionary
2019-06-04 10:17:26 +09:00
nicolas.dorier
ae4b2ab1fd
Fix #875
2019-06-03 16:46:35 +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
rockstardev
b300404bc7
Extending invoice monitoring if max confirmation count not reached
2019-05-25 17:20:17 -05:00
Nicolas Dorier
512ee16620
Refactor invoice entity to not have to inject the NetworkProvider ( #858 )
2019-05-24 22:22:38 +09:00
rockstardev
e6c794d68f
Moving update of confirmation count to InvoiceWatcher
2019-05-12 14:56:13 +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
914eaaaa51
Refactor DerivationStrategy to DerivationSchemeSettings
2019-05-09 00:55:44 +09:00
nicolas.dorier
f93d1173e2
Show tor exposed bitcoin node
2019-05-07 13:58:55 +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
5190639b77
Simplify InvoiceWatcher logic and remove unused code
2019-04-08 13:28:13 +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
nicolas.dorier
767eca97cb
Fix tests
2019-03-31 13:31:50 +09:00
nicolas.dorier
e5a26cfca8
Update dependencies
2019-03-31 12:08:08 +09:00
nicolas.dorier
978b7d930e
Catch operation cancelled exception on the BackgroundJobScheduler
2019-03-29 18:09:54 +09:00
nicolas.dorier
5d9da82d8e
fix build
2019-03-27 18:58:56 +09:00
nicolas.dorier
0bd02a9272
Fix some exceptions raised if port is already used
2019-03-27 18:56:43 +09:00
nicolas.dorier
abbdbda03a
Add Bitbank provider
2019-03-20 00:49:44 +09:00
nicolas.dorier
e3a8892d24
Check tor services in the background
2019-03-17 21:07:24 +09:00
Kukks
053c2da9f1
use thememanager instead of view component
2019-03-09 16:29:04 +01: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
1d3f144d21
Support relative path for external services, simplify the code in Services
2019-03-01 13:20:21 +09:00
Kukks
ad25a2ed08
Add payment requests
2019-02-25 17:56:28 +09:00
nicolas.dorier
010c653995
Create EventHostedServiceBase and make AppHubStreamer use this
2019-02-20 12:27:10 +09:00
nicolas.dorier
50c8525012
Moving CrowdfundSettings in its own file
2019-02-19 13:07:10 +09:00
nicolas.dorier
dc46fd225a
Migrate old crowdfund deployment to the new tagging system
2019-02-19 12:53:24 +09:00
nicolas.dorier
c071c81403
Pass the whole Entity object to internal InvoiceEvent
2019-02-19 12:08:07 +09:00
nicolas.dorier
b1584c352b
Free some memory
2019-02-17 16:13:16 +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
Kukks
cfb4b080d3
Emails on store level
2019-01-22 21:38:39 +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
Kukks
5076d73695
Enhance Invoice Events
2019-01-06 10:12:45 +01:00
nicolas.dorier
a05cd5678b
Add support for removing network fee on first payment
2019-01-05 17:45:49 +09:00
nicolas.dorier
0d06cf63b7
Use enum for invoice status and invoice exception
2018-12-10 21:48:28 +09:00
nicolas.dorier
b5c9a03052
Can mark invoice as complete
2018-12-10 15:34:48 +09:00
nicolas.dorier
9209984a2f
Remove useless argument from GetInvoice
2018-12-06 17:05:27 +09:00
nicolas.dorier
2896a9b26f
Add ScanUTXOSet support
2018-10-26 23:07:39 +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
nicolas.dorier
f12114f9aa
Poll and cache rates in parallel
2018-08-23 00:24:33 +09:00
nicolas.dorier
87d384dba5
Decouple RateProviderFactory with RateFetcher
2018-08-22 16:53:40 +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
6a1eca760a
Can configure BTCPay SSH connection at startup
2018-08-12 21:38:45 +09:00
nicolas.dorier
1e582625f3
fix migration bug
2018-08-01 18:50:33 +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
Andrew Camilleri
f3edaf5160
Merge remote-tracking branch 'btcpayserver/master' into feature/bitpayrates
2018-07-27 05:57:25 +02: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
96721e95a2
Clean unreachable store if user is deleted
2018-07-20 15:24:19 +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
976d9d0cda
Add CSP (Disable it if custom theming)
2018-07-12 17:38:21 +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
Andrew Camilleri
1879ea55e8
init bitpay rates api
2018-05-21 16:49:37 +02:00
Andrew Camilleri
ee4f83ddba
small fixes
2018-05-11 12:21:25 +02:00
Andrew Camilleri
239a011e60
add new properties and change types to decimal
2018-05-11 11:31:21 +02:00
nicolas.dorier
66a68d6180
Rename LockSubscription, remove the link if not available
2018-05-10 16:02:49 +09:00
nicolas.dorier
d41a5a65a2
Update posgres and clightning in tests
2018-05-10 11:56:46 +09:00
nicolas.dorier
cdc0b0d628
Fix crash when creating a token
2018-05-06 19:03:30 +09:00
nicolas.dorier
272ac49872
try to better respect event ordering
2018-05-06 02:06:07 +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
Andrew Camilleri
9a92646d4d
add test and refactor for PR
2018-05-05 16:07:22 +02: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
c3d73236e0
start work on payment tolerance feature
2018-05-04 16:15:34 +02:00
nicolas.dorier
e57a488371
Refactor the RateProvider
2018-05-03 03:32:42 +09:00
nicolas.dorier
21bbf49640
Rewrite authorization enforcement and simplify the code
2018-04-30 22:00:43 +09:00
nicolas.dorier
9339c7dff2
Make sure btcpay does not wait all the invoces to be cleaned to start
2018-04-30 15:39:47 +09:00
lepipele
042142396d
Refactoring code to adhere to naming guidelines
2018-04-26 21:52:04 -05:00
lepipele
fbc4ca89aa
Enapsulating Token per code review discussions
2018-04-26 21:44:21 -05:00
lepipele
2e5d29064b
Removing CssThemeManager dependency on ServerController
...
Using newly created BaseAsyncService to listen for database changes of theme setting
2018-04-26 21:39:43 -05:00
lepipele
ef0b8376d3
Abstracting hosted service that has listen loop tasks
2018-04-26 21:39:43 -05:00
nicolas.dorier
a7ad71d492
CoinAverage credentials are now correctly passed
2018-04-23 17:21:50 +09:00
nicolas.dorier
c9e5fe42ba
Set default AvailableExchanges inside CoinAverageSettings
2018-04-23 16:12:11 +09:00
nicolas.dorier
56dffbf514
Set default exchange list
2018-04-23 16:09:18 +09:00
nicolas.dorier
e7c06880a8
Use API keys of bitcoinaverage for getting the exchange list
2018-04-23 15:48:18 +09:00
lepipele
0934bebf7b
Merge remote-tracking branch 'source/master' into dev-bootstrap
2018-04-19 11:45:30 -05:00
lepipele
97b59be9bf
Adding page for Theme settings
2018-04-19 11:39:51 -05:00
lepipele
b87ec4f3d9
Primitive versioning of css files to ensure update on change
2018-04-19 11:15:45 -05:00
nicolas.dorier
10c981b2a0
Update NBXplorer
2018-04-19 16:54:25 +09:00
lepipele
3f85918a0c
Merge remote-tracking branch 'source/master' into dev-bootstrap
...
# Conflicts:
# BTCPayServer/Controllers/ServerController.cs
# BTCPayServer/Views/Invoice/Invoice.cshtml
2018-04-18 23:38:10 -05:00
nicolas.dorier
73ed4003a3
Use a drop down for preferred exchange list
2018-04-18 16:38:56 +09:00
nicolas.dorier
5cb8cdd511
Refactoring: Do not query database when asking for Coinaverage rates, periodically get exchange list
2018-04-18 16:38:56 +09:00
lepipele
195b5fdd1a
Adding overriding of CreativeStartUri, refactoring PoliciesSettings
2018-04-17 17:24:00 -05:00
nicolas.dorier
0723eec508
Fix rate handling
2018-04-15 21:21:57 +09:00
lepipele
18986faca8
Merge remote-tracking branch 'source/master' into dev-bootstrap
...
# Conflicts:
# BTCPayServer/Controllers/ServerController.cs
2018-04-14 11:11:38 -05:00
nicolas.dorier
85efc3b00c
fix tests
2018-04-14 23:32:39 +09:00
nicolas.dorier
04c6107196
Can configure rate caching and bitcoinaverage API keys
2018-04-14 22:52:57 +09:00
lepipele
81afe397be
CssThemeManager that injects Bootstrap css uri from settings
2018-04-13 16:15:03 -05:00
nicolas.dorier
21215dc537
Make sure a too high expiration do not trigger "The value needs to translate in milliseconds to -1 (signifying an infinite timeout)"
2018-04-07 11:53:33 +09:00
nicolas.dorier
3a0a5dbd7f
Accept all success HTTP code for invoice callbacks
2018-03-07 14:22:02 -05:00
nicolas.dorier
339cedadf7
Save a call to nbxplorer.GetStatus, update NBXplorer
2018-03-02 14:03:47 -05:00
nicolas.dorier
2e45c8b190
Isolate PaymentMethodId in its own class, generalise DerivationStrategy
2018-02-19 23:13:23 +09:00
nicolas.dorier
b4f4401cdc
remove unused code, remove derivationscheme specific logic from InvoiceEntity
2018-02-19 22:41:47 +09:00
nicolas.dorier
2f3238c65e
Use decimal for calculations instead of Money, and round due amount at ceil satoshi
2018-02-19 18:54:21 +09:00
nicolas.dorier
a634593903
Big refactoring renaming cryptoData => PaymentMethod
2018-02-19 15:09:05 +09:00
nicolas.dorier
35f669aa15
Isolating code of on chain specific payment in its own folder
2018-02-19 11:06:08 +09:00
nicolas.dorier
4795bd8108
Add some sanity check, make sure to use CrytpoDataId everywhere
2018-02-19 03:35:19 +09:00
nicolas.dorier
aa4519ac30
Big refactoring for supporting new type of payment
2018-02-19 02:38:03 +09:00
nicolas.dorier
752133b01c
fix bug
2018-02-18 20:37:42 +09:00
nicolas.dorier
fe0c21ba08
Make sure that IPN sent for the send invoice are sent one at a time
2018-02-18 16:09:09 +09:00
nicolas.dorier
8e3f7ea68d
do not block next invoices if one invoice fail processing
2018-02-18 02:40:53 +09:00
nicolas.dorier
a239104a28
fix uppercase
2018-02-18 02:36:11 +09:00
nicolas.dorier
3bc232e1da
Further isolate bitcoin related stuff inside BitcoinLikePaymentData
2018-02-18 02:35:02 +09:00
nicolas.dorier
a1ee09cd85
Further abstract payment data by encapsulating bitcoin related logic into BitcoinLikePaymentData
2018-02-18 02:19:35 +09:00
nicolas.dorier
b898cc030c
general code cleanup + add analyzers
2018-02-17 13:18:16 +09:00
nicolas.dorier
9d406923ae
make sure the waitingInvoices tasks are done
2018-02-17 01:43:43 +09:00
nicolas.dorier
5de330b1f9
Refactoring to keep coin logic out of InvoiceWatcher
2018-02-17 01:34:40 +09:00
nicolas.dorier
01d898b618
Caching GetCoins
2018-02-15 13:02:12 +09:00
nicolas.dorier
17069c311b
Remove transaction cache
2018-02-15 12:42:48 +09:00
nicolas.dorier
ac70a77361
Fix #38 with paidOver + paidLate
2018-01-24 10:37:23 +01:00
nicolas.dorier
59a2432af9
Better invoice loop, fix javascript
2018-01-20 14:09:57 +09:00
nicolas.dorier
7b9541b8e9
Do not crash if some of the altcoins are unavailable
2018-01-19 17:39:15 +09:00
nicolas.dorier
fe25e00c94
Fix https://github.com/btcpayserver/btcpayserver/issues/38
2018-01-19 10:52:44 +09:00
nicolas.dorier
b0e9e10f7e
Add extended notifications
2018-01-18 20:56:55 +09:00
nicolas.dorier
39d47e33f6
Fix https://github.com/btcpayserver/btcpayserver/issues/31
2018-01-18 18:53:11 +09:00
nicolas.dorier
4b7b6c6327
debug
2018-01-18 18:33:26 +09:00
nicolas.dorier
5ba322ea6a
Add debug messages
2018-01-18 18:12:01 +09:00
nicolas.dorier
b47b4b10cb
should fix https://github.com/btcpayserver/btcpayserver/issues/31
2018-01-18 17:21:29 +09:00
nicolas.dorier
26d3178e93
Fix expiration transitioning with a delay
2018-01-18 12:45:39 +09:00
nicolas.dorier
ecb82f2cc9
do not send IPN if not set
2018-01-15 00:22:40 +09:00
nicolas.dorier
f340c6eb7f
Add more events to invoice
2018-01-14 22:06:06 +09:00
nicolas.dorier
ba0e080816
Invoices has events recorded
2018-01-14 21:48:23 +09:00
nicolas.dorier
df7bb9e2f8
Add info about nbxplorer synching
2018-01-13 01:05:38 +09:00
nicolas.dorier
b59021a0be
Cleanup the design for multi currencies support, use a single nbxplorer instead of two
2018-01-12 11:54:57 +09:00
nicolas.dorier
223558c01d
Adding transaction caching
2018-01-11 21:01:00 +09:00
nicolas.dorier
3a91965187
Some refactoring improving performance, and better tests for multiple currencies
2018-01-11 17:29:48 +09:00
nicolas.dorier
55d50af39d
BTCWallet is single currency, introduce BTCWalletProvider
2018-01-11 14:36:12 +09:00
nicolas.dorier
cb4468d3b3
Fixing payment in different crypto
2018-01-10 18:30:45 +09:00
nicolas.dorier
7618eacef1
Fix: altcoin payment not detected after another coin payment
2018-01-10 15:43:07 +09:00
nicolas.dorier
c80ffe396e
forgot passing cancellation
2018-01-10 02:13:49 +09:00
nicolas.dorier
401a31e5c2
Cleanup code
2018-01-10 02:07:42 +09:00
nicolas.dorier
729555b96f
Fix NBxplorerListener disconnecting itself every minute
2018-01-09 16:10:16 +09:00
nicolas.dorier
76d50b018b
Calculate rate properly per crypto
2018-01-09 02:57:06 +09:00
nicolas.dorier
31672a2587
Add litecoin to docker-compose fix bugs when two networks generate same address
2018-01-09 01:56:37 +09:00
nicolas.dorier
e3a0122eb3
make sure to not crash whole process if nbxplorer unavailable
2018-01-08 18:18:34 +09:00
nicolas.dorier
6003aa4236
Add polling for connection through websocket
2018-01-08 16:50:56 +09:00
nicolas.dorier
8753dd15de
Remove BOM from IPN
2018-01-08 04:18:15 +09:00
nicolas.dorier
6ae6335c6d
Fix layout_cshtml
2018-01-08 04:14:35 +09:00
nicolas.dorier
e3a1eed8b3
Use Websocket for blockchain notifications
2018-01-08 02:36:41 +09:00