forked from lthn/blockchain
coretests: hard_fork_2_base_test refactored + put_alias_via_tx_to_list made more flexible
This commit is contained in:
parent
4b3e8da6fa
commit
2bdf17e749
3 changed files with 31 additions and 19 deletions
|
|
@ -243,21 +243,22 @@ inline std::string gen_random_alias(size_t len)
|
|||
return buffer;
|
||||
}
|
||||
|
||||
template<typename alias_entry_t>
|
||||
inline bool put_alias_via_tx_to_list(std::vector<test_event_entry>& events,
|
||||
std::list<currency::transaction>& tx_set,
|
||||
const currency::block& head_block,
|
||||
const currency::account_base& miner_acc,
|
||||
currency::extra_alias_entry ai2,
|
||||
const alias_entry_t& ae,
|
||||
test_generator& generator)
|
||||
{
|
||||
std::vector<currency::extra_v> ex;
|
||||
ex.push_back(ai2);
|
||||
ex.push_back(ae);
|
||||
currency::account_base reward_acc;
|
||||
currency::account_keys& ak = const_cast<currency::account_keys&>(reward_acc.get_keys());
|
||||
currency::get_aliases_reward_account(ak.account_address, ak.view_secret_key);
|
||||
|
||||
uint64_t fee_median = generator.get_last_n_blocks_fee_median(get_block_hash(head_block));
|
||||
uint64_t reward = currency::get_alias_coast_from_fee(ai2.m_alias, fee_median);
|
||||
uint64_t reward = currency::get_alias_coast_from_fee(ae.m_alias, fee_median);
|
||||
|
||||
MAKE_TX_MIX_LIST_EXTRA_MIX_ATTR(events,
|
||||
tx_set,
|
||||
|
|
|
|||
|
|
@ -10,8 +10,14 @@ using namespace currency;
|
|||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
hard_fork_2_base_test::hard_fork_2_base_test(size_t hardfork_height)
|
||||
: m_hardfork_height(hardfork_height)
|
||||
hard_fork_2_base_test::hard_fork_2_base_test(size_t hardfork_02_height)
|
||||
: hard_fork_2_base_test(1, hardfork_02_height)
|
||||
{
|
||||
}
|
||||
|
||||
hard_fork_2_base_test::hard_fork_2_base_test(size_t hardfork_01_height, size_t hardfork_02_height)
|
||||
: m_hardfork_01_height(hardfork_01_height)
|
||||
, m_hardfork_02_height(hardfork_02_height)
|
||||
{
|
||||
REGISTER_CALLBACK_METHOD(hard_fork_2_base_test, configure_core);
|
||||
}
|
||||
|
|
@ -21,12 +27,18 @@ bool hard_fork_2_base_test::configure_core(currency::core& c, size_t ev_index, c
|
|||
currency::core_runtime_config pc = c.get_blockchain_storage().get_core_runtime_config();
|
||||
pc.min_coinstake_age = TESTS_POS_CONFIG_MIN_COINSTAKE_AGE;
|
||||
pc.pos_minimum_heigh = TESTS_POS_CONFIG_POS_MINIMUM_HEIGH;
|
||||
pc.hard_fork_01_starts_after_height = m_hardfork_height;
|
||||
pc.hard_fork_02_starts_after_height = m_hardfork_height;
|
||||
pc.hard_fork_01_starts_after_height = m_hardfork_01_height;
|
||||
pc.hard_fork_02_starts_after_height = m_hardfork_02_height;
|
||||
c.get_blockchain_storage().set_core_runtime_config(pc);
|
||||
return true;
|
||||
}
|
||||
|
||||
void hard_fork_2_base_test::set_hard_fork_heights_to_generator(test_generator& generator) const
|
||||
{
|
||||
generator.set_hardfork_height(1, m_hardfork_01_height);
|
||||
generator.set_hardfork_height(2, m_hardfork_02_height);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
hard_fork_2_tx_payer_in_wallet::hard_fork_2_tx_payer_in_wallet()
|
||||
|
|
@ -44,8 +56,7 @@ bool hard_fork_2_tx_payer_in_wallet::generate(std::vector<test_event_entry>& eve
|
|||
account_base& alice_acc = m_accounts[ALICE_ACC_IDX]; alice_acc.generate();
|
||||
|
||||
MAKE_GENESIS_BLOCK(events, blk_0, miner_acc, test_core_time::get_time());
|
||||
generator.set_hardfork_height(1, m_hardfork_height);
|
||||
generator.set_hardfork_height(2, m_hardfork_height);
|
||||
set_hard_fork_heights_to_generator(generator);
|
||||
DO_CALLBACK(events, "configure_core");
|
||||
REWIND_BLOCKS_N(events, blk_0r, blk_0, miner_acc, CURRENCY_MINED_MONEY_UNLOCK_WINDOW + 3);
|
||||
|
||||
|
|
@ -171,8 +182,7 @@ bool hard_fork_2_tx_receiver_in_wallet::generate(std::vector<test_event_entry>&
|
|||
account_base& bob_acc = m_accounts[BOB_ACC_IDX]; bob_acc.generate();
|
||||
|
||||
MAKE_GENESIS_BLOCK(events, blk_0, miner_acc, test_core_time::get_time());
|
||||
generator.set_hardfork_height(1, m_hardfork_height);
|
||||
generator.set_hardfork_height(2, m_hardfork_height);
|
||||
set_hard_fork_heights_to_generator(generator);
|
||||
DO_CALLBACK(events, "configure_core");
|
||||
REWIND_BLOCKS_N(events, blk_0r, blk_0, miner_acc, CURRENCY_MINED_MONEY_UNLOCK_WINDOW + 1);
|
||||
|
||||
|
|
@ -310,8 +320,7 @@ bool hard_fork_2_tx_extra_alias_entry_in_wallet::generate(std::vector<test_event
|
|||
account_base& bob_acc = m_accounts[BOB_ACC_IDX]; bob_acc.generate();
|
||||
|
||||
MAKE_GENESIS_BLOCK(events, blk_0, miner_acc, test_core_time::get_time());
|
||||
generator.set_hardfork_height(1, m_hardfork_height);
|
||||
generator.set_hardfork_height(2, m_hardfork_height);
|
||||
set_hard_fork_heights_to_generator(generator);
|
||||
DO_CALLBACK(events, "configure_core");
|
||||
REWIND_BLOCKS_N(events, blk_0r, blk_0, miner_acc, CURRENCY_MINED_MONEY_UNLOCK_WINDOW);
|
||||
|
||||
|
|
@ -416,8 +425,7 @@ bool hard_fork_2_auditable_addresses_basics::generate(std::vector<test_event_ent
|
|||
account_base& bob_acc = m_accounts[BOB_ACC_IDX]; bob_acc.generate(true); // Bob has auditable address
|
||||
|
||||
MAKE_GENESIS_BLOCK(events, blk_0, miner_acc, test_core_time::get_time());
|
||||
generator.set_hardfork_height(1, m_hardfork_height);
|
||||
generator.set_hardfork_height(2, m_hardfork_height);
|
||||
set_hard_fork_heights_to_generator(generator);
|
||||
DO_CALLBACK(events, "configure_core");
|
||||
REWIND_BLOCKS_N(events, blk_0r, blk_0, miner_acc, CURRENCY_MINED_MONEY_UNLOCK_WINDOW);
|
||||
|
||||
|
|
@ -521,8 +529,7 @@ bool hard_fork_2_no_new_structures_before_hf::generate(std::vector<test_event_en
|
|||
account_base& alice_acc = m_accounts[ALICE_ACC_IDX]; alice_acc.generate();
|
||||
|
||||
MAKE_GENESIS_BLOCK(events, blk_0, miner_acc, test_core_time::get_time());
|
||||
generator.set_hardfork_height(1, m_hardfork_height);
|
||||
generator.set_hardfork_height(2, m_hardfork_height);
|
||||
set_hard_fork_heights_to_generator(generator);
|
||||
DO_CALLBACK(events, "configure_core");
|
||||
REWIND_BLOCKS_N(events, blk_0r, blk_0, miner_acc, CURRENCY_MINED_MONEY_UNLOCK_WINDOW);
|
||||
|
||||
|
|
|
|||
|
|
@ -8,10 +8,14 @@
|
|||
|
||||
struct hard_fork_2_base_test : virtual public test_chain_unit_enchanced
|
||||
{
|
||||
hard_fork_2_base_test(size_t hardfork_height);
|
||||
hard_fork_2_base_test(size_t hardfork_02_height);
|
||||
hard_fork_2_base_test(size_t hardfork_01_height, size_t hardfork_02_height);
|
||||
bool configure_core(currency::core& c, size_t ev_index, const std::vector<test_event_entry>& events);
|
||||
|
||||
size_t m_hardfork_height;
|
||||
void set_hard_fork_heights_to_generator(test_generator& generator) const;
|
||||
|
||||
size_t m_hardfork_01_height;
|
||||
size_t m_hardfork_02_height;
|
||||
};
|
||||
|
||||
struct hard_fork_2_tx_payer_in_wallet : public wallet_test, public hard_fork_2_base_test
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue