@@ -61,6 +61,7 @@ static const char* SettingName(OptionsModel::OptionID option)
6161 case OptionsModel::ProxyUseTor: return " onion" ;
6262 case OptionsModel::Language: return " lang" ;
6363 // ! Dash
64+ case OptionsModel::CoinJoinAmount: return " coinjoinamount" ;
6465 case OptionsModel::CoinJoinRounds: return " coinjoinrounds" ;
6566 case OptionsModel::CoinJoinSessions: return " coinjoinsessions" ;
6667 default : throw std::logic_error (strprintf (" GUI option %i has no corresponding node setting." , option));
@@ -70,6 +71,7 @@ static const char* SettingName(OptionsModel::OptionID option)
7071static bool RequiresNumWorkaround (OptionsModel::OptionID option)
7172{
7273 switch (option) {
74+ case OptionsModel::CoinJoinAmount:
7375 case OptionsModel::CoinJoinRounds:
7476 case OptionsModel::CoinJoinSessions:
7577 case OptionsModel::DatabaseCache:
@@ -353,8 +355,8 @@ bool OptionsModel::Init(bilingual_str& error)
353355 // These are shared with the core or have a command-line parameter
354356 // and we want command-line parameters to overwrite the GUI settings.
355357 for (OptionID option : {DatabaseCache, ThreadsScriptVerif, SpendZeroConfChange, ExternalSignerPath, MapPortUPnP,
356- MapPortNatpmp, Listen, Server, Prune, ProxyUse, ProxyUseTor, Language, CoinJoinRounds ,
357- CoinJoinSessions}) {
358+ MapPortNatpmp, Listen, Server, Prune, ProxyUse, ProxyUseTor, Language, CoinJoinAmount ,
359+ CoinJoinRounds, CoinJoinSessions}) {
358360 std::string setting = SettingName (option);
359361 if (node ().isSettingIgnored (setting)) addOverriddenOption (" -" + setting);
360362 try {
@@ -382,11 +384,6 @@ bool OptionsModel::Init(bilingual_str& error)
382384 m_sub_fee_from_amount = settings.value (" SubFeeFromAmount" , false ).toBool ();
383385
384386 // CoinJoin
385- if (!settings.contains (" nCoinJoinAmount" ))
386- settings.setValue (" nCoinJoinAmount" , DEFAULT_COINJOIN_AMOUNT);
387- if (!gArgs .SoftSetArg (" -coinjoinamount" , settings.value (" nCoinJoinAmount" ).toString ().toStdString ()))
388- addOverriddenOption (" -coinjoinamount" );
389-
390387 if (!settings.contains (" fCoinJoinMultiSession" ))
391388 settings.setValue (" fCoinJoinMultiSession" , DEFAULT_COINJOIN_MULTISESSION);
392389 if (!gArgs .SoftSetBoolArg (" -coinjoinmultisession" , settings.value (" fCoinJoinMultiSession" ).toBool ()))
@@ -649,7 +646,7 @@ QVariant OptionsModel::getOption(OptionID option) const
649646 case CoinJoinRounds:
650647 return qlonglong (SettingToInt (setting (), DEFAULT_COINJOIN_ROUNDS));
651648 case CoinJoinAmount:
652- return settings. value ( " nCoinJoinAmount " );
649+ return qlonglong ( SettingToInt ( setting (), DEFAULT_COINJOIN_AMOUNT) );
653650 case CoinJoinDenomsGoal:
654651 return settings.value (" nCoinJoinDenomsGoal" );
655652 case CoinJoinDenomsHardCap:
@@ -872,10 +869,9 @@ bool OptionsModel::setOption(OptionID option, const QVariant& value)
872869 }
873870 break ;
874871 case CoinJoinAmount:
875- if (settings.value (" nCoinJoinAmount" ) != value)
876- {
872+ if (changed ()) {
877873 node ().coinJoinOptions ().setAmount (value.toInt ());
878- settings. setValue ( " nCoinJoinAmount " , node (). coinJoinOptions (). getAmount ());
874+ update (value. toInt ());
879875 Q_EMIT coinJoinAmountChanged ();
880876 }
881877 break ;
@@ -1139,6 +1135,7 @@ void OptionsModel::checkAndMigrate()
11391135
11401136 // ! Dash
11411137#ifdef ENABLE_WALLET
1138+ migrate_setting (CoinJoinAmount, " nCoinJoinAmount" );
11421139 migrate_setting (CoinJoinRounds, " nCoinJoinRounds" );
11431140 migrate_setting (CoinJoinSessions, " nCoinJoinSessions" );
11441141#endif
0 commit comments