|
|
@ -56,7 +56,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) |
|
|
|
uint256 hash; |
|
|
|
uint256 hash; |
|
|
|
|
|
|
|
|
|
|
|
// Simple block creation, nothing special yet:
|
|
|
|
// Simple block creation, nothing special yet:
|
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
|
|
|
|
|
|
|
|
// We can't make transactions until we have inputs
|
|
|
|
// We can't make transactions until we have inputs
|
|
|
|
// Therefore, load 100 blocks :)
|
|
|
|
// Therefore, load 100 blocks :)
|
|
|
@ -82,7 +82,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
|
|
|
|
|
|
|
|
// Just to make sure we can still make simple blocks
|
|
|
|
// Just to make sure we can still make simple blocks
|
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
|
|
|
|
|
|
|
|
// block sigops > limit: 1000 CHECKMULTISIG + 1
|
|
|
|
// block sigops > limit: 1000 CHECKMULTISIG + 1
|
|
|
|
tx.vin.resize(1); |
|
|
|
tx.vin.resize(1); |
|
|
@ -99,7 +99,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
tx.vin[0].prevout.hash = hash; |
|
|
|
tx.vin[0].prevout.hash = hash; |
|
|
|
} |
|
|
|
} |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
mempool.clear(); |
|
|
|
mempool.clear(); |
|
|
|
|
|
|
|
|
|
|
@ -119,14 +119,14 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
tx.vin[0].prevout.hash = hash; |
|
|
|
tx.vin[0].prevout.hash = hash; |
|
|
|
} |
|
|
|
} |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
mempool.clear(); |
|
|
|
mempool.clear(); |
|
|
|
|
|
|
|
|
|
|
|
// orphan in mempool
|
|
|
|
// orphan in mempool
|
|
|
|
hash = tx.GetHash(); |
|
|
|
hash = tx.GetHash(); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
mempool.clear(); |
|
|
|
mempool.clear(); |
|
|
|
|
|
|
|
|
|
|
@ -144,7 +144,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) |
|
|
|
tx.vout[0].nValue = 5900000000LL; |
|
|
|
tx.vout[0].nValue = 5900000000LL; |
|
|
|
hash = tx.GetHash(); |
|
|
|
hash = tx.GetHash(); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
mempool.clear(); |
|
|
|
mempool.clear(); |
|
|
|
|
|
|
|
|
|
|
@ -155,7 +155,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) |
|
|
|
tx.vout[0].nValue = 0; |
|
|
|
tx.vout[0].nValue = 0; |
|
|
|
hash = tx.GetHash(); |
|
|
|
hash = tx.GetHash(); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
mempool.clear(); |
|
|
|
mempool.clear(); |
|
|
|
|
|
|
|
|
|
|
@ -173,7 +173,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) |
|
|
|
tx.vout[0].nValue -= 1000000; |
|
|
|
tx.vout[0].nValue -= 1000000; |
|
|
|
hash = tx.GetHash(); |
|
|
|
hash = tx.GetHash(); |
|
|
|
mempool.addUnchecked(hash,tx); |
|
|
|
mempool.addUnchecked(hash,tx); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
mempool.clear(); |
|
|
|
mempool.clear(); |
|
|
|
|
|
|
|
|
|
|
@ -187,17 +187,17 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity) |
|
|
|
tx.vout[0].scriptPubKey = CScript() << OP_2; |
|
|
|
tx.vout[0].scriptPubKey = CScript() << OP_2; |
|
|
|
hash = tx.GetHash(); |
|
|
|
hash = tx.GetHash(); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
mempool.addUnchecked(hash, tx); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
mempool.clear(); |
|
|
|
mempool.clear(); |
|
|
|
|
|
|
|
|
|
|
|
// subsidy changing
|
|
|
|
// subsidy changing
|
|
|
|
int nHeight = pindexBest->nHeight; |
|
|
|
int nHeight = pindexBest->nHeight; |
|
|
|
pindexBest->nHeight = 209999; |
|
|
|
pindexBest->nHeight = 209999; |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
pindexBest->nHeight = 210000; |
|
|
|
pindexBest->nHeight = 210000; |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlock(reservekey)); |
|
|
|
BOOST_CHECK(pblocktemplate = CreateNewBlockWithKey(reservekey)); |
|
|
|
delete pblocktemplate; |
|
|
|
delete pblocktemplate; |
|
|
|
pindexBest->nHeight = nHeight; |
|
|
|
pindexBest->nHeight = nHeight; |
|
|
|
} |
|
|
|
} |
|
|
|