76 MAKE_TX(events, tx_00, miner_account, recipient_account_1,
MK_COINS(5), blk_0);
85 std::list<transaction> txs_blk_6;
86 txs_blk_6.push_back(txs_blk_4.front());
90 txs_blk_5.push_back(txs_blk_3.back());
92 txs_blk_6.push_back(txs_blk_3.back());
95 txs_blk_5.push_back(txs_blk_3.back());
97 txs_blk_5.push_back(txs_blk_4.back());
100 txs_blk_6.push_back(txs_blk_3.back());
102 txs_blk_5.push_back(txs_blk_4.back());
105 txs_blk_5.push_back(txs_blk_4.back());
107 txs_blk_6.push_back(txs_blk_3.back());
127 m_recipient_account_1 = boost::get<account_base>(events[1]);
128 m_recipient_account_2 = boost::get<account_base>(events[2]);
129 m_recipient_account_3 = boost::get<account_base>(events[3]);
130 m_recipient_account_4 = boost::get<account_base>(events[4]);
132 std::vector<block>
blocks;
140 std::vector<cryptonote::block> chain;
149 std::vector<transaction> tx_pool;
154 std::vector<size_t> tx_outs;
160 m_tx_pool.swap(tx_pool);
170 std::vector<block>
blocks;
179 std::vector<block> alt_blocks;
185 BOOST_FOREACH(
block b, alt_blocks)
190 std::vector<cryptonote::block> chain;
199 std::vector<transaction> tx_pool;
205 std::vector<size_t> tx_outs;
207 lookup_acc_outs(m_recipient_account_2.get_keys(), tx_pool.front(), tx_outs, transfered);
#define CRYPTONOTE_MINED_ETN_UNLOCK_WINDOW
#define MAKE_NEXT_BLOCK_TX1(VEC_EVENTS, BLK_NAME, PREV_BLOCK, MINER_ACC, TX1)
bool find_block_chain(const std::vector< test_event_entry > &events, std::vector< cryptonote::block > &blockchain, map_hash2tx_t &mtx, const crypto::hash &head)
#define MAKE_NEXT_BLOCK(VEC_EVENTS, BLK_NAME, PREV_BLOCK, MINER_ACC)
uint64_t get_balance(const cryptonote::account_base &addr, const std::vector< cryptonote::block > &blockchain, const map_hash2tx_t &mtx)
#define MAKE_TX_LIST(VEC_EVENTS, SET_NAME, FROM, TO, AMOUNT, HEAD)
#define CHECK_TEST_CONDITION(cond)
bool get_blocks(uint64_t start_offset, size_t count, std::vector< std::pair< cryptonote::blobdata, block >> &blocks, std::vector< cryptonote::blobdata > &txs) const
Holds cryptonote related classes and helpers.
std::unordered_map< crypto::hash, const cryptonote::transaction * > map_hash2tx_t
bool get_pool_transactions(std::vector< transaction > &txs, bool include_unrelayed_txes=true) const
get a list of all transactions in the pool
handles core cryptonote functionality
#define MAKE_GENESIS_BLOCK(VEC_EVENTS, BLK_NAME, MINER_ACC, TS)
#define REGISTER_CALLBACK(CB_NAME, CLBACK)
unsigned __int64 uint64_t
crypto::public_key get_tx_pub_key_from_extra(const std::vector< uint8_t > &tx_extra, size_t pk_index)
#define MAKE_TX_LIST_START(VEC_EVENTS, SET_NAME, FROM, TO, AMOUNT, HEAD)
bool get_alternative_blocks(std::vector< block > &blocks) const
compiles a list of all blocks stored as alternative chains
#define MAKE_ACCOUNT(VEC_EVENTS, account)
#define REWIND_BLOCKS(VEC_EVENTS, BLK_NAME, PREV_BLOCK, MINER_ACC)
size_t get_alternative_blocks_count() const
returns the number of alternative blocks stored
#define MAKE_TX(VEC_EVENTS, TX_NAME, FROM, TO, AMOUNT, HEAD)
crypto::hash get_block_hash(uint64_t height)
std::vector< crypto::public_key > get_additional_tx_pub_keys_from_extra(const std::vector< uint8_t > &tx_extra)
#define GENERATE_ACCOUNT(account)
bool check_split_not_switched(cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
#define DEFINE_TESTS_ERROR_CONTEXT(text)
bool generate(std::vector< test_event_entry > &events) const
#define DO_CALLBACK(VEC_EVENTS, CB_NAME)
#define MAKE_NEXT_BLOCK_TX_LIST(VEC_EVENTS, BLK_NAME, PREV_BLOCK, MINER_ACC, TXLIST)
bool check_split_switched(cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool lookup_acc_outs(const account_keys &acc, const transaction &tx, std::vector< size_t > &outs, uint64_t &etn_transfered)