Monero
Loading...
Searching...
No Matches
pending_tx_validation.cpp File Reference
#include "pending_tx_validation.h"
#include "misc_log_ex.h"
#include "common/apply_permutation.h"
#include "crypto/crypto.h"
#include "cryptonote_basic/account.h"
#include "cryptonote_basic/cryptonote_basic_impl.h"
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "cryptonote_basic/subaddress_index.h"
#include "cryptonote_core/cryptonote_tx_utils.h"
#include "cryptonote_config.h"
#include "device/device_default.hpp"
#include "ringct/rctOps.h"
#include "ringct/rctTypes.h"
#include "string_tools.h"
#include "wallet2.h"
#include <boost/algorithm/string/join.hpp>
#include <boost/multiprecision/cpp_int.hpp>
#include <algorithm>
#include <cstdint>
#include <string>
#include <unordered_map>
#include <vector>
Include dependency graph for pending_tx_validation.cpp:

Namespaces

namespace  tools
 Various Tools.
namespace  tools::wallet

Macros

#define MONERO_DEFAULT_LOG_CATEGORY   "wallet.tx_builder"

Functions

static const std::vector< cryptonote::tx_destination_entry > & tools::wallet::get_tx_destinations (const wallet2::tx_construction_data &tx)
static const std::vector< cryptonote::tx_destination_entry > & tools::wallet::get_tx_destinations (const wallet2::pending_tx &tx)
static const std::vector< cryptonote::tx_source_entry > & tools::wallet::get_tx_sources (const wallet2::tx_construction_data &tx)
static const std::vector< cryptonote::tx_source_entry > & tools::wallet::get_tx_sources (const wallet2::pending_tx &tx)
template<typename T>
static bool tools::wallet::check_consistent_ins_outs_impl (const std::vector< T > &txes)
static void tools::wallet::sanity_check_unsigned_tx (const wallet2::tx_construction_data &tx, const cryptonote::account_keys &account_keys, const std::unordered_map< crypto::public_key, cryptonote::subaddress_index > &subaddresses)
static void tools::wallet::validate_tx_outs (const wallet2::pending_tx &ptx, const std::vector< cryptonote::txout_to_tagged_key > &ext_outputs, const crypto::secret_key &k_view, const cryptonote::tx_destination_entry &change, const std::vector< cryptonote::tx_destination_entry > &dests, const crypto::secret_key &tx_key, const std::vector< crypto::secret_key > &additional_tx_keys, crypto::public_key &tx_pubkey_out, std::vector< crypto::public_key > &tx_additional_pubkeys_out)
static void tools::wallet::reconstruct_payment_id (const std::string &extracted_payment_id, const boost::optional< crypto::hash8 > &parsed_to_check, const cryptonote::account_public_address &change_addr, const std::vector< cryptonote::tx_destination_entry > &dests, const boost::optional< crypto::secret_key > tx_key, const std::vector< cryptonote::tx_extra_field > &tx_extra_fields)
void tools::wallet::sanity_check_pending_tx (const wallet2::pending_tx &ptx, const cryptonote::network_type nettype, const cryptonote::account_keys &account_keys, const std::unordered_map< crypto::public_key, cryptonote::subaddress_index > &subaddresses, const std::vector< wallet2::transfer_details > &transfers, const bool redacted, const boost::optional< std::function< const crypto::key_image(const size_t)> > &transfer_ki_resolver, const bool allow_read_only)
void tools::wallet::check_consistent_ins_outs (const std::vector< wallet2::tx_construction_data > &txes)
void tools::wallet::check_consistent_ins_outs (const std::vector< wallet2::pending_tx > &txes)
void tools::wallet::sanity_check_tx_construction_data (const wallet2::tx_construction_data &tx)
void tools::wallet::sanity_check_unsigned_tx_set (const std::vector< wallet2::tx_construction_data > &txes, const cryptonote::account_keys &account_keys, const std::unordered_map< crypto::public_key, cryptonote::subaddress_index > &subaddresses)
void tools::wallet::sanity_check_pending_tx_set (const std::vector< wallet2::pending_tx > &ptxs, const cryptonote::network_type nettype, const cryptonote::account_keys &account_keys, const std::unordered_map< crypto::public_key, cryptonote::subaddress_index > &subaddresses, const std::vector< wallet2::transfer_details > &transfers, const bool redacted, const boost::optional< std::function< const crypto::key_image(const size_t)> > &transfer_ki_resolver, const bool allow_read_only)

Macro Definition Documentation

◆ MONERO_DEFAULT_LOG_CATEGORY

#define MONERO_DEFAULT_LOG_CATEGORY   "wallet.tx_builder"