Commit Graph

65 Commits

Author SHA1 Message Date
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
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
Nicolas Dorier
04b8eafacb Run dotnet format (#3244) 2021-12-31 16:59:02 +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
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
Jovo Kljajic
dbf2f99c4e Fixing issue with mysql migration and maxLength (#2541) 2021-05-25 16:03:49 +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
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
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
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
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
76e46d2fa7 Fix performance issues on query over orderId (fix #2114) 2020-12-08 14:43:39 +09:00
nicolas.dorier
f3611ac693 Add Webhooks in store's settings 2020-11-08 15:57:24 +09: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
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
Kukks
9ff93ac2d5 add migration 2020-10-07 11:08:11 +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
85d393fec3 Merge pull request #1872 from Kukks/invoie-severity
Add invoice event severity
2020-09-03 21:24:20 +09:00
Kukks
98c4b658c4 Add invoice event severity
closes #1681
https://i.imgur.com/eyMO9M3.png
2020-09-01 18:19:49 +02: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
rockstardev
f88c02cccd Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
rockstardev
b6c7af32de Cleaning up bom from cs files 2020-06-28 21:44:35 -05:00
nicolas.dorier
51514252b6 Run dotnet format 2020-06-28 17:55:27 +09:00
nicolas.dorier
ae9fae1f7d Consolidate tables before release 2020-06-25 15:43:45 +09:00
nicolas.dorier
5e8b379c50 Add invoice refund 2020-06-25 15:31:46 +09:00
nicolas.dorier
fdc11bba8d Remove old unused refund table 2020-06-25 13:34:25 +09:00
Nicolas Dorier
8230a408ac Add pull payment feature (#1639) 2020-06-24 10:34:09 +09: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
09a72f2cfb Cascade delete notifications for user 2020-06-14 23:49:08 -05:00
rockstardev
2f4967a23a Limiting Notification string fields 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
e834cd7595 Add Notification Entity migration 2020-06-14 23:49:08 -05: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
Kukks
8fa65408ed Archive Payment reqeusts
closes #1588
2020-05-08 12:33:47 +02:00
Kukks
e5a3ef3e22 Archive Invoice 2020-05-07 12:50:07 +02:00
ketominer
a7b926d907 fixed Address field size (back) 2020-04-19 13:48:05 +02:00
ketominer
686f5bf151 Fix MySQL support (fixed width columns instead of blobs) 2020-04-19 11:15:06 +02:00
nicolas.dorier
7434163848 Persist offchain transactions 2020-04-16 14:36:50 +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
Kukks
c6d75de3d7 GreenField: Switch to Blob for API Keys 2020-04-02 09:32:22 +02: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