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']