mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-24 07:07:43 +01:00
Refactor core.api trade service implemenentations for BSQ swaps
A minor refactoring to support serving TradeModel instances to CLI. For example, the CLI 'gettrade' command must return a v1 Trade or BSQ swap trade.
This commit is contained in:
parent
f88c1513ec
commit
3aae052813
2 changed files with 16 additions and 24 deletions
|
@ -26,6 +26,7 @@ import bisq.core.offer.OpenOffer;
|
|||
import bisq.core.payment.PaymentAccount;
|
||||
import bisq.core.payment.payload.PaymentMethod;
|
||||
import bisq.core.trade.bisq_v1.TradeResultHandler;
|
||||
import bisq.core.trade.model.TradeModel;
|
||||
import bisq.core.trade.model.bisq_v1.Trade;
|
||||
import bisq.core.trade.model.bsq_swap.BsqSwapTrade;
|
||||
import bisq.core.trade.statistics.TradeStatistics3;
|
||||
|
@ -276,14 +277,10 @@ public class CoreApi {
|
|||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
public void takeBsqSwapOffer(String offerId,
|
||||
String paymentAccountId,
|
||||
String takerFeeCurrencyCode,
|
||||
TradeResultHandler<BsqSwapTrade> tradeResultHandler,
|
||||
ErrorMessageHandler errorMessageHandler) {
|
||||
Offer bsqSwapOffer = coreOffersService.getBsqSwapOffer(offerId);
|
||||
coreTradesService.takeBsqSwapOffer(bsqSwapOffer,
|
||||
paymentAccountId,
|
||||
takerFeeCurrencyCode,
|
||||
tradeResultHandler,
|
||||
errorMessageHandler);
|
||||
}
|
||||
|
@ -317,22 +314,14 @@ public class CoreApi {
|
|||
coreTradesService.withdrawFunds(tradeId, address, memo);
|
||||
}
|
||||
|
||||
public BsqSwapTrade getBsqSwapTrade(String tradeId) {
|
||||
return coreTradesService.getBsqSwapTrade(tradeId);
|
||||
}
|
||||
|
||||
public Trade getTrade(String tradeId) {
|
||||
return coreTradesService.getTrade(tradeId);
|
||||
public TradeModel getTradeModel(String tradeId) {
|
||||
return coreTradesService.getTradeModel(tradeId);
|
||||
}
|
||||
|
||||
public String getTradeRole(String tradeId) {
|
||||
return coreTradesService.getTradeRole(tradeId);
|
||||
}
|
||||
|
||||
public String getBsqSwapTradeRole(String tradeId) {
|
||||
return coreTradesService.getBsqSwapTradeRole(tradeId);
|
||||
}
|
||||
|
||||
public String getBsqSwapTradeRole(BsqSwapTrade bsqSwapTrade) {
|
||||
return coreTradesService.getBsqSwapTradeRole(bsqSwapTrade);
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ import bisq.core.trade.TradeManager;
|
|||
import bisq.core.trade.bisq_v1.TradeResultHandler;
|
||||
import bisq.core.trade.bisq_v1.TradeUtil;
|
||||
import bisq.core.trade.model.Tradable;
|
||||
import bisq.core.trade.model.TradeModel;
|
||||
import bisq.core.trade.model.bisq_v1.Trade;
|
||||
import bisq.core.trade.model.bsq_swap.BsqSwapTrade;
|
||||
import bisq.core.trade.protocol.bisq_v1.BuyerProtocol;
|
||||
|
@ -91,18 +92,14 @@ class CoreTradesService {
|
|||
this.user = user;
|
||||
}
|
||||
|
||||
// todo we need to pass the intended trade amount
|
||||
// TODO We need to pass the intended trade amount, not default to the maximum.
|
||||
void takeBsqSwapOffer(Offer offer,
|
||||
String paymentAccountId,
|
||||
String takerFeeCurrencyCode,
|
||||
TradeResultHandler<BsqSwapTrade> tradeResultHandler,
|
||||
ErrorMessageHandler errorMessageHandler) {
|
||||
coreWalletsService.verifyWalletsAreAvailable();
|
||||
coreWalletsService.verifyEncryptedWalletIsUnlocked();
|
||||
|
||||
bsqSwapTakeOfferModel.initWithData(offer);
|
||||
|
||||
//todo use the intended trade amount
|
||||
bsqSwapTakeOfferModel.applyAmount(offer.getAmount());
|
||||
|
||||
log.info("Initiating take {} offer, {}",
|
||||
|
@ -114,6 +111,7 @@ class CoreTradesService {
|
|||
coreContext.isApiUser());
|
||||
}
|
||||
|
||||
// TODO We need to pass the intended trade amount, not default to the maximum.
|
||||
void takeOffer(Offer offer,
|
||||
String paymentAccountId,
|
||||
String takerFeeCurrencyCode,
|
||||
|
@ -234,17 +232,22 @@ class CoreTradesService {
|
|||
});
|
||||
}
|
||||
|
||||
BsqSwapTrade getBsqSwapTrade(String tradeId) {
|
||||
TradeModel getTradeModel(String tradeId) {
|
||||
coreWalletsService.verifyWalletsAreAvailable();
|
||||
coreWalletsService.verifyEncryptedWalletIsUnlocked();
|
||||
|
||||
Optional<Trade> openTrade = getOpenTrade(tradeId);
|
||||
if (openTrade.isPresent())
|
||||
return openTrade.get();
|
||||
|
||||
Optional<Trade> closedTrade = getClosedTrade(tradeId);
|
||||
if (closedTrade.isPresent())
|
||||
return closedTrade.get();
|
||||
|
||||
return tradeManager.findBsqSwapTradeById(tradeId).orElseThrow(() ->
|
||||
new IllegalArgumentException(format("trade with id '%s' not found", tradeId)));
|
||||
}
|
||||
|
||||
String getBsqSwapTradeRole(String tradeId) {
|
||||
return getBsqSwapTradeRole(getBsqSwapTrade(tradeId));
|
||||
}
|
||||
|
||||
String getBsqSwapTradeRole(BsqSwapTrade bsqSwapTrade) {
|
||||
coreWalletsService.verifyWalletsAreAvailable();
|
||||
coreWalletsService.verifyEncryptedWalletIsUnlocked();
|
||||
|
|
Loading…
Add table
Reference in a new issue