Avoid wallet code writing node settings file

Change wallet loading code to access settings through the Chain
interface instead of writing settings.json directly.
This commit is contained in:
Russell Yanofsky
2017-12-05 15:57:12 -05:00
parent 1704bbf226
commit 49ee2a0ad8
4 changed files with 30 additions and 12 deletions

View File

@@ -690,6 +690,14 @@ public:
RPCRunLater(name, std::move(fn), seconds);
}
int rpcSerializationFlags() override { return RPCSerializationFlags(); }
util::SettingsValue getSetting(const std::string& name) override
{
return gArgs.GetSetting(name);
}
std::vector<util::SettingsValue> getSettingsList(const std::string& name) override
{
return gArgs.GetSettingsList(name);
}
util::SettingsValue getRwSetting(const std::string& name) override
{
util::SettingsValue result;
@@ -700,7 +708,7 @@ public:
});
return result;
}
bool updateRwSetting(const std::string& name, const util::SettingsValue& value) override
bool updateRwSetting(const std::string& name, const util::SettingsValue& value, bool write) override
{
gArgs.LockSettings([&](util::Settings& settings) {
if (value.isNull()) {
@@ -709,7 +717,7 @@ public:
settings.rw_settings[name] = value;
}
});
return gArgs.WriteSettingsFile();
return !write || gArgs.WriteSettingsFile();
}
void requestMempoolTransactions(Notifications& notifications) override
{