Commit Graph

234 Commits

Author SHA1 Message Date
d11n
650df97e50
Fix Summernote XSS possibility (#2859) 2021-09-09 22:49:30 +09:00
d11n
fe18e71538
Refactor themes (#2794)
* Remove Bootstrap/Creative CSS file customizability

Customizations should be done using themes

* Remove deprecated Casa and Classic themes

They are still available in the design system repo and should be added as custom theme CSS file

* Use either standard or custom theme

* Remove deprecated themes

* Improve theme select UI

* Finish and refactor theme switching

* updates theme copy

* Update BTCPayServer/Views/Server/Theme.cshtml

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* Combine creative.css and site.css

Co-authored-by: dstrukt <gfxdsign@gmail.com>
Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
2021-09-03 16:16:36 +09:00
Dennis Reimann
63944792b0 Move signing views into wizard 2021-09-02 10:39:35 +02:00
Dennis Reimann
0054fe0886 Refactor copy to clipboard
Separated out of #2701, prerequisite for the LNbank plugin integration.
2021-07-28 08:44:32 +02:00
d11n
3338dcac1c
Richtext editor fixes (#2613)
* UPdate summernote with Bootstrap 5 integration

* Unify summernote options
2021-06-24 19:51:35 +09:00
Nicolas Dorier
e93b030bfe
Update HWI library, warn users to run newer version (#2544)
* Update HWI library, warn users to run newer version

* Update BTCPayServer/wwwroot/js/vaultbridge.ui.js

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>

* Update BTCPayServer/wwwroot/js/vaultbridge.ui.js

Co-authored-by: Pavlenex <pavle@pavle.org>

Co-authored-by: Zaxounette <51208677+Zaxounette@users.noreply.github.com>
Co-authored-by: Pavlenex <pavle@pavle.org>
2021-06-06 21:02:15 +09:00
d11n
ed7031981b
Bootstrap v5 migration (#2490)
* Swap bootstrap asset files

* Update themes and color definitions

* Move general bootstrap customizations

* Theme updates

Theme updates

* Remove BuildBundlerMinifier

This lead to an error, because BuildBundlerMinifier and BundlerMinifier.Core seem to conflict here. Details: https://stackoverflow.com/a/61119586

* Rewplace btn-block class with w-100

* Update badge classes

* Remove old font family head variable

* Update margin classes

* Cleanups

* Update float classes

* Update text classes

* Update padding classes

* Update border classes

* UPdate dropdown classes

* Update select classes

* Update neutral custom props

* Update bootstrap and customizations

* Update ChromeDriver; disable smooth scroll

https://github.com/SeleniumHQ/selenium/issues/8295

* Improve alert messages

* Improve bootstrap customizations

* Disable reduced motion

See also 7358282f

* Update Bootstrap data attributes

* Update file inputs

* Update input groups

* Replace deprecated jumbotron class

* Update variables; re-add negative margin util classes

* Update cards

* Update form labels

* Debug alerts

* Fix aria-labelledby associations

* Dropdown-related test fixes

* Fix CanUseWebhooks test

* Test fixes

* Nav updates

* Fix nav usage in wallet send and payouts

* Update alert and modal close buttons

* Re-add backdrop properties

* Upgrade Bootstrap to v5 final

* Update screen reader classes

* Update font-weight classes

* Update monospace font classes

* Update accordians

* Update close icon usage

* Cleanup

* Update scripts and style integrations

* Update input group texts

* Update LN node setup page

* Update more form control classes

* Update inline forms

* Add js specific test

* Upgrade Vue.js

* Remove unused JS

* Upgrade Bootstrap to v5.0.1

* Try container related test updates

* Separate jQuery bundle

* Remove jQuery from LND seed backup page

* Remove unused code

* Refactor email autofill js

* Refactor camera scanner JS

* Re-add tests

* Re-add BuildBundlerMinifier

* Do not minify bundles containing Bootstrap

Details https://github.com/madskristensen/BundlerMinifier/issues/558

* Update bundles

* Cleanup JS test

* Cleanup tests involving dropdowns

* Cleanup tests involving collapses

* Cleanup locale additions in ConfigureCore

* Cleanup bundles

* Remove duplicate status message

* Cleanup formatting

* Fix missing validation scripts

* Remove unused unminified Bootstrap js files

* Fix classic theme

* Fix Casa theme

* Fix PoS validation
2021-05-19 11:39:27 +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
d11n
f4fa7c927c
Wallet setup redesign (#2164)
* 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
2021-02-11 19:48:54 +09:00
Dennis Reimann
66d3da8ac9
Remove function checks as they didn't help 2021-01-26 09:40:31 +01:00
Dennis Reimann
4638f781f9
Fix JS error 2021-01-25 14:11:11 +01:00
Andrew Camilleri
5ca4e71c34
Introduce QR Code View component (#2125)
* Introduce QR Code View component

* more cleanup

* fix js clipboard

* Fix clipboard confirmation width calculation

* fix tests

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2020-12-22 11:18:51 +09:00
Andrew Camilleri
4176f3659b
Add QR code scan/show for PSBT + Import wallet via QR (#1931)
* 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
2020-10-21 14:03:11 +02:00
nicolas.dorier
0a8c2926ea
reword review step for vault 2020-10-14 19:57:27 +09:00
Dennis Reimann
f2870caed2
Payment redesign (#1967)
* Payment redesign

Guess who's back!

This reverts commit 4174fa648d.

* Refactor PullPayment state string

Compatible with this one: https://github.com/btcpayserver/btcpayserver/pull/1834/files#diff-a9136096252382b110b9a7ac7747b95aR41

* Use unified copy to clipboard function

* Refactor status text class to helper function
2020-10-13 09:58:46 +02:00
nicolas.dorier
069acf0297
Add Retry button if a BTCPay Vault operation fails 2020-10-08 12:05:03 +09:00
Andrew Camilleri
fa46252c65
Allow entry in wallet send via fiat (#1891)
* Allow entry in wallet send via fiat

closes #1890
https://i.imgur.com/RUrSqD7.gif

* fix min amount in wallet send

* Add divisibility when setting amount from fiat
2020-09-11 09:23:08 +02:00
nicolas.dorier
7e5d269c39
Remove LedgerWallet direct integration 2020-05-25 07:41:30 +09:00
nicolas.dorier
35432d919c
Refactor common data structure for wallet into SigningContext 2020-05-25 06:29:06 +09:00
Andrew Camilleri
aff91f49ef
Make fee rate options pretty (#1554) 2020-05-08 05:34:39 +09:00
nicolas.dorier
87352f0b62
Make sure wallet support decimal fee, and allow user to select different fee rate based on expected confirmation time 2020-05-05 19:10:53 +09:00
Kukks
b02cfa9d41 fix subtract fees auto tick when clicking on balance 2020-04-17 15:24:27 +02:00
Dennis Reimann
523edfef58
Fix wording for no vault connection 2020-04-08 13:29:54 +02:00
Kukks
1debbc3cdb Change error messages 2020-04-06 11:51:01 +02:00
Kukks
65c99ead1d cleanup 2020-04-06 11:51:00 +02:00
Kukks
2693dacae6 Scan address/bip21 with camera 2020-04-06 11:51:00 +02:00
Kukks
d6c66d0c03 New feature: Coin Selection
This opt-in feature allows you to select which utxos you want to use for a specific transaction.
2020-03-19 09:44:47 +01:00
Andrew Camilleri
d31bff7070
BPU Prep Work Part2 (#1340)
* BPU Prep Work Part2

* Adjust tests to use the hot wallet when registering deriv scheme
* Add amount to payment data view for onchain payments
* Make zone limits higher when in dev mode (for tests in next PR)
* Make IPaymentMethodDetails serialize/deserialize through payment type using the network
* Allow named settings through settings repo
* Refactor some extensions for next PR

* pr changes

* use json convert for now
2020-02-19 17:35:23 +09:00
Andrew Camilleri
07f0d95f56
BIP21 Support for Wallet spending (#1322)
* BIP21 Support for Wallet spending

* extract bip21 loading to method

* add bip21 parsing test
2020-02-13 17:18:43 +09:00
nicolas.dorier
540cb912f3
Can display address on device at confirmation screen 2019-12-10 21:22:46 +09:00
nicolas.dorier
12055a000b
Proper handling of passphrase for Trezor T 2019-12-10 18:16:52 +09:00
nicolas.dorier
4e20730379
Better message when the device is signing (#1207) 2019-12-05 22:37:04 +09:00
nicolas.dorier
1d70d935b8
Provide better details for unknown error (#1208) 2019-12-05 22:03:35 +09:00
nicolas.dorier
ab7c124302
Properly show text to enter pin or passphrase for trezor T 2019-12-04 17:23:10 +09:00
nicolas.dorier
544597348b
Fix inverted boolean logic 2019-12-04 17:19:25 +09:00
nicolas.dorier
1559c510be
Trying to handle Trezor T correctly 2019-12-04 17:16:37 +09:00
nicolas.dorier
3e08581e9b
Fix fetching xpub for trezor 2019-12-04 16:34:25 +09:00
nicolas.dorier
49c70d9b04
Vault: Reinite the popup in add derivation scheme if it is closed 2019-12-04 16:16:41 +09:00
nicolas.dorier
50e7d8389c
Vault: Allow user to pick the account number 2019-12-04 15:54:08 +09:00
nicolas.dorier
a3fc75ea3b
Show proper error message if the keypath in wallet settings is not good (Fix #1209) 2019-12-03 14:26:52 +09:00
nicolas.dorier
71a8166027
Handle "pin already prompted" error. (Fix #1209) 2019-12-03 13:53:58 +09:00
nicolas.dorier
b8288f1efa
Use 127.0.0.1 instead of localhost for vault's http requests. (Fix https://github.com/btcpayserver/BTCPayServer.Vault/issues/9#issuecomment-559858955) 2019-11-30 23:34:47 +09:00
nicolas.dorier
fa61c2bcdd
Add error for invalid network 2019-11-30 23:33:42 +09:00
nicolas.dorier
287fbc523f
Asks pin and passphrase if device is not ready 2019-11-24 22:51:13 +09:00
nicolas.dorier
2e0db1a430
Fix XML parsing error (#1185) 2019-11-23 14:04:26 +09:00
nicolas.dorier
eef623fb4b
Ask passphrase when appropriate (Fix #1185) 2019-11-22 19:13:04 +09:00
nicolas.dorier
5afa847e6e
Fix sign transaction 2019-11-21 16:38:43 +09:00
nicolas.dorier
1a8d6e5c05
Implement BTCPayServer vault derivation scheme import 2019-11-21 14:06:16 +09:00
rockstardev
c6ef6fc17d Removing bootstrap and creative start vendor dirs, moving to main 2019-11-14 20:41:53 -06:00
Dennis Reimann
5942a840b2
Move main bundle files also 2019-11-14 18:42:47 +01:00
nicolas.dorier
e7ff5c0a4b
Remove Trezor in AddDerivationScheme 2019-11-13 15:10:33 +09:00
nicolas.dorier
5b37a9df0b
Make sure we don't pass the psbt in GET url 2019-11-08 21:21:23 +09:00
nicolas.dorier
4cbcdb8af5
Make sure QRCodes use SVG instead of canvas (QRCodes on Tor does not work because of canvas fingerprinting protections) 2019-07-19 16:27:26 +09:00
nicolas.dorier
429170520e
Make sure fingerprint/hdpath are passed down to AddDerivationScheme.
Close ledger popup on account selection.

Add additional info after pairing
2019-05-25 12:53:03 +09:00
Andrew Camilleri
5571413a78 Put Ledger Wallet pairing in a popup, prepare code for Trezor pairing (#836)
* Allowing for POS to be displayed at website root

* Switching to asp attributes for form post action

* Applying default formatting rules on HTML

* The destination pays mining fees => Subtract fees from amount

* small cleanup (#851)

* Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies (#567)

* Part 1: OpenIddict - Minor Changes & Config prep

* Part 1: OpenIddict - Minor Changes & Config prep

* Part2: Openiddict: Init OpenIddict & Database Migration & Auth Policies

* pr changes

* pr changes

* fix merge

* pr fixes

* remove config for openid -- no need for it for now

* fix compile

* fix compile #2

* remove extra ns using

* Update Startup.cs

* compile

* adjust settings a bit

* remove duplicate

* remove external login provider placeholder html

* remove unused directives

* regenerate db snapshot model

* Remove dynamic policy

* Provide Pretty descriptions for payment methods from their handlers (#852)

* small cleanup

* Provide Pretty descriptions for payment methods from their handlers

* remove PrettyMethod()

* integration with trezor

* rough load xpub from trezor

* update deriv scheme trezor

* move ledger import to dialog

* add import from hw wallet dropdown

* Support temporary links for local file system provider (#848)

* wip

* Support temporary links for local file system provider

* pass base url to file services

* fix test

* do not crash on errors with local filesystem

* remove console

* fix paranthesis

* work on trezor.net integration

* pushed non compiling sign wallet code

* comment out wallet code

* abstract ledger ws in add deriv

* Auto stash before merge of "trezor" and "btcpayserver/master"

* final add changes

* cleanup

* improve connectivity and fix e2e tests

* fix selenium

* add experimental warning for trezor

* move import button to right and convert to text link

* switch to defer and async scripts in add deriv scheme

* make defer not async

* more elaborate import trezor dialog

* Fix small issues

* hide trezor for now
2019-05-25 11:45:36 +09:00
Andrew Camilleri
88c931ec13 Make wallet able to send to multiple destinations (#847)
* Make wallet able to send to multiple destinations

* fix tests

* update e2e tests

* fix e2e part 2

* make headless again

* pr changes

* make wallet look exactly as old one when only 1 dest
2019-05-21 17:10:07 +09:00
nicolas.dorier
cb9130fdf9
Can broadcast PSBT, can decide to export something signed by the ledger via PSBT 2019-05-12 00:05:30 +09:00
nicolas.dorier
541c748ecb
WalletSendLedger and LedgerConnection only depends on PSBT 2019-05-11 20:02:32 +09:00
nicolas.dorier
79d26b5d95
Push rebase keypath and min fee logic down nbxplorer 2019-05-10 19:30:10 +09:00
nicolas.dorier
01e5b319d1
Save the fingerprint of the root of LedgerWallet, and use it. Simplify HardwareWallet 2019-05-10 01:05:37 +09:00
Kukks
538eb66672 Allow import of coldcard wallet 2019-05-09 12:48:11 +09:00
nicolas.dorier
d7fc079376
RBF on by default, can disable it in Wallet Send /advanced settings. 2019-05-08 15:24:20 +09:00
nicolas.dorier
165d4e2732 remove unused parameter 2019-04-24 22:40:36 +09:00
nicolas.dorier
7efd9ba0a5 Fix ledger on firefox 2019-01-16 23:07:22 +09:00
nicolas.dorier
e620fc0283 Add expert mode to BTCPay with No Change UTXO option 2019-01-15 23:50:45 +09:00
nicolas.dorier
caa6978d80 Save the KeyPath of the WalletKeyPathRoot of the hardware wallet so we don't have to scan for it 2018-12-26 14:04:00 +09:00
nicolas.dorier
af22d6a4e3 Remove preliminary test to know if the ledger can handle the store. If it can't signing will fail anyway. 2018-12-25 19:33:03 +09:00
nicolas.dorier
0eabb3c37c Remove useless query to ledger xpub in the Add derivation scheme screen 2018-12-25 19:02:11 +09:00
nicolas.dorier
e75a1a8b70 Improve ledger feedback for asking authorization to access xpub 2018-12-04 21:22:27 +09:00
nicolas.dorier
88044f6b76 Decouple Wallet Send screen from Ledger Wallet 2018-11-01 00:19:25 +09:00
nicolas.dorier
da2fb876cb Can pass pre filled amount and address to Send Wallet 2018-10-09 23:48:14 +09:00
nicolas.dorier
fb15c5b354 Increase timeout for wallet, update references 2018-09-28 10:15:35 +09:00
nicolas.dorier
87678c58ac Fix error message for ledger signing 2018-09-27 15:43:34 +09:00
nicolas.dorier
feab4cc48a update ledgerwebsocket 2018-09-27 15:21:26 +09:00
nicolas.dorier
1606f43609 Show the fiat price when sending coins 2018-07-26 23:23:28 +09:00
nicolas.dorier
ad1307746c Add a "Wallet" menu 2018-07-26 22:32:50 +09:00
nicolas.dorier
e0c718f4ba Fix wallet alert 2018-07-23 00:21:40 +09:00
rockstardev
ce12e87b70 Restoring QR Code for 2Fact authentication, fix #147 2018-05-03 16:13:50 -05:00
nicolas.dorier
3954ce2137 fix (again) the broken hr.js 2018-04-30 01:32:15 +09:00
2pac1
de39fa0aea
Update hr.js 2018-04-28 18:46:55 +02:00
2pac1
94ff77f2b2
Update hr.js 2018-04-28 18:44:55 +02:00
2pac1
bb7dc1ed4a
Update hr.js 2018-04-28 18:34:47 +02:00
2pac1
c5e833ee79
Update hr.js 2018-04-28 18:33:34 +02:00
2pac1
4397591134
Create hr.js 2018-04-28 18:27:51 +02:00
nicolas.dorier
2b11cc1077 Simplify root key path calculation 2018-04-12 11:48:33 +09:00
lepipele
7ccc1abb95 Moving checkout CSS and JS to dedicated folder 2018-04-05 23:56:17 -05:00
lepipele
d61858e260 Cleaning up CSS and JS files used for main theme 2018-04-05 23:51:55 -05:00
Nicolas Dorier
546c39a98e
Merge pull request #98 from Saevar2000/master
Update Icelandic
2018-04-02 22:17:09 +09:00
Saevar2000
13223817a1 Update Icelandic 2018-04-02 13:05:55 +00:00
pajasevi
8650446dcd Added CS translations for lightning payments 2018-04-02 11:57:12 +02:00
nicolas.dorier
7f24b89a80 fix french mistake 2018-04-02 15:27:16 +09:00
lepipele
bf5062086c Bugfixing translations, they were breaking bundling 2018-04-01 14:43:25 -05:00
LinoxBE
9fa9f62d02 Added Lightning related translations for Dutch (v2) 2018-03-31 15:27:16 +02:00
LinoxBE
c9615b660e Merge branch 'master' of https://github.com/btcpayserver/btcpayserver into dutch-translation-update 2018-03-31 15:23:27 +02:00
junderw
37649fc77b
Update JA 2018-03-31 10:12:24 +09:00
Marcos Rodriguez Vélez
83a1492cd4
Update es.js 2018-03-30 12:52:33 -04:00
LinoxBE
a1af694acb Added Lightning related translations for Dutch 2018-03-30 13:08:46 +02:00
Nicolas Dorier
6330c0f0d7
Merge pull request #88 from felipehuicochea/patch-1
Update es.js
2018-03-30 17:36:18 +09:00
nicolas.dorier
224c569ed1 French translation 2018-03-30 17:35:41 +09:00
nicolas.dorier
c608987526 Rename peer info to node info 2018-03-30 17:34:46 +09:00