From 1b3f428e884c5ffae6af33b8cdab1ced49b28590 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Wed, 27 Mar 2019 16:30:21 +0100 Subject: [PATCH] keystore: speedup for Old_KeyStore from Electron-Cash/Electron-Cash@01177d7deb1a56b423af6cf73a9b8ff5d64b24b3 --- electrum/keystore.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/electrum/keystore.py b/electrum/keystore.py index 895f39df0..641f45dcb 100644 --- a/electrum/keystore.py +++ b/electrum/keystore.py @@ -451,14 +451,15 @@ class Old_KeyStore(Deterministic_KeyStore): def get_private_key(self, sequence, password): seed = self.get_hex_seed(password) - self.check_seed(seed) - for_change, n = sequence secexp = self.stretch_key(seed) + self.check_seed(seed, secexp=secexp) + for_change, n = sequence pk = self.get_private_key_from_stretched_exponent(for_change, n, secexp) return pk, False - def check_seed(self, seed): - secexp = self.stretch_key(seed) + def check_seed(self, seed, *, secexp=None): + if secexp is None: + secexp = self.stretch_key(seed) master_private_key = ecc.ECPrivkey.from_secret_scalar(secexp) master_public_key = master_private_key.get_public_key_bytes(compressed=False)[1:] if master_public_key != bfh(self.mpk):