ccxt 4.4.22__py2.py3-none-any.whl → 4.4.23__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 (49) hide show
  1. ccxt/__init__.py +3 -1
  2. ccxt/abstract/binance.py +64 -43
  3. ccxt/abstract/binancecoinm.py +64 -43
  4. ccxt/abstract/binanceus.py +64 -43
  5. ccxt/abstract/binanceusdm.py +64 -43
  6. ccxt/abstract/coincatch.py +94 -0
  7. ccxt/async_support/__init__.py +3 -1
  8. ccxt/async_support/base/exchange.py +1 -1
  9. ccxt/async_support/binance.py +87 -62
  10. ccxt/async_support/bitfinex.py +4 -0
  11. ccxt/async_support/bitflyer.py +1 -0
  12. ccxt/async_support/bitrue.py +3 -0
  13. ccxt/async_support/bybit.py +2 -2
  14. ccxt/async_support/cex.py +4 -0
  15. ccxt/async_support/coinbase.py +1 -1
  16. ccxt/async_support/coinbaseexchange.py +3 -0
  17. ccxt/async_support/coincatch.py +4955 -0
  18. ccxt/async_support/coinex.py +60 -1
  19. ccxt/async_support/latoken.py +6 -0
  20. ccxt/async_support/mexc.py +1 -1
  21. ccxt/async_support/oceanex.py +2 -0
  22. ccxt/async_support/okcoin.py +1 -0
  23. ccxt/async_support/poloniex.py +5 -0
  24. ccxt/base/exchange.py +1 -1
  25. ccxt/binance.py +87 -62
  26. ccxt/bitfinex.py +4 -0
  27. ccxt/bitflyer.py +1 -0
  28. ccxt/bitrue.py +3 -0
  29. ccxt/bybit.py +2 -2
  30. ccxt/cex.py +4 -0
  31. ccxt/coinbase.py +1 -1
  32. ccxt/coinbaseexchange.py +3 -0
  33. ccxt/coincatch.py +4955 -0
  34. ccxt/coinex.py +60 -1
  35. ccxt/latoken.py +6 -0
  36. ccxt/mexc.py +1 -1
  37. ccxt/oceanex.py +2 -0
  38. ccxt/okcoin.py +1 -0
  39. ccxt/poloniex.py +5 -0
  40. ccxt/pro/__init__.py +3 -1
  41. ccxt/pro/coincatch.py +1429 -0
  42. ccxt/test/tests_async.py +15 -1
  43. ccxt/test/tests_sync.py +15 -1
  44. ccxt-4.4.23.dist-info/METADATA +636 -0
  45. {ccxt-4.4.22.dist-info → ccxt-4.4.23.dist-info}/RECORD +48 -44
  46. ccxt-4.4.22.dist-info/METADATA +0 -635
  47. {ccxt-4.4.22.dist-info → ccxt-4.4.23.dist-info}/LICENSE.txt +0 -0
  48. {ccxt-4.4.22.dist-info → ccxt-4.4.23.dist-info}/WHEEL +0 -0
  49. {ccxt-4.4.22.dist-info → ccxt-4.4.23.dist-info}/top_level.txt +0 -0
@@ -213,6 +213,7 @@ class ImplicitAPI:
213
213
  sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
214
214
  sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
215
215
  sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
216
+ sapi_get_portfolio_balance = sapiGetPortfolioBalance = Entry('portfolio/balance', 'sapi', 'GET', {'cost': 2})
216
217
  sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
217
218
  sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
218
219
  sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
@@ -432,6 +433,7 @@ class ImplicitAPI:
432
433
  sapiv2_get_loan_flexible_ltv_adjustment_history = sapiV2GetLoanFlexibleLtvAdjustmentHistory = Entry('loan/flexible/ltv/adjustment/history', 'sapiV2', 'GET', {'cost': 40})
433
434
  sapiv2_get_loan_flexible_loanable_data = sapiV2GetLoanFlexibleLoanableData = Entry('loan/flexible/loanable/data', 'sapiV2', 'GET', {'cost': 40})
434
435
  sapiv2_get_loan_flexible_collateral_data = sapiV2GetLoanFlexibleCollateralData = Entry('loan/flexible/collateral/data', 'sapiV2', 'GET', {'cost': 40})
436
+ sapiv2_get_portfolio_account = sapiV2GetPortfolioAccount = Entry('portfolio/account', 'sapiV2', 'GET', {'cost': 2})
435
437
  sapiv2_get_cl_account = sapiV2GetClAccount = Entry('cl/account', 'sapiV2', 'GET', {'cost': 10})
436
438
  sapiv2_get_cl_alerthistory = sapiV2GetClAlertHistory = Entry('cl/alertHistory', 'sapiV2', 'GET', {'cost': 1})
437
439
  sapiv2_post_eth_staking_eth_stake = sapiV2PostEthStakingEthStake = Entry('eth-staking/eth/stake', 'sapiV2', 'POST', {'cost': 15})
@@ -492,6 +494,10 @@ class ImplicitAPI:
492
494
  dapiprivate_get_commissionrate = dapiPrivateGetCommissionRate = Entry('commissionRate', 'dapiPrivate', 'GET', {'cost': 20})
493
495
  dapiprivate_get_income_asyn = dapiPrivateGetIncomeAsyn = Entry('income/asyn', 'dapiPrivate', 'GET', {'cost': 5})
494
496
  dapiprivate_get_income_asyn_id = dapiPrivateGetIncomeAsynId = Entry('income/asyn/id', 'dapiPrivate', 'GET', {'cost': 5})
497
+ dapiprivate_get_trade_asyn = dapiPrivateGetTradeAsyn = Entry('trade/asyn', 'dapiPrivate', 'GET', {'cost': 0.5})
498
+ dapiprivate_get_trade_asyn_id = dapiPrivateGetTradeAsynId = Entry('trade/asyn/id', 'dapiPrivate', 'GET', {'cost': 0.5})
499
+ dapiprivate_get_order_asyn = dapiPrivateGetOrderAsyn = Entry('order/asyn', 'dapiPrivate', 'GET', {'cost': 0.5})
500
+ dapiprivate_get_order_asyn_id = dapiPrivateGetOrderAsynId = Entry('order/asyn/id', 'dapiPrivate', 'GET', {'cost': 0.5})
495
501
  dapiprivate_get_pmexchangeinfo = dapiPrivateGetPmExchangeInfo = Entry('pmExchangeInfo', 'dapiPrivate', 'GET', {'cost': 0.5})
496
502
  dapiprivate_get_pmaccountinfo = dapiPrivateGetPmAccountInfo = Entry('pmAccountInfo', 'dapiPrivate', 'GET', {'cost': 0.5})
497
503
  dapiprivate_post_positionside_dual = dapiPrivatePostPositionSideDual = Entry('positionSide/dual', 'dapiPrivate', 'POST', {'cost': 1})
@@ -688,7 +694,7 @@ class ImplicitAPI:
688
694
  private_delete_openorders = privateDeleteOpenOrders = Entry('openOrders', 'private', 'DELETE', {'cost': 1})
689
695
  private_delete_orderlist = privateDeleteOrderList = Entry('orderList', 'private', 'DELETE', {'cost': 1})
690
696
  private_delete_order = privateDeleteOrder = Entry('order', 'private', 'DELETE', {'cost': 1})
691
- papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
697
+ papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 0.2})
692
698
  papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
693
699
  papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
694
700
  papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
@@ -700,68 +706,83 @@ class ImplicitAPI:
700
706
  papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
701
707
  papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
702
708
  papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
703
- papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
709
+ papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
704
710
  papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
705
711
  papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
706
712
  papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
707
713
  papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
708
- papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
714
+ papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 10})
709
715
  papi_get_margin_openorders = papiGetMarginOpenOrders = Entry('margin/openOrders', 'papi', 'GET', {'cost': 5})
710
716
  papi_get_margin_allorders = papiGetMarginAllOrders = Entry('margin/allOrders', 'papi', 'GET', {'cost': 100})
711
717
  papi_get_margin_orderlist = papiGetMarginOrderList = Entry('margin/orderList', 'papi', 'GET', {'cost': 5})
712
718
  papi_get_margin_allorderlist = papiGetMarginAllOrderList = Entry('margin/allOrderList', 'papi', 'GET', {'cost': 100})
713
719
  papi_get_margin_openorderlist = papiGetMarginOpenOrderList = Entry('margin/openOrderList', 'papi', 'GET', {'cost': 5})
714
720
  papi_get_margin_mytrades = papiGetMarginMyTrades = Entry('margin/myTrades', 'papi', 'GET', {'cost': 5})
715
- papi_get_balance = papiGetBalance = Entry('balance', 'papi', 'GET', {'cost': 20})
716
- papi_get_account = papiGetAccount = Entry('account', 'papi', 'GET', {'cost': 20})
717
- papi_get_margin_maxborrowable = papiGetMarginMaxBorrowable = Entry('margin/maxBorrowable', 'papi', 'GET', {'cost': 5})
718
- papi_get_margin_maxwithdraw = papiGetMarginMaxWithdraw = Entry('margin/maxWithdraw', 'papi', 'GET', {'cost': 5})
719
- papi_get_um_positionrisk = papiGetUmPositionRisk = Entry('um/positionRisk', 'papi', 'GET', {'cost': 5})
720
- papi_get_cm_positionrisk = papiGetCmPositionRisk = Entry('cm/positionRisk', 'papi', 'GET', {'cost': 1})
721
- papi_get_um_positionside_dual = papiGetUmPositionSideDual = Entry('um/positionSide/dual', 'papi', 'GET', {'cost': 30})
722
- papi_get_cm_positionside_dual = papiGetCmPositionSideDual = Entry('cm/positionSide/dual', 'papi', 'GET', {'cost': 30})
721
+ papi_get_balance = papiGetBalance = Entry('balance', 'papi', 'GET', {'cost': 4})
722
+ papi_get_account = papiGetAccount = Entry('account', 'papi', 'GET', {'cost': 4})
723
+ papi_get_margin_maxborrowable = papiGetMarginMaxBorrowable = Entry('margin/maxBorrowable', 'papi', 'GET', {'cost': 1})
724
+ papi_get_margin_maxwithdraw = papiGetMarginMaxWithdraw = Entry('margin/maxWithdraw', 'papi', 'GET', {'cost': 1})
725
+ papi_get_um_positionrisk = papiGetUmPositionRisk = Entry('um/positionRisk', 'papi', 'GET', {'cost': 1})
726
+ papi_get_cm_positionrisk = papiGetCmPositionRisk = Entry('cm/positionRisk', 'papi', 'GET', {'cost': 0.2})
727
+ papi_get_um_positionside_dual = papiGetUmPositionSideDual = Entry('um/positionSide/dual', 'papi', 'GET', {'cost': 6})
728
+ papi_get_cm_positionside_dual = papiGetCmPositionSideDual = Entry('cm/positionSide/dual', 'papi', 'GET', {'cost': 6})
723
729
  papi_get_um_usertrades = papiGetUmUserTrades = Entry('um/userTrades', 'papi', 'GET', {'cost': 5})
724
730
  papi_get_cm_usertrades = papiGetCmUserTrades = Entry('cm/userTrades', 'papi', 'GET', {'cost': 20})
725
- papi_get_um_leveragebracket = papiGetUmLeverageBracket = Entry('um/leverageBracket', 'papi', 'GET', {'cost': 1})
726
- papi_get_cm_leveragebracket = papiGetCmLeverageBracket = Entry('cm/leverageBracket', 'papi', 'GET', {'cost': 1})
731
+ papi_get_um_leveragebracket = papiGetUmLeverageBracket = Entry('um/leverageBracket', 'papi', 'GET', {'cost': 0.2})
732
+ papi_get_cm_leveragebracket = papiGetCmLeverageBracket = Entry('cm/leverageBracket', 'papi', 'GET', {'cost': 0.2})
727
733
  papi_get_margin_forceorders = papiGetMarginForceOrders = Entry('margin/forceOrders', 'papi', 'GET', {'cost': 1})
728
- papi_get_um_forceorders = papiGetUmForceOrders = Entry('um/forceOrders', 'papi', 'GET', {'cost': 20})
729
- papi_get_cm_forceorders = papiGetCmForceOrders = Entry('cm/forceOrders', 'papi', 'GET', {'cost': 20})
730
- papi_get_um_apitradingstatus = papiGetUmApiTradingStatus = Entry('um/apiTradingStatus', 'papi', 'GET', {'cost': 1})
731
- papi_get_um_commissionrate = papiGetUmCommissionRate = Entry('um/commissionRate', 'papi', 'GET', {'cost': 20})
732
- papi_get_cm_commissionrate = papiGetCmCommissionRate = Entry('cm/commissionRate', 'papi', 'GET', {'cost': 20})
733
- papi_get_margin_marginloan = papiGetMarginMarginLoan = Entry('margin/marginLoan', 'papi', 'GET', {'cost': 10})
734
- papi_get_margin_repayloan = papiGetMarginRepayLoan = Entry('margin/repayLoan', 'papi', 'GET', {'cost': 10})
735
- papi_get_margin_margininteresthistory = papiGetMarginMarginInterestHistory = Entry('margin/marginInterestHistory', 'papi', 'GET', {'cost': 1})
736
- papi_get_portfolio_interest_history = papiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'papi', 'GET', {'cost': 50})
737
- papi_get_um_income = papiGetUmIncome = Entry('um/income', 'papi', 'GET', {'cost': 30})
738
- papi_get_cm_income = papiGetCmIncome = Entry('cm/income', 'papi', 'GET', {'cost': 30})
739
- papi_get_um_account = papiGetUmAccount = Entry('um/account', 'papi', 'GET', {'cost': 5})
740
- papi_get_cm_account = papiGetCmAccount = Entry('cm/account', 'papi', 'GET', {'cost': 5})
741
- papi_get_repay_futures_switch = papiGetRepayFuturesSwitch = Entry('repay-futures-switch', 'papi', 'GET', {'cost': 3})
734
+ papi_get_um_forceorders = papiGetUmForceOrders = Entry('um/forceOrders', 'papi', 'GET', {'cost': 20, 'noSymbol': 50})
735
+ papi_get_cm_forceorders = papiGetCmForceOrders = Entry('cm/forceOrders', 'papi', 'GET', {'cost': 20, 'noSymbol': 50})
736
+ papi_get_um_apitradingstatus = papiGetUmApiTradingStatus = Entry('um/apiTradingStatus', 'papi', 'GET', {'cost': 0.2, 'noSymbol': 2})
737
+ papi_get_um_commissionrate = papiGetUmCommissionRate = Entry('um/commissionRate', 'papi', 'GET', {'cost': 4})
738
+ papi_get_cm_commissionrate = papiGetCmCommissionRate = Entry('cm/commissionRate', 'papi', 'GET', {'cost': 4})
739
+ papi_get_margin_marginloan = papiGetMarginMarginLoan = Entry('margin/marginLoan', 'papi', 'GET', {'cost': 2})
740
+ papi_get_margin_repayloan = papiGetMarginRepayLoan = Entry('margin/repayLoan', 'papi', 'GET', {'cost': 2})
741
+ papi_get_margin_margininteresthistory = papiGetMarginMarginInterestHistory = Entry('margin/marginInterestHistory', 'papi', 'GET', {'cost': 0.2})
742
+ papi_get_portfolio_interest_history = papiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'papi', 'GET', {'cost': 10})
743
+ papi_get_um_income = papiGetUmIncome = Entry('um/income', 'papi', 'GET', {'cost': 6})
744
+ papi_get_cm_income = papiGetCmIncome = Entry('cm/income', 'papi', 'GET', {'cost': 6})
745
+ papi_get_um_account = papiGetUmAccount = Entry('um/account', 'papi', 'GET', {'cost': 1})
746
+ papi_get_cm_account = papiGetCmAccount = Entry('cm/account', 'papi', 'GET', {'cost': 1})
747
+ papi_get_repay_futures_switch = papiGetRepayFuturesSwitch = Entry('repay-futures-switch', 'papi', 'GET', {'cost': 6})
742
748
  papi_get_um_adlquantile = papiGetUmAdlQuantile = Entry('um/adlQuantile', 'papi', 'GET', {'cost': 5})
743
749
  papi_get_cm_adlquantile = papiGetCmAdlQuantile = Entry('cm/adlQuantile', 'papi', 'GET', {'cost': 5})
750
+ papi_get_um_trade_asyn = papiGetUmTradeAsyn = Entry('um/trade/asyn', 'papi', 'GET', {'cost': 300})
751
+ papi_get_um_trade_asyn_id = papiGetUmTradeAsynId = Entry('um/trade/asyn/id', 'papi', 'GET', {'cost': 2})
752
+ papi_get_um_order_asyn = papiGetUmOrderAsyn = Entry('um/order/asyn/', 'papi', 'GET', {'cost': 300})
753
+ papi_get_um_order_asyn_id = papiGetUmOrderAsynId = Entry('um/order/asyn/id', 'papi', 'GET', {'cost': 2})
754
+ papi_get_um_income_asyn = papiGetUmIncomeAsyn = Entry('um/income/asyn', 'papi', 'GET', {'cost': 300})
755
+ papi_get_um_income_asyn_id = papiGetUmIncomeAsynId = Entry('um/income/asyn/id', 'papi', 'GET', {'cost': 2})
756
+ papi_get_um_orderamendment = papiGetUmOrderAmendment = Entry('um/orderAmendment', 'papi', 'GET', {'cost': 1})
757
+ papi_get_cm_orderamendment = papiGetCmOrderAmendment = Entry('cm/orderAmendment', 'papi', 'GET', {'cost': 1})
758
+ papi_get_um_feeburn = papiGetUmFeeBurn = Entry('um/feeBurn', 'papi', 'GET', {'cost': 30})
759
+ papi_get_um_accountconfig = papiGetUmAccountConfig = Entry('um/accountConfig', 'papi', 'GET', {'cost': 1})
760
+ papi_get_um_symbolconfig = papiGetUmSymbolConfig = Entry('um/symbolConfig', 'papi', 'GET', {'cost': 1})
761
+ papi_get_cm_accountconfig = papiGetCmAccountConfig = Entry('cm/accountConfig', 'papi', 'GET', {'cost': 1})
762
+ papi_get_cm_symbolconfig = papiGetCmSymbolConfig = Entry('cm/symbolConfig', 'papi', 'GET', {'cost': 1})
744
763
  papi_post_um_order = papiPostUmOrder = Entry('um/order', 'papi', 'POST', {'cost': 1})
745
764
  papi_post_um_conditional_order = papiPostUmConditionalOrder = Entry('um/conditional/order', 'papi', 'POST', {'cost': 1})
746
765
  papi_post_cm_order = papiPostCmOrder = Entry('cm/order', 'papi', 'POST', {'cost': 1})
747
766
  papi_post_cm_conditional_order = papiPostCmConditionalOrder = Entry('cm/conditional/order', 'papi', 'POST', {'cost': 1})
748
- papi_post_margin_order = papiPostMarginOrder = Entry('margin/order', 'papi', 'POST', {'cost': 0.0133})
749
- papi_post_marginloan = papiPostMarginLoan = Entry('marginLoan', 'papi', 'POST', {'cost': 0.1333})
750
- papi_post_repayloan = papiPostRepayLoan = Entry('repayLoan', 'papi', 'POST', {'cost': 0.1333})
751
- papi_post_margin_order_oco = papiPostMarginOrderOco = Entry('margin/order/oco', 'papi', 'POST', {'cost': 0.04})
752
- papi_post_um_leverage = papiPostUmLeverage = Entry('um/leverage', 'papi', 'POST', {'cost': 1})
753
- papi_post_cm_leverage = papiPostCmLeverage = Entry('cm/leverage', 'papi', 'POST', {'cost': 1})
754
- papi_post_um_positionside_dual = papiPostUmPositionSideDual = Entry('um/positionSide/dual', 'papi', 'POST', {'cost': 1})
755
- papi_post_cm_positionside_dual = papiPostCmPositionSideDual = Entry('cm/positionSide/dual', 'papi', 'POST', {'cost': 1})
756
- papi_post_auto_collection = papiPostAutoCollection = Entry('auto-collection', 'papi', 'POST', {'cost': 0.6667})
757
- papi_post_bnb_transfer = papiPostBnbTransfer = Entry('bnb-transfer', 'papi', 'POST', {'cost': 0.6667})
767
+ papi_post_margin_order = papiPostMarginOrder = Entry('margin/order', 'papi', 'POST', {'cost': 1})
768
+ papi_post_marginloan = papiPostMarginLoan = Entry('marginLoan', 'papi', 'POST', {'cost': 100})
769
+ papi_post_repayloan = papiPostRepayLoan = Entry('repayLoan', 'papi', 'POST', {'cost': 100})
770
+ papi_post_margin_order_oco = papiPostMarginOrderOco = Entry('margin/order/oco', 'papi', 'POST', {'cost': 1})
771
+ papi_post_um_leverage = papiPostUmLeverage = Entry('um/leverage', 'papi', 'POST', {'cost': 0.2})
772
+ papi_post_cm_leverage = papiPostCmLeverage = Entry('cm/leverage', 'papi', 'POST', {'cost': 0.2})
773
+ papi_post_um_positionside_dual = papiPostUmPositionSideDual = Entry('um/positionSide/dual', 'papi', 'POST', {'cost': 0.2})
774
+ papi_post_cm_positionside_dual = papiPostCmPositionSideDual = Entry('cm/positionSide/dual', 'papi', 'POST', {'cost': 0.2})
775
+ papi_post_auto_collection = papiPostAutoCollection = Entry('auto-collection', 'papi', 'POST', {'cost': 150})
776
+ papi_post_bnb_transfer = papiPostBnbTransfer = Entry('bnb-transfer', 'papi', 'POST', {'cost': 150})
758
777
  papi_post_repay_futures_switch = papiPostRepayFuturesSwitch = Entry('repay-futures-switch', 'papi', 'POST', {'cost': 150})
759
778
  papi_post_repay_futures_negative_balance = papiPostRepayFuturesNegativeBalance = Entry('repay-futures-negative-balance', 'papi', 'POST', {'cost': 150})
760
- papi_post_listenkey = papiPostListenKey = Entry('listenKey', 'papi', 'POST', {'cost': 1})
761
- papi_post_asset_collection = papiPostAssetCollection = Entry('asset-collection', 'papi', 'POST', {'cost': 3})
762
- papi_post_margin_repay_debt = papiPostMarginRepayDebt = Entry('margin/repay-debt', 'papi', 'POST', {'cost': 0.4})
779
+ papi_post_listenkey = papiPostListenKey = Entry('listenKey', 'papi', 'POST', {'cost': 0.2})
780
+ papi_post_asset_collection = papiPostAssetCollection = Entry('asset-collection', 'papi', 'POST', {'cost': 6})
781
+ papi_post_margin_repay_debt = papiPostMarginRepayDebt = Entry('margin/repay-debt', 'papi', 'POST', {'cost': 3000})
763
782
  papi_post_um_feeburn = papiPostUmFeeBurn = Entry('um/feeBurn', 'papi', 'POST', {'cost': 1})
764
- papi_put_listenkey = papiPutListenKey = Entry('listenKey', 'papi', 'PUT', {'cost': 1})
783
+ papi_put_listenkey = papiPutListenKey = Entry('listenKey', 'papi', 'PUT', {'cost': 0.2})
784
+ papi_put_um_order = papiPutUmOrder = Entry('um/order', 'papi', 'PUT', {'cost': 1})
785
+ papi_put_cm_order = papiPutCmOrder = Entry('cm/order', 'papi', 'PUT', {'cost': 1})
765
786
  papi_delete_um_order = papiDeleteUmOrder = Entry('um/order', 'papi', 'DELETE', {'cost': 1})
766
787
  papi_delete_um_conditional_order = papiDeleteUmConditionalOrder = Entry('um/conditional/order', 'papi', 'DELETE', {'cost': 1})
