* 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>
* 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>
* Fix formatting in bootstrap.css
This looks like it got introduced when resolving a merge conflict.
* Fix typos in views
* Fix semibold style definition
* 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>
* 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>
* 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
* 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>
* 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 2e0d256325.
* 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
* 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
* GreenField API: Configure Store Lightning Payment Method
* Remove internal ln node endpoint and use Auth service to check internal node usage
* fix test
* 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
* 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
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.