Implement EnforceFilterVersion TradeTask

The EnforceFilterVersion (TradeTask) enforces that both traders run the
required minimum version.
This commit is contained in:
Alva Swanson 2025-02-18 21:43:29 +00:00
parent 631d0f9222
commit 54a9fed020
No known key found for this signature in database
GPG key ID: 004760E77F753090
2 changed files with 35 additions and 0 deletions

View file

@ -273,4 +273,15 @@ public class TradeUtil {
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 {
complete.handleResult();
}
}
}

View file

@ -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);
}
}
}