aboutsummaryrefslogtreecommitdiff
path: root/src/core.h
diff options
context:
space:
mode:
authorPieter Wuille <sipa@ulyssis.org>2013-06-24 20:51:08 +0200
committerPieter Wuille <sipa@ulyssis.org>2013-07-10 00:23:46 +0200
commitec84e81e8383b3b1e1ef4a6dbcb088193d8de5d7 (patch)
tree6421d91a5d9801ef1fac7ea43a11d4c38968e2f2 /src/core.h
parentb9e24d74a420a9fa11a4122fcc195f9805d39768 (diff)
Prune provably-unspendable outputs
Diffstat (limited to 'src/core.h')
-rw-r--r--src/core.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core.h b/src/core.h
index 1b9d4dd765..a8828324fa 100644
--- a/src/core.h
+++ b/src/core.h
@@ -389,7 +389,13 @@ public:
int nVersion;
// construct a CCoins from a CTransaction, at a given height
- CCoins(const CTransaction &tx, int nHeightIn) : fCoinBase(tx.IsCoinBase()), vout(tx.vout), nHeight(nHeightIn), nVersion(tx.nVersion) { }
+ CCoins(const CTransaction &tx, int nHeightIn) : fCoinBase(tx.IsCoinBase()), vout(tx.vout), nHeight(nHeightIn), nVersion(tx.nVersion) {
+ BOOST_FOREACH(CTxOut &txout, vout) {
+ if (txout.scriptPubKey.IsUnspendable())
+ txout.SetNull();
+ }
+ Cleanup();
+ }
// empty constructor
CCoins() : fCoinBase(false), vout(0), nHeight(0), nVersion(0) { }