You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Matt Whitlock
5bc7eb4b8e
wallet: add persistent cache, mapping path->(priv, pub, script, addr)
...
Deriving private keys from BIP32 paths, public keys from private keys,
scripts from public keys, and addresses from scripts are some of the
most CPU-intensive tasks the wallet performs. Once the wallet inevitably
accumulates thousands of used paths, startup times become painful due to
needing to re-derive these data items for every used path in the wallet
upon every startup. Introduce a persistent cache to avoid the need to
re-derive these items every time the wallet is opened.
Introduce _get_keypair_from_path and _get_pubkey_from_path methods to
allow cached public keys to be used rather than always deriving them on
the fly.
Change many code paths that were calling CPU-intensive methods of
BTCEngine so that instead they call _get_key_from_path,
_get_keypair_from_path, _get_pubkey_from_path, get_script_from_path,
and/or get_address_from_path, all of which can take advantage of the new
cache.
2 years ago
..
base58_keys_invalid.json
Migrate to modern packaging and src layout
2 years ago
base58_keys_valid.json
Migrate to modern packaging and src layout
2 years ago
bip39vectors.json
Migrate to modern packaging and src layout
2 years ago
bip341_wallet_test_vectors.json
Migrate to modern packaging and src layout
2 years ago
commontest.py
Migrate to modern packaging and src layout
2 years ago
taker_test_data.py
Migrate to modern packaging and src layout
2 years ago
test_argon2.py
Migrate to modern packaging and src layout
2 years ago
test_auth.py
JWT authority fixes
2 years ago
test_blockchaininterface.py
Migrate to modern packaging and src layout
2 years ago
test_bond_calc.py
Migrate to modern packaging and src layout
2 years ago
test_client_protocol.py
Migrate to modern packaging and src layout
2 years ago
test_coinjoin.py
Migrate to modern packaging and src layout
2 years ago
test_commitment_utils.py
Migrate to modern packaging and src layout
2 years ago
test_configure.py
Migrate to modern packaging and src layout
2 years ago
test_core_nohistory_sync.py
Migrate to modern packaging and src layout
2 years ago
test_maker.py
Migrate to modern packaging and src layout
2 years ago
test_mnemonic.py
Migrate to modern packaging and src layout
2 years ago
test_payjoin.py
Migrate to modern packaging and src layout
2 years ago
test_podle.py
Migrate to modern packaging and src layout
2 years ago
test_privkeys.py
Migrate to modern packaging and src layout
2 years ago
test_psbt_wallet.py
Migrate to modern packaging and src layout
2 years ago
test_schedule.py
Migrate to modern packaging and src layout
2 years ago
test_snicker.py
Migrate to modern packaging and src layout
2 years ago
test_storage.py
Migrate to modern packaging and src layout
2 years ago
test_support.py
Migrate to modern packaging and src layout
2 years ago
test_taker.py
wallet: add persistent cache, mapping path->(priv, pub, script, addr)
2 years ago
test_tx_creation.py
Migrate to modern packaging and src layout
2 years ago
test_utxomanager.py
wallet: add get_{balance,utxos}_at_mixdepth methods
2 years ago
test_valid_addresses.py
Migrate to modern packaging and src layout
2 years ago
test_wallet.py
wallet: add _addr_map, paralleling _script_map
2 years ago
test_wallet_rpc.py
JWT authority fixes
2 years ago
test_wallets.py
Migrate to modern packaging and src layout
2 years ago
test_walletservice.py
Migrate to modern packaging and src layout
2 years ago
test_walletutils.py
Migrate to modern packaging and src layout
2 years ago
test_websocket.py
JWT authority fixes
2 years ago
test_yieldgenerator.py
Migrate to modern packaging and src layout
2 years ago