package com.yami.trading.huobi.websocket.client;
|
|
import java.util.List;
|
|
import com.yami.trading.huobi.websocket.client.req.margin.*;
|
import com.yami.trading.huobi.websocket.constant.Options;
|
import com.yami.trading.huobi.websocket.constant.enums.ExchangeEnum;
|
import com.yami.trading.huobi.websocket.exception.SDKException;
|
import com.yami.trading.huobi.websocket.model.isolatedmargin.IsolatedMarginAccount;
|
import com.yami.trading.huobi.websocket.model.isolatedmargin.IsolatedMarginLoadOrder;
|
import com.yami.trading.huobi.websocket.model.isolatedmargin.IsolatedMarginSymbolInfo;
|
import com.yami.trading.huobi.websocket.model.isolatedmargin.LeveragePositionLimitResult;
|
import com.yami.trading.huobi.websocket.service.huobi.HuobiIsolatedMarginService;
|
|
public interface IsolatedMarginClient {
|
|
Long transfer(IsolatedMarginTransferRequest request);
|
|
Long applyLoan(IsolatedMarginApplyLoanRequest request);
|
|
Long repayLoan(IsolatedMarginRepayLoanRequest request);
|
|
List<IsolatedMarginLoadOrder> getLoanOrders(IsolatedMarginLoanOrdersRequest request);
|
|
List<IsolatedMarginAccount> getLoanBalance(IsolatedMarginAccountRequest request);
|
|
List<IsolatedMarginSymbolInfo> getLoanInfo(IsolatedMarginLoanInfoRequest request);
|
|
List<LeveragePositionLimitResult> getLeveragePositionLimit(LeveragePositionLimitRequest request);
|
|
static IsolatedMarginClient create(Options options) {
|
|
if (options.getExchange().equals(ExchangeEnum.HUOBI)) {
|
return new HuobiIsolatedMarginService(options);
|
}
|
throw new SDKException(SDKException.INPUT_ERROR, "Unsupport Exchange.");
|
}
|
}
|