Monero
Loading...
Searching...
No Matches
multisig_tx_builder_ringct.cpp File Reference
#include "multisig_tx_builder_ringct.h"
#include "int-util.h"
#include "memwipe.h"
#include "cryptonote_basic/cryptonote_basic.h"
#include "cryptonote_basic/account.h"
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "cryptonote_config.h"
#include "cryptonote_core/cryptonote_tx_utils.h"
#include "device/device.hpp"
#include "multisig_clsag_context.h"
#include "ringct/bulletproofs.h"
#include "ringct/bulletproofs_plus.h"
#include "ringct/rctSigs.h"
#include <boost/multiprecision/cpp_int.hpp>
#include <algorithm>
#include <cstring>
#include <limits>
#include <set>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
Include dependency graph for multisig_tx_builder_ringct.cpp:

Namespaces

namespace  multisig
namespace  multisig::signing

Macros

#define MONERO_DEFAULT_LOG_CATEGORY   "multisig"

Functions

bool multisig::signing::view_tag_required (const int bp_version)
static void multisig::signing::sort_sources (std::vector< cryptonote::tx_source_entry > &sources)
static bool multisig::signing::compute_keys_for_sources (const cryptonote::account_keys &account_keys, const std::vector< cryptonote::tx_source_entry > &sources, const std::uint32_t subaddr_account, const std::set< std::uint32_t > &subaddr_minor_indices, rct::keyV &input_secret_keys)
static void multisig::signing::shuffle_destinations (std::vector< cryptonote::tx_destination_entry > &destinations)
static bool multisig::signing::set_tx_extra (const cryptonote::account_keys &account_keys, const std::vector< cryptonote::tx_destination_entry > &destinations, const cryptonote::tx_destination_entry &change, const crypto::secret_key &tx_secret_key, const crypto::public_key &tx_public_key, const std::vector< crypto::public_key > &tx_aux_public_keys, const std::vector< std::uint8_t > &extra, cryptonote::transaction &tx)
static void multisig::signing::make_tx_secret_key_seed (const crypto::secret_key &tx_secret_key_entropy, const std::vector< cryptonote::tx_source_entry > &sources, crypto::secret_key &tx_secret_key_seed)
static void multisig::signing::make_tx_secret_keys (const crypto::secret_key &tx_secret_key_seed, const std::size_t num_tx_keys, std::vector< crypto::secret_key > &tx_secret_keys)
static bool multisig::signing::collect_tx_secret_keys (const std::vector< crypto::secret_key > &tx_secret_keys, crypto::secret_key &tx_secret_key, std::vector< crypto::secret_key > &tx_aux_secret_keys)
static bool multisig::signing::compute_keys_for_destinations (const cryptonote::account_keys &account_keys, const std::uint32_t subaddr_account, const std::vector< cryptonote::tx_destination_entry > &destinations, const cryptonote::tx_destination_entry &change, const std::vector< std::uint8_t > &extra, const bool use_view_tags, const bool reconstruction, const crypto::secret_key &tx_secret_key_seed, crypto::secret_key &tx_secret_key, std::vector< crypto::secret_key > &tx_aux_secret_keys, rct::keyV &output_public_keys, rct::keyV &output_amount_secret_keys, std::vector< crypto::view_tag > &view_tags, cryptonote::transaction &unsigned_tx)
static void multisig::signing::set_tx_inputs (const std::vector< cryptonote::tx_source_entry > &sources, cryptonote::transaction &unsigned_tx)
static bool multisig::signing::onetime_addresses_are_unique (const rct::keyV &output_public_keys)
static bool multisig::signing::set_tx_outputs (const rct::keyV &output_public_keys, cryptonote::transaction &unsigned_tx)
static bool multisig::signing::set_tx_outputs_with_view_tags (const rct::keyV &output_public_keys, const std::vector< crypto::view_tag > &view_tags, cryptonote::transaction &unsigned_tx)
static void multisig::signing::make_new_range_proofs (const int bp_version, const std::vector< std::uint64_t > &output_amounts, const rct::keyV &output_amount_masks, rct::rctSigPrunable &sigs)
static bool multisig::signing::try_reconstruct_range_proofs (const int bp_version, const rct::rctSigPrunable &original_sigs, const std::size_t num_destinations, const rct::ctkeyV &output_public_keys, rct::rctSigPrunable &reconstructed_sigs)
static bool multisig::signing::set_tx_rct_signatures (const std::uint64_t fee, const std::vector< cryptonote::tx_source_entry > &sources, const std::vector< cryptonote::tx_destination_entry > &destinations, const rct::keyV &input_secret_keys, const rct::keyV &output_public_keys, const rct::keyV &output_amount_secret_keys, const rct::RCTConfig &rct_config, const bool reconstruction, cryptonote::transaction &unsigned_tx, std::vector< CLSAG_context_t > &CLSAG_contexts, rct::keyV &cached_w)
static bool multisig::signing::compute_tx_fee (const std::vector< cryptonote::tx_source_entry > &sources, const std::vector< cryptonote::tx_destination_entry > &destinations, std::uint64_t &fee)

Macro Definition Documentation

◆ MONERO_DEFAULT_LOG_CATEGORY

#define MONERO_DEFAULT_LOG_CATEGORY   "multisig"