Monero
Loading...
Searching...
No Matches
multisig::signing Namespace Reference

Classes

class  CLSAG_context_t
class  tx_builder_ringct_t

Functions

template<std::size_t N>
static rct::key string_to_key (const unsigned char(&str)[N])
static void encode_int_to_key_le (const unsigned int i, rct::key &k_out)
bool view_tag_required (const int bp_version)
static void sort_sources (std::vector< cryptonote::tx_source_entry > &sources)
static bool 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 shuffle_destinations (std::vector< cryptonote::tx_destination_entry > &destinations)
static bool 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 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 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 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 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 set_tx_inputs (const std::vector< cryptonote::tx_source_entry > &sources, cryptonote::transaction &unsigned_tx)
static bool onetime_addresses_are_unique (const rct::keyV &output_public_keys)
static bool set_tx_outputs (const rct::keyV &output_public_keys, cryptonote::transaction &unsigned_tx)
static bool 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 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 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 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 compute_tx_fee (const std::vector< cryptonote::tx_source_entry > &sources, const std::vector< cryptonote::tx_destination_entry > &destinations, std::uint64_t &fee)

Variables

constexpr std::size_t kAlphaComponents = 2

Function Documentation

◆ collect_tx_secret_keys()

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

◆ compute_keys_for_destinations()

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

◆ compute_keys_for_sources()

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

◆ compute_tx_fee()

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 )
static

◆ encode_int_to_key_le()

void multisig::signing::encode_int_to_key_le ( const unsigned int i,
rct::key & k_out )
static

◆ make_new_range_proofs()

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

◆ make_tx_secret_key_seed()

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

◆ make_tx_secret_keys()

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

◆ onetime_addresses_are_unique()

bool multisig::signing::onetime_addresses_are_unique ( const rct::keyV & output_public_keys)
static

◆ set_tx_extra()

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

◆ set_tx_inputs()

void multisig::signing::set_tx_inputs ( const std::vector< cryptonote::tx_source_entry > & sources,
cryptonote::transaction & unsigned_tx )
static

◆ set_tx_outputs()

bool multisig::signing::set_tx_outputs ( const rct::keyV & output_public_keys,
cryptonote::transaction & unsigned_tx )
static

◆ set_tx_outputs_with_view_tags()

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

◆ set_tx_rct_signatures()

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

◆ shuffle_destinations()

void multisig::signing::shuffle_destinations ( std::vector< cryptonote::tx_destination_entry > & destinations)
static

◆ sort_sources()

void multisig::signing::sort_sources ( std::vector< cryptonote::tx_source_entry > & sources)
static

◆ string_to_key()

template<std::size_t N>
rct::key multisig::signing::string_to_key ( const unsigned char(&) str[N])
static

◆ try_reconstruct_range_proofs()

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

◆ view_tag_required()

bool multisig::signing::view_tag_required ( const int bp_version)

Variable Documentation

◆ kAlphaComponents

std::size_t multisig::signing::kAlphaComponents = 2
constexpr