fix get_private_key for old addresses
authorThomasV <thomasv@gitorious>
Mon, 2 Sep 2013 08:41:50 +0000 (10:41 +0200)
committerThomasV <thomasv@gitorious>
Mon, 2 Sep 2013 08:41:50 +0000 (10:41 +0200)
lib/account.py
lib/wallet.py

index 3038828..12fb149 100644 (file)
@@ -95,7 +95,8 @@ class OldAccount(Account):
         compressed = False
         return SecretToASecret( pk, compressed )
         
-    def get_private_key(self, for_change, n, seed):
+    def get_private_key(self, seed, sequence):
+        for_change, n = sequence
         secexp = self.stretch_key(seed)
         return self.get_private_key_from_stretched_exponent(for_change, n, secexp)
 
index 10f749b..7c9c92e 100644 (file)
@@ -463,6 +463,9 @@ class Wallet:
         
 
     def get_keyID(self, account, sequence):
+        if account == 0:
+            return 'old'
+
         rs = self.rebase_sequence(account, sequence)
         dd = []
         for root, public_sequence in rs:
@@ -489,6 +492,12 @@ class Wallet:
             out.append( pw_decode( self.imported_keys[address], password ) )
         else:
             account, sequence = self.get_address_index(address)
+            if account == 0:
+                seed = self.decode_seed(password)
+                pk = self.accounts[account].get_private_key(seed, sequence)
+                out.append(pk)
+                return out
+
             # assert address == self.accounts[account].get_address(*sequence)
             rs = self.rebase_sequence( account, sequence)
             for root, public_sequence in rs: