ccxt 4.0.75__py2.py3-none-any.whl → 4.0.77__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 (243) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/bingx.py +2 -0
  3. ccxt/abstract/coinsph.py +5 -0
  4. ccxt/abstract/gate.py +24 -0
  5. ccxt/abstract/gateio.py +24 -0
  6. ccxt/ace.py +2 -2
  7. ccxt/alpaca.py +1 -1
  8. ccxt/ascendex.py +3 -3
  9. ccxt/async_support/__init__.py +1 -1
  10. ccxt/async_support/ace.py +2 -2
  11. ccxt/async_support/alpaca.py +1 -1
  12. ccxt/async_support/ascendex.py +3 -3
  13. ccxt/async_support/base/exchange.py +3 -3
  14. ccxt/async_support/bigone.py +2 -2
  15. ccxt/async_support/binance.py +5 -5
  16. ccxt/async_support/bingx.py +72 -21
  17. ccxt/async_support/bit2c.py +2 -2
  18. ccxt/async_support/bitbank.py +2 -2
  19. ccxt/async_support/bitbns.py +2 -2
  20. ccxt/async_support/bitfinex.py +2 -2
  21. ccxt/async_support/bitfinex2.py +4 -4
  22. ccxt/async_support/bitflyer.py +2 -2
  23. ccxt/async_support/bitforex.py +2 -2
  24. ccxt/async_support/bitget.py +5 -5
  25. ccxt/async_support/bithumb.py +2 -2
  26. ccxt/async_support/bitmart.py +2 -2
  27. ccxt/async_support/bitmex.py +5 -5
  28. ccxt/async_support/bitopro.py +3 -3
  29. ccxt/async_support/bitpanda.py +2 -2
  30. ccxt/async_support/bitrue.py +3 -3
  31. ccxt/async_support/bitso.py +2 -2
  32. ccxt/async_support/bitstamp.py +2 -2
  33. ccxt/async_support/bitstamp1.py +2 -2
  34. ccxt/async_support/bittrex.py +3 -3
  35. ccxt/async_support/bitvavo.py +3 -3
  36. ccxt/async_support/bkex.py +4 -4
  37. ccxt/async_support/bl3p.py +2 -2
  38. ccxt/async_support/blockchaincom.py +1 -1
  39. ccxt/async_support/btcalpha.py +2 -2
  40. ccxt/async_support/btcbox.py +2 -2
  41. ccxt/async_support/btcmarkets.py +2 -2
  42. ccxt/async_support/btctradeua.py +2 -2
  43. ccxt/async_support/btcturk.py +2 -2
  44. ccxt/async_support/bybit.py +6 -6
  45. ccxt/async_support/cex.py +2 -2
  46. ccxt/async_support/coinbase.py +3 -3
  47. ccxt/async_support/coinbasepro.py +2 -2
  48. ccxt/async_support/coincheck.py +2 -2
  49. ccxt/async_support/coinex.py +6 -6
  50. ccxt/async_support/coinfalcon.py +2 -2
  51. ccxt/async_support/coinmate.py +2 -2
  52. ccxt/async_support/coinone.py +2 -2
  53. ccxt/async_support/coinsph.py +7 -2
  54. ccxt/async_support/coinspot.py +2 -2
  55. ccxt/async_support/cryptocom.py +5 -5
  56. ccxt/async_support/currencycom.py +2 -2
  57. ccxt/async_support/delta.py +2 -2
  58. ccxt/async_support/deribit.py +3 -3
  59. ccxt/async_support/digifinex.py +4 -4
  60. ccxt/async_support/exmo.py +2 -2
  61. ccxt/async_support/gate.py +46 -4
  62. ccxt/async_support/gemini.py +3 -3
  63. ccxt/async_support/hitbtc.py +4 -4
  64. ccxt/async_support/hollaex.py +3 -3
  65. ccxt/async_support/huobi.py +5 -5
  66. ccxt/async_support/huobijp.py +2 -2
  67. ccxt/async_support/idex.py +2 -2
  68. ccxt/async_support/independentreserve.py +2 -2
  69. ccxt/async_support/indodax.py +2 -2
  70. ccxt/async_support/kraken.py +2 -2
  71. ccxt/async_support/kucoin.py +4 -4
  72. ccxt/async_support/kucoinfutures.py +5 -5
  73. ccxt/async_support/kuna.py +2 -2
  74. ccxt/async_support/latoken.py +2 -2
  75. ccxt/async_support/lbank.py +2 -2
  76. ccxt/async_support/lbank2.py +2 -2
  77. ccxt/async_support/luno.py +2 -2
  78. ccxt/async_support/lykke.py +2 -2
  79. ccxt/async_support/mercado.py +2 -2
  80. ccxt/async_support/mexc.py +6 -3
  81. ccxt/async_support/ndax.py +2 -2
  82. ccxt/async_support/novadax.py +2 -2
  83. ccxt/async_support/oceanex.py +2 -2
  84. ccxt/async_support/okcoin.py +2 -2
  85. ccxt/async_support/okx.py +4 -4
  86. ccxt/async_support/paymium.py +2 -2
  87. ccxt/async_support/phemex.py +2 -2
  88. ccxt/async_support/poloniex.py +149 -68
  89. ccxt/async_support/poloniexfutures.py +2 -2
  90. ccxt/async_support/probit.py +2 -2
  91. ccxt/async_support/tidex.py +2 -2
  92. ccxt/async_support/timex.py +2 -2
  93. ccxt/async_support/tokocrypto.py +2 -2
  94. ccxt/async_support/upbit.py +2 -2
  95. ccxt/async_support/wavesexchange.py +3 -3
  96. ccxt/async_support/wazirx.py +2 -2
  97. ccxt/async_support/whitebit.py +4 -3
  98. ccxt/async_support/woo.py +2 -2
  99. ccxt/async_support/yobit.py +2 -2
  100. ccxt/async_support/zaif.py +2 -2
  101. ccxt/async_support/zonda.py +2 -2
  102. ccxt/base/exchange.py +3 -3
  103. ccxt/bigone.py +2 -2
  104. ccxt/binance.py +5 -5
  105. ccxt/bingx.py +72 -21
  106. ccxt/bit2c.py +2 -2
  107. ccxt/bitbank.py +2 -2
  108. ccxt/bitbns.py +2 -2
  109. ccxt/bitfinex.py +2 -2
  110. ccxt/bitfinex2.py +4 -4
  111. ccxt/bitflyer.py +2 -2
  112. ccxt/bitforex.py +2 -2
  113. ccxt/bitget.py +5 -5
  114. ccxt/bithumb.py +2 -2
  115. ccxt/bitmart.py +2 -2
  116. ccxt/bitmex.py +5 -5
  117. ccxt/bitopro.py +3 -3
  118. ccxt/bitpanda.py +2 -2
  119. ccxt/bitrue.py +3 -3
  120. ccxt/bitso.py +2 -2
  121. ccxt/bitstamp.py +2 -2
  122. ccxt/bitstamp1.py +2 -2
  123. ccxt/bittrex.py +3 -3
  124. ccxt/bitvavo.py +3 -3
  125. ccxt/bkex.py +4 -4
  126. ccxt/bl3p.py +2 -2
  127. ccxt/blockchaincom.py +1 -1
  128. ccxt/btcalpha.py +2 -2
  129. ccxt/btcbox.py +2 -2
  130. ccxt/btcmarkets.py +2 -2
  131. ccxt/btctradeua.py +2 -2
  132. ccxt/btcturk.py +2 -2
  133. ccxt/bybit.py +6 -6
  134. ccxt/cex.py +2 -2
  135. ccxt/coinbase.py +3 -3
  136. ccxt/coinbasepro.py +2 -2
  137. ccxt/coincheck.py +2 -2
  138. ccxt/coinex.py +6 -6
  139. ccxt/coinfalcon.py +2 -2
  140. ccxt/coinmate.py +2 -2
  141. ccxt/coinone.py +2 -2
  142. ccxt/coinsph.py +7 -2
  143. ccxt/coinspot.py +2 -2
  144. ccxt/cryptocom.py +5 -5
  145. ccxt/currencycom.py +2 -2
  146. ccxt/delta.py +2 -2
  147. ccxt/deribit.py +3 -3
  148. ccxt/digifinex.py +4 -4
  149. ccxt/exmo.py +2 -2
  150. ccxt/gate.py +46 -4
  151. ccxt/gemini.py +3 -3
  152. ccxt/hitbtc.py +4 -4
  153. ccxt/hollaex.py +3 -3
  154. ccxt/huobi.py +5 -5
  155. ccxt/huobijp.py +2 -2
  156. ccxt/idex.py +2 -2
  157. ccxt/independentreserve.py +2 -2
  158. ccxt/indodax.py +2 -2
  159. ccxt/kraken.py +2 -2
  160. ccxt/kucoin.py +4 -4
  161. ccxt/kucoinfutures.py +5 -5
  162. ccxt/kuna.py +2 -2
  163. ccxt/latoken.py +2 -2
  164. ccxt/lbank.py +2 -2
  165. ccxt/lbank2.py +2 -2
  166. ccxt/luno.py +2 -2
  167. ccxt/lykke.py +2 -2
  168. ccxt/mercado.py +2 -2
  169. ccxt/mexc.py +6 -3
  170. ccxt/ndax.py +2 -2
  171. ccxt/novadax.py +2 -2
  172. ccxt/oceanex.py +2 -2
  173. ccxt/okcoin.py +2 -2
  174. ccxt/okx.py +4 -4
  175. ccxt/paymium.py +2 -2
  176. ccxt/phemex.py +2 -2
  177. ccxt/poloniex.py +149 -68
  178. ccxt/poloniexfutures.py +2 -2
  179. ccxt/pro/__init__.py +1 -1
  180. ccxt/pro/ascendex.py +2 -2
  181. ccxt/pro/binance.py +6 -6
  182. ccxt/pro/bitfinex.py +1 -1
  183. ccxt/pro/bitfinex2.py +2 -2
  184. ccxt/pro/bitget.py +2 -2
  185. ccxt/pro/bitmart.py +1 -1
  186. ccxt/pro/bitmex.py +2 -2
  187. ccxt/pro/bitopro.py +2 -2
  188. ccxt/pro/bitpanda.py +6 -6
  189. ccxt/pro/bitrue.py +1 -1
  190. ccxt/pro/bitstamp.py +1 -1
  191. ccxt/pro/bittrex.py +2 -2
  192. ccxt/pro/bitvavo.py +1 -1
  193. ccxt/pro/blockchaincom.py +5 -5
  194. ccxt/pro/bybit.py +1 -1
  195. ccxt/pro/cex.py +4 -4
  196. ccxt/pro/coinbase.py +5 -5
  197. ccxt/pro/coinbasepro.py +1 -1
  198. ccxt/pro/coinex.py +2 -2
  199. ccxt/pro/cryptocom.py +3 -3
  200. ccxt/pro/currencycom.py +2 -2
  201. ccxt/pro/deribit.py +3 -3
  202. ccxt/pro/exmo.py +3 -3
  203. ccxt/pro/gate.py +2 -2
  204. ccxt/pro/gemini.py +1 -1
  205. ccxt/pro/hitbtc.py +1 -1
  206. ccxt/pro/hollaex.py +2 -2
  207. ccxt/pro/huobi.py +2 -2
  208. ccxt/pro/huobijp.py +1 -1
  209. ccxt/pro/idex.py +1 -1
  210. ccxt/pro/independentreserve.py +1 -1
  211. ccxt/pro/kraken.py +6 -6
  212. ccxt/pro/krakenfutures.py +5 -5
  213. ccxt/pro/kucoin.py +2 -2
  214. ccxt/pro/kucoinfutures.py +3 -2
  215. ccxt/pro/luno.py +1 -1
  216. ccxt/pro/mexc.py +6 -6
  217. ccxt/pro/ndax.py +1 -1
  218. ccxt/pro/okcoin.py +2 -2
  219. ccxt/pro/okx.py +10 -7
  220. ccxt/pro/phemex.py +2 -2
  221. ccxt/pro/poloniex.py +6 -6
  222. ccxt/pro/poloniexfutures.py +5 -5
  223. ccxt/pro/probit.py +6 -6
  224. ccxt/pro/upbit.py +1 -1
  225. ccxt/pro/wazirx.py +3 -3
  226. ccxt/pro/whitebit.py +2 -2
  227. ccxt/probit.py +2 -2
  228. ccxt/tidex.py +2 -2
  229. ccxt/timex.py +2 -2
  230. ccxt/tokocrypto.py +2 -2
  231. ccxt/upbit.py +2 -2
  232. ccxt/wavesexchange.py +3 -3
  233. ccxt/wazirx.py +2 -2
  234. ccxt/whitebit.py +4 -3
  235. ccxt/woo.py +2 -2
  236. ccxt/yobit.py +2 -2
  237. ccxt/zaif.py +2 -2
  238. ccxt/zonda.py +2 -2
  239. {ccxt-4.0.75.dist-info → ccxt-4.0.77.dist-info}/METADATA +4 -4
  240. ccxt-4.0.77.dist-info/RECORD +456 -0
  241. ccxt-4.0.75.dist-info/RECORD +0 -456
  242. {ccxt-4.0.75.dist-info → ccxt-4.0.77.dist-info}/WHEEL +0 -0
  243. {ccxt-4.0.75.dist-info → ccxt-4.0.77.dist-info}/top_level.txt +0 -0
