Monero
Public Member Functions | Private Member Functions | Private Attributes | List of all members
txpool_double_spend_base Class Reference

#include <tx_pool.h>

Inheritance diagram for txpool_double_spend_base:
Inheritance graph
[legend]
Collaboration diagram for txpool_double_spend_base:
Collaboration graph
[legend]

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) More...
 
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: