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
ccxt/poloniex.py CHANGED
@@ -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
  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
  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 = 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 = self.privateGetSmartorders(self.extend(request, params))
1155
+ else:
1156
+ response = 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
  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
  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 = 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 = self.privatePostSmartorders(self.extend(request, params))
1219
+ else:
1220
+ response = 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
  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
  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 = 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 = self.privatePutSmartordersId(self.extend(request, params))
1294
+ else:
1295
+ response = 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
  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
  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 = 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 = self.privateDeleteSmartordersId(self.extend(request, params))
1335
+ else:
1336
+ response = 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
  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
  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 = 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 = self.privateDeleteSmartorders(self.extend(request, params))
1380
+ else:
1381
+ response = 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
  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
  self.load_markets()
1346
1419
  id = str(id)
1347
1420
  request = {
1348
1421
  'id': id,
1349
1422
  }
1350
- response = 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 = self.privateGetSmartordersId(self.extend(request, params))
1428
+ response = self.safe_value(response, 0)
1429
+ else:
1430
+ response = 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
  self.load_markets()
1447
1528
  request = {
ccxt/poloniexfutures.py CHANGED
@@ -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
  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
  self.load_markets()
752
752
  currencyId = self.safe_string(params, 'currency')
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.0.75'
7
+ __version__ = '4.0.77'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/ascendex.py CHANGED
@@ -143,7 +143,7 @@ class ascendex(ccxt.async_support.ascendex):
143
143
  :param int [since]: timestamp in ms of the earliest trade to fetch
144
144
  :param int [limit]: the maximum amount of trades to fetch
145
145
  :param dict [params]: extra parameters specific to the ascendex api endpoint
146
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
146
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
147
147
  """
148
148
  await self.load_markets()
149
149
  market = self.market(symbol)
@@ -334,7 +334,7 @@ class ascendex(ccxt.async_support.ascendex):
334
334
  """
335
335
  watch balance and get the amount of funds available for trading or funds locked in orders
336
336
  :param dict [params]: extra parameters specific to the ascendex api endpoint
337
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
337
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
338
338
  """
339
339
  await self.load_markets()
340
340
  type, query = self.handle_market_type_and_params('watchBalance', None, params)
ccxt/pro/binance.py CHANGED
@@ -391,7 +391,7 @@ class binance(ccxt.async_support.binance):
391
391
  :param int [since]: timestamp in ms of the earliest trade to fetch
392
392
  :param int [limit]: the maximum amount of trades to fetch
393
393
  :param dict [params]: extra parameters specific to the binance api endpoint
394
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
394
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
395
395
  """
396
396
  await self.load_markets()
397
397
  market = self.market(symbol)
@@ -1085,7 +1085,7 @@ class binance(ccxt.async_support.binance):
1085
1085
  :param str|None [params.type]: 'future', 'delivery', 'savings', 'funding', or 'spot'
1086
1086
  :param str|None [params.marginMode]: 'cross' or 'isolated', for margin trading, uses self.options.defaultMarginMode if not passed, defaults to None/None/None
1087
1087
  :param str[]|None [params.symbols]: unified market symbols, only used in isolated margin mode
1088
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
1088
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
1089
1089
  """
1090
1090
  await self.load_markets()
1091
1091
  url = self.urls['api']['ws']['ws']
@@ -1160,7 +1160,7 @@ class binance(ccxt.async_support.binance):
1160
1160
  """
1161
1161
  watch balance and get the amount of funds available for trading or funds locked in orders
1162
1162
  :param dict [params]: extra parameters specific to the binance api endpoint
1163
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
1163
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
1164
1164
  """
1165
1165
  await self.load_markets()
1166
1166
  await self.authenticate(params)
@@ -1309,7 +1309,7 @@ class binance(ccxt.async_support.binance):
1309
1309
  :param float|None [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1310
1310
  :param dict [params]: extra parameters specific to the binance api endpoint
1311
1311
  :param boolean params['test']: test order, default False
1312
- :returns dict: an `order structure <https://docs.ccxt.com/en/latest/manual.html#order-structure>`
1312
+ :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1313
1313
  """
1314
1314
  await self.load_markets()
1315
1315
  self.check_is_spot('createOrderWs', symbol, params)
@@ -1440,7 +1440,7 @@ class binance(ccxt.async_support.binance):
1440
1440
  :param float amount: how much of the currency you want to trade in units of the base currency
1441
1441
  :param float|None [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1442
1442
  :param dict [params]: extra parameters specific to the binance api endpoint
1443
- :returns dict: an `order structure <https://docs.ccxt.com/en/latest/manual.html#order-structure>`
1443
+ :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1444
1444
  """
1445
1445
  await self.load_markets()
1446
1446
  self.check_is_spot('editOrderWs', symbol, params)
@@ -1542,7 +1542,7 @@ class binance(ccxt.async_support.binance):
1542
1542
  :param str symbol: unified market symbol, default is None
1543
1543
  :param dict [params]: extra parameters specific to the binance api endpoint
1544
1544
  :param str|None [params.cancelRestrictions]: Supported values: ONLY_NEW - Cancel will succeed if the order status is NEW. ONLY_PARTIALLY_FILLED - Cancel will succeed if order status is PARTIALLY_FILLED.
1545
- :returns dict: an list of `order structures <https://docs.ccxt.com/en/latest/manual.html#order-structure>`
1545
+ :returns dict: an list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1546
1546
  """
1547
1547
  await self.load_markets()
1548
1548
  if symbol is None:
ccxt/pro/bitfinex.py CHANGED
@@ -65,7 +65,7 @@ class bitfinex(ccxt.async_support.bitfinex):
65
65
  :param int [since]: timestamp in ms of the earliest trade to fetch
66
66
  :param int [limit]: the maximum amount of trades to fetch
67
67
  :param dict [params]: extra parameters specific to the bitfinex api endpoint
68
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
68
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
69
69
  """
70
70
  await self.load_markets()
71
71
  symbol = self.symbol(symbol)
ccxt/pro/bitfinex2.py CHANGED
@@ -190,7 +190,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
190
190
  :param int [since]: timestamp in ms of the earliest trade to fetch
191
191
  :param int [limit]: the maximum amount of trades to fetch
192
192
  :param dict [params]: extra parameters specific to the bitfinex2 api endpoint
193
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
193
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
194
194
  """
195
195
  trades = await self.subscribe('trades', symbol, params)
196
196
  if self.newUpdates:
@@ -639,7 +639,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
639
639
  watch balance and get the amount of funds available for trading or funds locked in orders
640
640
  :param dict [params]: extra parameters specific to the bitfinex2 api endpoint
641
641
  :param str [params.type]: spot or contract if not provided self.options['defaultType'] is used
642
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
642
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
643
643
  """
644
644
  await self.load_markets()
645
645
  balanceType = self.safe_string(params, 'wallet', 'exchange') # exchange, margin
ccxt/pro/bitget.py CHANGED
@@ -456,7 +456,7 @@ class bitget(ccxt.async_support.bitget):
456
456
  :param int [since]: timestamp in ms of the earliest trade to fetch
457
457
  :param int [limit]: the maximum amount of trades to fetch
458
458
  :param dict [params]: extra parameters specific to the bitget api endpoint
459
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
459
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
460
460
  """
461
461
  await self.load_markets()
462
462
  market = self.market(symbol)
@@ -958,7 +958,7 @@ class bitget(ccxt.async_support.bitget):
958
958
  watch balance and get the amount of funds available for trading or funds locked in orders
959
959
  :param dict [params]: extra parameters specific to the bitget api endpoint
960
960
  :param str [params.type]: spot or contract if not provided self.options['defaultType'] is used
961
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
961
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
962
962
  """
963
963
  type = None
964
964
  type, params = self.handle_market_type_and_params('watchOrders', None, params)
ccxt/pro/bitmart.py CHANGED
@@ -91,7 +91,7 @@ class bitmart(ccxt.async_support.bitmart):
91
91
  :param int [since]: timestamp in ms of the earliest trade to fetch
92
92
  :param int [limit]: the maximum amount of trades to fetch
93
93
  :param dict [params]: extra parameters specific to the bitmart api endpoint
94
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
94
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
95
95
  """
96
96
  await self.load_markets()
97
97
  symbol = self.symbol(symbol)
ccxt/pro/bitmex.py CHANGED
@@ -321,7 +321,7 @@ class bitmex(ccxt.async_support.bitmex):
321
321
  """
322
322
  watch balance and get the amount of funds available for trading or funds locked in orders
323
323
  :param dict [params]: extra parameters specific to the bitmex api endpoint
324
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
324
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
325
325
  """
326
326
  await self.load_markets()
327
327
  await self.authenticate()
@@ -526,7 +526,7 @@ class bitmex(ccxt.async_support.bitmex):
526
526
  :param int [since]: timestamp in ms of the earliest trade to fetch
527
527
  :param int [limit]: the maximum amount of trades to fetch
528
528
  :param dict [params]: extra parameters specific to the bitmex api endpoint
529
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
529
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
530
530
  """
531
531
  await self.load_markets()
532
532
  market = self.market(symbol)
ccxt/pro/bitopro.py CHANGED
@@ -118,7 +118,7 @@ class bitopro(ccxt.async_support.bitopro):
118
118
  :param int [since]: timestamp in ms of the earliest trade to fetch
119
119
  :param int [limit]: the maximum amount of trades to fetch
120
120
  :param dict [params]: extra parameters specific to the bitopro api endpoint
121
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
121
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
122
122
  """
123
123
  await self.load_markets()
124
124
  market = self.market(symbol)
@@ -245,7 +245,7 @@ class bitopro(ccxt.async_support.bitopro):
245
245
  """
246
246
  watch balance and get the amount of funds available for trading or funds locked in orders
247
247
  :param dict [params]: extra parameters specific to the bitopro api endpoint
248
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
248
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
249
249
  """
250
250
  self.check_required_credentials()
251
251
  await self.load_markets()
ccxt/pro/bitpanda.py CHANGED
@@ -87,7 +87,7 @@ class bitpanda(ccxt.async_support.bitpanda):
87
87
  see https://developers.bitpanda.com/exchange/#account-history-channel
88
88
  watch balance and get the amount of funds available for trading or funds locked in orders
89
89
  :param dict [params]: extra parameters specific to the bitpanda api endpoint
90
- :returns dict: a `balance structure <https://docs.ccxt.com/en/latest/manual.html?#balance-structure>`
90
+ :returns dict: a `balance structure <https://github.com/ccxt/ccxt/wiki/Manual#balance-structure>`
91
91
  """
92
92
  await self.authenticate(params)
93
93
  url = self.urls['api']['ws']
@@ -145,7 +145,7 @@ class bitpanda(ccxt.async_support.bitpanda):
145
145
  watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
146
146
  :param str symbol: unified symbol of the market to fetch the ticker for
147
147
  :param dict [params]: extra parameters specific to the bitpanda api endpoint
148
- :returns dict: a `ticker structure <https://docs.ccxt.com/en/latest/manual.html#ticker-structure>`
148
+ :returns dict: a `ticker structure <https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure>`
149
149
  """
150
150
  await self.load_markets()
151
151
  market = self.market(symbol)
@@ -169,7 +169,7 @@ class bitpanda(ccxt.async_support.bitpanda):
169
169
  watches price tickers, a statistical calculation with the information for all markets or those specified.
170
170
  :param str symbols: unified symbols of the markets to fetch the ticker for
171
171
  :param dict [params]: extra parameters specific to the bitpanda api endpoint
172
- :returns dict: an array of `ticker structure <https://docs.ccxt.com/en/latest/manual.html#ticker-structure>`
172
+ :returns dict: an array of `ticker structure <https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure>`
173
173
  """
174
174
  await self.load_markets()
175
175
  symbols = self.market_symbols(symbols)
@@ -263,7 +263,7 @@ class bitpanda(ccxt.async_support.bitpanda):
263
263
  :param int [since]: timestamp in ms of the earliest trade to fetch
264
264
  :param int [limit]: the maximum amount of trades to fetch
265
265
  :param dict [params]: extra parameters specific to the bitpanda api endpoint
266
- :returns dict[]: a list of `trade structures <https://docs.ccxt.com/en/latest/manual.html?#public-trades>`
266
+ :returns dict[]: a list of `trade structures <https://github.com/ccxt/ccxt/wiki/Manual#public-trades>`
267
267
  """
268
268
  await self.load_markets()
269
269
  messageHash = 'myTrades'
@@ -301,7 +301,7 @@ class bitpanda(ccxt.async_support.bitpanda):
301
301
  :param str symbol: unified symbol of the market to fetch the order book for
302
302
  :param int [limit]: the maximum amount of order book entries to return
303
303
  :param dict [params]: extra parameters specific to the bitpanda api endpoint
304
- :returns dict: A dictionary of `order book structures <https://docs.ccxt.com/en/latest/manual.html#order-book-structure>` indexed by market symbols
304
+ :returns dict: A dictionary of `order book structures <https://github.com/ccxt/ccxt/wiki/Manual#order-book-structure>` indexed by market symbols
305
305
  """
306
306
  await self.load_markets()
307
307
  market = self.market(symbol)
@@ -409,7 +409,7 @@ class bitpanda(ccxt.async_support.bitpanda):
409
409
  :param int [limit]: the maximum number of orde structures to retrieve
410
410
  :param dict [params]: extra parameters specific to the bitpanda api endpoint
411
411
  :param str [params.channel]: can listen to orders using ACCOUNT_HISTORY or TRADING
412
- :returns dict[]: a list of `order structures <https://docs.ccxt.com/en/latest/manual.html#order-structure>`
412
+ :returns dict[]: a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
413
413
  """
414
414
  await self.load_markets()
415
415
  messageHash = 'orders'