bump ring size to 22
This commit is contained in:
parent
3271844ab5
commit
2a4e1c6913
|
@ -170,10 +170,8 @@
|
|||
#define THREAD_STACK_SIZE 5 * 1024 * 1024
|
||||
|
||||
#define HF_VERSION_DYNAMIC_FEE 4
|
||||
#define HF_VERSION_MIN_MIXIN_4 6
|
||||
#define HF_VERSION_MIN_MIXIN_6 7
|
||||
#define HF_VERSION_MIN_MIXIN_10 8
|
||||
#define HF_VERSION_MIN_MIXIN_15 15
|
||||
#define HF_VERSION_MIN_MIXIN_7 7
|
||||
#define HF_VERSION_MIN_MIXIN_21 9
|
||||
#define HF_VERSION_ENFORCE_RCT 6
|
||||
#define HF_VERSION_PER_BYTE_FEE 12
|
||||
#define HF_VERSION_SMALLER_BP 13
|
||||
|
|
|
@ -3342,7 +3342,7 @@ bool Blockchain::check_tx_inputs(transaction& tx, tx_verification_context &tvc,
|
|||
size_t n_unmixable = 0, n_mixable = 0;
|
||||
size_t min_actual_mixin = std::numeric_limits<size_t>::max();
|
||||
size_t max_actual_mixin = 0;
|
||||
const size_t min_mixin = hf_version >= HF_VERSION_MIN_MIXIN_15 ? 15 : hf_version >= HF_VERSION_MIN_MIXIN_10 ? 10 : hf_version >= HF_VERSION_MIN_MIXIN_6 ? 6 : hf_version >= HF_VERSION_MIN_MIXIN_4 ? 4 : 2;
|
||||
const size_t min_mixin = hf_version >= HF_VERSION_MIN_MIXIN_21 ? 21 : 7;
|
||||
for (const auto& txin : tx.vin)
|
||||
{
|
||||
// non txin_to_key inputs will be rejected below
|
||||
|
@ -3389,7 +3389,7 @@ bool Blockchain::check_tx_inputs(transaction& tx, tx_verification_context &tvc,
|
|||
// allowed is when spending unmixable non-RCT outputs in the chain.
|
||||
// Caveat: at HF_VERSION_MIN_MIXIN_15, temporarily allow ring sizes
|
||||
// of 11 to allow a grace period in the transition to larger ring size.
|
||||
if (min_actual_mixin < min_mixin && !(hf_version == HF_VERSION_MIN_MIXIN_15 && min_actual_mixin == 10))
|
||||
if (min_actual_mixin < min_mixin && !(hf_version == HF_VERSION_MIN_MIXIN_21 && min_actual_mixin == 7))
|
||||
{
|
||||
if (n_unmixable == 0)
|
||||
{
|
||||
|
@ -3403,10 +3403,10 @@ bool Blockchain::check_tx_inputs(transaction& tx, tx_verification_context &tvc,
|
|||
tvc.m_low_mixin = true;
|
||||
return false;
|
||||
}
|
||||
} else if ((hf_version > HF_VERSION_MIN_MIXIN_15 && min_actual_mixin > 15)
|
||||
|| (hf_version == HF_VERSION_MIN_MIXIN_15 && min_actual_mixin != 15 && min_actual_mixin != 10) // grace period to allow either 15 or 10
|
||||
|| (hf_version < HF_VERSION_MIN_MIXIN_15 && hf_version >= HF_VERSION_MIN_MIXIN_10+2 && min_actual_mixin > 10)
|
||||
|| ((hf_version == HF_VERSION_MIN_MIXIN_10 || hf_version == HF_VERSION_MIN_MIXIN_10+1) && min_actual_mixin != 10)
|
||||
} else if ((hf_version > HF_VERSION_MIN_MIXIN_21 && min_actual_mixin > 21)
|
||||
|| (hf_version == HF_VERSION_MIN_MIXIN_21 && min_actual_mixin != 21 && min_actual_mixin != 7) // grace period to allow either 15 or 10
|
||||
|| (hf_version < HF_VERSION_MIN_MIXIN_21 && hf_version >= HF_VERSION_MIN_MIXIN_7+2 && min_actual_mixin > 7)
|
||||
|| ((hf_version == HF_VERSION_MIN_MIXIN_7 || hf_version == HF_VERSION_MIN_MIXIN_7+1) && min_actual_mixin != 7)
|
||||
)
|
||||
{
|
||||
MERROR_VER("Tx " << get_transaction_hash(tx) << " has invalid ring size (" << (min_actual_mixin + 1) << "), it should be " << (min_mixin + 1));
|
||||
|
|
|
@ -8154,25 +8154,19 @@ int wallet2::get_fee_algorithm()
|
|||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
uint64_t wallet2::get_min_ring_size()
|
||||
{
|
||||
if (use_fork_rules(HF_VERSION_MIN_MIXIN_15, 0))
|
||||
return 16;
|
||||
if (use_fork_rules(8, 10))
|
||||
return 11;
|
||||
if (use_fork_rules(HF_VERSION_MIN_MIXIN_21, 0))
|
||||
return 22;
|
||||
if (use_fork_rules(7, 10))
|
||||
return 7;
|
||||
if (use_fork_rules(6, 10))
|
||||
return 5;
|
||||
if (use_fork_rules(2, 10))
|
||||
return 3;
|
||||
return 8;
|
||||
return 0;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
uint64_t wallet2::get_max_ring_size()
|
||||
{
|
||||
if (use_fork_rules(HF_VERSION_MIN_MIXIN_15, 0))
|
||||
return 16;
|
||||
if (use_fork_rules(8, 10))
|
||||
return 11;
|
||||
if (use_fork_rules(HF_VERSION_MIN_MIXIN_21, 0))
|
||||
return 22;
|
||||
if (use_fork_rules(7, 10))
|
||||
return 8;
|
||||
return 0;
|
||||
}
|
||||
//------------------------------------------------------------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue