tMerge pull request #4171 from SomberNight/ledger_txoutput_hack - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit ad3ba3d066330790f295f3edcb395f6ad3369f45
DIR parent 7939b32a1f8aadaf4d726d00f526fea374068496
HTML Author: ThomasV <thomasv@electrum.org>
Date: Sun, 25 Mar 2018 10:34:15 +0200
Merge pull request #4171 from SomberNight/ledger_txoutput_hack
ledger: send derivation for change output
Diffstat:
M plugins/ledger/ledger.py | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
---
DIR diff --git a/plugins/ledger/ledger.py b/plugins/ledger/ledger.py
t@@ -418,7 +418,12 @@ class Ledger_KeyStore(Hardware_KeyStore):
if segwitTransaction:
self.get_client().startUntrustedTransaction(True, inputIndex,
chipInputs, redeemScripts[inputIndex])
- outputData = self.get_client().finalizeInputFull(txOutput)
+ if changePath:
+ # we don't set meaningful outputAddress, amount and fees
+ # as we only care about the alternateEncoding==True branch
+ outputData = self.get_client().finalizeInput(b'', 0, 0, changePath, bfh(rawTx))
+ else:
+ outputData = self.get_client().finalizeInputFull(txOutput)
outputData['outputData'] = txOutput
transactionOutput = outputData['outputData']
if outputData['confirmationNeeded']:
t@@ -441,7 +446,12 @@ class Ledger_KeyStore(Hardware_KeyStore):
while inputIndex < len(inputs):
self.get_client().startUntrustedTransaction(firstTransaction, inputIndex,
chipInputs, redeemScripts[inputIndex])
- outputData = self.get_client().finalizeInputFull(txOutput)
+ if changePath:
+ # we don't set meaningful outputAddress, amount and fees
+ # as we only care about the alternateEncoding==True branch
+ outputData = self.get_client().finalizeInput(b'', 0, 0, changePath, bfh(rawTx))
+ else:
+ outputData = self.get_client().finalizeInputFull(txOutput)
outputData['outputData'] = txOutput
if firstTransaction:
transactionOutput = outputData['outputData']