Commit Graph

59 Commits

Author SHA1 Message Date
SomberNight
683c6083c9 wizard: do not log sensitive data (add more keys) 2024-01-05 15:14:33 +00:00
Sander van Grieken
ebcecdccce qt,qml: add checkboxes for advanced network config on welcome page, remove separate proxy-ask and autoconnect pages 2023-12-21 11:17:48 +01:00
Sander van Grieken
5e39ff49bc add missing accept handler for welcome page 2023-12-19 18:49:16 +01:00
Sander van Grieken
a03b2d7bae qt,qml: add a welcome page as initial page for server connect wizard
This is much less intimidating than asking if the user wants to use a proxy
out of the gate.
2023-12-19 18:49:16 +01:00
ghost43
e814fa0b25 Merge pull request #8719 from SomberNight/202312_db_seedtype
wallet db: deduplicate "seed_type" field
2023-12-12 01:01:30 +00:00
Sander van Grieken
b87d091a6d qt, qml: allow BIP39 seeds which fail checksum or wordlist (fixes #8720)
removes verifySeed from qebitcoin as this code was 99% duplicate of wizard.validate_seed
2023-12-06 16:12:57 +01:00
SomberNight
f7cb523b9d wallet db: deduplicate "seed_type" field
In the db, the 'seed_type' field could be present both at the top-level and inside keystores.

Note:
- both fields had usages
- the top-level field was added in 2.8 re "initial segwit support" (3a64ec0f2e)
  - there was no db upgrade for it, so older files are missing it
  - if present, valid values can be electrum types but also
    other types supported by the wizard, e.g. "bip39"
- the keystore-level field was added in 4.1 (7b7bba2299)
  - there was a db upgrade when it was introduced, so old files also have it
  - if present, valid values can only be electrum types
- there is not much value in the top-level one having a non-electrum value,
  and those values were never used by other parts of the code
  - note that when creating a standard wallet from a bip39 seed, the seed is discarded.
    Only the derived xprv and the derivation path are kept. If we changed this and also kept the seed,
    e.g. to display it to the user, then it would make sense to save the seed type (e.g. "bip39").
    However storing that seed_type would make more sense at the keystore level (not top-level).

We delete the top-level 'seed_type' field.

```
{
    "keystore": {
        "seed_type": "segwit",
        ...
    },
    "seed_type": "segwit",
    ...
}
```
2023-12-01 18:43:37 +00:00
SomberNight
564b6c29b7 wizard: fix self._logger vs self.logger
AttributeError: 'QENewWalletWizard' object has no attribute 'logger'
2023-10-30 18:16:00 +00:00
ThomasV
56e80c20d7 wallet_db upgrade: do not use '/' in StoredDict keys 2023-09-23 11:05:36 +02:00
ThomasV
68159b3ef6 walletDB: replace 'manual_upgrades' parameter with 'upgrade', with opposite semantics 2023-09-22 15:02:07 +02:00
Sander van Grieken
44a1595157 wizard: don't use hww encryption of wallet files for anything besides standard wallets,
check hw wallet file decrypt in WCHWUnlock,
fix assumption 'wallet_type' exists in wallet open scenario.
2023-09-21 14:20:01 +02:00
Sander van Grieken
2caa8f13cf wizard: make wizard.keystore_from_data more robust;
- always store 'keystore_type' in cosigner data and use same types as main
- dont share 'hardware_device' in root of dict, but store for each cosigner
- properly return hardware keystore for hardware cosigners
2023-09-20 14:34:31 +02:00
Sander van Grieken
808f1877d2 wizard: allow slip39 for multisig
also, consistent single quoting of strings
2023-09-20 14:34:31 +02:00
Sander van Grieken
ec0dbc78c2 wizard: fix assumption 'keystore_type' is present in wizard_data, fix unexpected keystore type msg 2023-09-20 14:34:31 +02:00
Sander van Grieken
7fd3b6c91d wizard: remove finished call, it's unused
qt: call is_finalized before closing the wizard dialog and add a check if wallet can be
    decrypted with the supplied secret (user pw, hw device)
2023-09-20 14:34:31 +02:00
Sander van Grieken
314e3f958d qt: new wizard 2fa offline setup 2023-09-20 14:34:31 +02:00
Sander van Grieken
8663d89f77 qt: add HWW unlock wizardcomponent 2023-09-20 14:34:31 +02:00
Sander van Grieken
b072f5d243 wizard: typing 2023-09-20 14:34:31 +02:00
Sander van Grieken
83c2eb46bb qt: initial open existing wallet from wizard,
set window title for wizard dialogs,
catch RuntimeError for WizardComponent.updated signal, widget might be gone
2023-09-20 14:34:31 +02:00
Sander van Grieken
2a2459c649 qt: implement server picker in server connect wizard 2023-09-20 14:34:31 +02:00
Sander van Grieken
902290ee8c qt: multisig checks with hardware cosigners 2023-09-20 14:34:31 +02:00
Sander van Grieken
b7ed4c569b wip. trezor works for standard wallet, also for cosigners 2023-09-20 14:34:31 +02:00
Sander van Grieken
bcdacf3773 wizard: add passing of params in navmap to wizard pages 2023-09-20 14:34:30 +02:00
Sander van Grieken
a6caa3ffe9 wizard: fix wizard_data instance not isolated between pages,
combine is_bip39_seed and is_slip39_seed into cosigner aware needs_derivation_path
add instance id logging to wizard.log_stack()
qt: add updated signal to SeedLayout
2023-09-20 14:34:30 +02:00
Sander van Grieken
c485753ffd wizard: rename bip39_refine to script_and_derivation 2023-09-20 14:34:30 +02:00
Sander van Grieken
0222c93228 wizard: add support for slip39 2023-09-20 14:34:30 +02:00
Sander van Grieken
d395b97e83 qt: add have_master_key gui, implement cosigners in have_seed and bip39_refine guis
fix adding data from accept handler
2023-09-20 14:34:30 +02:00
Sander van Grieken
2407fab178 wizard: also push final state on the stack 2023-09-20 14:34:30 +02:00
Sander van Grieken
786eab9cfd wizard: cleanup, variable naming consistency, imports, invalid accept handler now raises 2023-09-20 14:34:30 +02:00
Sander van Grieken
9e096fbf1e wizard: remove view from is_last_view call, it's never used 2023-09-20 14:34:30 +02:00
SomberNight
7482e275b9 follow-up storage/db changes
follow-up b96cc82333
2023-08-22 14:50:30 +00:00
ThomasV
b96cc82333 Make storage a field of db
This comes from the jsonpatch_new branch.
I rather have in master now, because it touches a lot of filese.
2023-08-18 08:08:31 +02:00
Sander van Grieken
8cd95f1f7f qml: limit BIP39 cosigners script type to initial choice (bip39) or initial seed (electrum) 2023-06-02 09:46:53 +02:00
SomberNight
d2cf21fc2b qml wizard: enforce homogeneous master keys in multisig
- {xpub, Ypub, Zpub} categories cannot be mixed
- old mpk must not be used in multisig
2023-05-11 10:13:51 +00:00
SomberNight
f5f177f7e8 qml wizard: fix restoring from old mpk (watchonly for "old" seeds)
fixes https://github.com/spesmilo/electrum/issues/8356
2023-04-27 09:34:23 +00:00
SomberNight
b429992e77 wizard.py: don't use mutable default args 2023-04-24 09:33:21 +02:00
SomberNight
e9aad6896e wizard.py: change stack to be per-instance
seems less error-prone
2023-04-24 09:33:21 +02:00
SomberNight
fd9a90f3b6 wizard.py: fix clearing stack between wizards
try finishing a wizard and then launching a new one: the new one kept
building on top of the stack of the prev wizard
2023-04-24 09:33:21 +02:00
SomberNight
ad58916729 wizard.py: (trivial) fix type hint and an f-string 2023-04-23 00:13:22 +00:00
Sander van Grieken
3b7fa89e44 wizard: p2sh multisig is 'standard' in backend wallet 2023-04-20 11:00:18 +02:00
SomberNight
48e37696b3 qml wizard: fix creating wallet from master key
fixes https://github.com/spesmilo/electrum/issues/8260
2023-03-17 18:31:50 +00:00
ThomasV
57a4cbb984 follow-up 7a86d8d: ask proxy first 2023-03-16 20:07:58 +01:00
SomberNight
d4d6d05d9f qml wizard: enable restore from "2fa" legacy seeds
not sure why it was disabled, there should be no meaningful distinction at that point
2023-03-16 17:40:30 +00:00
Sander van Grieken
7a86d8dc9e qml: ask user whether to configure Tor or other proxy before presenting proxy detail config screen 2023-03-16 15:42:24 +01:00
Sander van Grieken
77c64b6629 fix wizard leftovers of removed 'multisig_show_masterpubkey' view 2023-01-13 17:25:12 +01:00
Sander van Grieken
495f51e6ad don't log sensitive wizard values 2023-01-06 16:45:57 +01:00
Sander van Grieken
9354dfc86d qml: skip multisig_show_masterpubkey view and instead present master pub key on every
cosigner key/seed import page.
2022-11-28 17:42:29 +01:00
Sander van Grieken
ce35e68514 qml: multisig create_storage 2022-11-14 14:37:05 +01:00
Sander van Grieken
ba2905105d qml: multisig wizard check duplicate keys 2022-11-14 13:14:27 +01:00
Sander van Grieken
334bbf3505 qml: add plumbing for duplicate master pubkey check, fix multisig end conditions 2022-11-14 12:19:56 +01:00