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
Sander van Grieken
4c784ffe1f
qml: consolidate multisig support into existing pages WCHaveSeed, WCHaveMasterKey, WCBIP39Refine.
...
Have these put cosigner data directly in the correct wizard_data leafs instead of relying on
wizard accept handlers.
2022-11-14 12:19:56 +01:00
Sander van Grieken
89936689fb
qml: fix imports, flake issues
2022-11-14 12:19:56 +01:00
Sander van Grieken
428ba209f4
qml: multisig wizard; cosigner w. electrum seed
2022-11-14 12:19:56 +01:00