diff options
author | italocoin <info@italocoin.com> | 2019-02-09 14:17:27 -0500 |
---|---|---|
committer | italocoin <info@italocoin.com> | 2019-02-10 09:51:20 -0500 |
commit | de32dcea1dc055813f875df63e47f2622ea5b709 (patch) | |
tree | af087e4b71582c1e88d97ec19ee091377b5bd933 /src | |
parent | Merge pull request #5104 (diff) | |
download | monero-de32dcea1dc055813f875df63e47f2622ea5b709.tar.xz |
Human readable message if maximum outputs reached
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptonote_basic/cryptonote_format_utils.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cryptonote_basic/cryptonote_format_utils.cpp b/src/cryptonote_basic/cryptonote_format_utils.cpp index f6daaab95..bb1d9daf2 100644 --- a/src/cryptonote_basic/cryptonote_format_utils.cpp +++ b/src/cryptonote_basic/cryptonote_format_utils.cpp @@ -389,6 +389,7 @@ namespace cryptonote for (const auto &bp: rv.p.bulletproofs) nlr += bp.L.size() * 2; const size_t bp_size = 32 * (9 + nlr); + CHECK_AND_ASSERT_THROW_MES_L1(n_outputs <= BULLETPROOF_MAX_OUTPUTS, "maximum number of outputs is " + std::to_string(BULLETPROOF_MAX_OUTPUTS) + " per transaction"); CHECK_AND_ASSERT_THROW_MES_L1(bp_base * n_padded_outputs >= bp_size, "Invalid bulletproof clawback"); const uint64_t bp_clawback = (bp_base * n_padded_outputs - bp_size) * 4 / 5; CHECK_AND_ASSERT_THROW_MES_L1(bp_clawback <= std::numeric_limits<uint64_t>::max() - blob_size, "Weight overflow"); |