@@ -43,9 +43,9 @@ class poloniex(Exchange, ImplicitAPI):
43
43
  'CORS': None,
44
44
  'spot': True,
45
45
  'margin': None, # has but not fully implemented
46
- 'swap': None, # has but not fully implemented
47
- 'future': None, # has but not fully implemented
48
- 'option': None,
46
+ 'swap': False,
47
+ 'future': False,
48
+ 'option': False,
49
49
  'cancelAllOrders': True,
50
50
  'cancelOrder': True,
51
51
  'createDepositAddress': True,
@@ -910,7 +910,7 @@ class poloniex(Exchange, ImplicitAPI):
910
910
  :param int [since]: timestamp in ms of the earliest trade to fetch
911
911
  :param int [limit]: the maximum amount of trades to fetch
912
912
  :param dict [params]: extra parameters specific to the poloniex api endpoint
913
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
913
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
914
914
  """
915
915
  await self.load_markets()
916
916
  market = self.market(symbol)
@@ -1080,6 +1080,7 @@ class poloniex(Exchange, ImplicitAPI):
1080
1080
  'currency': feeCurrencyCode,
1081
1081
  }
1082
1082
  clientOrderId = self.safe_string(order, 'clientOrderId')
1083
+ triggerPrice = self.safe_string_2(order, 'triggerPrice', 'stopPrice')
1083
1084
  return self.safe_order({
1084
1085
  'info': order,
1085
1086
  'id': id,
@@ -1094,8 +1095,8 @@ class poloniex(Exchange, ImplicitAPI):
1094
1095
  'postOnly': None,
1095
1096
  'side': side,
1096
1097
  'price': price,
1097
- 'stopPrice': None,
1098
- 'triggerPrice': None,
1098
+ 'stopPrice': triggerPrice,
1099
+ 'triggerPrice': triggerPrice,
1099
1100
  'cost': None,
1100
1101
  'average': self.safe_string(order, 'avgPrice'),
1101
1102
  'amount': amount,
@@ -1130,10 +1131,12 @@ class poloniex(Exchange, ImplicitAPI):
1130
1131
  """
