@@ -280,6 +280,14 @@ def _generate_signature(self, data: Dict) -> str:
280280 query_string = '&' .join ([f"{ d [0 ]} ={ d [1 ]} " for d in self ._order_params (data )])
281281 return sig_func (query_string )
282282
283+ @staticmethod
284+ def _get_version (version : int , ** kwargs ) -> int :
285+ if 'data' in kwargs and 'version' in kwargs ['data' ]:
286+ version_override = kwargs ['data' ].get ('version' )
287+ del kwargs ['data' ]['version' ]
288+ return version_override
289+ return version
290+
283291 @staticmethod
284292 def _order_params (data : Dict ) -> List [Tuple [str , str ]]:
285293 """Convert params to list with signature as last element
@@ -396,9 +404,7 @@ def _request_api(
396404 return self ._request (method , uri , signed , ** kwargs )
397405
398406 def _request_futures_api (self , method , path , signed = False , version : int = 1 , ** kwargs ) -> Dict :
399- if 'version' in kwargs :
400- version = kwargs ['version' ]
401- del kwargs ['version' ]
407+ version = self ._get_version (version , ** kwargs )
402408 uri = self ._create_futures_api_uri (path , version )
403409
404410 return self ._request (method , uri , signed , True , ** kwargs )
@@ -409,17 +415,13 @@ def _request_futures_data_api(self, method, path, signed=False, **kwargs) -> Dic
409415 return self ._request (method , uri , signed , True , ** kwargs )
410416
411417 def _request_futures_coin_api (self , method , path , signed = False , version = 1 , ** kwargs ) -> Dict :
412- if 'version' in kwargs :
413- version = kwargs ['version' ]
414- del kwargs ['version' ]
418+ version = self ._get_version (version , ** kwargs )
415419 uri = self ._create_futures_coin_api_url (path , version = version )
416420
417421 return self ._request (method , uri , signed , True , ** kwargs )
418422
419423 def _request_futures_coin_data_api (self , method , path , signed = False , version = 1 , ** kwargs ) -> Dict :
420- if 'version' in kwargs :
421- version = kwargs ['version' ]
422- del kwargs ['version' ]
424+ version = self ._get_version (version , ** kwargs )
423425 uri = self ._create_futures_coin_data_api_url (path , version = version )
424426
425427 return self ._request (method , uri , signed , True , ** kwargs )
@@ -430,9 +432,7 @@ def _request_options_api(self, method, path, signed=False, **kwargs) -> Dict:
430432 return self ._request (method , uri , signed , True , ** kwargs )
431433
432434 def _request_margin_api (self , method , path , signed = False , version = 1 , ** kwargs ) -> Dict :
433- if 'version' in kwargs :
434- version = kwargs ['version' ]
435- del kwargs ['version' ]
435+ version = self ._get_version (version , ** kwargs )
436436 uri = self ._create_margin_api_uri (path , version )
437437
438438 return self ._request (method , uri , signed , ** kwargs )
@@ -8779,9 +8779,7 @@ async def _request_api(self, method, path, signed=False, version=BaseClient.PUBL
87798779 return await self ._request (method , uri , signed , ** kwargs )
87808780
87818781 async def _request_futures_api (self , method , path , signed = False , version = 1 , ** kwargs ) -> Dict :
8782- if 'version' in kwargs :
8783- version = kwargs ['version' ]
8784- del kwargs ['version' ]
8782+ version = self ._get_version (version , ** kwargs )
87858783 uri = self ._create_futures_api_uri (path , version = version )
87868784
87878785 return await self ._request (method , uri , signed , True , ** kwargs )
@@ -8792,17 +8790,13 @@ async def _request_futures_data_api(self, method, path, signed=False, **kwargs)
87928790 return await self ._request (method , uri , signed , True , ** kwargs )
87938791
87948792 async def _request_futures_coin_api (self , method , path , signed = False , version = 1 , ** kwargs ) -> Dict :
8795- if 'version' in kwargs :
8796- version = kwargs ['version' ]
8797- del kwargs ['version' ]
8793+ version = self ._get_version (version , ** kwargs )
87988794 uri = self ._create_futures_coin_api_url (path , version = version )
87998795
88008796 return await self ._request (method , uri , signed , True , ** kwargs )
88018797
88028798 async def _request_futures_coin_data_api (self , method , path , signed = False , version = 1 , ** kwargs ) -> Dict :
8803- if 'version' in kwargs :
8804- version = kwargs ['version' ]
8805- del kwargs ['version' ]
8799+ version = self ._get_version (version , ** kwargs )
88068800 uri = self ._create_futures_coin_data_api_url (path , version = version )
88078801
88088802 return await self ._request (method , uri , signed , True , ** kwargs )
@@ -8813,9 +8807,7 @@ async def _request_options_api(self, method, path, signed=False, **kwargs) -> Di
88138807 return await self ._request (method , uri , signed , True , ** kwargs )
88148808
88158809 async def _request_margin_api (self , method , path , signed = False , version = 1 , ** kwargs ) -> Dict :
8816- if 'version' in kwargs :
8817- version = kwargs ['version' ]
8818- del kwargs ['version' ]
8810+ version = self ._get_version (version , ** kwargs )
88198811 uri = self ._create_margin_api_uri (path , version )
88208812
88218813 return await self ._request (method , uri , signed , ** kwargs )
0 commit comments