@@ -1710,19 +1710,18 @@ bool tx_version_against_hardfork::generate(std::vector<test_event_entry>& events
17101710bool tx_pool_semantic_validation::generate (std::vector<test_event_entry>& events) const
17111711{
17121712 // Test idea: ensure that the checks contained in the function "validate_tx_semantic" body are performed.
1713- crypto::hash dummy_hash = currency::null_hash;
17141713 GENERATE_ACCOUNT (miner);
17151714
17161715 MAKE_GENESIS_BLOCK (events, blk_0, miner, test_core_time::get_time ());
17171716 DO_CALLBACK (events, " configure_core" );
1718- CHECK_AND_ASSERT_EQ (validate_tx_semantic (transaction{}, CURRENCY_MAX_TRANSACTION_BLOB_SIZE , dummy_hash ), false );
1717+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (transaction{}, CURRENCY_MAX_TRANSACTION_BLOB_SIZE ), false );
17191718
17201719 // No inputs.
17211720 {
17221721 transaction tx{};
17231722
17241723 tx.vin = {};
1725- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1724+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
17261725 DO_CALLBACK (events, " mark_invalid_tx" );
17271726 ADD_CUSTOM_EVENT (events, tx);
17281727 }
@@ -1732,7 +1731,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
17321731 transaction tx{};
17331732
17341733 tx.vin .emplace_back (txin_gen{});
1735- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1734+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
17361735 DO_CALLBACK (events, " mark_invalid_tx" );
17371736 ADD_CUSTOM_EVENT (events, tx);
17381737 }
@@ -1743,7 +1742,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
17431742
17441743 tx.vin .push_back (txin_to_key{});
17451744 tx.vout .emplace_back ();
1746- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1745+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
17471746 DO_CALLBACK (events, " mark_invalid_tx" );
17481747 ADD_CUSTOM_EVENT (events, tx);
17491748 }
@@ -1767,7 +1766,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
17671766
17681767 CHECK_AND_ASSERT_GREATER (inputs.at (0 ).amount , inputs.at (0 ).amount + inputs.at (1 ).amount );
17691768 CHECK_AND_ASSERT_GREATER (inputs.at (1 ).amount , inputs.at (0 ).amount + inputs.at (1 ).amount );
1770- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1769+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
17711770 DO_CALLBACK (events, " mark_invalid_tx" );
17721771 ADD_CUSTOM_EVENT (events, tx);
17731772 }
@@ -1794,7 +1793,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
17941793
17951794 CHECK_AND_ASSERT_GREATER (outputs.at (0 ).amount , outputs.at (0 ).amount + outputs.at (1 ).amount );
17961795 CHECK_AND_ASSERT_GREATER (outputs.at (1 ).amount , outputs.at (0 ).amount + outputs.at (1 ).amount );
1797- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1796+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
17981797 DO_CALLBACK (events, " mark_invalid_tx" );
17991798 ADD_CUSTOM_EVENT (events, tx);
18001799 }
@@ -1827,13 +1826,13 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
18271826 for (int8_t step{}; step < 3 ; ++step)
18281827 {
18291828 tx.vin .push_back (tx.vin .front ());
1830- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1829+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
18311830 DO_CALLBACK (events, " mark_invalid_tx" );
18321831 ADD_CUSTOM_EVENT (events, tx);
18331832 tx.vin .erase (tx.vin .begin (), tx.vin .begin () + 1 );
18341833 }
18351834
1836- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
1835+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
18371836
18381837 }
18391838
@@ -1857,7 +1856,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
18571856
18581857 CHECK_AND_ASSERT_EQ (tx.extra .size (), 2 );
18591858 CHECK_AND_ASSERT_EQ (typeid (tx.extra .front ()), typeid (tx.extra .back ()));
1860- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1859+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
18611860 DO_CALLBACK (events, " mark_invalid_tx" );
18621861 ADD_CUSTOM_EVENT (events, tx);
18631862 }
@@ -1888,7 +1887,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
18881887
18891888 CHECK_AND_ASSERT_LESS (sum_inputs, output.amount );
18901889 CHECK_AND_ASSERT_EQ (output.amount - sum_inputs, 1 );
1891- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1890+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
18921891 DO_CALLBACK (events, " mark_invalid_tx" );
18931892 ADD_CUSTOM_EVENT (events, tx);
18941893 }
@@ -1914,7 +1913,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
19141913 tx.vin .push_back (input);
19151914 }
19161915
1917- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
1916+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
19181917 DO_CALLBACK (events, " mark_invalid_tx" );
19191918 ADD_CUSTOM_EVENT (events, tx);
19201919 }
@@ -1927,9 +1926,9 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
19271926 {
19281927 MAKE_TX_FEE (events, tx, miner, miner, MK_TEST_COINS (2 ), TESTS_DEFAULT_FEE , blk_0r);
19291928
1930- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
1929+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
19311930 tx.vin = {};
1932- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1931+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
19331932 DO_CALLBACK (events, " mark_invalid_tx" );
19341933 ADD_CUSTOM_EVENT (events, tx);
19351934 }
@@ -1938,9 +1937,9 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
19381937 {
19391938 MAKE_TX_FEE (events, tx, miner, miner, MK_TEST_COINS (2 ), TESTS_DEFAULT_FEE , blk_0r);
19401939
1941- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
1940+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
19421941 tx.vin .emplace_back (txin_gen{});
1943- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1942+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
19441943 DO_CALLBACK (events, " mark_invalid_tx" );
19451944 ADD_CUSTOM_EVENT (events, tx);
19461945 }
@@ -1949,9 +1948,9 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
19491948 {
19501949 MAKE_TX_FEE (events, tx, miner, miner, MK_TEST_COINS (2 ), TESTS_DEFAULT_FEE , blk_0r);
19511950
1952- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
1951+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
19531952 tx.vout .emplace_back ();
1954- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1953+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
19551954 DO_CALLBACK (events, " mark_invalid_tx" );
19561955 ADD_CUSTOM_EVENT (events, tx);
19571956 }
@@ -1963,7 +1962,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
19631962 std::array<txin_to_key, 2 > inputs{};
19641963 MAKE_TX_FEE (events, tx, miner, miner, MK_TEST_COINS (2 ), TESTS_DEFAULT_FEE , blk_0r);
19651964
1966- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
1965+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
19671966 CHECK_AND_ASSERT_EQ (point_public_key.from_string (" 499790c3302b9f0514e2db09b390679283d43d971383d33dc24c7991ea4cf6d7" ), true );
19681967 target.key = point_public_key.to_public_key ();
19691968 inputs.at (0 ).amount = 1 ;
@@ -1976,7 +1975,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
19761975
19771976 CHECK_AND_ASSERT_GREATER (inputs.at (0 ).amount , inputs.at (0 ).amount + inputs.at (1 ).amount );
19781977 CHECK_AND_ASSERT_GREATER (inputs.at (1 ).amount , inputs.at (0 ).amount + inputs.at (1 ).amount );
1979- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
1978+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
19801979 DO_CALLBACK (events, " mark_invalid_tx" );
19811980 ADD_CUSTOM_EVENT (events, tx);
19821981 }
@@ -1988,7 +1987,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
19881987 std::array<tx_out_bare, 2 > outputs{};
19891988 MAKE_TX_FEE (events, tx, miner, miner, MK_TEST_COINS (2 ), TESTS_DEFAULT_FEE , blk_0r);
19901989
1991- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
1990+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
19921991 CHECK_AND_ASSERT_EQ (point_public_key.from_string (" 78ef3d9af7b5e3d09556d57820cf68c2b3553a9d8205c01fe40fc70aae86bb4f" ), true );
19931992 target.key = point_public_key.to_public_key ();
19941993 outputs.at (0 ).amount = 1 ;
@@ -2004,7 +2003,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
20042003
20052004 CHECK_AND_ASSERT_GREATER (outputs.at (0 ).amount , outputs.at (0 ).amount + outputs.at (1 ).amount );
20062005 CHECK_AND_ASSERT_GREATER (outputs.at (1 ).amount , outputs.at (0 ).amount + outputs.at (1 ).amount );
2007- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
2006+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
20082007 DO_CALLBACK (events, " mark_invalid_tx" );
20092008 ADD_CUSTOM_EVENT (events, tx);
20102009 }
@@ -2030,26 +2029,26 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
20302029 for (int8_t step{}; step < 3 ; ++step)
20312030 {
20322031 tx.vin .push_back (tx.vin .front ());
2033- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
2032+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
20342033 DO_CALLBACK (events, " mark_invalid_tx" );
20352034 ADD_CUSTOM_EVENT (events, tx);
20362035 tx.vin .erase (tx.vin .begin (), tx.vin .begin () + 1 );
20372036 }
20382037
2039- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
2038+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
20402039 }
20412040
20422041 // Two entries of the same type in extra.
20432042 {
20442043 MAKE_TX_FEE (events, tx, miner, miner, MK_TEST_COINS (2 ), TESTS_DEFAULT_FEE , blk_0r);
20452044
2046- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
2045+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
20472046 tx.extra .push_back (null_pkey);
20482047 tx.extra .push_back (null_pkey);
20492048
20502049 CHECK_AND_ASSERT_GREATER (tx.extra .size (), 2 );
20512050 CHECK_AND_ASSERT_EQ (typeid (tx.extra .back ()), typeid (tx.extra .at (tx.extra .size () - 2 )));
2052- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
2051+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
20532052 DO_CALLBACK (events, " mark_invalid_tx" );
20542053 ADD_CUSTOM_EVENT (events, tx);
20552054 }
@@ -2061,7 +2060,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
20612060 std::array<txin_to_key, 2 > inputs{};
20622061 MAKE_TX_FEE (events, tx, miner, miner, MK_TEST_COINS (1 ), TESTS_DEFAULT_FEE , blk_0r);
20632062
2064- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), true );
2063+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), true );
20652064 output.amount = 10'000'000'003 ;
20662065 tx.vout .push_back (output);
20672066 tx.version = 0 ;
@@ -2113,7 +2112,7 @@ bool tx_pool_semantic_validation::generate(std::vector<test_event_entry>& events
21132112 CHECK_AND_ASSERT_EQ (get_block_height (blk_0r), 10 );
21142113 CHECK_AND_ASSERT_EQ (m_hardforks.is_hardfork_active_for_height (ZANO_HARDFORK_03 , 10 ), true );
21152114 CHECK_AND_ASSERT_EQ (m_hardforks.is_hardfork_active_for_height (ZANO_HARDFORK_04_ZARCANUM , 10 ), false );
2116- CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 , dummy_hash ), false );
2115+ CHECK_AND_ASSERT_EQ (validate_tx_semantic (tx, CURRENCY_MAX_TRANSACTION_BLOB_SIZE - 1 ), false );
21172116 DO_CALLBACK (events, " mark_invalid_tx" );
21182117 ADD_CUSTOM_EVENT (events, tx);
21192118 }
0 commit comments