btcpayserver/BTCPayServer
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
..
Components Remove replace hardcoded BTC string to default network (#3654) 2022-04-20 10:20:39 +09:00
Configuration Dashboard (#3530) 2022-04-12 16:55:10 +09:00
Controllers Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
Data Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
Events Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
Extensions Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
Fido2 Support LNURL Auth 2022-01-14 13:26:30 +01:00
Filters [Greenfield] if some json property are invalid, throw nice error instead of an exception (fix #2795) 2022-01-10 22:11:04 +09:00
HostedServices Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
Hosting Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
JsonConverters Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
Logging Run dotnet format (#3244) 2021-12-31 16:59:02 +09:00
ModelBinders Remove replace hardcoded BTC string to default network (#3654) 2022-04-20 10:20:39 +09:00
Models Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
PaymentRequest Refactoring: Extract HttpRequest extensions 2022-03-08 08:17:39 +00:00
Payments Bump NBX (#3607) 2022-04-05 14:46:42 +09:00
PayoutProcessors Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
Plugins Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
Properties Dashboard (#3530) 2022-04-12 16:55:10 +09:00
Security Fix Plugin Local Client authorization when user is provided (#3401) 2022-02-02 20:09:08 +09:00
Services Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
SSH Use ArgumentNullException.ThrowIfNull everywhere (#3239) 2021-12-28 17:39:54 +09:00
Storage FileService: AddFile from URL (#3566) 2022-03-31 11:54:25 +02:00
TagHelpers Fix the PSBT signing flow (#3465) 2022-02-17 17:58:56 +09:00
Validation Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
Views Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
wwwroot Transfer Processors (#3476) 2022-04-24 12:19:34 +09:00
_ViewImports.cshtml fix missing bundle tag helper 2021-06-14 08:18:03 +02:00
BitpayHttpException.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
BTCPayServer.csproj Upgrade Lightning lib (#3662) 2022-04-21 21:47:10 +09:00
BTCPayServer.ruleset general code cleanup + add analyzers 2018-02-17 13:18:16 +09:00
bundleconfig.json Streamline JS/CSS bundles (#3520) 2022-03-11 08:41:48 +01:00
CorsPolicies.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
CurrencyValue.cs [Fix] CurrencyValue parsing shouldn't depend on locale 2021-10-21 19:15:02 +09:00
DerivationSchemeParser.cs Run dotnet format (#3244) 2021-12-31 16:59:02 +09:00
DerivationSchemeSettings.cs Dashboard (#3530) 2022-04-12 16:55:10 +09:00
EventAggregator.cs Make sure the SubscribeAsync handlers are executed in order 2022-01-17 13:36:33 +09:00
ExplorerClientProvider.cs Use ArgumentNullException.ThrowIfNull everywhere (#3239) 2021-12-28 17:39:54 +09:00
Extensions.cs FileService: AddFile from URL (#3566) 2022-03-31 11:54:25 +02:00
HwiWebSocketTransport.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
IDelay.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
JsonHttpException.cs Greenfield: Improve error message, do not use internal lightning node on store's lightning API 2021-12-16 14:27:34 +09:00
Program.cs Error messages when starting BTCPay Server where not shown (Fix #3404) 2022-02-06 14:37:31 +09:00
Roles.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
SearchString.cs Store centric UI: Part 3 (#3224) 2021-12-31 16:36:38 +09:00
StorePolicies.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
TransactionComparer.cs Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00
WalletId.cs Use ArgumentNullException.ThrowIfNull everywhere (#3239) 2021-12-28 17:39:54 +09:00
WebsocketExtensions.cs Keep websocket connection alive on notifications and vault 2021-10-05 14:30:01 +09:00
WebSocketHelper.cs Warning if not using 'simple using' 2022-01-14 17:50:29 +09:00
ZoneLimits.cs Fix ratelimiter for forgotpassword 2021-03-28 20:56:46 +09:00