Electroneum
gen_bp_tx_invalid_not_enough_proofs Struct Reference

#include <bulletproofs.h>

Inheritance diagram for gen_bp_tx_invalid_not_enough_proofs:
Collaboration diagram for gen_bp_tx_invalid_not_enough_proofs:

Public Member Functions

bool generate (std::vector< test_event_entry > &events) const
 
- Public Member Functions inherited from gen_bp_tx_validation_base
 gen_bp_tx_validation_base ()
 
bool check_tx_verification_context (const cryptonote::tx_verification_context &tvc, bool tx_added, size_t event_idx, const cryptonote::transaction &)
 
bool check_tx_verification_context_array (const std::vector< cryptonote::tx_verification_context > &tvcs, size_t tx_added, size_t event_idx, const std::vector< cryptonote::transaction > &)
 
bool check_block_verification_context (const cryptonote::block_verification_context &bvc, size_t event_idx, const cryptonote::block &)
 
bool mark_invalid_block (cryptonote::core &, size_t ev_index, const std::vector< test_event_entry > &)
 
bool mark_invalid_tx (cryptonote::core &, size_t ev_index, const std::vector< test_event_entry > &)
 
bool generate_with (std::vector< test_event_entry > &events, size_t mixin, size_t n_txes, const uint64_t *amounts_paid, bool valid, const rct::RCTConfig *rct_config, const std::function< bool(std::vector< cryptonote::tx_source_entry > &sources, std::vector< cryptonote::tx_destination_entry > &destinations, size_t)> &pre_tx, const std::function< bool(cryptonote::transaction &tx, size_t)> &post_tx) const
 
bool check_bp (const cryptonote::transaction &tx, size_t tx_idx, const size_t *sizes, const char *context) const
 
- 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 165 of file bulletproofs.h.

Member Function Documentation

◆ generate()

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

Definition at line 295 of file bulletproofs.cpp.

296 {
297  DEFINE_TESTS_ERROR_CONTEXT("gen_bp_tx_invalid_not_enough_proofs");
298  const size_t mixin = 10;
299  const uint64_t amounts_paid[] = {5000, 5000, (uint64_t)-1};
300  const rct::RCTConfig rct_config[] = { { rct::RangeProofBulletproof, 0 } };
301  return generate_with(events, mixin, 1, amounts_paid, false, rct_config, NULL, [&](cryptonote::transaction &tx, size_t idx){
304  tx.rct_signatures.p.bulletproofs.pop_back();
306  return true;
307  });
308 }
bool generate_with(std::vector< test_event_entry > &events, size_t mixin, size_t n_txes, const uint64_t *amounts_paid, bool valid, const rct::RCTConfig *rct_config, const std::function< bool(std::vector< cryptonote::tx_source_entry > &sources, std::vector< cryptonote::tx_destination_entry > &destinations, size_t)> &pre_tx, const std::function< bool(cryptonote::transaction &tx, size_t)> &post_tx) const
uint8_t type
Definition: rctTypes.h:241
#define CHECK_TEST_CONDITION(cond)
Definition: chaingen.h:1057
rctSigPrunable p
Definition: rctTypes.h:437
unsigned __int64 uint64_t
Definition: stdint.h:136
#define DEFINE_TESTS_ERROR_CONTEXT(text)
Definition: chaingen.h:1056
std::vector< Bulletproof > bulletproofs
Definition: rctTypes.h:320

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