Moves the `ViewsRazor` extension into Abstractions, so that it can be used by plugins.
Separated out of #2701, prerequisite for the LNbank plugin integration.
* 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
* 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>
* 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
* 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>
* 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
* Allow Payjoin for wallet receive addresses
* wip
* show bip21 and additional work
* style better
* add to docs
* pr changes
* remove from state when unreserved
* 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>
* 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
* 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
* 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
* 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
* 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
* Allow entry in wallet send via fiat
closes#1890https://i.imgur.com/RUrSqD7.gif
* fix min amount in wallet send
* Add divisibility when setting amount from fiat