ccxt 4.3.5__py2.py3-none-any.whl → 4.3.7__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.

Potentially problematic release.


This version of ccxt might be problematic. Click here for more details.

Files changed (189) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/binance.py +1 -0
  3. ccxt/abstract/binancecoinm.py +1 -0
  4. ccxt/abstract/binanceus.py +1 -0
  5. ccxt/abstract/binanceusdm.py +1 -0
  6. ccxt/abstract/bingx.py +1 -0
  7. ccxt/abstract/coinbase.py +5 -0
  8. ccxt/abstract/woo.py +1 -0
  9. ccxt/ace.py +5 -0
  10. ccxt/alpaca.py +6 -0
  11. ccxt/ascendex.py +2 -2
  12. ccxt/async_support/__init__.py +1 -1
  13. ccxt/async_support/ace.py +5 -0
  14. ccxt/async_support/alpaca.py +6 -0
  15. ccxt/async_support/ascendex.py +2 -2
  16. ccxt/async_support/base/exchange.py +30 -1
  17. ccxt/async_support/bigone.py +1 -1
  18. ccxt/async_support/binance.py +7 -3
  19. ccxt/async_support/bingx.py +43 -1
  20. ccxt/async_support/bitbank.py +4 -1
  21. ccxt/async_support/bitfinex.py +1 -1
  22. ccxt/async_support/bitfinex2.py +1 -1
  23. ccxt/async_support/bitflyer.py +1 -1
  24. ccxt/async_support/bitget.py +70 -4
  25. ccxt/async_support/bithumb.py +5 -1
  26. ccxt/async_support/bitmart.py +1 -1
  27. ccxt/async_support/bitmex.py +25 -1
  28. ccxt/async_support/bitopro.py +6 -1
  29. ccxt/async_support/bitrue.py +1 -1
  30. ccxt/async_support/bitso.py +4 -1
  31. ccxt/async_support/bitstamp.py +4 -1
  32. ccxt/async_support/bitteam.py +4 -0
  33. ccxt/async_support/bitvavo.py +4 -1
  34. ccxt/async_support/bl3p.py +3 -0
  35. ccxt/async_support/blockchaincom.py +1 -1
  36. ccxt/async_support/btcalpha.py +3 -0
  37. ccxt/async_support/btcbox.py +3 -0
  38. ccxt/async_support/btcmarkets.py +4 -1
  39. ccxt/async_support/btcturk.py +3 -0
  40. ccxt/async_support/bybit.py +196 -14
  41. ccxt/async_support/cex.py +6 -0
  42. ccxt/async_support/coinbase.py +98 -22
  43. ccxt/async_support/coinbaseinternational.py +3 -1
  44. ccxt/async_support/coinbasepro.py +7 -1
  45. ccxt/async_support/coincheck.py +3 -0
  46. ccxt/async_support/coinex.py +180 -79
  47. ccxt/async_support/coinlist.py +5 -1
  48. ccxt/async_support/coinmate.py +4 -1
  49. ccxt/async_support/coinone.py +3 -0
  50. ccxt/async_support/coinsph.py +5 -1
  51. ccxt/async_support/coinspot.py +3 -0
  52. ccxt/async_support/cryptocom.py +33 -2
  53. ccxt/async_support/delta.py +2 -2
  54. ccxt/async_support/deribit.py +1 -1
  55. ccxt/async_support/digifinex.py +3 -3
  56. ccxt/async_support/exmo.py +8 -3
  57. ccxt/async_support/gate.py +112 -24
  58. ccxt/async_support/gemini.py +1 -1
  59. ccxt/async_support/hitbtc.py +7 -6
  60. ccxt/async_support/hollaex.py +1 -1
  61. ccxt/async_support/htx.py +29 -1
  62. ccxt/async_support/huobijp.py +1 -1
  63. ccxt/async_support/hyperliquid.py +39 -2
  64. ccxt/async_support/idex.py +4 -1
  65. ccxt/async_support/independentreserve.py +3 -0
  66. ccxt/async_support/indodax.py +4 -1
  67. ccxt/async_support/kraken.py +28 -1
  68. ccxt/async_support/krakenfutures.py +26 -0
  69. ccxt/async_support/kucoin.py +3 -1
  70. ccxt/async_support/kucoinfutures.py +5 -3
  71. ccxt/async_support/kuna.py +1 -1
  72. ccxt/async_support/latoken.py +6 -0
  73. ccxt/async_support/lbank.py +1 -1
  74. ccxt/async_support/luno.py +3 -0
  75. ccxt/async_support/lykke.py +6 -1
  76. ccxt/async_support/mercado.py +4 -1
  77. ccxt/async_support/mexc.py +110 -4
  78. ccxt/async_support/ndax.py +5 -1
  79. ccxt/async_support/novadax.py +5 -1
  80. ccxt/async_support/okcoin.py +1 -1
  81. ccxt/async_support/okx.py +183 -4
  82. ccxt/async_support/onetrading.py +4 -1
  83. ccxt/async_support/p2b.py +3 -0
  84. ccxt/async_support/phemex.py +1 -1
  85. ccxt/async_support/poloniex.py +1 -1
  86. ccxt/async_support/probit.py +4 -1
  87. ccxt/async_support/timex.py +3 -0
  88. ccxt/async_support/tokocrypto.py +1 -1
  89. ccxt/async_support/tradeogre.py +3 -0
  90. ccxt/async_support/upbit.py +1 -1
  91. ccxt/async_support/wavesexchange.py +4 -1
  92. ccxt/async_support/wazirx.py +3 -0
  93. ccxt/async_support/whitebit.py +38 -1
  94. ccxt/async_support/woo.py +30 -1
  95. ccxt/async_support/yobit.py +4 -1
  96. ccxt/async_support/zaif.py +1 -1
  97. ccxt/async_support/zonda.py +1 -1
  98. ccxt/base/exchange.py +30 -1
  99. ccxt/bigone.py +1 -1
  100. ccxt/binance.py +7 -3
  101. ccxt/bingx.py +43 -1
  102. ccxt/bitbank.py +4 -1
  103. ccxt/bitfinex.py +1 -1
  104. ccxt/bitfinex2.py +1 -1
  105. ccxt/bitflyer.py +1 -1
  106. ccxt/bitget.py +70 -4
  107. ccxt/bithumb.py +5 -1
  108. ccxt/bitmart.py +1 -1
  109. ccxt/bitmex.py +25 -1
  110. ccxt/bitopro.py +6 -1
  111. ccxt/bitrue.py +1 -1
  112. ccxt/bitso.py +4 -1
  113. ccxt/bitstamp.py +4 -1
  114. ccxt/bitteam.py +4 -0
  115. ccxt/bitvavo.py +4 -1
  116. ccxt/bl3p.py +3 -0
  117. ccxt/blockchaincom.py +1 -1
  118. ccxt/btcalpha.py +3 -0
  119. ccxt/btcbox.py +3 -0
  120. ccxt/btcmarkets.py +4 -1
  121. ccxt/btcturk.py +3 -0
  122. ccxt/bybit.py +196 -14
  123. ccxt/cex.py +6 -0
  124. ccxt/coinbase.py +98 -22
  125. ccxt/coinbaseinternational.py +3 -1
  126. ccxt/coinbasepro.py +7 -1
  127. ccxt/coincheck.py +3 -0
  128. ccxt/coinex.py +180 -79
  129. ccxt/coinlist.py +5 -1
  130. ccxt/coinmate.py +4 -1
  131. ccxt/coinone.py +3 -0
  132. ccxt/coinsph.py +5 -1
  133. ccxt/coinspot.py +3 -0
  134. ccxt/cryptocom.py +33 -2
  135. ccxt/delta.py +2 -2
  136. ccxt/deribit.py +1 -1
  137. ccxt/digifinex.py +3 -3
  138. ccxt/exmo.py +8 -3
  139. ccxt/gate.py +112 -24
  140. ccxt/gemini.py +1 -1
  141. ccxt/hitbtc.py +7 -6
  142. ccxt/hollaex.py +1 -1
  143. ccxt/htx.py +29 -1
  144. ccxt/huobijp.py +1 -1
  145. ccxt/hyperliquid.py +39 -2
  146. ccxt/idex.py +4 -1
  147. ccxt/independentreserve.py +3 -0
  148. ccxt/indodax.py +4 -1
  149. ccxt/kraken.py +28 -1
  150. ccxt/krakenfutures.py +26 -0
  151. ccxt/kucoin.py +3 -1
  152. ccxt/kucoinfutures.py +5 -3
  153. ccxt/kuna.py +1 -1
  154. ccxt/latoken.py +6 -0
  155. ccxt/lbank.py +1 -1
  156. ccxt/luno.py +3 -0
  157. ccxt/lykke.py +6 -1
  158. ccxt/mercado.py +4 -1
  159. ccxt/mexc.py +110 -4
  160. ccxt/ndax.py +5 -1
  161. ccxt/novadax.py +5 -1
  162. ccxt/okcoin.py +1 -1
  163. ccxt/okx.py +183 -4
  164. ccxt/onetrading.py +4 -1
  165. ccxt/p2b.py +3 -0
  166. ccxt/phemex.py +1 -1
  167. ccxt/poloniex.py +1 -1
  168. ccxt/pro/__init__.py +1 -1
  169. ccxt/pro/bitget.py +1 -1
  170. ccxt/pro/bybit.py +1 -1
  171. ccxt/pro/coinbase.py +28 -28
  172. ccxt/probit.py +4 -1
  173. ccxt/test/test_async.py +2 -0
  174. ccxt/test/test_sync.py +2 -0
  175. ccxt/timex.py +3 -0
  176. ccxt/tokocrypto.py +1 -1
  177. ccxt/tradeogre.py +3 -0
  178. ccxt/upbit.py +1 -1
  179. ccxt/wavesexchange.py +4 -1
  180. ccxt/wazirx.py +3 -0
  181. ccxt/whitebit.py +38 -1
  182. ccxt/woo.py +30 -1
  183. ccxt/yobit.py +4 -1
  184. ccxt/zaif.py +1 -1
  185. ccxt/zonda.py +1 -1
  186. {ccxt-4.3.5.dist-info → ccxt-4.3.7.dist-info}/METADATA +4 -4
  187. {ccxt-4.3.5.dist-info → ccxt-4.3.7.dist-info}/RECORD +189 -189
  188. {ccxt-4.3.5.dist-info → ccxt-4.3.7.dist-info}/WHEEL +0 -0
  189. {ccxt-4.3.5.dist-info → ccxt-4.3.7.dist-info}/top_level.txt +0 -0