767
788
  papi_delete_um_allopenorders = papiDeleteUmAllOpenOrders = Entry('um/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
@@ -770,7 +791,7 @@ class ImplicitAPI:
770
791
  papi_delete_cm_conditional_order = papiDeleteCmConditionalOrder = Entry('cm/conditional/order', 'papi', 'DELETE', {'cost': 1})
771
792
  papi_delete_cm_allopenorders = papiDeleteCmAllOpenOrders = Entry('cm/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
772
793
  papi_delete_cm_conditional_allopenorders = papiDeleteCmConditionalAllOpenOrders = Entry('cm/conditional/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
773
- papi_delete_margin_order = papiDeleteMarginOrder = Entry('margin/order', 'papi', 'DELETE', {'cost': 1})
794
+ papi_delete_margin_order = papiDeleteMarginOrder = Entry('margin/order', 'papi', 'DELETE', {'cost': 2})
774
795
  papi_delete_margin_allopenorders = papiDeleteMarginAllOpenOrders = Entry('margin/allOpenOrders', 'papi', 'DELETE', {'cost': 5})
775
796
  papi_delete_margin_orderlist = papiDeleteMarginOrderList = Entry('margin/orderList', 'papi', 'DELETE', {'cost': 2})
776
- papi_delete_listenkey = papiDeleteListenKey = Entry('listenKey', 'papi', 'DELETE', {'cost': 1})
797
+ papi_delete_listenkey = papiDeleteListenKey = Entry('listenKey', 'papi', 'DELETE', {'cost': 0.2})
@@ -213,6 +213,7 @@ class ImplicitAPI:
213
213
  sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
214
214
  sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
215
215
  sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
216
+ sapi_get_portfolio_balance = sapiGetPortfolioBalance = Entry('portfolio/balance', 'sapi', 'GET', {'cost': 2})
216
217
  sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
217
218
  sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
218
219
  sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
@@ -387,6 +388,7 @@ class ImplicitAPI:
387
388
  sapiv2_get_loan_flexible_ltv_adjustment_history = sapiV2GetLoanFlexibleLtvAdjustmentHistory = Entry('loan/flexible/ltv/adjustment/history', 'sapiV2', 'GET', {'cost': 40})
388
389
  sapiv2_get_loan_flexible_loanable_data = sapiV2GetLoanFlexibleLoanableData = Entry('loan/flexible/loanable/data', 'sapiV2', 'GET', {'cost': 40})
389
390
  sapiv2_get_loan_flexible_collateral_data = sapiV2GetLoanFlexibleCollateralData = Entry('loan/flexible/collateral/data', 'sapiV2', 'GET', {'cost': 40})
391
+ sapiv2_get_portfolio_account = sapiV2GetPortfolioAccount = Entry('portfolio/account', 'sapiV2', 'GET', {'cost': 2})
390
392
  sapiv2_post_eth_staking_eth_stake = sapiV2PostEthStakingEthStake = Entry('eth-staking/eth/stake', 'sapiV2', 'POST', {'cost': 15})
391
393
  sapiv2_post_sub_account_subaccountapi_iprestriction = sapiV2PostSubAccountSubAccountApiIpRestriction = Entry('sub-account/subAccountApi/ipRestriction', 'sapiV2', 'POST', {'cost': 20.001})
392
394
  sapiv2_post_loan_flexible_borrow = sapiV2PostLoanFlexibleBorrow = Entry('loan/flexible/borrow', 'sapiV2', 'POST', {'cost': 40.002})
@@ -440,6 +442,10 @@ class ImplicitAPI:
440
442
  dapiprivate_get_commissionrate = dapiPrivateGetCommissionRate = Entry('commissionRate', 'dapiPrivate', 'GET', {'cost': 20})
441
443
  dapiprivate_get_income_asyn = dapiPrivateGetIncomeAsyn = Entry('income/asyn', 'dapiPrivate', 'GET', {'cost': 5})
442
444
  dapiprivate_get_income_asyn_id = dapiPrivateGetIncomeAsynId = Entry('income/asyn/id', 'dapiPrivate', 'GET', {'cost': 5})
445
+ dapiprivate_get_trade_asyn = dapiPrivateGetTradeAsyn = Entry('trade/asyn', 'dapiPrivate', 'GET', {'cost': 0.5})
446
+ dapiprivate_get_trade_asyn_id = dapiPrivateGetTradeAsynId = Entry('trade/asyn/id', 'dapiPrivate', 'GET', {'cost': 0.5})
447
+ dapiprivate_get_order_asyn = dapiPrivateGetOrderAsyn = Entry('order/asyn', 'dapiPrivate', 'GET', {'cost': 0.5})
448
+ dapiprivate_get_order_asyn_id = dapiPrivateGetOrderAsynId = Entry('order/asyn/id', 'dapiPrivate', 'GET', {'cost': 0.5})
443
449
  dapiprivate_get_pmexchangeinfo = dapiPrivateGetPmExchangeInfo = Entry('pmExchangeInfo', 'dapiPrivate', 'GET', {'cost': 0.5})
444
450
  dapiprivate_get_pmaccountinfo = dapiPrivateGetPmAccountInfo = Entry('pmAccountInfo', 'dapiPrivate', 'GET', {'cost': 0.5})
445
451
  dapiprivate_post_positionside_dual = dapiPrivatePostPositionSideDual = Entry('positionSide/dual', 'dapiPrivate', 'POST', {'cost': 1})
@@ -636,7 +642,7 @@ class ImplicitAPI:
636
642
  private_delete_openorders = privateDeleteOpenOrders = Entry('openOrders', 'private', 'DELETE', {'cost': 0.2})
637
643
  private_delete_orderlist = privateDeleteOrderList = Entry('orderList', 'private', 'DELETE', {'cost': 0.2})
638
644
  private_delete_order = privateDeleteOrder = Entry('order', 'private', 'DELETE', {'cost': 0.2})
639
- papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 1})
645
+ papi_get_ping = papiGetPing = Entry('ping', 'papi', 'GET', {'cost': 0.2})
640
646
  papi_get_um_order = papiGetUmOrder = Entry('um/order', 'papi', 'GET', {'cost': 1})
641
647
  papi_get_um_openorder = papiGetUmOpenOrder = Entry('um/openOrder', 'papi', 'GET', {'cost': 1})
642
648
  papi_get_um_openorders = papiGetUmOpenOrders = Entry('um/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
@@ -648,68 +654,83 @@ class ImplicitAPI:
648
654
  papi_get_um_conditional_openorder = papiGetUmConditionalOpenOrder = Entry('um/conditional/openOrder', 'papi', 'GET', {'cost': 1})
649
655
  papi_get_um_conditional_openorders = papiGetUmConditionalOpenOrders = Entry('um/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
650
656
  papi_get_um_conditional_orderhistory = papiGetUmConditionalOrderHistory = Entry('um/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
651
- papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 40})
657
+ papi_get_um_conditional_allorders = papiGetUmConditionalAllOrders = Entry('um/conditional/allOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
652
658
  papi_get_cm_conditional_openorder = papiGetCmConditionalOpenOrder = Entry('cm/conditional/openOrder', 'papi', 'GET', {'cost': 1})
653
659
  papi_get_cm_conditional_openorders = papiGetCmConditionalOpenOrders = Entry('cm/conditional/openOrders', 'papi', 'GET', {'cost': 1, 'noSymbol': 40})
654
660
  papi_get_cm_conditional_orderhistory = papiGetCmConditionalOrderHistory = Entry('cm/conditional/orderHistory', 'papi', 'GET', {'cost': 1})
655
661
  papi_get_cm_conditional_allorders = papiGetCmConditionalAllOrders = Entry('cm/conditional/allOrders', 'papi', 'GET', {'cost': 40})
656
- papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 5})
662
+ papi_get_margin_order = papiGetMarginOrder = Entry('margin/order', 'papi', 'GET', {'cost': 10})
657
663
  papi_get_margin_openorders = papiGetMarginOpenOrders = Entry('margin/openOrders', 'papi', 'GET', {'cost': 5})
658
664
  papi_get_margin_allorders = papiGetMarginAllOrders = Entry('margin/allOrders', 'papi', 'GET', {'cost': 100})
659
665
  papi_get_margin_orderlist = papiGetMarginOrderList = Entry('margin/orderList', 'papi', 'GET', {'cost': 5})
660
666
  papi_get_margin_allorderlist = papiGetMarginAllOrderList = Entry('margin/allOrderList', 'papi', 'GET', {'cost': 100})
661
667
  papi_get_margin_openorderlist = papiGetMarginOpenOrderList = Entry('margin/openOrderList', 'papi', 'GET', {'cost': 5})
662
668
  papi_get_margin_mytrades = papiGetMarginMyTrades = Entry('margin/myTrades', 'papi', 'GET', {'cost': 5})
663
- papi_get_balance = papiGetBalance = Entry('balance', 'papi', 'GET', {'cost': 20})
664
- papi_get_account = papiGetAccount = Entry('account', 'papi', 'GET', {'cost': 20})
665
- papi_get_margin_maxborrowable = papiGetMarginMaxBorrowable = Entry('margin/maxBorrowable', 'papi', 'GET', {'cost': 5})
666
- papi_get_margin_maxwithdraw = papiGetMarginMaxWithdraw = Entry('margin/maxWithdraw', 'papi', 'GET', {'cost': 5})
667
- papi_get_um_positionrisk = papiGetUmPositionRisk = Entry('um/positionRisk', 'papi', 'GET', {'cost': 5})
668
- papi_get_cm_positionrisk = papiGetCmPositionRisk = Entry('cm/positionRisk', 'papi', 'GET', {'cost': 1})
669
- papi_get_um_positionside_dual = papiGetUmPositionSideDual = Entry('um/positionSide/dual', 'papi', 'GET', {'cost': 30})
670
- papi_get_cm_positionside_dual = papiGetCmPositionSideDual = Entry('cm/positionSide/dual', 'papi', 'GET', {'cost': 30})
669
+ papi_get_balance = papiGetBalance = Entry('balance', 'papi', 'GET', {'cost': 4})
670
+ papi_get_account = papiGetAccount = Entry('account', 'papi', 'GET', {'cost': 4})
671
+ papi_get_margin_maxborrowable = papiGetMarginMaxBorrowable = Entry('margin/maxBorrowable', 'papi', 'GET', {'cost': 1})
672
+ papi_get_margin_maxwithdraw = papiGetMarginMaxWithdraw = Entry('margin/maxWithdraw', 'papi', 'GET', {'cost': 1})
673
+ papi_get_um_positionrisk = papiGetUmPositionRisk = Entry('um/positionRisk', 'papi', 'GET', {'cost': 1})
674
+ papi_get_cm_positionrisk = papiGetCmPositionRisk = Entry('cm/positionRisk', 'papi', 'GET', {'cost': 0.2})
675
+ papi_get_um_positionside_dual = papiGetUmPositionSideDual = Entry('um/positionSide/dual', 'papi', 'GET', {'cost': 6})
676
+ papi_get_cm_positionside_dual = papiGetCmPositionSideDual = Entry('cm/positionSide/dual', 'papi', 'GET', {'cost': 6})
671
677
  papi_get_um_usertrades = papiGetUmUserTrades = Entry('um/userTrades', 'papi', 'GET', {'cost': 5})
672
678
  papi_get_cm_usertrades = papiGetCmUserTrades = Entry('cm/userTrades', 'papi', 'GET', {'cost': 20})
673
- papi_get_um_leveragebracket = papiGetUmLeverageBracket = Entry('um/leverageBracket', 'papi', 'GET', {'cost': 1})
674
- papi_get_cm_leveragebracket = papiGetCmLeverageBracket = Entry('cm/leverageBracket', 'papi', 'GET', {'cost': 1})
679
+ papi_get_um_leveragebracket = papiGetUmLeverageBracket = Entry('um/leverageBracket', 'papi', 'GET', {'cost': 0.2})
680
+ papi_get_cm_leveragebracket = papiGetCmLeverageBracket = Entry('cm/leverageBracket', 'papi', 'GET', {'cost': 0.2})
675
681
  papi_get_margin_forceorders = papiGetMarginForceOrders = Entry('margin/forceOrders', 'papi', 'GET', {'cost': 1})
676
- papi_get_um_forceorders = papiGetUmForceOrders = Entry('um/forceOrders', 'papi', 'GET', {'cost': 20})
677
- papi_get_cm_forceorders = papiGetCmForceOrders = Entry('cm/forceOrders', 'papi', 'GET', {'cost': 20})
678
- papi_get_um_apitradingstatus = papiGetUmApiTradingStatus = Entry('um/apiTradingStatus', 'papi', 'GET', {'cost': 1})
679
- papi_get_um_commissionrate = papiGetUmCommissionRate = Entry('um/commissionRate', 'papi', 'GET', {'cost': 20})
680
- papi_get_cm_commissionrate = papiGetCmCommissionRate = Entry('cm/commissionRate', 'papi', 'GET', {'cost': 20})
681
- papi_get_margin_marginloan = papiGetMarginMarginLoan = Entry('margin/marginLoan', 'papi', 'GET', {'cost': 10})
682
- papi_get_margin_repayloan = papiGetMarginRepayLoan = Entry('margin/repayLoan', 'papi', 'GET', {'cost': 10})
683
- papi_get_margin_margininteresthistory = papiGetMarginMarginInterestHistory = Entry('margin/marginInterestHistory', 'papi', 'GET', {'cost': 1})
684
- papi_get_portfolio_interest_history = papiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'papi', 'GET', {'cost': 50})
685
- papi_get_um_income = papiGetUmIncome = Entry('um/income', 'papi', 'GET', {'cost': 30})
686
- papi_get_cm_income = papiGetCmIncome = Entry('cm/income', 'papi', 'GET', {'cost': 30})
687
- papi_get_um_account = papiGetUmAccount = Entry('um/account', 'papi', 'GET', {'cost': 5})
688
- papi_get_cm_account = papiGetCmAccount = Entry('cm/account', 'papi', 'GET', {'cost': 5})
689
- papi_get_repay_futures_switch = papiGetRepayFuturesSwitch = Entry('repay-futures-switch', 'papi', 'GET', {'cost': 3})
682
+ papi_get_um_forceorders = papiGetUmForceOrders = Entry('um/forceOrders', 'papi', 'GET', {'cost': 20, 'noSymbol': 50})
683
+ papi_get_cm_forceorders = papiGetCmForceOrders = Entry('cm/forceOrders', 'papi', 'GET', {'cost': 20, 'noSymbol': 50})
684
+ papi_get_um_apitradingstatus = papiGetUmApiTradingStatus = Entry('um/apiTradingStatus', 'papi', 'GET', {'cost': 0.2, 'noSymbol': 2})
685
+ papi_get_um_commissionrate = papiGetUmCommissionRate = Entry('um/commissionRate', 'papi', 'GET', {'cost': 4})
686
+ papi_get_cm_commissionrate = papiGetCmCommissionRate = Entry('cm/commissionRate', 'papi', 'GET', {'cost': 4})
687
+ papi_get_margin_marginloan = papiGetMarginMarginLoan = Entry('margin/marginLoan', 'papi', 'GET', {'cost': 2})
688
+ papi_get_margin_repayloan = papiGetMarginRepayLoan = Entry('margin/repayLoan', 'papi', 'GET', {'cost': 2})
689
+ papi_get_margin_margininteresthistory = papiGetMarginMarginInterestHistory = Entry('margin/marginInterestHistory', 'papi', 'GET', {'cost': 0.2})
690
+ papi_get_portfolio_interest_history = papiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'papi', 'GET', {'cost': 10})
691
+ papi_get_um_income = papiGetUmIncome = Entry('um/income', 'papi', 'GET', {'cost': 6})
692
+ papi_get_cm_income = papiGetCmIncome = Entry('cm/income', 'papi', 'GET', {'cost': 6})
693
+ papi_get_um_account = papiGetUmAccount = Entry('um/account', 'papi', 'GET', {'cost': 1})
694
+ papi_get_cm_account = papiGetCmAccount = Entry('cm/account', 'papi', 'GET', {'cost': 1})
695
+ papi_get_repay_futures_switch = papiGetRepayFuturesSwitch = Entry('repay-futures-switch', 'papi', 'GET', {'cost': 6})
690
696
  papi_get_um_adlquantile = papiGetUmAdlQuantile = Entry('um/adlQuantile', 'papi', 'GET', {'cost': 5})
