Skip to content

Commit 7970c3d

Browse files
authored
Fix Jade signing issues with Swan Vault (#2421)
* update jade api to version 2.0.2 and update jade hwi client to the latest hwi code (version * change chain default for initialising the jade client back to MAIN * add "unlock" to jade's enumerate method and its hwi client * use is_startup property to prevent jade unlocking on startup + change to skip_hwi_initialisation + some simplifications * pass chain param on every request for enumerate call as well + some changes to be on the safe side (avoid name collusion with built-in fetch + random id) * always use timeout when calling enumerate from hwi.jinja * add ui to register multisigs for multisig wallets using a jade * updated requirements.txt * rename myFetch to requestToHwiBridge * address jamie's comments: change logic to skip_unlocking + move early return up in jade client
1 parent a052373 commit 7970c3d

File tree

18 files changed

+2496
-702
lines changed

18 files changed

+2496
-702
lines changed

requirements.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ psutil==5.9.0
1818
pyopenssl==23.0.0
1919
flask_wtf==0.15.1
2020
pgpy==0.6.0
21-
cbor==1.0.0
21+
cbor2==5.4.6
2222
mnemonic==0.20
2323
cryptography==39.0.1
2424
Flask-APScheduler==1.12.4

requirements.txt

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.10
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --resolver=backtracking requirements.in
5+
# pip-compile --generate-hashes requirements.in
66
#
77
aniso8601==9.0.1 \
88
--hash=sha256:1d2b7ef82963909e93c4f24ce48d4de9e66009a21bf1c1e1c85bdd0812fe412f \
@@ -26,9 +26,45 @@ bitbox02==6.1.1 \
2626
# via hwi
2727
cbor==1.0.0 \
2828
--hash=sha256:13225a262ddf5615cbd9fd55a76a0d53069d18b07d2e9f19c39e6acb8609bbb6
29-
# via
30-
# -r requirements.in
31-
# hwi
29+
# via hwi
30+
cbor2==5.4.6 \
31+
--hash=sha256:0b956f19e93ba3180c336282cd1b6665631f2d3a196a9c19b29a833bf979e7a4 \
32+
--hash=sha256:0bd12c54a48949d11f5ffc2fa27f5df1b4754111f5207453e5fae3512ebb3cab \
33+
--hash=sha256:0d2b926b024d3a1549b819bc82fdc387062bbd977b0299dd5fa5e0ea3267b98b \
34+
--hash=sha256:1618d16e310f7ffed141762b0ff5d8bb6b53ad449406115cc465bf04213cefcf \
35+
--hash=sha256:181ac494091d1f9c5bb373cd85514ce1eb967a8cf3ec298e8dfa8878aa823956 \
36+
--hash=sha256:1835536e76ea16e88c934aac5e369ba9f93d495b01e5fa2d93f0b4986b89146d \
37+
--hash=sha256:1c12c0ab78f5bc290b08a79152a8621822415836a86f8f4b50dadba371736fda \
38+
--hash=sha256:24144822f8d2b0156f4cda9427f071f969c18683ffed39663dc86bc0a75ae4dd \
39+
--hash=sha256:309fffbb7f561d67f02095d4b9657b73c9220558701c997e9bfcfbca2696e927 \
40+
--hash=sha256:3316f09a77af85e7772ecfdd693b0f450678a60b1aee641bac319289757e3fa0 \
41+
--hash=sha256:3545b16f9f0d5f34d4c99052829c3726020a07be34c99c250d0df87418f02954 \
42+
--hash=sha256:39452c799453f5bf33281ffc0752c620b8bfa0b7c13070b87d370257a1311976 \
43+
--hash=sha256:3950be57a1698086cf26d8710b4e5a637b65133c5b1f9eec23967d4089d8cfed \
44+
--hash=sha256:456cdff668a50a52fdb8aa6d0742511e43ed46d6a5b463dba80a5a720fa0d320 \
45+
--hash=sha256:4b9f3924da0e460a93b3674c7e71020dd6c9e9f17400a34e52a88c0af2dcd2aa \
46+
--hash=sha256:4bbbdb2e3ef274865dc3f279aae109b5d94f4654aea3c72c479fb37e4a1e7ed7 \
47+
--hash=sha256:4ce1a2c272ba8523a55ea2f1d66e3464e89fa0e37c9a3d786a919fe64e68dbd7 \
48+
--hash=sha256:56dfa030cd3d67e5b6701d3067923f2f61536a8ffb1b45be14775d1e866b59ae \
49+
--hash=sha256:6709d97695205cd08255363b54afa035306d5302b7b5e38308c8ff5a47e60f2a \
50+
--hash=sha256:6e1b5aee920b6a2f737aa12e2b54de3826b09f885a7ce402db84216343368140 \
51+
--hash=sha256:6f9c702bee2954fffdfa3de95a5af1a6b1c5f155e39490353d5654d83bb05bb9 \
52+
--hash=sha256:78304df140b9e13b93bcbb2aecee64c9aaa9f1cadbd45f043b5e7b93cc2f21a2 \
53+
--hash=sha256:79e048e623846d60d735bb350263e8fdd36cb6195d7f1a2b57eacd573d9c0b33 \
54+
--hash=sha256:7bbd3470eb685325398023e335be896b74f61b014896604ed45049a7b7b6d8ac \
55+
--hash=sha256:80ac8ba450c7a41c5afe5f7e503d3092442ed75393e1de162b0bf0d97edf7c7f \
56+
--hash=sha256:9394ca49ecdf0957924e45d09a4026482d184a465a047f60c4044eb464c43de9 \
57+
--hash=sha256:94f844d0e232aca061a86dd6ff191e47ba0389ddd34acb784ad9a41594dc99a4 \
58+
--hash=sha256:96087fa5336ebfc94465c0768cd5de0fcf9af3840d2cf0ce32f5767855f1a293 \
59+
--hash=sha256:b893500db0fe033e570c3adc956af6eefc57e280026bd2d86fd53da9f1e594d7 \
60+
--hash=sha256:c285a2cb2c04004bfead93df89d92a0cef1874ad337d0cb5ea53c2c31e97bfdb \
61+
--hash=sha256:d2984a488f350aee1d54fa9cb8c6a3c1f1f5b268abbc91161e47185de4d829f3 \
62+
--hash=sha256:d54bd840b4fe34f097b8665fc0692c7dd175349e53976be6c5de4433b970daa4 \
63+
--hash=sha256:db9eb582fce972f0fa429d8159b7891ff8deccb7affc4995090afc61ce0d328a \
64+
--hash=sha256:e5094562dfe3e5583202b93ef7ca5082c2ba5571accb2c4412d27b7d0ba8a563 \
65+
--hash=sha256:e73ca40dd3c7210ff776acff9869ddc9ff67bae7c425b58e5715dcf55275163f \
66+
--hash=sha256:ff95b33e5482313a74648ca3620c9328e9f30ecfa034df040b828e476597d352
67+
# via -r requirements.in
3268
certifi==2022.12.7 \
3369
--hash=sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3 \
3470
--hash=sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18
@@ -796,5 +832,6 @@ wtforms==3.0.1 \
796832
# via flask-wtf
797833

798834
# WARNING: The following packages were not pinned, but pip requires them to be
799-
# pinned when the requirements file includes hashes. Consider using the --allow-unsafe flag.
835+
# pinned when the requirements file includes hashes and the requirement is not
836+
# satisfied by a package already installed. Consider using the --allow-unsafe flag.
800837
# setuptools

src/cryptoadvance/specter/cli/cli_server.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ def cli():
5858
help="Start the hwi-bridge to use your HWWs with a remote specter.",
5959
)
6060
@click.option(
61-
"--enforcehwiinitialisation",
61+
"--skiphwiinitialisation",
6262
is_flag=True,
63-
help="calls enumerate() which is known to cause issues with certain usb-devices plugged in at startup.",
63+
help="Skips to call HWI's enumerate() on start-up",
6464
)
6565
@click.option(
6666
"--devstatus-threshold",
@@ -88,7 +88,7 @@ def server(
8888
filelog,
8989
tor,
9090
hwibridge,
91-
enforcehwiinitialisation,
91+
skiphwiinitialisation,
9292
devstatus_threshold,
9393
specter_data_folder,
9494
config,
@@ -154,8 +154,8 @@ def server(
154154
kwargs = configure_ssl(kwargs, app.config, ssl)
155155

156156
app.app_context().push()
157-
if enforcehwiinitialisation:
158-
app.config["ENFORCE_HWI_INITIALISATION_AT_STARTUP"] = True
157+
if skiphwiinitialisation:
158+
app.config["SKIP_HWI_INITIALISATION_AT_STARTUP"] = True
159159
init_app(app, hwibridge=hwibridge)
160160

161161
if filelog:

src/cryptoadvance/specter/config.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,9 @@ class BaseConfig(object):
8282
CERT = os.getenv("CERT", None)
8383
KEY = os.getenv("KEY", None)
8484

85-
# It might be necessary to enforce the HWI initialisation
86-
ENFORCE_HWI_INITIALISATION_AT_STARTUP = _get_bool_env_var(
87-
"ENFORCE_HWI_INITIALISATION_AT_STARTUP", False
85+
# It might be necessary / useful for testing to skip the HWI initialisation (i.e. calling enumerate on startup)
86+
SKIP_HWI_INITIALISATION_AT_STARTUP = _get_bool_env_var(
87+
"SKIP_HWI_INITIALISATION_AT_STARTUP", False
8888
)
8989

9090
# This will be used to search for a bitcoin.conf in order to enable the

0 commit comments

Comments
 (0)