remove mempool service

This commit is contained in:
woodser 2023-07-12 07:05:55 -04:00
parent 0843f27b63
commit a1829ee9f3
10 changed files with 3 additions and 597 deletions

View file

@ -31,7 +31,6 @@ import haveno.core.offer.OfferUtil;
import haveno.core.payment.PaymentAccount;
import haveno.core.payment.PaymentAccountUtil;
import haveno.core.payment.payload.PaymentMethod;
import haveno.core.provider.mempool.MempoolService;
import haveno.core.provider.price.PriceFeedService;
import haveno.core.trade.HavenoUtils;
import haveno.core.trade.TradeManager;
@ -48,13 +47,10 @@ import haveno.desktop.main.offer.offerbook.OfferBook;
import haveno.desktop.main.overlays.popups.Popup;
import haveno.desktop.util.GUIUtil;
import haveno.network.p2p.P2PService;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.ReadOnlyObjectProperty;
import javafx.beans.property.SimpleIntegerProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.collections.ObservableList;
import lombok.Getter;
import org.jetbrains.annotations.NotNull;
import javax.annotation.Nullable;
@ -73,7 +69,6 @@ class TakeOfferDataModel extends OfferDataModel {
private final TradeManager tradeManager;
private final OfferBook offerBook;
private final User user;
private final MempoolService mempoolService;
private final FilterManager filterManager;
final Preferences preferences;
private final PriceFeedService priceFeedService;
@ -94,10 +89,6 @@ class TakeOfferDataModel extends OfferDataModel {
private PaymentAccount paymentAccount;
private boolean isTabSelected;
Price tradePrice;
@Getter
protected final IntegerProperty mempoolStatus = new SimpleIntegerProperty();
@Getter
protected String mempoolStatusText;
///////////////////////////////////////////////////////////////////////////////////////////
@ -111,7 +102,6 @@ class TakeOfferDataModel extends OfferDataModel {
OfferUtil offerUtil,
XmrWalletService xmrWalletService,
User user,
MempoolService mempoolService,
FilterManager filterManager,
Preferences preferences,
PriceFeedService priceFeedService,
@ -124,7 +114,6 @@ class TakeOfferDataModel extends OfferDataModel {
this.tradeManager = tradeManager;
this.offerBook = offerBook;
this.user = user;
this.mempoolService = mempoolService;
this.filterManager = filterManager;
this.preferences = preferences;
this.priceFeedService = priceFeedService;
@ -192,15 +181,6 @@ class TakeOfferDataModel extends OfferDataModel {
getBuyerSecurityDeposit() :
getSellerSecurityDeposit();
mempoolStatus.setValue(-1);
mempoolService.validateOfferMakerTx(offer.getOfferPayload(), (txValidator -> {
mempoolStatus.setValue(txValidator.isFail() ? 0 : 1);
if (txValidator.isFail()) {
mempoolStatusText = txValidator.toString();
log.info("Mempool check of OfferFeeTxId returned errors: [{}]", mempoolStatusText);
}
}));
calculateVolume();
calculateTotalToPay();

View file

@ -813,20 +813,8 @@ public class TakeOfferView extends ActivatableViewAndModel<AnchorPane, TakeOffer
}
private void nextStepCheckMakerTx() {
// the tx validation check has had plenty of time to complete, but if for some reason it has not returned
// we continue anyway since the check is not crucial.
// note, it would be great if there was a real tri-state boolean we could use here, instead of -1, 0, and 1
int result = model.dataModel.mempoolStatus.get();
if (result == 0) {
new Popup().warning(Res.get("popup.warning.makerTxInvalid") + model.dataModel.getMempoolStatusText())
.onClose(() -> cancelButton1.fire())
.show();
} else {
if (result == -1) {
log.warn("Fee check has not returned a result yet. We optimistically assume all is ok and continue.");
}
showNextStepAfterAmountIsSet();
}
// TODO: pre-check if open offer's reserve tx is failed or double spend seen?
showNextStepAfterAmountIsSet();
}
private void showNextStepAfterAmountIsSet() {

View file

@ -116,7 +116,6 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
private ChangeListener<Boolean> isWalletFundedListener;
private ChangeListener<Trade.State> tradeStateListener;
private ChangeListener<Offer.State> offerStateListener;
private ChangeListener<Number> getMempoolStatusListener;
private ConnectionListener connectionListener;
// private Subscription isFeeSufficientSubscription;
private Runnable takeOfferResultHandler;
@ -449,7 +448,6 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
boolean inputDataValid = isBtcInputValid(amount.get()).isValid
&& dataModel.isMinAmountLessOrEqualAmount()
&& !dataModel.isAmountLargerThanOfferAmount()
&& dataModel.mempoolStatus.get() >= 0 // TODO do we want to block in case response is slow (tor can be slow)?
&& isOfferAvailable.get()
&& !dataModel.wouldCreateDustForMaker();
isNextButtonDisabled.set(!inputDataValid);
@ -491,12 +489,6 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
tradeStateListener = (ov, oldValue, newValue) -> applyTradeState();
offerStateListener = (ov, oldValue, newValue) -> applyOfferState(newValue);
getMempoolStatusListener = (observable, oldValue, newValue) -> {
if (newValue.longValue() >= 0) {
updateButtonDisableState();
}
};
connectionListener = new ConnectionListener() {
@Override
public void onDisconnect(CloseConnectionReason closeConnectionReason, Connection connection) {
@ -544,7 +536,6 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
dataModel.getAmount().addListener(amountListener);
dataModel.getIsXmrWalletFunded().addListener(isWalletFundedListener);
dataModel.getMempoolStatus().addListener(getMempoolStatusListener);
p2PService.getNetworkNode().addConnectionListener(connectionListener);
/* isFeeSufficientSubscription = EasyBind.subscribe(dataModel.isFeeFromFundingTxSufficient, newValue -> {
updateButtonDisableState();
@ -557,7 +548,6 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
// Binding with Bindings.createObjectBinding does not work because of bi-directional binding
dataModel.getAmount().removeListener(amountListener);
dataModel.getMempoolStatus().removeListener(getMempoolStatusListener);
dataModel.getIsXmrWalletFunded().removeListener(isWalletFundedListener);
if (offer != null) {
@ -717,10 +707,6 @@ class TakeOfferViewModel extends ActivatableWithDataModel<TakeOfferDataModel> im
offer.setErrorMessage(null);
}
private CoinFormatter getFormatterForTakerFee() {
return xmrFormatter;
}
public Callback<ListView<PaymentAccount>, ListCell<PaymentAccount>> getPaymentAccountListCellFactory(
ComboBox<PaymentAccount> paymentAccountsComboBox) {
return GUIUtil.getPaymentAccountListCellFactory(paymentAccountsComboBox, accountAgeWitnessService);

View file

@ -24,7 +24,6 @@ import haveno.core.account.witness.AccountAgeWitnessService;
import haveno.core.network.MessageState;
import haveno.core.offer.Offer;
import haveno.core.offer.OfferUtil;
import haveno.core.provider.mempool.MempoolService;
import haveno.core.trade.ArbitratorTrade;
import haveno.core.trade.BuyerTrade;
import haveno.core.trade.ClosedTradableManager;
@ -91,7 +90,6 @@ public class PendingTradesViewModel extends ActivatableWithDataModel<PendingTrad
public final BtcAddressValidator btcAddressValidator;
final AccountAgeWitnessService accountAgeWitnessService;
public final P2PService p2PService;
private final MempoolService mempoolService;
private final ClosedTradableManager closedTradableManager;
private final OfferUtil offerUtil;
private final TradeUtil tradeUtil;
@ -121,7 +119,6 @@ public class PendingTradesViewModel extends ActivatableWithDataModel<PendingTrad
@Named(FormattingUtils.BTC_FORMATTER_KEY) CoinFormatter btcFormatter,
BtcAddressValidator btcAddressValidator,
P2PService p2PService,
MempoolService mempoolService,
ClosedTradableManager closedTradableManager,
OfferUtil offerUtil,
TradeUtil tradeUtil,
@ -134,7 +131,6 @@ public class PendingTradesViewModel extends ActivatableWithDataModel<PendingTrad
this.btcFormatter = btcFormatter;
this.btcAddressValidator = btcAddressValidator;
this.p2PService = p2PService;
this.mempoolService = mempoolService;
this.closedTradableManager = closedTradableManager;
this.offerUtil = offerUtil;
this.tradeUtil = tradeUtil;