1131
1132
  fetch all unfilled currently open orders
1132
1133
  see https://docs.poloniex.com/#authenticated-endpoints-orders-open-orders
1134
+ see https://docs.poloniex.com/#authenticated-endpoints-smart-orders-open-orders # trigger orders
1133
1135
  :param str symbol: unified market symbol
1134
1136
  :param int [since]: the earliest time in ms to fetch open orders for
1135
1137
  :param int [limit]: the maximum number of open orders structures to retrieve
1136
1138
  :param dict [params]: extra parameters specific to the poloniex api endpoint
1139
+ :param boolean [params.stop]: set True to fetch trigger orders instead of regular orders
1137
1140
  :returns Order[]: a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1138
1141
  """
1139
1142
  await self.load_markets()
@@ -1144,7 +1147,13 @@ class poloniex(Exchange, ImplicitAPI):
1144
1147
  request['symbol'] = market['id']
1145
1148
  if limit is not None:
1146
1149
  request['limit'] = limit
1147
- response = await self.privateGetOrders(self.extend(request, params))
1150
+ isTrigger = self.safe_value_2(params, 'trigger', 'stop')
1151
+ params = self.omit(params, ['trigger', 'stop'])
1152
+ response = None
1153
+ if isTrigger:
1154
+ response = await self.privateGetSmartorders(self.extend(request, params))
1155
+ else:
1156
+ response = await self.privateGetOrders(self.extend(request, params))
1148
1157
  #
1149
1158
  # [
1150
1159
  # {
@@ -1162,6 +1171,7 @@ class poloniex(Exchange, ImplicitAPI):
1162
1171
  # "amount" : "0",
1163
1172
  # "filledQuantity" : "0",
1164
1173
  # "filledAmount" : "0",
1174
+ # "stopPrice": "3750.00", # for trigger orders
1165
1175
  # "createTime" : 16xxxxxxxxx26,
1166
1176
  # "updateTime" : 16xxxxxxxxx36
1167
1177
  # }
@@ -1171,20 +1181,25 @@ class poloniex(Exchange, ImplicitAPI):
1171
1181
  return self.parse_orders(response, market, since, limit, extension)
1172
1182
 
1173
1183
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
1174
- """
1175
- create a trade order
1176
- see https://docs.poloniex.com/#authenticated-endpoints-orders-create-order
1177
- :param str symbol: unified symbol of the market to create an order in
1178
- :param str type: 'market' or 'limit'
1179
- :param str side: 'buy' or 'sell'
1180
- :param float amount: how much of currency you want to trade in units of base currency
1181
- :param float price: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1182
- :param dict [params]: extra parameters specific to the poloniex api endpoint
1183
- :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1184
- """
1185
- # if type == 'market':
1186
- # raise ExchangeError(self.id + ' createOrder() does not accept market orders')
1187
- # }
1184
+ #
1185
+ # @method
1186
+ # @name poloniex#createOrder
1187
+ # @description create a trade order
1188
+ # @see https://docs.poloniex.com/#authenticated-endpoints-orders-create-order
1189
+ # @see https://docs.poloniex.com/#authenticated-endpoints-smart-orders-create-order # trigger orders
1190
+ # @param {string} symbol unified symbol of the market to create an order in
1191
+ # @param {string} type 'market' or 'limit'
1192
+ # @param {string} side 'buy' or 'sell'
1193
+ # @param {float} amount how much of currency you want to trade in units of base currency
1194
+ # @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1195
+ # @param {object} [params] extra parameters specific to the poloniex api endpoint
1196
+ # <<<<<<< HEAD
1197
+ # @param {float} [params.triggerPrice] *spot only* The price at which a trigger order is triggered at
1198
+ # @returns {object} an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1199
+ # =====
1200
+ # @returns {object} an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1201
+ # >>>>>>> 1e1c747220aa06f7c710fc71e9b6658d1260c4d1
1202
+ #
1188
1203
  await self.load_markets()
1189
1204
  market = self.market(symbol)
1190
1205
  if not market['spot']:
@@ -1196,8 +1211,13 @@ class poloniex(Exchange, ImplicitAPI):
1196
1211
  # 'accountType': 'SPOT',
1197
1212
  # 'amount': amount,
1198
1213
  }
1199
- orderRequest = self.order_request(symbol, type, side, amount, request, price, params)
1200
- response = await self.privatePostOrders(self.extend(orderRequest[0], orderRequest[1]))
1214
+ triggerPrice = self.safe_number_2(params, 'stopPrice', 'triggerPrice')
1215
+ request, params = self.order_request(symbol, type, side, amount, request, price, params)
1216
+ response = None
1217
+ if triggerPrice is not None:
1218
+ response = await self.privatePostSmartorders(self.extend(request, params))
1219
+ else:
1220
+ response = await self.privatePostOrders(self.extend(request, params))
1201
1221
  #
1202
1222
  # {
1203
1223
  # "id" : "78923648051920896",
@@ -1214,9 +1234,13 @@ class poloniex(Exchange, ImplicitAPI):
1214
1234
  upperCaseType = type.upper()
1215
1235
  isMarket = upperCaseType == 'MARKET'
1216
1236
  isPostOnly = self.is_post_only(isMarket, upperCaseType == 'LIMIT_MAKER', params)
1217
- if isPostOnly:
1237
+ triggerPrice = self.safe_number_2(params, 'stopPrice', 'triggerPrice')
1238
+ params = self.omit(params, ['postOnly', 'triggerPrice', 'stopPrice'])
1239
+ if triggerPrice is not None:
1240
+ upperCaseType = 'STOP' if (price is None) else 'STOP_LIMIT'
1241
+ request['stopPrice'] = triggerPrice
1242
+ elif isPostOnly:
1218
1243
  upperCaseType = 'LIMIT_MAKER'
1219
- params = self.omit(params, 'postOnly')
1220
1244
  request['type'] = upperCaseType
1221
1245
  if isMarket:
1222
1246
  if side == 'buy':
@@ -1234,18 +1258,26 @@ class poloniex(Exchange, ImplicitAPI):
1234
1258
  return [request, params]
1235
1259
 
1236
1260
  async def edit_order(self, id: str, symbol, type, side, amount=None, price=None, params={}):
1237
- """
1238
- edit a trade order
1239
- see https://docs.poloniex.com/#authenticated-endpoints-orders-cancel-replace-order
1240
- :param str id: order id
1241
- :param str symbol: unified symbol of the market to create an order in
1242
- :param str type: 'market' or 'limit'
1243
- :param str side: 'buy' or 'sell'
1244
- :param float amount: how much of the currency you want to trade in units of the base currency
1245
- :param float price: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1246
- :param dict [params]: extra parameters specific to the poloniex api endpoint
1247
- :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1248
- """
1261
+ #
1262
+ # @method
1263
+ # @name poloniex#editOrder
1264
+ # @description edit a trade order
1265
+ # @see https://docs.poloniex.com/#authenticated-endpoints-orders-cancel-replace-order
1266
+ # @see https://docs.poloniex.com/#authenticated-endpoints-smart-orders-cancel-replace-order
1267
+ # @param {string} id order id
1268
+ # @param {string} symbol unified symbol of the market to create an order in
1269
+ # @param {string} type 'market' or 'limit'
1270
+ # @param {string} side 'buy' or 'sell'
1271
+ # @param {float} [amount] how much of the currency you want to trade in units of the base currency
1272
+ # @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1273
+ # @param {object} [params] extra parameters specific to the poloniex api endpoint
1274
+ # <<<<<<< HEAD
1275
+ # @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
1276
+ # @returns {object} an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1277
+ # =====
1278
+ # @returns {object} an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1279
+ # >>>>>>> 1e1c747220aa06f7c710fc71e9b6658d1260c4d1
1280
+ #
1249
1281
  await self.load_markets()
1250
1282
  market = self.market(symbol)
1251
1283
  if not market['spot']:
@@ -1254,8 +1286,13 @@ class poloniex(Exchange, ImplicitAPI):
1254
1286
  'id': id,
1255
1287
  # 'timeInForce': timeInForce,
1256
1288
  }
1257
- orderRequest = self.order_request(symbol, type, side, amount, request, price, params)
1258
- response = await self.privatePutOrdersId(self.extend(orderRequest[0], orderRequest[1]))
1289
+ triggerPrice = self.safe_number_2(params, 'stopPrice', 'triggerPrice')
1290
+ request, params = self.order_request(symbol, type, side, amount, request, price, params)
1291
+ response = None
1292
+ if triggerPrice is not None:
1293
+ response = await self.privatePutSmartordersId(self.extend(request, params))
1294
+ else:
1295
+ response = await self.privatePutOrdersId(self.extend(request, params))
1259
1296
  #
1260
1297
  # {
1261
1298
  # "id" : "78923648051920896",
@@ -1268,22 +1305,35 @@ class poloniex(Exchange, ImplicitAPI):
1268
1305
  return self.parse_order(response, market)
1269
1306
 
1270
1307
  async def cancel_order(self, id: str, symbol: Optional[str] = None, params={}):
1271
- """
1272
- cancels an open order
1273
- see https://docs.poloniex.com/#authenticated-endpoints-orders-cancel-order-by-id
1274
- :param str id: order id
1275
- :param str symbol: unified symbol of the market the order was made in
1276
- :param dict [params]: extra parameters specific to the poloniex api endpoint
1277
- :returns dict: An `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1278
- """
1308
+ #
1309
+ # @method
1310
+ # @name poloniex#cancelOrder
1311
+ # @description cancels an open order
1312
+ # @see https://docs.poloniex.com/#authenticated-endpoints-orders-cancel-order-by-id
1313
+ # @see https://docs.poloniex.com/#authenticated-endpoints-smart-orders-cancel-order-by-id # trigger orders
1314
+ # @param {string} id order id
1315
+ # @param {string} symbol unified symbol of the market the order was made in
1316
+ # @param {object} [params] extra parameters specific to the poloniex api endpoint
1317
+ # <<<<<<< HEAD
1318
+ # @param {boolean} [params.trigger] True if canceling a trigger order
1319
+ # @returns {object} An `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1320
+ # =====
1321
+ # @returns {object} An `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1322
+ # >>>>>>> 1e1c747220aa06f7c710fc71e9b6658d1260c4d1
1323
+ #
1279
1324
  await self.load_markets()
