ipo
zyy
2026-01-09 7d9bf660d08d1b39af670e54dedf784e32080dc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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();
}