From da8b60cbbf9573ffc4ade67737463562f047a790 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Tue, 10 Oct 2017 10:33:17 +0100 Subject: simplewallet: reject attempts to use too low mixin early This yields a clear error message rather then some possibly confusing more technical errors down the line --- src/wallet/wallet2.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/wallet/wallet2.cpp') diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index 9acda9004..6879849f5 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -3980,6 +3980,19 @@ int wallet2::get_fee_algorithm() return 1; return 0; } +//------------------------------------------------------------------------------------------------------------------------------ +uint64_t wallet2::adjust_mixin(uint64_t mixin) +{ + if (mixin < 4 && use_fork_rules(6, 10)) { + MWARNING("Requested ring size " << (mixin + 1) << " too low for hard fork 6, using 5"); + mixin = 4; + } + else if (mixin < 2 && use_fork_rules(2, 10)) { + MWARNING("Requested ring size " << (mixin + 1) << " too low for hard fork 2, using 3"); + mixin = 2; + } + return mixin; +} //---------------------------------------------------------------------------------------------------- // separated the call(s) to wallet2::transfer into their own function // -- cgit v1.2.3