package com.yami.trading.huobi.websocket.client;
|
|
import java.util.List;
|
|
import com.yami.trading.huobi.websocket.client.req.account.TransferSubuserRequest;
|
import com.yami.trading.huobi.websocket.client.req.subuser.*;
|
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.AccountBalance;
|
import com.yami.trading.huobi.websocket.model.account.SubuserAggregateBalance;
|
import com.yami.trading.huobi.websocket.model.subuser.GetApiKeyListResult;
|
import com.yami.trading.huobi.websocket.model.subuser.GetSubUserAccountListResult;
|
import com.yami.trading.huobi.websocket.model.subuser.GetSubUserDepositResult;
|
import com.yami.trading.huobi.websocket.model.subuser.GetSubUserListResult;
|
import com.yami.trading.huobi.websocket.model.subuser.SubUserApiKeyGenerationResult;
|
import com.yami.trading.huobi.websocket.model.subuser.SubUserApiKeyModificationResult;
|
import com.yami.trading.huobi.websocket.model.subuser.SubUserCreationInfo;
|
import com.yami.trading.huobi.websocket.model.subuser.SubUserManagementResult;
|
import com.yami.trading.huobi.websocket.model.subuser.SubUserState;
|
import com.yami.trading.huobi.websocket.model.subuser.SubUserTradableMarketResult;
|
import com.yami.trading.huobi.websocket.model.subuser.SubUserTransferabilityResult;
|
import com.yami.trading.huobi.websocket.model.wallet.DeductModeResult;
|
import com.yami.trading.huobi.websocket.model.wallet.DepositAddress;
|
import com.yami.trading.huobi.websocket.service.huobi.HuobiSubUserService;
|
|
public interface SubUserClient {
|
|
|
List<SubUserCreationInfo> subuserCreation(SubUserCreationRequest request);
|
|
|
GetSubUserListResult getSubUserList(GetSubUserListRequest request);
|
|
SubUserState getSubuserState(Long subUid);
|
|
SubUserManagementResult subuserManagement(SubUserManagementRequest request);
|
|
GetSubUserAccountListResult getSubuserAccountList(GetSubUserAccountListRequest request);
|
|
SubUserTransferabilityResult subuserTransferability(SubUserTransferabilityRequest request);
|
|
SubUserTradableMarketResult subuserTradableMarket(SubUserTradableMarketRequest request);
|
|
SubUserApiKeyGenerationResult subuserApiKeyGeneration(SubUserApiKeyGenerationRequest request);
|
|
SubUserApiKeyModificationResult subuserApiKeyModification(SubUserApiKeyModificationRequest request);
|
|
void subuserApiKeyDeletion(SubUserApiKeyDeletionRequest request);
|
|
GetApiKeyListResult getApiKeyList(GetApiKeyListRequest request);
|
|
List<DepositAddress> getSubUserDepositAddress(Long subUid, String currency);
|
|
GetSubUserDepositResult getSubUserDeposit(GetSubUserDepositRequest request);
|
/**
|
* Transfer to sub-user
|
* @param request
|
* @return
|
*/
|
long transferSubuser(TransferSubuserRequest request);
|
|
/**
|
* Get sub-user's account balance
|
* @param subuserId
|
* @return
|
*/
|
List<AccountBalance> getSubuserAccountBalance(Long subuserId);
|
|
/**
|
* Get the aggregated balance of all sub-accounts of the current user.
|
* @return
|
*/
|
List<SubuserAggregateBalance> getSubuserAggregateBalance();
|
|
List<DeductModeResult> setDeductMode(DeductModeRequest request);
|
|
public boolean setCredit(CreditRequest request);
|
|
static SubUserClient create(Options options) {
|
|
if (options.getExchange().equals(ExchangeEnum.HUOBI)) {
|
return new HuobiSubUserService(options);
|
}
|
throw new SDKException(SDKException.INPUT_ERROR, "Unsupport Exchange.");
|
}
|
|
long getUid();
|
}
|