electrum

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

commit bb0174a8de6f90d665924034824412d65114134e
parent 15642ec8de0330f378ec360f3e959cf3acfc076d
Author: ThomasV <thomasv@electrum.org>
Date:   Wed,  9 Aug 2017 10:01:35 +0200

trezor updates for python3

Diffstat:
Mplugins/trezor/plugin.py | 11++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/plugins/trezor/plugin.py b/plugins/trezor/plugin.py @@ -5,6 +5,7 @@ import threading from binascii import hexlify, unhexlify from functools import partial +from electrum.util import bfh, bh2u from electrum.bitcoin import (bc_address_to_hash_160, xpub_from_pubkey, public_key_to_p2pkh, EncodeBase58Check, TYPE_ADDRESS, TYPE_SCRIPT, @@ -243,7 +244,7 @@ class TrezorCompatiblePlugin(HW_PluginBase): inputs = self.tx_inputs(tx, True) outputs = self.tx_outputs(keystore.get_derivation(), tx) signed_tx = client.sign_tx(self.get_coin_name(), inputs, outputs, lock_time=tx.locktime)[1] - raw = signed_tx.encode('hex') + raw = bh2u(signed_tx) tx.update_signatures(raw) def show_address(self, wallet, address): @@ -277,14 +278,14 @@ class TrezorCompatiblePlugin(HW_PluginBase): if is_xpubkey(x_pubkey): xpub, s = parse_xpubkey(x_pubkey) else: - xpub = xpub_from_pubkey(0, x_pubkey.decode('hex')) + xpub = xpub_from_pubkey(0, bfh(x_pubkey)) s = [] node = self.ckd_public.deserialize(xpub) return self.types.HDNodePathType(node=node, address_n=s) pubkeys = map(f, x_pubkeys) multisig = self.types.MultisigRedeemScriptType( pubkeys=pubkeys, - signatures=map(lambda x: x.decode('hex')[:-1] if x else '', txin.get('signatures')), + signatures=map(lambda x: bfh(x)[:-1] if x else '', txin.get('signatures')), m=txin.get('num_sig'), ) txinputtype = self.types.TxInputType( @@ -307,7 +308,7 @@ class TrezorCompatiblePlugin(HW_PluginBase): txinputtype.prev_index = prev_index if 'scriptSig' in txin: - script_sig = txin['scriptSig'].decode('hex') + script_sig = bfh(txin['scriptSig']) txinputtype.script_sig = script_sig txinputtype.sequence = txin.get('sequence', 0xffffffff - 1) @@ -376,7 +377,7 @@ class TrezorCompatiblePlugin(HW_PluginBase): for vout in d['outputs']: o = t.bin_outputs.add() o.amount = vout['value'] - o.script_pubkey = vout['scriptPubKey'].decode('hex') + o.script_pubkey = bfh(vout['scriptPubKey']) return t # This function is called from the trezor libraries (via tx_api)