increase ringsize to 10
This commit is contained in:
parent
a47d1a3d75
commit
0ac4b8e63e
|
@ -136,6 +136,7 @@
|
||||||
#define HF_VERSION_DYNAMIC_FEE 4
|
#define HF_VERSION_DYNAMIC_FEE 4
|
||||||
#define HF_VERSION_MIN_MIXIN_4 6
|
#define HF_VERSION_MIN_MIXIN_4 6
|
||||||
#define HF_VERSION_MIN_MIXIN_7 7
|
#define HF_VERSION_MIN_MIXIN_7 7
|
||||||
|
#define HF_VERSION_MIN_MIXIN_9 10
|
||||||
#define HF_VERSION_ENFORCE_RCT 6
|
#define HF_VERSION_ENFORCE_RCT 6
|
||||||
|
|
||||||
#define PER_KB_FEE_QUANTIZATION_DECIMALS 8
|
#define PER_KB_FEE_QUANTIZATION_DECIMALS 8
|
||||||
|
|
|
@ -2561,7 +2561,7 @@ bool Blockchain::check_tx_inputs(transaction& tx, tx_verification_context &tvc,
|
||||||
{
|
{
|
||||||
size_t n_unmixable = 0, n_mixable = 0;
|
size_t n_unmixable = 0, n_mixable = 0;
|
||||||
size_t mixin = std::numeric_limits<size_t>::max();
|
size_t mixin = std::numeric_limits<size_t>::max();
|
||||||
const size_t min_mixin = hf_version >= HF_VERSION_MIN_MIXIN_7 ? 7 : hf_version >= HF_VERSION_MIN_MIXIN_4 ? 4 : 2;
|
const size_t min_mixin = hf_version >= HF_VERSION_MIN_MIXIN_9 ? 9 : hf_version >= HF_VERSION_MIN_MIXIN_7 ? 7 : hf_version >= HF_VERSION_MIN_MIXIN_4 ? 4 : 2;
|
||||||
for (const auto& txin : tx.vin)
|
for (const auto& txin : tx.vin)
|
||||||
{
|
{
|
||||||
// non txin_to_key inputs will be rejected below
|
// non txin_to_key inputs will be rejected below
|
||||||
|
|
|
@ -85,9 +85,9 @@ typedef cryptonote::simple_wallet sw;
|
||||||
|
|
||||||
#define EXTENDED_LOGS_FILE "wallet_details.log"
|
#define EXTENDED_LOGS_FILE "wallet_details.log"
|
||||||
|
|
||||||
#define DEFAULT_MIX 7
|
#define DEFAULT_MIX 9
|
||||||
|
|
||||||
#define MIN_RING_SIZE 8 // Used to inform user about min ring size -- does not track actual protocol
|
#define MIN_RING_SIZE 10 // Used to inform user about min ring size -- does not track actual protocol
|
||||||
|
|
||||||
#define OUTPUT_EXPORT_FILE_MAGIC "Monero output export\003"
|
#define OUTPUT_EXPORT_FILE_MAGIC "Monero output export\003"
|
||||||
|
|
||||||
|
@ -2136,7 +2136,7 @@ simple_wallet::simple_wallet()
|
||||||
"store-tx-info <1|0>\n "
|
"store-tx-info <1|0>\n "
|
||||||
" Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference.\n "
|
" Whether to store outgoing tx info (destination address, payment ID, tx secret key) for future reference.\n "
|
||||||
"default-ring-size <n>\n "
|
"default-ring-size <n>\n "
|
||||||
" Set the default ring size (default and minimum is 5).\n "
|
" Set the default ring size (default and minimum is 10).\n "
|
||||||
"auto-refresh <1|0>\n "
|
"auto-refresh <1|0>\n "
|
||||||
" Whether to automatically synchronize new blocks from the daemon.\n "
|
" Whether to automatically synchronize new blocks from the daemon.\n "
|
||||||
"refresh-type <full|optimize-coinbase|no-coinbase|default>\n "
|
"refresh-type <full|optimize-coinbase|no-coinbase|default>\n "
|
||||||
|
|
|
@ -60,7 +60,7 @@ namespace Monero {
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
// copy-pasted from simplewallet
|
// copy-pasted from simplewallet
|
||||||
static const size_t DEFAULT_MIXIN = 4;
|
static const size_t DEFAULT_MIXIN = 9;
|
||||||
static const int DEFAULT_REFRESH_INTERVAL_MILLIS = 1000 * 10;
|
static const int DEFAULT_REFRESH_INTERVAL_MILLIS = 1000 * 10;
|
||||||
// limit maximum refresh interval as one minute
|
// limit maximum refresh interval as one minute
|
||||||
static const int MAX_REFRESH_INTERVAL_MILLIS = 1000 * 60 * 1;
|
static const int MAX_REFRESH_INTERVAL_MILLIS = 1000 * 60 * 1;
|
||||||
|
|
|
@ -5265,10 +5265,14 @@ int wallet2::get_fee_algorithm() const
|
||||||
//------------------------------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------------------------------
|
||||||
uint64_t wallet2::adjust_mixin(uint64_t mixin) const
|
uint64_t wallet2::adjust_mixin(uint64_t mixin) const
|
||||||
{
|
{
|
||||||
if (mixin < 7 && use_fork_rules(7, 10)) {
|
if (mixin < 9 && use_fork_rules(8, 10)) {
|
||||||
|
MWARNING("Requested ring size " << (mixin + 1) << " too low for hard fork 8, using 10");
|
||||||
|
mixin = 9;
|
||||||
|
}
|
||||||
|
else if (mixin < 7 && use_fork_rules(7, 10)) {
|
||||||
MWARNING("Requested ring size " << (mixin + 1) << " too low for hard fork 7, using 7");
|
MWARNING("Requested ring size " << (mixin + 1) << " too low for hard fork 7, using 7");
|
||||||
mixin = 7;
|
mixin = 7;
|
||||||
}
|
}
|
||||||
else if (mixin < 4 && use_fork_rules(6, 10)) {
|
else if (mixin < 4 && use_fork_rules(6, 10)) {
|
||||||
MWARNING("Requested ring size " << (mixin + 1) << " too low for hard fork 6, using 5");
|
MWARNING("Requested ring size " << (mixin + 1) << " too low for hard fork 6, using 5");
|
||||||
mixin = 4;
|
mixin = 4;
|
||||||
|
@ -8092,14 +8096,14 @@ const wallet2::transfer_details &wallet2::get_transfer_details(size_t idx) const
|
||||||
std::vector<size_t> wallet2::select_available_unmixable_outputs(bool trusted_daemon)
|
std::vector<size_t> wallet2::select_available_unmixable_outputs(bool trusted_daemon)
|
||||||
{
|
{
|
||||||
// request all outputs with less than 3 instances
|
// request all outputs with less than 3 instances
|
||||||
const size_t min_mixin = use_fork_rules(7, 10) ? 7 : 2; // v6 increases min mixin from 2 to 4
|
const size_t min_mixin = use_fork_rules(8, 10) ? 9 : 2; // v8 increases min mixin from 7 to 9
|
||||||
return select_available_outputs_from_histogram(min_mixin + 1, false, true, false, trusted_daemon);
|
return select_available_outputs_from_histogram(min_mixin + 1, false, true, false, trusted_daemon);
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
std::vector<size_t> wallet2::select_available_mixable_outputs(bool trusted_daemon)
|
std::vector<size_t> wallet2::select_available_mixable_outputs(bool trusted_daemon)
|
||||||
{
|
{
|
||||||
// request all outputs with at least 3 instances, so we can use mixin 2 with
|
// request all outputs with at least 3 instances, so we can use mixin 2 with
|
||||||
const size_t min_mixin = use_fork_rules(7, 10) ? 7 : 2; // v6 increases min mixin from 2 to 4
|
const size_t min_mixin = use_fork_rules(8, 10) ? 9 : 2; // v8 increases min mixin from 7 to 9
|
||||||
return select_available_outputs_from_histogram(min_mixin + 1, true, true, true, trusted_daemon);
|
return select_available_outputs_from_histogram(min_mixin + 1, true, true, true, trusted_daemon);
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue