Skip to content

Commit

Permalink
Merge pull request #4494 from chimp1984/fix-xmr-tool-bug-with-single-…
Browse files Browse the repository at this point in the history
…httpClient

Bugfix: Create new HttpClient for each request.
  • Loading branch information
ripcurlx authored Sep 7, 2020
2 parents b81e804 + 2ab779f commit ee8e931
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 228 deletions.
4 changes: 0 additions & 4 deletions core/src/main/java/bisq/core/trade/TradeModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
import bisq.core.trade.statistics.ReferralIdService;
import bisq.core.trade.statistics.TradeStatistics2StorageService;
import bisq.core.trade.statistics.TradeStatisticsManager;
import bisq.core.trade.txproof.AssetTxProofHttpClient;
import bisq.core.trade.txproof.xmr.XmrTxProofHttpClient;

import bisq.common.app.AppModule;
import bisq.common.config.Config;
Expand Down Expand Up @@ -58,8 +56,6 @@ protected void configure() {
bind(SignedWitnessStorageService.class).in(Singleton.class);
bind(ReferralIdService.class).in(Singleton.class);

bind(AssetTxProofHttpClient.class).to(XmrTxProofHttpClient.class);

bindConstant().annotatedWith(named(DUMP_STATISTICS)).to(config.dumpStatistics);
bindConstant().annotatedWith(named(DUMP_DELAYED_PAYOUT_TXS)).to(config.dumpDelayedPayoutTxs);
bindConstant().annotatedWith(named(ALLOW_FAULTY_DELAYED_TXS)).to(config.allowFaultyDelayedTxs);
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,11 @@
import bisq.network.Socks5ProxyProvider;
import bisq.network.http.HttpClientImpl;

import javax.inject.Inject;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class XmrTxProofHttpClient extends HttpClientImpl implements AssetTxProofHttpClient {
@Inject
public XmrTxProofHttpClient(Socks5ProxyProvider socks5ProxyProvider) {
class XmrTxProofHttpClient extends HttpClientImpl implements AssetTxProofHttpClient {
XmrTxProofHttpClient(Socks5ProxyProvider socks5ProxyProvider) {
super(socks5ProxyProvider);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
import bisq.core.trade.txproof.AssetTxProofParser;
import bisq.core.trade.txproof.AssetTxProofRequest;

import bisq.network.Socks5ProxyProvider;

import bisq.common.UserThread;
import bisq.common.app.Version;
import bisq.common.handlers.FaultHandler;
Expand Down Expand Up @@ -140,9 +142,9 @@ public String toString() {
private final ListeningExecutorService executorService = Utilities.getListeningExecutorService(
"XmrTransferProofRequester", 3, 5, 10 * 60);

private final AssetTxProofHttpClient httpClient;
private final AssetTxProofParser<XmrTxProofRequest.Result, XmrTxProofModel> parser;
private final XmrTxProofModel model;
private final AssetTxProofHttpClient httpClient;
private final long firstRequest;

private boolean terminated;
Expand All @@ -155,12 +157,12 @@ public String toString() {
// Constructor
///////////////////////////////////////////////////////////////////////////////////////////

XmrTxProofRequest(AssetTxProofHttpClient httpClient,
XmrTxProofRequest(Socks5ProxyProvider socks5ProxyProvider,
XmrTxProofModel model) {
this.httpClient = httpClient;
this.parser = new XmrTxProofParser();
this.model = model;

httpClient = new XmrTxProofHttpClient(socks5ProxyProvider);
httpClient.setBaseUrl("http://" + model.getServiceAddress());
if (model.getServiceAddress().matches("^192.*|^localhost.*")) {
log.info("Ignoring Socks5 proxy for local net address: {}", model.getServiceAddress());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,12 @@
import bisq.core.support.dispute.mediation.MediationManager;
import bisq.core.support.dispute.refund.RefundManager;
import bisq.core.trade.Trade;
import bisq.core.trade.txproof.AssetTxProofHttpClient;
import bisq.core.trade.txproof.AssetTxProofRequestsPerTrade;
import bisq.core.trade.txproof.AssetTxProofResult;
import bisq.core.user.AutoConfirmSettings;

import bisq.network.Socks5ProxyProvider;

import bisq.common.handlers.FaultHandler;

import org.bitcoinj.core.Coin;
Expand Down Expand Up @@ -54,7 +55,7 @@ class XmrTxProofRequestsPerTrade implements AssetTxProofRequestsPerTrade {
private final AutoConfirmSettings autoConfirmSettings;
private final MediationManager mediationManager;
private final RefundManager refundManager;
private final AssetTxProofHttpClient httpClient;
private final Socks5ProxyProvider socks5ProxyProvider;

private int numRequiredSuccessResults;
private final Set<XmrTxProofRequest> requests = new HashSet<>();
Expand All @@ -69,12 +70,12 @@ class XmrTxProofRequestsPerTrade implements AssetTxProofRequestsPerTrade {
// Constructor
///////////////////////////////////////////////////////////////////////////////////////////

XmrTxProofRequestsPerTrade(AssetTxProofHttpClient httpClient,
XmrTxProofRequestsPerTrade(Socks5ProxyProvider socks5ProxyProvider,
Trade trade,
AutoConfirmSettings autoConfirmSettings,
MediationManager mediationManager,
RefundManager refundManager) {
this.httpClient = httpClient;
this.socks5ProxyProvider = socks5ProxyProvider;
this.trade = trade;
this.autoConfirmSettings = autoConfirmSettings;
this.mediationManager = mediationManager;
Expand Down Expand Up @@ -140,7 +141,7 @@ public void requestFromAllServices(Consumer<AssetTxProofResult> resultHandler, F

for (String serviceAddress : serviceAddresses) {
XmrTxProofModel model = new XmrTxProofModel(trade, serviceAddress, autoConfirmSettings);
XmrTxProofRequest request = new XmrTxProofRequest(httpClient, model);
XmrTxProofRequest request = new XmrTxProofRequest(socks5ProxyProvider, model);

log.info("{} created", request);
requests.add(request);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@
import bisq.core.trade.TradeManager;
import bisq.core.trade.closed.ClosedTradableManager;
import bisq.core.trade.failed.FailedTradesManager;
import bisq.core.trade.txproof.AssetTxProofHttpClient;
import bisq.core.trade.txproof.AssetTxProofResult;
import bisq.core.trade.txproof.AssetTxProofService;
import bisq.core.user.AutoConfirmSettings;
import bisq.core.user.Preferences;

import bisq.network.Socks5ProxyProvider;
import bisq.network.p2p.BootstrapListener;
import bisq.network.p2p.P2PService;

Expand Down Expand Up @@ -76,7 +76,7 @@ public class XmrTxProofService implements AssetTxProofService {
private final RefundManager refundManager;
private final P2PService p2PService;
private final WalletsSetup walletsSetup;
private final AssetTxProofHttpClient httpClient;
private final Socks5ProxyProvider socks5ProxyProvider;
private final Map<String, XmrTxProofRequestsPerTrade> servicesByTradeId = new HashMap<>();
private AutoConfirmSettings autoConfirmSettings;
private Map<String, ChangeListener<Trade.State>> tradeStateListenerMap = new HashMap<>();
Expand All @@ -101,7 +101,7 @@ public XmrTxProofService(FilterManager filterManager,
RefundManager refundManager,
P2PService p2PService,
WalletsSetup walletsSetup,
AssetTxProofHttpClient httpClient) {
Socks5ProxyProvider socks5ProxyProvider) {
this.filterManager = filterManager;
this.preferences = preferences;
this.tradeManager = tradeManager;
Expand All @@ -111,7 +111,7 @@ public XmrTxProofService(FilterManager filterManager,
this.refundManager = refundManager;
this.p2PService = p2PService;
this.walletsSetup = walletsSetup;
this.httpClient = httpClient;
this.socks5ProxyProvider = socks5ProxyProvider;
}


Expand Down Expand Up @@ -247,7 +247,7 @@ private void startRequestsIfValid(SellerTrade trade) {
}

private void startRequests(SellerTrade trade) {
XmrTxProofRequestsPerTrade service = new XmrTxProofRequestsPerTrade(httpClient,
XmrTxProofRequestsPerTrade service = new XmrTxProofRequestsPerTrade(socks5ProxyProvider,
trade,
autoConfirmSettings,
mediationManager,
Expand Down

0 comments on commit ee8e931

Please sign in to comment.