Monero
Namespaces | Macros | Functions
tx_verification_utils.cpp File Reference
#include <boost/iterator/transform_iterator.hpp>
#include "cryptonote_core/blockchain.h"
#include "cryptonote_core/cryptonote_core.h"
#include "cryptonote_core/tx_verification_utils.h"
#include "hardforks/hardforks.h"
#include "ringct/rctSigs.h"
Include dependency graph for tx_verification_utils.cpp:

Namespaces

 cryptonote
 Holds cryptonote related classes and helpers.
 

Macros

#define MONERO_DEFAULT_LOG_CATEGORY   "blockchain"
 
#define VER_ASSERT(cond, msgexpr)   CHECK_AND_ASSERT_MES(cond, false, msgexpr)
 

Functions

static bool expand_tx_and_ver_rct_non_sem (transaction &tx, const rct::ctkeyM &mix_ring)
 
static crypto::hash calc_tx_mixring_hash (const transaction &tx, const rct::ctkeyM &mix_ring)
 
static bool is_canonical_bulletproof_layout (const std::vector< rct::Bulletproof > &proofs)
 
static bool is_canonical_bulletproof_plus_layout (const std::vector< rct::BulletproofPlus > &proofs)
 
template<class TxForwardIt >
static bool ver_non_input_consensus_templated (TxForwardIt tx_begin, TxForwardIt tx_end, tx_verification_context &tvc, std::uint8_t hf_version)
 
uint64_t cryptonote::get_transaction_weight_limit (uint8_t hf_version)
 Get the maximum transaction weight for a given hardfork. More...
 
bool cryptonote::ver_rct_non_semantics_simple_cached (transaction &tx, const rct::ctkeyM &mix_ring, rct_ver_cache_t &cache, std::uint8_t rct_type_to_cache)
 Cached version of rct::verRctNonSemanticsSimple. More...
 
bool cryptonote::ver_mixed_rct_semantics (std::vector< const rct::rctSig * > rvv)
 Verify the semantics of a group of RingCT signatures as a batch (if applicable) More...
 
bool cryptonote::ver_non_input_consensus (const transaction &tx, tx_verification_context &tvc, std::uint8_t hf_version)
 Verify every non-input consensus rule for a group of non-coinbase transactions. More...
 
bool cryptonote::ver_non_input_consensus (const pool_supplement &ps, tx_verification_context &tvc, const std::uint8_t hf_version)
 

Macro Definition Documentation

◆ MONERO_DEFAULT_LOG_CATEGORY

#define MONERO_DEFAULT_LOG_CATEGORY   "blockchain"

◆ VER_ASSERT

#define VER_ASSERT (   cond,
  msgexpr 
)    CHECK_AND_ASSERT_MES(cond, false, msgexpr)

Function Documentation

◆ calc_tx_mixring_hash()

static crypto::hash calc_tx_mixring_hash ( const transaction tx,
const rct::ctkeyM mix_ring 
)
static

◆ expand_tx_and_ver_rct_non_sem()

static bool expand_tx_and_ver_rct_non_sem ( transaction tx,
const rct::ctkeyM mix_ring 
)
static

◆ is_canonical_bulletproof_layout()

static bool is_canonical_bulletproof_layout ( const std::vector< rct::Bulletproof > &  proofs)
static

◆ is_canonical_bulletproof_plus_layout()

static bool is_canonical_bulletproof_plus_layout ( const std::vector< rct::BulletproofPlus > &  proofs)
static

◆ ver_non_input_consensus_templated()

template<class TxForwardIt >
static bool ver_non_input_consensus_templated ( TxForwardIt  tx_begin,
TxForwardIt  tx_end,
tx_verification_context tvc,
std::uint8_t  hf_version 
)
static