From 1a911fdb9ddbfbb52749a7d77bd3f98f9785b397 Mon Sep 17 00:00:00 2001 From: woodser <13068859+woodser@users.noreply.github.com> Date: Sun, 14 Sep 2025 14:47:31 -0400 Subject: [PATCH] delete trade wallets after 720 confirmations --- Makefile | 19 ++++++++++++------- .../main/java/haveno/core/trade/Trade.java | 4 +++- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 8f9ad076ad..6ff271ffed 100644 --- a/Makefile +++ b/Makefile @@ -70,11 +70,12 @@ monerod1-local: --log-level 0 \ --add-exclusive-node 127.0.0.1:48080 \ --add-exclusive-node 127.0.0.1:58080 \ - --max-connections-per-ip 10 \ --rpc-access-control-origins http://localhost:8080 \ --fixed-difficulty 500 \ --disable-rpc-ban \ - --rpc-max-connections-per-private-ip 100 \ + --rpc-max-connections 1000 \ + --max-connections-per-ip 10 \ + --rpc-max-connections-per-private-ip 1000 \ monerod2-local: ./.localnet/monerod \ @@ -90,11 +91,12 @@ monerod2-local: --confirm-external-bind \ --add-exclusive-node 127.0.0.1:28080 \ --add-exclusive-node 127.0.0.1:58080 \ - --max-connections-per-ip 10 \ --rpc-access-control-origins http://localhost:8080 \ --fixed-difficulty 500 \ --disable-rpc-ban \ - --rpc-max-connections-per-private-ip 100 \ + --rpc-max-connections 1000 \ + --max-connections-per-ip 10 \ + --rpc-max-connections-per-private-ip 1000 \ monerod3-local: ./.localnet/monerod \ @@ -110,11 +112,12 @@ monerod3-local: --confirm-external-bind \ --add-exclusive-node 127.0.0.1:28080 \ --add-exclusive-node 127.0.0.1:48080 \ - --max-connections-per-ip 10 \ --rpc-access-control-origins http://localhost:8080 \ --fixed-difficulty 500 \ --disable-rpc-ban \ - --rpc-max-connections-per-private-ip 100 \ + --rpc-max-connections 1000 \ + --max-connections-per-ip 10 \ + --rpc-max-connections-per-private-ip 1000 \ #--proxy 127.0.0.1:49775 \ @@ -440,7 +443,9 @@ monerod: ./.localnet/monerod \ --bootstrap-daemon-address auto \ --rpc-access-control-origins http://localhost:8080 \ - --rpc-max-connections-per-private-ip 100 \ + --rpc-max-connections 1000 \ + --max-connections-per-ip 10 \ + --rpc-max-connections-per-private-ip 1000 \ seednode: ./haveno-seednode$(APP_EXT) \ diff --git a/core/src/main/java/haveno/core/trade/Trade.java b/core/src/main/java/haveno/core/trade/Trade.java index 1ce14c729b..a10f1ada80 100644 --- a/core/src/main/java/haveno/core/trade/Trade.java +++ b/core/src/main/java/haveno/core/trade/Trade.java @@ -40,6 +40,7 @@ import com.google.protobuf.Message; import haveno.common.ThreadUtils; import haveno.common.Timer; import haveno.common.UserThread; +import haveno.common.config.Config; import haveno.common.crypto.Encryption; import haveno.common.crypto.PubKeyRing; import haveno.common.proto.ProtoUtil; @@ -154,7 +155,7 @@ public abstract class Trade extends XmrWalletBase implements Tradable, Model { private static final long DELETE_AFTER_MS = TradeProtocol.TRADE_STEP_TIMEOUT_SECONDS; private static final int NUM_CONFIRMATIONS_FOR_SCHEDULED_IMPORT = 5; public static final int NUM_BLOCKS_DEPOSITS_FINALIZED = 30; // ~1 hour before deposits are considered finalized - public static final int NUM_BLOCKS_PAYOUT_FINALIZED = 60; // ~2 hours before payout is considered finalized and multisig wallet deleted + public static final int NUM_BLOCKS_PAYOUT_FINALIZED = Config.baseCurrencyNetwork().isTestnet() ? 60 : 720; // ~1 day before payout is considered finalized and multisig wallet deleted protected final Object pollLock = new Object(); private final Object removeTradeOnErrorLock = new Object(); protected static final Object importMultisigLock = new Object(); @@ -957,6 +958,7 @@ public abstract class Trade extends XmrWalletBase implements Tradable, Model { } public boolean isIdling() { + if (isPayoutUnlocked() && !Config.baseCurrencyNetwork().isTestnet()) return true; // idle after payout unlocked (unless testnet) return this instanceof ArbitratorTrade && isDepositsConfirmed() && walletExists() && pollNormalStartTimeMs == null; // arbitrator idles trade after deposits confirm unless overriden }