From 40bd7287038677d806dfe567e762198b7deca8ce Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Thu, 1 Mar 2012 18:55:46 +0100 Subject: [PATCH] Add a Transaction.getValue(Wallet) method. --- src/com/google/bitcoin/core/Transaction.java | 7 +++++++ tests/com/google/bitcoin/core/WalletTest.java | 1 + 2 files changed, 8 insertions(+) diff --git a/src/com/google/bitcoin/core/Transaction.java b/src/com/google/bitcoin/core/Transaction.java index 9fdbe6f2..2917e9d1 100644 --- a/src/com/google/bitcoin/core/Transaction.java +++ b/src/com/google/bitcoin/core/Transaction.java @@ -288,6 +288,13 @@ public class Transaction extends ChildMessage implements Serializable { return v; } + /** + * Returns the difference of {@link Transaction#getValueSentFromMe(Wallet)} and {@link Transaction#getValueSentToMe(Wallet)}. + */ + public BigInteger getValue(Wallet wallet) throws ScriptException { + return getValueSentToMe(wallet).subtract(getValueSentFromMe(wallet)); + } + boolean disconnectInputs() { boolean disconnected = false; maybeParse(); diff --git a/tests/com/google/bitcoin/core/WalletTest.java b/tests/com/google/bitcoin/core/WalletTest.java index 165e393f..6f78e32a 100644 --- a/tests/com/google/bitcoin/core/WalletTest.java +++ b/tests/com/google/bitcoin/core/WalletTest.java @@ -251,6 +251,7 @@ public class WalletTest { // Reserialize. Transaction send2 = new Transaction(params, send1.bitcoinSerialize()); assertEquals(nanos, send2.getValueSentFromMe(wallet)); + assertEquals(BigInteger.ZERO.subtract(toNanoCoins(0, 10)), send2.getValue(wallet)); } @Test