wallet2.get_reserve_proof: throw when specified amount is zero

This commit is contained in:
stoffu 2018-09-04 13:00:38 +09:00
parent 91c7d68b2d
commit 5f8f56315c
No known key found for this signature in database
GPG key ID: 41DAB8343A9EC012

View file

@ -9566,6 +9566,7 @@ std::string wallet2::get_reserve_proof(const boost::optional<std::pair<uint32_t,
if (account_minreserve)
{
THROW_WALLET_EXCEPTION_IF(account_minreserve->second == 0, error::wallet_internal_error, "Proved amount must be greater than 0");
// minimize the number of outputs included in the proof, by only picking the N largest outputs that can cover the requested min reserve amount
std::sort(selected_transfers.begin(), selected_transfers.end(), [&](const size_t a, const size_t b)
{ return m_transfers[a].amount() > m_transfers[b].amount(); });