Electroneum
gen_block_invalid_prev_id Struct Reference

#include <block_validation.h>

Inheritance diagram for gen_block_invalid_prev_id:
Collaboration diagram for gen_block_invalid_prev_id:

Public Member Functions

bool generate (std::vector< test_event_entry > &events) const
 
bool check_block_verification_context (const cryptonote::block_verification_context &bvc, size_t event_idx, const cryptonote::block &)
 
- Public Member Functions inherited from gen_block_verification_base< 1 >
 gen_block_verification_base ()
 
bool check_block_verification_context (const cryptonote::block_verification_context &bvc, size_t event_idx, const cryptonote::block &)
 
bool check_block_purged (cryptonote::core &c, size_t ev_index, 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 > &)
 

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
 

Detailed Description

Definition at line 108 of file block_validation.h.

Member Function Documentation

◆ check_block_verification_context()

bool gen_block_invalid_prev_id::check_block_verification_context ( const cryptonote::block_verification_context bvc,
size_t  event_idx,
const cryptonote::block  
)

Definition at line 161 of file block_validation.cpp.

◆ generate()

bool gen_block_invalid_prev_id::generate ( std::vector< test_event_entry > &  events) const

Definition at line 146 of file block_validation.cpp.

147 {
149 
150  block blk_1;
151  crypto::hash prev_id = get_block_hash(blk_0);
152  reinterpret_cast<char &>(prev_id) ^= 1;
153  generator.construct_block_manually(blk_1, blk_0, miner_account, test_generator::bf_prev_id, 0, 0, 0, prev_id);
154  events.push_back(blk_1);
155 
156  DO_CALLBACK(events, "check_block_purged");
157 
158  return true;
159 }
crypto::hash get_block_hash(uint64_t height)
POD_CLASS hash
Definition: hash.h:50
#define BLOCK_VALIDATION_INIT_GENERATE()
#define DO_CALLBACK(VEC_EVENTS, CB_NAME)
Definition: chaingen.h:820
Here is the call graph for this function:

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