mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 04:22:55 +01:00
Replace some instantsend/privatesend magic numbers with constants (#1924)
This commit is contained in:
parent
d7f55d5083
commit
4528c735f4
27
src/init.cpp
27
src/init.cpp
@ -552,14 +552,15 @@ std::string HelpMessage(HelpMessageMode mode)
|
||||
strUsage += HelpMessageGroup(_("PrivateSend options:"));
|
||||
strUsage += HelpMessageOpt("-enableprivatesend=<n>", strprintf(_("Enable use of automated PrivateSend for funds stored in this wallet (0-1, default: %u)"), 0));
|
||||
strUsage += HelpMessageOpt("-privatesendmultisession=<n>", strprintf(_("Enable multiple PrivateSend mixing sessions per block, experimental (0-1, default: %u)"), DEFAULT_PRIVATESEND_MULTISESSION));
|
||||
strUsage += HelpMessageOpt("-privatesendrounds=<n>", strprintf(_("Use N separate masternodes for each denominated input to mix funds (2-16, default: %u)"), DEFAULT_PRIVATESEND_ROUNDS));
|
||||
strUsage += HelpMessageOpt("-privatesendamount=<n>", strprintf(_("Keep N DASH anonymized (default: %u)"), DEFAULT_PRIVATESEND_AMOUNT));
|
||||
strUsage += HelpMessageOpt("-liquidityprovider=<n>", strprintf(_("Provide liquidity to PrivateSend by infrequently mixing coins on a continual basis (0-100, default: %u, 1=very frequent, high fees, 100=very infrequent, low fees)"), DEFAULT_PRIVATESEND_LIQUIDITY));
|
||||
strUsage += HelpMessageOpt("-privatesendrounds=<n>", strprintf(_("Use N separate masternodes for each denominated input to mix funds (%u-%u, default: %u)"), MIN_PRIVATESEND_ROUNDS, MAX_PRIVATESEND_ROUNDS, DEFAULT_PRIVATESEND_ROUNDS));
|
||||
strUsage += HelpMessageOpt("-privatesendamount=<n>", strprintf(_("Keep N DASH anonymized (%u-%u, default: %u)"), MIN_PRIVATESEND_AMOUNT, MAX_PRIVATESEND_AMOUNT, DEFAULT_PRIVATESEND_AMOUNT));
|
||||
strUsage += HelpMessageOpt("-liquidityprovider=<n>", strprintf(_("Provide liquidity to PrivateSend by infrequently mixing coins on a continual basis (%u-%u, default: %u, 1=very frequent, high fees, %u=very infrequent, low fees)"),
|
||||
MIN_PRIVATESEND_LIQUIDITY, MAX_PRIVATESEND_LIQUIDITY, DEFAULT_PRIVATESEND_LIQUIDITY, MAX_PRIVATESEND_LIQUIDITY));
|
||||
#endif // ENABLE_WALLET
|
||||
|
||||
strUsage += HelpMessageGroup(_("InstantSend options:"));
|
||||
strUsage += HelpMessageOpt("-enableinstantsend=<n>", strprintf(_("Enable InstantSend, show confirmations for locked transactions (0-1, default: %u)"), 1));
|
||||
strUsage += HelpMessageOpt("-instantsenddepth=<n>", strprintf(_("Show N confirmations for a successfully locked transaction (0-9999, default: %u)"), DEFAULT_INSTANTSEND_DEPTH));
|
||||
strUsage += HelpMessageOpt("-instantsenddepth=<n>", strprintf(_("Show N confirmations for a successfully locked transaction (%u-%u, default: %u)"), MIN_INSTANTSEND_DEPTH, MAX_INSTANTSEND_DEPTH, DEFAULT_INSTANTSEND_DEPTH));
|
||||
strUsage += HelpMessageOpt("-instantsendnotify=<cmd>", _("Execute command when a wallet InstantSend transaction is successfully locked (%s in cmd is replaced by TxID)"));
|
||||
|
||||
|
||||
@ -886,10 +887,10 @@ void InitParameterInteraction()
|
||||
if (nLiqProvTmp > 0) {
|
||||
ForceSetArg("-enableprivatesend", "1");
|
||||
LogPrintf("%s: parameter interaction: -liquidityprovider=%d -> setting -enableprivatesend=1\n", __func__, nLiqProvTmp);
|
||||
ForceSetArg("-privatesendrounds", "99999");
|
||||
LogPrintf("%s: parameter interaction: -liquidityprovider=%d -> setting -privatesendrounds=99999\n", __func__, nLiqProvTmp);
|
||||
ForceSetArg("-privatesendamount", "999999");
|
||||
LogPrintf("%s: parameter interaction: -liquidityprovider=%d -> setting -privatesendamount=999999\n", __func__, nLiqProvTmp);
|
||||
ForceSetArg("-privatesendrounds", itostr(std::numeric_limits<int>::max()));
|
||||
LogPrintf("%s: parameter interaction: -liquidityprovider=%d -> setting -privatesendrounds=%d\n", __func__, nLiqProvTmp, itostr(std::numeric_limits<int>::max()));
|
||||
ForceSetArg("-privatesendamount", itostr(MAX_PRIVATESEND_AMOUNT));
|
||||
LogPrintf("%s: parameter interaction: -liquidityprovider=%d -> setting -privatesendamount=%d\n", __func__, nLiqProvTmp, MAX_PRIVATESEND_AMOUNT);
|
||||
ForceSetArg("-privatesendmultisession", "0");
|
||||
LogPrintf("%s: parameter interaction: -liquidityprovider=%d -> setting -privatesendmultisession=0\n", __func__, nLiqProvTmp);
|
||||
}
|
||||
@ -1823,21 +1824,23 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
|
||||
}
|
||||
}
|
||||
|
||||
privateSendClient.nLiquidityProvider = std::min(std::max((int)GetArg("-liquidityprovider", DEFAULT_PRIVATESEND_LIQUIDITY), 0), 100);
|
||||
privateSendClient.nLiquidityProvider = std::min(std::max((int)GetArg("-liquidityprovider", DEFAULT_PRIVATESEND_LIQUIDITY), MIN_PRIVATESEND_LIQUIDITY), MAX_PRIVATESEND_LIQUIDITY);
|
||||
int nMaxRounds = MAX_PRIVATESEND_ROUNDS;
|
||||
if(privateSendClient.nLiquidityProvider) {
|
||||
// special case for liquidity providers only, normal clients should use default value
|
||||
privateSendClient.SetMinBlocksToWait(privateSendClient.nLiquidityProvider * 15);
|
||||
nMaxRounds = std::numeric_limits<int>::max();
|
||||
}
|
||||
|
||||
privateSendClient.fEnablePrivateSend = GetBoolArg("-enableprivatesend", false);
|
||||
privateSendClient.fPrivateSendMultiSession = GetBoolArg("-privatesendmultisession", DEFAULT_PRIVATESEND_MULTISESSION);
|
||||
privateSendClient.nPrivateSendRounds = std::min(std::max((int)GetArg("-privatesendrounds", DEFAULT_PRIVATESEND_ROUNDS), 2), privateSendClient.nLiquidityProvider ? 99999 : 16);
|
||||
privateSendClient.nPrivateSendAmount = std::min(std::max((int)GetArg("-privatesendamount", DEFAULT_PRIVATESEND_AMOUNT), 2), 999999);
|
||||
privateSendClient.nPrivateSendRounds = std::min(std::max((int)GetArg("-privatesendrounds", DEFAULT_PRIVATESEND_ROUNDS), MIN_PRIVATESEND_ROUNDS), nMaxRounds);
|
||||
privateSendClient.nPrivateSendAmount = std::min(std::max((int)GetArg("-privatesendamount", DEFAULT_PRIVATESEND_AMOUNT), MIN_PRIVATESEND_AMOUNT), MAX_PRIVATESEND_AMOUNT);
|
||||
#endif // ENABLE_WALLET
|
||||
|
||||
fEnableInstantSend = GetBoolArg("-enableinstantsend", 1);
|
||||
nInstantSendDepth = GetArg("-instantsenddepth", DEFAULT_INSTANTSEND_DEPTH);
|
||||
nInstantSendDepth = std::min(std::max(nInstantSendDepth, 0), 60);
|
||||
nInstantSendDepth = std::min(std::max(nInstantSendDepth, MIN_INSTANTSEND_DEPTH), MAX_INSTANTSEND_DEPTH);
|
||||
|
||||
//lite mode disables all Masternode and Darksend related functionality
|
||||
fLiteMode = GetBoolArg("-litemode", false);
|
||||
|
@ -26,6 +26,9 @@ extern CInstantSend instantsend;
|
||||
(1000/2900.0)**5 = 0.004875397277841433
|
||||
*/
|
||||
static const int INSTANTSEND_CONFIRMATIONS_REQUIRED = 6;
|
||||
|
||||
static const int MIN_INSTANTSEND_DEPTH = 0;
|
||||
static const int MAX_INSTANTSEND_DEPTH = 60;
|
||||
static const int DEFAULT_INSTANTSEND_DEPTH = 5;
|
||||
|
||||
static const int MIN_INSTANTSEND_PROTO_VERSION = 70208;
|
||||
|
@ -15,9 +15,16 @@ class CConnman;
|
||||
|
||||
static const int DENOMS_COUNT_MAX = 100;
|
||||
|
||||
static const int MIN_PRIVATESEND_ROUNDS = 2;
|
||||
static const int MIN_PRIVATESEND_AMOUNT = 2;
|
||||
static const int MIN_PRIVATESEND_LIQUIDITY = 0;
|
||||
static const int MAX_PRIVATESEND_ROUNDS = 16;
|
||||
static const int MAX_PRIVATESEND_AMOUNT = MAX_MONEY / COIN;
|
||||
static const int MAX_PRIVATESEND_LIQUIDITY = 100;
|
||||
static const int DEFAULT_PRIVATESEND_ROUNDS = 2;
|
||||
static const int DEFAULT_PRIVATESEND_AMOUNT = 1000;
|
||||
static const int DEFAULT_PRIVATESEND_LIQUIDITY = 0;
|
||||
|
||||
static const bool DEFAULT_PRIVATESEND_MULTISESSION = false;
|
||||
|
||||
// Warn user if mixing in gui or try to create backup if mixing in daemon mode
|
||||
|
@ -1429,7 +1429,10 @@ int CWallet::GetRealOutpointPrivateSendRounds(const COutPoint& outpoint, int nRo
|
||||
{
|
||||
static std::map<uint256, CMutableTransaction> mDenomWtxes;
|
||||
|
||||
if(nRounds >= 16) return 15; // 16 rounds max
|
||||
if(nRounds >= MAX_PRIVATESEND_ROUNDS) {
|
||||
// there can only be MAX_PRIVATESEND_ROUNDS rounds max
|
||||
return MAX_PRIVATESEND_ROUNDS - 1;
|
||||
}
|
||||
|
||||
uint256 hash = outpoint.hash;
|
||||
unsigned int nout = outpoint.n;
|
||||
@ -1494,7 +1497,7 @@ int CWallet::GetRealOutpointPrivateSendRounds(const COutPoint& outpoint, int nRo
|
||||
}
|
||||
}
|
||||
mDenomWtxes[hash].vout[nout].nRounds = fDenomFound
|
||||
? (nShortest >= 15 ? 16 : nShortest + 1) // good, we a +1 to the shortest one but only 16 rounds max allowed
|
||||
? (nShortest >= MAX_PRIVATESEND_ROUNDS - 1 ? MAX_PRIVATESEND_ROUNDS : nShortest + 1) // good, we a +1 to the shortest one but only MAX_PRIVATESEND_ROUNDS rounds max allowed
|
||||
: 0; // too bad, we are the fist one in that chain
|
||||
LogPrint("privatesend", "GetRealOutpointPrivateSendRounds UPDATED %s %3d %3d\n", hash.ToString(), nout, mDenomWtxes[hash].vout[nout].nRounds);
|
||||
return mDenomWtxes[hash].vout[nout].nRounds;
|
||||
|
Loading…
Reference in New Issue
Block a user