691
697
  papi_get_cm_adlquantile = papiGetCmAdlQuantile = Entry('cm/adlQuantile', 'papi', 'GET', {'cost': 5})
698
+ papi_get_um_trade_asyn = papiGetUmTradeAsyn = Entry('um/trade/asyn', 'papi', 'GET', {'cost': 300})
699
+ papi_get_um_trade_asyn_id = papiGetUmTradeAsynId = Entry('um/trade/asyn/id', 'papi', 'GET', {'cost': 2})
700
+ papi_get_um_order_asyn = papiGetUmOrderAsyn = Entry('um/order/asyn/', 'papi', 'GET', {'cost': 300})
701
+ papi_get_um_order_asyn_id = papiGetUmOrderAsynId = Entry('um/order/asyn/id', 'papi', 'GET', {'cost': 2})
702
+ papi_get_um_income_asyn = papiGetUmIncomeAsyn = Entry('um/income/asyn', 'papi', 'GET', {'cost': 300})
703
+ papi_get_um_income_asyn_id = papiGetUmIncomeAsynId = Entry('um/income/asyn/id', 'papi', 'GET', {'cost': 2})
704
+ papi_get_um_orderamendment = papiGetUmOrderAmendment = Entry('um/orderAmendment', 'papi', 'GET', {'cost': 1})
705
+ papi_get_cm_orderamendment = papiGetCmOrderAmendment = Entry('cm/orderAmendment', 'papi', 'GET', {'cost': 1})
706
+ papi_get_um_feeburn = papiGetUmFeeBurn = Entry('um/feeBurn', 'papi', 'GET', {'cost': 30})
707
+ papi_get_um_accountconfig = papiGetUmAccountConfig = Entry('um/accountConfig', 'papi', 'GET', {'cost': 1})
708
+ papi_get_um_symbolconfig = papiGetUmSymbolConfig = Entry('um/symbolConfig', 'papi', 'GET', {'cost': 1})
709
+ papi_get_cm_accountconfig = papiGetCmAccountConfig = Entry('cm/accountConfig', 'papi', 'GET', {'cost': 1})
710
+ papi_get_cm_symbolconfig = papiGetCmSymbolConfig = Entry('cm/symbolConfig', 'papi', 'GET', {'cost': 1})
692
711
  papi_post_um_order = papiPostUmOrder = Entry('um/order', 'papi', 'POST', {'cost': 1})
693
712
  papi_post_um_conditional_order = papiPostUmConditionalOrder = Entry('um/conditional/order', 'papi', 'POST', {'cost': 1})
694
713
  papi_post_cm_order = papiPostCmOrder = Entry('cm/order', 'papi', 'POST', {'cost': 1})
695
714
  papi_post_cm_conditional_order = papiPostCmConditionalOrder = Entry('cm/conditional/order', 'papi', 'POST', {'cost': 1})
