okx-exchange 0.0.78__py3-none-any.whl → 0.0.80__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
okx/ccxt/__init__.py CHANGED
@@ -26,7 +26,7 @@ sys.modules['ccxt'] = ccxt_module
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
29
- __version__ = '4.4.96'
29
+ __version__ = '4.4.98'
30
30
 
31
31
  # ----------------------------------------------------------------------------
32
32
 
@@ -59,6 +59,7 @@ from ccxt.base.errors import NoChange # noqa: F4
59
59
  from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
60
60
  from ccxt.base.errors import MarketClosed # noqa: F401
61
61
  from ccxt.base.errors import ManualInteractionNeeded # noqa: F401
62
+ from ccxt.base.errors import RestrictedLocation # noqa: F401
62
63
  from ccxt.base.errors import InsufficientFunds # noqa: F401
63
64
  from ccxt.base.errors import InvalidAddress # noqa: F401
64
65
  from ccxt.base.errors import AddressPending # noqa: F401
@@ -8,7 +8,7 @@ sys.modules['ccxt'] = ccxt_module
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
11
- __version__ = '4.4.96'
11
+ __version__ = '4.4.98'
12
12
 
13
13
  # -----------------------------------------------------------------------------
14
14
 
@@ -38,6 +38,7 @@ from ccxt.base.errors import NoChange # noqa: F4
38
38
  from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
39
39
  from ccxt.base.errors import MarketClosed # noqa: F401
40
40
  from ccxt.base.errors import ManualInteractionNeeded # noqa: F401
41
+ from ccxt.base.errors import RestrictedLocation # noqa: F401
41
42
  from ccxt.base.errors import InsufficientFunds # noqa: F401
42
43
  from ccxt.base.errors import InvalidAddress # noqa: F401
43
44
  from ccxt.base.errors import AddressPending # noqa: F401
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.96'
5
+ __version__ = '4.4.98'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -176,7 +176,7 @@ class Exchange(BaseExchange):
176
176
  if (socksProxy not in self.socks_proxy_sessions):
177
177
  # Create our SSL context object with our CA cert file
178
178
  self.open() # ensure `asyncio_loop` is set
179
- proxy_session = self.get_socks_proxy_session(socksProxy)
179
+ proxy_session = self.get_socks_proxy_session(socksProxy)
180
180
  # add aiohttp_proxy for python as exclusion
181
181
  elif self.aiohttp_proxy:
182
182
  final_proxy = self.aiohttp_proxy
@@ -19,6 +19,7 @@ from ccxt.base.errors import BadRequest
19
19
  from ccxt.base.errors import BadSymbol
20
20
  from ccxt.base.errors import OperationRejected
21
21
  from ccxt.base.errors import ManualInteractionNeeded
22
+ from ccxt.base.errors import RestrictedLocation
22
23
  from ccxt.base.errors import InsufficientFunds
23
24
  from ccxt.base.errors import InvalidAddress
24
25
  from ccxt.base.errors import InvalidOrder
@@ -762,6 +763,7 @@ class okx(Exchange, ImplicitAPI):
762
763
  '51137': InvalidOrder, # Your opening price has triggered the limit price, and the max buy price is {0}
763
764
  '51138': InvalidOrder, # Your opening price has triggered the limit price, and the min sell price is {0}
764
765
  '51139': InvalidOrder, # Reduce-only feature is unavailable for the spot transactions by simple account
766
+ '51155': RestrictedLocation, # {"code":"1","data":[{"clOrdId":"e847xxx","ordId":"","sCode":"51155","sMsg":"You can't trade self pair or borrow self crypto due to local compliance restrictions. ","tag":"e847xxx","ts":"1753979177157"}],"inTime":"1753979177157408","msg":"All operations failed","outTime":"1753979177157874"}
765
767
  '51156': BadRequest, # You're leading trades in long/short mode and can't use self API endpoint to close positions
766
768
  '51159': BadRequest, # You're leading trades in buy/sell mode. If you want to place orders using self API endpoint, the orders must be in the same direction existing positions and open orders.
767
769
  '51162': InvalidOrder, # You have {instrument} open orders. Cancel these orders and try again
@@ -33,25 +33,23 @@ NO_PADDING = 5
33
33
  PAD_WITH_ZERO = 6
34
34
 
35
35
 
36
- def decimal_to_precision(n, rounding_mode=ROUND, numPrecisionDigits=None, counting_mode=DECIMAL_PLACES, padding_mode=NO_PADDING):
37
- assert numPrecisionDigits is not None, 'numPrecisionDigits should not be None'
36
+ def decimal_to_precision(n, rounding_mode=ROUND, precision=None, counting_mode=DECIMAL_PLACES, padding_mode=NO_PADDING):
37
+ assert precision is not None, 'precision should not be None'
38
38
 
39
- if isinstance(numPrecisionDigits, str):
40
- numPrecisionDigits = float(numPrecisionDigits)
41
- assert isinstance(numPrecisionDigits, float) or isinstance(numPrecisionDigits, decimal.Decimal) or isinstance(numPrecisionDigits, numbers.Integral), 'numPrecisionDigits has an invalid number'
39
+ if isinstance(precision, str):
40
+ precision = float(precision)
41
+ assert isinstance(precision, float) or isinstance(precision, decimal.Decimal) or isinstance(precision, numbers.Integral), 'precision has an invalid number'
42
42
 
43
43
  if counting_mode == TICK_SIZE:
44
- assert numPrecisionDigits > 0, 'negative or zero numPrecisionDigits can not be used with TICK_SIZE precisionMode'
44
+ assert precision > 0, 'negative or zero precision can not be used with TICK_SIZE precisionMode'
45
45
  else:
46
- assert isinstance(numPrecisionDigits, numbers.Integral)
46
+ assert isinstance(precision, numbers.Integral)
47
47
 
48
48
  assert rounding_mode in [TRUNCATE, ROUND]
49
49
  assert counting_mode in [DECIMAL_PLACES, SIGNIFICANT_DIGITS, TICK_SIZE]
50
50
  assert padding_mode in [NO_PADDING, PAD_WITH_ZERO]
51
51
  # end of checks
52
52
 
53
- precision = numPrecisionDigits # "precision" variable name was in signature, but to make function signature similar to php/js, I had to change the argument name to "numPrecisionDigits". however, the below codes use "precision" variable name, so we have to assign that name here (you can change the usage of 'precision' variable name below everywhere, but i've refrained to do that to avoid many changes)
54
-
55
53
  context = decimal.getcontext()
56
54
 
57
55
  if counting_mode != TICK_SIZE:
okx/ccxt/base/errors.py CHANGED
@@ -23,6 +23,7 @@ error_hierarchy = {
23
23
  },
24
24
  'MarketClosed': {},
25
25
  'ManualInteractionNeeded': {},
26
+ 'RestrictedLocation': {},
26
27
  },
27
28
  'InsufficientFunds': {},
