add support for p2sh addresses to trezor plugin
This commit is contained in:
@@ -9,7 +9,7 @@ from base64 import b64encode, b64decode
|
|||||||
from electrum_gui.qt.password_dialog import make_password_dialog, run_password_dialog
|
from electrum_gui.qt.password_dialog import make_password_dialog, run_password_dialog
|
||||||
from electrum_gui.qt.util import ok_cancel_buttons
|
from electrum_gui.qt.util import ok_cancel_buttons
|
||||||
from electrum.account import BIP32_Account
|
from electrum.account import BIP32_Account
|
||||||
from electrum.bitcoin import EncodeBase58Check, public_key_to_bc_address
|
from electrum.bitcoin import EncodeBase58Check, public_key_to_bc_address, bc_address_to_hash_160
|
||||||
from electrum.i18n import _
|
from electrum.i18n import _
|
||||||
from electrum.plugins import BasePlugin
|
from electrum.plugins import BasePlugin
|
||||||
from electrum.transaction import deserialize
|
from electrum.transaction import deserialize
|
||||||
@@ -255,23 +255,24 @@ class TrezorWallet(NewWallet):
|
|||||||
outputs = []
|
outputs = []
|
||||||
|
|
||||||
for type, address, amount in tx.outputs:
|
for type, address, amount in tx.outputs:
|
||||||
|
assert type == 'address'
|
||||||
txoutputtype = types.TxOutputType()
|
txoutputtype = types.TxOutputType()
|
||||||
|
|
||||||
if self.is_change(address):
|
if self.is_change(address):
|
||||||
address_path = self.address_id(address)
|
address_path = self.address_id(address)
|
||||||
address_n = self.get_client().expand_path(address_path)
|
address_n = self.get_client().expand_path(address_path)
|
||||||
txoutputtype.address_n.extend(address_n)
|
txoutputtype.address_n.extend(address_n)
|
||||||
else:
|
else:
|
||||||
txoutputtype.address = address
|
txoutputtype.address = address
|
||||||
|
|
||||||
txoutputtype.amount = amount
|
txoutputtype.amount = amount
|
||||||
|
addrtype, hash_160 = bc_address_to_hash_160(address)
|
||||||
txoutputtype.script_type = types.PAYTOADDRESS
|
if addrtype == 0:
|
||||||
#TODO
|
txoutputtype.script_type = types.PAYTOADDRESS
|
||||||
#if output['is_p2sh']:
|
elif addrtype == 5:
|
||||||
# txoutputtype.script_type = types.PAYTOSCRIPTHASH
|
txoutputtype.script_type = types.PAYTOSCRIPTHASH
|
||||||
|
else:
|
||||||
|
raise BaseException('addrtype')
|
||||||
outputs.append(txoutputtype)
|
outputs.append(txoutputtype)
|
||||||
|
|
||||||
return outputs
|
return outputs
|
||||||
|
|
||||||
def electrum_tx_to_txtype(self, tx):
|
def electrum_tx_to_txtype(self, tx):
|
||||||
|
|||||||
Reference in New Issue
Block a user