mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-28 09:04:36 +01:00
Merge pull request #7397 from alvasw/fix_trade_protocol_filter_version_enforcement
Fix trade protocol filter version enforcement
This commit is contained in:
commit
79017de8d5
10 changed files with 49 additions and 1 deletions
|
@ -266,7 +266,15 @@ public class TradeUtil {
|
|||
} else if (paymentAccountPayload != null && filterManager.arePeersPaymentAccountDataBanned(paymentAccountPayload)) {
|
||||
failed.handleErrorMessage("Other trader is banned by their trading account data.\n" +
|
||||
"paymentAccountPayload=" + paymentAccountPayload.getPaymentDetails());
|
||||
} else if (filterManager.requireUpdateToNewVersionForTrading()) {
|
||||
} else {
|
||||
complete.handleResult();
|
||||
}
|
||||
}
|
||||
|
||||
public static void enforceFilterVersion(FilterManager filterManager,
|
||||
ResultHandler complete,
|
||||
ErrorMessageHandler failed) {
|
||||
if (filterManager.requireUpdateToNewVersionForTrading()) {
|
||||
failed.handleErrorMessage("Your version of Bisq is not compatible for trading anymore. " +
|
||||
"Please update to the latest Bisq version at https://bisq.network/downloads.");
|
||||
} else {
|
||||
|
|
|
@ -27,6 +27,7 @@ import bisq.core.trade.protocol.bisq_v1.messages.PayoutTxPublishedMessage;
|
|||
import bisq.core.trade.protocol.bisq_v1.tasks.ApplyFilter;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.CheckIfDaoStateIsInSync;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.CheckRestrictions;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.EnforceFilterVersion;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.TradeTask;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.buyer.BuyerFinalizesDelayedPayoutTx;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.buyer.BuyerProcessDelayedPayoutTxSignatureRequest;
|
||||
|
@ -73,6 +74,7 @@ public class BuyerAsMakerProtocol extends BuyerProtocol implements MakerProtocol
|
|||
.with(message)
|
||||
.from(peer))
|
||||
.setup(tasks(
|
||||
EnforceFilterVersion.class,
|
||||
CheckIfDaoStateIsInSync.class,
|
||||
MakerProcessesInputsForDepositTxRequest.class,
|
||||
ApplyFilter.class,
|
||||
|
|
|
@ -29,6 +29,7 @@ import bisq.core.trade.protocol.bisq_v1.messages.PayoutTxPublishedMessage;
|
|||
import bisq.core.trade.protocol.bisq_v1.tasks.ApplyFilter;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.CheckIfDaoStateIsInSync;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.CheckRestrictions;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.EnforceFilterVersion;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.TradeTask;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.buyer.BuyerFinalizesDelayedPayoutTx;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.buyer.BuyerProcessDelayedPayoutTxSignatureRequest;
|
||||
|
@ -79,6 +80,7 @@ public class BuyerAsTakerProtocol extends BuyerProtocol implements TakerProtocol
|
|||
expect(phase(Trade.Phase.INIT)
|
||||
.with(TakerEvent.TAKE_OFFER))
|
||||
.setup(tasks(
|
||||
EnforceFilterVersion.class,
|
||||
CheckIfDaoStateIsInSync.class,
|
||||
ApplyFilter.class,
|
||||
CheckRestrictions.class,
|
||||
|
|
|
@ -29,6 +29,7 @@ import bisq.core.trade.protocol.bisq_v1.messages.InputsForDepositTxRequest;
|
|||
import bisq.core.trade.protocol.bisq_v1.tasks.ApplyFilter;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.CheckIfDaoStateIsInSync;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.CheckRestrictions;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.EnforceFilterVersion;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.TradeTask;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.maker.MakerCreateAndSignContract;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.maker.MakerProcessesInputsForDepositTxRequest;
|
||||
|
@ -75,6 +76,7 @@ public class SellerAsMakerProtocol extends SellerProtocol implements MakerProtoc
|
|||
.with(message)
|
||||
.from(peer))
|
||||
.setup(tasks(
|
||||
EnforceFilterVersion.class,
|
||||
CheckIfDaoStateIsInSync.class,
|
||||
MaybeCreateSubAccount.class,
|
||||
MakerProcessesInputsForDepositTxRequest.class,
|
||||
|
|
|
@ -28,6 +28,7 @@ import bisq.core.trade.protocol.bisq_v1.messages.InputsForDepositTxResponse;
|
|||
import bisq.core.trade.protocol.bisq_v1.tasks.ApplyFilter;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.CheckIfDaoStateIsInSync;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.CheckRestrictions;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.EnforceFilterVersion;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.TradeTask;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.seller.MaybeCreateSubAccount;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.seller.SellerCreatesDelayedPayoutTx;
|
||||
|
@ -75,6 +76,7 @@ public class SellerAsTakerProtocol extends SellerProtocol implements TakerProtoc
|
|||
.with(TakerEvent.TAKE_OFFER)
|
||||
.from(trade.getTradingPeerNodeAddress()))
|
||||
.setup(tasks(
|
||||
EnforceFilterVersion.class,
|
||||
CheckIfDaoStateIsInSync.class,
|
||||
MaybeCreateSubAccount.class,
|
||||
ApplyFilter.class,
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
package bisq.core.trade.protocol.bisq_v1.tasks;
|
||||
|
||||
import bisq.core.filter.FilterManager;
|
||||
import bisq.core.trade.bisq_v1.TradeUtil;
|
||||
import bisq.core.trade.model.bisq_v1.Trade;
|
||||
|
||||
import bisq.common.taskrunner.TaskRunner;
|
||||
|
||||
public class EnforceFilterVersion extends TradeTask {
|
||||
public EnforceFilterVersion(TaskRunner<Trade> taskHandler, Trade trade) {
|
||||
super(taskHandler, trade);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void run() {
|
||||
try {
|
||||
runInterceptHook();
|
||||
FilterManager filterManager = processModel.getFilterManager();
|
||||
TradeUtil.enforceFilterVersion(filterManager, this::complete, this::failed);
|
||||
} catch (Throwable t) {
|
||||
failed(t);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -21,6 +21,7 @@ package bisq.core.trade.protocol.bsq_swap;
|
|||
import bisq.core.trade.model.bsq_swap.BsqSwapBuyerAsMakerTrade;
|
||||
import bisq.core.trade.protocol.TradeMessage;
|
||||
import bisq.core.trade.protocol.TradeTaskRunner;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.EnforceFilterVersion;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.BsqSwapFinalizeTxRequest;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.BsqSwapRequest;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.SellersBsqSwapRequest;
|
||||
|
@ -59,6 +60,7 @@ public class BsqSwapBuyerAsMakerProtocol extends BsqSwapBuyerProtocol implements
|
|||
.with(request)
|
||||
.from(sender))
|
||||
.setup(tasks(
|
||||
EnforceFilterVersion.class,
|
||||
ApplyFilter.class,
|
||||
ProcessSellersBsqSwapRequest.class,
|
||||
BuyerAsMakerCreatesBsqInputsAndChange.class,
|
||||
|
|
|
@ -22,6 +22,7 @@ import bisq.core.offer.Offer;
|
|||
import bisq.core.trade.model.bsq_swap.BsqSwapBuyerAsTakerTrade;
|
||||
import bisq.core.trade.protocol.TradeMessage;
|
||||
import bisq.core.trade.protocol.TradeTaskRunner;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.EnforceFilterVersion;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.BsqSwapFinalizeTxRequest;
|
||||
import bisq.core.trade.protocol.bsq_swap.tasks.ApplyFilter;
|
||||
import bisq.core.trade.protocol.bsq_swap.tasks.buyer.BuyerPublishesTx;
|
||||
|
@ -56,6 +57,7 @@ public class BsqSwapBuyerAsTakerProtocol extends BsqSwapBuyerProtocol implements
|
|||
.with(TAKE_OFFER)
|
||||
.from(trade.getTradingPeerNodeAddress()))
|
||||
.setup(tasks(
|
||||
EnforceFilterVersion.class,
|
||||
ApplyFilter.class,
|
||||
BuyerAsTakerCreatesBsqInputsAndChange.class,
|
||||
SendBuyersBsqSwapRequest.class)
|
||||
|
|
|
@ -21,6 +21,7 @@ package bisq.core.trade.protocol.bsq_swap;
|
|||
import bisq.core.trade.model.bsq_swap.BsqSwapSellerAsMakerTrade;
|
||||
import bisq.core.trade.protocol.TradeMessage;
|
||||
import bisq.core.trade.protocol.TradeTaskRunner;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.EnforceFilterVersion;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.BsqSwapFinalizedTxMessage;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.BsqSwapRequest;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.BuyersBsqSwapRequest;
|
||||
|
@ -57,6 +58,7 @@ public class BsqSwapSellerAsMakerProtocol extends BsqSwapSellerProtocol implemen
|
|||
.with(request)
|
||||
.from(sender))
|
||||
.setup(tasks(
|
||||
EnforceFilterVersion.class,
|
||||
ApplyFilter.class,
|
||||
ProcessBuyersBsqSwapRequest.class,
|
||||
SellerAsMakerCreatesAndSignsTx.class,
|
||||
|
|
|
@ -22,6 +22,7 @@ import bisq.core.offer.Offer;
|
|||
import bisq.core.trade.model.bsq_swap.BsqSwapSellerAsTakerTrade;
|
||||
import bisq.core.trade.protocol.TradeMessage;
|
||||
import bisq.core.trade.protocol.TradeTaskRunner;
|
||||
import bisq.core.trade.protocol.bisq_v1.tasks.EnforceFilterVersion;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.BsqSwapFinalizedTxMessage;
|
||||
import bisq.core.trade.protocol.bsq_swap.messages.BsqSwapTxInputsMessage;
|
||||
import bisq.core.trade.protocol.bsq_swap.tasks.ApplyFilter;
|
||||
|
@ -57,6 +58,7 @@ public class BsqSwapSellerAsTakerProtocol extends BsqSwapSellerProtocol implemen
|
|||
.with(TAKE_OFFER)
|
||||
.from(trade.getTradingPeerNodeAddress()))
|
||||
.setup(tasks(
|
||||
EnforceFilterVersion.class,
|
||||
ApplyFilter.class,
|
||||
SendSellersBsqSwapRequest.class)
|
||||
.withTimeout(40))
|
||||
|
|
Loading…
Add table
Reference in a new issue