1280
1325
  request = {}
1281
1326
  clientOrderId = self.safe_value(params, 'clientOrderId')
1282
1327
  if clientOrderId is not None:
1283
1328
  id = clientOrderId
1284
1329
  request['id'] = id
1285
- params = self.omit(params, 'clientOrderId')
1286
- response = await self.privateDeleteOrdersId(self.extend(request, params))
1330
+ isTrigger = self.safe_value_2(params, 'trigger', 'stop')
1331
+ params = self.omit(params, ['clientOrderId', 'trigger', 'stop'])
1332
+ response = None
1333
+ if isTrigger:
1334
+ response = await self.privateDeleteSmartordersId(self.extend(request, params))
1335
+ else:
1336
+ response = await self.privateDeleteOrdersId(self.extend(request, params))
1287
1337
  #
1288
1338
  # {
1289
1339
  # "orderId":"210832697138888704",
@@ -1296,16 +1346,25 @@ class poloniex(Exchange, ImplicitAPI):
1296
1346
  return self.parse_order(response)
1297
1347
 
1298
1348
  async def cancel_all_orders(self, symbol: Optional[str] = None, params={}):
1299
- """
1300
- cancel all open orders
1301
- see https://docs.poloniex.com/#authenticated-endpoints-orders-cancel-all-orders
1302
- :param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
1303
- :param dict [params]: extra parameters specific to the poloniex api endpoint
1304
- :returns dict[]: a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1305
- """
1349
+ #
1350
+ # @method
1351
+ # @name poloniex#cancelAllOrders
1352
+ # @description cancel all open orders
1353
+ # @see https://docs.poloniex.com/#authenticated-endpoints-orders-cancel-all-orders
1354
+ # @see https://docs.poloniex.com/#authenticated-endpoints-smart-orders-cancel-all-orders # trigger orders
1355
+ # @param {string} symbol unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
1356
+ # @param {object} [params] extra parameters specific to the poloniex api endpoint
1357
+ # <<<<<<< HEAD
1358
+ # @param {boolean} [params.trigger] True if canceling trigger orders
1359
+ # @returns {object[]} a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1360
+ # =====
1361
+ # @returns {object[]} a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1362
+ # >>>>>>> 1e1c747220aa06f7c710fc71e9b6658d1260c4d1
1363
+ #
1306
1364
  await self.load_markets()
