diff --git a/src/test/DoS_tests.cpp b/src/test/DoS_tests.cpp --- a/src/test/DoS_tests.cpp +++ b/src/test/DoS_tests.cpp @@ -155,7 +155,7 @@ tx.vin[0].prevout.hash = GetRandHash(); tx.vin[0].scriptSig << OP_1; tx.vout.resize(1); - tx.vout[0].nValue = 1 * CENT.GetSatoshis(); + tx.vout[0].nValue = 1 * CENT; tx.vout[0].scriptPubKey = GetScriptForDestination(key.GetPubKey().GetID()); @@ -171,7 +171,7 @@ tx.vin[0].prevout.n = 0; tx.vin[0].prevout.hash = txPrev->GetId(); tx.vout.resize(1); - tx.vout[0].nValue = 1 * CENT.GetSatoshis(); + tx.vout[0].nValue = 1 * CENT; tx.vout[0].scriptPubKey = GetScriptForDestination(key.GetPubKey().GetID()); SignSignature(keystore, *txPrev, tx, 0, SIGHASH_ALL); @@ -185,7 +185,7 @@ CMutableTransaction tx; tx.vout.resize(1); - tx.vout[0].nValue = 1 * CENT.GetSatoshis(); + tx.vout[0].nValue = 1 * CENT; tx.vout[0].scriptPubKey = GetScriptForDestination(key.GetPubKey().GetID()); tx.vin.resize(2777); diff --git a/src/test/amount_tests.cpp b/src/test/amount_tests.cpp --- a/src/test/amount_tests.cpp +++ b/src/test/amount_tests.cpp @@ -52,77 +52,73 @@ BOOST_CHECK_EQUAL(Amount(10) / -3, Amount(-3)); BOOST_CHECK_EQUAL(-10 * COIN / (-1 * COIN), 10.0); - BOOST_CHECK_EQUAL(Amount(100).GetSatoshis() / 10, 10); - // This should probably be Banker's rounding, - // but that's a large change - BOOST_CHECK_EQUAL(Amount(100).GetSatoshis() / 3, 33); - BOOST_CHECK_EQUAL(Amount(101).GetSatoshis() / 3, 33); - - // Modulus - BOOST_CHECK_EQUAL(COIN.GetSatoshis() % 1, Amount(0)); - BOOST_CHECK_EQUAL((3 * COIN.GetSatoshis()) % (2 * COIN.GetSatoshis()), - COIN); + BOOST_CHECK_EQUAL(Amount(100) / 10, Amount(10)); + BOOST_CHECK_EQUAL(Amount(100) / 3, Amount(33)); + BOOST_CHECK_EQUAL(Amount(101) / 3, Amount(33)); + + BOOST_CHECK_EQUAL(Amount(100) % 10, Amount(0)); + BOOST_CHECK_EQUAL(Amount(100) % 3, Amount(1)); + BOOST_CHECK_EQUAL(Amount(101) % 3, Amount(2)); } BOOST_AUTO_TEST_CASE(GetFeeTest) { CFeeRate feeRate; - feeRate = CFeeRate(0); + feeRate = CFeeRate(Amount(0)); // Must always return 0 - BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0); - BOOST_CHECK_EQUAL(feeRate.GetFee(1e5), 0); + BOOST_CHECK_EQUAL(feeRate.GetFee(0), Amount(0)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1e5), Amount(0)); - feeRate = CFeeRate(1000); + feeRate = CFeeRate(Amount(1000)); // Must always just return the arg - BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0); - BOOST_CHECK_EQUAL(feeRate.GetFee(1), 1); - BOOST_CHECK_EQUAL(feeRate.GetFee(121), 121); - BOOST_CHECK_EQUAL(feeRate.GetFee(999), 999); - BOOST_CHECK_EQUAL(feeRate.GetFee(1000), 1000); - BOOST_CHECK_EQUAL(feeRate.GetFee(9000), 9000); - - feeRate = CFeeRate(-1000); + BOOST_CHECK_EQUAL(feeRate.GetFee(0), Amount(0)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1), Amount(1)); + BOOST_CHECK_EQUAL(feeRate.GetFee(121), Amount(121)); + BOOST_CHECK_EQUAL(feeRate.GetFee(999), Amount(999)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1000), Amount(1000)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9000), Amount(9000)); + + feeRate = CFeeRate(Amount(-1000)); // Must always just return -1 * arg - BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0); - BOOST_CHECK_EQUAL(feeRate.GetFee(1), -1); - BOOST_CHECK_EQUAL(feeRate.GetFee(121), -121); - BOOST_CHECK_EQUAL(feeRate.GetFee(999), -999); - BOOST_CHECK_EQUAL(feeRate.GetFee(1000), -1000); - BOOST_CHECK_EQUAL(feeRate.GetFee(9000), -9000); - - feeRate = CFeeRate(123); + BOOST_CHECK_EQUAL(feeRate.GetFee(0), Amount(0)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1), Amount(-1)); + BOOST_CHECK_EQUAL(feeRate.GetFee(121), Amount(-121)); + BOOST_CHECK_EQUAL(feeRate.GetFee(999), Amount(-999)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1000), Amount(-1000)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9000), Amount(-9000)); + + feeRate = CFeeRate(Amount(123)); // Truncates the result, if not integer - BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0); - BOOST_CHECK_EQUAL(feeRate.GetFee(8), - 1); // Special case: returns 1 instead of 0 - BOOST_CHECK_EQUAL(feeRate.GetFee(9), 1); - BOOST_CHECK_EQUAL(feeRate.GetFee(121), 14); - BOOST_CHECK_EQUAL(feeRate.GetFee(122), 15); - BOOST_CHECK_EQUAL(feeRate.GetFee(999), 122); - BOOST_CHECK_EQUAL(feeRate.GetFee(1000), 123); - BOOST_CHECK_EQUAL(feeRate.GetFee(9000), 1107); - - feeRate = CFeeRate(-123); + BOOST_CHECK_EQUAL(feeRate.GetFee(0), Amount(0)); + // Special case: returns 1 instead of 0 + BOOST_CHECK_EQUAL(feeRate.GetFee(8), Amount(1)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9), Amount(1)); + BOOST_CHECK_EQUAL(feeRate.GetFee(121), Amount(14)); + BOOST_CHECK_EQUAL(feeRate.GetFee(122), Amount(15)); + BOOST_CHECK_EQUAL(feeRate.GetFee(999), Amount(122)); + BOOST_CHECK_EQUAL(feeRate.GetFee(1000), Amount(123)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9000), Amount(1107)); + + feeRate = CFeeRate(Amount(-123)); // Truncates the result, if not integer - BOOST_CHECK_EQUAL(feeRate.GetFee(0), 0); - BOOST_CHECK_EQUAL(feeRate.GetFee(8), - -1); // Special case: returns -1 instead of 0 - BOOST_CHECK_EQUAL(feeRate.GetFee(9), -1); + BOOST_CHECK_EQUAL(feeRate.GetFee(0), Amount(0)); + // Special case: returns -1 instead of 0 + BOOST_CHECK_EQUAL(feeRate.GetFee(8), Amount(-1)); + BOOST_CHECK_EQUAL(feeRate.GetFee(9), Amount(-1)); // Check full constructor // default value - BOOST_CHECK(CFeeRate(Amount(-1), 1000) == CFeeRate(-1)); - BOOST_CHECK(CFeeRate(Amount(0), 1000) == CFeeRate(0)); - BOOST_CHECK(CFeeRate(Amount(1), 1000) == CFeeRate(1)); + BOOST_CHECK(CFeeRate(Amount(-1), 1000) == CFeeRate(Amount(-1))); + BOOST_CHECK(CFeeRate(Amount(0), 1000) == CFeeRate(Amount(0))); + BOOST_CHECK(CFeeRate(Amount(1), 1000) == CFeeRate(Amount(1))); // lost precision (can only resolve satoshis per kB) - BOOST_CHECK(CFeeRate(Amount(1), 1001) == CFeeRate(0)); - BOOST_CHECK(CFeeRate(Amount(2), 1001) == CFeeRate(1)); + BOOST_CHECK(CFeeRate(Amount(1), 1001) == CFeeRate(Amount(0))); + BOOST_CHECK(CFeeRate(Amount(2), 1001) == CFeeRate(Amount(1))); // some more integer checks - BOOST_CHECK(CFeeRate(Amount(26), 789) == CFeeRate(32)); - BOOST_CHECK(CFeeRate(Amount(27), 789) == CFeeRate(34)); + BOOST_CHECK(CFeeRate(Amount(26), 789) == CFeeRate(Amount(32))); + BOOST_CHECK(CFeeRate(Amount(27), 789) == CFeeRate(Amount(34))); // Maximum size in bytes, should not crash - CFeeRate(MAX_MONEY.GetSatoshis(), std::numeric_limits::max() >> 1) - .GetFeePerK(); + CFeeRate(MAX_MONEY, std::numeric_limits::max() >> 1).GetFeePerK(); } BOOST_AUTO_TEST_SUITE_END() diff --git a/src/test/blockcheck_tests.cpp b/src/test/blockcheck_tests.cpp --- a/src/test/blockcheck_tests.cpp +++ b/src/test/blockcheck_tests.cpp @@ -53,7 +53,7 @@ tx.vin.resize(1); tx.vin[0].scriptSig.resize(10); tx.vout.resize(1); - tx.vout[0].nValue = 42; + tx.vout[0].nValue = Amount(42); auto coinbaseTx = CTransaction(tx); block.vtx.resize(1); diff --git a/src/test/blockencodings_tests.cpp b/src/test/blockencodings_tests.cpp --- a/src/test/blockencodings_tests.cpp +++ b/src/test/blockencodings_tests.cpp @@ -26,7 +26,7 @@ tx.vin.resize(1); tx.vin[0].scriptSig.resize(10); tx.vout.resize(1); - tx.vout[0].nValue = 42; + tx.vout[0].nValue = Amount(42); block.vtx.resize(3); block.vtx[0] = MakeTransactionRef(tx); @@ -62,7 +62,7 @@ #define SHARED_TX_OFFSET 2 BOOST_AUTO_TEST_CASE(SimpleRoundTripTest) { - CTxMemPool pool(CFeeRate(0)); + CTxMemPool pool(CFeeRate(Amount(0))); TestMemPoolEntryHelper entry; CBlock block(BuildBlockTestCase()); @@ -172,7 +172,7 @@ }; BOOST_AUTO_TEST_CASE(NonCoinbasePreforwardRTTest) { - CTxMemPool pool(CFeeRate(0)); + CTxMemPool pool(CFeeRate(Amount(0))); TestMemPoolEntryHelper entry; CBlock block(BuildBlockTestCase()); @@ -253,7 +253,7 @@ } BOOST_AUTO_TEST_CASE(SufficientPreforwardRTTest) { - CTxMemPool pool(CFeeRate(0)); + CTxMemPool pool(CFeeRate(Amount(0))); TestMemPoolEntryHelper entry; CBlock block(BuildBlockTestCase()); @@ -314,12 +314,12 @@ } BOOST_AUTO_TEST_CASE(EmptyBlockRoundTripTest) { - CTxMemPool pool(CFeeRate(0)); + CTxMemPool pool(CFeeRate(Amount(0))); CMutableTransaction coinbase; coinbase.vin.resize(1); coinbase.vin[0].scriptSig.resize(10); coinbase.vout.resize(1); - coinbase.vout[0].nValue = 42; + coinbase.vout[0].nValue = Amount(42); CBlock block; block.vtx.resize(1);