SomberNight
d86138a1a5
storage: speed up write() by using faster compression setting
...
Re total runtime of WalletDB.write() and file size on disk,
for a large encrypted wallet, compare:
before (zlib level=6):
file size 16_670 KB
JsonDB.dump 0.5099 sec
zlib.compress 1.3280 sec
ECPubkey.encrypt_message 0.1720 sec
after change (zlib level=1):
file size 17_527 KB
JsonDB.dump 0.5344 sec
zlib.compress 0.5320 sec
ECPubkey.encrypt_message 0.1837 sec
5 years ago
Malcolm Smith
67ae678137
storage/db: use faster JSON encoder settings when wallet is encrypted
...
The standard json module has an optimized C encoder, but that doesn't
currently support indentation. So if you request indentation, it falls
back on the slower Python encoder.
Readability doesn't matter for encrypted wallets, so this disables
indentation when the wallet is encrypted.
-----
based on b2399b6a3e
For a large encrypted wallet, compare:
before change:
JsonDB.dump 1.3153 sec
zlib.compress 1.281 sec
ECPubkey.encrypt_message 0.1744 sec
after change:
JsonDB.dump 0.5059 sec
zlib.compress 1.3120 sec
ECPubkey.encrypt_message 0.1630 sec
Co-authored-by: SomberNight <somber.night@protonmail.com>
5 years ago
SomberNight
d3eefefed4
simplify prev
5 years ago
SomberNight
05ebd0f5b2
storage: try to handle user deleting/renaming wallet file while running
...
related: #4110 , #6358
5 years ago
SomberNight
9931df9f25
storage: fix update-password edge-case
...
fixes #6400
5 years ago
SomberNight
36178df875
sql: test read-write permissions for given path and raise early
...
maybe fix #6485
5 years ago
SomberNight
08a7925235
wizard.create_storage: state API and abide by it
...
none of the callers was handling the return None case properly...
6 years ago
ThomasV
e1ce3aace7
Separate db from storage
...
- storage is content-agnostic
- db and storage are passed to wallet contructor
6 years ago
ThomasV
63963323be
storage: take the DB lock when writing to disk.
6 years ago
ThomasV
149cd9598a
Separate JsonDB and WalletDB
6 years ago
SomberNight
02baae10d7
kivy: implement opening storage-encrypted wallet files
6 years ago
SomberNight
01fc048484
CLI: properly auto-upgrade storage when needed even if storage-encrypted
...
previously commands would error if user had an encrypted storage that needed upgrading
6 years ago
SomberNight
c9ede07462
wizard: (qt) add dedicated button to create new wallet
6 years ago
SomberNight
a05dab2c4d
storage: read/write sanity checks
...
related: #4110
supersedes: #4528
6 years ago
ThomasV
8e4fe051d3
add comment in storage._write
6 years ago
SomberNight
a42a773d19
storage: replace STO_EV_* ints with IntEnum
6 years ago
SomberNight
53d189fc7a
storage: fix some madness about get_data_ref() and put() interacting badly
...
previously load_transactions() had to be called before upgrade();
now we reverse this order.
to reproduce/illustrate issue, before this commit:
try running convert_version_17 and convert_version_18
(e.g. see testcase test_upgrade_from_client_2_9_3_old_seeded_with_realistic_history)
and then in qt console:
>> wallet.storage.db.get_data_ref('spent_outpoints') == wallet.storage.db.spent_outpoints
False
>> wallet.storage.db.get_data_ref('verified_tx3') == wallet.storage.db.verified_tx
False
7 years ago
SomberNight
fecef91ee0
interface was suppressing storage r/w exceptions
7 years ago
SomberNight
3385a94753
logging: basics
7 years ago
SomberNight
12b98fa251
wizard: fix regression: unencrypted wallets were not getting upgraded
...
fixes #5177
7 years ago
SomberNight
d11481f360
storage: fix path standardisation
7 years ago
SomberNight
2da6692f73
wizard: some fixes
...
related: #5174
7 years ago
SomberNight
7458461f13
wizard: fix decryption of hw wallet files
...
see #5174
7 years ago
SomberNight
ef8d7e3227
qt wizard: don't consider old version storage to be incomplete
7 years ago
SomberNight
2ad73050b3
wallet: towards restoring previous performance
7 years ago
ThomasV
d8c4bf5662
storage: call load_plugins in decrypt
7 years ago
ThomasV
3631c27ed7
fix: load trustedcoin plugin for two-step wallet creation
7 years ago
ThomasV
d74f0c0947
storage_db: fix tests, add modified flag to db class
7 years ago
SomberNight
4b36114d0d
small fixups
7 years ago
ThomasV
7f2083f667
separate storage and database (JsonDB)
7 years ago
ThomasV
d5790ea109
wizard: do not use on storage object during wallet creation
7 years ago
ThomasV
b06b8753e6
fix #5088
7 years ago
ThomasV
beb9f63274
follow-up prev
7 years ago
ThomasV
58c2c15266
follow up 6fb974227b
7 years ago
ThomasV
6fb974227b
fix #5082
7 years ago
SomberNight
8412b53ed5
wizard: copy/restore storage when stepping through the wizard
...
When interacting with wizard, there is a single shared storage instance.
If you go down the tree of dialogs, press "back" a couple times, go
down another branch of dialogs, etc, there are side-effects on storage,
which are never undone.
fixes #5057
fixes #4496
7 years ago
SomberNight
8f5f0e46aa
keystore: fail sooner if unsupported version
...
follow-up #4937
7 years ago
ThomasV
852f2a0d65
trustedcoin: do not require wallet file upgrade
7 years ago
SomberNight
7b90d69443
trustedcoin: p2wpkh billing addresses
7 years ago
SomberNight
bddea809ec
storage/blockchain: use os.replace
7 years ago
SomberNight
141ff99580
blockchain.py: generalise fork ids to get rid of conflicts
7 years ago
SomberNight
416b687054
storage: add a sanity check
...
see #4803
7 years ago
SomberNight
6958c0ccc3
config: reject non-json-serialisable writes
...
see #4788
7 years ago
SomberNight
55b582511e
fix deprecation warnings in regexes
7 years ago
SomberNight
eccb8ec2d6
normalize wallet file paths
...
fix #4020
fix #4126
7 years ago
SomberNight
41e088693d
verifier: better handle reorgs (and storage upgrade)
7 years ago
Jean-Christophe Rona
02c30e3d52
Add support for Archos Safe-T mini hardware wallet ( #4445 )
...
commit 10c46477f3a6f2fbc0596345511e0994253081eb
Author: SomberNight <somber.night@protonmail.com>
Date: Wed Jul 25 19:40:05 2018 +0200
backport changes of trezor plugin
commit 213619e880f709188c1ea6272758896748e681a8
Merge: a855b75b6 6899ca252
Author: Jean-Christophe Rona <jc@rona.fr>
Date: Wed Jul 25 18:45:19 2018 +0200
Merge branch 'master' into safe-t-mini
commit a855b75b6f5af5f707c4680d0bac79eb66a85ace
Author: Jean-Christophe Rona <rona@archos.com>
Date: Wed Jul 25 18:37:12 2018 +0200
Safe-T: Switch to safet 0.1.3 to remove the rlp dependency
commit 9bee44ca33289158c91c03d47dec45de6577f17b
Author: SomberNight <somber.night@protonmail.com>
Date: Wed Jul 18 14:01:10 2018 +0200
safe-t: bump min fw to 1.0.5
older fw has a bug when restoring from seed
commit 01816607e8ba308cb5cff96b5fb844e4f6b8fcc1
Author: SomberNight <somber.night@protonmail.com>
Date: Wed Jul 18 13:57:17 2018 +0200
safe-t: fix rlp version to avoid eth stuff
commit 430206bea1fa10b762ff953fbc7652ce0d0e939d
Merge: a999ae266 b4b862b0c
Author: SomberNight <somber.night@protonmail.com>
Date: Wed Jul 18 13:29:41 2018 +0200
Merge branch 'master' into pr/4445
commit a999ae266f499f180946d53d4e860cc871d562ab
Author: Jean-Christophe Rona <rona@archos.com>
Date: Tue Jun 19 14:18:03 2018 +0200
Safe-T mini: Remove supported coins
This is not really useful there.
commit 7922df1031b2c4b132f7f9c90232480b5bf9585c
Author: Jean-Christophe Rona <rona@archos.com>
Date: Tue May 29 16:43:37 2018 +0200
Safe-T mini: Add support for the Safe-T mini
7 years ago
SomberNight
53130da682
storage: factor out 'JsonDB'
8 years ago
Janus
1e715113ab
remove pbkdf2 dependency, use stdlib instead
8 years ago
Janus
097ac144d9
file reorganization with top-level module
8 years ago