@@ -213,6 +213,11 @@ class coinbase(Exchange, ImplicitAPI):
213
213
  'public': {
214
214
  'get': {
215
215
  'brokerage/time': 3,
216
+ 'brokerage/market/product_book': 3,
217
+ 'brokerage/market/products': 3,
218
+ 'brokerage/market/products/{product_id}': 3,
219
+ 'brokerage/market/products/{product_id}/candles': 3,
220
+ 'brokerage/market/products/{product_id}/ticker': 3,
216
221
  },
217
222
  },
218
223
  'private': {
@@ -1060,7 +1065,7 @@ class coinbase(Exchange, ImplicitAPI):
1060
1065
 
1061
1066
  async def fetch_markets(self, params={}) -> List[Market]:
1062
1067
  """
1063
- :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getproducts
1068
+ :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getpublicproducts
1064
1069
  :see: https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-currencies#get-fiat-currencies
1065
1070
  :see: https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-exchange-rates#get-exchange-rates
1066
1071
  retrieves data on all markets for coinbase
@@ -1143,19 +1148,89 @@ class coinbase(Exchange, ImplicitAPI):
1143
1148
 
1144
1149
  async def fetch_markets_v3(self, params={}):
1145
1150
  spotUnresolvedPromises = [
1146
- self.v3PrivateGetBrokerageProducts(params),
1147
- self.v3PrivateGetBrokerageTransactionSummary(params),
1151
+ self.v3PublicGetBrokerageMarketProducts(params),
1152
+ #
1153
+ # {
1154
+ # products: [
1155
+ # {
1156
+ # product_id: 'BTC-USD',
1157
+ # price: '67060',
1158
+ # price_percentage_change_24h: '3.30054960636883',
1159
+ # volume_24h: '10967.87426597',
1160
+ # volume_percentage_change_24h: '141.73048325503036',
1161
+ # base_increment: '0.00000001',
1162
+ # quote_increment: '0.01',
1163
+ # quote_min_size: '1',
1164
+ # quote_max_size: '150000000',
1165
+ # base_min_size: '0.00000001',
1166
+ # base_max_size: '3400',
1167
+ # base_name: 'Bitcoin',
1168
+ # quote_name: 'US Dollar',
1169
+ # watched: False,
1170
+ # is_disabled: False,
1171
+ # new: False,
1172
+ # status: 'online',
1173
+ # cancel_only: False,
1174
+ # limit_only: False,
1175
+ # post_only: False,
1176
+ # trading_disabled: False,
1177
+ # auction_mode: False,
1178
+ # product_type: 'SPOT',
1179
+ # quote_currency_id: 'USD',
1180
+ # base_currency_id: 'BTC',
1181
+ # fcm_trading_session_details: null,
1182
+ # mid_market_price: '',
1183
+ # alias: '',
1184
+ # alias_to: ['BTC-USDC'],
1185
+ # base_display_symbol: 'BTC',
1186
+ # quote_display_symbol: 'USD',
1187
+ # view_only: False,
1188
+ # price_increment: '0.01',
1189
+ # display_name: 'BTC-USD',
1190
+ # product_venue: 'CBE'
1191
+ # },
1192
+ # ...
1193
+ # ],
1194
+ # num_products: '646'
1195
+ # }
1196
+ #
1148
1197
  ]
1198
+ if self.check_required_credentials(False):
1199
+ spotUnresolvedPromises.append(self.v3PrivateGetBrokerageTransactionSummary(params))
1200
+ #
1201
+ # {
1202
+ # total_volume: '9.995989116664404',
1203
+ # total_fees: '0.07996791093331522',
1204
+ # fee_tier: {
1205
+ # pricing_tier: 'Advanced 1',
1206
+ # usd_from: '0',
1207
+ # usd_to: '1000',
1208
+ # taker_fee_rate: '0.008',
1209
+ # maker_fee_rate: '0.006',
1210
+ # aop_from: '',
1211
+ # aop_to: ''
1212
+ # },
1213
+ # margin_rate: null,
1214
+ # goods_and_services_tax: null,
1215
+ # advanced_trade_only_volume: '9.995989116664404',
1216
+ # advanced_trade_only_fees: '0.07996791093331522',
1217
+ # coinbase_pro_volume: '0',
1218
+ # coinbase_pro_fees: '0',
1219
+ # total_balance: '',
1220
+ # has_promo_fee: False
1221
+ # }
1222
+ #
1149
1223
  unresolvedContractPromises = []
1150
1224
  try:
1151
1225
  unresolvedContractPromises = [
1152
- self.v3PrivateGetBrokerageProducts(self.extend(params, {'product_type': 'FUTURE'})),
1153
- self.v3PrivateGetBrokerageProducts(self.extend(params, {'product_type': 'FUTURE', 'contract_expiry_type': 'PERPETUAL'})),
1154
- self.v3PrivateGetBrokerageTransactionSummary(self.extend(params, {'product_type': 'FUTURE'})),
1155
- self.v3PrivateGetBrokerageTransactionSummary(self.extend(params, {'product_type': 'FUTURE', 'contract_expiry_type': 'PERPETUAL'})),
1226
+ self.v3PublicGetBrokerageMarketProducts(self.extend(params, {'product_type': 'FUTURE'})),
1227
+ self.v3PublicGetBrokerageMarketProducts(self.extend(params, {'product_type': 'FUTURE', 'contract_expiry_type': 'PERPETUAL'})),
1156
1228
  ]
1229
+ if self.check_required_credentials(False):
1230
+ unresolvedContractPromises.append(self.extend(params, {'product_type': 'FUTURE'}))
1231
+ unresolvedContractPromises.append(self.extend(params, {'product_type': 'FUTURE', 'contract_expiry_type': 'PERPETUAL'}))
1157
1232
  except Exception as e:
1158
- unresolvedContractPromises = [] # the sync version of ccxt won't have the promise.all line so the request is made here
1233
+ unresolvedContractPromises = [] # the sync version of ccxt won't have the promise.all line so the request is made here. Some users can't access perpetual products
1159
1234
  promises = await asyncio.gather(*spotUnresolvedPromises)
1160
1235
  contractPromises = None
1161
1236
  try:
@@ -1418,6 +1493,7 @@ class coinbase(Exchange, ImplicitAPI):
1418
1493
  contractSize = self.safe_number(futureProductDetails, 'contract_size')
1419
1494
  contractExpire = self.safe_string(futureProductDetails, 'contract_expiry')
1420
1495
  expireTimestamp = self.parse8601(contractExpire)
1496
+ expireDateTime = self.iso8601(expireTimestamp)
1421
1497
  isSwap = (contractExpiryType == 'PERPETUAL')
1422
1498
  baseId = self.safe_string(futureProductDetails, 'contract_root_unit')
1423
1499
  quoteId = self.safe_string(market, 'quote_currency_id')
@@ -1459,7 +1535,7 @@ class coinbase(Exchange, ImplicitAPI):
1459
1535
  'maker': maker,
1460
1536
  'contractSize': contractSize,
1461
1537
  'expiry': expireTimestamp,
1462
- 'expiryDatetime': contractExpire,
1538
+ 'expiryDatetime': expireDateTime,
1463
1539
  'strike': None,
1464
1540
  'optionType': None,
1465
1541
  'precision': {
@@ -1674,7 +1750,7 @@ class coinbase(Exchange, ImplicitAPI):
1674
1750
  request = {}
1675
1751
  if symbols is not None:
1676
1752
  request['product_ids'] = self.market_ids(symbols)
1677
- response = await self.v3PrivateGetBrokerageProducts(self.extend(request, params))
1753
+ response = await self.v3PublicGetBrokerageMarketProducts(self.extend(request, params))
1678
1754
  #
1679
1755
  # {
1680
1756
  # "products": [
@@ -1773,7 +1849,7 @@ class coinbase(Exchange, ImplicitAPI):
1773
1849
  'product_id': market['id'],
1774
1850
  'limit': 1,
1775
1851
  }
1776
- response = await self.v3PrivateGetBrokerageProductsProductIdTicker(self.extend(request, params))
1852
+ response = await self.v3PublicGetBrokerageMarketProductsProductIdTicker(self.extend(request, params))
1777
1853
  #
1778
1854
  # {
1779
1855
  # "trades": [
@@ -3212,7 +3288,7 @@ class coinbase(Exchange, ImplicitAPI):
3212
3288
  async def fetch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
3213
3289
  """
3214
3290
  fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
3215
- :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getcandles
3291
+ :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getpubliccandles
3216
3292
  :param str symbol: unified symbol of the market to fetch OHLCV data for
3217
3293
  :param str timeframe: the length of time each candle represents
3218
3294
  :param int [since]: timestamp in ms of the earliest candle to fetch
@@ -3245,12 +3321,12 @@ class coinbase(Exchange, ImplicitAPI):
3245
3321
  now = str(self.seconds())
3246
3322
  sinceString = Precise.string_sub(now, str(requestedDuration))
3247
3323
  request['start'] = sinceString
3248
- endString = self.number_to_string(until)
3249
- if until is None:
3324
+ if until is not None:
3325
+ request['end'] = self.number_to_string(self.parse_to_int(until / 1000))
3326
+ else:
3250
3327
  # 300 candles max
3251
- endString = Precise.string_add(sinceString, str(requestedDuration))
3252
- request['end'] = endString
3253
- response = await self.v3PrivateGetBrokerageProductsProductIdCandles(self.extend(request, params))
3328
+ request['end'] = Precise.string_add(sinceString, str(requestedDuration))
3329
+ response = await self.v3PublicGetBrokerageMarketProductsProductIdCandles(self.extend(request, params))
3254
3330
  #
3255
3331
  # {
3256
3332
  # "candles": [
@@ -3293,7 +3369,7 @@ class coinbase(Exchange, ImplicitAPI):
3293
3369
  async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
3294
3370
  """
3295
3371
  get the list of most recent trades for a particular symbol
3296
- :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getmarkettrades
3372
+ :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getpublicmarkettrades
3297
3373
  :param str symbol: unified market symbol of the trades
3298
3374
  :param int [since]: not used by coinbase fetchTrades
3299
3375
  :param int [limit]: the maximum number of trade structures to fetch
@@ -3315,7 +3391,7 @@ class coinbase(Exchange, ImplicitAPI):
3315
3391
  request['end'] = self.number_to_string(self.parse_to_int(until / 1000))
3316
3392
  elif since is not None:
3317
3393
  raise ArgumentsRequired(self.id + ' fetchTrades() requires a `until` parameter when you use `since` argument')
3318
- response = await self.v3PrivateGetBrokerageProductsProductIdTicker(self.extend(request, params))
3394
+ response = await self.v3PublicGetBrokerageMarketProductsProductIdTicker(self.extend(request, params))
3319
3395
  #
3320
3396
  # {
3321
3397
  # "trades": [
@@ -3401,7 +3477,7 @@ class coinbase(Exchange, ImplicitAPI):
3401
3477
  async def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
3402
3478
  """
3403
3479
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
3404
- :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getproductbook
3480
+ :see: https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getpublicproductbook
3405
3481
  :param str symbol: unified symbol of the market to fetch the order book for
3406
3482
  :param int [limit]: the maximum amount of order book entries to return
3407
3483
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -3414,7 +3490,7 @@ class coinbase(Exchange, ImplicitAPI):
3414
3490
  }
