aboutsummaryrefslogtreecommitdiff
path: root/src/test/transaction_tests.cpp
diff options
context:
space:
mode:
authorGavin Andresen <gavinandresen@gmail.com>2013-04-24 18:27:00 -0400
committerGavin Andresen <gavinandresen@gmail.com>2013-05-03 10:52:09 -0400
commit8de9bb53af32f7f6b09c06f831f2c0a7b4e95303 (patch)
treeafb7c68d3fd15203308f38a47a3cc3875d476a2f /src/test/transaction_tests.cpp
parentb8e1dc2e53b9d19df26a87686dfd435b3b346f9c (diff)
downloadbitcoin-8de9bb53af32f7f6b09c06f831f2c0a7b4e95303.tar.xz
Define dust transaction outputs, and make them non-standard
Diffstat (limited to 'src/test/transaction_tests.cpp')
-rw-r--r--src/test/transaction_tests.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp
index f44d46fdb8..ddff2acd4e 100644
--- a/src/test/transaction_tests.cpp
+++ b/src/test/transaction_tests.cpp
@@ -242,24 +242,34 @@ BOOST_AUTO_TEST_CASE(test_Get)
BOOST_CHECK(!t1.AreInputsStandard(coins));
}
-BOOST_AUTO_TEST_CASE(test_GetThrow)
+BOOST_AUTO_TEST_CASE(test_IsStandard)
{
CBasicKeyStore keystore;
CCoinsView coinsDummy;
CCoinsViewCache coins(coinsDummy);
std::vector<CTransaction> dummyTransactions = SetupDummyInputs(keystore, coins);
- CTransaction t1;
- t1.vin.resize(3);
- t1.vin[0].prevout.hash = dummyTransactions[0].GetHash();
- t1.vin[0].prevout.n = 0;
- t1.vin[1].prevout.hash = dummyTransactions[1].GetHash();;
- t1.vin[1].prevout.n = 0;
- t1.vin[2].prevout.hash = dummyTransactions[1].GetHash();;
- t1.vin[2].prevout.n = 1;
- t1.vout.resize(2);
- t1.vout[0].nValue = 90*CENT;
- t1.vout[0].scriptPubKey << OP_1;
+ CTransaction t;
+ t.vin.resize(1);
+ t.vin[0].prevout.hash = dummyTransactions[0].GetHash();
+ t.vin[0].prevout.n = 1;
+ t.vin[0].scriptSig << std::vector<unsigned char>(65, 0);
+ t.vout.resize(1);
+ t.vout[0].nValue = 90*CENT;
+ CKey key;
+ key.MakeNewKey(true);
+ t.vout[0].scriptPubKey.SetDestination(key.GetPubKey().GetID());
+
+ BOOST_CHECK(t.IsStandard());
+
+ t.vout[0].nValue = 5011; // dust
+ BOOST_CHECK(!t.IsStandard());
+
+ t.vout[0].nValue = 6011; // not dust
+ BOOST_CHECK(t.IsStandard());
+
+ t.vout[0].scriptPubKey = CScript() << OP_1;
+ BOOST_CHECK(!t.IsStandard());
}
BOOST_AUTO_TEST_SUITE_END()