forked from Qortal/qortal
Fix for invalid balance (and transaction amount) when there are no outputs relating to this wallet.
This commit is contained in:
parent
6c1c814aca
commit
fd0a6ec71f
@ -470,6 +470,8 @@ public abstract class Bitcoiny implements ForeignBlockchain {
|
|||||||
List<SimpleTransaction.Input> inputs = new ArrayList<>();
|
List<SimpleTransaction.Input> inputs = new ArrayList<>();
|
||||||
List<SimpleTransaction.Output> outputs = new ArrayList<>();
|
List<SimpleTransaction.Output> outputs = new ArrayList<>();
|
||||||
|
|
||||||
|
boolean anyOutputAddressInWallet = false;
|
||||||
|
|
||||||
for (BitcoinyTransaction.Input input : t.inputs) {
|
for (BitcoinyTransaction.Input input : t.inputs) {
|
||||||
try {
|
try {
|
||||||
BitcoinyTransaction t2 = getTransaction(input.outputTxHash);
|
BitcoinyTransaction t2 = getTransaction(input.outputTxHash);
|
||||||
@ -502,6 +504,7 @@ public abstract class Bitcoiny implements ForeignBlockchain {
|
|||||||
amount += output.value;
|
amount += output.value;
|
||||||
}
|
}
|
||||||
addressInWallet = true;
|
addressInWallet = true;
|
||||||
|
anyOutputAddressInWallet = true;
|
||||||
}
|
}
|
||||||
outputs.add(new SimpleTransaction.Output(address, output.value, addressInWallet));
|
outputs.add(new SimpleTransaction.Output(address, output.value, addressInWallet));
|
||||||
}
|
}
|
||||||
@ -510,6 +513,13 @@ public abstract class Bitcoiny implements ForeignBlockchain {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
long fee = totalInputAmount - totalOutputAmount;
|
long fee = totalInputAmount - totalOutputAmount;
|
||||||
|
|
||||||
|
if (!anyOutputAddressInWallet) {
|
||||||
|
// No outputs relate to this wallet - check if any inputs did (which is signified by a positive total)
|
||||||
|
if (total > 0) {
|
||||||
|
amount = total * -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
return new SimpleTransaction(t.txHash, t.timestamp, amount, fee, inputs, outputs);
|
return new SimpleTransaction(t.txHash, t.timestamp, amount, fee, inputs, outputs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user