package com.yami.trading.huobi.websocket.client;
|
|
import java.util.List;
|
|
import com.yami.trading.huobi.websocket.client.req.account.*;
|
import com.yami.trading.huobi.websocket.client.req.trade.SubOrderUpdateV2Request;
|
import com.yami.trading.huobi.websocket.client.req.trade.SubTradeClearingRequest;
|
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.account.*;
|
import com.yami.trading.huobi.websocket.model.subuser.SubUserState;
|
import com.yami.trading.huobi.websocket.model.trade.OrderUpdateV2Event;
|
import com.yami.trading.huobi.websocket.model.trade.TradeClearingEvent;
|
import com.yami.trading.huobi.websocket.service.huobi.HuobiAccountService;
|
import com.yami.trading.huobi.websocket.utils.ResponseCallback;
|
|
public interface AccountClient {
|
|
/**
|
* Get User Account List
|
* @return
|
*/
|
List<Account> getAccounts();
|
|
/**
|
* Get User Account Balance
|
* @param request
|
* @return
|
*/
|
AccountBalance getAccountBalance(AccountBalanceRequest request);
|
|
List<AccountHistory> getAccountHistory(AccountHistoryRequest request);
|
|
AccountLedgerResult getAccountLedger(AccountLedgerRequest request);
|
|
AccountTransferResult accountTransfer(AccountTransferRequest request);
|
|
AccountFuturesTransferResult accountFuturesTransfer(AccountFuturesTransferRequest request);
|
|
Point getPoint(PointRequest request);
|
|
PointTransferResult pointTransfer(PointTransferRequest request);
|
|
AccountAssetValuationResult accountAssetValuation(AccountAssetValuationRequest request);
|
|
AccountValuationResult accountValuation(AccountValuationRequest request);
|
|
AccountTransferV2Result accountTransferV2(AccountTransferV2Request request);
|
|
UserInfo getAccountUserInfo();
|
|
OverviewInfo getOverviewInfo();
|
|
void feeSwitch(FeeSwitchRequest request);
|
|
void subAccountsUpdate(SubAccountUpdateRequest request, ResponseCallback<AccountUpdateEvent> callback);
|
|
void subOrderUpdateV2(SubOrderUpdateV2Request request, ResponseCallback<OrderUpdateV2Event> callback);
|
|
void subTradeClearing(SubTradeClearingRequest request, ResponseCallback<TradeClearingEvent> callback);
|
|
|
static AccountClient create(Options options) {
|
|
if (options.getExchange().equals(ExchangeEnum.HUOBI)) {
|
return new HuobiAccountService(options);
|
}
|
throw new SDKException(SDKException.INPUT_ERROR, "Unsupport Exchange.");
|
}
|
}
|