696
- papi_post_margin_order = papiPostMarginOrder = Entry('margin/order', 'papi', 'POST', {'cost': 0.0133})
697
- papi_post_marginloan = papiPostMarginLoan = Entry('marginLoan', 'papi', 'POST', {'cost': 0.1333})
698
- papi_post_repayloan = papiPostRepayLoan = Entry('repayLoan', 'papi', 'POST', {'cost': 0.1333})
699
- papi_post_margin_order_oco = papiPostMarginOrderOco = Entry('margin/order/oco', 'papi', 'POST', {'cost': 0.04})
700
- papi_post_um_leverage = papiPostUmLeverage = Entry('um/leverage', 'papi', 'POST', {'cost': 1})
701
- papi_post_cm_leverage = papiPostCmLeverage = Entry('cm/leverage', 'papi', 'POST', {'cost': 1})
702
- papi_post_um_positionside_dual = papiPostUmPositionSideDual = Entry('um/positionSide/dual', 'papi', 'POST', {'cost': 1})
703
- papi_post_cm_positionside_dual = papiPostCmPositionSideDual = Entry('cm/positionSide/dual', 'papi', 'POST', {'cost': 1})
704
- papi_post_auto_collection = papiPostAutoCollection = Entry('auto-collection', 'papi', 'POST', {'cost': 0.6667})
705
- papi_post_bnb_transfer = papiPostBnbTransfer = Entry('bnb-transfer', 'papi', 'POST', {'cost': 0.6667})
715
+ papi_post_margin_order = papiPostMarginOrder = Entry('margin/order', 'papi', 'POST', {'cost': 1})
716
+ papi_post_marginloan = papiPostMarginLoan = Entry('marginLoan', 'papi', 'POST', {'cost': 100})
717
+ papi_post_repayloan = papiPostRepayLoan = Entry('repayLoan', 'papi', 'POST', {'cost': 100})
718
+ papi_post_margin_order_oco = papiPostMarginOrderOco = Entry('margin/order/oco', 'papi', 'POST', {'cost': 1})
719
+ papi_post_um_leverage = papiPostUmLeverage = Entry('um/leverage', 'papi', 'POST', {'cost': 0.2})
720
+ papi_post_cm_leverage = papiPostCmLeverage = Entry('cm/leverage', 'papi', 'POST', {'cost': 0.2})
721
+ papi_post_um_positionside_dual = papiPostUmPositionSideDual = Entry('um/positionSide/dual', 'papi', 'POST', {'cost': 0.2})
722
+ papi_post_cm_positionside_dual = papiPostCmPositionSideDual = Entry('cm/positionSide/dual', 'papi', 'POST', {'cost': 0.2})
723
+ papi_post_auto_collection = papiPostAutoCollection = Entry('auto-collection', 'papi', 'POST', {'cost': 150})
724
+ papi_post_bnb_transfer = papiPostBnbTransfer = Entry('bnb-transfer', 'papi', 'POST', {'cost': 150})
706
725
  papi_post_repay_futures_switch = papiPostRepayFuturesSwitch = Entry('repay-futures-switch', 'papi', 'POST', {'cost': 150})
707
726
  papi_post_repay_futures_negative_balance = papiPostRepayFuturesNegativeBalance = Entry('repay-futures-negative-balance', 'papi', 'POST', {'cost': 150})
708
- papi_post_listenkey = papiPostListenKey = Entry('listenKey', 'papi', 'POST', {'cost': 1})
709
- papi_post_asset_collection = papiPostAssetCollection = Entry('asset-collection', 'papi', 'POST', {'cost': 3})
710
- papi_post_margin_repay_debt = papiPostMarginRepayDebt = Entry('margin/repay-debt', 'papi', 'POST', {'cost': 0.4})
727
+ papi_post_listenkey = papiPostListenKey = Entry('listenKey', 'papi', 'POST', {'cost': 0.2})
728
+ papi_post_asset_collection = papiPostAssetCollection = Entry('asset-collection', 'papi', 'POST', {'cost': 6})
729
+ papi_post_margin_repay_debt = papiPostMarginRepayDebt = Entry('margin/repay-debt', 'papi', 'POST', {'cost': 3000})
711
730
  papi_post_um_feeburn = papiPostUmFeeBurn = Entry('um/feeBurn', 'papi', 'POST', {'cost': 1})
712
- papi_put_listenkey = papiPutListenKey = Entry('listenKey', 'papi', 'PUT', {'cost': 1})
731
+ papi_put_listenkey = papiPutListenKey = Entry('listenKey', 'papi', 'PUT', {'cost': 0.2})
732
+ papi_put_um_order = papiPutUmOrder = Entry('um/order', 'papi', 'PUT', {'cost': 1})
733
+ papi_put_cm_order = papiPutCmOrder = Entry('cm/order', 'papi', 'PUT', {'cost': 1})
713
734
  papi_delete_um_order = papiDeleteUmOrder = Entry('um/order', 'papi', 'DELETE', {'cost': 1})
714
735
  papi_delete_um_conditional_order = papiDeleteUmConditionalOrder = Entry('um/conditional/order', 'papi', 'DELETE', {'cost': 1})
715
736
  papi_delete_um_allopenorders = papiDeleteUmAllOpenOrders = Entry('um/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
@@ -718,7 +739,7 @@ class ImplicitAPI:
718
739
  papi_delete_cm_conditional_order = papiDeleteCmConditionalOrder = Entry('cm/conditional/order', 'papi', 'DELETE', {'cost': 1})
719
740
  papi_delete_cm_allopenorders = papiDeleteCmAllOpenOrders = Entry('cm/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
720
741
  papi_delete_cm_conditional_allopenorders = papiDeleteCmConditionalAllOpenOrders = Entry('cm/conditional/allOpenOrders', 'papi', 'DELETE', {'cost': 1})
721
- papi_delete_margin_order = papiDeleteMarginOrder = Entry('margin/order', 'papi', 'DELETE', {'cost': 1})
742
+ papi_delete_margin_order = papiDeleteMarginOrder = Entry('margin/order', 'papi', 'DELETE', {'cost': 2})
722
743
  papi_delete_margin_allopenorders = papiDeleteMarginAllOpenOrders = Entry('margin/allOpenOrders', 'papi', 'DELETE', {'cost': 5})
723
744
  papi_delete_margin_orderlist = papiDeleteMarginOrderList = Entry('margin/orderList', 'papi', 'DELETE', {'cost': 2})
724
- papi_delete_listenkey = papiDeleteListenKey = Entry('listenKey', 'papi', 'DELETE', {'cost': 1})
745
+ papi_delete_listenkey = papiDeleteListenKey = Entry('listenKey', 'papi', 'DELETE', {'cost': 0.2})
@@ -0,0 +1,94 @@
1
+ from ccxt.base.types import Entry
2
+
3
+
4
+ class ImplicitAPI:
5
+ public_get_api_spot_v1_public_time = publicGetApiSpotV1PublicTime = Entry('api/spot/v1/public/time', 'public', 'GET', {'cost': 1})
6
+ public_get_api_spot_v1_public_currencies = publicGetApiSpotV1PublicCurrencies = Entry('api/spot/v1/public/currencies', 'public', 'GET', {'cost': 6.666666666666667})
7
+ public_get_api_spot_v1_market_ticker = publicGetApiSpotV1MarketTicker = Entry('api/spot/v1/market/ticker', 'public', 'GET', {'cost': 1})
8
+ public_get_api_spot_v1_market_tickers = publicGetApiSpotV1MarketTickers = Entry('api/spot/v1/market/tickers', 'public', 'GET', {'cost': 1})
9
+ public_get_api_spot_v1_market_fills = publicGetApiSpotV1MarketFills = Entry('api/spot/v1/market/fills', 'public', 'GET', {'cost': 2})
10
+ public_get_api_spot_v1_market_fills_history = publicGetApiSpotV1MarketFillsHistory = Entry('api/spot/v1/market/fills-history', 'public', 'GET', {'cost': 2})
11
+ public_get_api_spot_v1_market_candles = publicGetApiSpotV1MarketCandles = Entry('api/spot/v1/market/candles', 'public', 'GET', {'cost': 1})
12
+ public_get_api_spot_v1_market_history_candles = publicGetApiSpotV1MarketHistoryCandles = Entry('api/spot/v1/market/history-candles', 'public', 'GET', {'cost': 1})
13
+ public_get_api_spot_v1_market_depth = publicGetApiSpotV1MarketDepth = Entry('api/spot/v1/market/depth', 'public', 'GET', {'cost': 1})
14
+ public_get_api_spot_v1_market_merge_depth = publicGetApiSpotV1MarketMergeDepth = Entry('api/spot/v1/market/merge-depth', 'public', 'GET', {'cost': 1})
15
+ public_get_api_mix_v1_market_contracts = publicGetApiMixV1MarketContracts = Entry('api/mix/v1/market/contracts', 'public', 'GET', {'cost': 1})
16
+ public_get_api_mix_v1_market_merge_depth = publicGetApiMixV1MarketMergeDepth = Entry('api/mix/v1/market/merge-depth', 'public', 'GET', {'cost': 1})
17
+ public_get_api_mix_v1_market_depth = publicGetApiMixV1MarketDepth = Entry('api/mix/v1/market/depth', 'public', 'GET', {'cost': 1})
18
+ public_get_api_mix_v1_market_ticker = publicGetApiMixV1MarketTicker = Entry('api/mix/v1/market/ticker', 'public', 'GET', {'cost': 1})
19
+ public_get_api_mix_v1_market_tickers = publicGetApiMixV1MarketTickers = Entry('api/mix/v1/market/tickers', 'public', 'GET', {'cost': 1})
20
+ public_get_api_mix_v1_market_fills = publicGetApiMixV1MarketFills = Entry('api/mix/v1/market/fills', 'public', 'GET', {'cost': 1})
21
+ public_get_api_mix_v1_market_fills_history = publicGetApiMixV1MarketFillsHistory = Entry('api/mix/v1/market/fills-history', 'public', 'GET', {'cost': 1})
22
+ public_get_api_mix_v1_market_candles = publicGetApiMixV1MarketCandles = Entry('api/mix/v1/market/candles', 'public', 'GET', {'cost': 1})
23
+ public_get_pi_mix_v1_market_index = publicGetPiMixV1MarketIndex = Entry('pi/mix/v1/market/index', 'public', 'GET', {'cost': 1})
24
+ public_get_api_mix_v1_market_funding_time = publicGetApiMixV1MarketFundingTime = Entry('api/mix/v1/market/funding-time', 'public', 'GET', {'cost': 1})
25
+ public_get_api_mix_v1_market_history_fundrate = publicGetApiMixV1MarketHistoryFundRate = Entry('api/mix/v1/market/history-fundRate', 'public', 'GET', {'cost': 1})
26
+ public_get_api_mix_v1_market_current_fundrate = publicGetApiMixV1MarketCurrentFundRate = Entry('api/mix/v1/market/current-fundRate', 'public', 'GET', {'cost': 1})
27
+ public_get_api_mix_v1_market_open_interest = publicGetApiMixV1MarketOpenInterest = Entry('api/mix/v1/market/open-interest', 'public', 'GET', {'cost': 1})
28
+ public_get_api_mix_v1_market_mark_price = publicGetApiMixV1MarketMarkPrice = Entry('api/mix/v1/market/mark-price', 'public', 'GET', {'cost': 1})
29
+ public_get_api_mix_v1_market_symbol_leverage = publicGetApiMixV1MarketSymbolLeverage = Entry('api/mix/v1/market/symbol-leverage', 'public', 'GET', {'cost': 1})
30
+ public_get_api_mix_v1_market_querypositionlever = publicGetApiMixV1MarketQueryPositionLever = Entry('api/mix/v1/market/queryPositionLever', 'public', 'GET', {'cost': 1})
31
+ private_get_api_spot_v1_wallet_deposit_address = privateGetApiSpotV1WalletDepositAddress = Entry('api/spot/v1/wallet/deposit-address', 'private', 'GET', {'cost': 4})
32
+ private_get_pi_spot_v1_wallet_withdrawal_list = privateGetPiSpotV1WalletWithdrawalList = Entry('pi/spot/v1/wallet/withdrawal-list', 'private', 'GET', {'cost': 1})
33
+ private_get_api_spot_v1_wallet_withdrawal_list_v2 = privateGetApiSpotV1WalletWithdrawalListV2 = Entry('api/spot/v1/wallet/withdrawal-list-v2', 'private', 'GET', {'cost': 1})
34
+ private_get_api_spot_v1_wallet_deposit_list = privateGetApiSpotV1WalletDepositList = Entry('api/spot/v1/wallet/deposit-list', 'private', 'GET', {'cost': 1})
35
+ private_get_api_spot_v1_account_getinfo = privateGetApiSpotV1AccountGetInfo = Entry('api/spot/v1/account/getInfo', 'private', 'GET', {'cost': 1})
36
+ private_get_api_spot_v1_account_assets = privateGetApiSpotV1AccountAssets = Entry('api/spot/v1/account/assets', 'private', 'GET', {'cost': 2})
37
+ private_get_api_spot_v1_account_transferrecords = privateGetApiSpotV1AccountTransferRecords = Entry('api/spot/v1/account/transferRecords', 'private', 'GET', {'cost': 1})
38
+ private_get_api_mix_v1_account_account = privateGetApiMixV1AccountAccount = Entry('api/mix/v1/account/account', 'private', 'GET', {'cost': 2})
39
+ private_get_api_mix_v1_account_accounts = privateGetApiMixV1AccountAccounts = Entry('api/mix/v1/account/accounts', 'private', 'GET', {'cost': 2})
40
+ private_get_api_mix_v1_position_singleposition_v2 = privateGetApiMixV1PositionSinglePositionV2 = Entry('api/mix/v1/position/singlePosition-v2', 'private', 'GET', {'cost': 2})
41
+ private_get_api_mix_v1_position_allposition_v2 = privateGetApiMixV1PositionAllPositionV2 = Entry('api/mix/v1/position/allPosition-v2', 'private', 'GET', {'cost': 4})
42
+ private_get_api_mix_v1_account_accountbill = privateGetApiMixV1AccountAccountBill = Entry('api/mix/v1/account/accountBill', 'private', 'GET', {'cost': 2})
43
+ private_get_api_mix_v1_account_accountbusinessbill = privateGetApiMixV1AccountAccountBusinessBill = Entry('api/mix/v1/account/accountBusinessBill', 'private', 'GET', {'cost': 4})
44
+ private_get_api_mix_v1_order_current = privateGetApiMixV1OrderCurrent = Entry('api/mix/v1/order/current', 'private', 'GET', {'cost': 1})
45
+ private_get_api_mix_v1_order_margincoincurrent = privateGetApiMixV1OrderMarginCoinCurrent = Entry('api/mix/v1/order/marginCoinCurrent', 'private', 'GET', {'cost': 1})
46
+ private_get_api_mix_v1_order_history = privateGetApiMixV1OrderHistory = Entry('api/mix/v1/order/history', 'private', 'GET', {'cost': 2})
47
+ private_get_api_mix_v1_order_historyproducttype = privateGetApiMixV1OrderHistoryProductType = Entry('api/mix/v1/order/historyProductType', 'private', 'GET', {'cost': 4})
48
+ private_get_api_mix_v1_order_detail = privateGetApiMixV1OrderDetail = Entry('api/mix/v1/order/detail', 'private', 'GET', {'cost': 2})
49
+ private_get_api_mix_v1_order_fills = privateGetApiMixV1OrderFills = Entry('api/mix/v1/order/fills', 'private', 'GET', {'cost': 2})
50
+ private_get_api_mix_v1_order_allfills = privateGetApiMixV1OrderAllFills = Entry('api/mix/v1/order/allFills', 'private', 'GET', {'cost': 2})
51
+ private_get_api_mix_v1_plan_currentplan = privateGetApiMixV1PlanCurrentPlan = Entry('api/mix/v1/plan/currentPlan', 'private', 'GET', {'cost': 1})
52
+ private_get_api_mix_v1_plan_historyplan = privateGetApiMixV1PlanHistoryPlan = Entry('api/mix/v1/plan/historyPlan', 'private', 'GET', {'cost': 2})
53
+ private_post_api_spot_v1_wallet_transfer_v2 = privatePostApiSpotV1WalletTransferV2 = Entry('api/spot/v1/wallet/transfer-v2', 'private', 'POST', {'cost': 4})
54
+ private_post_api_spot_v1_wallet_withdrawal_v2 = privatePostApiSpotV1WalletWithdrawalV2 = Entry('api/spot/v1/wallet/withdrawal-v2', 'private', 'POST', {'cost': 4})
55
+ private_post_api_spot_v1_wallet_withdrawal_inner_v2 = privatePostApiSpotV1WalletWithdrawalInnerV2 = Entry('api/spot/v1/wallet/withdrawal-inner-v2', 'private', 'POST', {'cost': 1})
56
+ private_post_api_spot_v1_account_bills = privatePostApiSpotV1AccountBills = Entry('api/spot/v1/account/bills', 'private', 'POST', {'cost': 2})
57
+ private_post_api_spot_v1_trade_orders = privatePostApiSpotV1TradeOrders = Entry('api/spot/v1/trade/orders', 'private', 'POST', {'cost': 2})
58
+ private_post_api_spot_v1_trade_batch_orders = privatePostApiSpotV1TradeBatchOrders = Entry('api/spot/v1/trade/batch-orders', 'private', 'POST', {'cost': 4, 'step': 10})
59
+ private_post_api_spot_v1_trade_cancel_order = privatePostApiSpotV1TradeCancelOrder = Entry('api/spot/v1/trade/cancel-order', 'private', 'POST', {'cost': 1})
60
+ private_post_api_spot_v1_trade_cancel_order_v2 = privatePostApiSpotV1TradeCancelOrderV2 = Entry('api/spot/v1/trade/cancel-order-v2', 'private', 'POST', {'cost': 2})
61
+ private_post_api_spot_v1_trade_cancel_symbol_order = privatePostApiSpotV1TradeCancelSymbolOrder = Entry('api/spot/v1/trade/cancel-symbol-order', 'private', 'POST', {'cost': 2})
62
+ private_post_api_spot_v1_trade_cancel_batch_orders = privatePostApiSpotV1TradeCancelBatchOrders = Entry('api/spot/v1/trade/cancel-batch-orders', 'private', 'POST', {'cost': 1})
63
+ private_post_api_spot_v1_trade_cancel_batch_orders_v2 = privatePostApiSpotV1TradeCancelBatchOrdersV2 = Entry('api/spot/v1/trade/cancel-batch-orders-v2', 'private', 'POST', {'cost': 1})
64
+ private_post_api_spot_v1_trade_orderinfo = privatePostApiSpotV1TradeOrderInfo = Entry('api/spot/v1/trade/orderInfo', 'private', 'POST', {'cost': 1})
65
+ private_post_api_spot_v1_trade_open_orders = privatePostApiSpotV1TradeOpenOrders = Entry('api/spot/v1/trade/open-orders', 'private', 'POST', {'cost': 1})
66
+ private_post_api_spot_v1_trade_history = privatePostApiSpotV1TradeHistory = Entry('api/spot/v1/trade/history', 'private', 'POST', {'cost': 1})
67
+ private_post_api_spot_v1_trade_fills = privatePostApiSpotV1TradeFills = Entry('api/spot/v1/trade/fills', 'private', 'POST', {'cost': 1})
68
+ private_post_api_spot_v1_plan_placeplan = privatePostApiSpotV1PlanPlacePlan = Entry('api/spot/v1/plan/placePlan', 'private', 'POST', {'cost': 1})
69
+ private_post_api_spot_v1_plan_modifyplan = privatePostApiSpotV1PlanModifyPlan = Entry('api/spot/v1/plan/modifyPlan', 'private', 'POST', {'cost': 1})
70
+ private_post_api_spot_v1_plan_cancelplan = privatePostApiSpotV1PlanCancelPlan = Entry('api/spot/v1/plan/cancelPlan', 'private', 'POST', {'cost': 1})
71
+ private_post_api_spot_v1_plan_currentplan = privatePostApiSpotV1PlanCurrentPlan = Entry('api/spot/v1/plan/currentPlan', 'private', 'POST', {'cost': 1})
72
+ private_post_api_spot_v1_plan_historyplan = privatePostApiSpotV1PlanHistoryPlan = Entry('api/spot/v1/plan/historyPlan', 'private', 'POST', {'cost': 1})
73
+ private_post_api_spot_v1_plan_batchcancelplan = privatePostApiSpotV1PlanBatchCancelPlan = Entry('api/spot/v1/plan/batchCancelPlan', 'private', 'POST', {'cost': 2})
74
+ private_post_api_mix_v1_account_open_count = privatePostApiMixV1AccountOpenCount = Entry('api/mix/v1/account/open-count', 'private', 'POST', {'cost': 1})
75
+ private_post_api_mix_v1_account_setleverage = privatePostApiMixV1AccountSetLeverage = Entry('api/mix/v1/account/setLeverage', 'private', 'POST', {'cost': 4})
76
+ private_post_api_mix_v1_account_setmargin = privatePostApiMixV1AccountSetMargin = Entry('api/mix/v1/account/setMargin', 'private', 'POST', {'cost': 4})
77
+ private_post_api_mix_v1_account_setmarginmode = privatePostApiMixV1AccountSetMarginMode = Entry('api/mix/v1/account/setMarginMode', 'private', 'POST', {'cost': 4})
78
+ private_post_api_mix_v1_account_setpositionmode = privatePostApiMixV1AccountSetPositionMode = Entry('api/mix/v1/account/setPositionMode', 'private', 'POST', {'cost': 4})
79
+ private_post_api_mix_v1_order_placeorder = privatePostApiMixV1OrderPlaceOrder = Entry('api/mix/v1/order/placeOrder', 'private', 'POST', {'cost': 2})
80
+ private_post_api_mix_v1_order_batch_orders = privatePostApiMixV1OrderBatchOrders = Entry('api/mix/v1/order/batch-orders', 'private', 'POST', {'cost': 4, 'step': 10})
81
+ private_post_api_mix_v1_order_cancel_order = privatePostApiMixV1OrderCancelOrder = Entry('api/mix/v1/order/cancel-order', 'private', 'POST', {'cost': 2})
82
+ private_post_api_mix_v1_order_cancel_batch_orders = privatePostApiMixV1OrderCancelBatchOrders = Entry('api/mix/v1/order/cancel-batch-orders', 'private', 'POST', {'cost': 2})
83
+ private_post_api_mix_v1_order_cancel_symbol_orders = privatePostApiMixV1OrderCancelSymbolOrders = Entry('api/mix/v1/order/cancel-symbol-orders', 'private', 'POST', {'cost': 2})
84
+ private_post_api_mix_v1_order_cancel_all_orders = privatePostApiMixV1OrderCancelAllOrders = Entry('api/mix/v1/order/cancel-all-orders', 'private', 'POST', {'cost': 2})
85
+ private_post_api_mix_v1_plan_placeplan = privatePostApiMixV1PlanPlacePlan = Entry('api/mix/v1/plan/placePlan', 'private', 'POST', {'cost': 2})
86
+ private_post_api_mix_v1_plan_modifyplan = privatePostApiMixV1PlanModifyPlan = Entry('api/mix/v1/plan/modifyPlan', 'private', 'POST', {'cost': 2})
87
+ private_post_api_mix_v1_plan_modifyplanpreset = privatePostApiMixV1PlanModifyPlanPreset = Entry('api/mix/v1/plan/modifyPlanPreset', 'private', 'POST', {'cost': 2})
88
+ private_post_api_mix_v1_plan_placetpsl = privatePostApiMixV1PlanPlaceTPSL = Entry('api/mix/v1/plan/placeTPSL', 'private', 'POST', {'cost': 2})
89
+ private_post_api_mix_v1_plan_placetrailstop = privatePostApiMixV1PlanPlaceTrailStop = Entry('api/mix/v1/plan/placeTrailStop', 'private', 'POST', {'cost': 2})
90
+ private_post_api_mix_v1_plan_placepositionstpsl = privatePostApiMixV1PlanPlacePositionsTPSL = Entry('api/mix/v1/plan/placePositionsTPSL', 'private', 'POST', {'cost': 2})
91
+ private_post_api_mix_v1_plan_modifytpslplan = privatePostApiMixV1PlanModifyTPSLPlan = Entry('api/mix/v1/plan/modifyTPSLPlan', 'private', 'POST', {'cost': 2})
92
+ private_post_api_mix_v1_plan_cancelplan = privatePostApiMixV1PlanCancelPlan = Entry('api/mix/v1/plan/cancelPlan', 'private', 'POST', {'cost': 2})
93
+ private_post_api_mix_v1_plan_cancelsymbolplan = privatePostApiMixV1PlanCancelSymbolPlan = Entry('api/mix/v1/plan/cancelSymbolPlan', 'private', 'POST', {'cost': 2})
94
+ private_post_api_mix_v1_plan_cancelallplan = privatePostApiMixV1PlanCancelAllPlan = Entry('api/mix/v1/plan/cancelAllPlan', 'private', 'POST', {'cost': 2})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.22'
7
+ __version__ = '4.4.23'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -104,6 +104,7 @@ from ccxt.async_support.coinbase import coinbase
104
104
  from ccxt.async_support.coinbaseadvanced import coinbaseadvanced # noqa: F401
105
105
  from ccxt.async_support.coinbaseexchange import coinbaseexchange # noqa: F401
106
106
  from ccxt.async_support.coinbaseinternational import coinbaseinternational # noqa: F401
107
+ from ccxt.async_support.coincatch import coincatch # noqa: F401
107
108
  from ccxt.async_support.coincheck import coincheck # noqa: F401
108
109
  from ccxt.async_support.coinex import coinex # noqa: F401
109
110
  from ccxt.async_support.coinlist import coinlist # noqa: F401
@@ -214,6 +215,7 @@ exchanges = [
214
215
  'coinbaseadvanced',
215
216
  'coinbaseexchange',
216
217
  'coinbaseinternational',
218
+ 'coincatch',
217
219
  'coincheck',
218
220
  'coinex',
219
221
  'coinlist',
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.22'
5
+ __version__ = '4.4.23'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8