# coding: utf-8 """ Gate API v4 Welcome to Gate.io API APIv4 provides spot, margin and futures trading operations. There are public APIs to retrieve the real-time market statistics, and private APIs which needs authentication to trade on user's behalf. # noqa: E501 Contact: support@mail.gate.io Generated by: https://openapi-generator.tech """ from __future__ import absolute_import import re # noqa: F401 # python 2 and python 3 compatibility library import six from gate_api.api_client import ApiClient from gate_api.exceptions import ApiTypeError, ApiValueError # noqa: F401 class MarginApi(object): """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech Do not edit the class manually. """ def __init__(self, api_client=None): if api_client is None: api_client = ApiClient() self.api_client = api_client def list_margin_currency_pairs(self, **kwargs): # noqa: E501 """List all supported currency pairs supported in margin trading # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_margin_currency_pairs(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.MarginCurrencyPair] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_margin_currency_pairs_with_http_info(**kwargs) # noqa: E501 def list_margin_currency_pairs_with_http_info(self, **kwargs): # noqa: E501 """List all supported currency pairs supported in margin trading # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_margin_currency_pairs_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.MarginCurrencyPair], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = [] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError( "Got an unexpected keyword argument '%s'" " to method list_margin_currency_pairs" % k ) local_var_params[k] = v del local_var_params['kwargs'] collection_formats = {} path_params = {} query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/margin/currency_pairs', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[MarginCurrencyPair]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_margin_currency_pair(self, currency_pair, **kwargs): # noqa: E501 """Query one single margin currency pair # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_margin_currency_pair(currency_pair, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency_pair: Margin currency pair (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.MarginCurrencyPair :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_margin_currency_pair_with_http_info(currency_pair, **kwargs) # noqa: E501 def get_margin_currency_pair_with_http_info(self, currency_pair, **kwargs): # noqa: E501 """Query one single margin currency pair # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_margin_currency_pair_with_http_info(currency_pair, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency_pair: Margin currency pair (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.MarginCurrencyPair, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency_pair'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_margin_currency_pair" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'currency_pair' is set if self.api_client.client_side_validation and ( 'currency_pair' not in local_var_params or local_var_params['currency_pair'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `currency_pair` when calling `get_margin_currency_pair`" ) # noqa: E501 collection_formats = {} path_params = {} if 'currency_pair' in local_var_params: path_params['currency_pair'] = local_var_params['currency_pair'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/margin/currency_pairs/{currency_pair}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='MarginCurrencyPair', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_funding_book(self, currency, **kwargs): # noqa: E501 """Order book of lending loans # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_funding_book(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.FundingBookItem] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_funding_book_with_http_info(currency, **kwargs) # noqa: E501 def list_funding_book_with_http_info(self, currency, **kwargs): # noqa: E501 """Order book of lending loans # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_funding_book_with_http_info(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.FundingBookItem], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_funding_book" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'currency' is set if self.api_client.client_side_validation and ( 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `currency` when calling `list_funding_book`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/margin/funding_book', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[FundingBookItem]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_margin_accounts(self, **kwargs): # noqa: E501 """Margin account list # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_margin_accounts(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency_pair: Currency pair :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.MarginAccount] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_margin_accounts_with_http_info(**kwargs) # noqa: E501 def list_margin_accounts_with_http_info(self, **kwargs): # noqa: E501 """Margin account list # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_margin_accounts_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency_pair: Currency pair :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.MarginAccount], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency_pair'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_margin_accounts" % k) local_var_params[k] = v del local_var_params['kwargs'] collection_formats = {} path_params = {} query_params = [] if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501 query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/accounts', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[MarginAccount]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_margin_account_book(self, **kwargs): # noqa: E501 """List margin account balance change history # noqa: E501 Only transferals from and to margin account are provided for now. Time range allows 30 days at most # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_margin_account_book(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: List records related to specified currency only. If specified, `currency_pair` is also required. :param str currency_pair: List records related to specified currency pair. Used in combination with `currency`. Ignored if `currency` is not provided :param int _from: Start timestamp of the query :param int to: Time range ending, default to current time :param int page: Page number :param int limit: Maximum number of records to be returned in a single list :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.MarginAccountBook] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_margin_account_book_with_http_info(**kwargs) # noqa: E501 def list_margin_account_book_with_http_info(self, **kwargs): # noqa: E501 """List margin account balance change history # noqa: E501 Only transferals from and to margin account are provided for now. Time range allows 30 days at most # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_margin_account_book_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: List records related to specified currency only. If specified, `currency_pair` is also required. :param str currency_pair: List records related to specified currency pair. Used in combination with `currency`. Ignored if `currency` is not provided :param int _from: Start timestamp of the query :param int to: Time range ending, default to current time :param int page: Page number :param int limit: Maximum number of records to be returned in a single list :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.MarginAccountBook], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency', 'currency_pair', '_from', 'to', 'page', 'limit'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_margin_account_book" % k) local_var_params[k] = v del local_var_params['kwargs'] if ( self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `page` when calling `list_margin_account_book`, must be a value greater than or equal to `1`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 500 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_margin_account_book`, must be a value less than or equal to `500`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_margin_account_book`, must be a value greater than or equal to `1`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501 query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501 if '_from' in local_var_params and local_var_params['_from'] is not None: # noqa: E501 query_params.append(('from', local_var_params['_from'])) # noqa: E501 if 'to' in local_var_params and local_var_params['to'] is not None: # noqa: E501 query_params.append(('to', local_var_params['to'])) # noqa: E501 if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501 query_params.append(('page', local_var_params['page'])) # noqa: E501 if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501 query_params.append(('limit', local_var_params['limit'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/account_book', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[MarginAccountBook]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_funding_accounts(self, **kwargs): # noqa: E501 """Funding account list # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_funding_accounts(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.FundingAccount] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_funding_accounts_with_http_info(**kwargs) # noqa: E501 def list_funding_accounts_with_http_info(self, **kwargs): # noqa: E501 """Funding account list # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_funding_accounts_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.FundingAccount], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_funding_accounts" % k) local_var_params[k] = v del local_var_params['kwargs'] collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/funding_accounts', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[FundingAccount]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_loans(self, status, side, **kwargs): # noqa: E501 """List all loans # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_loans(status, side, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str status: Loan status (required) :param str side: Lend or borrow (required) :param str currency: Retrieve data of the specified currency :param str currency_pair: Currency pair :param str sort_by: Specify which field is used to sort. `create_time` or `rate` is supported. Default to `create_time` :param bool reverse_sort: Whether to sort in descending order. Default to `true` :param int page: Page number :param int limit: Maximum number of records to be returned in a single list :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.Loan] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_loans_with_http_info(status, side, **kwargs) # noqa: E501 def list_loans_with_http_info(self, status, side, **kwargs): # noqa: E501 """List all loans # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_loans_with_http_info(status, side, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str status: Loan status (required) :param str side: Lend or borrow (required) :param str currency: Retrieve data of the specified currency :param str currency_pair: Currency pair :param str sort_by: Specify which field is used to sort. `create_time` or `rate` is supported. Default to `create_time` :param bool reverse_sort: Whether to sort in descending order. Default to `true` :param int page: Page number :param int limit: Maximum number of records to be returned in a single list :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.Loan], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['status', 'side', 'currency', 'currency_pair', 'sort_by', 'reverse_sort', 'page', 'limit'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_loans" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'status' is set if self.api_client.client_side_validation and ( 'status' not in local_var_params or local_var_params['status'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `status` when calling `list_loans`") # noqa: E501 # verify the required parameter 'side' is set if self.api_client.client_side_validation and ( 'side' not in local_var_params or local_var_params['side'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `side` when calling `list_loans`") # noqa: E501 if ( self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `page` when calling `list_loans`, must be a value greater than or equal to `1`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_loans`, must be a value less than or equal to `1000`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_loans`, must be a value greater than or equal to `1`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501 query_params.append(('status', local_var_params['status'])) # noqa: E501 if 'side' in local_var_params and local_var_params['side'] is not None: # noqa: E501 query_params.append(('side', local_var_params['side'])) # noqa: E501 if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501 query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501 if 'sort_by' in local_var_params and local_var_params['sort_by'] is not None: # noqa: E501 query_params.append(('sort_by', local_var_params['sort_by'])) # noqa: E501 if 'reverse_sort' in local_var_params and local_var_params['reverse_sort'] is not None: # noqa: E501 query_params.append(('reverse_sort', local_var_params['reverse_sort'])) # noqa: E501 if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501 query_params.append(('page', local_var_params['page'])) # noqa: E501 if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501 query_params.append(('limit', local_var_params['limit'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loans', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[Loan]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def create_loan(self, loan, **kwargs): # noqa: E501 """Lend or borrow # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.create_loan(loan, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param Loan loan: (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.Loan :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.create_loan_with_http_info(loan, **kwargs) # noqa: E501 def create_loan_with_http_info(self, loan, **kwargs): # noqa: E501 """Lend or borrow # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.create_loan_with_http_info(loan, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param Loan loan: (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method create_loan" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan' is set if self.api_client.client_side_validation and ( 'loan' not in local_var_params or local_var_params['loan'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `loan` when calling `create_loan`") # noqa: E501 collection_formats = {} path_params = {} query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None if 'loan' in local_var_params: body_params = local_var_params['loan'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # HTTP header `Content-Type` header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 ['application/json'] ) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loans', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='Loan', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def merge_loans(self, currency, ids, **kwargs): # noqa: E501 """Merge multiple lending loans # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.merge_loans(currency, ids, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param str ids: A comma-separated (,) list of IDs of the loans lent. Maximum of 20 IDs are allowed in a request (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.Loan :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.merge_loans_with_http_info(currency, ids, **kwargs) # noqa: E501 def merge_loans_with_http_info(self, currency, ids, **kwargs): # noqa: E501 """Merge multiple lending loans # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.merge_loans_with_http_info(currency, ids, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param str ids: A comma-separated (,) list of IDs of the loans lent. Maximum of 20 IDs are allowed in a request (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency', 'ids'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method merge_loans" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'currency' is set if self.api_client.client_side_validation and ( 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `currency` when calling `merge_loans`") # noqa: E501 # verify the required parameter 'ids' is set if self.api_client.client_side_validation and ( 'ids' not in local_var_params or local_var_params['ids'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `ids` when calling `merge_loans`") # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 if 'ids' in local_var_params and local_var_params['ids'] is not None: # noqa: E501 query_params.append(('ids', local_var_params['ids'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/merged_loans', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='Loan', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_loan(self, loan_id, side, **kwargs): # noqa: E501 """Retrieve one single loan detail # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_loan(loan_id, side, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param str side: Lend or borrow (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.Loan :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_loan_with_http_info(loan_id, side, **kwargs) # noqa: E501 def get_loan_with_http_info(self, loan_id, side, **kwargs): # noqa: E501 """Retrieve one single loan detail # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_loan_with_http_info(loan_id, side, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param str side: Lend or borrow (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_id', 'side'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_loan" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_id' is set if self.api_client.client_side_validation and ( 'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `loan_id` when calling `get_loan`") # noqa: E501 # verify the required parameter 'side' is set if self.api_client.client_side_validation and ( 'side' not in local_var_params or local_var_params['side'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `side` when calling `get_loan`") # noqa: E501 collection_formats = {} path_params = {} if 'loan_id' in local_var_params: path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501 query_params = [] if 'side' in local_var_params and local_var_params['side'] is not None: # noqa: E501 query_params.append(('side', local_var_params['side'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loans/{loan_id}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='Loan', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def cancel_loan(self, loan_id, currency, **kwargs): # noqa: E501 """Cancel lending loan # noqa: E501 Only lent loans can be cancelled # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.cancel_loan(loan_id, currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param str currency: Retrieve data of the specified currency (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.Loan :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.cancel_loan_with_http_info(loan_id, currency, **kwargs) # noqa: E501 def cancel_loan_with_http_info(self, loan_id, currency, **kwargs): # noqa: E501 """Cancel lending loan # noqa: E501 Only lent loans can be cancelled # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.cancel_loan_with_http_info(loan_id, currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param str currency: Retrieve data of the specified currency (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_id', 'currency'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method cancel_loan" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_id' is set if self.api_client.client_side_validation and ( 'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `loan_id` when calling `cancel_loan`") # noqa: E501 # verify the required parameter 'currency' is set if self.api_client.client_side_validation and ( 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `currency` when calling `cancel_loan`") # noqa: E501 collection_formats = {} path_params = {} if 'loan_id' in local_var_params: path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501 query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loans/{loan_id}', 'DELETE', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='Loan', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def update_loan(self, loan_id, loan_patch, **kwargs): # noqa: E501 """Modify a loan # noqa: E501 Only `auto_renew` modification is supported currently # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.update_loan(loan_id, loan_patch, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param LoanPatch loan_patch: (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.Loan :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.update_loan_with_http_info(loan_id, loan_patch, **kwargs) # noqa: E501 def update_loan_with_http_info(self, loan_id, loan_patch, **kwargs): # noqa: E501 """Modify a loan # noqa: E501 Only `auto_renew` modification is supported currently # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.update_loan_with_http_info(loan_id, loan_patch, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param LoanPatch loan_patch: (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_id', 'loan_patch'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method update_loan" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_id' is set if self.api_client.client_side_validation and ( 'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `loan_id` when calling `update_loan`") # noqa: E501 # verify the required parameter 'loan_patch' is set if self.api_client.client_side_validation and ( 'loan_patch' not in local_var_params or local_var_params['loan_patch'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `loan_patch` when calling `update_loan`") # noqa: E501 collection_formats = {} path_params = {} if 'loan_id' in local_var_params: path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None if 'loan_patch' in local_var_params: body_params = local_var_params['loan_patch'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # HTTP header `Content-Type` header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 ['application/json'] ) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loans/{loan_id}', 'PATCH', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='Loan', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_loan_repayments(self, loan_id, **kwargs): # noqa: E501 """List loan repayment records # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_loan_repayments(loan_id, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.Repayment] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_loan_repayments_with_http_info(loan_id, **kwargs) # noqa: E501 def list_loan_repayments_with_http_info(self, loan_id, **kwargs): # noqa: E501 """List loan repayment records # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_loan_repayments_with_http_info(loan_id, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.Repayment], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_id'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_loan_repayments" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_id' is set if self.api_client.client_side_validation and ( 'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `loan_id` when calling `list_loan_repayments`" ) # noqa: E501 collection_formats = {} path_params = {} if 'loan_id' in local_var_params: path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loans/{loan_id}/repayment', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[Repayment]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def repay_loan(self, loan_id, repay_request, **kwargs): # noqa: E501 """Repay a loan # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.repay_loan(loan_id, repay_request, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param RepayRequest repay_request: (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.Loan :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.repay_loan_with_http_info(loan_id, repay_request, **kwargs) # noqa: E501 def repay_loan_with_http_info(self, loan_id, repay_request, **kwargs): # noqa: E501 """Repay a loan # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.repay_loan_with_http_info(loan_id, repay_request, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param RepayRequest repay_request: (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.Loan, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_id', 'repay_request'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method repay_loan" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_id' is set if self.api_client.client_side_validation and ( 'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `loan_id` when calling `repay_loan`") # noqa: E501 # verify the required parameter 'repay_request' is set if self.api_client.client_side_validation and ( 'repay_request' not in local_var_params or local_var_params['repay_request'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `repay_request` when calling `repay_loan`" ) # noqa: E501 collection_formats = {} path_params = {} if 'loan_id' in local_var_params: path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None if 'repay_request' in local_var_params: body_params = local_var_params['repay_request'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # HTTP header `Content-Type` header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 ['application/json'] ) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loans/{loan_id}/repayment', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='Loan', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_loan_records(self, loan_id, **kwargs): # noqa: E501 """List repayment records of a specific loan # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_loan_records(loan_id, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param str status: Loan record status :param int page: Page number :param int limit: Maximum number of records to be returned in a single list :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.LoanRecord] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_loan_records_with_http_info(loan_id, **kwargs) # noqa: E501 def list_loan_records_with_http_info(self, loan_id, **kwargs): # noqa: E501 """List repayment records of a specific loan # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_loan_records_with_http_info(loan_id, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Loan ID (required) :param str status: Loan record status :param int page: Page number :param int limit: Maximum number of records to be returned in a single list :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.LoanRecord], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_id', 'status', 'page', 'limit'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_loan_records" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_id' is set if self.api_client.client_side_validation and ( 'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `loan_id` when calling `list_loan_records`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `page` when calling `list_loan_records`, must be a value greater than or equal to `1`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_loan_records`, must be a value less than or equal to `1000`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_loan_records`, must be a value greater than or equal to `1`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'loan_id' in local_var_params and local_var_params['loan_id'] is not None: # noqa: E501 query_params.append(('loan_id', local_var_params['loan_id'])) # noqa: E501 if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501 query_params.append(('status', local_var_params['status'])) # noqa: E501 if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501 query_params.append(('page', local_var_params['page'])) # noqa: E501 if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501 query_params.append(('limit', local_var_params['limit'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loan_records', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[LoanRecord]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_loan_record(self, loan_record_id, loan_id, **kwargs): # noqa: E501 """Get one single loan record # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_loan_record(loan_record_id, loan_id, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_record_id: Loan record ID (required) :param str loan_id: Loan ID (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.LoanRecord :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_loan_record_with_http_info(loan_record_id, loan_id, **kwargs) # noqa: E501 def get_loan_record_with_http_info(self, loan_record_id, loan_id, **kwargs): # noqa: E501 """Get one single loan record # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_loan_record_with_http_info(loan_record_id, loan_id, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_record_id: Loan record ID (required) :param str loan_id: Loan ID (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.LoanRecord, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_record_id', 'loan_id'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_loan_record" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_record_id' is set if self.api_client.client_side_validation and ( 'loan_record_id' not in local_var_params or local_var_params['loan_record_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `loan_record_id` when calling `get_loan_record`" ) # noqa: E501 # verify the required parameter 'loan_id' is set if self.api_client.client_side_validation and ( 'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `loan_id` when calling `get_loan_record`") # noqa: E501 collection_formats = {} path_params = {} if 'loan_record_id' in local_var_params: path_params['loan_record_id'] = local_var_params['loan_record_id'] # noqa: E501 query_params = [] if 'loan_id' in local_var_params and local_var_params['loan_id'] is not None: # noqa: E501 query_params.append(('loan_id', local_var_params['loan_id'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loan_records/{loan_record_id}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='LoanRecord', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def update_loan_record(self, loan_record_id, loan_patch, **kwargs): # noqa: E501 """Modify a loan record # noqa: E501 Only `auto_renew` modification is supported currently # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.update_loan_record(loan_record_id, loan_patch, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_record_id: Loan record ID (required) :param LoanPatch loan_patch: (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.LoanRecord :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.update_loan_record_with_http_info(loan_record_id, loan_patch, **kwargs) # noqa: E501 def update_loan_record_with_http_info(self, loan_record_id, loan_patch, **kwargs): # noqa: E501 """Modify a loan record # noqa: E501 Only `auto_renew` modification is supported currently # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.update_loan_record_with_http_info(loan_record_id, loan_patch, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_record_id: Loan record ID (required) :param LoanPatch loan_patch: (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.LoanRecord, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_record_id', 'loan_patch'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method update_loan_record" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_record_id' is set if self.api_client.client_side_validation and ( 'loan_record_id' not in local_var_params or local_var_params['loan_record_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `loan_record_id` when calling `update_loan_record`" ) # noqa: E501 # verify the required parameter 'loan_patch' is set if self.api_client.client_side_validation and ( 'loan_patch' not in local_var_params or local_var_params['loan_patch'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `loan_patch` when calling `update_loan_record`" ) # noqa: E501 collection_formats = {} path_params = {} if 'loan_record_id' in local_var_params: path_params['loan_record_id'] = local_var_params['loan_record_id'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None if 'loan_patch' in local_var_params: body_params = local_var_params['loan_patch'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # HTTP header `Content-Type` header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 ['application/json'] ) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/loan_records/{loan_record_id}', 'PATCH', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='LoanRecord', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_auto_repay_status(self, **kwargs): # noqa: E501 """Retrieve user auto repayment setting # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_auto_repay_status(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.AutoRepaySetting :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_auto_repay_status_with_http_info(**kwargs) # noqa: E501 def get_auto_repay_status_with_http_info(self, **kwargs): # noqa: E501 """Retrieve user auto repayment setting # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_auto_repay_status_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.AutoRepaySetting, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = [] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_auto_repay_status" % k) local_var_params[k] = v del local_var_params['kwargs'] collection_formats = {} path_params = {} query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/auto_repay', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='AutoRepaySetting', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def set_auto_repay(self, status, **kwargs): # noqa: E501 """Update user's auto repayment setting # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.set_auto_repay(status, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str status: New auto repayment status. `on` - enabled, `off` - disabled (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.AutoRepaySetting :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.set_auto_repay_with_http_info(status, **kwargs) # noqa: E501 def set_auto_repay_with_http_info(self, status, **kwargs): # noqa: E501 """Update user's auto repayment setting # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.set_auto_repay_with_http_info(status, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str status: New auto repayment status. `on` - enabled, `off` - disabled (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.AutoRepaySetting, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['status'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method set_auto_repay" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'status' is set if self.api_client.client_side_validation and ( 'status' not in local_var_params or local_var_params['status'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError("Missing the required parameter `status` when calling `set_auto_repay`") # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501 query_params.append(('status', local_var_params['status'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/auto_repay', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='AutoRepaySetting', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_margin_transferable(self, currency, **kwargs): # noqa: E501 """Get the max transferable amount for a specific margin currency # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_margin_transferable(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param str currency_pair: Currency pair :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.MarginTransferable :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_margin_transferable_with_http_info(currency, **kwargs) # noqa: E501 def get_margin_transferable_with_http_info(self, currency, **kwargs): # noqa: E501 """Get the max transferable amount for a specific margin currency # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_margin_transferable_with_http_info(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param str currency_pair: Currency pair :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.MarginTransferable, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency', 'currency_pair'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_margin_transferable" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'currency' is set if self.api_client.client_side_validation and ( 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `currency` when calling `get_margin_transferable`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501 query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/transferable', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='MarginTransferable', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_margin_borrowable(self, currency, **kwargs): # noqa: E501 """Get the max borrowable amount for a specific margin currency # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_margin_borrowable(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param str currency_pair: Currency pair :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.MarginBorrowable :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_margin_borrowable_with_http_info(currency, **kwargs) # noqa: E501 def get_margin_borrowable_with_http_info(self, currency, **kwargs): # noqa: E501 """Get the max borrowable amount for a specific margin currency # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_margin_borrowable_with_http_info(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param str currency_pair: Currency pair :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.MarginBorrowable, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency', 'currency_pair'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_margin_borrowable" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'currency' is set if self.api_client.client_side_validation and ( 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `currency` when calling `get_margin_borrowable`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 if 'currency_pair' in local_var_params and local_var_params['currency_pair'] is not None: # noqa: E501 query_params.append(('currency_pair', local_var_params['currency_pair'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/borrowable', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='MarginBorrowable', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_cross_margin_currencies(self, **kwargs): # noqa: E501 """Currencies supported by cross margin. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_cross_margin_currencies(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.CrossMarginCurrency] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_cross_margin_currencies_with_http_info(**kwargs) # noqa: E501 def list_cross_margin_currencies_with_http_info(self, **kwargs): # noqa: E501 """Currencies supported by cross margin. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_cross_margin_currencies_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.CrossMarginCurrency], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = [] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError( "Got an unexpected keyword argument '%s'" " to method list_cross_margin_currencies" % k ) local_var_params[k] = v del local_var_params['kwargs'] collection_formats = {} path_params = {} query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/margin/cross/currencies', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[CrossMarginCurrency]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_cross_margin_currency(self, currency, **kwargs): # noqa: E501 """Retrieve detail of one single currency supported by cross margin # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_currency(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Currency name (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.CrossMarginCurrency :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_cross_margin_currency_with_http_info(currency, **kwargs) # noqa: E501 def get_cross_margin_currency_with_http_info(self, currency, **kwargs): # noqa: E501 """Retrieve detail of one single currency supported by cross margin # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_currency_with_http_info(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Currency name (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.CrossMarginCurrency, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_cross_margin_currency" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'currency' is set if self.api_client.client_side_validation and ( 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `currency` when calling `get_cross_margin_currency`" ) # noqa: E501 collection_formats = {} path_params = {} if 'currency' in local_var_params: path_params['currency'] = local_var_params['currency'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = [] # noqa: E501 return self.api_client.call_api( '/margin/cross/currencies/{currency}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='CrossMarginCurrency', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_cross_margin_account(self, **kwargs): # noqa: E501 """Retrieve cross margin account # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_account(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.CrossMarginAccount :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_cross_margin_account_with_http_info(**kwargs) # noqa: E501 def get_cross_margin_account_with_http_info(self, **kwargs): # noqa: E501 """Retrieve cross margin account # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_account_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.CrossMarginAccount, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = [] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_cross_margin_account" % k) local_var_params[k] = v del local_var_params['kwargs'] collection_formats = {} path_params = {} query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/accounts', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='CrossMarginAccount', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_cross_margin_account_book(self, **kwargs): # noqa: E501 """Retrieve cross margin account change history # noqa: E501 Record time range cannot exceed 30 days # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_cross_margin_account_book(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Filter by currency :param int _from: Start timestamp of the query :param int to: Time range ending, default to current time :param int page: Page number :param int limit: Maximum number of records to be returned in a single list :param str type: Only retrieve changes of the specified type. All types will be returned if not specified. :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.CrossMarginAccountBook] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_cross_margin_account_book_with_http_info(**kwargs) # noqa: E501 def list_cross_margin_account_book_with_http_info(self, **kwargs): # noqa: E501 """Retrieve cross margin account change history # noqa: E501 Record time range cannot exceed 30 days # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_cross_margin_account_book_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Filter by currency :param int _from: Start timestamp of the query :param int to: Time range ending, default to current time :param int page: Page number :param int limit: Maximum number of records to be returned in a single list :param str type: Only retrieve changes of the specified type. All types will be returned if not specified. :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.CrossMarginAccountBook], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency', '_from', 'to', 'page', 'limit', 'type'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError( "Got an unexpected keyword argument '%s'" " to method list_cross_margin_account_book" % k ) local_var_params[k] = v del local_var_params['kwargs'] if ( self.api_client.client_side_validation and 'page' in local_var_params and local_var_params['page'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `page` when calling `list_cross_margin_account_book`, must be a value greater than or equal to `1`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_cross_margin_account_book`, must be a value less than or equal to `1000`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_cross_margin_account_book`, must be a value greater than or equal to `1`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 if '_from' in local_var_params and local_var_params['_from'] is not None: # noqa: E501 query_params.append(('from', local_var_params['_from'])) # noqa: E501 if 'to' in local_var_params and local_var_params['to'] is not None: # noqa: E501 query_params.append(('to', local_var_params['to'])) # noqa: E501 if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501 query_params.append(('page', local_var_params['page'])) # noqa: E501 if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501 query_params.append(('limit', local_var_params['limit'])) # noqa: E501 if 'type' in local_var_params and local_var_params['type'] is not None: # noqa: E501 query_params.append(('type', local_var_params['type'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/account_book', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[CrossMarginAccountBook]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_cross_margin_loans(self, status, **kwargs): # noqa: E501 """List cross margin borrow history # noqa: E501 Sort by creation time in descending order by default. Set `reverse=false` to return ascending results. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_cross_margin_loans(status, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param int status: Filter by status. Supported values are 2 and 3. (required) :param str currency: Filter by currency :param int limit: Maximum number of records to be returned in a single list :param int offset: List offset, starting from 0 :param bool reverse: Whether to sort in descending order, which is the default. Set `reverse=false` to return ascending results :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.CrossMarginLoan] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_cross_margin_loans_with_http_info(status, **kwargs) # noqa: E501 def list_cross_margin_loans_with_http_info(self, status, **kwargs): # noqa: E501 """List cross margin borrow history # noqa: E501 Sort by creation time in descending order by default. Set `reverse=false` to return ascending results. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_cross_margin_loans_with_http_info(status, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param int status: Filter by status. Supported values are 2 and 3. (required) :param str currency: Filter by currency :param int limit: Maximum number of records to be returned in a single list :param int offset: List offset, starting from 0 :param bool reverse: Whether to sort in descending order, which is the default. Set `reverse=false` to return ascending results :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.CrossMarginLoan], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['status', 'currency', 'limit', 'offset', 'reverse'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method list_cross_margin_loans" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'status' is set if self.api_client.client_side_validation and ( 'status' not in local_var_params or local_var_params['status'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `status` when calling `list_cross_margin_loans`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_cross_margin_loans`, must be a value less than or equal to `1000`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_cross_margin_loans`, must be a value greater than or equal to `1`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'offset' in local_var_params and local_var_params['offset'] < 0 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `offset` when calling `list_cross_margin_loans`, must be a value greater than or equal to `0`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'status' in local_var_params and local_var_params['status'] is not None: # noqa: E501 query_params.append(('status', local_var_params['status'])) # noqa: E501 if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501 query_params.append(('limit', local_var_params['limit'])) # noqa: E501 if 'offset' in local_var_params and local_var_params['offset'] is not None: # noqa: E501 query_params.append(('offset', local_var_params['offset'])) # noqa: E501 if 'reverse' in local_var_params and local_var_params['reverse'] is not None: # noqa: E501 query_params.append(('reverse', local_var_params['reverse'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/loans', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[CrossMarginLoan]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def create_cross_margin_loan(self, cross_margin_loan, **kwargs): # noqa: E501 """Create a cross margin borrow loan # noqa: E501 Borrow amount cannot be less than currency minimum borrow amount # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.create_cross_margin_loan(cross_margin_loan, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param CrossMarginLoan cross_margin_loan: (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.CrossMarginLoan :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.create_cross_margin_loan_with_http_info(cross_margin_loan, **kwargs) # noqa: E501 def create_cross_margin_loan_with_http_info(self, cross_margin_loan, **kwargs): # noqa: E501 """Create a cross margin borrow loan # noqa: E501 Borrow amount cannot be less than currency minimum borrow amount # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.create_cross_margin_loan_with_http_info(cross_margin_loan, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param CrossMarginLoan cross_margin_loan: (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.CrossMarginLoan, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['cross_margin_loan'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method create_cross_margin_loan" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'cross_margin_loan' is set if self.api_client.client_side_validation and ( 'cross_margin_loan' not in local_var_params or local_var_params['cross_margin_loan'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `cross_margin_loan` when calling `create_cross_margin_loan`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None if 'cross_margin_loan' in local_var_params: body_params = local_var_params['cross_margin_loan'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # HTTP header `Content-Type` header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 ['application/json'] ) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/loans', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='CrossMarginLoan', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_cross_margin_loan(self, loan_id, **kwargs): # noqa: E501 """Retrieve single borrow loan detail # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_loan(loan_id, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Borrow loan ID (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.CrossMarginLoan :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_cross_margin_loan_with_http_info(loan_id, **kwargs) # noqa: E501 def get_cross_margin_loan_with_http_info(self, loan_id, **kwargs): # noqa: E501 """Retrieve single borrow loan detail # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_loan_with_http_info(loan_id, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str loan_id: Borrow loan ID (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.CrossMarginLoan, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['loan_id'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method get_cross_margin_loan" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'loan_id' is set if self.api_client.client_side_validation and ( 'loan_id' not in local_var_params or local_var_params['loan_id'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `loan_id` when calling `get_cross_margin_loan`" ) # noqa: E501 collection_formats = {} path_params = {} if 'loan_id' in local_var_params: path_params['loan_id'] = local_var_params['loan_id'] # noqa: E501 query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/loans/{loan_id}', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='CrossMarginLoan', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def list_cross_margin_repayments(self, **kwargs): # noqa: E501 """Retrieve cross margin repayments # noqa: E501 Sort by creation time in descending order by default. Set `reverse=false` to return ascending results. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_cross_margin_repayments(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: :param str loan_id: :param int limit: Maximum number of records to be returned in a single list :param int offset: List offset, starting from 0 :param bool reverse: Whether to sort in descending order, which is the default. Set `reverse=false` to return ascending results :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.CrossMarginRepayment] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.list_cross_margin_repayments_with_http_info(**kwargs) # noqa: E501 def list_cross_margin_repayments_with_http_info(self, **kwargs): # noqa: E501 """Retrieve cross margin repayments # noqa: E501 Sort by creation time in descending order by default. Set `reverse=false` to return ascending results. # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.list_cross_margin_repayments_with_http_info(async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: :param str loan_id: :param int limit: Maximum number of records to be returned in a single list :param int offset: List offset, starting from 0 :param bool reverse: Whether to sort in descending order, which is the default. Set `reverse=false` to return ascending results :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.CrossMarginRepayment], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency', 'loan_id', 'limit', 'offset', 'reverse'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError( "Got an unexpected keyword argument '%s'" " to method list_cross_margin_repayments" % k ) local_var_params[k] = v del local_var_params['kwargs'] if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] > 1000 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_cross_margin_repayments`, must be a value less than or equal to `1000`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'limit' in local_var_params and local_var_params['limit'] < 1 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `limit` when calling `list_cross_margin_repayments`, must be a value greater than or equal to `1`" ) # noqa: E501 if ( self.api_client.client_side_validation and 'offset' in local_var_params and local_var_params['offset'] < 0 ): # noqa: E501 raise ApiValueError( "Invalid value for parameter `offset` when calling `list_cross_margin_repayments`, must be a value greater than or equal to `0`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 if 'loan_id' in local_var_params and local_var_params['loan_id'] is not None: # noqa: E501 query_params.append(('loan_id', local_var_params['loan_id'])) # noqa: E501 if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501 query_params.append(('limit', local_var_params['limit'])) # noqa: E501 if 'offset' in local_var_params and local_var_params['offset'] is not None: # noqa: E501 query_params.append(('offset', local_var_params['offset'])) # noqa: E501 if 'reverse' in local_var_params and local_var_params['reverse'] is not None: # noqa: E501 query_params.append(('reverse', local_var_params['reverse'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/repayments', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[CrossMarginRepayment]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def repay_cross_margin_loan(self, cross_margin_repay_request, **kwargs): # noqa: E501 """Cross margin repayments # noqa: E501 When the liquidity of the currency is insufficient and the transaction risk is high, the currency will be disabled, and funds cannot be transferred.When the available balance of cross-margin is insufficient, the balance of the spot account can be used for repayment. Please ensure that the balance of the spot account is sufficient, and system uses cross-margin account for repayment first # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.repay_cross_margin_loan(cross_margin_repay_request, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param CrossMarginRepayRequest cross_margin_repay_request: (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: list[gate_api.CrossMarginLoan] :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.repay_cross_margin_loan_with_http_info(cross_margin_repay_request, **kwargs) # noqa: E501 def repay_cross_margin_loan_with_http_info(self, cross_margin_repay_request, **kwargs): # noqa: E501 """Cross margin repayments # noqa: E501 When the liquidity of the currency is insufficient and the transaction risk is high, the currency will be disabled, and funds cannot be transferred.When the available balance of cross-margin is insufficient, the balance of the spot account can be used for repayment. Please ensure that the balance of the spot account is sufficient, and system uses cross-margin account for repayment first # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.repay_cross_margin_loan_with_http_info(cross_margin_repay_request, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param CrossMarginRepayRequest cross_margin_repay_request: (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(list[gate_api.CrossMarginLoan], status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['cross_margin_repay_request'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError("Got an unexpected keyword argument '%s'" " to method repay_cross_margin_loan" % k) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'cross_margin_repay_request' is set if self.api_client.client_side_validation and ( 'cross_margin_repay_request' not in local_var_params or local_var_params['cross_margin_repay_request'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `cross_margin_repay_request` when calling `repay_cross_margin_loan`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] header_params = {} form_params = [] local_var_files = {} body_params = None if 'cross_margin_repay_request' in local_var_params: body_params = local_var_params['cross_margin_repay_request'] # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # HTTP header `Content-Type` header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 ['application/json'] ) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/repayments', 'POST', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='list[CrossMarginLoan]', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_cross_margin_transferable(self, currency, **kwargs): # noqa: E501 """Get the max transferable amount for a specific cross margin currency # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_transferable(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.CrossMarginTransferable :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_cross_margin_transferable_with_http_info(currency, **kwargs) # noqa: E501 def get_cross_margin_transferable_with_http_info(self, currency, **kwargs): # noqa: E501 """Get the max transferable amount for a specific cross margin currency # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_transferable_with_http_info(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.CrossMarginTransferable, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError( "Got an unexpected keyword argument '%s'" " to method get_cross_margin_transferable" % k ) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'currency' is set if self.api_client.client_side_validation and ( 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `currency` when calling `get_cross_margin_transferable`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/transferable', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='CrossMarginTransferable', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, ) def get_cross_margin_borrowable(self, currency, **kwargs): # noqa: E501 """Get the max borrowable amount for a specific cross margin currency # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_borrowable(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: gate_api.CrossMarginBorrowable :return: If the method is called asynchronously, returns the request thread. """ kwargs['_return_http_data_only'] = True return self.get_cross_margin_borrowable_with_http_info(currency, **kwargs) # noqa: E501 def get_cross_margin_borrowable_with_http_info(self, currency, **kwargs): # noqa: E501 """Get the max borrowable amount for a specific cross margin currency # noqa: E501 This method makes a synchronous HTTP request by default. To make an asynchronous HTTP request, please pass async_req=True >>> thread = api.get_cross_margin_borrowable_with_http_info(currency, async_req=True) >>> result = thread.get() :param bool async_req: execute request asynchronously :param str currency: Retrieve data of the specified currency (required) :param _return_http_data_only: response data without head status code and headers :param _preload_content: if False, the urllib3.HTTPResponse object will be returned without reading/decoding response data. Default is True. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts. :rtype: tuple(gate_api.CrossMarginBorrowable, status_code(int), headers(HTTPHeaderDict)) :return: If the method is called asynchronously, returns the request thread. """ local_var_params = locals() all_params = ['currency'] all_params.extend(['async_req', '_return_http_data_only', '_preload_content', '_request_timeout']) for k, v in six.iteritems(local_var_params['kwargs']): if k not in all_params: raise ApiTypeError( "Got an unexpected keyword argument '%s'" " to method get_cross_margin_borrowable" % k ) local_var_params[k] = v del local_var_params['kwargs'] # verify the required parameter 'currency' is set if self.api_client.client_side_validation and ( 'currency' not in local_var_params or local_var_params['currency'] is None # noqa: E501 ): # noqa: E501 raise ApiValueError( "Missing the required parameter `currency` when calling `get_cross_margin_borrowable`" ) # noqa: E501 collection_formats = {} path_params = {} query_params = [] if 'currency' in local_var_params and local_var_params['currency'] is not None: # noqa: E501 query_params.append(('currency', local_var_params['currency'])) # noqa: E501 header_params = {} form_params = [] local_var_files = {} body_params = None # HTTP header `Accept` header_params['Accept'] = self.api_client.select_header_accept(['application/json']) # noqa: E501 # Authentication setting auth_settings = ['apiv4'] # noqa: E501 return self.api_client.call_api( '/margin/cross/borrowable', 'GET', path_params, query_params, header_params, body=body_params, post_params=form_params, files=local_var_files, response_type='CrossMarginBorrowable', # noqa: E501 auth_settings=auth_settings, async_req=local_var_params.get('async_req'), _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501 _preload_content=local_var_params.get('_preload_content', True), _request_timeout=local_var_params.get('_request_timeout'), collection_formats=collection_formats, )