ccxt 4.3.43__py2.py3-none-any.whl → 4.3.45__py2.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.
- ccxt/__init__.py +5 -1
- ccxt/abstract/bitstamp.py +18 -2
- ccxt/abstract/kucoin.py +14 -0
- ccxt/abstract/kucoinfutures.py +14 -0
- ccxt/abstract/oxfun.py +34 -0
- ccxt/abstract/xt.py +152 -0
- ccxt/async_support/__init__.py +5 -1
- ccxt/async_support/base/exchange.py +1 -1
- ccxt/async_support/bitstamp.py +18 -2
- ccxt/async_support/kucoin.py +27 -1
- ccxt/async_support/luno.py +9 -1
- ccxt/async_support/lykke.py +10 -2
- ccxt/async_support/ndax.py +5 -1
- ccxt/async_support/oxfun.py +2773 -0
- ccxt/async_support/poloniexfutures.py +2 -2
- ccxt/async_support/wavesexchange.py +118 -105
- ccxt/async_support/xt.py +4454 -0
- ccxt/base/exchange.py +1 -1
- ccxt/bitstamp.py +18 -2
- ccxt/kucoin.py +27 -1
- ccxt/luno.py +9 -1
- ccxt/lykke.py +10 -2
- ccxt/ndax.py +5 -1
- ccxt/oxfun.py +2772 -0
- ccxt/poloniexfutures.py +2 -2
- ccxt/pro/__init__.py +3 -1
- ccxt/pro/bitmex.py +6 -0
- ccxt/pro/oxfun.py +950 -0
- ccxt/pro/woo.py +1 -1
- ccxt/test/test_async.py +37 -1
- ccxt/test/test_sync.py +37 -1
- ccxt/wavesexchange.py +118 -105
- ccxt/xt.py +4453 -0
- {ccxt-4.3.43.dist-info → ccxt-4.3.45.dist-info}/METADATA +8 -6
- {ccxt-4.3.43.dist-info → ccxt-4.3.45.dist-info}/RECORD +37 -30
- {ccxt-4.3.43.dist-info → ccxt-4.3.45.dist-info}/WHEEL +0 -0
- {ccxt-4.3.43.dist-info → ccxt-4.3.45.dist-info}/top_level.txt +0 -0
ccxt/base/exchange.py
CHANGED
ccxt/bitstamp.py
CHANGED
@@ -232,7 +232,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
232
232
|
'uni_withdrawal/': 1,
|
233
233
|
'uni_address/': 1,
|
234
234
|
'yfi_withdrawal/': 1,
|
235
|
-
'yfi_address': 1,
|
235
|
+
'yfi_address/': 1,
|
236
236
|
'audio_withdrawal/': 1,
|
237
237
|
'audio_address/': 1,
|
238
238
|
'crv_withdrawal/': 1,
|
@@ -241,7 +241,7 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
241
241
|
'algo_address/': 1,
|
242
242
|
'comp_withdrawal/': 1,
|
243
243
|
'comp_address/': 1,
|
244
|
-
'grt_withdrawal': 1,
|
244
|
+
'grt_withdrawal/': 1,
|
245
245
|
'grt_address/': 1,
|
246
246
|
'usdt_withdrawal/': 1,
|
247
247
|
'usdt_address/': 1,
|
@@ -379,6 +379,22 @@ class bitstamp(Exchange, ImplicitAPI):
|
|
379
379
|
'vchf_address/': 1,
|
380
380
|
'veur_withdrawal/': 1,
|
381
381
|
'veur_address/': 1,
|
382
|
+
'truf_withdrawal/': 1,
|
383
|
+
'truf_address/': 1,
|
384
|
+
'wif_withdrawal/': 1,
|
385
|
+
'wif_address/': 1,
|
386
|
+
'smt_withdrawal/': 1,
|
387
|
+
'smt_address/': 1,
|
388
|
+
'sui_withdrawal/': 1,
|
389
|
+
'sui_address/': 1,
|
390
|
+
'jup_withdrawal/': 1,
|
391
|
+
'jup_address/': 1,
|
392
|
+
'ondo_withdrawal/': 1,
|
393
|
+
'ondo_address/': 1,
|
394
|
+
'boba_withdrawal/': 1,
|
395
|
+
'boba_address/': 1,
|
396
|
+
'pyth_withdrawal/': 1,
|
397
|
+
'pyth_address/': 1,
|
382
398
|
},
|
383
399
|
},
|
384
400
|
},
|
ccxt/kucoin.py
CHANGED
@@ -140,6 +140,7 @@ class kucoin(Exchange, ImplicitAPI):
|
|
140
140
|
'futuresPublic': 'https://api-futures.kucoin.com',
|
141
141
|
'webExchange': 'https://kucoin.com/_api',
|
142
142
|
'broker': 'https://api-broker.kucoin.com',
|
143
|
+
'earn': 'https://api.kucoin.com',
|
143
144
|
},
|
144
145
|
'www': 'https://www.kucoin.com',
|
145
146
|
'doc': [
|
@@ -407,6 +408,9 @@ class kucoin(Exchange, ImplicitAPI):
|
|
407
408
|
'broker/nd/account': 2,
|
408
409
|
'broker/nd/account/apikey': 2,
|
409
410
|
'broker/nd/rebase/download': 3,
|
411
|
+
'broker/nd/transfer/detail': 1,
|
412
|
+
'broker/nd/deposit/detail': 1,
|
413
|
+
'broker/nd/withdraw/detail': 1,
|
410
414
|
},
|
411
415
|
'post': {
|
412
416
|
'broker/nd/transfer': 1,
|
@@ -418,6 +422,25 @@ class kucoin(Exchange, ImplicitAPI):
|
|
418
422
|
'broker/nd/account/apikey': 3,
|
419
423
|
},
|
420
424
|
},
|
425
|
+
'earn': {
|
426
|
+
'get': {
|
427
|
+
'otc-loan/loan': 1,
|
428
|
+
'otc-loan/accounts': 1,
|
429
|
+
'earn/redeem-preview': 7.5, # 5EW
|
430
|
+
'earn/saving/products': 7.5, # 5EW
|
431
|
+
'earn/hold-assets': 7.5, # 5EW
|
432
|
+
'earn/promotion/products': 7.5, # 5EW
|
433
|
+
'earn/kcs-staking/products': 7.5, # 5EW
|
434
|
+
'earn/staking/products': 7.5, # 5EW
|
435
|
+
'earn/eth-staking/products': 7.5, # 5EW
|
436
|
+
},
|
437
|
+
'post': {
|
438
|
+
'earn/orders': 7.5, # 5EW
|
439
|
+
},
|
440
|
+
'delete': {
|
441
|
+
'earn/orders': 7.5, # 5EW
|
442
|
+
},
|
443
|
+
},
|
421
444
|
},
|
422
445
|
'timeframes': {
|
423
446
|
'1m': '1min',
|
@@ -4506,6 +4529,8 @@ class kucoin(Exchange, ImplicitAPI):
|
|
4506
4529
|
endpoint = '/api/' + version + '/' + self.implode_params(path, params)
|
4507
4530
|
if api == 'webExchange':
|
4508
4531
|
endpoint = '/' + self.implode_params(path, params)
|
4532
|
+
if api == 'earn':
|
4533
|
+
endpoint = '/api/v1/' + self.implode_params(path, params)
|
4509
4534
|
query = self.omit(params, self.extract_params(path))
|
4510
4535
|
endpart = ''
|
4511
4536
|
headers = headers if (headers is not None) else {}
|
@@ -4521,7 +4546,8 @@ class kucoin(Exchange, ImplicitAPI):
|
|
4521
4546
|
isFuturePrivate = (api == 'futuresPrivate')
|
4522
4547
|
isPrivate = (api == 'private')
|
4523
4548
|
isBroker = (api == 'broker')
|
4524
|
-
|
4549
|
+
isEarn = (api == 'earn')
|
4550
|
+
if isPrivate or isFuturePrivate or isBroker or isEarn:
|
4525
4551
|
self.check_required_credentials()
|
4526
4552
|
timestamp = str(self.nonce())
|
4527
4553
|
headers = self.extend({
|
ccxt/luno.py
CHANGED
@@ -897,7 +897,15 @@ class luno(Exchange, ImplicitAPI):
|
|
897
897
|
request: dict = {
|
898
898
|
'order_id': id,
|
899
899
|
}
|
900
|
-
|
900
|
+
response = self.privatePostStoporder(self.extend(request, params))
|
901
|
+
#
|
902
|
+
# {
|
903
|
+
# "success": True
|
904
|
+
# }
|
905
|
+
#
|
906
|
+
return self.safe_order({
|
907
|
+
'info': response,
|
908
|
+
})
|
901
909
|
|
902
910
|
def fetch_ledger_by_entries(self, code: Str = None, entry=None, limit=None, params={}):
|
903
911
|
# by default without entry number or limit number, return most recent entry
|
ccxt/lykke.py
CHANGED
@@ -858,7 +858,10 @@ class lykke(Exchange, ImplicitAPI):
|
|
858
858
|
# "error":null
|
859
859
|
# }
|
860
860
|
#
|
861
|
-
|
861
|
+
response = self.privateDeleteOrdersOrderId(self.extend(request, params))
|
862
|
+
return self.safe_order({
|
863
|
+
'info': response,
|
864
|
+
})
|
862
865
|
|
863
866
|
def cancel_all_orders(self, symbol: Str = None, params={}):
|
864
867
|
"""
|
@@ -882,7 +885,12 @@ class lykke(Exchange, ImplicitAPI):
|
|
882
885
|
# "error":null
|
883
886
|
# }
|
884
887
|
#
|
885
|
-
|
888
|
+
response = self.privateDeleteOrders(self.extend(request, params))
|
889
|
+
return [
|
890
|
+
self.safe_order({
|
891
|
+
'info': response,
|
892
|
+
}),
|
893
|
+
]
|
886
894
|
|
887
895
|
def fetch_order(self, id: str, symbol: Str = None, params={}):
|
888
896
|
"""
|
ccxt/ndax.py
CHANGED
@@ -1510,7 +1510,11 @@ class ndax(Exchange, ImplicitAPI):
|
|
1510
1510
|
# "detail":null
|
1511
1511
|
# }
|
1512
1512
|
#
|
1513
|
-
return
|
1513
|
+
return [
|
1514
|
+
self.safe_order({
|
1515
|
+
'info': response,
|
1516
|
+
}),
|
1517
|
+
]
|
1514
1518
|
|
1515
1519
|
def cancel_order(self, id: str, symbol: Str = None, params={}):
|
1516
1520
|
"""
|