1307
1365
  request = {
1308
1366
  # 'accountTypes': 'SPOT',
1367
+ 'symbols': [],
1309
1368
  }
1310
1369
  market = None
1311
1370
  if symbol is not None:
@@ -1313,7 +1372,13 @@ class poloniex(Exchange, ImplicitAPI):
1313
1372
  request['symbols'] = [
1314
1373
  market['id'],
1315
1374
  ]
1316
- response = await self.privateDeleteOrders(self.extend(request, params))
1375
+ isTrigger = self.safe_value_2(params, 'trigger', 'stop')
1376
+ params = self.omit(params, ['trigger', 'stop'])
1377
+ response = None
1378
+ if isTrigger:
1379
+ response = await self.privateDeleteSmartorders(self.extend(request, params))
1380
+ else:
1381
+ response = await self.privateDeleteOrders(self.extend(request, params))
1317
1382
  #
1318
1383
  # [
1319
1384
  # {
@@ -1331,23 +1396,38 @@ class poloniex(Exchange, ImplicitAPI):
1331
1396
  # }
1332
1397
  # ]
1333
1398
  #
1334
- return response
1399
+ return self.parse_orders(response, market)
1335
1400
 
1336
1401
  async def fetch_order(self, id: str, symbol: Optional[str] = None, params={}):
