ccxt 4.2.85__py2.py3-none-any.whl → 4.2.87__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.
Files changed (84) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/coinex.py +232 -123
  3. ccxt/ascendex.py +16 -6
  4. ccxt/async_support/__init__.py +1 -1
  5. ccxt/async_support/ascendex.py +16 -6
  6. ccxt/async_support/base/exchange.py +1 -1
  7. ccxt/async_support/binance.py +18 -5
  8. ccxt/async_support/bingx.py +72 -22
  9. ccxt/async_support/bitbank.py +19 -21
  10. ccxt/async_support/bitfinex.py +2 -0
  11. ccxt/async_support/bitfinex2.py +18 -4
  12. ccxt/async_support/bitflyer.py +18 -0
  13. ccxt/async_support/bitget.py +20 -6
  14. ccxt/async_support/bitopro.py +2 -0
  15. ccxt/async_support/bitrue.py +16 -8
  16. ccxt/async_support/bitvavo.py +2 -0
  17. ccxt/async_support/btcmarkets.py +1 -1
  18. ccxt/async_support/btcturk.py +2 -1
  19. ccxt/async_support/coinex.py +572 -306
  20. ccxt/async_support/currencycom.py +1 -1
  21. ccxt/async_support/delta.py +8 -6
  22. ccxt/async_support/digifinex.py +9 -7
  23. ccxt/async_support/exmo.py +15 -15
  24. ccxt/async_support/gate.py +9 -6
  25. ccxt/async_support/hitbtc.py +31 -7
  26. ccxt/async_support/htx.py +2 -2
  27. ccxt/async_support/huobijp.py +1 -1
  28. ccxt/async_support/hyperliquid.py +242 -16
  29. ccxt/async_support/idex.py +11 -11
  30. ccxt/async_support/krakenfutures.py +2 -4
  31. ccxt/async_support/kucoinfutures.py +2 -2
  32. ccxt/async_support/lbank.py +2 -0
  33. ccxt/async_support/mexc.py +3 -3
  34. ccxt/async_support/oceanex.py +1 -1
  35. ccxt/async_support/okcoin.py +2 -1
  36. ccxt/async_support/okx.py +29 -15
  37. ccxt/async_support/phemex.py +6 -4
  38. ccxt/async_support/wazirx.py +1 -1
  39. ccxt/async_support/zonda.py +2 -0
  40. ccxt/base/exchange.py +1 -1
  41. ccxt/base/types.py +12 -0
  42. ccxt/binance.py +18 -5
  43. ccxt/bingx.py +72 -22
  44. ccxt/bitbank.py +19 -21
  45. ccxt/bitfinex.py +2 -0
  46. ccxt/bitfinex2.py +18 -4
  47. ccxt/bitflyer.py +18 -0
  48. ccxt/bitget.py +20 -6
  49. ccxt/bitopro.py +2 -0
  50. ccxt/bitrue.py +16 -8
  51. ccxt/bitvavo.py +2 -0
  52. ccxt/btcmarkets.py +1 -1
  53. ccxt/btcturk.py +2 -1
  54. ccxt/coinex.py +572 -306
  55. ccxt/currencycom.py +1 -1
  56. ccxt/delta.py +8 -6
  57. ccxt/digifinex.py +9 -7
  58. ccxt/exmo.py +15 -15
  59. ccxt/gate.py +9 -6
  60. ccxt/hitbtc.py +31 -7
  61. ccxt/htx.py +2 -2
  62. ccxt/huobijp.py +1 -1
  63. ccxt/hyperliquid.py +241 -16
  64. ccxt/idex.py +11 -11
  65. ccxt/krakenfutures.py +2 -4
  66. ccxt/kucoinfutures.py +2 -2
  67. ccxt/lbank.py +2 -0
  68. ccxt/mexc.py +3 -3
  69. ccxt/oceanex.py +1 -1
  70. ccxt/okcoin.py +2 -1
  71. ccxt/okx.py +29 -15
  72. ccxt/phemex.py +6 -4
  73. ccxt/pro/__init__.py +1 -1
  74. ccxt/pro/bitget.py +1 -0
  75. ccxt/pro/kucoin.py +10 -6
  76. ccxt/test/base/test_last_price.py +0 -1
  77. ccxt/test/base/test_shared_methods.py +1 -2
  78. ccxt/test/base/test_status.py +1 -1
  79. ccxt/wazirx.py +1 -1
  80. ccxt/zonda.py +2 -0
  81. {ccxt-4.2.85.dist-info → ccxt-4.2.87.dist-info}/METADATA +6 -6
  82. {ccxt-4.2.85.dist-info → ccxt-4.2.87.dist-info}/RECORD +84 -84
  83. {ccxt-4.2.85.dist-info → ccxt-4.2.87.dist-info}/WHEEL +0 -0
  84. {ccxt-4.2.85.dist-info → ccxt-4.2.87.dist-info}/top_level.txt +0 -0
ccxt/__init__.py CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.2.85'
25
+ __version__ = '4.2.87'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
ccxt/abstract/coinex.py CHANGED
@@ -2,126 +2,235 @@ from ccxt.base.types import Entry
2
2
 
3
3
 
4
4
  class ImplicitAPI:
5
- public_get_amm_market = publicGetAmmMarket = Entry('amm/market', 'public', 'GET', {'cost': 1})
6
- public_get_common_currency_rate = publicGetCommonCurrencyRate = Entry('common/currency/rate', 'public', 'GET', {'cost': 1})
7
- public_get_common_asset_config = publicGetCommonAssetConfig = Entry('common/asset/config', 'public', 'GET', {'cost': 1})
8
- public_get_common_maintain_info = publicGetCommonMaintainInfo = Entry('common/maintain/info', 'public', 'GET', {'cost': 1})
9
- public_get_common_temp_maintain_info = publicGetCommonTempMaintainInfo = Entry('common/temp-maintain/info', 'public', 'GET', {'cost': 1})
10
- public_get_margin_market = publicGetMarginMarket = Entry('margin/market', 'public', 'GET', {'cost': 1})
11
- public_get_market_info = publicGetMarketInfo = Entry('market/info', 'public', 'GET', {'cost': 1})
12
- public_get_market_list = publicGetMarketList = Entry('market/list', 'public', 'GET', {'cost': 1})
13
- public_get_market_ticker = publicGetMarketTicker = Entry('market/ticker', 'public', 'GET', {'cost': 1})
14
- public_get_market_ticker_all = publicGetMarketTickerAll = Entry('market/ticker/all', 'public', 'GET', {'cost': 1})
15
- public_get_market_depth = publicGetMarketDepth = Entry('market/depth', 'public', 'GET', {'cost': 1})
16
- public_get_market_deals = publicGetMarketDeals = Entry('market/deals', 'public', 'GET', {'cost': 1})
17
- public_get_market_kline = publicGetMarketKline = Entry('market/kline', 'public', 'GET', {'cost': 1})
18
- public_get_market_detail = publicGetMarketDetail = Entry('market/detail', 'public', 'GET', {'cost': 1})
19
- private_get_account_amm_balance = privateGetAccountAmmBalance = Entry('account/amm/balance', 'private', 'GET', {'cost': 40})
20
- private_get_account_investment_balance = privateGetAccountInvestmentBalance = Entry('account/investment/balance', 'private', 'GET', {'cost': 40})
21
- private_get_account_balance_history = privateGetAccountBalanceHistory = Entry('account/balance/history', 'private', 'GET', {'cost': 40})
22
- private_get_account_market_fee = privateGetAccountMarketFee = Entry('account/market/fee', 'private', 'GET', {'cost': 40})
23
- private_get_balance_coin_deposit = privateGetBalanceCoinDeposit = Entry('balance/coin/deposit', 'private', 'GET', {'cost': 40})
24
- private_get_balance_coin_withdraw = privateGetBalanceCoinWithdraw = Entry('balance/coin/withdraw', 'private', 'GET', {'cost': 40})
25
- private_get_balance_info = privateGetBalanceInfo = Entry('balance/info', 'private', 'GET', {'cost': 40})
26
- private_get_balance_deposit_address_coin_type = privateGetBalanceDepositAddressCoinType = Entry('balance/deposit/address/{coin_type}', 'private', 'GET', {'cost': 40})
27
- private_get_contract_transfer_history = privateGetContractTransferHistory = Entry('contract/transfer/history', 'private', 'GET', {'cost': 40})
28
- private_get_credit_info = privateGetCreditInfo = Entry('credit/info', 'private', 'GET', {'cost': 40})
29
- private_get_credit_balance = privateGetCreditBalance = Entry('credit/balance', 'private', 'GET', {'cost': 40})
30
- private_get_investment_transfer_history = privateGetInvestmentTransferHistory = Entry('investment/transfer/history', 'private', 'GET', {'cost': 40})
31
- private_get_margin_account = privateGetMarginAccount = Entry('margin/account', 'private', 'GET', {'cost': 1})
32
- private_get_margin_config = privateGetMarginConfig = Entry('margin/config', 'private', 'GET', {'cost': 1})
33
- private_get_margin_loan_history = privateGetMarginLoanHistory = Entry('margin/loan/history', 'private', 'GET', {'cost': 40})
34
- private_get_margin_transfer_history = privateGetMarginTransferHistory = Entry('margin/transfer/history', 'private', 'GET', {'cost': 40})
35
- private_get_order_deals = privateGetOrderDeals = Entry('order/deals', 'private', 'GET', {'cost': 40})
36
- private_get_order_finished = privateGetOrderFinished = Entry('order/finished', 'private', 'GET', {'cost': 40})
37
- private_get_order_pending = privateGetOrderPending = Entry('order/pending', 'private', 'GET', {'cost': 8})
38
- private_get_order_status = privateGetOrderStatus = Entry('order/status', 'private', 'GET', {'cost': 8})
39
- private_get_order_status_batch = privateGetOrderStatusBatch = Entry('order/status/batch', 'private', 'GET', {'cost': 8})
40
- private_get_order_user_deals = privateGetOrderUserDeals = Entry('order/user/deals', 'private', 'GET', {'cost': 40})
41
- private_get_order_stop_finished = privateGetOrderStopFinished = Entry('order/stop/finished', 'private', 'GET', {'cost': 40})
42
- private_get_order_stop_pending = privateGetOrderStopPending = Entry('order/stop/pending', 'private', 'GET', {'cost': 8})
43
- private_get_order_user_trade_fee = privateGetOrderUserTradeFee = Entry('order/user/trade/fee', 'private', 'GET', {'cost': 1})
44
- private_get_order_market_trade_info = privateGetOrderMarketTradeInfo = Entry('order/market/trade/info', 'private', 'GET', {'cost': 1})
45
- private_get_sub_account_balance = privateGetSubAccountBalance = Entry('sub_account/balance', 'private', 'GET', {'cost': 1})
46
- private_get_sub_account_transfer_history = privateGetSubAccountTransferHistory = Entry('sub_account/transfer/history', 'private', 'GET', {'cost': 40})
47
- private_get_sub_account_auth_api = privateGetSubAccountAuthApi = Entry('sub_account/auth/api', 'private', 'GET', {'cost': 40})
48
- private_get_sub_account_auth_api_user_auth_id = privateGetSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', 'private', 'GET', {'cost': 40})
49
- private_post_balance_coin_withdraw = privatePostBalanceCoinWithdraw = Entry('balance/coin/withdraw', 'private', 'POST', {'cost': 40})
50
- private_post_contract_balance_transfer = privatePostContractBalanceTransfer = Entry('contract/balance/transfer', 'private', 'POST', {'cost': 40})
51
- private_post_margin_flat = privatePostMarginFlat = Entry('margin/flat', 'private', 'POST', {'cost': 40})
52
- private_post_margin_loan = privatePostMarginLoan = Entry('margin/loan', 'private', 'POST', {'cost': 40})
53
- private_post_margin_transfer = privatePostMarginTransfer = Entry('margin/transfer', 'private', 'POST', {'cost': 40})
54
- private_post_order_limit_batch = privatePostOrderLimitBatch = Entry('order/limit/batch', 'private', 'POST', {'cost': 40})
55
- private_post_order_ioc = privatePostOrderIoc = Entry('order/ioc', 'private', 'POST', {'cost': 13.334})
56
- private_post_order_limit = privatePostOrderLimit = Entry('order/limit', 'private', 'POST', {'cost': 13.334})
57
- private_post_order_market = privatePostOrderMarket = Entry('order/market', 'private', 'POST', {'cost': 13.334})
58
- private_post_order_modify = privatePostOrderModify = Entry('order/modify', 'private', 'POST', {'cost': 13.334})
59
- private_post_order_stop_limit = privatePostOrderStopLimit = Entry('order/stop/limit', 'private', 'POST', {'cost': 13.334})
60
- private_post_order_stop_market = privatePostOrderStopMarket = Entry('order/stop/market', 'private', 'POST', {'cost': 13.334})
61
- private_post_order_stop_modify = privatePostOrderStopModify = Entry('order/stop/modify', 'private', 'POST', {'cost': 13.334})
62
- private_post_sub_account_transfer = privatePostSubAccountTransfer = Entry('sub_account/transfer', 'private', 'POST', {'cost': 40})
63
- private_post_sub_account_register = privatePostSubAccountRegister = Entry('sub_account/register', 'private', 'POST', {'cost': 1})
64
- private_post_sub_account_unfrozen = privatePostSubAccountUnfrozen = Entry('sub_account/unfrozen', 'private', 'POST', {'cost': 40})
65
- private_post_sub_account_frozen = privatePostSubAccountFrozen = Entry('sub_account/frozen', 'private', 'POST', {'cost': 40})
66
- private_post_sub_account_auth_api = privatePostSubAccountAuthApi = Entry('sub_account/auth/api', 'private', 'POST', {'cost': 40})
67
- private_put_balance_deposit_address_coin_type = privatePutBalanceDepositAddressCoinType = Entry('balance/deposit/address/{coin_type}', 'private', 'PUT', {'cost': 40})
68
- private_put_sub_account_unfrozen = privatePutSubAccountUnfrozen = Entry('sub_account/unfrozen', 'private', 'PUT', {'cost': 40})
69
- private_put_sub_account_frozen = privatePutSubAccountFrozen = Entry('sub_account/frozen', 'private', 'PUT', {'cost': 40})
70
- private_put_sub_account_auth_api_user_auth_id = privatePutSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', 'private', 'PUT', {'cost': 40})
71
- private_put_v1_account_settings = privatePutV1AccountSettings = Entry('v1/account/settings', 'private', 'PUT', {'cost': 40})
72
- private_delete_balance_coin_withdraw = privateDeleteBalanceCoinWithdraw = Entry('balance/coin/withdraw', 'private', 'DELETE', {'cost': 40})
73
- private_delete_order_pending_batch = privateDeleteOrderPendingBatch = Entry('order/pending/batch', 'private', 'DELETE', {'cost': 40})
74
- private_delete_order_pending = privateDeleteOrderPending = Entry('order/pending', 'private', 'DELETE', {'cost': 13.334})
75
- private_delete_order_stop_pending = privateDeleteOrderStopPending = Entry('order/stop/pending', 'private', 'DELETE', {'cost': 40})
76
- private_delete_order_stop_pending_id = privateDeleteOrderStopPendingId = Entry('order/stop/pending/{id}', 'private', 'DELETE', {'cost': 13.334})
77
- private_delete_order_pending_by_client_id = privateDeleteOrderPendingByClientId = Entry('order/pending/by_client_id', 'private', 'DELETE', {'cost': 40})
78
- private_delete_order_stop_pending_by_client_id = privateDeleteOrderStopPendingByClientId = Entry('order/stop/pending/by_client_id', 'private', 'DELETE', {'cost': 40})
79
- private_delete_sub_account_auth_api_user_auth_id = privateDeleteSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', 'private', 'DELETE', {'cost': 40})
80
- private_delete_sub_account_authorize_id = privateDeleteSubAccountAuthorizeId = Entry('sub_account/authorize/{id}', 'private', 'DELETE', {'cost': 40})
81
- perpetualpublic_get_ping = perpetualPublicGetPing = Entry('ping', 'perpetualPublic', 'GET', {'cost': 1})
82
- perpetualpublic_get_time = perpetualPublicGetTime = Entry('time', 'perpetualPublic', 'GET', {'cost': 1})
83
- perpetualpublic_get_market_list = perpetualPublicGetMarketList = Entry('market/list', 'perpetualPublic', 'GET', {'cost': 1})
84
- perpetualpublic_get_market_limit_config = perpetualPublicGetMarketLimitConfig = Entry('market/limit_config', 'perpetualPublic', 'GET', {'cost': 1})
85
- perpetualpublic_get_market_ticker = perpetualPublicGetMarketTicker = Entry('market/ticker', 'perpetualPublic', 'GET', {'cost': 1})
86
- perpetualpublic_get_market_ticker_all = perpetualPublicGetMarketTickerAll = Entry('market/ticker/all', 'perpetualPublic', 'GET', {'cost': 1})
87
- perpetualpublic_get_market_depth = perpetualPublicGetMarketDepth = Entry('market/depth', 'perpetualPublic', 'GET', {'cost': 1})
88
- perpetualpublic_get_market_deals = perpetualPublicGetMarketDeals = Entry('market/deals', 'perpetualPublic', 'GET', {'cost': 1})
89
- perpetualpublic_get_market_funding_history = perpetualPublicGetMarketFundingHistory = Entry('market/funding_history', 'perpetualPublic', 'GET', {'cost': 1})
90
- perpetualpublic_get_market_kline = perpetualPublicGetMarketKline = Entry('market/kline', 'perpetualPublic', 'GET', {'cost': 1})
91
- perpetualprivate_get_market_user_deals = perpetualPrivateGetMarketUserDeals = Entry('market/user_deals', 'perpetualPrivate', 'GET', {'cost': 1})
92
- perpetualprivate_get_asset_query = perpetualPrivateGetAssetQuery = Entry('asset/query', 'perpetualPrivate', 'GET', {'cost': 40})
93
- perpetualprivate_get_order_pending = perpetualPrivateGetOrderPending = Entry('order/pending', 'perpetualPrivate', 'GET', {'cost': 8})
94
- perpetualprivate_get_order_finished = perpetualPrivateGetOrderFinished = Entry('order/finished', 'perpetualPrivate', 'GET', {'cost': 40})
95
- perpetualprivate_get_order_stop_finished = perpetualPrivateGetOrderStopFinished = Entry('order/stop_finished', 'perpetualPrivate', 'GET', {'cost': 40})
96
- perpetualprivate_get_order_stop_pending = perpetualPrivateGetOrderStopPending = Entry('order/stop_pending', 'perpetualPrivate', 'GET', {'cost': 8})
97
- perpetualprivate_get_order_status = perpetualPrivateGetOrderStatus = Entry('order/status', 'perpetualPrivate', 'GET', {'cost': 8})
98
- perpetualprivate_get_order_stop_status = perpetualPrivateGetOrderStopStatus = Entry('order/stop_status', 'perpetualPrivate', 'GET', {'cost': 8})
99
- perpetualprivate_get_position_finished = perpetualPrivateGetPositionFinished = Entry('position/finished', 'perpetualPrivate', 'GET', {'cost': 40})
100
- perpetualprivate_get_position_pending = perpetualPrivateGetPositionPending = Entry('position/pending', 'perpetualPrivate', 'GET', {'cost': 40})
101
- perpetualprivate_get_position_funding = perpetualPrivateGetPositionFunding = Entry('position/funding', 'perpetualPrivate', 'GET', {'cost': 40})
102
- perpetualprivate_get_position_adl_history = perpetualPrivateGetPositionAdlHistory = Entry('position/adl_history', 'perpetualPrivate', 'GET', {'cost': 40})
103
- perpetualprivate_get_market_preference = perpetualPrivateGetMarketPreference = Entry('market/preference', 'perpetualPrivate', 'GET', {'cost': 40})
104
- perpetualprivate_get_position_margin_history = perpetualPrivateGetPositionMarginHistory = Entry('position/margin_history', 'perpetualPrivate', 'GET', {'cost': 40})
105
- perpetualprivate_get_position_settle_history = perpetualPrivateGetPositionSettleHistory = Entry('position/settle_history', 'perpetualPrivate', 'GET', {'cost': 40})
106
- perpetualprivate_post_market_adjust_leverage = perpetualPrivatePostMarketAdjustLeverage = Entry('market/adjust_leverage', 'perpetualPrivate', 'POST', {'cost': 1})
107
- perpetualprivate_post_market_position_expect = perpetualPrivatePostMarketPositionExpect = Entry('market/position_expect', 'perpetualPrivate', 'POST', {'cost': 1})
108
- perpetualprivate_post_order_put_limit = perpetualPrivatePostOrderPutLimit = Entry('order/put_limit', 'perpetualPrivate', 'POST', {'cost': 20})
109
- perpetualprivate_post_order_put_market = perpetualPrivatePostOrderPutMarket = Entry('order/put_market', 'perpetualPrivate', 'POST', {'cost': 20})
110
- perpetualprivate_post_order_put_stop_limit = perpetualPrivatePostOrderPutStopLimit = Entry('order/put_stop_limit', 'perpetualPrivate', 'POST', {'cost': 20})
111
- perpetualprivate_post_order_put_stop_market = perpetualPrivatePostOrderPutStopMarket = Entry('order/put_stop_market', 'perpetualPrivate', 'POST', {'cost': 20})
112
- perpetualprivate_post_order_modify = perpetualPrivatePostOrderModify = Entry('order/modify', 'perpetualPrivate', 'POST', {'cost': 20})
113
- perpetualprivate_post_order_modify_stop = perpetualPrivatePostOrderModifyStop = Entry('order/modify_stop', 'perpetualPrivate', 'POST', {'cost': 20})
114
- perpetualprivate_post_order_cancel = perpetualPrivatePostOrderCancel = Entry('order/cancel', 'perpetualPrivate', 'POST', {'cost': 20})
115
- perpetualprivate_post_order_cancel_all = perpetualPrivatePostOrderCancelAll = Entry('order/cancel_all', 'perpetualPrivate', 'POST', {'cost': 40})
116
- perpetualprivate_post_order_cancel_batch = perpetualPrivatePostOrderCancelBatch = Entry('order/cancel_batch', 'perpetualPrivate', 'POST', {'cost': 40})
117
- perpetualprivate_post_order_cancel_stop = perpetualPrivatePostOrderCancelStop = Entry('order/cancel_stop', 'perpetualPrivate', 'POST', {'cost': 20})
118
- perpetualprivate_post_order_cancel_stop_all = perpetualPrivatePostOrderCancelStopAll = Entry('order/cancel_stop_all', 'perpetualPrivate', 'POST', {'cost': 40})
119
- perpetualprivate_post_order_close_limit = perpetualPrivatePostOrderCloseLimit = Entry('order/close_limit', 'perpetualPrivate', 'POST', {'cost': 20})
120
- perpetualprivate_post_order_close_market = perpetualPrivatePostOrderCloseMarket = Entry('order/close_market', 'perpetualPrivate', 'POST', {'cost': 20})
121
- perpetualprivate_post_position_adjust_margin = perpetualPrivatePostPositionAdjustMargin = Entry('position/adjust_margin', 'perpetualPrivate', 'POST', {'cost': 20})
122
- perpetualprivate_post_position_stop_loss = perpetualPrivatePostPositionStopLoss = Entry('position/stop_loss', 'perpetualPrivate', 'POST', {'cost': 20})
123
- perpetualprivate_post_position_take_profit = perpetualPrivatePostPositionTakeProfit = Entry('position/take_profit', 'perpetualPrivate', 'POST', {'cost': 20})
124
- perpetualprivate_post_position_market_close = perpetualPrivatePostPositionMarketClose = Entry('position/market_close', 'perpetualPrivate', 'POST', {'cost': 20})
125
- perpetualprivate_post_order_cancel_by_client_id = perpetualPrivatePostOrderCancelByClientId = Entry('order/cancel/by_client_id', 'perpetualPrivate', 'POST', {'cost': 20})
126
- perpetualprivate_post_order_cancel_stop_by_client_id = perpetualPrivatePostOrderCancelStopByClientId = Entry('order/cancel_stop/by_client_id', 'perpetualPrivate', 'POST', {'cost': 20})
127
- perpetualprivate_post_market_preference = perpetualPrivatePostMarketPreference = Entry('market/preference', 'perpetualPrivate', 'POST', {'cost': 20})
5
+ v1_public_get_amm_market = v1PublicGetAmmMarket = Entry('amm/market', ['v1', 'public'], 'GET', {'cost': 1})
6
+ v1_public_get_common_currency_rate = v1PublicGetCommonCurrencyRate = Entry('common/currency/rate', ['v1', 'public'], 'GET', {'cost': 1})
7
+ v1_public_get_common_asset_config = v1PublicGetCommonAssetConfig = Entry('common/asset/config', ['v1', 'public'], 'GET', {'cost': 1})
8
+ v1_public_get_common_maintain_info = v1PublicGetCommonMaintainInfo = Entry('common/maintain/info', ['v1', 'public'], 'GET', {'cost': 1})
9
+ v1_public_get_common_temp_maintain_info = v1PublicGetCommonTempMaintainInfo = Entry('common/temp-maintain/info', ['v1', 'public'], 'GET', {'cost': 1})
10
+ v1_public_get_margin_market = v1PublicGetMarginMarket = Entry('margin/market', ['v1', 'public'], 'GET', {'cost': 1})
11
+ v1_public_get_market_info = v1PublicGetMarketInfo = Entry('market/info', ['v1', 'public'], 'GET', {'cost': 1})
12
+ v1_public_get_market_list = v1PublicGetMarketList = Entry('market/list', ['v1', 'public'], 'GET', {'cost': 1})
13
+ v1_public_get_market_ticker = v1PublicGetMarketTicker = Entry('market/ticker', ['v1', 'public'], 'GET', {'cost': 1})
14
+ v1_public_get_market_ticker_all = v1PublicGetMarketTickerAll = Entry('market/ticker/all', ['v1', 'public'], 'GET', {'cost': 1})
15
+ v1_public_get_market_depth = v1PublicGetMarketDepth = Entry('market/depth', ['v1', 'public'], 'GET', {'cost': 1})
16
+ v1_public_get_market_deals = v1PublicGetMarketDeals = Entry('market/deals', ['v1', 'public'], 'GET', {'cost': 1})
17
+ v1_public_get_market_kline = v1PublicGetMarketKline = Entry('market/kline', ['v1', 'public'], 'GET', {'cost': 1})
18
+ v1_public_get_market_detail = v1PublicGetMarketDetail = Entry('market/detail', ['v1', 'public'], 'GET', {'cost': 1})
19
+ v1_private_get_account_amm_balance = v1PrivateGetAccountAmmBalance = Entry('account/amm/balance', ['v1', 'private'], 'GET', {'cost': 40})
20
+ v1_private_get_account_investment_balance = v1PrivateGetAccountInvestmentBalance = Entry('account/investment/balance', ['v1', 'private'], 'GET', {'cost': 40})
21
+ v1_private_get_account_balance_history = v1PrivateGetAccountBalanceHistory = Entry('account/balance/history', ['v1', 'private'], 'GET', {'cost': 40})
22
+ v1_private_get_account_market_fee = v1PrivateGetAccountMarketFee = Entry('account/market/fee', ['v1', 'private'], 'GET', {'cost': 40})
23
+ v1_private_get_balance_coin_deposit = v1PrivateGetBalanceCoinDeposit = Entry('balance/coin/deposit', ['v1', 'private'], 'GET', {'cost': 40})
24
+ v1_private_get_balance_coin_withdraw = v1PrivateGetBalanceCoinWithdraw = Entry('balance/coin/withdraw', ['v1', 'private'], 'GET', {'cost': 40})
25
+ v1_private_get_balance_info = v1PrivateGetBalanceInfo = Entry('balance/info', ['v1', 'private'], 'GET', {'cost': 40})
26
+ v1_private_get_balance_deposit_address_coin_type = v1PrivateGetBalanceDepositAddressCoinType = Entry('balance/deposit/address/{coin_type}', ['v1', 'private'], 'GET', {'cost': 40})
27
+ v1_private_get_contract_transfer_history = v1PrivateGetContractTransferHistory = Entry('contract/transfer/history', ['v1', 'private'], 'GET', {'cost': 40})
28
+ v1_private_get_credit_info = v1PrivateGetCreditInfo = Entry('credit/info', ['v1', 'private'], 'GET', {'cost': 40})
29
+ v1_private_get_credit_balance = v1PrivateGetCreditBalance = Entry('credit/balance', ['v1', 'private'], 'GET', {'cost': 40})
30
+ v1_private_get_investment_transfer_history = v1PrivateGetInvestmentTransferHistory = Entry('investment/transfer/history', ['v1', 'private'], 'GET', {'cost': 40})
31
+ v1_private_get_margin_account = v1PrivateGetMarginAccount = Entry('margin/account', ['v1', 'private'], 'GET', {'cost': 1})
32
+ v1_private_get_margin_config = v1PrivateGetMarginConfig = Entry('margin/config', ['v1', 'private'], 'GET', {'cost': 1})
33
+ v1_private_get_margin_loan_history = v1PrivateGetMarginLoanHistory = Entry('margin/loan/history', ['v1', 'private'], 'GET', {'cost': 40})
34
+ v1_private_get_margin_transfer_history = v1PrivateGetMarginTransferHistory = Entry('margin/transfer/history', ['v1', 'private'], 'GET', {'cost': 40})
35
+ v1_private_get_order_deals = v1PrivateGetOrderDeals = Entry('order/deals', ['v1', 'private'], 'GET', {'cost': 40})
36
+ v1_private_get_order_finished = v1PrivateGetOrderFinished = Entry('order/finished', ['v1', 'private'], 'GET', {'cost': 40})
37
+ v1_private_get_order_pending = v1PrivateGetOrderPending = Entry('order/pending', ['v1', 'private'], 'GET', {'cost': 8})
38
+ v1_private_get_order_status = v1PrivateGetOrderStatus = Entry('order/status', ['v1', 'private'], 'GET', {'cost': 8})
39
+ v1_private_get_order_status_batch = v1PrivateGetOrderStatusBatch = Entry('order/status/batch', ['v1', 'private'], 'GET', {'cost': 8})
40
+ v1_private_get_order_user_deals = v1PrivateGetOrderUserDeals = Entry('order/user/deals', ['v1', 'private'], 'GET', {'cost': 40})
41
+ v1_private_get_order_stop_finished = v1PrivateGetOrderStopFinished = Entry('order/stop/finished', ['v1', 'private'], 'GET', {'cost': 40})
42
+ v1_private_get_order_stop_pending = v1PrivateGetOrderStopPending = Entry('order/stop/pending', ['v1', 'private'], 'GET', {'cost': 8})
43
+ v1_private_get_order_user_trade_fee = v1PrivateGetOrderUserTradeFee = Entry('order/user/trade/fee', ['v1', 'private'], 'GET', {'cost': 1})
44
+ v1_private_get_order_market_trade_info = v1PrivateGetOrderMarketTradeInfo = Entry('order/market/trade/info', ['v1', 'private'], 'GET', {'cost': 1})
45
+ v1_private_get_sub_account_balance = v1PrivateGetSubAccountBalance = Entry('sub_account/balance', ['v1', 'private'], 'GET', {'cost': 1})
46
+ v1_private_get_sub_account_transfer_history = v1PrivateGetSubAccountTransferHistory = Entry('sub_account/transfer/history', ['v1', 'private'], 'GET', {'cost': 40})
47
+ v1_private_get_sub_account_auth_api = v1PrivateGetSubAccountAuthApi = Entry('sub_account/auth/api', ['v1', 'private'], 'GET', {'cost': 40})
48
+ v1_private_get_sub_account_auth_api_user_auth_id = v1PrivateGetSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', ['v1', 'private'], 'GET', {'cost': 40})
49
+ v1_private_post_balance_coin_withdraw = v1PrivatePostBalanceCoinWithdraw = Entry('balance/coin/withdraw', ['v1', 'private'], 'POST', {'cost': 40})
50
+ v1_private_post_contract_balance_transfer = v1PrivatePostContractBalanceTransfer = Entry('contract/balance/transfer', ['v1', 'private'], 'POST', {'cost': 40})
51
+ v1_private_post_margin_flat = v1PrivatePostMarginFlat = Entry('margin/flat', ['v1', 'private'], 'POST', {'cost': 40})
52
+ v1_private_post_margin_loan = v1PrivatePostMarginLoan = Entry('margin/loan', ['v1', 'private'], 'POST', {'cost': 40})
53
+ v1_private_post_margin_transfer = v1PrivatePostMarginTransfer = Entry('margin/transfer', ['v1', 'private'], 'POST', {'cost': 40})
54
+ v1_private_post_order_limit_batch = v1PrivatePostOrderLimitBatch = Entry('order/limit/batch', ['v1', 'private'], 'POST', {'cost': 40})
55
+ v1_private_post_order_ioc = v1PrivatePostOrderIoc = Entry('order/ioc', ['v1', 'private'], 'POST', {'cost': 13.334})
56
+ v1_private_post_order_limit = v1PrivatePostOrderLimit = Entry('order/limit', ['v1', 'private'], 'POST', {'cost': 13.334})
57
+ v1_private_post_order_market = v1PrivatePostOrderMarket = Entry('order/market', ['v1', 'private'], 'POST', {'cost': 13.334})
58
+ v1_private_post_order_modify = v1PrivatePostOrderModify = Entry('order/modify', ['v1', 'private'], 'POST', {'cost': 13.334})
59
+ v1_private_post_order_stop_limit = v1PrivatePostOrderStopLimit = Entry('order/stop/limit', ['v1', 'private'], 'POST', {'cost': 13.334})
60
+ v1_private_post_order_stop_market = v1PrivatePostOrderStopMarket = Entry('order/stop/market', ['v1', 'private'], 'POST', {'cost': 13.334})
61
+ v1_private_post_order_stop_modify = v1PrivatePostOrderStopModify = Entry('order/stop/modify', ['v1', 'private'], 'POST', {'cost': 13.334})
62
+ v1_private_post_sub_account_transfer = v1PrivatePostSubAccountTransfer = Entry('sub_account/transfer', ['v1', 'private'], 'POST', {'cost': 40})
63
+ v1_private_post_sub_account_register = v1PrivatePostSubAccountRegister = Entry('sub_account/register', ['v1', 'private'], 'POST', {'cost': 1})
64
+ v1_private_post_sub_account_unfrozen = v1PrivatePostSubAccountUnfrozen = Entry('sub_account/unfrozen', ['v1', 'private'], 'POST', {'cost': 40})
65
+ v1_private_post_sub_account_frozen = v1PrivatePostSubAccountFrozen = Entry('sub_account/frozen', ['v1', 'private'], 'POST', {'cost': 40})
66
+ v1_private_post_sub_account_auth_api = v1PrivatePostSubAccountAuthApi = Entry('sub_account/auth/api', ['v1', 'private'], 'POST', {'cost': 40})
67
+ v1_private_put_balance_deposit_address_coin_type = v1PrivatePutBalanceDepositAddressCoinType = Entry('balance/deposit/address/{coin_type}', ['v1', 'private'], 'PUT', {'cost': 40})
68
+ v1_private_put_sub_account_unfrozen = v1PrivatePutSubAccountUnfrozen = Entry('sub_account/unfrozen', ['v1', 'private'], 'PUT', {'cost': 40})
69
+ v1_private_put_sub_account_frozen = v1PrivatePutSubAccountFrozen = Entry('sub_account/frozen', ['v1', 'private'], 'PUT', {'cost': 40})
70
+ v1_private_put_sub_account_auth_api_user_auth_id = v1PrivatePutSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', ['v1', 'private'], 'PUT', {'cost': 40})
71
+ v1_private_put_v1_account_settings = v1PrivatePutV1AccountSettings = Entry('v1/account/settings', ['v1', 'private'], 'PUT', {'cost': 40})
72
+ v1_private_delete_balance_coin_withdraw = v1PrivateDeleteBalanceCoinWithdraw = Entry('balance/coin/withdraw', ['v1', 'private'], 'DELETE', {'cost': 40})
73
+ v1_private_delete_order_pending_batch = v1PrivateDeleteOrderPendingBatch = Entry('order/pending/batch', ['v1', 'private'], 'DELETE', {'cost': 40})
74
+ v1_private_delete_order_pending = v1PrivateDeleteOrderPending = Entry('order/pending', ['v1', 'private'], 'DELETE', {'cost': 13.334})
75
+ v1_private_delete_order_stop_pending = v1PrivateDeleteOrderStopPending = Entry('order/stop/pending', ['v1', 'private'], 'DELETE', {'cost': 40})
76
+ v1_private_delete_order_stop_pending_id = v1PrivateDeleteOrderStopPendingId = Entry('order/stop/pending/{id}', ['v1', 'private'], 'DELETE', {'cost': 13.334})
77
+ v1_private_delete_order_pending_by_client_id = v1PrivateDeleteOrderPendingByClientId = Entry('order/pending/by_client_id', ['v1', 'private'], 'DELETE', {'cost': 40})
78
+ v1_private_delete_order_stop_pending_by_client_id = v1PrivateDeleteOrderStopPendingByClientId = Entry('order/stop/pending/by_client_id', ['v1', 'private'], 'DELETE', {'cost': 40})
79
+ v1_private_delete_sub_account_auth_api_user_auth_id = v1PrivateDeleteSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', ['v1', 'private'], 'DELETE', {'cost': 40})
80
+ v1_private_delete_sub_account_authorize_id = v1PrivateDeleteSubAccountAuthorizeId = Entry('sub_account/authorize/{id}', ['v1', 'private'], 'DELETE', {'cost': 40})
81
+ v1_perpetualpublic_get_ping = v1PerpetualPublicGetPing = Entry('ping', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
82
+ v1_perpetualpublic_get_time = v1PerpetualPublicGetTime = Entry('time', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
83
+ v1_perpetualpublic_get_market_list = v1PerpetualPublicGetMarketList = Entry('market/list', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
84
+ v1_perpetualpublic_get_market_limit_config = v1PerpetualPublicGetMarketLimitConfig = Entry('market/limit_config', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
85
+ v1_perpetualpublic_get_market_ticker = v1PerpetualPublicGetMarketTicker = Entry('market/ticker', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
86
+ v1_perpetualpublic_get_market_ticker_all = v1PerpetualPublicGetMarketTickerAll = Entry('market/ticker/all', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
87
+ v1_perpetualpublic_get_market_depth = v1PerpetualPublicGetMarketDepth = Entry('market/depth', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
88
+ v1_perpetualpublic_get_market_deals = v1PerpetualPublicGetMarketDeals = Entry('market/deals', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
89
+ v1_perpetualpublic_get_market_funding_history = v1PerpetualPublicGetMarketFundingHistory = Entry('market/funding_history', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
90
+ v1_perpetualpublic_get_market_kline = v1PerpetualPublicGetMarketKline = Entry('market/kline', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
91
+ v1_perpetualprivate_get_market_user_deals = v1PerpetualPrivateGetMarketUserDeals = Entry('market/user_deals', ['v1', 'perpetualPrivate'], 'GET', {'cost': 1})
92
+ v1_perpetualprivate_get_asset_query = v1PerpetualPrivateGetAssetQuery = Entry('asset/query', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
93
+ v1_perpetualprivate_get_order_pending = v1PerpetualPrivateGetOrderPending = Entry('order/pending', ['v1', 'perpetualPrivate'], 'GET', {'cost': 8})
94
+ v1_perpetualprivate_get_order_finished = v1PerpetualPrivateGetOrderFinished = Entry('order/finished', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
95
+ v1_perpetualprivate_get_order_stop_finished = v1PerpetualPrivateGetOrderStopFinished = Entry('order/stop_finished', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
96
+ v1_perpetualprivate_get_order_stop_pending = v1PerpetualPrivateGetOrderStopPending = Entry('order/stop_pending', ['v1', 'perpetualPrivate'], 'GET', {'cost': 8})
97
+ v1_perpetualprivate_get_order_status = v1PerpetualPrivateGetOrderStatus = Entry('order/status', ['v1', 'perpetualPrivate'], 'GET', {'cost': 8})
98
+ v1_perpetualprivate_get_order_stop_status = v1PerpetualPrivateGetOrderStopStatus = Entry('order/stop_status', ['v1', 'perpetualPrivate'], 'GET', {'cost': 8})
99
+ v1_perpetualprivate_get_position_finished = v1PerpetualPrivateGetPositionFinished = Entry('position/finished', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
100
+ v1_perpetualprivate_get_position_pending = v1PerpetualPrivateGetPositionPending = Entry('position/pending', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
101
+ v1_perpetualprivate_get_position_funding = v1PerpetualPrivateGetPositionFunding = Entry('position/funding', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
102
+ v1_perpetualprivate_get_position_adl_history = v1PerpetualPrivateGetPositionAdlHistory = Entry('position/adl_history', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
103
+ v1_perpetualprivate_get_market_preference = v1PerpetualPrivateGetMarketPreference = Entry('market/preference', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
104
+ v1_perpetualprivate_get_position_margin_history = v1PerpetualPrivateGetPositionMarginHistory = Entry('position/margin_history', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
105
+ v1_perpetualprivate_get_position_settle_history = v1PerpetualPrivateGetPositionSettleHistory = Entry('position/settle_history', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
106
+ v1_perpetualprivate_post_market_adjust_leverage = v1PerpetualPrivatePostMarketAdjustLeverage = Entry('market/adjust_leverage', ['v1', 'perpetualPrivate'], 'POST', {'cost': 1})
107
+ v1_perpetualprivate_post_market_position_expect = v1PerpetualPrivatePostMarketPositionExpect = Entry('market/position_expect', ['v1', 'perpetualPrivate'], 'POST', {'cost': 1})
108
+ v1_perpetualprivate_post_order_put_limit = v1PerpetualPrivatePostOrderPutLimit = Entry('order/put_limit', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
109
+ v1_perpetualprivate_post_order_put_market = v1PerpetualPrivatePostOrderPutMarket = Entry('order/put_market', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
110
+ v1_perpetualprivate_post_order_put_stop_limit = v1PerpetualPrivatePostOrderPutStopLimit = Entry('order/put_stop_limit', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
111
+ v1_perpetualprivate_post_order_put_stop_market = v1PerpetualPrivatePostOrderPutStopMarket = Entry('order/put_stop_market', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
112
+ v1_perpetualprivate_post_order_modify = v1PerpetualPrivatePostOrderModify = Entry('order/modify', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
113
+ v1_perpetualprivate_post_order_modify_stop = v1PerpetualPrivatePostOrderModifyStop = Entry('order/modify_stop', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
114
+ v1_perpetualprivate_post_order_cancel = v1PerpetualPrivatePostOrderCancel = Entry('order/cancel', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
115
+ v1_perpetualprivate_post_order_cancel_all = v1PerpetualPrivatePostOrderCancelAll = Entry('order/cancel_all', ['v1', 'perpetualPrivate'], 'POST', {'cost': 40})
116
+ v1_perpetualprivate_post_order_cancel_batch = v1PerpetualPrivatePostOrderCancelBatch = Entry('order/cancel_batch', ['v1', 'perpetualPrivate'], 'POST', {'cost': 40})
117
+ v1_perpetualprivate_post_order_cancel_stop = v1PerpetualPrivatePostOrderCancelStop = Entry('order/cancel_stop', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
118
+ v1_perpetualprivate_post_order_cancel_stop_all = v1PerpetualPrivatePostOrderCancelStopAll = Entry('order/cancel_stop_all', ['v1', 'perpetualPrivate'], 'POST', {'cost': 40})
119
+ v1_perpetualprivate_post_order_close_limit = v1PerpetualPrivatePostOrderCloseLimit = Entry('order/close_limit', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
120
+ v1_perpetualprivate_post_order_close_market = v1PerpetualPrivatePostOrderCloseMarket = Entry('order/close_market', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
121
+ v1_perpetualprivate_post_position_adjust_margin = v1PerpetualPrivatePostPositionAdjustMargin = Entry('position/adjust_margin', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
122
+ v1_perpetualprivate_post_position_stop_loss = v1PerpetualPrivatePostPositionStopLoss = Entry('position/stop_loss', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
123
+ v1_perpetualprivate_post_position_take_profit = v1PerpetualPrivatePostPositionTakeProfit = Entry('position/take_profit', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
124
+ v1_perpetualprivate_post_position_market_close = v1PerpetualPrivatePostPositionMarketClose = Entry('position/market_close', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
125
+ v1_perpetualprivate_post_order_cancel_by_client_id = v1PerpetualPrivatePostOrderCancelByClientId = Entry('order/cancel/by_client_id', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
126
+ v1_perpetualprivate_post_order_cancel_stop_by_client_id = v1PerpetualPrivatePostOrderCancelStopByClientId = Entry('order/cancel_stop/by_client_id', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
127
+ v1_perpetualprivate_post_market_preference = v1PerpetualPrivatePostMarketPreference = Entry('market/preference', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
128
+ v2_public_get_maintain_info = v2PublicGetMaintainInfo = Entry('maintain-info', ['v2', 'public'], 'GET', {'cost': 1})
129
+ v2_public_get_ping = v2PublicGetPing = Entry('ping', ['v2', 'public'], 'GET', {'cost': 1})
130
+ v2_public_get_time = v2PublicGetTime = Entry('time', ['v2', 'public'], 'GET', {'cost': 1})
131
+ v2_public_get_spot_market = v2PublicGetSpotMarket = Entry('spot/market', ['v2', 'public'], 'GET', {'cost': 1})
132
+ v2_public_get_spot_ticker = v2PublicGetSpotTicker = Entry('spot/ticker', ['v2', 'public'], 'GET', {'cost': 1})
133
+ v2_public_get_spot_depth = v2PublicGetSpotDepth = Entry('spot/depth', ['v2', 'public'], 'GET', {'cost': 1})
134
+ v2_public_get_spot_deals = v2PublicGetSpotDeals = Entry('spot/deals', ['v2', 'public'], 'GET', {'cost': 1})
135
+ v2_public_get_spot_kline = v2PublicGetSpotKline = Entry('spot/kline', ['v2', 'public'], 'GET', {'cost': 1})
136
+ v2_public_get_spot_index = v2PublicGetSpotIndex = Entry('spot/index', ['v2', 'public'], 'GET', {'cost': 1})
137
+ v2_public_get_futures_market = v2PublicGetFuturesMarket = Entry('futures/market', ['v2', 'public'], 'GET', {'cost': 1})
138
+ v2_public_get_futures_ticker = v2PublicGetFuturesTicker = Entry('futures/ticker', ['v2', 'public'], 'GET', {'cost': 1})
139
+ v2_public_get_futures_depth = v2PublicGetFuturesDepth = Entry('futures/depth', ['v2', 'public'], 'GET', {'cost': 1})
140
+ v2_public_get_futures_deals = v2PublicGetFuturesDeals = Entry('futures/deals', ['v2', 'public'], 'GET', {'cost': 1})
141
+ v2_public_get_futures_kline = v2PublicGetFuturesKline = Entry('futures/kline', ['v2', 'public'], 'GET', {'cost': 1})
142
+ v2_public_get_futures_index = v2PublicGetFuturesIndex = Entry('futures/index', ['v2', 'public'], 'GET', {'cost': 1})
143
+ v2_public_get_futures_funding_rate = v2PublicGetFuturesFundingRate = Entry('futures/funding-rate', ['v2', 'public'], 'GET', {'cost': 1})
144
+ v2_public_get_futures_funding_rate_history = v2PublicGetFuturesFundingRateHistory = Entry('futures/funding-rate-history', ['v2', 'public'], 'GET', {'cost': 1})
145
+ v2_public_get_futures_position_level = v2PublicGetFuturesPositionLevel = Entry('futures/position-level', ['v2', 'public'], 'GET', {'cost': 1})
146
+ v2_public_get_futures_liquidation_history = v2PublicGetFuturesLiquidationHistory = Entry('futures/liquidation-history', ['v2', 'public'], 'GET', {'cost': 1})
147
+ v2_public_get_futures_basis_history = v2PublicGetFuturesBasisHistory = Entry('futures/basis-history', ['v2', 'public'], 'GET', {'cost': 1})
148
+ v2_private_get_account_subs = v2PrivateGetAccountSubs = Entry('account/subs', ['v2', 'private'], 'GET', {'cost': 1})
149
+ v2_private_get_account_subs_api_detail = v2PrivateGetAccountSubsApiDetail = Entry('account/subs/api-detail', ['v2', 'private'], 'GET', {'cost': 40})
150
+ v2_private_get_account_subs_info = v2PrivateGetAccountSubsInfo = Entry('account/subs/info', ['v2', 'private'], 'GET', {'cost': 1})
151
+ v2_private_get_account_subs_api = v2PrivateGetAccountSubsApi = Entry('account/subs/api', ['v2', 'private'], 'GET', {'cost': 40})
152
+ v2_private_get_account_subs_transfer_history = v2PrivateGetAccountSubsTransferHistory = Entry('account/subs/transfer-history', ['v2', 'private'], 'GET', {'cost': 40})
153
+ v2_private_get_account_subs_spot_balance = v2PrivateGetAccountSubsSpotBalance = Entry('account/subs/spot-balance', ['v2', 'private'], 'GET', {'cost': 1})
154
+ v2_private_get_account_trade_fee_rate = v2PrivateGetAccountTradeFeeRate = Entry('account/trade-fee-rate', ['v2', 'private'], 'GET', {'cost': 40})
155
+ v2_private_get_assets_spot_balance = v2PrivateGetAssetsSpotBalance = Entry('assets/spot/balance', ['v2', 'private'], 'GET', {'cost': 40})
156
+ v2_private_get_assets_futures_balance = v2PrivateGetAssetsFuturesBalance = Entry('assets/futures/balance', ['v2', 'private'], 'GET', {'cost': 40})
157
+ v2_private_get_assets_margin_balance = v2PrivateGetAssetsMarginBalance = Entry('assets/margin/balance', ['v2', 'private'], 'GET', {'cost': 1})
158
+ v2_private_get_assets_financial_balance = v2PrivateGetAssetsFinancialBalance = Entry('assets/financial/balance', ['v2', 'private'], 'GET', {'cost': 40})
159
+ v2_private_get_assets_amm_liquidity = v2PrivateGetAssetsAmmLiquidity = Entry('assets/amm/liquidity', ['v2', 'private'], 'GET', {'cost': 40})
160
+ v2_private_get_assets_credit_info = v2PrivateGetAssetsCreditInfo = Entry('assets/credit/info', ['v2', 'private'], 'GET', {'cost': 40})
161
+ v2_private_get_assets_margin_borrow_history = v2PrivateGetAssetsMarginBorrowHistory = Entry('assets/margin/borrow-history', ['v2', 'private'], 'GET', {'cost': 40})
162
+ v2_private_get_assets_margin_interest_limit = v2PrivateGetAssetsMarginInterestLimit = Entry('assets/margin/interest-limit', ['v2', 'private'], 'GET', {'cost': 1})
163
+ v2_private_get_assets_deposit_address = v2PrivateGetAssetsDepositAddress = Entry('assets/deposit-address', ['v2', 'private'], 'GET', {'cost': 40})
164
+ v2_private_get_assets_deposit_history = v2PrivateGetAssetsDepositHistory = Entry('assets/deposit-history', ['v2', 'private'], 'GET', {'cost': 40})
165
+ v2_private_get_assets_withdraw = v2PrivateGetAssetsWithdraw = Entry('assets/withdraw', ['v2', 'private'], 'GET', {'cost': 40})
166
+ v2_private_get_assets_deposit_withdraw_config = v2PrivateGetAssetsDepositWithdrawConfig = Entry('assets/deposit-withdraw-config', ['v2', 'private'], 'GET', {'cost': 1})
167
+ v2_private_get_assets_transfer_history = v2PrivateGetAssetsTransferHistory = Entry('assets/transfer-history', ['v2', 'private'], 'GET', {'cost': 40})
168
+ v2_private_get_spot_order_status = v2PrivateGetSpotOrderStatus = Entry('spot/order-status', ['v2', 'private'], 'GET', {'cost': 8})
169
+ v2_private_get_spot_batch_order_status = v2PrivateGetSpotBatchOrderStatus = Entry('spot/batch-order-status', ['v2', 'private'], 'GET', {'cost': 8})
170
+ v2_private_get_spot_pending_order = v2PrivateGetSpotPendingOrder = Entry('spot/pending-order', ['v2', 'private'], 'GET', {'cost': 8})
171
+ v2_private_get_spot_finished_order = v2PrivateGetSpotFinishedOrder = Entry('spot/finished-order', ['v2', 'private'], 'GET', {'cost': 40})
172
+ v2_private_get_spot_pending_stop_order = v2PrivateGetSpotPendingStopOrder = Entry('spot/pending-stop-order', ['v2', 'private'], 'GET', {'cost': 8})
173
+ v2_private_get_spot_finished_stop_order = v2PrivateGetSpotFinishedStopOrder = Entry('spot/finished-stop-order', ['v2', 'private'], 'GET', {'cost': 40})
174
+ v2_private_get_spot_user_deals = v2PrivateGetSpotUserDeals = Entry('spot/user-deals', ['v2', 'private'], 'GET', {'cost': 40})
175
+ v2_private_get_spot_order_deals = v2PrivateGetSpotOrderDeals = Entry('spot/order-deals', ['v2', 'private'], 'GET', {'cost': 40})
176
+ v2_private_get_futures_order_status = v2PrivateGetFuturesOrderStatus = Entry('futures/order-status', ['v2', 'private'], 'GET', {'cost': 8})
177
+ v2_private_get_futures_batch_order_status = v2PrivateGetFuturesBatchOrderStatus = Entry('futures/batch-order-status', ['v2', 'private'], 'GET', {'cost': 1})
178
+ v2_private_get_futures_pending_order = v2PrivateGetFuturesPendingOrder = Entry('futures/pending-order', ['v2', 'private'], 'GET', {'cost': 8})
179
+ v2_private_get_futures_finished_order = v2PrivateGetFuturesFinishedOrder = Entry('futures/finished-order', ['v2', 'private'], 'GET', {'cost': 40})
180
+ v2_private_get_futures_pending_stop_order = v2PrivateGetFuturesPendingStopOrder = Entry('futures/pending-stop-order', ['v2', 'private'], 'GET', {'cost': 8})
181
+ v2_private_get_futures_finished_stop_order = v2PrivateGetFuturesFinishedStopOrder = Entry('futures/finished-stop-order', ['v2', 'private'], 'GET', {'cost': 40})
182
+ v2_private_get_futures_user_deals = v2PrivateGetFuturesUserDeals = Entry('futures/user-deals', ['v2', 'private'], 'GET', {'cost': 1})
183
+ v2_private_get_futures_order_deals = v2PrivateGetFuturesOrderDeals = Entry('futures/order-deals', ['v2', 'private'], 'GET', {'cost': 1})
184
+ v2_private_get_futures_pending_position = v2PrivateGetFuturesPendingPosition = Entry('futures/pending-position', ['v2', 'private'], 'GET', {'cost': 40})
185
+ v2_private_get_futures_finished_position = v2PrivateGetFuturesFinishedPosition = Entry('futures/finished-position', ['v2', 'private'], 'GET', {'cost': 1})
186
+ v2_private_get_futures_position_margin_history = v2PrivateGetFuturesPositionMarginHistory = Entry('futures/position-margin-history', ['v2', 'private'], 'GET', {'cost': 1})
187
+ v2_private_get_futures_position_funding_history = v2PrivateGetFuturesPositionFundingHistory = Entry('futures/position-funding-history', ['v2', 'private'], 'GET', {'cost': 40})
188
+ v2_private_get_futures_position_adl_history = v2PrivateGetFuturesPositionAdlHistory = Entry('futures/position-adl-history', ['v2', 'private'], 'GET', {'cost': 1})
189
+ v2_private_get_futures_position_settle_history = v2PrivateGetFuturesPositionSettleHistory = Entry('futures/position-settle-history', ['v2', 'private'], 'GET', {'cost': 1})
190
+ v2_private_post_account_subs = v2PrivatePostAccountSubs = Entry('account/subs', ['v2', 'private'], 'POST', {'cost': 40})
191
+ v2_private_post_account_subs_frozen = v2PrivatePostAccountSubsFrozen = Entry('account/subs/frozen', ['v2', 'private'], 'POST', {'cost': 40})
192
+ v2_private_post_account_subs_unfrozen = v2PrivatePostAccountSubsUnfrozen = Entry('account/subs/unfrozen', ['v2', 'private'], 'POST', {'cost': 40})
193
+ v2_private_post_account_subs_api = v2PrivatePostAccountSubsApi = Entry('account/subs/api', ['v2', 'private'], 'POST', {'cost': 40})
194
+ v2_private_post_account_subs_edit_api = v2PrivatePostAccountSubsEditApi = Entry('account/subs/edit-api', ['v2', 'private'], 'POST', {'cost': 40})
195
+ v2_private_post_account_subs_delete_api = v2PrivatePostAccountSubsDeleteApi = Entry('account/subs/delete-api', ['v2', 'private'], 'POST', {'cost': 40})
196
+ v2_private_post_account_subs_transfer = v2PrivatePostAccountSubsTransfer = Entry('account/subs/transfer', ['v2', 'private'], 'POST', {'cost': 40})
197
+ v2_private_post_account_settings = v2PrivatePostAccountSettings = Entry('account/settings', ['v2', 'private'], 'POST', {'cost': 40})
198
+ v2_private_post_assets_margin_borrow = v2PrivatePostAssetsMarginBorrow = Entry('assets/margin/borrow', ['v2', 'private'], 'POST', {'cost': 40})
199
+ v2_private_post_assets_margin_repay = v2PrivatePostAssetsMarginRepay = Entry('assets/margin/repay', ['v2', 'private'], 'POST', {'cost': 40})
200
+ v2_private_post_assets_renewal_deposit_address = v2PrivatePostAssetsRenewalDepositAddress = Entry('assets/renewal-deposit-address', ['v2', 'private'], 'POST', {'cost': 40})
201
+ v2_private_post_assets_withdraw = v2PrivatePostAssetsWithdraw = Entry('assets/withdraw', ['v2', 'private'], 'POST', {'cost': 40})
202
+ v2_private_post_assets_cancel_withdraw = v2PrivatePostAssetsCancelWithdraw = Entry('assets/cancel-withdraw', ['v2', 'private'], 'POST', {'cost': 40})
203
+ v2_private_post_assets_transfer = v2PrivatePostAssetsTransfer = Entry('assets/transfer', ['v2', 'private'], 'POST', {'cost': 40})
204
+ v2_private_post_assets_amm_add_liquidity = v2PrivatePostAssetsAmmAddLiquidity = Entry('assets/amm/add-liquidity', ['v2', 'private'], 'POST', {'cost': 1})
205
+ v2_private_post_assets_amm_remove_liquidity = v2PrivatePostAssetsAmmRemoveLiquidity = Entry('assets/amm/remove-liquidity', ['v2', 'private'], 'POST', {'cost': 1})
206
+ v2_private_post_spot_order = v2PrivatePostSpotOrder = Entry('spot/order', ['v2', 'private'], 'POST', {'cost': 13.334})
207
+ v2_private_post_spot_stop_order = v2PrivatePostSpotStopOrder = Entry('spot/stop-order', ['v2', 'private'], 'POST', {'cost': 13.334})
208
+ v2_private_post_spot_batch_order = v2PrivatePostSpotBatchOrder = Entry('spot/batch-order', ['v2', 'private'], 'POST', {'cost': 40})
209
+ v2_private_post_spot_batch_stop_order = v2PrivatePostSpotBatchStopOrder = Entry('spot/batch-stop-order', ['v2', 'private'], 'POST', {'cost': 1})
210
+ v2_private_post_spot_modify_order = v2PrivatePostSpotModifyOrder = Entry('spot/modify-order', ['v2', 'private'], 'POST', {'cost': 13.334})
211
+ v2_private_post_spot_modify_stop_order = v2PrivatePostSpotModifyStopOrder = Entry('spot/modify-stop-order', ['v2', 'private'], 'POST', {'cost': 13.334})
212
+ v2_private_post_spot_cancel_all_order = v2PrivatePostSpotCancelAllOrder = Entry('spot/cancel-all-order', ['v2', 'private'], 'POST', {'cost': 1})
213
+ v2_private_post_spot_cancel_order = v2PrivatePostSpotCancelOrder = Entry('spot/cancel-order', ['v2', 'private'], 'POST', {'cost': 6.667})
214
+ v2_private_post_spot_cancel_stop_order = v2PrivatePostSpotCancelStopOrder = Entry('spot/cancel-stop-order', ['v2', 'private'], 'POST', {'cost': 6.667})
215
+ v2_private_post_spot_cancel_batch_order = v2PrivatePostSpotCancelBatchOrder = Entry('spot/cancel-batch-order', ['v2', 'private'], 'POST', {'cost': 10})
216
+ v2_private_post_spot_cancel_batch_stop_order = v2PrivatePostSpotCancelBatchStopOrder = Entry('spot/cancel-batch-stop-order', ['v2', 'private'], 'POST', {'cost': 10})
217
+ v2_private_post_spot_cancel_order_by_client_id = v2PrivatePostSpotCancelOrderByClientId = Entry('spot/cancel-order-by-client-id', ['v2', 'private'], 'POST', {'cost': 1})
218
+ v2_private_post_spot_cancel_stop_order_by_client_id = v2PrivatePostSpotCancelStopOrderByClientId = Entry('spot/cancel-stop-order-by-client-id', ['v2', 'private'], 'POST', {'cost': 1})
219
+ v2_private_post_futures_order = v2PrivatePostFuturesOrder = Entry('futures/order', ['v2', 'private'], 'POST', {'cost': 20})
220
+ v2_private_post_futures_stop_order = v2PrivatePostFuturesStopOrder = Entry('futures/stop-order', ['v2', 'private'], 'POST', {'cost': 20})
221
+ v2_private_post_futures_batch_order = v2PrivatePostFuturesBatchOrder = Entry('futures/batch-order', ['v2', 'private'], 'POST', {'cost': 1})
222
+ v2_private_post_futures_batch_stop_order = v2PrivatePostFuturesBatchStopOrder = Entry('futures/batch-stop-order', ['v2', 'private'], 'POST', {'cost': 1})
223
+ v2_private_post_futures_modify_order = v2PrivatePostFuturesModifyOrder = Entry('futures/modify-order', ['v2', 'private'], 'POST', {'cost': 20})
224
+ v2_private_post_futures_modify_stop_order = v2PrivatePostFuturesModifyStopOrder = Entry('futures/modify-stop-order', ['v2', 'private'], 'POST', {'cost': 20})
225
+ v2_private_post_futures_cancel_all_order = v2PrivatePostFuturesCancelAllOrder = Entry('futures/cancel-all-order', ['v2', 'private'], 'POST', {'cost': 1})
226
+ v2_private_post_futures_cancel_order = v2PrivatePostFuturesCancelOrder = Entry('futures/cancel-order', ['v2', 'private'], 'POST', {'cost': 10})
227
+ v2_private_post_futures_cancel_stop_order = v2PrivatePostFuturesCancelStopOrder = Entry('futures/cancel-stop-order', ['v2', 'private'], 'POST', {'cost': 10})
228
+ v2_private_post_futures_cancel_batch_order = v2PrivatePostFuturesCancelBatchOrder = Entry('futures/cancel-batch-order', ['v2', 'private'], 'POST', {'cost': 20})
229
+ v2_private_post_futures_cancel_batch_stop_order = v2PrivatePostFuturesCancelBatchStopOrder = Entry('futures/cancel-batch-stop-order', ['v2', 'private'], 'POST', {'cost': 20})
230
+ v2_private_post_futures_cancel_order_by_client_id = v2PrivatePostFuturesCancelOrderByClientId = Entry('futures/cancel-order-by-client-id', ['v2', 'private'], 'POST', {'cost': 1})
231
+ v2_private_post_futures_cancel_stop_order_by_client_id = v2PrivatePostFuturesCancelStopOrderByClientId = Entry('futures/cancel-stop-order-by-client-id', ['v2', 'private'], 'POST', {'cost': 1})
232
+ v2_private_post_futures_close_position = v2PrivatePostFuturesClosePosition = Entry('futures/close-position', ['v2', 'private'], 'POST', {'cost': 20})
233
+ v2_private_post_futures_adjust_position_margin = v2PrivatePostFuturesAdjustPositionMargin = Entry('futures/adjust-position-margin', ['v2', 'private'], 'POST', {'cost': 20})
234
+ v2_private_post_futures_adjust_position_leverage = v2PrivatePostFuturesAdjustPositionLeverage = Entry('futures/adjust-position-leverage', ['v2', 'private'], 'POST', {'cost': 20})
235
+ v2_private_post_futures_set_position_stop_loss = v2PrivatePostFuturesSetPositionStopLoss = Entry('futures/set-position-stop-loss', ['v2', 'private'], 'POST', {'cost': 20})
236
+ v2_private_post_futures_set_position_take_profit = v2PrivatePostFuturesSetPositionTakeProfit = Entry('futures/set-position-take-profit', ['v2', 'private'], 'POST', {'cost': 20})
ccxt/ascendex.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.ascendex import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -2701,7 +2701,7 @@ class ascendex(Exchange, ImplicitAPI):
2701
2701
  result = self.parse_funding_rates(contracts)
2702
2702
  return self.filter_by_array(result, 'symbol', symbols)
2703
2703
 
2704
- def modify_margin_helper(self, symbol: str, amount, type, params={}):
2704
+ def modify_margin_helper(self, symbol: str, amount, type, params={}) -> MarginModification:
2705
2705
  self.load_markets()
2706
2706
  self.load_accounts()
2707
2707
  market = self.market(symbol)
@@ -2728,19 +2728,29 @@ class ascendex(Exchange, ImplicitAPI):
2728
2728
  'type': type,
2729
2729
  })
2730
2730
 
2731
- def parse_margin_modification(self, data, market: Market = None):
2731
+ def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
2732
+ #
2733
+ # addMargin/reduceMargin
2734
+ #
2735
+ # {
2736
+ # "code": 0
2737
+ # }
2738
+ #
2732
2739
  errorCode = self.safe_string(data, 'code')
2733
2740
  status = 'ok' if (errorCode == '0') else 'failed'
2734
2741
  return {
2735
2742
  'info': data,
2743
+ 'symbol': market['symbol'],
2736
2744
  'type': None,
2737
2745
  'amount': None,
2746
+ 'total': None,
2738
2747
  'code': market['quote'],
2739
- 'symbol': market['symbol'],
2740
2748
  'status': status,
2749
+ 'timestamp': None,
2750
+ 'datetime': None,
2741
2751
  }
2742
2752
 
2743
- def reduce_margin(self, symbol: str, amount, params={}):
2753
+ def reduce_margin(self, symbol: str, amount, params={}) -> MarginModification:
2744
2754
  """
2745
2755
  remove margin from a position
2746
2756
  :param str symbol: unified market symbol
@@ -2750,7 +2760,7 @@ class ascendex(Exchange, ImplicitAPI):
2750
2760
  """
2751
2761
  return self.modify_margin_helper(symbol, -amount, 'reduce', params)
2752
2762
 
2753
- def add_margin(self, symbol: str, amount, params={}):
2763
+ def add_margin(self, symbol: str, amount, params={}) -> MarginModification:
2754
2764
  """
2755
2765
  add margin
2756
2766
  :param str symbol: unified market symbol
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.85'
7
+ __version__ = '4.2.87'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.ascendex import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -2701,7 +2701,7 @@ class ascendex(Exchange, ImplicitAPI):
2701
2701
  result = self.parse_funding_rates(contracts)
2702
2702
  return self.filter_by_array(result, 'symbol', symbols)
2703
2703
 
2704
- async def modify_margin_helper(self, symbol: str, amount, type, params={}):
2704
+ async def modify_margin_helper(self, symbol: str, amount, type, params={}) -> MarginModification:
2705
2705
  await self.load_markets()
2706
2706
  await self.load_accounts()
2707
2707
  market = self.market(symbol)
@@ -2728,19 +2728,29 @@ class ascendex(Exchange, ImplicitAPI):
2728
2728
  'type': type,
2729
2729
  })
2730
2730
 
2731
- def parse_margin_modification(self, data, market: Market = None):
2731
+ def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
2732
+ #
2733
+ # addMargin/reduceMargin
2734
+ #
2735
+ # {
2736
+ # "code": 0
2737
+ # }
2738
+ #
2732
2739
  errorCode = self.safe_string(data, 'code')
2733
2740
  status = 'ok' if (errorCode == '0') else 'failed'
2734
2741
  return {
2735
2742
  'info': data,
2743
+ 'symbol': market['symbol'],
2736
2744
  'type': None,
2737
2745
  'amount': None,
2746
+ 'total': None,
2738
2747
  'code': market['quote'],
2739
- 'symbol': market['symbol'],
2740
2748
  'status': status,
2749
+ 'timestamp': None,
2750
+ 'datetime': None,
2741
2751
  }
2742
2752
 
2743
- async def reduce_margin(self, symbol: str, amount, params={}):
2753
+ async def reduce_margin(self, symbol: str, amount, params={}) -> MarginModification:
2744
2754
  """
2745
2755
  remove margin from a position
2746
2756
  :param str symbol: unified market symbol
@@ -2750,7 +2760,7 @@ class ascendex(Exchange, ImplicitAPI):
2750
2760
  """
2751
2761
  return await self.modify_margin_helper(symbol, -amount, 'reduce', params)
2752
2762
 
2753
- async def add_margin(self, symbol: str, amount, params={}):
2763
+ async def add_margin(self, symbol: str, amount, params={}) -> MarginModification:
2754
2764
  """
2755
2765
  add margin
2756
2766
  :param str symbol: unified market symbol