URI: 
       tmethod get_private_keys for sequence - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 60cefeafcaddf64711c51f0cbc96db0d51f33e94
   DIR parent 27b8b21f9ea76babba3e012f8fdd017048c59515
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Sun,  3 Mar 2013 10:43:08 +0100
       
       method get_private_keys for sequence
       
       Diffstat:
         M lib/bitcoin.py                      |       4 ++++
         M lib/wallet.py                       |       9 +++++++--
       
       2 files changed, 11 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/lib/bitcoin.py b/lib/bitcoin.py
       t@@ -483,6 +483,10 @@ class DeterministicSequence:
                secexp = self.stretch_key(seed)
                return self.get_private_key_from_stretched_exponent(sequence, secexp)
        
       +    def get_private_keys(self, sequence_list, seed):
       +        secexp = self.stretch_key(seed)
       +        return [ self.get_private_key_from_stretched_exponent( sequence, secexp) for sequence in sequence_list]
       +
            def check_seed(self, seed):
                curve = SECP256k1
                secexp = self.stretch_key(seed)
   DIR diff --git a/lib/wallet.py b/lib/wallet.py
       t@@ -244,15 +244,20 @@ class Wallet:
            def get_private_keys(self, addresses, password):
                # decode seed in any case, in order to test the password
                seed = self.decode_seed(password)
       -        secexp = self.sequences[0].stretch_key(seed)
                out = {}
       +        l_sequences = []
       +        l_addresses = []
                for address in addresses:
                    if address in self.imported_keys.keys():
                        out[address] = pw_decode( self.imported_keys[address], password )
                    else:
                        account, sequence = self.get_address_index(address)
                        if account == 0:
       -                    out[address] = self.sequences[0].get_private_key_from_stretched_exponent( sequence, secexp)
       +                    l_sequences.append(sequence)
       +                    l_addresses.append(address)
       +
       +        pk = self.sequences[0].get_private_keys(l_sequences, seed)
       +        for i, address in enumerate(l_addresses): out[address] = pk[i]                     
                return out