UNPKG

ccxt

Version:

A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges

961 lines (958 loc) • 430 kB
'use strict'; var bybit$1 = require('./abstract/bybit.js'); var number = require('./base/functions/number.js'); var errors = require('./base/errors.js'); var Precise = require('./base/Precise.js'); var sha256 = require('./static_dependencies/noble-hashes/sha256.js'); var rsa = require('./base/functions/rsa.js'); // ---------------------------------------------------------------------------- // --------------------------------------------------------------------------- /** * @class bybit * @augments Exchange */ class bybit extends bybit$1 { describe() { return this.deepExtend(super.describe(), { 'id': 'bybit', 'name': 'Bybit', 'countries': ['VG'], 'version': 'v5', 'userAgent': undefined, 'rateLimit': 20, 'hostname': 'bybit.com', 'pro': true, 'certified': true, 'has': { 'CORS': true, 'spot': true, 'margin': true, 'swap': true, 'future': true, 'option': true, 'borrowCrossMargin': true, 'cancelAllOrders': true, 'cancelAllOrdersAfter': true, 'cancelOrder': true, 'cancelOrders': true, 'cancelOrdersForSymbols': true, 'closeAllPositions': false, 'closePosition': false, 'createConvertTrade': true, 'createMarketBuyOrderWithCost': true, 'createMarketSellOrderWithCost': true, 'createOrder': true, 'createOrders': true, 'createOrderWithTakeProfitAndStopLoss': true, 'createPostOnlyOrder': true, 'createReduceOnlyOrder': true, 'createStopLimitOrder': true, 'createStopLossOrder': true, 'createStopMarketOrder': true, 'createStopOrder': true, 'createTakeProfitOrder': true, 'createTrailingAmountOrder': true, 'createTriggerOrder': true, 'editOrder': true, 'fetchBalance': true, 'fetchBorrowInterest': false, 'fetchBorrowRateHistories': false, 'fetchBorrowRateHistory': false, 'fetchCanceledAndClosedOrders': true, 'fetchCanceledOrders': true, 'fetchClosedOrder': true, 'fetchClosedOrders': true, 'fetchConvertCurrencies': true, 'fetchConvertQuote': true, 'fetchConvertTrade': true, 'fetchConvertTradeHistory': true, 'fetchCrossBorrowRate': true, 'fetchCrossBorrowRates': false, 'fetchCurrencies': true, 'fetchDeposit': false, 'fetchDepositAddress': true, 'fetchDepositAddresses': false, 'fetchDepositAddressesByNetwork': true, 'fetchDeposits': true, 'fetchDepositWithdrawFee': 'emulated', 'fetchDepositWithdrawFees': true, 'fetchFundingHistory': true, 'fetchFundingRate': 'emulated', 'fetchFundingRateHistory': true, 'fetchFundingRates': true, 'fetchGreeks': true, 'fetchIndexOHLCV': true, 'fetchIsolatedBorrowRate': false, 'fetchIsolatedBorrowRates': false, 'fetchLedger': true, 'fetchLeverage': true, 'fetchLeverageTiers': true, 'fetchLongShortRatio': false, 'fetchLongShortRatioHistory': true, 'fetchMarginAdjustmentHistory': false, 'fetchMarketLeverageTiers': true, 'fetchMarkets': true, 'fetchMarkOHLCV': true, 'fetchMyLiquidations': true, 'fetchMySettlementHistory': true, 'fetchMyTrades': true, 'fetchOHLCV': true, 'fetchOpenInterest': true, 'fetchOpenInterestHistory': true, 'fetchOpenOrder': true, 'fetchOpenOrders': true, 'fetchOption': true, 'fetchOptionChain': true, 'fetchOrder': true, 'fetchOrderBook': true, 'fetchOrders': false, 'fetchOrderTrades': true, 'fetchPosition': true, 'fetchPositionHistory': 'emulated', 'fetchPositions': true, 'fetchPositionsHistory': true, 'fetchPremiumIndexOHLCV': true, 'fetchSettlementHistory': true, 'fetchTicker': true, 'fetchTickers': true, 'fetchTime': true, 'fetchTrades': true, 'fetchTradingFee': true, 'fetchTradingFees': true, 'fetchTransactions': false, 'fetchTransfers': true, 'fetchUnderlyingAssets': false, 'fetchVolatilityHistory': true, 'fetchWithdrawals': true, 'repayCrossMargin': true, 'sandbox': true, 'setLeverage': true, 'setMarginMode': true, 'setPositionMode': true, 'transfer': true, 'withdraw': true, }, 'timeframes': { '1m': '1', '3m': '3', '5m': '5', '15m': '15', '30m': '30', '1h': '60', '2h': '120', '4h': '240', '6h': '360', '12h': '720', '1d': 'D', '1w': 'W', '1M': 'M', }, 'urls': { 'test': { 'spot': 'https://api-testnet.{hostname}', 'futures': 'https://api-testnet.{hostname}', 'v2': 'https://api-testnet.{hostname}', 'public': 'https://api-testnet.{hostname}', 'private': 'https://api-testnet.{hostname}', }, 'logo': 'https://github.com/user-attachments/assets/97a5d0b3-de10-423d-90e1-6620960025ed', 'api': { 'spot': 'https://api.{hostname}', 'futures': 'https://api.{hostname}', 'v2': 'https://api.{hostname}', 'public': 'https://api.{hostname}', 'private': 'https://api.{hostname}', }, 'demotrading': { 'spot': 'https://api-demo.{hostname}', 'futures': 'https://api-demo.{hostname}', 'v2': 'https://api-demo.{hostname}', 'public': 'https://api-demo.{hostname}', 'private': 'https://api-demo.{hostname}', }, 'www': 'https://www.bybit.com', 'doc': [ 'https://bybit-exchange.github.io/docs/inverse/', 'https://bybit-exchange.github.io/docs/linear/', 'https://github.com/bybit-exchange', ], 'fees': 'https://help.bybit.com/hc/en-us/articles/360039261154', 'referral': 'https://www.bybit.com/register?affiliate_id=35953', }, 'api': { 'public': { 'get': { // spot 'spot/v3/public/symbols': 1, 'spot/v3/public/quote/depth': 1, 'spot/v3/public/quote/depth/merged': 1, 'spot/v3/public/quote/trades': 1, 'spot/v3/public/quote/kline': 1, 'spot/v3/public/quote/ticker/24hr': 1, 'spot/v3/public/quote/ticker/price': 1, 'spot/v3/public/quote/ticker/bookTicker': 1, 'spot/v3/public/server-time': 1, 'spot/v3/public/infos': 1, 'spot/v3/public/margin-product-infos': 1, 'spot/v3/public/margin-ensure-tokens': 1, // data 'v3/public/time': 1, 'contract/v3/public/copytrading/symbol/list': 1, // derivative 'derivatives/v3/public/order-book/L2': 1, 'derivatives/v3/public/kline': 1, 'derivatives/v3/public/tickers': 1, 'derivatives/v3/public/instruments-info': 1, 'derivatives/v3/public/mark-price-kline': 1, 'derivatives/v3/public/index-price-kline': 1, 'derivatives/v3/public/funding/history-funding-rate': 1, 'derivatives/v3/public/risk-limit/list': 1, 'derivatives/v3/public/delivery-price': 1, 'derivatives/v3/public/recent-trade': 1, 'derivatives/v3/public/open-interest': 1, 'derivatives/v3/public/insurance': 1, // v5 'v5/announcements/index': 5, // market 'v5/market/time': 5, 'v5/market/kline': 5, 'v5/market/mark-price-kline': 5, 'v5/market/index-price-kline': 5, 'v5/market/premium-index-price-kline': 5, 'v5/market/instruments-info': 5, 'v5/market/orderbook': 5, 'v5/market/tickers': 5, 'v5/market/funding/history': 5, 'v5/market/recent-trade': 5, 'v5/market/open-interest': 5, 'v5/market/historical-volatility': 5, 'v5/market/insurance': 5, 'v5/market/risk-limit': 5, 'v5/market/delivery-price': 5, 'v5/market/account-ratio': 5, // spot leverage token 'v5/spot-lever-token/info': 5, 'v5/spot-lever-token/reference': 5, // spot margin trade 'v5/spot-margin-trade/data': 5, 'v5/spot-cross-margin-trade/data': 5, 'v5/spot-cross-margin-trade/pledge-token': 5, 'v5/spot-cross-margin-trade/borrow-token': 5, // crypto loan 'v5/crypto-loan/collateral-data': 5, 'v5/crypto-loan/loanable-data': 5, // institutional lending 'v5/ins-loan/product-infos': 5, 'v5/ins-loan/ensure-tokens-convert': 5, }, }, 'private': { 'get': { 'v5/market/instruments-info': 5, // Legacy inverse swap 'v2/private/wallet/fund/records': 25, // spot 'spot/v3/private/order': 2.5, 'spot/v3/private/open-orders': 2.5, 'spot/v3/private/history-orders': 2.5, 'spot/v3/private/my-trades': 2.5, 'spot/v3/private/account': 2.5, 'spot/v3/private/reference': 2.5, 'spot/v3/private/record': 2.5, 'spot/v3/private/cross-margin-orders': 10, 'spot/v3/private/cross-margin-account': 10, 'spot/v3/private/cross-margin-loan-info': 10, 'spot/v3/private/cross-margin-repay-history': 10, 'spot/v3/private/margin-loan-infos': 10, 'spot/v3/private/margin-repaid-infos': 10, 'spot/v3/private/margin-ltv': 10, // account 'asset/v3/private/transfer/inter-transfer/list/query': 50, 'asset/v3/private/transfer/sub-member/list/query': 50, 'asset/v3/private/transfer/sub-member-transfer/list/query': 50, 'asset/v3/private/transfer/universal-transfer/list/query': 25, 'asset/v3/private/coin-info/query': 25, 'asset/v3/private/deposit/address/query': 10, 'contract/v3/private/copytrading/order/list': 30, 'contract/v3/private/copytrading/position/list': 40, 'contract/v3/private/copytrading/wallet/balance': 25, 'contract/v3/private/position/limit-info': 25, 'contract/v3/private/order/unfilled-orders': 1, 'contract/v3/private/order/list': 1, 'contract/v3/private/position/list': 1, 'contract/v3/private/execution/list': 1, 'contract/v3/private/position/closed-pnl': 1, 'contract/v3/private/account/wallet/balance': 1, 'contract/v3/private/account/fee-rate': 1, 'contract/v3/private/account/wallet/fund-records': 1, // derivative 'unified/v3/private/order/unfilled-orders': 1, 'unified/v3/private/order/list': 1, 'unified/v3/private/position/list': 1, 'unified/v3/private/execution/list': 1, 'unified/v3/private/delivery-record': 1, 'unified/v3/private/settlement-record': 1, 'unified/v3/private/account/wallet/balance': 1, 'unified/v3/private/account/transaction-log': 1, 'unified/v3/private/account/borrow-history': 1, 'unified/v3/private/account/borrow-rate': 1, 'unified/v3/private/account/info': 1, 'user/v3/private/frozen-sub-member': 10, 'user/v3/private/query-sub-members': 5, 'user/v3/private/query-api': 5, 'user/v3/private/get-member-type': 1, 'asset/v3/private/transfer/transfer-coin/list/query': 50, 'asset/v3/private/transfer/account-coin/balance/query': 50, 'asset/v3/private/transfer/account-coins/balance/query': 25, 'asset/v3/private/transfer/asset-info/query': 50, 'asset/v3/public/deposit/allowed-deposit-list/query': 0.17, 'asset/v3/private/deposit/record/query': 10, 'asset/v3/private/withdraw/record/query': 10, // v5 // trade 'v5/order/realtime': 5, 'v5/order/history': 5, 'v5/order/spot-borrow-check': 1, // position 'v5/position/list': 5, 'v5/execution/list': 5, 'v5/position/closed-pnl': 5, 'v5/position/move-history': 5, // pre-upgrade 'v5/pre-upgrade/order/history': 5, 'v5/pre-upgrade/execution/list': 5, 'v5/pre-upgrade/position/closed-pnl': 5, 'v5/pre-upgrade/account/transaction-log': 5, 'v5/pre-upgrade/asset/delivery-record': 5, 'v5/pre-upgrade/asset/settlement-record': 5, // account 'v5/account/wallet-balance': 1, 'v5/account/borrow-history': 1, 'v5/account/collateral-info': 1, 'v5/asset/coin-greeks': 1, 'v5/account/fee-rate': 10, 'v5/account/info': 5, 'v5/account/transaction-log': 1, 'v5/account/contract-transaction-log': 1, 'v5/account/smp-group': 1, 'v5/account/mmp-state': 5, 'v5/account/withdrawal': 5, // asset 'v5/asset/exchange/query-coin-list': 0.5, 'v5/asset/exchange/convert-result-query': 0.5, 'v5/asset/exchange/query-convert-history': 0.5, 'v5/asset/exchange/order-record': 5, 'v5/asset/delivery-record': 5, 'v5/asset/settlement-record': 5, 'v5/asset/transfer/query-asset-info': 50, 'v5/asset/transfer/query-account-coins-balance': 25, 'v5/asset/transfer/query-account-coin-balance': 50, 'v5/asset/transfer/query-transfer-coin-list': 50, 'v5/asset/transfer/query-inter-transfer-list': 50, 'v5/asset/transfer/query-sub-member-list': 50, 'v5/asset/transfer/query-universal-transfer-list': 25, 'v5/asset/deposit/query-allowed-list': 5, 'v5/asset/deposit/query-record': 10, 'v5/asset/deposit/query-sub-member-record': 10, 'v5/asset/deposit/query-internal-record': 5, 'v5/asset/deposit/query-address': 10, 'v5/asset/deposit/query-sub-member-address': 10, 'v5/asset/coin/query-info': 28, 'v5/asset/withdraw/query-record': 10, 'v5/asset/withdraw/withdrawable-amount': 5, 'v5/asset/withdraw/vasp/list': 5, // user 'v5/user/query-sub-members': 5, 'v5/user/query-api': 5, 'v5/user/sub-apikeys': 5, 'v5/user/get-member-type': 5, 'v5/user/aff-customer-info': 5, 'v5/user/del-submember': 5, 'v5/user/submembers': 5, // affilate 'v5/affiliate/aff-user-list': 5, // spot leverage token 'v5/spot-lever-token/order-record': 1, // spot margin trade 'v5/spot-margin-trade/interest-rate-history': 5, 'v5/spot-margin-trade/state': 5, 'v5/spot-cross-margin-trade/loan-info': 1, 'v5/spot-cross-margin-trade/account': 1, 'v5/spot-cross-margin-trade/orders': 1, 'v5/spot-cross-margin-trade/repay-history': 1, // crypto loan 'v5/crypto-loan/borrowable-collateralisable-number': 5, 'v5/crypto-loan/ongoing-orders': 5, 'v5/crypto-loan/repayment-history': 5, 'v5/crypto-loan/borrow-history': 5, 'v5/crypto-loan/max-collateral-amount': 5, 'v5/crypto-loan/adjustment-history': 5, // institutional lending 'v5/ins-loan/product-infos': 5, 'v5/ins-loan/ensure-tokens-convert': 5, 'v5/ins-loan/loan-order': 5, 'v5/ins-loan/repaid-history': 5, 'v5/ins-loan/ltv-convert': 5, // c2c lending 'v5/lending/info': 5, 'v5/lending/history-order': 5, 'v5/lending/account': 5, // broker 'v5/broker/earning-record': 5, 'v5/broker/earnings-info': 5, 'v5/broker/account-info': 5, 'v5/broker/asset/query-sub-member-deposit-record': 10, }, 'post': { // spot 'spot/v3/private/order': 2.5, 'spot/v3/private/cancel-order': 2.5, 'spot/v3/private/cancel-orders': 2.5, 'spot/v3/private/cancel-orders-by-ids': 2.5, 'spot/v3/private/purchase': 2.5, 'spot/v3/private/redeem': 2.5, 'spot/v3/private/cross-margin-loan': 10, 'spot/v3/private/cross-margin-repay': 10, // account 'asset/v3/private/transfer/inter-transfer': 150, 'asset/v3/private/withdraw/create': 300, 'asset/v3/private/withdraw/cancel': 50, 'asset/v3/private/transfer/sub-member-transfer': 150, 'asset/v3/private/transfer/transfer-sub-member-save': 150, 'asset/v3/private/transfer/universal-transfer': 10, 'user/v3/private/create-sub-member': 10, 'user/v3/private/create-sub-api': 10, 'user/v3/private/update-api': 10, 'user/v3/private/delete-api': 10, 'user/v3/private/update-sub-api': 10, 'user/v3/private/delete-sub-api': 10, // contract 'contract/v3/private/copytrading/order/create': 30, 'contract/v3/private/copytrading/order/cancel': 30, 'contract/v3/private/copytrading/order/close': 30, 'contract/v3/private/copytrading/position/close': 40, 'contract/v3/private/copytrading/position/set-leverage': 40, 'contract/v3/private/copytrading/wallet/transfer': 25, 'contract/v3/private/copytrading/order/trading-stop': 2.5, 'contract/v3/private/order/create': 1, 'contract/v3/private/order/cancel': 1, 'contract/v3/private/order/cancel-all': 1, 'contract/v3/private/order/replace': 1, 'contract/v3/private/position/set-auto-add-margin': 1, 'contract/v3/private/position/switch-isolated': 1, 'contract/v3/private/position/switch-mode': 1, 'contract/v3/private/position/switch-tpsl-mode': 1, 'contract/v3/private/position/set-leverage': 1, 'contract/v3/private/position/trading-stop': 1, 'contract/v3/private/position/set-risk-limit': 1, 'contract/v3/private/account/setMarginMode': 1, // derivative 'unified/v3/private/order/create': 30, 'unified/v3/private/order/replace': 30, 'unified/v3/private/order/cancel': 30, 'unified/v3/private/order/create-batch': 30, 'unified/v3/private/order/replace-batch': 30, 'unified/v3/private/order/cancel-batch': 30, 'unified/v3/private/order/cancel-all': 30, 'unified/v3/private/position/set-leverage': 2.5, 'unified/v3/private/position/tpsl/switch-mode': 2.5, 'unified/v3/private/position/set-risk-limit': 2.5, 'unified/v3/private/position/trading-stop': 2.5, 'unified/v3/private/account/upgrade-unified-account': 2.5, 'unified/v3/private/account/setMarginMode': 2.5, // tax 'fht/compliance/tax/v3/private/registertime': 50, 'fht/compliance/tax/v3/private/create': 50, 'fht/compliance/tax/v3/private/status': 50, 'fht/compliance/tax/v3/private/url': 50, // v5 // trade 'v5/order/create': 2.5, 'v5/order/amend': 5, 'v5/order/cancel': 2.5, 'v5/order/cancel-all': 50, 'v5/order/create-batch': 5, 'v5/order/amend-batch': 5, 'v5/order/cancel-batch': 5, 'v5/order/disconnected-cancel-all': 5, // position 'v5/position/set-leverage': 5, 'v5/position/switch-isolated': 5, 'v5/position/set-tpsl-mode': 5, 'v5/position/switch-mode': 5, 'v5/position/set-risk-limit': 5, 'v5/position/trading-stop': 5, 'v5/position/set-auto-add-margin': 5, 'v5/position/add-margin': 5, 'v5/position/move-positions': 5, 'v5/position/confirm-pending-mmr': 5, // account 'v5/account/upgrade-to-uta': 5, 'v5/account/quick-repayment': 5, 'v5/account/set-margin-mode': 5, 'v5/account/set-hedging-mode': 5, 'v5/account/mmp-modify': 5, 'v5/account/mmp-reset': 5, // asset 'v5/asset/exchange/quote-apply': 1, 'v5/asset/exchange/convert-execute': 1, 'v5/asset/transfer/inter-transfer': 50, 'v5/asset/transfer/save-transfer-sub-member': 150, 'v5/asset/transfer/universal-transfer': 10, 'v5/asset/deposit/deposit-to-account': 5, 'v5/asset/withdraw/create': 50, 'v5/asset/withdraw/cancel': 50, // user 'v5/user/create-sub-member': 10, 'v5/user/create-sub-api': 10, 'v5/user/frozen-sub-member': 10, 'v5/user/update-api': 10, 'v5/user/update-sub-api': 10, 'v5/user/delete-api': 10, 'v5/user/delete-sub-api': 10, // spot leverage token 'v5/spot-lever-token/purchase': 2.5, 'v5/spot-lever-token/redeem': 2.5, // spot margin trade 'v5/spot-margin-trade/switch-mode': 5, 'v5/spot-margin-trade/set-leverage': 5, 'v5/spot-cross-margin-trade/loan': 2.5, 'v5/spot-cross-margin-trade/repay': 2.5, 'v5/spot-cross-margin-trade/switch': 2.5, // crypto loan 'v5/crypto-loan/borrow': 5, 'v5/crypto-loan/repay': 5, 'v5/crypto-loan/adjust-ltv': 5, // institutional lending 'v5/ins-loan/association-uid': 5, // c2c lending 'v5/lending/purchase': 5, 'v5/lending/redeem': 5, 'v5/lending/redeem-cancel': 5, 'v5/account/set-collateral-switch': 5, 'v5/account/set-collateral-switch-batch': 5, // demo trading 'v5/account/demo-apply-money': 5, // broker 'v5/broker/award/info': 5, 'v5/broker/award/distribute-award': 5, 'v5/broker/award/distribution-record': 5, }, }, }, 'httpExceptions': { '403': errors.RateLimitExceeded, // Forbidden -- You request too many times }, 'exceptions': { // Uncodumented explanation of error strings: // - oc_diff: order cost needed to place this order // - new_oc: total order cost of open orders including the order you are trying to open // - ob: order balance - the total cost of current open orders // - ab: available balance 'exact': { '-10009': errors.BadRequest, '-1004': errors.BadRequest, '-1021': errors.BadRequest, '-1103': errors.BadRequest, '-1140': errors.InvalidOrder, '-1197': errors.InvalidOrder, '-2013': errors.InvalidOrder, '-2015': errors.AuthenticationError, '-6017': errors.BadRequest, '-6025': errors.BadRequest, '-6029': errors.BadRequest, '5004': errors.ExchangeError, '7001': errors.BadRequest, '10001': errors.BadRequest, '10002': errors.InvalidNonce, '10003': errors.AuthenticationError, '10004': errors.AuthenticationError, '10005': errors.PermissionDenied, '10006': errors.RateLimitExceeded, '10007': errors.AuthenticationError, '10008': errors.AccountSuspended, '10009': errors.AuthenticationError, '10010': errors.PermissionDenied, '10014': errors.BadRequest, '10016': errors.ExchangeError, '10017': errors.BadRequest, '10018': errors.RateLimitExceeded, '10020': errors.PermissionDenied, '10024': errors.PermissionDenied, '10027': errors.PermissionDenied, '10028': errors.PermissionDenied, '10029': errors.PermissionDenied, '12137': errors.InvalidOrder, '12201': errors.BadRequest, '12141': errors.BadRequest, '100028': errors.PermissionDenied, '110001': errors.OrderNotFound, '110003': errors.InvalidOrder, '110004': errors.InsufficientFunds, '110005': errors.InvalidOrder, '110006': errors.InsufficientFunds, '110007': errors.InsufficientFunds, '110008': errors.InvalidOrder, '110009': errors.InvalidOrder, '110010': errors.InvalidOrder, '110011': errors.InvalidOrder, '110012': errors.InsufficientFunds, '110013': errors.BadRequest, '110014': errors.InsufficientFunds, '110015': errors.BadRequest, '110016': errors.InvalidOrder, '110017': errors.InvalidOrder, '110018': errors.BadRequest, '110019': errors.InvalidOrder, '110020': errors.InvalidOrder, '110021': errors.InvalidOrder, '110022': errors.InvalidOrder, '110023': errors.InvalidOrder, '110024': errors.BadRequest, '110025': errors.NoChange, '110026': errors.MarginModeAlreadySet, '110027': errors.NoChange, '110028': errors.BadRequest, '110029': errors.BadRequest, '110030': errors.InvalidOrder, '110031': errors.InvalidOrder, '110032': errors.InvalidOrder, '110033': errors.InvalidOrder, '110034': errors.InvalidOrder, '110035': errors.InvalidOrder, '110036': errors.InvalidOrder, '110037': errors.InvalidOrder, '110038': errors.InvalidOrder, '110039': errors.InvalidOrder, '110040': errors.InvalidOrder, '110041': errors.InvalidOrder, '110042': errors.InvalidOrder, '110043': errors.BadRequest, '110044': errors.InsufficientFunds, '110045': errors.InsufficientFunds, '110046': errors.BadRequest, '110047': errors.BadRequest, '110048': errors.BadRequest, '110049': errors.BadRequest, '110050': errors.BadRequest, '110051': errors.InsufficientFunds, '110052': errors.InsufficientFunds, '110053': errors.InsufficientFunds, '110054': errors.InvalidOrder, '110055': errors.InvalidOrder, '110056': errors.InvalidOrder, '110057': errors.InvalidOrder, '110058': errors.InvalidOrder, '110059': errors.InvalidOrder, '110060': errors.BadRequest, '110061': errors.BadRequest, '110062': errors.BadRequest, '110063': errors.ExchangeError, '110064': errors.InvalidOrder, '110065': errors.PermissionDenied, '110066': errors.ExchangeError, '110067': errors.PermissionDenied, '110068': errors.PermissionDenied, '110069': errors.PermissionDenied, '110070': errors.InvalidOrder, '110071': errors.ExchangeError, '110072': errors.InvalidOrder, '110073': errors.ExchangeError, '110092': errors.InvalidOrder, '110093': errors.InvalidOrder, '110094': errors.InvalidOrder, '130006': errors.InvalidOrder, '130021': errors.InsufficientFunds, '130074': errors.InvalidOrder, '131001': errors.InsufficientFunds, '131084': errors.ExchangeError, '131200': errors.ExchangeError, '131201': errors.ExchangeError, '131202': errors.BadRequest, '131203': errors.BadRequest, '131204': errors.BadRequest, '131205': errors.BadRequest, '131206': errors.ExchangeError, '131207': errors.BadRequest, '131208': errors.ExchangeError, '131209': errors.BadRequest, '131210': errors.BadRequest, '131211': errors.BadRequest, '131212': errors.InsufficientFunds, '131213': errors.BadRequest, '131214': errors.BadRequest, '131215': errors.BadRequest, '131216': errors.ExchangeError, '131217': errors.ExchangeError, '131231': errors.NotSupported, '131232': errors.NotSupported, '131002': errors.BadRequest, '131003': errors.ExchangeError, '131004': errors.AuthenticationError, '131085': errors.InsufficientFunds, '131086': errors.BadRequest, '131088': errors.BadRequest, '131089': errors.BadRequest, '131090': errors.ExchangeError, '131091': errors.ExchangeError, '131092': errors.ExchangeError, '131093': errors.ExchangeError, '131094': errors.BadRequest, '131095': errors.BadRequest, '131096': errors.BadRequest, '131097': errors.ExchangeError, '131098': errors.ExchangeError, '131099': errors.ExchangeError, '140001': errors.OrderNotFound, '140003': errors.InvalidOrder, '140004': errors.InsufficientFunds, '140005': errors.InvalidOrder, '140006': errors.InsufficientFunds, '140007': errors.InsufficientFunds, '140008': errors.InvalidOrder, '140009': errors.InvalidOrder, '140010': errors.InvalidOrder, '140011': errors.InvalidOrder, '140012': errors.InsufficientFunds, '140013': errors.BadRequest, '140014': errors.InsufficientFunds, '140015': errors.InvalidOrder, '140016': errors.InvalidOrder, '140017': errors.InvalidOrder, '140018': errors.BadRequest, '140019': errors.InvalidOrder, '140020': errors.InvalidOrder, '140021': errors.InvalidOrder, '140022': errors.InvalidOrder, '140023': errors.InvalidOrder, '140024': errors.BadRequest, '140025': errors.BadRequest, '140026': errors.BadRequest, '140027': errors.BadRequest, '140028': errors.InvalidOrder, '140029': errors.BadRequest, '140030': errors.InvalidOrder, '140031': errors.BadRequest, '140032': errors.InvalidOrder, '140033': errors.InvalidOrder, '140034': errors.InvalidOrder, '140035': errors.InvalidOrder, '140036': errors.BadRequest, '140037': errors.InvalidOrder, '140038': errors.BadRequest, '140039': errors.BadRequest, '140040': errors.InvalidOrder, '140041': errors.InvalidOrder, '140042': errors.InvalidOrder, '140043': errors.BadRequest, '140044': errors.InsufficientFunds, '140045': errors.InsufficientFunds, '140046': errors.BadRequest, '140047': errors.BadRequest, '140048': errors.BadRequest, '140049': errors.BadRequest, '140050': errors.InvalidOrder, '140051': errors.InsufficientFunds, '140052': errors.InsufficientFunds, '140053': errors.InsufficientFunds, '140054': errors.InvalidOrder, '140055': errors.InvalidOrder, '140056': errors.InvalidOrder, '140057': errors.InvalidOrder, '140058': errors.InvalidOrder, '140059': errors.InvalidOrder, '140060': errors.BadRequest, '140061': errors.BadRequest, '140062': errors.BadRequest, '140063': errors.ExchangeError, '140064': errors.InvalidOrder, '140065': errors.PermissionDenied, '140066': errors.ExchangeError, '140067': errors.PermissionDenied, '140068': errors.PermissionDenied, '140069': errors.PermissionDenied, '140070': errors.InvalidOrder, '170001': errors.ExchangeError, '170005': errors.InvalidOrder, '170007': errors.RequestTimeout, '170010': errors.InvalidOrder, '170011': errors.InvalidOrder, '170019': errors.InvalidOrder, '170031': errors.ExchangeError, '170032': errors.ExchangeError, '170033': errors.InsufficientFunds, '170034': errors.InsufficientFunds, '170035': errors.BadRequest, '170036': errors.BadRequest, '170037': errors.BadRequest, '170105': errors.BadRequest, '170115': errors.InvalidOrder, '170116': errors.InvalidOrder, '170117': errors.InvalidOrder, '170121': errors.InvalidOrder, '170124': errors.InvalidOrder, '170130': errors.BadRequest, '170131': errors.InsufficientFunds, '170132': errors.InvalidOrder, '170133': errors.InvalidOrder, '170134': errors.InvalidOrder, '170135': errors.InvalidOrder, '170136': errors.InvalidOrder, '170137': errors.InvalidOrder, '170139': errors.InvalidOrder, '170140': errors.InvalidOrder, '170141': errors.InvalidOrder, '170142': errors.InvalidOrder, '170143': errors.InvalidOrder, '170144': errors.InvalidOrder, '170145': errors.InvalidOrder, '170146': errors.InvalidOrder, '170147': errors.InvalidOrder, '170148': errors.InvalidOrder, '170149': errors.ExchangeError, '170150': errors.ExchangeError, '170151': errors.InvalidOrder, '170157': errors.InvalidOrder, '170159': errors.InvalidOrder, '170190': errors.InvalidOrder, '170191': errors.InvalidOrder, '170192': errors.InvalidOrder, '170193': errors.InvalidOrder, '170194': errors.InvalidOrder, '170195': errors.InvalidOrder, '170196': errors.InvalidOrder, '170197': errors.InvalidOrder, '170198': errors.InvalidOrder, '170199': errors.InvalidOrder, '170200': errors.InvalidOrder, '170201': errors.PermissionDenied, '170202': errors.InvalidOrder, '170203': errors.InvalidOrder, '170204': errors.InvalidOrder, '170206': errors.InvalidOrder, '170210': errors.InvalidOrder, '170213': errors.OrderNotFound, '170217': errors.InvalidOrder, '170218': errors.InvalidOrder, '170221': errors.BadRequest, '170222': errors.RateLimitExceeded, '170223': errors.InsufficientFunds, '170224': errors.PermissionDenied, '170226': errors.InsufficientFunds, '170227': errors.ExchangeError, '170228': errors.InvalidOrder, '170229': errors.InvalidOrder, '170234': errors.ExchangeError, '170241': errors.ManualInteractionNeeded, '175000': errors.InvalidOrder, '175001': errors.InvalidOrder, '175002': errors.InvalidOrder, '175003': errors.InsufficientFunds, '175004': errors.InvalidOrder, '175005': errors.InvalidOrder, '175006': errors.InsufficientFunds, '175007': errors.InvalidOrder, '175008': errors.InvalidOrder, '175009': errors.InvalidOrder, '175010': errors.PermissionDenied, '175012': errors.InvalidOrder, '175013': errors.InvalidOrder, '175014': errors.InvalidOrder, '175015': errors.InvalidOrder, '175016': errors.InvalidOrder, '175017': errors.InvalidOrder, '175027': errors.ExchangeError, '176002': errors.BadRequest, '176004': errors.BadRequest, '176003': errors.BadRequest, '176006': errors.BadRequest, '176005': errors.BadRequest, '176008': errors.BadRequest, '176007': errors.BadRequest, '176010': errors.BadRequest, '176009': errors.BadRequest, '176012': errors.BadRequest, '176011': errors.BadRequest, '176014': errors.BadRequest, '176013': errors.BadRequest, '176015': errors.InsufficientFunds, '176016': errors.BadRequest, '176017': errors.BadRequest, '176018': errors.BadRequest, '176019': errors.BadRequest, '176020': errors.BadRequest, '176021': errors.BadRequest, '176022': errors.BadRequest, '176023': errors.BadRequest, '176024': errors.BadRequest, '176025': errors.BadRequest, '176026': errors.BadRequest, '176027': errors.BadRequest, '176028': errors.BadRequest, '176029': errors.BadRequest, '176030': errors.BadRequest, '176031': errors.BadRequest, '176034': errors.BadRequest, '176035': errors.PermissionDenied, '176036': errors.PermissionDenied, '176037': errors.PermissionDenied, '176038': errors.BadRequest, '176039': errors.BadRequest, '176040': errors.BadRequest, '181000': errors.BadRequest, '181001': errors.BadRequest, '181002': errors.InvalidOrder, '181003': errors.InvalidOrder, '181004': errors.InvalidOrder, '182000': errors.InvalidOrder, '181017': errors.BadRequest, '20001': errors.OrderNotFound, '20003': errors.InvalidOrder, '20004': errors.InvalidOrder, '20005': errors.InvalidOrder, '20006': errors.InvalidOrder, '20007': errors.InvalidOrder, '20008': errors.InvalidOrder, '20009': errors.InvalidOrder, '20010': errors.InvalidOrder, '20011': errors.InvalidOrder, '20012': errors.InvalidOrder, '20013': errors.InvalidOrder, '20014': errors.InvalidOrder, '20015': errors.InvalidOrder, '20016': errors.InvalidOrder, '20017': errors.InvalidOrder, '20018': errors.InvalidOrder, '20019': errors.InvalidOrder, '20020': errors.InvalidOrder, '20021': errors.InvalidOrder, '20022': errors.BadRequest, '20023': errors.BadRequest, '20031': errors.BadRequest, '20070': errors.BadRequest, '20071': errors.BadRequest, '20084': errors.BadRequest, '30001': errors.BadRequest, '30003': errors.InvalidOrder, '30004': errors.InvalidOrder, '30005': errors.InvalidOrder, '30007': errors.InvalidOrder, '30008': errors.InvalidOrder, '30009': errors.ExchangeError, '30010': errors.InsufficientFunds, '30011': errors.PermissionDenied, '30012': errors.PermissionDenied, '30013': errors.PermissionDenied, '30014': errors.InvalidOrder, '30015': errors.InvalidOrder, '30016': errors.ExchangeError, '30017': errors.InvalidOrder, '30018': errors.InvalidOrder, '30019': errors.InvalidOrder, '30020': errors.InvalidOrder, '30021': errors.InvalidOrder, '30022': errors.InvalidOrder, '30023': errors.InvalidOrder, '30024': errors.InvalidOrder, '30025': errors.InvalidOrder, '30026': errors.InvalidOrder,