28
29
  'InvalidAddress': {
@@ -118,6 +119,10 @@ class ManualInteractionNeeded(OperationRejected):
118
119
  pass
119
120
 
120
121
 
122
+ class RestrictedLocation(OperationRejected):
123
+ pass
124
+
125
+
121
126
  class InsufficientFunds(ExchangeError):
122
127
  pass
123
128
 
@@ -238,6 +243,7 @@ __all__ = [
238
243
  'MarginModeAlreadySet',
239
244
  'MarketClosed',
240
245
  'ManualInteractionNeeded',
246
+ 'RestrictedLocation',
241
247
  'InsufficientFunds',
242
248
  'InvalidAddress',
243
249
  'AddressPending',
okx/ccxt/base/exchange.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.96'
7
+ __version__ = '4.4.98'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
okx/ccxt/okx.py CHANGED
@@ -18,6 +18,7 @@ from ccxt.base.errors import BadRequest
18
18
  from ccxt.base.errors import BadSymbol
19
19
  from ccxt.base.errors import OperationRejected
20
20
  from ccxt.base.errors import ManualInteractionNeeded
21
+ from ccxt.base.errors import RestrictedLocation
21
22
  from ccxt.base.errors import InsufficientFunds
22
23
  from ccxt.base.errors import InvalidAddress
23
24
  from ccxt.base.errors import InvalidOrder
@@ -761,6 +762,7 @@ class okx(Exchange, ImplicitAPI):
761
762
  '51137': InvalidOrder, # Your opening price has triggered the limit price, and the max buy price is {0}
762
763
  '51138': InvalidOrder, # Your opening price has triggered the limit price, and the min sell price is {0}
763
764
  '51139': InvalidOrder, # Reduce-only feature is unavailable for the spot transactions by simple account
765
+ '51155': RestrictedLocation, # {"code":"1","data":[{"clOrdId":"e847xxx","ordId":"","sCode":"51155","sMsg":"You can't trade self pair or borrow self crypto due to local compliance restrictions. ","tag":"e847xxx","ts":"1753979177157"}],"inTime":"1753979177157408","msg":"All operations failed","outTime":"1753979177157874"}
764
766
  '51156': BadRequest, # You're leading trades in long/short mode and can't use self API endpoint to close positions
765
767
  '51159': BadRequest, # You're leading trades in buy/sell mode. If you want to place orders using self API endpoint, the orders must be in the same direction existing positions and open orders.
766
768
  '51162': InvalidOrder, # You have {instrument} open orders. Cancel these orders and try again
okx/ccxt/pro/__init__.py CHANGED
@@ -8,7 +8,7 @@ sys.modules['ccxt'] = ccxt_module
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
11
- __version__ = '4.4.96'
11
+ __version__ = '4.4.98'
12
12
 
13
13
  # ----------------------------------------------------------------------------
14
14
 
@@ -31,6 +31,7 @@ from ccxt.base.errors import NoChange # noqa: F4
31
31
  from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
32
32
  from ccxt.base.errors import MarketClosed # noqa: F401
33
33
  from ccxt.base.errors import ManualInteractionNeeded # noqa: F401
34
+ from ccxt.base.errors import RestrictedLocation # noqa: F401
34
35
  from ccxt.base.errors import InsufficientFunds # noqa: F401
35
36
  from ccxt.base.errors import InvalidAddress # noqa: F401
36
37
  from ccxt.base.errors import AddressPending # noqa: F401
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: okx-exchange
3
- Version: 0.0.78
3
+ Version: 0.0.80
4
4
  Summary: okx crypto exchange api client
5
5
  Project-URL: Homepage, https://github.com/ccxt/ccxt
6
6
  Project-URL: Issues, https://github.com/ccxt/ccxt
@@ -1,11 +1,11 @@
1
1
  okx/__init__.py,sha256=SLqs4d-SexaSbdW86VEbgXzMVyX9dwVlxXtQ8_Zm0T0,210
2
- okx/ccxt/__init__.py,sha256=DS14haKJiK06wH_yMmuT7KGQlg-xfwq2OAJS5L6HOYs,6042
3
- okx/ccxt/okx.py,sha256=UeKjKRrzwXzNFJEFDn52toigVhd5JimDKbdw0CCvKhI,407231
2
+ okx/ccxt/__init__.py,sha256=9ZonUV1jAZhD-EUKbHjrh93lwHkg9ow2bzmKRpSqHwg,6125
3
+ okx/ccxt/okx.py,sha256=mkTCAItKUHl_f_WqiHwOtewykXqPg0bYlBuRx_EByJk,407622
4
4
  okx/ccxt/abstract/okx.py,sha256=vf8yrYRfX1K30qzmLmTUDCRoDObSMbYX437FPKfBCXY,52434
5
- okx/ccxt/async_support/__init__.py,sha256=5lXzgs7oo_UDINsZQ1NZqkGkcE3OBQ0kei-Gnb6cxfA,4775
6
- okx/ccxt/async_support/okx.py,sha256=qIIWRHVN1Osnrq3kCsMS0XqBgY4sT5zyghMN5IvbVP0,408950
5
+ okx/ccxt/async_support/__init__.py,sha256=rYXWzEvK7iJtRYP-Ut5NwSuw1MltgL3oxHLXhf4SkPA,4858
6
+ okx/ccxt/async_support/okx.py,sha256=H2Rz8PX3VfFUEIfC91fKRh6F8RRz0F-u0Ol5Ja32gMc,409341
7
7
  okx/ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
8
- okx/ccxt/async_support/base/exchange.py,sha256=5YrTOaoiX9ws39WT_JWs_g3anZAMiPSc1eXiD56Sh0Q,119773
8
+ okx/ccxt/async_support/base/exchange.py,sha256=h7rGS7bj1QxT69nooadJgVM1UToAauxTskymPAMf7wo,119769
9
9
  okx/ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
10
10
  okx/ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
11
11
  okx/ccxt/async_support/base/ws/cache.py,sha256=xf2VOtfUwloxSlIQ39M1RGZHWQzyS9IGhB5NX6cDcAc,8370
@@ -15,12 +15,12 @@ okx/ccxt/async_support/base/ws/future.py,sha256=hjdQ42zkfju5nar0GpTLJ4zXQBtgBU8D
15
15
  okx/ccxt/async_support/base/ws/order_book.py,sha256=uBUaIHhzMRykpmo4BCsdJ-t_HozS6VxhEs8x-Kbj-NI,2894
16
16
  okx/ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmBJLCI5FHIRdMz1O-g,6551
17
17
  okx/ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
18
- okx/ccxt/base/decimal_to_precision.py,sha256=XQNziSPUz4UqhIvNx0aDx6-3wSSgZBTsMX57rM7WGPM,7330
19
- okx/ccxt/base/errors.py,sha256=MvCrL_sAM3de616T6RE0PSxiF2xV6Qqz5b1y1ghidbk,4888
20
- okx/ccxt/base/exchange.py,sha256=3LI4McirkCUEz1090jMfedqTtOae-Gqcl94_oeNf23c,333932
18
+ okx/ccxt/base/decimal_to_precision.py,sha256=3XI30u9YudHbTA438397u5rkdlXa3atxwZEfUus3C4k,6803
19
+ okx/ccxt/base/errors.py,sha256=OGhWNvNtRlJOzFx-n1x3ZjTnaPpfWH0Vc0xACS-MeDw,5012
20
+ okx/ccxt/base/exchange.py,sha256=5KgAUmwjrHelR87gaxFRZzaju7B3csvnlUzkuw6mpJE,333932
21
21
  okx/ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
22
22
  okx/ccxt/base/types.py,sha256=vMQfFDVntED4YHrRJt0Q98YaM7OtGhK-DkbkqXFTYHc,11485
23
- okx/ccxt/pro/__init__.py,sha256=jg8Z0Y_GYW1wC9WDJ_OLIXZ1FEEPkb3hnS2bBi1vcho,4089
23
+ okx/ccxt/pro/__init__.py,sha256=vGOFNgLYy5Gbnd77CtEO6Jz8tUWi4CW8XoEqncvru7I,4172
24
24
  okx/ccxt/pro/okx.py,sha256=DHQ6muxmyFV7KBUoARBHg5cr03QqUAg2etYnqsplhCM,104672
25
25
  okx/ccxt/static_dependencies/README.md,sha256=3TCvhhn09_Cqf9BDDpao1V7EfKHDpQ6k9oWRsLFixpU,18
26
26
  okx/ccxt/static_dependencies/__init__.py,sha256=tzFje8cloqmiIE6kola3EaYC0SnD1izWnri69hzHsSw,168
@@ -281,6 +281,6 @@ okx/ccxt/static_dependencies/toolz/curried/exceptions.py,sha256=gKFOHDIayAWnX2uC
281
281
  okx/ccxt/static_dependencies/toolz/curried/operator.py,sha256=ML92mknkAwzBl2NCm-4werSUmJEtSHNY9NSzhseNM9s,525
282
282
  okx/ccxt/static_dependencies/typing_inspect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
283
283
  okx/ccxt/static_dependencies/typing_inspect/typing_inspect.py,sha256=5gIWomLPfuDpgd3gX1GlnX0MuXM3VorR4j2W2qXORiQ,28269
284
- okx_exchange-0.0.78.dist-info/METADATA,sha256=GtCw8IdnGguVcSXArEc2hdXF2ozHgbLCqKn5Nd0V-mQ,30563
285
- okx_exchange-0.0.78.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
286
- okx_exchange-0.0.78.dist-info/RECORD,,
284
+ okx_exchange-0.0.80.dist-info/METADATA,sha256=WAdF-7V3b0hGwjiQzbjOPTX3L1WuwgtjYZLIVrYC5-o,30563
285
+ okx_exchange-0.0.80.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
286
+ okx_exchange-0.0.80.dist-info/RECORD,,