@ -119,7 +119,8 @@ 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 , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
bool spendsCoinbase = ( i = = 0 ) ? true : false ; // only first tx spends coinbase
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( spendsCoinbase ) . FromTx ( tx ) ) ;
tx . vin [ 0 ] . prevout . hash = hash ;
tx . vin [ 0 ] . prevout . hash = hash ;
}
}
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
@ -139,7 +140,8 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
{
{
tx . vout [ 0 ] . nValue - = 10000000 ;
tx . vout [ 0 ] . nValue - = 10000000 ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
bool spendsCoinbase = ( i = = 0 ) ? true : false ; // only first tx spends coinbase
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( spendsCoinbase ) . FromTx ( tx ) ) ;
tx . vin [ 0 ] . prevout . hash = hash ;
tx . vin [ 0 ] . prevout . hash = hash ;
}
}
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
@ -158,7 +160,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
tx . vin [ 0 ] . prevout . hash = txFirst [ 1 ] - > GetHash ( ) ;
tx . vin [ 0 ] . prevout . hash = txFirst [ 1 ] - > GetHash ( ) ;
tx . vout [ 0 ] . nValue = 4900000000LL ;
tx . vout [ 0 ] . nValue = 4900000000LL ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( true ) . FromTx ( tx ) ) ;
tx . vin [ 0 ] . prevout . hash = hash ;
tx . vin [ 0 ] . prevout . hash = hash ;
tx . vin . resize ( 2 ) ;
tx . vin . resize ( 2 ) ;
tx . vin [ 1 ] . scriptSig = CScript ( ) < < OP_1 ;
tx . vin [ 1 ] . scriptSig = CScript ( ) < < OP_1 ;
@ -166,7 +168,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
tx . vin [ 1 ] . prevout . n = 0 ;
tx . vin [ 1 ] . prevout . n = 0 ;
tx . vout [ 0 ] . nValue = 5900000000LL ;
tx . vout [ 0 ] . nValue = 5900000000LL ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( true ) . FromTx ( tx ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
delete pblocktemplate ;
delete pblocktemplate ;
mempool . clear ( ) ;
mempool . clear ( ) ;
@ -177,7 +179,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
tx . vin [ 0 ] . scriptSig = CScript ( ) < < OP_0 < < OP_1 ;
tx . vin [ 0 ] . scriptSig = CScript ( ) < < OP_0 < < OP_1 ;
tx . vout [ 0 ] . nValue = 0 ;
tx . vout [ 0 ] . nValue = 0 ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( false ) . FromTx ( tx ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
delete pblocktemplate ;
delete pblocktemplate ;
mempool . clear ( ) ;
mempool . clear ( ) ;
@ -190,12 +192,12 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
script = CScript ( ) < < OP_0 ;
script = CScript ( ) < < OP_0 ;
tx . vout [ 0 ] . scriptPubKey = GetScriptForDestination ( CScriptID ( script ) ) ;
tx . vout [ 0 ] . scriptPubKey = GetScriptForDestination ( CScriptID ( script ) ) ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( true ) . FromTx ( tx ) ) ;
tx . vin [ 0 ] . prevout . hash = hash ;
tx . vin [ 0 ] . prevout . hash = hash ;
tx . vin [ 0 ] . scriptSig = CScript ( ) < < std : : vector < unsigned char > ( script . begin ( ) , script . end ( ) ) ;
tx . vin [ 0 ] . scriptSig = CScript ( ) < < std : : vector < unsigned char > ( script . begin ( ) , script . end ( ) ) ;
tx . vout [ 0 ] . nValue - = 1000000 ;
tx . vout [ 0 ] . nValue - = 1000000 ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( false ) . FromTx ( tx ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
delete pblocktemplate ;
delete pblocktemplate ;
mempool . clear ( ) ;
mempool . clear ( ) ;
@ -206,10 +208,10 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
tx . vout [ 0 ] . nValue = 4900000000LL ;
tx . vout [ 0 ] . nValue = 4900000000LL ;
tx . vout [ 0 ] . scriptPubKey = CScript ( ) < < OP_1 ;
tx . vout [ 0 ] . scriptPubKey = CScript ( ) < < OP_1 ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( true ) . FromTx ( tx ) ) ;
tx . vout [ 0 ] . scriptPubKey = CScript ( ) < < OP_2 ;
tx . vout [ 0 ] . scriptPubKey = CScript ( ) < < OP_2 ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( true ) . FromTx ( tx ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
delete pblocktemplate ;
delete pblocktemplate ;
mempool . clear ( ) ;
mempool . clear ( ) ;
@ -235,7 +237,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
tx . vout [ 0 ] . scriptPubKey = CScript ( ) < < OP_1 ;
tx . vout [ 0 ] . scriptPubKey = CScript ( ) < < OP_1 ;
tx . nLockTime = chainActive . Tip ( ) - > nHeight + 1 ;
tx . nLockTime = chainActive . Tip ( ) - > nHeight + 1 ;
hash = tx . GetHash ( ) ;
hash = tx . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( true ) . FromTx ( tx ) ) ;
BOOST_CHECK ( ! CheckFinalTx ( tx , LOCKTIME_MEDIAN_TIME_PAST ) ) ;
BOOST_CHECK ( ! CheckFinalTx ( tx , LOCKTIME_MEDIAN_TIME_PAST ) ) ;
// time locked
// time locked
@ -249,7 +251,7 @@ BOOST_AUTO_TEST_CASE(CreateNewBlock_validity)
tx2 . vout [ 0 ] . scriptPubKey = CScript ( ) < < OP_1 ;
tx2 . vout [ 0 ] . scriptPubKey = CScript ( ) < < OP_1 ;
tx2 . nLockTime = chainActive . Tip ( ) - > GetMedianTimePast ( ) + 1 ;
tx2 . nLockTime = chainActive . Tip ( ) - > GetMedianTimePast ( ) + 1 ;
hash = tx2 . GetHash ( ) ;
hash = tx2 . GetHash ( ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . FromTx ( tx2 ) ) ;
mempool . addUnchecked ( hash , entry . Time ( GetTime ( ) ) . SpendsCoinbase ( true ) . FromTx ( tx2 ) ) ;
BOOST_CHECK ( ! CheckFinalTx ( tx2 , LOCKTIME_MEDIAN_TIME_PAST ) ) ;
BOOST_CHECK ( ! CheckFinalTx ( tx2 , LOCKTIME_MEDIAN_TIME_PAST ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;
BOOST_CHECK ( pblocktemplate = CreateNewBlock ( chainparams , scriptPubKey ) ) ;