1337
- """
1338
- fetch an order by it's id
1339
- see https://docs.poloniex.com/#authenticated-endpoints-orders-order-details
1340
- :param str id: order id
1341
- :param str symbol: unified market symbol, default is None
1342
- :param dict [params]: extra parameters specific to the poloniex api endpoint
1343
- :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1344
- """
1402
+ #
1403
+ # @method
1404
+ # @name poloniex#fetchOrder
1405
+ # @description fetch an order by it's id
1406
+ # @see https://docs.poloniex.com/#authenticated-endpoints-orders-order-details
1407
+ # @see https://docs.poloniex.com/#authenticated-endpoints-smart-orders-open-orders # trigger orders
1408
+ # @param {string} id order id
1409
+ # @param {string} symbol unified market symbol, default is None
1410
+ # @param {object} [params] extra parameters specific to the poloniex api endpoint
1411
+ # <<<<<<< HEAD
1412
+ # @param {boolean} [params.trigger] True if fetching a trigger order
1413
+ # @returns {object} an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1414
+ # =====
1415
+ # @returns {object} an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1416
+ # >>>>>>> 1e1c747220aa06f7c710fc71e9b6658d1260c4d1
1417
+ #
1345
1418
  await self.load_markets()
1346
1419
  id = str(id)
1347
1420
  request = {
1348
1421
  'id': id,
1349
1422
  }
1350
- response = await self.privateGetOrdersId(self.extend(request, params))
1423
+ isTrigger = self.safe_value_2(params, 'trigger', 'stop')
1424
+ params = self.omit(params, ['trigger', 'stop'])
1425
+ response = None
1426
+ if isTrigger:
1427
+ response = await self.privateGetSmartordersId(self.extend(request, params))
1428
+ response = self.safe_value(response, 0)
1429
+ else:
1430
+ response = await self.privateGetOrdersId(self.extend(request, params))
1351
1431
  #
1352
1432
  # {
1353
1433
  # "id": "21934611974062080",
@@ -1364,6 +1444,7 @@ class poloniex(Exchange, ImplicitAPI):
1364
1444
  # "amount": "0.00",
1365
1445
  # "filledQuantity": "0.00",
1366
1446
  # "filledAmount": "0.00",
1447
+ # "stopPrice": "3750.00", # for trigger orders
1367
1448
  # "createTime": 1646196019020,
1368
1449
  # "updateTime": 1646196019020
1369
1450
  # }
@@ -1441,7 +1522,7 @@ class poloniex(Exchange, ImplicitAPI):
1441
1522
  query for balance and get the amount of funds available for trading or funds locked in orders
1442
1523
  see https://docs.poloniex.com/#authenticated-endpoints-accounts-all-account-balances
1443
1524
  :param dict [params]: extra parameters specific to the poloniex api endpoint
1444
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
1525
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
1445
1526
  """
1446
1527
  await self.load_markets()
1447
1528
  request = {
@@ -635,7 +635,7 @@ class poloniexfutures(Exchange, ImplicitAPI):
635
635
  :param int [since]: timestamp in ms of the earliest trade to fetch
636
636
  :param int [limit]: the maximum amount of trades to fetch
637
637
  :param dict [params]: extra parameters specific to the poloniexfutures api endpoint
638
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
638
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
639
639
  """
640
640
  await self.load_markets()
641
641
  market = self.market(symbol)
@@ -746,7 +746,7 @@ class poloniexfutures(Exchange, ImplicitAPI):
746
746
  query for balance and get the amount of funds available for trading or funds locked in orders
747
747
  see https://futures-docs.poloniex.com/#get-account-overview
748
748
  :param dict [params]: extra parameters specific to the poloniexfutures api endpoint
749
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
749
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
750
750
  """
751
751
  await self.load_markets()
752
752
  currencyId = self.safe_string(params, 'currency')
@@ -533,7 +533,7 @@ class probit(Exchange, ImplicitAPI):
533
533
  see https://docs-en.probit.com/reference/balance
534
534
  query for balance and get the amount of funds available for trading or funds locked in orders
535
535
  :param dict [params]: extra parameters specific to the probit api endpoint
536
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
536
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
537
537
  """
538
538
  await self.load_markets()
539
539
  response = await self.privateGetBalance(params)
@@ -747,7 +747,7 @@ class probit(Exchange, ImplicitAPI):
747
747
  :param int [since]: timestamp in ms of the earliest trade to fetch
