electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 70ef6847181ca2a3904d4faa4892bf8e1935d154
parent c24776ea5d3b2354382d1da9787bab7513e03605
Author: ThomasV <thomasv@gitorious>
Date:   Sat, 24 Mar 2012 13:15:23 +0100

send_tx

Diffstat:
Mclient/interface.py | 8--------
Mclient/wallet.py | 6+++++-
2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/client/interface.py b/client/interface.py @@ -37,7 +37,6 @@ class Interface: #only asynchrnous self.addresses_waiting_for_status = [] self.addresses_waiting_for_history = [] - self.tx_event = threading.Event() #json self.message_id = 0 @@ -49,13 +48,6 @@ class Interface: return self.responses.empty() and not ( self.addresses_waiting_for_status or self.addresses_waiting_for_history ) - def send_tx(self, data): - self.tx_event.clear() - self.send([('transaction.broadcast', [data])]) - self.tx_event.wait() - return self.tx_result - - def queue_json_response(self, c): #print repr(c) diff --git a/client/wallet.py b/client/wallet.py @@ -276,6 +276,7 @@ class Wallet: self.up_to_date_event = threading.Event() self.up_to_date_event.clear() self.interface_lock = threading.Lock() + self.tx_event = threading.Event() def set_server(self, host, port): @@ -760,7 +761,10 @@ class Wallet: def sendtx(self, tx): tx_hash = Hash(tx.decode('hex') )[::-1].encode('hex') - out = self.interface.send_tx(tx) + self.tx_event.clear() + self.interface.send([('transaction.broadcast', [tx])]) + self.tx_event.wait() + out = self.tx_result if out != tx_hash: return False, "error: " + out if self.receipt: