Monero
Loading...
Searching...
No Matches
txpool_double_spend_base Class Reference

#include <tx_pool.h>

Inheritance diagram for txpool_double_spend_base:
Collaboration diagram for txpool_double_spend_base:

Public Member Functions

 txpool_double_spend_base ()
bool mark_no_new (cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool mark_failed (cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool mark_timestamp_change (cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool timestamp_change_pause (cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
 Pause for 1 second, so that receive_time for tx meta changes (tx hidden from public rpc being updated).
bool check_unchanged (cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool check_new_broadcasted (cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool check_new_hidden (cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool check_new_no_relay (cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool check_tx_verification_context (const cryptonote::tx_verification_context &tvc, bool tx_added, size_t event_idx, const cryptonote::transaction &)
Public Member Functions inherited from txpool_base
 txpool_base ()
bool increase_broadcasted_tx_count (cryptonote::core &c, size_t, const std::vector< test_event_entry > &events)
bool increase_all_tx_count (cryptonote::core &c, size_t, const std::vector< test_event_entry > &events)
bool check_txpool_spent_keys (cryptonote::core &c, size_t, const std::vector< test_event_entry > &events)
Public Member Functions inherited from test_chain_unit_base
void register_callback (const std::string &cb_name, verify_callback cb)
bool verify (const std::string &cb_name, cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)
bool check_block_verification_context (const cryptonote::block_verification_context &bvc, size_t event_idx, const cryptonote::block &)
bool check_tx_verification_context (const cryptonote::tx_verification_context &tvc, bool, size_t, const cryptonote::transaction &)
bool check_tx_verification_context_array (const std::vector< cryptonote::tx_verification_context > &tvcs, size_t, size_t, const std::vector< cryptonote::transaction > &)

Private Member Functions

bool check_changed (cryptonote::core &c, size_t ev_index, relay_test condition)

Private Attributes

std::unordered_set< crypto::hashm_broadcasted_hashes
std::unordered_set< crypto::hashm_no_relay_hashes
std::unordered_map< crypto::hash, uint64_tm_all_hashes
size_t m_no_new_index
size_t m_failed_index
size_t m_new_timestamp_index
crypto::hash m_last_tx

Additional Inherited Members

Public Types inherited from test_chain_unit_base
typedef boost::function< bool(cryptonote::core &c, size_t ev_index, const std::vector< test_event_entry > &events)> verify_callback
typedef std::map< std::string, verify_callbackcallbacks_map

Constructor & Destructor Documentation

◆ txpool_double_spend_base()

txpool_double_spend_base::txpool_double_spend_base ( )

Member Function Documentation

◆ check_changed()

bool txpool_double_spend_base::check_changed ( cryptonote::core & c,
size_t ev_index,
relay_test condition )
private

◆ check_new_broadcasted()

bool txpool_double_spend_base::check_new_broadcasted ( cryptonote::core & c,
size_t ev_index,
const std::vector< test_event_entry > & events )

◆ check_new_hidden()

bool txpool_double_spend_base::check_new_hidden ( cryptonote::core & c,
size_t ev_index,
const std::vector< test_event_entry > & events )

◆ check_new_no_relay()

bool txpool_double_spend_base::check_new_no_relay ( cryptonote::core & c,
size_t ev_index,
const std::vector< test_event_entry > & events )

◆ check_tx_verification_context()

bool txpool_double_spend_base::check_tx_verification_context ( const cryptonote::tx_verification_context & tvc,
bool tx_added,
size_t event_idx,
const cryptonote::transaction & tx )

◆ check_unchanged()

bool txpool_double_spend_base::check_unchanged ( cryptonote::core & c,
size_t ev_index,
const std::vector< test_event_entry > & events )

◆ mark_failed()

bool txpool_double_spend_base::mark_failed ( cryptonote::core & c,
size_t ev_index,
const std::vector< test_event_entry > & events )

◆ mark_no_new()

bool txpool_double_spend_base::mark_no_new ( cryptonote::core & c,
size_t ev_index,
const std::vector< test_event_entry > & events )

◆ mark_timestamp_change()

bool txpool_double_spend_base::mark_timestamp_change ( cryptonote::core & c,
size_t ev_index,
const std::vector< test_event_entry > & events )

◆ timestamp_change_pause()

bool txpool_double_spend_base::timestamp_change_pause ( cryptonote::core & c,
size_t ev_index,
const std::vector< test_event_entry > & events )

Pause for 1 second, so that receive_time for tx meta changes (tx hidden from public rpc being updated).

Member Data Documentation

◆ m_all_hashes

std::unordered_map<crypto::hash, uint64_t> txpool_double_spend_base::m_all_hashes
private

◆ m_broadcasted_hashes

std::unordered_set<crypto::hash> txpool_double_spend_base::m_broadcasted_hashes
private

◆ m_failed_index

size_t txpool_double_spend_base::m_failed_index
private

◆ m_last_tx

crypto::hash txpool_double_spend_base::m_last_tx
private

◆ m_new_timestamp_index

size_t txpool_double_spend_base::m_new_timestamp_index
private

◆ m_no_new_index

size_t txpool_double_spend_base::m_no_new_index
private

◆ m_no_relay_hashes

std::unordered_set<crypto::hash> txpool_double_spend_base::m_no_relay_hashes
private

The documentation for this class was generated from the following files: