|
Monero
|
#include <multisig_account.h>

Public Member Functions | |
| multisig_account ()=default | |
| multisig_account (const crypto::secret_key &base_privkey, const crypto::secret_key &base_common_privkey) | |
| multisig_account (const std::uint32_t threshold, std::vector< crypto::public_key > signers, const crypto::secret_key &base_privkey, const crypto::secret_key &base_common_privkey, std::vector< crypto::secret_key > multisig_privkeys, const crypto::secret_key &common_privkey, const crypto::public_key &multisig_pubkey, const crypto::public_key &common_pubkey, const std::uint32_t kex_rounds_complete, multisig_keyset_map_memsafe_t kex_origins_map, std::string next_round_kex_message) | |
| ~multisig_account ()=default | |
| std::uint32_t | get_threshold () const |
| const std::vector< crypto::public_key > & | get_signers () const |
| const crypto::secret_key & | get_base_privkey () const |
| const crypto::public_key & | get_base_pubkey () const |
| const crypto::secret_key & | get_base_common_privkey () const |
| const std::vector< crypto::secret_key > & | get_multisig_privkeys () const |
| const crypto::secret_key & | get_common_privkey () const |
| const crypto::public_key & | get_multisig_pubkey () const |
| const crypto::public_key & | get_common_pubkey () const |
| std::uint32_t | get_kex_rounds_complete () const |
| const multisig_keyset_map_memsafe_t & | get_kex_keys_to_origins_map () const |
| const std::string & | get_next_kex_round_msg () const |
| bool | account_is_active () const |
| bool | main_kex_rounds_done () const |
| bool | multisig_is_ready () const |
| void | initialize_kex (const std::uint32_t threshold, std::vector< crypto::public_key > signers, const std::vector< multisig_kex_msg > &expanded_msgs_rnd1) |
| void | kex_update (const std::vector< multisig_kex_msg > &expanded_msgs, const bool force_update_use_with_caution=false) |
Private Member Functions | |
| void | set_multisig_config (const std::size_t threshold, std::vector< crypto::public_key > signers) |
| void | kex_update_impl (const std::vector< multisig_kex_msg > &expanded_msgs, const bool incomplete_signer_set) |
| void | initialize_kex_update (const std::vector< multisig_kex_msg > &expanded_msgs, const std::uint32_t kex_rounds_required, std::vector< crypto::public_key > &exclude_pubkeys_out) |
| void | finalize_kex_update (const std::uint32_t kex_rounds_required, multisig_keyset_map_memsafe_t result_keys_to_origins_map) |
Private Attributes | |
| std::uint32_t | m_threshold {0} |
| misc. account details | |
| std::vector< crypto::public_key > | m_signers |
| crypto::secret_key | m_base_privkey |
| local participant's personal keys | |
| crypto::public_key | m_base_pubkey |
| crypto::secret_key | m_base_common_privkey |
| std::vector< crypto::secret_key > | m_multisig_privkeys |
| core multisig account keys | |
| crypto::secret_key | m_common_privkey |
| crypto::public_key | m_multisig_pubkey |
| crypto::public_key | m_common_pubkey |
| std::uint32_t | m_kex_rounds_complete {0} |
| kex variables | |
| multisig_keyset_map_memsafe_t | m_kex_keys_to_origins_map |
| std::string | m_next_round_kex_message |
|
default |
| multisig::multisig_account::multisig_account | ( | const crypto::secret_key & | base_privkey, |
| const crypto::secret_key & | base_common_privkey ) |
construct from base privkeys
| multisig::multisig_account::multisig_account | ( | const std::uint32_t | threshold, |
| std::vector< crypto::public_key > | signers, | ||
| const crypto::secret_key & | base_privkey, | ||
| const crypto::secret_key & | base_common_privkey, | ||
| std::vector< crypto::secret_key > | multisig_privkeys, | ||
| const crypto::secret_key & | common_privkey, | ||
| const crypto::public_key & | multisig_pubkey, | ||
| const crypto::public_key & | common_pubkey, | ||
| const std::uint32_t | kex_rounds_complete, | ||
| multisig_keyset_map_memsafe_t | kex_origins_map, | ||
| std::string | next_round_kex_message ) |
|
default |
| bool multisig::multisig_account::account_is_active | ( | ) | const |
|
private |
brief: finalize_kex_update - Helper for kex_update_impl() param: kex_rounds_required - number of rounds required for kex (not including post-kex verification round) param: result_keys_to_origins_map - map between keys for the next round and the other participants they correspond to inoutparam: temp_account_inout - account to perform last update steps on
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void multisig::multisig_account::initialize_kex | ( | const std::uint32_t | threshold, |
| std::vector< crypto::public_key > | signers, | ||
| const std::vector< multisig_kex_msg > & | expanded_msgs_rnd1 ) |
brief: initialize_kex - initialize key exchange
|
private |
brief: initialize_kex_update - Helper for kex_update_impl()
| void multisig::multisig_account::kex_update | ( | const std::vector< multisig_kex_msg > & | expanded_msgs, |
| const bool | force_update_use_with_caution = false ) |
brief: kex_update - Complete the 'in progress' kex round and set the kex message for the next round.
|
private |
| bool multisig::multisig_account::main_kex_rounds_done | ( | ) | const |
| bool multisig::multisig_account::multisig_is_ready | ( | ) | const |
|
private |
|
private |
|
private |
local participant's personal keys
|
private |
|
private |
|
private |
|
private |
|
private |
kex variables
|
private |
core multisig account keys
|
private |
|
private |
|
private |
|
private |
misc. account details