748
748
  :param int [limit]: the maximum amount of trades to fetch
749
749
  :param dict [params]: extra parameters specific to the probit api endpoint
750
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
750
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
751
751
  """
752
752
  await self.load_markets()
753
753
  market = self.market(symbol)
@@ -370,7 +370,7 @@ class tidex(Exchange, ImplicitAPI):
370
370
  """
371
371
  query for balance and get the amount of funds available for trading or funds locked in orders
372
372
  :param dict [params]: extra parameters specific to the tidex api endpoint
373
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
373
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
374
374
  """
375
375
  await self.load_markets()
376
376
  response = await self.privatePostGetInfoExt(params)
@@ -597,7 +597,7 @@ class tidex(Exchange, ImplicitAPI):
597
597
  :param int [since]: timestamp in ms of the earliest trade to fetch
598
598
  :param int [limit]: the maximum amount of trades to fetch
599
599
  :param dict [params]: extra parameters specific to the tidex api endpoint
600
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
600
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
601
601
  """
602
602
  await self.load_markets()
603
603
  market = self.market(symbol)
@@ -574,7 +574,7 @@ class timex(Exchange, ImplicitAPI):
574
574
  :param int [since]: timestamp in ms of the earliest trade to fetch
575
575
  :param int [limit]: the maximum amount of trades to fetch
576
576
  :param dict [params]: extra parameters specific to the timex api endpoint
577
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
577
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
578
578
  """
579
579
  await self.load_markets()
580
580
  market = self.market(symbol)
@@ -673,7 +673,7 @@ class timex(Exchange, ImplicitAPI):
673
673
  """
674
674
  query for balance and get the amount of funds available for trading or funds locked in orders
675
675
  :param dict [params]: extra parameters specific to the timex api endpoint
676
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
676
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
677
677
  """
678
678
  await self.load_markets()
679
679
  response = await self.tradingGetBalances(params)
@@ -994,7 +994,7 @@ class tokocrypto(Exchange, ImplicitAPI):
994
994
  :param int [since]: timestamp in ms of the earliest trade to fetch
995
995
  :param int [limit]: the maximum amount of trades to fetch
996
996
  :param dict [params]: extra parameters specific to the tokocrypto api endpoint
997
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
997
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
998
998
  """
999
999
  await self.load_markets()
1000
1000
  market = self.market(symbol)
@@ -1297,7 +1297,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1297
1297
  :param str [params.type]: 'future', 'delivery', 'savings', 'funding', or 'spot'
1298
1298
  :param str [params.marginMode]: 'cross' or 'isolated', for margin trading, uses self.options.defaultMarginMode if not passed, defaults to None/None/None
1299
1299
  :param str[]|None [params.symbols]: unified market symbols, only used in isolated margin mode
1300
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
1300
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
1301
1301
  """
1302
1302
  await self.load_markets()
1303
1303
  defaultType = self.safe_string_2(self.options, 'fetchBalance', 'defaultType', 'spot')
@@ -495,7 +495,7 @@ class upbit(Exchange, ImplicitAPI):
495
495
  see https://docs.upbit.com/reference/%EC%A0%84%EC%B2%B4-%EA%B3%84%EC%A2%8C-%EC%A1%B0%ED%9A%8C
496
496
  query for balance and get the amount of funds available for trading or funds locked in orders
497
497
  :param dict [params]: extra parameters specific to the upbit api endpoint
498
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
498
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
499
499
  """
500
500
  await self.load_markets()
501
501
  response = await self.privateGetAccounts(params)
@@ -795,7 +795,7 @@ class upbit(Exchange, ImplicitAPI):
795
795
  :param int [since]: timestamp in ms of the earliest trade to fetch
796
796
  :param int [limit]: the maximum amount of trades to fetch
797
797
  :param dict [params]: extra parameters specific to the upbit api endpoint
798
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
798
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
799
799
  """
800
800
  await self.load_markets()
801
801
  market = self.market(symbol)
@@ -1731,7 +1731,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1731
1731
  """
1732
1732
  query for balance and get the amount of funds available for trading or funds locked in orders
1733
1733
  :param dict [params]: extra parameters specific to the wavesexchange api endpoint
1734
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
1734
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
1735
1735
  """
1736
1736
  # makes a lot of different requests to get all the data
1737
1737
  # in particular:
@@ -1961,7 +1961,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1961
1961
  :param int [since]: timestamp in ms of the earliest trade to fetch
1962
1962
  :param int [limit]: the maximum amount of trades to fetch
1963
1963
  :param dict [params]: extra parameters specific to the wavesexchange api endpoint
1964
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
1964
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
1965
1965
  """
1966
1966
  await self.load_markets()
1967
1967
  market = self.market(symbol)
@@ -2201,7 +2201,7 @@ class wavesexchange(Exchange, ImplicitAPI):
2201
2201
  see https://docs.wx.network/en/api/gateways/withdraw/currencies
2202
2202
  :param str[]|None codes: list of unified currency codes
2203
2203
  :param dict [params]: extra parameters specific to the wavesexchange api endpoint
2204
- :returns dict: a list of `fee structures <https://docs.ccxt.com/en/latest/manual.html#fee-structure>`
2204
+ :returns dict: a list of `fee structures <https://github.com/ccxt/ccxt/wiki/Manual#fee-structure>`
2205
2205
  """
2206
2206
  await self.load_markets()
2207
2207
  data = []
@@ -429,7 +429,7 @@ class wazirx(Exchange, ImplicitAPI):
429
429
  :param int [since]: timestamp in ms of the earliest trade to fetch
430
430
  :param int [limit]: the maximum amount of trades to fetch
431
431
  :param dict [params]: extra parameters specific to the wazirx api endpoint
432
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
432
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
433
433
  """
