From c400b07babf8ceb0828e85c0aa0a1bd5f21e028f Mon Sep 17 00:00:00 2001 From: undeath Date: Mon, 7 Jan 2019 14:46:40 +0100 Subject: [PATCH 1/2] fix crash in wallet-tools display/displayall/history Without this fix wallet-tools display/displayall/history methods will crash when the wallet contains an unconfirmed transaction. --- jmclient/jmclient/wallet_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jmclient/jmclient/wallet_utils.py b/jmclient/jmclient/wallet_utils.py index a070211..b232f04 100644 --- a/jmclient/jmclient/wallet_utils.py +++ b/jmclient/jmclient/wallet_utils.py @@ -323,7 +323,7 @@ def get_tx_info(txid): cj_amount = value_freq_list[0][0] cj_n = value_freq_list[0][1] return is_coinjoin, cj_amount, cj_n, output_script_values,\ - rpctx['blocktime'], txd + rpctx.get('blocktime', 0), txd def get_imported_privkey_branch(wallet, m, showprivkey): From 0a74b83aa041c5f02f5747013fc1f8fbf87803e1 Mon Sep 17 00:00:00 2001 From: undeath Date: Mon, 7 Jan 2019 14:48:21 +0100 Subject: [PATCH 2/2] fix wallet-tools display/displayall/history incompatible with electruminterface --- jmclient/jmclient/electruminterface.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/jmclient/jmclient/electruminterface.py b/jmclient/jmclient/electruminterface.py index 64b6a30..58a12a3 100644 --- a/jmclient/jmclient/electruminterface.py +++ b/jmclient/jmclient/electruminterface.py @@ -535,3 +535,19 @@ class ElectrumInterface(BlockchainInterface): if not spentfun or wl[3]: return + def rpc(self, method, args): + # FIXME: this is very poorly written code + if method == 'gettransaction': + assert len(args) == 1 + return self._gettransaction(args[0]) + else: + raise NotImplementedError(method) + + def _gettransaction(self, txid): + # FIXME: this is not complete and only implemented to work with + # wallet_utils + return { + 'hex': str(self.get_from_electrum('blockchain.transaction.get', + txid, blocking=True) + .get('result')) + }