From 7862ae4f2f94516ce0e74af124d788cf35259265 Mon Sep 17 00:00:00 2001 From: Wisdom Arerosuoghene Date: Fri, 30 Jul 2021 15:32:26 +0100 Subject: [PATCH] fix trade_simnet_test duplicate balance change tracking --- client/core/trade_simnet_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/client/core/trade_simnet_test.go b/client/core/trade_simnet_test.go index f257b89baf..d9d7f54d2d 100644 --- a/client/core/trade_simnet_test.go +++ b/client/core/trade_simnet_test.go @@ -1004,6 +1004,7 @@ func monitorTrackedTrade(ctx context.Context, client *tClient, tracker *trackedT client.psMTX.Unlock() continue } + lastStatus := client.processedStatus[match.MatchID] client.processedStatus[match.MatchID] = status client.psMTX.Unlock() client.log("NOW =====> %s", status) @@ -1025,8 +1026,8 @@ func monitorTrackedTrade(ctx context.Context, client *tClient, tracker *trackedT // Our toAsset == counter-party's fromAsset. assetToMine, swapOrRedeem = tracker.wallets.toAsset, "swap" - case status == order.MatchComplete, // maker normally jumps MakerRedeemed if 'redeem' succeeds - side == order.Maker && status == order.MakerRedeemed: + case side == order.Maker && status == order.MakerRedeemed, + status == order.MatchComplete && (side == order.Taker || lastStatus != order.MakerRedeemed): // allow MatchComplete for Maker if lastStatus != order.MakerRedeemed recordBalanceChanges(tracker.wallets.toAsset.ID, false, match.Quantity, match.Rate) // Mine blocks for redemption since counter-party does not wait // for redeem tx confirmations before performing follow-up action.