434
434
  await self.load_markets()
435
435
  market = self.market(symbol)
@@ -593,7 +593,7 @@ class wazirx(Exchange, ImplicitAPI):
593
593
  see https://docs.wazirx.com/#fund-details-user_data
594
594
  query for balance and get the amount of funds available for trading or funds locked in orders
595
595
  :param dict [params]: extra parameters specific to the wazirx api endpoint
596
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
596
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
597
597
  """
598
598
  await self.load_markets()
599
599
  response = await self.privateGetFunds(params)
@@ -268,6 +268,7 @@ class whitebit(Exchange, ImplicitAPI):
268
268
  '422': OrderNotFound, # {"response":null,"status":422,"errors":{"orderId":["Finished order id 1295772653 not found on your account"]},"notification":null,"warning":"Finished order id 1295772653 not found on your account","_token":null}
269
269
  },
270
270
  'broad': {
271
+ 'This action is unauthorized': PermissionDenied, # {"code":2,"message":"This action is unauthorized. Enable your key in API settings"}
271
272
  'Given amount is less than min amount': InvalidOrder, # {"code":0,"message":"Validation failed","errors":{"amount":["Given amount is less than min amount 200000"],"total":["Total is less than 5.05"]}}
272
273
  'Total is less than': InvalidOrder, # {"code":0,"message":"Validation failed","errors":{"amount":["Given amount is less than min amount 200000"],"total":["Total is less than 5.05"]}}
273
274
  'fee must be no less than': InvalidOrder, # {"code":0,"message":"Validation failed","errors":{"amount":["Total amount + fee must be no less than 5.05505"]}}
@@ -847,7 +848,7 @@ class whitebit(Exchange, ImplicitAPI):
847
848
  :param int [since]: timestamp in ms of the earliest trade to fetch
848
849
  :param int [limit]: the maximum amount of trades to fetch
849
850
  :param dict [params]: extra parameters specific to the whitebit api endpoint
850
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
851
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
851
852
  """
852
853
  await self.load_markets()
853
854
  market = self.market(symbol)
@@ -876,7 +877,7 @@ class whitebit(Exchange, ImplicitAPI):
876
877
  :param int [since]: timestamp in ms of the earliest trade to fetch
877
878
  :param int [limit]: the maximum amount of trades to fetch
878
879
  :param dict [params]: extra parameters specific to the whitebit api endpoint
879
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
880
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
880
881
  """
881
882
  await self.load_markets()
882
883
  market = None
@@ -1220,7 +1221,7 @@ class whitebit(Exchange, ImplicitAPI):
1220
1221
  """
1221
1222
  query for balance and get the amount of funds available for trading or funds locked in orders
1222
1223
  :param dict [params]: extra parameters specific to the whitebit api endpoint
1223
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
1224
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
1224
1225
  """
1225
1226
  await self.load_markets()
1226
1227
  marketType, query = self.handle_market_type_and_params('fetchBalance', None, params)
ccxt/async_support/woo.py CHANGED
@@ -417,7 +417,7 @@ class woo(Exchange, ImplicitAPI):
417
417
  :param int [since]: timestamp in ms of the earliest trade to fetch
418
418
  :param int [limit]: the maximum amount of trades to fetch
419
419
  :param dict [params]: extra parameters specific to the woo api endpoint
420
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
420
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
421
421
  """
422
422
  if symbol is None:
423
423
  raise ArgumentsRequired(self.id + ' fetchTrades() requires a symbol argument')
@@ -1510,7 +1510,7 @@ class woo(Exchange, ImplicitAPI):
1510
1510
  query for balance and get the amount of funds available for trading or funds locked in orders
1511
1511
  see https://docs.woo.org/#get-current-holding-get-balance-new
1512
1512
  :param dict [params]: extra parameters specific to the woo api endpoint
1513
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
1513
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
1514
1514
  """
1515
1515
  await self.load_markets()
1516
1516
  response = await self.v3PrivateGetBalances(params)
@@ -316,7 +316,7 @@ class yobit(Exchange, ImplicitAPI):
316
316
  see https://yobit.net/en/api
317
317
  query for balance and get the amount of funds available for trading or funds locked in orders
318
318
  :param dict [params]: extra parameters specific to the yobit api endpoint
319
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
319
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
320
320
  """
321
321
  await self.load_markets()
322
322
  response = await self.privatePostGetInfo(params)
@@ -669,7 +669,7 @@ class yobit(Exchange, ImplicitAPI):
669
669
  :param int [since]: timestamp in ms of the earliest trade to fetch
670
670
  :param int [limit]: the maximum amount of trades to fetch
671
671
  :param dict [params]: extra parameters specific to the yobit api endpoint
672
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
672
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
673
673
  """
674
674
  await self.load_markets()
675
675
  market = self.market(symbol)
@@ -271,7 +271,7 @@ class zaif(Exchange, ImplicitAPI):
271
271
  see https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id10
272
272
  query for balance and get the amount of funds available for trading or funds locked in orders
273
273
  :param dict [params]: extra parameters specific to the zaif api endpoint
274
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
274
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
275
275
  """
276
276
  await self.load_markets()
277
277
  response = await self.privatePostGetInfo(params)
@@ -407,7 +407,7 @@ class zaif(Exchange, ImplicitAPI):
407
407
  :param int [since]: timestamp in ms of the earliest trade to fetch
408
408
  :param int [limit]: the maximum amount of trades to fetch
409
409
  :param dict [params]: extra parameters specific to the zaif api endpoint
410
- :returns Trade[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
410
+ :returns Trade[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
411
411
  """
412
412
  await self.load_markets()
413
413
  market = self.market(symbol)