You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
4.9 KiB
116 lines
4.9 KiB
from huobi.utils import *
|
|
from huobi.constant import *
|
|
from huobi.utils.input_checker import check_in_list
|
|
|
|
|
|
class SubuserClient(object):
|
|
def __init__(self, **kwargs):
|
|
"""
|
|
Create the request client instance.
|
|
:param kwargs: The option of request connection.
|
|
api_key: The public key applied from Huobi.
|
|
secret_key: The private key applied from Huobi.
|
|
url: The URL name like "https://api.huobi.pro".
|
|
init_log: Init logger, default is False, True will init logger handler
|
|
"""
|
|
self.__kwargs = kwargs
|
|
|
|
def post_create_subuser(self, user_list):
|
|
check_should_not_none(user_list, 'userList')
|
|
|
|
params = user_list
|
|
from huobi.service.subuser.post_create_subuser import PostSubuserCreationService
|
|
return PostSubuserCreationService(params).request(**self.__kwargs)
|
|
|
|
def post_set_tradable_market(self, sub_uids, account_type: 'SubuserTradePrivilegeType',
|
|
activation: 'SubUserTradeStatus'):
|
|
check_should_not_none(sub_uids, 'subUids')
|
|
check_should_not_none(account_type, 'accountType')
|
|
check_should_not_none(activation, 'activation')
|
|
|
|
check_in_list(account_type,
|
|
[SubuserTradePrivilegeType.MARGIN, SubuserTradePrivilegeType.SUPER_MARGIN], "accountType")
|
|
check_in_list(activation, [SubUserTradeStatus.ACTIVATED, SubUserTradeStatus.DEACTIVATED], "activation")
|
|
|
|
params = {
|
|
'subUids': sub_uids,
|
|
'accountType': account_type,
|
|
'activation': activation
|
|
}
|
|
from huobi.service.subuser.post_tradable_market import PostTradableMarketService
|
|
return PostTradableMarketService(params).request(**self.__kwargs)
|
|
|
|
def post_set_subuser_transferability(self, sub_uids: 'str', transferrable: 'bool',
|
|
account_type: 'AccountType' = AccountType.SPOT):
|
|
check_should_not_none(sub_uids, 'subUids')
|
|
check_should_not_none(transferrable, 'transferrable')
|
|
check_in_list(account_type, [AccountType.SPOT], 'accountType')
|
|
|
|
params = {
|
|
"subUids": sub_uids,
|
|
"accountType": account_type,
|
|
"transferrable": transferrable
|
|
}
|
|
from huobi.service.subuser.post_set_transferability import PostSetSubuserTransferability
|
|
return PostSetSubuserTransferability(params).request(**self.__kwargs)
|
|
|
|
def post_subuser_apikey_generate(self, otp_token: 'str', sub_uid: 'int', note: 'str', permission: 'bool',
|
|
ip_addresses: 'str' = None):
|
|
check_should_not_none(otp_token, 'otpToken')
|
|
check_should_not_none(sub_uid, 'subUid')
|
|
check_should_not_none(note, 'note')
|
|
check_should_not_none(permission, 'permission')
|
|
# check_in_list(permission, [AccountType.SPOT], 'accountType')
|
|
|
|
params = {
|
|
"otpToken": otp_token,
|
|
"subUid": sub_uid,
|
|
"note": note,
|
|
"permission": permission,
|
|
"ipAddresses": ip_addresses
|
|
}
|
|
from huobi.service.subuser.post_subuser_apikey_generation import PostSubuserApikeyGenerationService
|
|
return PostSubuserApikeyGenerationService(params).request(**self.__kwargs)
|
|
|
|
def get_user_apikey_info(self, uid: 'str', access_key: 'str' = None):
|
|
check_should_not_none(uid, 'uid')
|
|
|
|
params = {
|
|
"uid": uid,
|
|
"accessKey": access_key
|
|
}
|
|
from huobi.service.subuser.get_user_apikey_info import GetUserApikeyInfoService
|
|
return GetUserApikeyInfoService(params).request(**self.__kwargs)
|
|
|
|
def post_subuser_apikey_modification(self, sub_uid: 'str', access_key: 'str', note: 'str' = None,
|
|
permission: 'str' = None, ip_addresses: 'str' = None):
|
|
check_should_not_none(sub_uid, 'subUid')
|
|
check_should_not_none(access_key, 'accessKey')
|
|
|
|
params = {
|
|
"subUid": sub_uid,
|
|
"accessKey": access_key,
|
|
"note": note,
|
|
"permission": permission,
|
|
"ipAddresses": ip_addresses
|
|
}
|
|
from huobi.service.subuser.post_subuser_apikey_modification import PostSubuserApikeyModificationService
|
|
return PostSubuserApikeyModificationService(params).request(**self.__kwargs)
|
|
|
|
def post_subuser_apikey_deletion(self, sub_uid: 'str', access_key: 'str'):
|
|
check_should_not_none(sub_uid, 'subUid')
|
|
check_should_not_none(access_key, 'accessKey')
|
|
|
|
params = {
|
|
"subUid": sub_uid,
|
|
"accessKey": access_key
|
|
}
|
|
from huobi.service.subuser.post_subuser_apikey_deletion import PostSubuserApikeyDeletionService
|
|
return PostSubuserApikeyDeletionService(params).request(**self.__kwargs)
|
|
|
|
def get_uid(self):
|
|
params = {
|
|
}
|
|
from huobi.service.subuser.get_uid import GetUidService
|
|
return GetUidService(params).request(**self.__kwargs)
|