From 048caf7a997fea4f271b14a67678c4f68ee122c8 Mon Sep 17 00:00:00 2001 From: Fredrick Date: Tue, 10 Sep 2013 16:07:09 -0400 Subject: [PATCH 1/3] Fix dumpprivkeys --- lib/commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/commands.py b/lib/commands.py index 610ee0ce..5e105d9d 100644 --- a/lib/commands.py +++ b/lib/commands.py @@ -155,7 +155,7 @@ class Commands: def dumpprivkeys(self, addresses = None): if addresses is None: addresses = self.wallet.addresses(True) - return self.wallet.get_private_keys(addresses, self.password) + return [self.wallet.get_private_key(address, self.password) for address in addresses] def validateaddress(self,addr): isvalid = is_valid(addr) From c9d798944b1674f1276aa269379c95b118ab0230 Mon Sep 17 00:00:00 2001 From: Fredrick Date: Tue, 10 Sep 2013 16:11:20 -0400 Subject: [PATCH 2/3] Fix export private keys from GUI --- gui/gui_classic.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gui/gui_classic.py b/gui/gui_classic.py index f4141af4..2021a2ba 100644 --- a/gui/gui_classic.py +++ b/gui/gui_classic.py @@ -1944,8 +1944,10 @@ class ElectrumWindow(QMainWindow): transaction = csv.writer(csvfile) transaction.writerow(["address", "private_key"]) + addresses = self.wallet.addresses(True) - for addr, pk in self.wallet.get_private_keys(self.wallet.addresses(True), password).items(): + for addr in addresses: + pk = "".join(self.wallet.get_private_key(addr, password)) transaction.writerow(["%34s"%addr,pk]) self.show_message(_("Private keys exported.")) From 16902cc3ca57ea190bb3882bc36bd0b3f9e18609 Mon Sep 17 00:00:00 2001 From: Fredrick Date: Tue, 10 Sep 2013 17:31:01 -0400 Subject: [PATCH 3/3] Bugfix: Allow signing messages over 252 characters --- lib/bitcoin.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/bitcoin.py b/lib/bitcoin.py index a4c30fea..6a16ec5c 100644 --- a/lib/bitcoin.py +++ b/lib/bitcoin.py @@ -286,7 +286,10 @@ SECP256k1 = ecdsa.curves.Curve("SECP256k1", curve_secp256k1, generator_secp256k1 from ecdsa.util import string_to_number, number_to_string def msg_magic(message): - return "\x18Bitcoin Signed Message:\n" + chr( len(message) ) + message + varint = var_int(len(message)) + encoded_varint = "".join([chr(int(varint[i:i+2], 16)) for i in xrange(0, len(varint), 2)]) + + return "\x18Bitcoin Signed Message:\n" + encoded_varint + message class EC_KEY(object):