3415
3491
  if limit is not None:
3416
3492
  request['limit'] = limit
3417
- response = await self.v3PrivateGetBrokerageProductBook(self.extend(request, params))
3493
+ response = await self.v3PublicGetBrokerageMarketProductBook(self.extend(request, params))
3418
3494
  #
3419
3495
  # {
3420
3496
  # "pricebook": {
@@ -3479,7 +3555,7 @@ class coinbase(Exchange, ImplicitAPI):
3479
3555
  tickers = self.safe_list(response, 'pricebooks', [])
3480
3556
  return self.parse_tickers(tickers, symbols)
3481
3557
 
3482
- async def withdraw(self, code: str, amount: float, address, tag=None, params={}):
3558
+ async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
3483
3559
  """
3484
3560
  make a withdrawal
3485
3561
  :see: https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-transactions#send-money
@@ -99,8 +99,10 @@ class coinbaseinternational(Exchange, ImplicitAPI):
99
99
  'fetchOrderBook': False,
100
100
  'fetchOrders': False,
101
101
  'fetchPosition': True,
102
+ 'fetchPositionHistory': False,
102
103
  'fetchPositionMode': False,
103
104
  'fetchPositions': True,
105
+ 'fetchPositionsHistory': False,
104
106
  'fetchPositionsRisk': False,
105
107
  'fetchPremiumIndexOHLCV': False,
106
108
  'fetchTicker': True,
@@ -1771,7 +1773,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
1771
1773
  trades = self.safe_list(response, 'results', [])
1772
1774
  return self.parse_trades(trades, market, since, limit)
1773
1775
 
1774
- async def withdraw(self, code: str, amount: float, address, tag=None, params={}):
1776
+ async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
1775
1777
  """
