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 CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.43'
25
+ __version__ = '4.3.45'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -167,6 +167,7 @@ from ccxt.oceanex import oceanex # noqa: F4
167
167
  from ccxt.okcoin import okcoin # noqa: F401
168
168
  from ccxt.okx import okx # noqa: F401
169
169
  from ccxt.onetrading import onetrading # noqa: F401
170
+ from ccxt.oxfun import oxfun # noqa: F401
170
171
  from ccxt.p2b import p2b # noqa: F401
171
172
  from ccxt.paymium import paymium # noqa: F401
172
173
  from ccxt.phemex import phemex # noqa: F401
@@ -182,6 +183,7 @@ from ccxt.wazirx import wazirx # noqa: F4
182
183
  from ccxt.whitebit import whitebit # noqa: F401
183
184
  from ccxt.woo import woo # noqa: F401
184
185
  from ccxt.woofipro import woofipro # noqa: F401
186
+ from ccxt.xt import xt # noqa: F401
185
187
  from ccxt.yobit import yobit # noqa: F401
186
188
  from ccxt.zaif import zaif # noqa: F401
187
189
  from ccxt.zonda import zonda # noqa: F401
@@ -274,6 +276,7 @@ exchanges = [
274
276
  'okcoin',
275
277
  'okx',
276
278
  'onetrading',
279
+ 'oxfun',
277
280
  'p2b',
278
281
  'paymium',
279
282
  'phemex',
@@ -289,6 +292,7 @@ exchanges = [
289
292
  'whitebit',
290
293
  'woo',
291
294
  'woofipro',
295
+ 'xt',
292
296
  'yobit',
293
297
  'zaif',
294
298
  'zonda',
ccxt/abstract/bitstamp.py CHANGED
@@ -93,7 +93,7 @@ class ImplicitAPI:
93
93
  private_post_uni_withdrawal = privatePostUniWithdrawal = Entry('uni_withdrawal/', 'private', 'POST', {'cost': 1})
94
94
  private_post_uni_address = privatePostUniAddress = Entry('uni_address/', 'private', 'POST', {'cost': 1})
95
95
  private_post_yfi_withdrawal = privatePostYfiWithdrawal = Entry('yfi_withdrawal/', 'private', 'POST', {'cost': 1})
96
- private_post_yfi_address = privatePostYfiAddress = Entry('yfi_address', 'private', 'POST', {'cost': 1})
96
+ private_post_yfi_address = privatePostYfiAddress = Entry('yfi_address/', 'private', 'POST', {'cost': 1})
97
97
  private_post_audio_withdrawal = privatePostAudioWithdrawal = Entry('audio_withdrawal/', 'private', 'POST', {'cost': 1})
98
98
  private_post_audio_address = privatePostAudioAddress = Entry('audio_address/', 'private', 'POST', {'cost': 1})
99
99
  private_post_crv_withdrawal = privatePostCrvWithdrawal = Entry('crv_withdrawal/', 'private', 'POST', {'cost': 1})
@@ -102,7 +102,7 @@ class ImplicitAPI:
102
102
  private_post_algo_address = privatePostAlgoAddress = Entry('algo_address/', 'private', 'POST', {'cost': 1})
103
103
  private_post_comp_withdrawal = privatePostCompWithdrawal = Entry('comp_withdrawal/', 'private', 'POST', {'cost': 1})
104
104
  private_post_comp_address = privatePostCompAddress = Entry('comp_address/', 'private', 'POST', {'cost': 1})
105
- private_post_grt_withdrawal = privatePostGrtWithdrawal = Entry('grt_withdrawal', 'private', 'POST', {'cost': 1})
105
+ private_post_grt_withdrawal = privatePostGrtWithdrawal = Entry('grt_withdrawal/', 'private', 'POST', {'cost': 1})
106
106
  private_post_grt_address = privatePostGrtAddress = Entry('grt_address/', 'private', 'POST', {'cost': 1})
107
107
  private_post_usdt_withdrawal = privatePostUsdtWithdrawal = Entry('usdt_withdrawal/', 'private', 'POST', {'cost': 1})
108
108
  private_post_usdt_address = privatePostUsdtAddress = Entry('usdt_address/', 'private', 'POST', {'cost': 1})
@@ -240,3 +240,19 @@ class ImplicitAPI:
240
240
  private_post_vchf_address = privatePostVchfAddress = Entry('vchf_address/', 'private', 'POST', {'cost': 1})
241
241
  private_post_veur_withdrawal = privatePostVeurWithdrawal = Entry('veur_withdrawal/', 'private', 'POST', {'cost': 1})
242
242
  private_post_veur_address = privatePostVeurAddress = Entry('veur_address/', 'private', 'POST', {'cost': 1})
243
+ private_post_truf_withdrawal = privatePostTrufWithdrawal = Entry('truf_withdrawal/', 'private', 'POST', {'cost': 1})
244
+ private_post_truf_address = privatePostTrufAddress = Entry('truf_address/', 'private', 'POST', {'cost': 1})
245
+ private_post_wif_withdrawal = privatePostWifWithdrawal = Entry('wif_withdrawal/', 'private', 'POST', {'cost': 1})
246
+ private_post_wif_address = privatePostWifAddress = Entry('wif_address/', 'private', 'POST', {'cost': 1})
247
+ private_post_smt_withdrawal = privatePostSmtWithdrawal = Entry('smt_withdrawal/', 'private', 'POST', {'cost': 1})
248
+ private_post_smt_address = privatePostSmtAddress = Entry('smt_address/', 'private', 'POST', {'cost': 1})
249
+ private_post_sui_withdrawal = privatePostSuiWithdrawal = Entry('sui_withdrawal/', 'private', 'POST', {'cost': 1})
250
+ private_post_sui_address = privatePostSuiAddress = Entry('sui_address/', 'private', 'POST', {'cost': 1})
251
+ private_post_jup_withdrawal = privatePostJupWithdrawal = Entry('jup_withdrawal/', 'private', 'POST', {'cost': 1})
252
+ private_post_jup_address = privatePostJupAddress = Entry('jup_address/', 'private', 'POST', {'cost': 1})
253
+ private_post_ondo_withdrawal = privatePostOndoWithdrawal = Entry('ondo_withdrawal/', 'private', 'POST', {'cost': 1})
254
+ private_post_ondo_address = privatePostOndoAddress = Entry('ondo_address/', 'private', 'POST', {'cost': 1})
255
+ private_post_boba_withdrawal = privatePostBobaWithdrawal = Entry('boba_withdrawal/', 'private', 'POST', {'cost': 1})
256
+ private_post_boba_address = privatePostBobaAddress = Entry('boba_address/', 'private', 'POST', {'cost': 1})
257
+ private_post_pyth_withdrawal = privatePostPythWithdrawal = Entry('pyth_withdrawal/', 'private', 'POST', {'cost': 1})
258
+ private_post_pyth_address = privatePostPythAddress = Entry('pyth_address/', 'private', 'POST', {'cost': 1})
ccxt/abstract/kucoin.py CHANGED
@@ -193,8 +193,22 @@ class ImplicitAPI:
193
193
  broker_get_broker_nd_account = brokerGetBrokerNdAccount = Entry('broker/nd/account', 'broker', 'GET', {'cost': 2})
194
194
  broker_get_broker_nd_account_apikey = brokerGetBrokerNdAccountApikey = Entry('broker/nd/account/apikey', 'broker', 'GET', {'cost': 2})
195
195
  broker_get_broker_nd_rebase_download = brokerGetBrokerNdRebaseDownload = Entry('broker/nd/rebase/download', 'broker', 'GET', {'cost': 3})
196
+ broker_get_broker_nd_transfer_detail = brokerGetBrokerNdTransferDetail = Entry('broker/nd/transfer/detail', 'broker', 'GET', {'cost': 1})
197
+ broker_get_broker_nd_deposit_detail = brokerGetBrokerNdDepositDetail = Entry('broker/nd/deposit/detail', 'broker', 'GET', {'cost': 1})
198
+ broker_get_broker_nd_withdraw_detail = brokerGetBrokerNdWithdrawDetail = Entry('broker/nd/withdraw/detail', 'broker', 'GET', {'cost': 1})
196
199
  broker_post_broker_nd_transfer = brokerPostBrokerNdTransfer = Entry('broker/nd/transfer', 'broker', 'POST', {'cost': 1})
197
200
  broker_post_broker_nd_account = brokerPostBrokerNdAccount = Entry('broker/nd/account', 'broker', 'POST', {'cost': 3})
198
201
  broker_post_broker_nd_account_apikey = brokerPostBrokerNdAccountApikey = Entry('broker/nd/account/apikey', 'broker', 'POST', {'cost': 3})
199
202
  broker_post_broker_nd_account_update_apikey = brokerPostBrokerNdAccountUpdateApikey = Entry('broker/nd/account/update-apikey', 'broker', 'POST', {'cost': 3})
200
203
  broker_delete_broker_nd_account_apikey = brokerDeleteBrokerNdAccountApikey = Entry('broker/nd/account/apikey', 'broker', 'DELETE', {'cost': 3})
204
+ earn_get_otc_loan_loan = earnGetOtcLoanLoan = Entry('otc-loan/loan', 'earn', 'GET', {'cost': 1})
205
+ earn_get_otc_loan_accounts = earnGetOtcLoanAccounts = Entry('otc-loan/accounts', 'earn', 'GET', {'cost': 1})
206
+ earn_get_earn_redeem_preview = earnGetEarnRedeemPreview = Entry('earn/redeem-preview', 'earn', 'GET', {'cost': 7.5})
207
+ earn_get_earn_saving_products = earnGetEarnSavingProducts = Entry('earn/saving/products', 'earn', 'GET', {'cost': 7.5})
208
+ earn_get_earn_hold_assets = earnGetEarnHoldAssets = Entry('earn/hold-assets', 'earn', 'GET', {'cost': 7.5})
209
+ earn_get_earn_promotion_products = earnGetEarnPromotionProducts = Entry('earn/promotion/products', 'earn', 'GET', {'cost': 7.5})
210
+ earn_get_earn_kcs_staking_products = earnGetEarnKcsStakingProducts = Entry('earn/kcs-staking/products', 'earn', 'GET', {'cost': 7.5})
211
+ earn_get_earn_staking_products = earnGetEarnStakingProducts = Entry('earn/staking/products', 'earn', 'GET', {'cost': 7.5})
212
+ earn_get_earn_eth_staking_products = earnGetEarnEthStakingProducts = Entry('earn/eth-staking/products', 'earn', 'GET', {'cost': 7.5})
213
+ earn_post_earn_orders = earnPostEarnOrders = Entry('earn/orders', 'earn', 'POST', {'cost': 7.5})
214
+ earn_delete_earn_orders = earnDeleteEarnOrders = Entry('earn/orders', 'earn', 'DELETE', {'cost': 7.5})
@@ -212,8 +212,22 @@ class ImplicitAPI:
212
212
  broker_get_broker_nd_account = brokerGetBrokerNdAccount = Entry('broker/nd/account', 'broker', 'GET', {'cost': 2})
213
213
  broker_get_broker_nd_account_apikey = brokerGetBrokerNdAccountApikey = Entry('broker/nd/account/apikey', 'broker', 'GET', {'cost': 2})
214
214
  broker_get_broker_nd_rebase_download = brokerGetBrokerNdRebaseDownload = Entry('broker/nd/rebase/download', 'broker', 'GET', {'cost': 3})
215
+ broker_get_broker_nd_transfer_detail = brokerGetBrokerNdTransferDetail = Entry('broker/nd/transfer/detail', 'broker', 'GET', {'cost': 1})
216
+ broker_get_broker_nd_deposit_detail = brokerGetBrokerNdDepositDetail = Entry('broker/nd/deposit/detail', 'broker', 'GET', {'cost': 1})
217
+ broker_get_broker_nd_withdraw_detail = brokerGetBrokerNdWithdrawDetail = Entry('broker/nd/withdraw/detail', 'broker', 'GET', {'cost': 1})
215
218
  broker_post_broker_nd_transfer = brokerPostBrokerNdTransfer = Entry('broker/nd/transfer', 'broker', 'POST', {'cost': 1})
216
219
  broker_post_broker_nd_account = brokerPostBrokerNdAccount = Entry('broker/nd/account', 'broker', 'POST', {'cost': 3})
217
220
  broker_post_broker_nd_account_apikey = brokerPostBrokerNdAccountApikey = Entry('broker/nd/account/apikey', 'broker', 'POST', {'cost': 3})
218
221
  broker_post_broker_nd_account_update_apikey = brokerPostBrokerNdAccountUpdateApikey = Entry('broker/nd/account/update-apikey', 'broker', 'POST', {'cost': 3})
219
222
  broker_delete_broker_nd_account_apikey = brokerDeleteBrokerNdAccountApikey = Entry('broker/nd/account/apikey', 'broker', 'DELETE', {'cost': 3})
223
+ earn_get_otc_loan_loan = earnGetOtcLoanLoan = Entry('otc-loan/loan', 'earn', 'GET', {'cost': 1})
224
+ earn_get_otc_loan_accounts = earnGetOtcLoanAccounts = Entry('otc-loan/accounts', 'earn', 'GET', {'cost': 1})
225
+ earn_get_earn_redeem_preview = earnGetEarnRedeemPreview = Entry('earn/redeem-preview', 'earn', 'GET', {'cost': 7.5})
226
+ earn_get_earn_saving_products = earnGetEarnSavingProducts = Entry('earn/saving/products', 'earn', 'GET', {'cost': 7.5})
227
+ earn_get_earn_hold_assets = earnGetEarnHoldAssets = Entry('earn/hold-assets', 'earn', 'GET', {'cost': 7.5})
228
+ earn_get_earn_promotion_products = earnGetEarnPromotionProducts = Entry('earn/promotion/products', 'earn', 'GET', {'cost': 7.5})
229
+ earn_get_earn_kcs_staking_products = earnGetEarnKcsStakingProducts = Entry('earn/kcs-staking/products', 'earn', 'GET', {'cost': 7.5})
230
+ earn_get_earn_staking_products = earnGetEarnStakingProducts = Entry('earn/staking/products', 'earn', 'GET', {'cost': 7.5})
231
+ earn_get_earn_eth_staking_products = earnGetEarnEthStakingProducts = Entry('earn/eth-staking/products', 'earn', 'GET', {'cost': 7.5})
232
+ earn_post_earn_orders = earnPostEarnOrders = Entry('earn/orders', 'earn', 'POST', {'cost': 7.5})
233
+ earn_delete_earn_orders = earnDeleteEarnOrders = Entry('earn/orders', 'earn', 'DELETE', {'cost': 7.5})
ccxt/abstract/oxfun.py ADDED
@@ -0,0 +1,34 @@
1
+ from ccxt.base.types import Entry
2
+
3
+
4
+ class ImplicitAPI:
5
+ public_get_v3_markets = publicGetV3Markets = Entry('v3/markets', 'public', 'GET', {'cost': 1})
6
+ public_get_v3_assets = publicGetV3Assets = Entry('v3/assets', 'public', 'GET', {'cost': 1})
7
+ public_get_v3_tickers = publicGetV3Tickers = Entry('v3/tickers', 'public', 'GET', {'cost': 1})
8
+ public_get_v3_funding_estimates = publicGetV3FundingEstimates = Entry('v3/funding/estimates', 'public', 'GET', {'cost': 1})
9
+ public_get_v3_candles = publicGetV3Candles = Entry('v3/candles', 'public', 'GET', {'cost': 1})
10
+ public_get_v3_depth = publicGetV3Depth = Entry('v3/depth', 'public', 'GET', {'cost': 1})
11
+ public_get_v3_markets_operational = publicGetV3MarketsOperational = Entry('v3/markets/operational', 'public', 'GET', {'cost': 1})
12
+ public_get_v3_exchange_trades = publicGetV3ExchangeTrades = Entry('v3/exchange-trades', 'public', 'GET', {'cost': 1})
13
+ public_get_v3_funding_rates = publicGetV3FundingRates = Entry('v3/funding/rates', 'public', 'GET', {'cost': 1})
14
+ public_get_v3_leverage_tiers = publicGetV3LeverageTiers = Entry('v3/leverage/tiers', 'public', 'GET', {'cost': 1})
15
+ private_get_v3_account = privateGetV3Account = Entry('v3/account', 'private', 'GET', {'cost': 1})
16
+ private_get_v3_account_names = privateGetV3AccountNames = Entry('v3/account/names', 'private', 'GET', {'cost': 1})
17
+ private_get_v3_wallet = privateGetV3Wallet = Entry('v3/wallet', 'private', 'GET', {'cost': 1})
18
+ private_get_v3_transfer = privateGetV3Transfer = Entry('v3/transfer', 'private', 'GET', {'cost': 1})
19
+ private_get_v3_balances = privateGetV3Balances = Entry('v3/balances', 'private', 'GET', {'cost': 1})
20
+ private_get_v3_positions = privateGetV3Positions = Entry('v3/positions', 'private', 'GET', {'cost': 1})
21
+ private_get_v3_funding = privateGetV3Funding = Entry('v3/funding', 'private', 'GET', {'cost': 1})
22
+ private_get_v3_deposit_addresses = privateGetV3DepositAddresses = Entry('v3/deposit-addresses', 'private', 'GET', {'cost': 1})
23
+ private_get_v3_deposit = privateGetV3Deposit = Entry('v3/deposit', 'private', 'GET', {'cost': 1})
24
+ private_get_v3_withdrawal_addresses = privateGetV3WithdrawalAddresses = Entry('v3/withdrawal-addresses', 'private', 'GET', {'cost': 1})
25
+ private_get_v3_withdrawal = privateGetV3Withdrawal = Entry('v3/withdrawal', 'private', 'GET', {'cost': 1})
26
+ private_get_v3_withdrawal_fees = privateGetV3WithdrawalFees = Entry('v3/withdrawal-fees', 'private', 'GET', {'cost': 1})
27
+ private_get_v3_orders_status = privateGetV3OrdersStatus = Entry('v3/orders/status', 'private', 'GET', {'cost': 1})
28
+ private_get_v3_orders_working = privateGetV3OrdersWorking = Entry('v3/orders/working', 'private', 'GET', {'cost': 1})
29
+ private_get_v3_trades = privateGetV3Trades = Entry('v3/trades', 'private', 'GET', {'cost': 1})
30
+ private_post_v3_transfer = privatePostV3Transfer = Entry('v3/transfer', 'private', 'POST', {'cost': 1})
31
+ private_post_v3_withdrawal = privatePostV3Withdrawal = Entry('v3/withdrawal', 'private', 'POST', {'cost': 1})
32
+ private_post_v3_orders_place = privatePostV3OrdersPlace = Entry('v3/orders/place', 'private', 'POST', {'cost': 1})
33
+ private_delete_v3_orders_cancel = privateDeleteV3OrdersCancel = Entry('v3/orders/cancel', 'private', 'DELETE', {'cost': 1})
34
+ private_delete_v3_orders_cancel_all = privateDeleteV3OrdersCancelAll = Entry('v3/orders/cancel-all', 'private', 'DELETE', {'cost': 1})
ccxt/abstract/xt.py ADDED
@@ -0,0 +1,152 @@
1
+ from ccxt.base.types import Entry
2
+
3
+
4
+ class ImplicitAPI:
5
+ public_spot_get_currencies = publicSpotGetCurrencies = Entry('currencies', ['public', 'spot'], 'GET', {'cost': 1})
6
+ public_spot_get_depth = publicSpotGetDepth = Entry('depth', ['public', 'spot'], 'GET', {'cost': 0.05})
7
+ public_spot_get_kline = publicSpotGetKline = Entry('kline', ['public', 'spot'], 'GET', {'cost': 0.1})
8
+ public_spot_get_symbol = publicSpotGetSymbol = Entry('symbol', ['public', 'spot'], 'GET', {'cost': 1})
9
+ public_spot_get_ticker = publicSpotGetTicker = Entry('ticker', ['public', 'spot'], 'GET', {'cost': 1})
10
+ public_spot_get_ticker_book = publicSpotGetTickerBook = Entry('ticker/book', ['public', 'spot'], 'GET', {'cost': 1})
11
+ public_spot_get_ticker_price = publicSpotGetTickerPrice = Entry('ticker/price', ['public', 'spot'], 'GET', {'cost': 1})
12
+ public_spot_get_ticker_24h = publicSpotGetTicker24h = Entry('ticker/24h', ['public', 'spot'], 'GET', {'cost': 1})
13
+ public_spot_get_time = publicSpotGetTime = Entry('time', ['public', 'spot'], 'GET', {'cost': 1})
14
+ public_spot_get_trade_history = publicSpotGetTradeHistory = Entry('trade/history', ['public', 'spot'], 'GET', {'cost': 0.1})
15
+ public_spot_get_trade_recent = publicSpotGetTradeRecent = Entry('trade/recent', ['public', 'spot'], 'GET', {'cost': 0.1})
16
+ public_spot_get_wallet_support_currency = publicSpotGetWalletSupportCurrency = Entry('wallet/support/currency', ['public', 'spot'], 'GET', {'cost': 1})
17
+ public_linear_get_future_market_v1_public_contract_risk_balance = publicLinearGetFutureMarketV1PublicContractRiskBalance = Entry('future/market/v1/public/contract/risk-balance', ['public', 'linear'], 'GET', {'cost': 1})
18
+ public_linear_get_future_market_v1_public_contract_open_interest = publicLinearGetFutureMarketV1PublicContractOpenInterest = Entry('future/market/v1/public/contract/open-interest', ['public', 'linear'], 'GET', {'cost': 1})
19
+ public_linear_get_future_market_v1_public_leverage_bracket_detail = publicLinearGetFutureMarketV1PublicLeverageBracketDetail = Entry('future/market/v1/public/leverage/bracket/detail', ['public', 'linear'], 'GET', {'cost': 1})
20
+ public_linear_get_future_market_v1_public_leverage_bracket_list = publicLinearGetFutureMarketV1PublicLeverageBracketList = Entry('future/market/v1/public/leverage/bracket/list', ['public', 'linear'], 'GET', {'cost': 1})
21
+ public_linear_get_future_market_v1_public_q_agg_ticker = publicLinearGetFutureMarketV1PublicQAggTicker = Entry('future/market/v1/public/q/agg-ticker', ['public', 'linear'], 'GET', {'cost': 1})
22
+ public_linear_get_future_market_v1_public_q_agg_tickers = publicLinearGetFutureMarketV1PublicQAggTickers = Entry('future/market/v1/public/q/agg-tickers', ['public', 'linear'], 'GET', {'cost': 1})
23
+ public_linear_get_future_market_v1_public_q_deal = publicLinearGetFutureMarketV1PublicQDeal = Entry('future/market/v1/public/q/deal', ['public', 'linear'], 'GET', {'cost': 1})
24
+ public_linear_get_future_market_v1_public_q_depth = publicLinearGetFutureMarketV1PublicQDepth = Entry('future/market/v1/public/q/depth', ['public', 'linear'], 'GET', {'cost': 1})
25
+ public_linear_get_future_market_v1_public_q_funding_rate = publicLinearGetFutureMarketV1PublicQFundingRate = Entry('future/market/v1/public/q/funding-rate', ['public', 'linear'], 'GET', {'cost': 1})
26
+ public_linear_get_future_market_v1_public_q_funding_rate_record = publicLinearGetFutureMarketV1PublicQFundingRateRecord = Entry('future/market/v1/public/q/funding-rate-record', ['public', 'linear'], 'GET', {'cost': 1})
27
+ public_linear_get_future_market_v1_public_q_index_price = publicLinearGetFutureMarketV1PublicQIndexPrice = Entry('future/market/v1/public/q/index-price', ['public', 'linear'], 'GET', {'cost': 1})
28
+ public_linear_get_future_market_v1_public_q_kline = publicLinearGetFutureMarketV1PublicQKline = Entry('future/market/v1/public/q/kline', ['public', 'linear'], 'GET', {'cost': 1})
29
+ public_linear_get_future_market_v1_public_q_mark_price = publicLinearGetFutureMarketV1PublicQMarkPrice = Entry('future/market/v1/public/q/mark-price', ['public', 'linear'], 'GET', {'cost': 1})
30
+ public_linear_get_future_market_v1_public_q_symbol_index_price = publicLinearGetFutureMarketV1PublicQSymbolIndexPrice = Entry('future/market/v1/public/q/symbol-index-price', ['public', 'linear'], 'GET', {'cost': 1})
31
+ public_linear_get_future_market_v1_public_q_symbol_mark_price = publicLinearGetFutureMarketV1PublicQSymbolMarkPrice = Entry('future/market/v1/public/q/symbol-mark-price', ['public', 'linear'], 'GET', {'cost': 1})
32
+ public_linear_get_future_market_v1_public_q_ticker = publicLinearGetFutureMarketV1PublicQTicker = Entry('future/market/v1/public/q/ticker', ['public', 'linear'], 'GET', {'cost': 1})
33
+ public_linear_get_future_market_v1_public_q_tickers = publicLinearGetFutureMarketV1PublicQTickers = Entry('future/market/v1/public/q/tickers', ['public', 'linear'], 'GET', {'cost': 1})
34
+ public_linear_get_future_market_v1_public_symbol_coins = publicLinearGetFutureMarketV1PublicSymbolCoins = Entry('future/market/v1/public/symbol/coins', ['public', 'linear'], 'GET', {'cost': 3.33})
35
+ public_linear_get_future_market_v1_public_symbol_detail = publicLinearGetFutureMarketV1PublicSymbolDetail = Entry('future/market/v1/public/symbol/detail', ['public', 'linear'], 'GET', {'cost': 3.33})
36
+ public_linear_get_future_market_v1_public_symbol_list = publicLinearGetFutureMarketV1PublicSymbolList = Entry('future/market/v1/public/symbol/list', ['public', 'linear'], 'GET', {'cost': 1})
37
+ public_inverse_get_future_market_v1_public_contract_risk_balance = publicInverseGetFutureMarketV1PublicContractRiskBalance = Entry('future/market/v1/public/contract/risk-balance', ['public', 'inverse'], 'GET', {'cost': 1})
38
+ public_inverse_get_future_market_v1_public_contract_open_interest = publicInverseGetFutureMarketV1PublicContractOpenInterest = Entry('future/market/v1/public/contract/open-interest', ['public', 'inverse'], 'GET', {'cost': 1})
39
+ public_inverse_get_future_market_v1_public_leverage_bracket_detail = publicInverseGetFutureMarketV1PublicLeverageBracketDetail = Entry('future/market/v1/public/leverage/bracket/detail', ['public', 'inverse'], 'GET', {'cost': 1})
40
+ public_inverse_get_future_market_v1_public_leverage_bracket_list = publicInverseGetFutureMarketV1PublicLeverageBracketList = Entry('future/market/v1/public/leverage/bracket/list', ['public', 'inverse'], 'GET', {'cost': 1})
41
+ public_inverse_get_future_market_v1_public_q_agg_ticker = publicInverseGetFutureMarketV1PublicQAggTicker = Entry('future/market/v1/public/q/agg-ticker', ['public', 'inverse'], 'GET', {'cost': 1})
42
+ public_inverse_get_future_market_v1_public_q_agg_tickers = publicInverseGetFutureMarketV1PublicQAggTickers = Entry('future/market/v1/public/q/agg-tickers', ['public', 'inverse'], 'GET', {'cost': 1})
43
+ public_inverse_get_future_market_v1_public_q_deal = publicInverseGetFutureMarketV1PublicQDeal = Entry('future/market/v1/public/q/deal', ['public', 'inverse'], 'GET', {'cost': 1})
44
+ public_inverse_get_future_market_v1_public_q_depth = publicInverseGetFutureMarketV1PublicQDepth = Entry('future/market/v1/public/q/depth', ['public', 'inverse'], 'GET', {'cost': 1})
45
+ public_inverse_get_future_market_v1_public_q_funding_rate = publicInverseGetFutureMarketV1PublicQFundingRate = Entry('future/market/v1/public/q/funding-rate', ['public', 'inverse'], 'GET', {'cost': 1})
46
+ public_inverse_get_future_market_v1_public_q_funding_rate_record = publicInverseGetFutureMarketV1PublicQFundingRateRecord = Entry('future/market/v1/public/q/funding-rate-record', ['public', 'inverse'], 'GET', {'cost': 1})
47
+ public_inverse_get_future_market_v1_public_q_index_price = publicInverseGetFutureMarketV1PublicQIndexPrice = Entry('future/market/v1/public/q/index-price', ['public', 'inverse'], 'GET', {'cost': 1})
48
+ public_inverse_get_future_market_v1_public_q_kline = publicInverseGetFutureMarketV1PublicQKline = Entry('future/market/v1/public/q/kline', ['public', 'inverse'], 'GET', {'cost': 1})
49
+ public_inverse_get_future_market_v1_public_q_mark_price = publicInverseGetFutureMarketV1PublicQMarkPrice = Entry('future/market/v1/public/q/mark-price', ['public', 'inverse'], 'GET', {'cost': 1})
50
+ public_inverse_get_future_market_v1_public_q_symbol_index_price = publicInverseGetFutureMarketV1PublicQSymbolIndexPrice = Entry('future/market/v1/public/q/symbol-index-price', ['public', 'inverse'], 'GET', {'cost': 1})
51
+ public_inverse_get_future_market_v1_public_q_symbol_mark_price = publicInverseGetFutureMarketV1PublicQSymbolMarkPrice = Entry('future/market/v1/public/q/symbol-mark-price', ['public', 'inverse'], 'GET', {'cost': 1})
52
+ public_inverse_get_future_market_v1_public_q_ticker = publicInverseGetFutureMarketV1PublicQTicker = Entry('future/market/v1/public/q/ticker', ['public', 'inverse'], 'GET', {'cost': 1})
53
+ public_inverse_get_future_market_v1_public_q_tickers = publicInverseGetFutureMarketV1PublicQTickers = Entry('future/market/v1/public/q/tickers', ['public', 'inverse'], 'GET', {'cost': 1})
54
+ public_inverse_get_future_market_v1_public_symbol_coins = publicInverseGetFutureMarketV1PublicSymbolCoins = Entry('future/market/v1/public/symbol/coins', ['public', 'inverse'], 'GET', {'cost': 3.33})
55
+ public_inverse_get_future_market_v1_public_symbol_detail = publicInverseGetFutureMarketV1PublicSymbolDetail = Entry('future/market/v1/public/symbol/detail', ['public', 'inverse'], 'GET', {'cost': 3.33})
56
+ public_inverse_get_future_market_v1_public_symbol_list = publicInverseGetFutureMarketV1PublicSymbolList = Entry('future/market/v1/public/symbol/list', ['public', 'inverse'], 'GET', {'cost': 1})
57
+ private_spot_get_balance = privateSpotGetBalance = Entry('balance', ['private', 'spot'], 'GET', {'cost': 1})
58
+ private_spot_get_balances = privateSpotGetBalances = Entry('balances', ['private', 'spot'], 'GET', {'cost': 1})
59
+ private_spot_get_batch_order = privateSpotGetBatchOrder = Entry('batch-order', ['private', 'spot'], 'GET', {'cost': 1})
60
+ private_spot_get_deposit_address = privateSpotGetDepositAddress = Entry('deposit/address', ['private', 'spot'], 'GET', {'cost': 1})
61
+ private_spot_get_deposit_history = privateSpotGetDepositHistory = Entry('deposit/history', ['private', 'spot'], 'GET', {'cost': 1})
62
+ private_spot_get_history_order = privateSpotGetHistoryOrder = Entry('history-order', ['private', 'spot'], 'GET', {'cost': 1})
63
+ private_spot_get_open_order = privateSpotGetOpenOrder = Entry('open-order', ['private', 'spot'], 'GET', {'cost': 1})
64
+ private_spot_get_order = privateSpotGetOrder = Entry('order', ['private', 'spot'], 'GET', {'cost': 1})
65
+ private_spot_get_order_orderid = privateSpotGetOrderOrderId = Entry('order/{orderId}', ['private', 'spot'], 'GET', {'cost': 1})
66
+ private_spot_get_trade = privateSpotGetTrade = Entry('trade', ['private', 'spot'], 'GET', {'cost': 1})
67
+ private_spot_get_withdraw_history = privateSpotGetWithdrawHistory = Entry('withdraw/history', ['private', 'spot'], 'GET', {'cost': 1})
68
+ private_spot_post_order = privateSpotPostOrder = Entry('order', ['private', 'spot'], 'POST', {'cost': 0.2})
69
+ private_spot_post_withdraw = privateSpotPostWithdraw = Entry('withdraw', ['private', 'spot'], 'POST', {'cost': 1})
70
+ private_spot_post_balance_transfer = privateSpotPostBalanceTransfer = Entry('balance/transfer', ['private', 'spot'], 'POST', {'cost': 1})
71
+ private_spot_post_balance_account_transfer = privateSpotPostBalanceAccountTransfer = Entry('balance/account/transfer', ['private', 'spot'], 'POST', {'cost': 1})
72
+ private_spot_delete_batch_order = privateSpotDeleteBatchOrder = Entry('batch-order', ['private', 'spot'], 'DELETE', {'cost': 1})
73
+ private_spot_delete_open_order = privateSpotDeleteOpenOrder = Entry('open-order', ['private', 'spot'], 'DELETE', {'cost': 1})
74
+ private_spot_delete_order_orderid = privateSpotDeleteOrderOrderId = Entry('order/{orderId}', ['private', 'spot'], 'DELETE', {'cost': 1})
75
+ private_linear_get_future_trade_v1_entrust_plan_detail = privateLinearGetFutureTradeV1EntrustPlanDetail = Entry('future/trade/v1/entrust/plan-detail', ['private', 'linear'], 'GET', {'cost': 1})
76
+ private_linear_get_future_trade_v1_entrust_plan_list = privateLinearGetFutureTradeV1EntrustPlanList = Entry('future/trade/v1/entrust/plan-list', ['private', 'linear'], 'GET', {'cost': 1})
77
+ private_linear_get_future_trade_v1_entrust_plan_list_history = privateLinearGetFutureTradeV1EntrustPlanListHistory = Entry('future/trade/v1/entrust/plan-list-history', ['private', 'linear'], 'GET', {'cost': 1})
78
+ private_linear_get_future_trade_v1_entrust_profit_detail = privateLinearGetFutureTradeV1EntrustProfitDetail = Entry('future/trade/v1/entrust/profit-detail', ['private', 'linear'], 'GET', {'cost': 1})
79
+ private_linear_get_future_trade_v1_entrust_profit_list = privateLinearGetFutureTradeV1EntrustProfitList = Entry('future/trade/v1/entrust/profit-list', ['private', 'linear'], 'GET', {'cost': 1})
80
+ private_linear_get_future_trade_v1_order_detail = privateLinearGetFutureTradeV1OrderDetail = Entry('future/trade/v1/order/detail', ['private', 'linear'], 'GET', {'cost': 1})
81
+ private_linear_get_future_trade_v1_order_list = privateLinearGetFutureTradeV1OrderList = Entry('future/trade/v1/order/list', ['private', 'linear'], 'GET', {'cost': 1})
82
+ private_linear_get_future_trade_v1_order_list_history = privateLinearGetFutureTradeV1OrderListHistory = Entry('future/trade/v1/order/list-history', ['private', 'linear'], 'GET', {'cost': 1})
83
+ private_linear_get_future_trade_v1_order_trade_list = privateLinearGetFutureTradeV1OrderTradeList = Entry('future/trade/v1/order/trade-list', ['private', 'linear'], 'GET', {'cost': 1})
84
+ private_linear_get_future_user_v1_account_info = privateLinearGetFutureUserV1AccountInfo = Entry('future/user/v1/account/info', ['private', 'linear'], 'GET', {'cost': 1})
85
+ private_linear_get_future_user_v1_balance_bills = privateLinearGetFutureUserV1BalanceBills = Entry('future/user/v1/balance/bills', ['private', 'linear'], 'GET', {'cost': 1})
86
+ private_linear_get_future_user_v1_balance_detail = privateLinearGetFutureUserV1BalanceDetail = Entry('future/user/v1/balance/detail', ['private', 'linear'], 'GET', {'cost': 1})
87
+ private_linear_get_future_user_v1_balance_funding_rate_list = privateLinearGetFutureUserV1BalanceFundingRateList = Entry('future/user/v1/balance/funding-rate-list', ['private', 'linear'], 'GET', {'cost': 1})
88
+ private_linear_get_future_user_v1_balance_list = privateLinearGetFutureUserV1BalanceList = Entry('future/user/v1/balance/list', ['private', 'linear'], 'GET', {'cost': 1})
89
+ private_linear_get_future_user_v1_position_adl = privateLinearGetFutureUserV1PositionAdl = Entry('future/user/v1/position/adl', ['private', 'linear'], 'GET', {'cost': 1})
90
+ private_linear_get_future_user_v1_position_list = privateLinearGetFutureUserV1PositionList = Entry('future/user/v1/position/list', ['private', 'linear'], 'GET', {'cost': 1})
91
+ private_linear_get_future_user_v1_user_collection_list = privateLinearGetFutureUserV1UserCollectionList = Entry('future/user/v1/user/collection/list', ['private', 'linear'], 'GET', {'cost': 1})
92
+ private_linear_get_future_user_v1_user_listen_key = privateLinearGetFutureUserV1UserListenKey = Entry('future/user/v1/user/listen-key', ['private', 'linear'], 'GET', {'cost': 1})
93
+ private_linear_post_future_trade_v1_entrust_cancel_all_plan = privateLinearPostFutureTradeV1EntrustCancelAllPlan = Entry('future/trade/v1/entrust/cancel-all-plan', ['private', 'linear'], 'POST', {'cost': 1})
94
+ private_linear_post_future_trade_v1_entrust_cancel_all_profit_stop = privateLinearPostFutureTradeV1EntrustCancelAllProfitStop = Entry('future/trade/v1/entrust/cancel-all-profit-stop', ['private', 'linear'], 'POST', {'cost': 1})
95
+ private_linear_post_future_trade_v1_entrust_cancel_plan = privateLinearPostFutureTradeV1EntrustCancelPlan = Entry('future/trade/v1/entrust/cancel-plan', ['private', 'linear'], 'POST', {'cost': 1})
96
+ private_linear_post_future_trade_v1_entrust_cancel_profit_stop = privateLinearPostFutureTradeV1EntrustCancelProfitStop = Entry('future/trade/v1/entrust/cancel-profit-stop', ['private', 'linear'], 'POST', {'cost': 1})
97
+ private_linear_post_future_trade_v1_entrust_create_plan = privateLinearPostFutureTradeV1EntrustCreatePlan = Entry('future/trade/v1/entrust/create-plan', ['private', 'linear'], 'POST', {'cost': 1})
98
+ private_linear_post_future_trade_v1_entrust_create_profit = privateLinearPostFutureTradeV1EntrustCreateProfit = Entry('future/trade/v1/entrust/create-profit', ['private', 'linear'], 'POST', {'cost': 1})
99
+ private_linear_post_future_trade_v1_entrust_update_profit_stop = privateLinearPostFutureTradeV1EntrustUpdateProfitStop = Entry('future/trade/v1/entrust/update-profit-stop', ['private', 'linear'], 'POST', {'cost': 1})
100
+ private_linear_post_future_trade_v1_order_cancel = privateLinearPostFutureTradeV1OrderCancel = Entry('future/trade/v1/order/cancel', ['private', 'linear'], 'POST', {'cost': 1})
101
+ private_linear_post_future_trade_v1_order_cancel_all = privateLinearPostFutureTradeV1OrderCancelAll = Entry('future/trade/v1/order/cancel-all', ['private', 'linear'], 'POST', {'cost': 1})
102
+ private_linear_post_future_trade_v1_order_create = privateLinearPostFutureTradeV1OrderCreate = Entry('future/trade/v1/order/create', ['private', 'linear'], 'POST', {'cost': 1})
103
+ private_linear_post_future_trade_v1_order_create_batch = privateLinearPostFutureTradeV1OrderCreateBatch = Entry('future/trade/v1/order/create-batch', ['private', 'linear'], 'POST', {'cost': 1})
104
+ private_linear_post_future_user_v1_account_open = privateLinearPostFutureUserV1AccountOpen = Entry('future/user/v1/account/open', ['private', 'linear'], 'POST', {'cost': 1})
105
+ private_linear_post_future_user_v1_position_adjust_leverage = privateLinearPostFutureUserV1PositionAdjustLeverage = Entry('future/user/v1/position/adjust-leverage', ['private', 'linear'], 'POST', {'cost': 1})
106
+ private_linear_post_future_user_v1_position_auto_margin = privateLinearPostFutureUserV1PositionAutoMargin = Entry('future/user/v1/position/auto-margin', ['private', 'linear'], 'POST', {'cost': 1})
107
+ private_linear_post_future_user_v1_position_close_all = privateLinearPostFutureUserV1PositionCloseAll = Entry('future/user/v1/position/close-all', ['private', 'linear'], 'POST', {'cost': 1})
108
+ private_linear_post_future_user_v1_position_margin = privateLinearPostFutureUserV1PositionMargin = Entry('future/user/v1/position/margin', ['private', 'linear'], 'POST', {'cost': 1})
109
+ private_linear_post_future_user_v1_user_collection_add = privateLinearPostFutureUserV1UserCollectionAdd = Entry('future/user/v1/user/collection/add', ['private', 'linear'], 'POST', {'cost': 1})
110
+ private_linear_post_future_user_v1_user_collection_cancel = privateLinearPostFutureUserV1UserCollectionCancel = Entry('future/user/v1/user/collection/cancel', ['private', 'linear'], 'POST', {'cost': 1})
111
+ private_inverse_get_future_trade_v1_entrust_plan_detail = privateInverseGetFutureTradeV1EntrustPlanDetail = Entry('future/trade/v1/entrust/plan-detail', ['private', 'inverse'], 'GET', {'cost': 1})
112
+ private_inverse_get_future_trade_v1_entrust_plan_list = privateInverseGetFutureTradeV1EntrustPlanList = Entry('future/trade/v1/entrust/plan-list', ['private', 'inverse'], 'GET', {'cost': 1})
113
+ private_inverse_get_future_trade_v1_entrust_plan_list_history = privateInverseGetFutureTradeV1EntrustPlanListHistory = Entry('future/trade/v1/entrust/plan-list-history', ['private', 'inverse'], 'GET', {'cost': 1})
114
+ private_inverse_get_future_trade_v1_entrust_profit_detail = privateInverseGetFutureTradeV1EntrustProfitDetail = Entry('future/trade/v1/entrust/profit-detail', ['private', 'inverse'], 'GET', {'cost': 1})
115
+ private_inverse_get_future_trade_v1_entrust_profit_list = privateInverseGetFutureTradeV1EntrustProfitList = Entry('future/trade/v1/entrust/profit-list', ['private', 'inverse'], 'GET', {'cost': 1})
116
+ private_inverse_get_future_trade_v1_order_detail = privateInverseGetFutureTradeV1OrderDetail = Entry('future/trade/v1/order/detail', ['private', 'inverse'], 'GET', {'cost': 1})
117
+ private_inverse_get_future_trade_v1_order_list = privateInverseGetFutureTradeV1OrderList = Entry('future/trade/v1/order/list', ['private', 'inverse'], 'GET', {'cost': 1})
118
+ private_inverse_get_future_trade_v1_order_list_history = privateInverseGetFutureTradeV1OrderListHistory = Entry('future/trade/v1/order/list-history', ['private', 'inverse'], 'GET', {'cost': 1})
119
+ private_inverse_get_future_trade_v1_order_trade_list = privateInverseGetFutureTradeV1OrderTradeList = Entry('future/trade/v1/order/trade-list', ['private', 'inverse'], 'GET', {'cost': 1})
120
+ private_inverse_get_future_user_v1_account_info = privateInverseGetFutureUserV1AccountInfo = Entry('future/user/v1/account/info', ['private', 'inverse'], 'GET', {'cost': 1})
121
+ private_inverse_get_future_user_v1_balance_bills = privateInverseGetFutureUserV1BalanceBills = Entry('future/user/v1/balance/bills', ['private', 'inverse'], 'GET', {'cost': 1})
122
+ private_inverse_get_future_user_v1_balance_detail = privateInverseGetFutureUserV1BalanceDetail = Entry('future/user/v1/balance/detail', ['private', 'inverse'], 'GET', {'cost': 1})
123
+ private_inverse_get_future_user_v1_balance_funding_rate_list = privateInverseGetFutureUserV1BalanceFundingRateList = Entry('future/user/v1/balance/funding-rate-list', ['private', 'inverse'], 'GET', {'cost': 1})
124
+ private_inverse_get_future_user_v1_balance_list = privateInverseGetFutureUserV1BalanceList = Entry('future/user/v1/balance/list', ['private', 'inverse'], 'GET', {'cost': 1})
125
+ private_inverse_get_future_user_v1_position_adl = privateInverseGetFutureUserV1PositionAdl = Entry('future/user/v1/position/adl', ['private', 'inverse'], 'GET', {'cost': 1})
126
+ private_inverse_get_future_user_v1_position_list = privateInverseGetFutureUserV1PositionList = Entry('future/user/v1/position/list', ['private', 'inverse'], 'GET', {'cost': 1})
127
+ private_inverse_get_future_user_v1_user_collection_list = privateInverseGetFutureUserV1UserCollectionList = Entry('future/user/v1/user/collection/list', ['private', 'inverse'], 'GET', {'cost': 1})
128
+ private_inverse_get_future_user_v1_user_listen_key = privateInverseGetFutureUserV1UserListenKey = Entry('future/user/v1/user/listen-key', ['private', 'inverse'], 'GET', {'cost': 1})
129
+ private_inverse_post_future_trade_v1_entrust_cancel_all_plan = privateInversePostFutureTradeV1EntrustCancelAllPlan = Entry('future/trade/v1/entrust/cancel-all-plan', ['private', 'inverse'], 'POST', {'cost': 1})
130
+ private_inverse_post_future_trade_v1_entrust_cancel_all_profit_stop = privateInversePostFutureTradeV1EntrustCancelAllProfitStop = Entry('future/trade/v1/entrust/cancel-all-profit-stop', ['private', 'inverse'], 'POST', {'cost': 1})
131
+ private_inverse_post_future_trade_v1_entrust_cancel_plan = privateInversePostFutureTradeV1EntrustCancelPlan = Entry('future/trade/v1/entrust/cancel-plan', ['private', 'inverse'], 'POST', {'cost': 1})
132
+ private_inverse_post_future_trade_v1_entrust_cancel_profit_stop = privateInversePostFutureTradeV1EntrustCancelProfitStop = Entry('future/trade/v1/entrust/cancel-profit-stop', ['private', 'inverse'], 'POST', {'cost': 1})
133
+ private_inverse_post_future_trade_v1_entrust_create_plan = privateInversePostFutureTradeV1EntrustCreatePlan = Entry('future/trade/v1/entrust/create-plan', ['private', 'inverse'], 'POST', {'cost': 1})
134
+ private_inverse_post_future_trade_v1_entrust_create_profit = privateInversePostFutureTradeV1EntrustCreateProfit = Entry('future/trade/v1/entrust/create-profit', ['private', 'inverse'], 'POST', {'cost': 1})
135
+ private_inverse_post_future_trade_v1_entrust_update_profit_stop = privateInversePostFutureTradeV1EntrustUpdateProfitStop = Entry('future/trade/v1/entrust/update-profit-stop', ['private', 'inverse'], 'POST', {'cost': 1})
136
+ private_inverse_post_future_trade_v1_order_cancel = privateInversePostFutureTradeV1OrderCancel = Entry('future/trade/v1/order/cancel', ['private', 'inverse'], 'POST', {'cost': 1})
137
+ private_inverse_post_future_trade_v1_order_cancel_all = privateInversePostFutureTradeV1OrderCancelAll = Entry('future/trade/v1/order/cancel-all', ['private', 'inverse'], 'POST', {'cost': 1})
138
+ private_inverse_post_future_trade_v1_order_create = privateInversePostFutureTradeV1OrderCreate = Entry('future/trade/v1/order/create', ['private', 'inverse'], 'POST', {'cost': 1})
139
+ private_inverse_post_future_trade_v1_order_create_batch = privateInversePostFutureTradeV1OrderCreateBatch = Entry('future/trade/v1/order/create-batch', ['private', 'inverse'], 'POST', {'cost': 1})
140
+ private_inverse_post_future_user_v1_account_open = privateInversePostFutureUserV1AccountOpen = Entry('future/user/v1/account/open', ['private', 'inverse'], 'POST', {'cost': 1})
141
+ private_inverse_post_future_user_v1_position_adjust_leverage = privateInversePostFutureUserV1PositionAdjustLeverage = Entry('future/user/v1/position/adjust-leverage', ['private', 'inverse'], 'POST', {'cost': 1})
142
+ private_inverse_post_future_user_v1_position_auto_margin = privateInversePostFutureUserV1PositionAutoMargin = Entry('future/user/v1/position/auto-margin', ['private', 'inverse'], 'POST', {'cost': 1})
143
+ private_inverse_post_future_user_v1_position_close_all = privateInversePostFutureUserV1PositionCloseAll = Entry('future/user/v1/position/close-all', ['private', 'inverse'], 'POST', {'cost': 1})
144
+ private_inverse_post_future_user_v1_position_margin = privateInversePostFutureUserV1PositionMargin = Entry('future/user/v1/position/margin', ['private', 'inverse'], 'POST', {'cost': 1})
145
+ private_inverse_post_future_user_v1_user_collection_add = privateInversePostFutureUserV1UserCollectionAdd = Entry('future/user/v1/user/collection/add', ['private', 'inverse'], 'POST', {'cost': 1})
146
+ private_inverse_post_future_user_v1_user_collection_cancel = privateInversePostFutureUserV1UserCollectionCancel = Entry('future/user/v1/user/collection/cancel', ['private', 'inverse'], 'POST', {'cost': 1})
147
+ private_user_get_user_account = privateUserGetUserAccount = Entry('user/account', ['private', 'user'], 'GET', {'cost': 1})
148
+ private_user_get_user_account_api_key = privateUserGetUserAccountApiKey = Entry('user/account/api-key', ['private', 'user'], 'GET', {'cost': 1})
149
+ private_user_post_user_account = privateUserPostUserAccount = Entry('user/account', ['private', 'user'], 'POST', {'cost': 1})
150
+ private_user_post_user_account_api_key = privateUserPostUserAccountApiKey = Entry('user/account/api-key', ['private', 'user'], 'POST', {'cost': 1})
151
+ private_user_put_user_account_api_key = privateUserPutUserAccountApiKey = Entry('user/account/api-key', ['private', 'user'], 'PUT', {'cost': 1})
152
+ private_user_delete_user_account_apikeyid = privateUserDeleteUserAccountApikeyId = Entry('user/account/{apikeyId}', ['private', 'user'], 'DELETE', {'cost': 1})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.43'
7
+ __version__ = '4.3.45'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -147,6 +147,7 @@ from ccxt.async_support.oceanex import oceanex
147
147
  from ccxt.async_support.okcoin import okcoin # noqa: F401
148
148
  from ccxt.async_support.okx import okx # noqa: F401
149
149
  from ccxt.async_support.onetrading import onetrading # noqa: F401
150
+ from ccxt.async_support.oxfun import oxfun # noqa: F401
150
151
  from ccxt.async_support.p2b import p2b # noqa: F401
151
152
  from ccxt.async_support.paymium import paymium # noqa: F401
152
153
  from ccxt.async_support.phemex import phemex # noqa: F401
@@ -162,6 +163,7 @@ from ccxt.async_support.wazirx import wazirx
162
163
  from ccxt.async_support.whitebit import whitebit # noqa: F401
163
164
  from ccxt.async_support.woo import woo # noqa: F401
164
165
  from ccxt.async_support.woofipro import woofipro # noqa: F401
166
+ from ccxt.async_support.xt import xt # noqa: F401
165
167
  from ccxt.async_support.yobit import yobit # noqa: F401
166
168
  from ccxt.async_support.zaif import zaif # noqa: F401
167
169
  from ccxt.async_support.zonda import zonda # noqa: F401
@@ -254,6 +256,7 @@ exchanges = [
254
256
  'okcoin',
255
257
  'okx',
256
258
  'onetrading',
259
+ 'oxfun',
257
260
  'p2b',
258
261
  'paymium',
259
262
  'phemex',
@@ -269,6 +272,7 @@ exchanges = [
269
272
  'whitebit',
270
273
  'woo',
271
274
  'woofipro',
275
+ 'xt',
272
276
  'yobit',
273
277
  'zaif',
274
278
  'zonda',
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.43'
5
+ __version__ = '4.3.45'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -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
  },
@@ -141,6 +141,7 @@ class kucoin(Exchange, ImplicitAPI):
141
141
  'futuresPublic': 'https://api-futures.kucoin.com',
142
142
  'webExchange': 'https://kucoin.com/_api',
143
143
  'broker': 'https://api-broker.kucoin.com',
144
+ 'earn': 'https://api.kucoin.com',
144
145
  },
145
146
  'www': 'https://www.kucoin.com',
146
147
  'doc': [
@@ -408,6 +409,9 @@ class kucoin(Exchange, ImplicitAPI):
408
409
  'broker/nd/account': 2,
409
410
  'broker/nd/account/apikey': 2,
410
411
  'broker/nd/rebase/download': 3,
412
+ 'broker/nd/transfer/detail': 1,
413
+ 'broker/nd/deposit/detail': 1,
414
+ 'broker/nd/withdraw/detail': 1,
411
415
  },
412
416
  'post': {
413
417
  'broker/nd/transfer': 1,
@@ -419,6 +423,25 @@ class kucoin(Exchange, ImplicitAPI):
419
423
  'broker/nd/account/apikey': 3,
420
424
  },
421
425
  },
426
+ 'earn': {
427
+ 'get': {
428
+ 'otc-loan/loan': 1,
429
+ 'otc-loan/accounts': 1,
430
+ 'earn/redeem-preview': 7.5, # 5EW
431
+ 'earn/saving/products': 7.5, # 5EW
432
+ 'earn/hold-assets': 7.5, # 5EW
433
+ 'earn/promotion/products': 7.5, # 5EW
434
+ 'earn/kcs-staking/products': 7.5, # 5EW
435
+ 'earn/staking/products': 7.5, # 5EW
436
+ 'earn/eth-staking/products': 7.5, # 5EW
437
+ },
438
+ 'post': {
439
+ 'earn/orders': 7.5, # 5EW
440
+ },
441
+ 'delete': {
442
+ 'earn/orders': 7.5, # 5EW
443
+ },
444
+ },
422
445
  },
