diff --git a/core/src/main/java/bisq/core/app/BisqHeadlessAppMain.java b/core/src/main/java/bisq/core/app/BisqHeadlessAppMain.java index 6a867d875b9..4a1de618326 100644 --- a/core/src/main/java/bisq/core/app/BisqHeadlessAppMain.java +++ b/core/src/main/java/bisq/core/app/BisqHeadlessAppMain.java @@ -17,6 +17,8 @@ package bisq.core.app; +import bisq.core.payment.TradeLimits; + import bisq.common.UserThread; import bisq.common.app.AppModule; import bisq.common.app.Version; @@ -31,6 +33,7 @@ @Slf4j public class BisqHeadlessAppMain extends BisqExecutable { protected HeadlessApp headlessApp; + private TradeLimits tradeLimits; public BisqHeadlessAppMain() { super("Bisq Daemon", "bisqd", "Bisq", Version.VERSION); @@ -108,6 +111,9 @@ protected void applyInjector() { @Override protected void startApplication() { + // Pin that as it is used in PaymentMethods and verification in TradeStatistics + tradeLimits = injector.getInstance(TradeLimits.class); + // We need to be in user thread! We mapped at launchApplication already... headlessApp.startApplication(); diff --git a/core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java b/core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java index ec9bfd65b27..3552a465340 100644 --- a/core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java +++ b/core/src/main/java/bisq/core/app/misc/ExecutableForAppWithP2p.java @@ -25,6 +25,7 @@ import bisq.core.dao.node.full.RpcService; import bisq.core.offer.OpenOfferManager; import bisq.core.offer.bsq_swap.OpenBsqSwapOfferService; +import bisq.core.payment.TradeLimits; import bisq.core.support.dispute.arbitration.arbitrator.ArbitratorManager; import bisq.network.p2p.NodeAddress; @@ -62,6 +63,7 @@ public abstract class ExecutableForAppWithP2p extends BisqExecutable { private static final long SHUTDOWN_INTERVAL = TimeUnit.HOURS.toMillis(24); private volatile boolean stopped; private final long startTime = System.currentTimeMillis(); + private TradeLimits tradeLimits; public ExecutableForAppWithP2p(String fullName, String scriptName, String appName, String version) { super(fullName, scriptName, appName, version); @@ -76,6 +78,12 @@ protected void configUserThread() { UserThread.setExecutor(Executors.newSingleThreadExecutor(threadFactory)); } + @Override + protected void startApplication() { + // Pin that as it is used in PaymentMethods and verification in TradeStatistics + tradeLimits = injector.getInstance(TradeLimits.class); + } + @Override public void onSetupComplete() { log.info("onSetupComplete"); diff --git a/daemon/src/main/java/bisq/daemon/app/BisqDaemonMain.java b/daemon/src/main/java/bisq/daemon/app/BisqDaemonMain.java index a3bd88e1a03..a9e4ce2aaed 100644 --- a/daemon/src/main/java/bisq/daemon/app/BisqDaemonMain.java +++ b/daemon/src/main/java/bisq/daemon/app/BisqDaemonMain.java @@ -90,12 +90,7 @@ protected void applyInjector() { @Override protected void startApplication() { - // We need to be in user thread! We mapped at launchApplication already... - headlessApp.startApplication(); - - // In headless mode we don't have an async behaviour so we trigger the setup by - // calling onApplicationStarted. - onApplicationStarted(); + super.startApplication(); } @Override diff --git a/seednode/src/main/java/bisq/seednode/SeedNodeMain.java b/seednode/src/main/java/bisq/seednode/SeedNodeMain.java index 9841b88ca63..a469350be26 100644 --- a/seednode/src/main/java/bisq/seednode/SeedNodeMain.java +++ b/seednode/src/main/java/bisq/seednode/SeedNodeMain.java @@ -137,6 +137,8 @@ private int getMyIndex() { @Override protected void startApplication() { + super.startApplication(); + Cookie cookie = injector.getInstance(User.class).getCookie(); cookie.getAsOptionalBoolean(CookieKey.CLEAN_TOR_DIR_AT_RESTART).ifPresent(wasCleanTorDirSet -> { if (wasCleanTorDirSet) { diff --git a/statsnode/src/main/java/bisq/statistics/StatisticsMain.java b/statsnode/src/main/java/bisq/statistics/StatisticsMain.java index a57ff64afb8..f271b076c4b 100644 --- a/statsnode/src/main/java/bisq/statistics/StatisticsMain.java +++ b/statsnode/src/main/java/bisq/statistics/StatisticsMain.java @@ -88,6 +88,8 @@ protected void applyInjector() { @Override protected void startApplication() { + super.startApplication(); + statistics.startApplication(); } }