aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_basic/account.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cryptonote_basic/account.cpp')
-rw-r--r--src/cryptonote_basic/account.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/cryptonote_basic/account.cpp b/src/cryptonote_basic/account.cpp
index fb832d88e..ddc1fc7fc 100644
--- a/src/cryptonote_basic/account.cpp
+++ b/src/cryptonote_basic/account.cpp
@@ -64,6 +64,7 @@ DISABLE_VS_WARNINGS(4244 4345)
void account_base::forget_spend_key()
{
m_keys.m_spend_secret_key = crypto::secret_key();
+ m_keys.m_multisig_keys.clear();
}
//-----------------------------------------------------------------
crypto::secret_key account_base::generate(const crypto::secret_key& recovery_key, bool recover, bool two_random)
@@ -123,6 +124,20 @@ DISABLE_VS_WARNINGS(4244 4345)
create_from_keys(address, fake, viewkey);
}
//-----------------------------------------------------------------
+ bool account_base::make_multisig(const crypto::secret_key &view_secret_key, const crypto::secret_key &spend_secret_key, const crypto::public_key &spend_public_key, const std::vector<crypto::secret_key> &multisig_keys)
+ {
+ m_keys.m_account_address.m_spend_public_key = spend_public_key;
+ m_keys.m_view_secret_key = view_secret_key;
+ m_keys.m_spend_secret_key = spend_secret_key;
+ m_keys.m_multisig_keys = multisig_keys;
+ return crypto::secret_key_to_public_key(view_secret_key, m_keys.m_account_address.m_view_public_key);
+ }
+ //-----------------------------------------------------------------
+ void account_base::finalize_multisig(const crypto::public_key &spend_public_key)
+ {
+ m_keys.m_account_address.m_spend_public_key = spend_public_key;
+ }
+ //-----------------------------------------------------------------
const account_keys& account_base::get_keys() const
{
return m_keys;