DS MultiSession cmd-line option (try to mix constantly, few times per block)

This commit is contained in:
UdjinM6 2015-09-15 20:40:36 +03:00
parent f36e28ede0
commit 841fc5fbae
4 changed files with 7 additions and 2 deletions

View File

@ -1382,7 +1382,7 @@ bool CDarksendPool::DoAutomaticDenominating(bool fDryRun)
return false; return false;
} }
if(chainActive.Tip()->nHeight - cachedLastSuccess < minBlockSpacing) { if(!fDarksendMultiSession && chainActive.Tip()->nHeight - cachedLastSuccess < minBlockSpacing) {
LogPrintf("CDarksendPool::DoAutomaticDenominating - Last successful Darksend action was too recent\n"); LogPrintf("CDarksendPool::DoAutomaticDenominating - Last successful Darksend action was too recent\n");
strAutoDenomResult = _("Last successful Darksend action was too recent."); strAutoDenomResult = _("Last successful Darksend action was too recent.");
return false; return false;
@ -1475,7 +1475,7 @@ bool CDarksendPool::DoAutomaticDenominating(bool fDryRun)
int nUseQueue = rand()%100; int nUseQueue = rand()%100;
UpdateState(POOL_STATUS_ACCEPTING_ENTRIES); UpdateState(POOL_STATUS_ACCEPTING_ENTRIES);
if(pwalletMain->GetDenominatedBalance(true) > 0){ //get denominated unconfirmed inputs if(!fDarksendMultiSession && pwalletMain->GetDenominatedBalance(true) > 0) { //get denominated unconfirmed inputs
LogPrintf("DoAutomaticDenominating -- Found unconfirmed denominated outputs, will wait till they confirm to continue.\n"); LogPrintf("DoAutomaticDenominating -- Found unconfirmed denominated outputs, will wait till they confirm to continue.\n");
strAutoDenomResult = _("Found unconfirmed denominated outputs, will wait till they confirm to continue."); strAutoDenomResult = _("Found unconfirmed denominated outputs, will wait till they confirm to continue.");
return false; return false;

View File

@ -419,6 +419,7 @@ std::string HelpMessage(HelpMessageMode mode)
strUsage += "\n" + _("Darksend options:") + "\n"; strUsage += "\n" + _("Darksend options:") + "\n";
strUsage += " -enabledarksend=<n> " + strprintf(_("Enable use of automated darksend for funds stored in this wallet (0-1, default: %u)"), 0) + "\n"; strUsage += " -enabledarksend=<n> " + strprintf(_("Enable use of automated darksend for funds stored in this wallet (0-1, default: %u)"), 0) + "\n";
strUsage += " -darksendmultisession=<n> " + strprintf(_("Enable multiple darksend mixing sessions per block, experimental (0-1, default: %u)"), 0) + "\n";
strUsage += " -darksendrounds=<n> " + strprintf(_("Use N separate masternodes to anonymize funds (2-8, default: %u)"), 2) + "\n"; strUsage += " -darksendrounds=<n> " + strprintf(_("Use N separate masternodes to anonymize funds (2-8, default: %u)"), 2) + "\n";
strUsage += " -anonymizedashamount=<n> " + strprintf(_("Keep N DASH anonymized (default: %u)"), 0) + "\n"; strUsage += " -anonymizedashamount=<n> " + strprintf(_("Keep N DASH anonymized (default: %u)"), 0) + "\n";
strUsage += " -liquidityprovider=<n> " + strprintf(_("Provide liquidity to Darksend by infrequently mixing coins on a continual basis (0-100, default: %u, 1=very frequent, high fees, 100=very infrequent, low fees)"), 0) + "\n"; strUsage += " -liquidityprovider=<n> " + strprintf(_("Provide liquidity to Darksend by infrequently mixing coins on a continual basis (0-100, default: %u, 1=very frequent, high fees, 100=very infrequent, low fees)"), 0) + "\n";
@ -1516,6 +1517,7 @@ bool AppInit2(boost::thread_group& threadGroup)
} }
fEnableDarksend = GetBoolArg("-enabledarksend", false); fEnableDarksend = GetBoolArg("-enabledarksend", false);
fDarksendMultiSession = GetBoolArg("-darksendmultisession", false);
nDarksendRounds = GetArg("-darksendrounds", 2); nDarksendRounds = GetArg("-darksendrounds", 2);
if(nDarksendRounds > 16) nDarksendRounds = 16; if(nDarksendRounds > 16) nDarksendRounds = 16;
@ -1526,6 +1528,7 @@ bool AppInit2(boost::thread_group& threadGroup)
darkSendPool.SetMinBlockSpacing(std::min(nLiquidityProvider,100)*15); darkSendPool.SetMinBlockSpacing(std::min(nLiquidityProvider,100)*15);
fEnableDarksend = true; fEnableDarksend = true;
nDarksendRounds = 99999; nDarksendRounds = 99999;
fDarksendMultiSession = false;
} }
nAnonymizeDarkcoinAmount = GetArg("-anonymizedashamount", 0); nAnonymizeDarkcoinAmount = GetArg("-anonymizedashamount", 0);

View File

@ -116,6 +116,7 @@ int nLiquidityProvider = 0;
int64_t enforceMasternodePaymentsTime = 4085657524; int64_t enforceMasternodePaymentsTime = 4085657524;
bool fSucessfullyLoaded = false; bool fSucessfullyLoaded = false;
bool fEnableDarksend = false; bool fEnableDarksend = false;
bool fDarksendMultiSession = false;
/** All denominations used by darksend */ /** All denominations used by darksend */
std::vector<int64_t> darkSendDenominations; std::vector<int64_t> darkSendDenominations;
string strBudgetMode = ""; string strBudgetMode = "";

View File

@ -37,6 +37,7 @@ extern int nDarksendRounds;
extern int nAnonymizeDarkcoinAmount; extern int nAnonymizeDarkcoinAmount;
extern int nLiquidityProvider; extern int nLiquidityProvider;
extern bool fEnableDarksend; extern bool fEnableDarksend;
extern bool fDarksendMultiSession;
extern int64_t enforceMasternodePaymentsTime; extern int64_t enforceMasternodePaymentsTime;
extern std::string strMasterNodeAddr; extern std::string strMasterNodeAddr;
extern int keysLoaded; extern int keysLoaded;