OpenCBDC Transaction Processor
Loading...
Searching...
No Matches
validation.cpp File Reference
#include "validation.hpp"
#include "transaction.hpp"
#include <cassert>
#include <memory>
#include <secp256k1.h>
#include <secp256k1_schnorrsig.h>
#include <set>
Include dependency graph for validation.cpp:

Go to the source code of this file.

Namespaces

namespace  cbdc
 
namespace  cbdc::transaction
 
namespace  cbdc::transaction::validation
 

Functions

auto cbdc::transaction::validation::check_tx (const transaction::full_tx &tx) -> std::optional< tx_error >
 Runs static validation checks on the given transaction.
 
auto cbdc::transaction::validation::check_tx_structure (const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
 
auto cbdc::transaction::validation::check_input_structure (const cbdc::transaction::input &inp) -> std::optional< std::pair< input_error_code, std::optional< output_error_code > > >
 
auto cbdc::transaction::validation::check_in_out_set (const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
 
auto cbdc::transaction::validation::check_witness (const cbdc::transaction::full_tx &tx, size_t idx) -> std::optional< witness_error_code >
 
auto cbdc::transaction::validation::check_p2pk_witness (const cbdc::transaction::full_tx &tx, size_t idx) -> std::optional< witness_error_code >
 
auto cbdc::transaction::validation::check_p2pk_witness_len (const cbdc::transaction::full_tx &tx, size_t idx) -> std::optional< witness_error_code >
 
auto cbdc::transaction::validation::check_p2pk_witness_commitment (const cbdc::transaction::full_tx &tx, size_t idx) -> std::optional< witness_error_code >
 
auto cbdc::transaction::validation::check_p2pk_witness_signature (const cbdc::transaction::full_tx &tx, size_t idx) -> std::optional< witness_error_code >
 
auto cbdc::transaction::validation::check_input_count (const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
 
auto cbdc::transaction::validation::check_output_count (const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
 
auto cbdc::transaction::validation::check_witness_count (const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
 
auto cbdc::transaction::validation::check_input_set (const cbdc::transaction::full_tx &tx) -> std::optional< tx_error >
 
auto cbdc::transaction::validation::check_output_value (const cbdc::transaction::output &out) -> std::optional< output_error_code >
 
auto cbdc::transaction::validation::get_p2pk_witness_commitment (const pubkey_t &payee) -> hash_t
 
auto cbdc::transaction::validation::to_string (cbdc::transaction::validation::tx_error_code err) -> std::string
 
auto cbdc::transaction::validation::to_string (cbdc::transaction::validation::input_error_code err) -> std::string
 
auto cbdc::transaction::validation::to_string (cbdc::transaction::validation::output_error_code err) -> std::string
 
auto cbdc::transaction::validation::to_string (const cbdc::transaction::validation::input_error &err) -> std::string
 
auto cbdc::transaction::validation::to_string (cbdc::transaction::validation::witness_error_code err) -> std::string
 
auto cbdc::transaction::validation::to_string (const witness_error &err) -> std::string
 
auto cbdc::transaction::validation::to_string (const output_error &err) -> std::string
 
auto cbdc::transaction::validation::to_string (const tx_error &err) -> std::string
 
auto cbdc::transaction::validation::check_attestations (const transaction::compact_tx &tx, const std::unordered_set< pubkey_t, hashing::null > &pubkeys, size_t threshold) -> bool
 Validates the sentinel attestations attached to a compact transaction.