Skip to content

Commit 0f5f7ae

Browse files
committed
add startup flag 'updateXmrBinaries=true|false'
1 parent 6301bde commit 0f5f7ae

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

common/src/main/java/haveno/common/config/Config.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ public class Config {
117117
public static final String BTC_FEE_INFO = "bitcoinFeeInfo";
118118
public static final String BYPASS_MEMPOOL_VALIDATION = "bypassMempoolValidation";
119119
public static final String PASSWORD_REQUIRED = "passwordRequired";
120+
public static final String UPDATE_XMR_BINARIES = "updateXmrBinaries";
120121

121122
// Default values for certain options
122123
public static final int UNSPECIFIED_PORT = -1;
@@ -204,6 +205,7 @@ public enum UseTorForXmr {
204205
public final boolean republishMailboxEntries;
205206
public final boolean bypassMempoolValidation;
206207
public final boolean passwordRequired;
208+
public final boolean updateXmrBinaries;
207209

208210
// Properties derived from options but not exposed as options themselves
209211
public final File torDir;
@@ -621,6 +623,13 @@ public Config(String defaultAppName, File defaultUserDataDir, String... args) {
621623
.ofType(boolean.class)
622624
.defaultsTo(false);
623625

626+
ArgumentAcceptingOptionSpec<Boolean> updateXmrBinariesOpt =
627+
parser.accepts(UPDATE_XMR_BINARIES,
628+
"Update Monero binaries if applicable")
629+
.withRequiredArg()
630+
.ofType(boolean.class)
631+
.defaultsTo(true);
632+
624633
try {
625634
CompositeOptionSet options = new CompositeOptionSet();
626635

@@ -733,6 +742,7 @@ public Config(String defaultAppName, File defaultUserDataDir, String... args) {
733742
this.republishMailboxEntries = options.valueOf(republishMailboxEntriesOpt);
734743
this.bypassMempoolValidation = options.valueOf(bypassMempoolValidationOpt);
735744
this.passwordRequired = options.valueOf(passwordRequiredOpt);
745+
this.updateXmrBinaries = options.valueOf(updateXmrBinariesOpt);
736746
} catch (OptionException ex) {
737747
throw new ConfigException("problem parsing option '%s': %s",
738748
ex.options().get(0),

core/src/main/java/haveno/core/app/HavenoSetup.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ private void maybeInstallDependencies() {
369369
// install monerod
370370
File monerodFile = new File(XmrLocalNode.MONEROD_PATH);
371371
String monerodResourcePath = "bin/" + XmrLocalNode.MONEROD_NAME;
372-
if (!monerodFile.exists() || !FileUtil.resourceEqualToFile(monerodResourcePath, monerodFile)) {
372+
if (!monerodFile.exists() || (config.updateXmrBinaries && !FileUtil.resourceEqualToFile(monerodResourcePath, monerodFile))) {
373373
log.info("Installing monerod");
374374
monerodFile.getParentFile().mkdirs();
375375
FileUtil.resourceToFile("bin/" + XmrLocalNode.MONEROD_NAME, monerodFile);
@@ -379,7 +379,7 @@ private void maybeInstallDependencies() {
379379
// install monero-wallet-rpc
380380
File moneroWalletRpcFile = new File(XmrWalletService.MONERO_WALLET_RPC_PATH);
381381
String moneroWalletRpcResourcePath = "bin/" + XmrWalletService.MONERO_WALLET_RPC_NAME;
382-
if (!moneroWalletRpcFile.exists() || !FileUtil.resourceEqualToFile(moneroWalletRpcResourcePath, moneroWalletRpcFile)) {
382+
if (!moneroWalletRpcFile.exists() || (config.updateXmrBinaries && !FileUtil.resourceEqualToFile(moneroWalletRpcResourcePath, moneroWalletRpcFile))) {
383383
log.info("Installing monero-wallet-rpc");
384384
moneroWalletRpcFile.getParentFile().mkdirs();
385385
FileUtil.resourceToFile(moneroWalletRpcResourcePath, moneroWalletRpcFile);

0 commit comments

Comments
 (0)