423
446
  'timeframes': {
424
447
  '1m': '1min',
@@ -4507,6 +4530,8 @@ class kucoin(Exchange, ImplicitAPI):
4507
4530
  endpoint = '/api/' + version + '/' + self.implode_params(path, params)
4508
4531
  if api == 'webExchange':
4509
4532
  endpoint = '/' + self.implode_params(path, params)
4533
+ if api == 'earn':
4534
+ endpoint = '/api/v1/' + self.implode_params(path, params)
4510
4535
  query = self.omit(params, self.extract_params(path))
4511
4536
  endpart = ''
4512
4537
  headers = headers if (headers is not None) else {}
@@ -4522,7 +4547,8 @@ class kucoin(Exchange, ImplicitAPI):
4522
4547
  isFuturePrivate = (api == 'futuresPrivate')
4523
4548
  isPrivate = (api == 'private')
4524
4549
  isBroker = (api == 'broker')
4525
- if isPrivate or isFuturePrivate or isBroker:
4550
+ isEarn = (api == 'earn')
4551
+ if isPrivate or isFuturePrivate or isBroker or isEarn:
4526
4552
  self.check_required_credentials()
4527
4553
  timestamp = str(self.nonce())
4528
4554
  headers = self.extend({
@@ -897,7 +897,15 @@ class luno(Exchange, ImplicitAPI):
897
897
  request: dict = {
898
898
  'order_id': id,
899
899
  }
900
- return await self.privatePostStoporder(self.extend(request, params))
900
+ response = await 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
  async 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
@@ -858,7 +858,10 @@ class lykke(Exchange, ImplicitAPI):
858
858
  # "error":null
859
859
  # }
860
860
  #
861
- return await self.privateDeleteOrdersOrderId(self.extend(request, params))
861
+ response = await self.privateDeleteOrdersOrderId(self.extend(request, params))
862
+ return self.safe_order({
863
+ 'info': response,
864
+ })
862
865
 
863
866
  async 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
- return await self.privateDeleteOrders(self.extend(request, params))
888
+ response = await self.privateDeleteOrders(self.extend(request, params))
889
+ return [
890
+ self.safe_order({
891
+ 'info': response,
892
+ }),
893
+ ]
886
894
 
887
895
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
888
896
  """
@@ -1510,7 +1510,11 @@ class ndax(Exchange, ImplicitAPI):
1510
1510
  # "detail":null
1511
1511
  # }
1512
1512
  #
1513
- return response
1513
+ return [
1514
+ self.safe_order({
1515
+ 'info': response,
1516
+ }),
1517
+ ]
1514
1518
 
1515
1519
  async def cancel_order(self, id: str, symbol: Str = None, params={}):
1516
1520
  """