Electroneum
multisig.cpp File Reference
#include <unordered_set>
#include "include_base_utils.h"
#include "crypto/crypto.h"
#include "ringct/rctOps.h"
#include "cryptonote_basic/account.h"
#include "cryptonote_basic/cryptonote_format_utils.h"
#include "multisig.h"
Include dependency graph for multisig.cpp:

Go to the source code of this file.

Namespaces

 cryptonote
 Holds cryptonote related classes and helpers.
 

Macros

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "multisig"
 

Functions

crypto::secret_key cryptonote::get_multisig_blinded_secret_key (const crypto::secret_key &key)
 
void cryptonote::generate_multisig_N_N (const account_keys &keys, const std::vector< crypto::public_key > &spend_keys, std::vector< crypto::secret_key > &multisig_keys, rct::key &spend_skey, rct::key &spend_pkey)
 
void cryptonote::generate_multisig_N1_N (const account_keys &keys, const std::vector< crypto::public_key > &spend_keys, std::vector< crypto::secret_key > &multisig_keys, rct::key &spend_skey, rct::key &spend_pkey)
 
std::vector< crypto::public_keycryptonote::generate_multisig_derivations (const account_keys &keys, const std::vector< crypto::public_key > &derivations)
 generate_multisig_derivations performs common DH key derivation. Each middle round in M/N scheme is DH exchange of public multisig keys of other participants multiplied by secret spend key of current participant. this functions does the following: new multisig key = secret spend * public multisig key More...
 
crypto::secret_key cryptonote::calculate_multisig_signer_key (const std::vector< crypto::secret_key > &multisig_keys)
 
std::vector< crypto::secret_keycryptonote::calculate_multisig_keys (const std::vector< crypto::public_key > &derivations)
 calculate_multisig_keys. Calculates secret multisig keys from others' participants ones as follows: mi = H(Mi) More...
 
crypto::secret_key cryptonote::generate_multisig_view_secret_key (const crypto::secret_key &skey, const std::vector< crypto::secret_key > &skeys)
 
crypto::public_key cryptonote::generate_multisig_M_N_spend_public_key (const std::vector< crypto::public_key > &pkeys)
 generate_multisig_M_N_spend_public_key calculates multisig wallet's spend public key by summing all of public multisig keys More...
 
bool cryptonote::generate_multisig_key_image (const account_keys &keys, size_t multisig_key_index, const crypto::public_key &out_key, crypto::key_image &ki)
 
void cryptonote::generate_multisig_LR (const crypto::public_key pkey, const crypto::secret_key &k, crypto::public_key &L, crypto::public_key &R)
 
bool cryptonote::generate_multisig_composite_key_image (const account_keys &keys, const std::unordered_map< crypto::public_key, subaddress_index > &subaddresses, const crypto::public_key &out_key, const crypto::public_key &tx_public_key, const std::vector< crypto::public_key > &additional_tx_public_keys, size_t real_output_index, const std::vector< crypto::key_image > &pkis, crypto::key_image &ki)
 
uint32_t cryptonote::multisig_rounds_required (uint32_t participants, uint32_t threshold)
 

Macro Definition Documentation

◆ ELECTRONEUM_DEFAULT_LOG_CATEGORY

#define ELECTRONEUM_DEFAULT_LOG_CATEGORY   "multisig"

Definition at line 38 of file multisig.cpp.