wallet2: finalize_multisig now rejects non N-1/N multisig wallets

release-v0.5.0
moneromooo-monero 5 years ago committed by wowario
parent b925e9417c
commit 6f53b0f14e
No known key found for this signature in database
GPG Key ID: 24DCBE762DE9C111

@ -4480,6 +4480,23 @@ std::string wallet2::make_multisig(const epee::wipeable_string &password,
bool wallet2::finalize_multisig(const epee::wipeable_string &password, const std::unordered_set<crypto::public_key> &pkeys, std::vector<crypto::public_key> signers)
{
bool ready;
uint32_t threshold, total;
if (!multisig(&ready, &threshold, &total))
{
MERROR("This is not a multisig wallet");
return false;
}
if (ready)
{
MERROR("This multisig wallet is already finalized");
return false;
}
if (threshold + 1 != total)
{
MERROR("finalize_multisig should only be used for N-1/N wallets, use exchange_multisig_keys instead");
return false;
}
exchange_multisig_keys(password, pkeys, signers);
return true;
}

Loading…
Cancel
Save