1776
1778
  make a withdrawal
1777
1779
  :see: https://docs.cloud.coinbase.com/intx/reference/withdraw
@@ -64,7 +64,13 @@ class coinbasepro(Exchange, ImplicitAPI):
64
64
  'fetchOrderBook': True,
65
65
  'fetchOrders': True,
66
66
  'fetchOrderTrades': True,
67
+ 'fetchPosition': False,
68
+ 'fetchPositionHistory': False,
67
69
  'fetchPositionMode': False,
70
+ 'fetchPositions': False,
71
+ 'fetchPositionsForSymbol': False,
72
+ 'fetchPositionsHistory': False,
73
+ 'fetchPositionsRisk': False,
68
74
  'fetchTicker': True,
69
75
  'fetchTickers': True,
70
76
  'fetchTime': True,
@@ -1274,7 +1280,7 @@ class coinbasepro(Exchange, ImplicitAPI):
1274
1280
  async def fetch_payment_methods(self, params={}):
1275
1281
  return await self.privateGetPaymentMethods(params)
1276
1282
 
1277
- async def withdraw(self, code: str, amount: float, address, tag=None, params={}):
1283
+ async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
1278
1284
  """
1279
1285
  make a withdrawal
1280
1286
  :see: https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_postwithdrawpaymentmethod
@@ -56,8 +56,11 @@ class coincheck(Exchange, ImplicitAPI):
56
56
  'fetchOpenOrders': True,
57
57
  'fetchOrderBook': True,
58
58
  'fetchPosition': False,
59
+ 'fetchPositionHistory': False,
59
60
  'fetchPositionMode': False,
60
61
  'fetchPositions': False,
62
+ 'fetchPositionsForSymbol': False,
63
+ 'fetchPositionsHistory': False,
61
64
  'fetchPositionsRisk': False,
62
65
  'fetchPremiumIndexOHLCV': False,
63
66
  'fetchTicker': True,