ccxt 4.1.41 → 4.1.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/README.md +6 -5
  2. package/change.sh +2 -4
  3. package/dist/ccxt.browser.js +14841 -12517
  4. package/dist/ccxt.browser.min.js +3 -3
  5. package/dist/cjs/ccxt.js +4 -1
  6. package/dist/cjs/src/abstract/coinlist.js +9 -0
  7. package/dist/cjs/src/ace.js +3 -3
  8. package/dist/cjs/src/ascendex.js +226 -96
  9. package/dist/cjs/src/bigone.js +107 -107
  10. package/dist/cjs/src/binance.js +258 -257
  11. package/dist/cjs/src/bingx.js +117 -117
  12. package/dist/cjs/src/bit2c.js +4 -4
  13. package/dist/cjs/src/bitbank.js +19 -19
  14. package/dist/cjs/src/bitfinex.js +72 -72
  15. package/dist/cjs/src/bitfinex2.js +59 -59
  16. package/dist/cjs/src/bitget.js +355 -355
  17. package/dist/cjs/src/bithumb.js +35 -35
  18. package/dist/cjs/src/bitmart.js +37 -37
  19. package/dist/cjs/src/bitmex.js +111 -111
  20. package/dist/cjs/src/bitopro.js +12 -12
  21. package/dist/cjs/src/bitpanda.js +8 -8
  22. package/dist/cjs/src/bitrue.js +17 -17
  23. package/dist/cjs/src/bitso.js +212 -212
  24. package/dist/cjs/src/bitstamp.js +95 -95
  25. package/dist/cjs/src/bittrex.js +28 -28
  26. package/dist/cjs/src/bitvavo.js +34 -33
  27. package/dist/cjs/src/bl3p.js +18 -18
  28. package/dist/cjs/src/blockchaincom.js +24 -24
  29. package/dist/cjs/src/btcalpha.js +27 -27
  30. package/dist/cjs/src/btcturk.js +6 -6
  31. package/dist/cjs/src/bybit.js +46 -247
  32. package/dist/cjs/src/cex.js +105 -105
  33. package/dist/cjs/src/coinbase.js +179 -179
  34. package/dist/cjs/src/coinbasepro.js +113 -113
  35. package/dist/cjs/src/coincheck.js +21 -21
  36. package/dist/cjs/src/coinex.js +19 -19
  37. package/dist/cjs/src/coinfalcon.js +53 -53
  38. package/dist/cjs/src/coinlist.js +2327 -0
  39. package/dist/cjs/src/coinmate.js +67 -67
  40. package/dist/cjs/src/coinone.js +9 -9
  41. package/dist/cjs/src/coinsph.js +108 -108
  42. package/dist/cjs/src/coinspot.js +28 -28
  43. package/dist/cjs/src/cryptocom.js +32 -32
  44. package/dist/cjs/src/currencycom.js +52 -52
  45. package/dist/cjs/src/delta.js +3 -3
  46. package/dist/cjs/src/deribit.js +285 -284
  47. package/dist/cjs/src/exmo.js +41 -41
  48. package/dist/cjs/src/gate.js +174 -174
  49. package/dist/cjs/src/gemini.js +4 -4
  50. package/dist/cjs/src/hitbtc.js +26 -27
  51. package/dist/cjs/src/hollaex.js +78 -78
  52. package/dist/cjs/src/huobi.js +267 -267
  53. package/dist/cjs/src/huobijp.js +125 -125
  54. package/dist/cjs/src/idex.js +202 -202
  55. package/dist/cjs/src/kraken.js +161 -161
  56. package/dist/cjs/src/krakenfutures.js +223 -223
  57. package/dist/cjs/src/kucoin.js +122 -122
  58. package/dist/cjs/src/kucoinfutures.js +128 -128
  59. package/dist/cjs/src/kuna.js +23 -24
  60. package/dist/cjs/src/latoken.js +70 -70
  61. package/dist/cjs/src/lbank.js +6 -6
  62. package/dist/cjs/src/lbank2.js +35 -35
  63. package/dist/cjs/src/luno.js +5 -5
  64. package/dist/cjs/src/lykke.js +4 -4
  65. package/dist/cjs/src/mercado.js +17 -17
  66. package/dist/cjs/src/mexc.js +172 -172
  67. package/dist/cjs/src/ndax.js +9 -8
  68. package/dist/cjs/src/oceanex.js +9 -9
  69. package/dist/cjs/src/okcoin.js +65 -65
  70. package/dist/cjs/src/okx.js +67 -67
  71. package/dist/cjs/src/phemex.js +110 -110
  72. package/dist/cjs/src/poloniex.js +43 -43
  73. package/dist/cjs/src/poloniexfutures.js +96 -96
  74. package/dist/cjs/src/pro/alpaca.js +174 -174
  75. package/dist/cjs/src/pro/ascendex.js +151 -151
  76. package/dist/cjs/src/pro/binance.js +278 -278
  77. package/dist/cjs/src/pro/bingx.js +136 -136
  78. package/dist/cjs/src/pro/bitfinex.js +38 -38
  79. package/dist/cjs/src/pro/bitfinex2.js +57 -57
  80. package/dist/cjs/src/pro/bitget.js +227 -227
  81. package/dist/cjs/src/pro/bitmart.js +98 -98
  82. package/dist/cjs/src/pro/bitmex.js +584 -584
  83. package/dist/cjs/src/pro/bitopro.js +49 -49
  84. package/dist/cjs/src/pro/bitpanda.js +249 -249
  85. package/dist/cjs/src/pro/bitrue.js +79 -79
  86. package/dist/cjs/src/pro/bitstamp.js +59 -59
  87. package/dist/cjs/src/pro/bittrex.js +107 -107
  88. package/dist/cjs/src/pro/bitvavo.js +115 -115
  89. package/dist/cjs/src/pro/blockchaincom.js +169 -169
  90. package/dist/cjs/src/pro/bybit.js +57 -57
  91. package/dist/cjs/src/pro/cex.js +199 -199
  92. package/dist/cjs/src/pro/coinbase.js +4 -4
  93. package/dist/cjs/src/pro/coinbasepro.js +95 -95
  94. package/dist/cjs/src/pro/coinex.js +232 -232
  95. package/dist/cjs/src/pro/cryptocom.js +32 -32
  96. package/dist/cjs/src/pro/currencycom.js +108 -108
  97. package/dist/cjs/src/pro/deribit.js +140 -140
  98. package/dist/cjs/src/pro/exmo.js +72 -72
  99. package/dist/cjs/src/pro/gate.js +160 -160
  100. package/dist/cjs/src/pro/gemini.js +135 -135
  101. package/dist/cjs/src/pro/hitbtc.js +10 -10
  102. package/dist/cjs/src/pro/hollaex.js +88 -88
  103. package/dist/cjs/src/pro/huobi.js +277 -277
  104. package/dist/cjs/src/pro/huobijp.js +71 -71
  105. package/dist/cjs/src/pro/idex.js +58 -58
  106. package/dist/cjs/src/pro/independentreserve.js +29 -29
  107. package/dist/cjs/src/pro/kraken.js +113 -113
  108. package/dist/cjs/src/pro/krakenfutures.js +58 -58
  109. package/dist/cjs/src/pro/kucoin.js +95 -95
  110. package/dist/cjs/src/pro/kucoinfutures.js +100 -100
  111. package/dist/cjs/src/pro/luno.js +42 -42
  112. package/dist/cjs/src/pro/mexc.js +98 -98
  113. package/dist/cjs/src/pro/ndax.js +24 -24
  114. package/dist/cjs/src/pro/okcoin.js +104 -104
  115. package/dist/cjs/src/pro/okx.js +161 -161
  116. package/dist/cjs/src/pro/phemex.js +295 -295
  117. package/dist/cjs/src/pro/poloniex.js +79 -79
  118. package/dist/cjs/src/pro/poloniexfutures.js +172 -172
  119. package/dist/cjs/src/pro/probit.js +87 -87
  120. package/dist/cjs/src/pro/upbit.js +66 -66
  121. package/dist/cjs/src/pro/wazirx.js +11 -11
  122. package/dist/cjs/src/pro/whitebit.js +77 -77
  123. package/dist/cjs/src/pro/woo.js +78 -78
  124. package/dist/cjs/src/probit.js +78 -44
  125. package/dist/cjs/src/tidex.js +9 -9
  126. package/dist/cjs/src/tokocrypto.js +57 -57
  127. package/dist/cjs/src/upbit.js +157 -157
  128. package/dist/cjs/src/wavesexchange.js +125 -125
  129. package/dist/cjs/src/whitebit.js +63 -63
  130. package/dist/cjs/src/woo.js +244 -243
  131. package/dist/cjs/src/yobit.js +9 -9
  132. package/dist/cjs/src/zonda.js +103 -103
  133. package/js/ccxt.d.ts +5 -2
  134. package/js/ccxt.js +4 -2
  135. package/js/src/abstract/bybit.d.ts +13 -195
  136. package/js/src/abstract/coinlist.d.ts +49 -0
  137. package/js/src/abstract/coinlist.js +11 -0
  138. package/js/src/ace.d.ts +9 -9
  139. package/js/src/ace.js +3 -3
  140. package/js/src/alpaca.d.ts +3 -3
  141. package/js/src/ascendex.d.ts +13 -35
  142. package/js/src/ascendex.js +227 -97
  143. package/js/src/base/types.d.ts +8 -0
  144. package/js/src/bigone.d.ts +11 -49
  145. package/js/src/bigone.js +107 -107
  146. package/js/src/binance.d.ts +8 -65
  147. package/js/src/binance.js +258 -257
  148. package/js/src/bingx.d.ts +10 -34
  149. package/js/src/bingx.js +117 -117
  150. package/js/src/bit2c.d.ts +8 -8
  151. package/js/src/bit2c.js +4 -4
  152. package/js/src/bitbank.d.ts +10 -50
  153. package/js/src/bitbank.js +19 -19
  154. package/js/src/bitbns.d.ts +9 -29
  155. package/js/src/bitfinex.d.ts +9 -57
  156. package/js/src/bitfinex.js +72 -72
  157. package/js/src/bitfinex2.d.ts +5 -29
  158. package/js/src/bitfinex2.js +59 -59
  159. package/js/src/bitflyer.d.ts +10 -50
  160. package/js/src/bitforex.d.ts +8 -8
  161. package/js/src/bitget.d.ts +7 -27
  162. package/js/src/bitget.js +355 -355
  163. package/js/src/bithumb.d.ts +10 -50
  164. package/js/src/bithumb.js +35 -35
  165. package/js/src/bitmart.d.ts +11 -68
  166. package/js/src/bitmart.js +37 -37
  167. package/js/src/bitmex.d.ts +8 -56
  168. package/js/src/bitmex.js +111 -111
  169. package/js/src/bitopro.d.ts +12 -84
  170. package/js/src/bitopro.js +12 -12
  171. package/js/src/bitpanda.d.ts +12 -50
  172. package/js/src/bitpanda.js +8 -8
  173. package/js/src/bitrue.d.ts +12 -52
  174. package/js/src/bitrue.js +17 -17
  175. package/js/src/bitso.d.ts +12 -72
  176. package/js/src/bitso.js +212 -212
  177. package/js/src/bitstamp.d.ts +13 -65
  178. package/js/src/bitstamp.js +95 -95
  179. package/js/src/bitstamp1.d.ts +8 -8
  180. package/js/src/bittrex.d.ts +13 -57
  181. package/js/src/bittrex.js +28 -28
  182. package/js/src/bitvavo.d.ts +8 -44
  183. package/js/src/bitvavo.js +34 -33
  184. package/js/src/bl3p.d.ts +7 -7
  185. package/js/src/bl3p.js +18 -18
  186. package/js/src/blockchaincom.d.ts +10 -90
  187. package/js/src/blockchaincom.js +24 -24
  188. package/js/src/btcalpha.d.ts +10 -30
  189. package/js/src/btcalpha.js +27 -27
  190. package/js/src/btcbox.d.ts +7 -7
  191. package/js/src/btcmarkets.d.ts +11 -59
  192. package/js/src/btctradeua.d.ts +7 -7
  193. package/js/src/btcturk.d.ts +6 -6
  194. package/js/src/btcturk.js +6 -6
  195. package/js/src/bybit.d.ts +8 -46
  196. package/js/src/bybit.js +46 -247
  197. package/js/src/cex.d.ts +8 -8
  198. package/js/src/cex.js +105 -105
  199. package/js/src/coinbase.d.ts +9 -9
  200. package/js/src/coinbase.js +179 -179
  201. package/js/src/coinbasepro.d.ts +8 -56
  202. package/js/src/coinbasepro.js +113 -113
  203. package/js/src/coincheck.d.ts +9 -29
  204. package/js/src/coincheck.js +21 -21
  205. package/js/src/coinex.d.ts +9 -53
  206. package/js/src/coinex.js +19 -19
  207. package/js/src/coinfalcon.d.ts +8 -52
  208. package/js/src/coinfalcon.js +53 -53
  209. package/js/src/coinlist.d.ts +104 -0
  210. package/js/src/coinlist.js +2328 -0
  211. package/js/src/coinmate.d.ts +8 -56
  212. package/js/src/coinmate.js +67 -67
  213. package/js/src/coinone.d.ts +9 -9
  214. package/js/src/coinone.js +9 -9
  215. package/js/src/coinsph.d.ts +13 -73
  216. package/js/src/coinsph.js +108 -108
  217. package/js/src/coinspot.d.ts +9 -9
  218. package/js/src/coinspot.js +28 -28
  219. package/js/src/cryptocom.d.ts +5 -45
  220. package/js/src/cryptocom.js +32 -32
  221. package/js/src/currencycom.d.ts +8 -32
  222. package/js/src/currencycom.js +52 -52
  223. package/js/src/delta.d.ts +9 -9
  224. package/js/src/delta.js +3 -3
  225. package/js/src/deribit.d.ts +12 -48
  226. package/js/src/deribit.js +285 -284
  227. package/js/src/digifinex.d.ts +11 -49
  228. package/js/src/exmo.d.ts +10 -106
  229. package/js/src/exmo.js +41 -41
  230. package/js/src/gate.d.ts +6 -50
  231. package/js/src/gate.js +174 -174
  232. package/js/src/gemini.d.ts +8 -46
  233. package/js/src/gemini.js +4 -4
  234. package/js/src/hitbtc.d.ts +5 -55
  235. package/js/src/hitbtc.js +26 -27
  236. package/js/src/hollaex.d.ts +13 -70
  237. package/js/src/hollaex.js +78 -78
  238. package/js/src/huobi.d.ts +6 -52
  239. package/js/src/huobi.js +267 -267
  240. package/js/src/huobijp.d.ts +8 -54
  241. package/js/src/huobijp.js +125 -125
  242. package/js/src/idex.d.ts +13 -89
  243. package/js/src/idex.js +202 -202
  244. package/js/src/independentreserve.d.ts +8 -8
  245. package/js/src/indodax.d.ts +10 -50
  246. package/js/src/kraken.d.ts +8 -52
  247. package/js/src/kraken.js +161 -161
  248. package/js/src/krakenfutures.d.ts +5 -5
  249. package/js/src/krakenfutures.js +223 -223
  250. package/js/src/kucoin.d.ts +6 -46
  251. package/js/src/kucoin.js +122 -122
  252. package/js/src/kucoinfutures.d.ts +5 -5
  253. package/js/src/kucoinfutures.js +128 -128
  254. package/js/src/kuna.d.ts +13 -105
  255. package/js/src/kuna.js +24 -24
  256. package/js/src/latoken.d.ts +8 -32
  257. package/js/src/latoken.js +70 -70
  258. package/js/src/lbank.d.ts +10 -64
  259. package/js/src/lbank.js +6 -6
  260. package/js/src/lbank2.d.ts +7 -28
  261. package/js/src/lbank2.js +35 -35
  262. package/js/src/luno.d.ts +9 -9
  263. package/js/src/luno.js +5 -5
  264. package/js/src/lykke.d.ts +11 -49
  265. package/js/src/lykke.js +4 -4
  266. package/js/src/mercado.d.ts +7 -47
  267. package/js/src/mercado.js +17 -17
  268. package/js/src/mexc.d.ts +11 -49
  269. package/js/src/mexc.js +172 -172
  270. package/js/src/ndax.d.ts +11 -47
  271. package/js/src/ndax.js +9 -8
  272. package/js/src/novadax.d.ts +12 -60
  273. package/js/src/oceanex.d.ts +5 -5
  274. package/js/src/oceanex.js +9 -9
  275. package/js/src/okcoin.d.ts +10 -54
  276. package/js/src/okcoin.js +65 -65
  277. package/js/src/okx.d.ts +9 -97
  278. package/js/src/okx.js +67 -67
  279. package/js/src/paymium.d.ts +7 -7
  280. package/js/src/phemex.d.ts +8 -27
  281. package/js/src/phemex.js +110 -110
  282. package/js/src/poloniex.d.ts +8 -56
  283. package/js/src/poloniex.js +43 -43
  284. package/js/src/poloniexfutures.d.ts +9 -9
  285. package/js/src/poloniexfutures.js +96 -96
  286. package/js/src/pro/alpaca.d.ts +2 -2
  287. package/js/src/pro/alpaca.js +174 -174
  288. package/js/src/pro/ascendex.js +151 -151
  289. package/js/src/pro/binance.d.ts +2 -19
  290. package/js/src/pro/binance.js +278 -278
  291. package/js/src/pro/bingx.js +136 -136
  292. package/js/src/pro/bitfinex.d.ts +2 -2
  293. package/js/src/pro/bitfinex.js +38 -38
  294. package/js/src/pro/bitfinex2.js +57 -57
  295. package/js/src/pro/bitget.js +227 -227
  296. package/js/src/pro/bitmart.js +98 -98
  297. package/js/src/pro/bitmex.js +584 -584
  298. package/js/src/pro/bitopro.js +49 -49
  299. package/js/src/pro/bitpanda.js +249 -249
  300. package/js/src/pro/bitrue.js +79 -79
  301. package/js/src/pro/bitstamp.js +59 -59
  302. package/js/src/pro/bittrex.js +107 -107
  303. package/js/src/pro/bitvavo.js +115 -115
  304. package/js/src/pro/blockchaincom.js +169 -169
  305. package/js/src/pro/bybit.js +57 -57
  306. package/js/src/pro/cex.js +199 -199
  307. package/js/src/pro/coinbase.js +4 -4
  308. package/js/src/pro/coinbasepro.d.ts +2 -2
  309. package/js/src/pro/coinbasepro.js +95 -95
  310. package/js/src/pro/coinex.js +232 -232
  311. package/js/src/pro/cryptocom.js +32 -32
  312. package/js/src/pro/currencycom.js +108 -108
  313. package/js/src/pro/deribit.js +140 -140
  314. package/js/src/pro/exmo.js +72 -72
  315. package/js/src/pro/gate.js +160 -160
  316. package/js/src/pro/gemini.js +135 -135
  317. package/js/src/pro/hitbtc.js +10 -10
  318. package/js/src/pro/hollaex.js +88 -88
  319. package/js/src/pro/huobi.js +277 -277
  320. package/js/src/pro/huobijp.js +71 -71
  321. package/js/src/pro/idex.js +58 -58
  322. package/js/src/pro/independentreserve.js +29 -29
  323. package/js/src/pro/kraken.js +113 -113
  324. package/js/src/pro/krakenfutures.js +58 -58
  325. package/js/src/pro/kucoin.js +95 -95
  326. package/js/src/pro/kucoinfutures.js +100 -100
  327. package/js/src/pro/luno.d.ts +2 -2
  328. package/js/src/pro/luno.js +42 -42
  329. package/js/src/pro/mexc.js +98 -98
  330. package/js/src/pro/ndax.js +24 -24
  331. package/js/src/pro/okcoin.js +104 -104
  332. package/js/src/pro/okx.js +161 -161
  333. package/js/src/pro/phemex.js +295 -295
  334. package/js/src/pro/poloniex.js +79 -79
  335. package/js/src/pro/poloniexfutures.js +172 -172
  336. package/js/src/pro/probit.js +87 -87
  337. package/js/src/pro/upbit.js +66 -66
  338. package/js/src/pro/wazirx.js +11 -11
  339. package/js/src/pro/whitebit.js +77 -77
  340. package/js/src/pro/woo.js +78 -78
  341. package/js/src/probit.d.ts +11 -49
  342. package/js/src/probit.js +78 -44
  343. package/js/src/tidex.d.ts +8 -62
  344. package/js/src/tidex.js +9 -9
  345. package/js/src/timex.d.ts +10 -43
  346. package/js/src/tokocrypto.d.ts +10 -60
  347. package/js/src/tokocrypto.js +57 -57
  348. package/js/src/upbit.d.ts +7 -51
  349. package/js/src/upbit.js +157 -157
  350. package/js/src/wavesexchange.d.ts +9 -49
  351. package/js/src/wavesexchange.js +125 -125
  352. package/js/src/wazirx.d.ts +8 -8
  353. package/js/src/whitebit.d.ts +8 -54
  354. package/js/src/whitebit.js +63 -63
  355. package/js/src/woo.d.ts +9 -47
  356. package/js/src/woo.js +244 -243
  357. package/js/src/yobit.d.ts +3 -3
  358. package/js/src/yobit.js +9 -9
  359. package/js/src/zaif.d.ts +9 -49
  360. package/js/src/zonda.d.ts +8 -48
  361. package/js/src/zonda.js +103 -103
  362. package/package.json +2 -1
  363. package/skip-tests.json +11 -0
@@ -70,13 +70,13 @@ export default class alpaca extends alpacaRest {
70
70
  handleTicker(client, message) {
71
71
  //
72
72
  // {
73
- // T: 'q',
74
- // S: 'BTC/USDT',
75
- // bp: 17394.44,
76
- // bs: 0.021981,
77
- // ap: 17397.99,
78
- // as: 0.02,
79
- // t: '2022-12-16T06:07:56.611063286Z'
73
+ // "T": "q",
74
+ // "S": "BTC/USDT",
75
+ // "bp": 17394.44,
76
+ // "bs": 0.021981,
77
+ // "ap": 17397.99,
78
+ // "as": 0.02,
79
+ // "t": "2022-12-16T06:07:56.611063286Z"
80
80
  // ]
81
81
  //
82
82
  const ticker = this.parseTicker(message);
@@ -88,13 +88,13 @@ export default class alpaca extends alpacaRest {
88
88
  parseTicker(ticker, market = undefined) {
89
89
  //
90
90
  // {
91
- // T: 'q',
92
- // S: 'BTC/USDT',
93
- // bp: 17394.44,
94
- // bs: 0.021981,
95
- // ap: 17397.99,
96
- // as: 0.02,
97
- // t: '2022-12-16T06:07:56.611063286Z'
91
+ // "T": "q",
92
+ // "S": "BTC/USDT",
93
+ // "bp": 17394.44,
94
+ // "bs": 0.021981,
95
+ // "ap": 17397.99,
96
+ // "as": 0.02,
97
+ // "t": "2022-12-16T06:07:56.611063286Z"
98
98
  // }
99
99
  //
100
100
  const marketId = this.safeString(ticker, 'S');
@@ -153,16 +153,16 @@ export default class alpaca extends alpacaRest {
153
153
  handleOHLCV(client, message) {
154
154
  //
155
155
  // {
156
- // T: 'b',
157
- // S: 'BTC/USDT',
158
- // o: 17416.39,
159
- // h: 17424.82,
160
- // l: 17416.39,
161
- // c: 17424.82,
162
- // v: 1.341054,
163
- // t: '2022-12-16T06:53:00Z',
164
- // n: 21,
165
- // vw: 17421.9529234915
156
+ // "T": "b",
157
+ // "S": "BTC/USDT",
158
+ // "o": 17416.39,
159
+ // "h": 17424.82,
160
+ // "l": 17416.39,
161
+ // "c": 17424.82,
162
+ // "v": 1.341054,
163
+ // "t": "2022-12-16T06:53:00Z",
164
+ // "n": 21,
165
+ // "vw": 17421.9529234915
166
166
  // }
167
167
  //
168
168
  const marketId = this.safeString(message, 'S');
@@ -205,22 +205,22 @@ export default class alpaca extends alpacaRest {
205
205
  //
206
206
  // snapshot
207
207
  // {
208
- // T: "o",
209
- // S: "BTC/USDT",
210
- // t: "2022-12-16T06:35:31.585113205Z",
211
- // b: [{
212
- // p: 17394.37,
213
- // s: 0.015499,
208
+ // "T": "o",
209
+ // "S": "BTC/USDT",
210
+ // "t": "2022-12-16T06:35:31.585113205Z",
211
+ // "b": [{
212
+ // "p": 17394.37,
213
+ // "s": 0.015499,
214
214
  // },
215
215
  // ...
216
216
  // ],
217
- // a: [{
218
- // p: 17398.8,
219
- // s: 0.042919,
217
+ // "a": [{
218
+ // "p": 17398.8,
219
+ // "s": 0.042919,
220
220
  // },
221
221
  // ...
222
222
  // ],
223
- // r: true,
223
+ // "r": true,
224
224
  // }
225
225
  //
226
226
  const marketId = this.safeString(message, 'S');
@@ -287,13 +287,13 @@ export default class alpaca extends alpacaRest {
287
287
  handleTrades(client, message) {
288
288
  //
289
289
  // {
290
- // T: 't',
291
- // S: 'BTC/USDT',
292
- // p: 17408.8,
293
- // s: 0.042919,
294
- // t: '2022-12-16T06:43:18.327Z',
295
- // i: 16585162,
296
- // tks: 'B'
290
+ // "T": "t",
291
+ // "S": "BTC/USDT",
292
+ // "p": 17408.8,
293
+ // "s": 0.042919,
294
+ // "t": "2022-12-16T06:43:18.327Z",
295
+ // "i": 16585162,
296
+ // "tks": "B"
297
297
  // ]
298
298
  //
299
299
  const marketId = this.safeString(message, 'S');
@@ -380,46 +380,46 @@ export default class alpaca extends alpacaRest {
380
380
  handleOrder(client, message) {
381
381
  //
382
382
  // {
383
- // stream: 'trade_updates',
384
- // data: {
385
- // event: 'new',
386
- // timestamp: '2022-12-16T07:28:51.67621869Z',
387
- // order: {
388
- // id: 'c2470331-8993-4051-bf5d-428d5bdc9a48',
389
- // client_order_id: '0f1f3764-107a-4d09-8b9a-d75a11738f5c',
390
- // created_at: '2022-12-16T02:28:51.673531798-05:00',
391
- // updated_at: '2022-12-16T02:28:51.678736847-05:00',
392
- // submitted_at: '2022-12-16T02:28:51.673015558-05:00',
393
- // filled_at: null,
394
- // expired_at: null,
395
- // cancel_requested_at: null,
396
- // canceled_at: null,
397
- // failed_at: null,
398
- // replaced_at: null,
399
- // replaced_by: null,
400
- // replaces: null,
401
- // asset_id: '276e2673-764b-4ab6-a611-caf665ca6340',
402
- // symbol: 'BTC/USD',
403
- // asset_class: 'crypto',
404
- // notional: null,
405
- // qty: '0.01',
406
- // filled_qty: '0',
407
- // filled_avg_price: null,
408
- // order_class: '',
409
- // order_type: 'market',
410
- // type: 'market',
411
- // side: 'buy',
412
- // time_in_force: 'gtc',
413
- // limit_price: null,
414
- // stop_price: null,
415
- // status: 'new',
416
- // extended_hours: false,
417
- // legs: null,
418
- // trail_percent: null,
419
- // trail_price: null,
420
- // hwm: null
383
+ // "stream": "trade_updates",
384
+ // "data": {
385
+ // "event": "new",
386
+ // "timestamp": "2022-12-16T07:28:51.67621869Z",
387
+ // "order": {
388
+ // "id": "c2470331-8993-4051-bf5d-428d5bdc9a48",
389
+ // "client_order_id": "0f1f3764-107a-4d09-8b9a-d75a11738f5c",
390
+ // "created_at": "2022-12-16T02:28:51.673531798-05:00",
391
+ // "updated_at": "2022-12-16T02:28:51.678736847-05:00",
392
+ // "submitted_at": "2022-12-16T02:28:51.673015558-05:00",
393
+ // "filled_at": null,
394
+ // "expired_at": null,
395
+ // "cancel_requested_at": null,
396
+ // "canceled_at": null,
397
+ // "failed_at": null,
398
+ // "replaced_at": null,
399
+ // "replaced_by": null,
400
+ // "replaces": null,
401
+ // "asset_id": "276e2673-764b-4ab6-a611-caf665ca6340",
402
+ // "symbol": "BTC/USD",
403
+ // "asset_class": "crypto",
404
+ // "notional": null,
405
+ // "qty": "0.01",
406
+ // "filled_qty": "0",
407
+ // "filled_avg_price": null,
408
+ // "order_class": '',
409
+ // "order_type": "market",
410
+ // "type": "market",
411
+ // "side": "buy",
412
+ // "time_in_force": "gtc",
413
+ // "limit_price": null,
414
+ // "stop_price": null,
415
+ // "status": "new",
416
+ // "extended_hours": false,
417
+ // "legs": null,
418
+ // "trail_percent": null,
419
+ // "trail_price": null,
420
+ // "hwm": null
421
421
  // },
422
- // execution_id: '5f781a30-b9a3-4c86-b466-2175850cf340'
422
+ // "execution_id": "5f781a30-b9a3-4c86-b466-2175850cf340"
423
423
  // }
424
424
  // }
425
425
  //
@@ -440,46 +440,46 @@ export default class alpaca extends alpacaRest {
440
440
  handleMyTrade(client, message) {
441
441
  //
442
442
  // {
443
- // stream: 'trade_updates',
444
- // data: {
445
- // event: 'new',
446
- // timestamp: '2022-12-16T07:28:51.67621869Z',
447
- // order: {
448
- // id: 'c2470331-8993-4051-bf5d-428d5bdc9a48',
449
- // client_order_id: '0f1f3764-107a-4d09-8b9a-d75a11738f5c',
450
- // created_at: '2022-12-16T02:28:51.673531798-05:00',
451
- // updated_at: '2022-12-16T02:28:51.678736847-05:00',
452
- // submitted_at: '2022-12-16T02:28:51.673015558-05:00',
453
- // filled_at: null,
454
- // expired_at: null,
455
- // cancel_requested_at: null,
456
- // canceled_at: null,
457
- // failed_at: null,
458
- // replaced_at: null,
459
- // replaced_by: null,
460
- // replaces: null,
461
- // asset_id: '276e2673-764b-4ab6-a611-caf665ca6340',
462
- // symbol: 'BTC/USD',
463
- // asset_class: 'crypto',
464
- // notional: null,
465
- // qty: '0.01',
466
- // filled_qty: '0',
467
- // filled_avg_price: null,
468
- // order_class: '',
469
- // order_type: 'market',
470
- // type: 'market',
471
- // side: 'buy',
472
- // time_in_force: 'gtc',
473
- // limit_price: null,
474
- // stop_price: null,
475
- // status: 'new',
476
- // extended_hours: false,
477
- // legs: null,
478
- // trail_percent: null,
479
- // trail_price: null,
480
- // hwm: null
443
+ // "stream": "trade_updates",
444
+ // "data": {
445
+ // "event": "new",
446
+ // "timestamp": "2022-12-16T07:28:51.67621869Z",
447
+ // "order": {
448
+ // "id": "c2470331-8993-4051-bf5d-428d5bdc9a48",
449
+ // "client_order_id": "0f1f3764-107a-4d09-8b9a-d75a11738f5c",
450
+ // "created_at": "2022-12-16T02:28:51.673531798-05:00",
451
+ // "updated_at": "2022-12-16T02:28:51.678736847-05:00",
452
+ // "submitted_at": "2022-12-16T02:28:51.673015558-05:00",
453
+ // "filled_at": null,
454
+ // "expired_at": null,
455
+ // "cancel_requested_at": null,
456
+ // "canceled_at": null,
457
+ // "failed_at": null,
458
+ // "replaced_at": null,
459
+ // "replaced_by": null,
460
+ // "replaces": null,
461
+ // "asset_id": "276e2673-764b-4ab6-a611-caf665ca6340",
462
+ // "symbol": "BTC/USD",
463
+ // "asset_class": "crypto",
464
+ // "notional": null,
465
+ // "qty": "0.01",
466
+ // "filled_qty": "0",
467
+ // "filled_avg_price": null,
468
+ // "order_class": '',
469
+ // "order_type": "market",
470
+ // "type": "market",
471
+ // "side": "buy",
472
+ // "time_in_force": "gtc",
473
+ // "limit_price": null,
474
+ // "stop_price": null,
475
+ // "status": "new",
476
+ // "extended_hours": false,
477
+ // "legs": null,
478
+ // "trail_percent": null,
479
+ // "trail_price": null,
480
+ // "hwm": null
481
481
  // },
482
- // execution_id: '5f781a30-b9a3-4c86-b466-2175850cf340'
482
+ // "execution_id": "5f781a30-b9a3-4c86-b466-2175850cf340"
483
483
  // }
484
484
  // }
485
485
  //
@@ -504,39 +504,39 @@ export default class alpaca extends alpacaRest {
504
504
  parseMyTrade(trade, market = undefined) {
505
505
  //
506
506
  // {
507
- // id: 'c2470331-8993-4051-bf5d-428d5bdc9a48',
508
- // client_order_id: '0f1f3764-107a-4d09-8b9a-d75a11738f5c',
509
- // created_at: '2022-12-16T02:28:51.673531798-05:00',
510
- // updated_at: '2022-12-16T02:28:51.678736847-05:00',
511
- // submitted_at: '2022-12-16T02:28:51.673015558-05:00',
512
- // filled_at: null,
513
- // expired_at: null,
514
- // cancel_requested_at: null,
515
- // canceled_at: null,
516
- // failed_at: null,
517
- // replaced_at: null,
518
- // replaced_by: null,
519
- // replaces: null,
520
- // asset_id: '276e2673-764b-4ab6-a611-caf665ca6340',
521
- // symbol: 'BTC/USD',
522
- // asset_class: 'crypto',
523
- // notional: null,
524
- // qty: '0.01',
525
- // filled_qty: '0',
526
- // filled_avg_price: null,
527
- // order_class: '',
528
- // order_type: 'market',
529
- // type: 'market',
530
- // side: 'buy',
531
- // time_in_force: 'gtc',
532
- // limit_price: null,
533
- // stop_price: null,
534
- // status: 'new',
535
- // extended_hours: false,
536
- // legs: null,
537
- // trail_percent: null,
538
- // trail_price: null,
539
- // hwm: null
507
+ // "id": "c2470331-8993-4051-bf5d-428d5bdc9a48",
508
+ // "client_order_id": "0f1f3764-107a-4d09-8b9a-d75a11738f5c",
509
+ // "created_at": "2022-12-16T02:28:51.673531798-05:00",
510
+ // "updated_at": "2022-12-16T02:28:51.678736847-05:00",
511
+ // "submitted_at": "2022-12-16T02:28:51.673015558-05:00",
512
+ // "filled_at": null,
513
+ // "expired_at": null,
514
+ // "cancel_requested_at": null,
515
+ // "canceled_at": null,
516
+ // "failed_at": null,
517
+ // "replaced_at": null,
518
+ // "replaced_by": null,
519
+ // "replaces": null,
520
+ // "asset_id": "276e2673-764b-4ab6-a611-caf665ca6340",
521
+ // "symbol": "BTC/USD",
522
+ // "asset_class": "crypto",
523
+ // "notional": null,
524
+ // "qty": "0.01",
525
+ // "filled_qty": "0",
526
+ // "filled_avg_price": null,
527
+ // "order_class": '',
528
+ // "order_type": "market",
529
+ // "type": "market",
530
+ // "side": "buy",
531
+ // "time_in_force": "gtc",
532
+ // "limit_price": null,
533
+ // "stop_price": null,
534
+ // "status": "new",
535
+ // "extended_hours": false,
536
+ // "legs": null,
537
+ // "trail_percent": null,
538
+ // "trail_price": null,
539
+ // "hwm": null
540
540
  // }
541
541
  //
542
542
  const marketId = this.safeString(trade, 'symbol');
@@ -591,9 +591,9 @@ export default class alpaca extends alpacaRest {
591
591
  handleErrorMessage(client, message) {
592
592
  //
593
593
  // {
594
- // T: 'error',
595
- // code: 400,
596
- // msg: 'invalid syntax'
594
+ // "T": "error",
595
+ // "code": 400,
596
+ // "msg": "invalid syntax"
597
597
  // }
598
598
  //
599
599
  const code = this.safeString(message, 'code');
@@ -603,8 +603,8 @@ export default class alpaca extends alpacaRest {
603
603
  handleConnected(client, message) {
604
604
  //
605
605
  // {
606
- // T: 'success',
607
- // msg: 'connected'
606
+ // "T": "success",
607
+ // "msg": "connected"
608
608
  // }
609
609
  //
610
610
  return message;
@@ -658,8 +658,8 @@ export default class alpaca extends alpacaRest {
658
658
  //
659
659
  // crypto
660
660
  // {
661
- // T: 'success',
662
- // msg: 'connected'
661
+ // "T": "success",
662
+ // "msg": "connected"
663
663
  // ]
664
664
  //
665
665
  // trading
@@ -672,11 +672,11 @@ export default class alpaca extends alpacaRest {
672
672
  // }
673
673
  // error
674
674
  // {
675
- // stream: 'authorization',
676
- // data: {
677
- // action: 'authenticate',
678
- // message: 'access key verification failed',
679
- // status: 'unauthorized'
675
+ // "stream": "authorization",
676
+ // "data": {
677
+ // "action": "authenticate",
678
+ // "message": "access key verification failed",
679
+ // "status": "unauthorized"
680
680
  // }
681
681
  // }
682
682
  //
@@ -694,19 +694,19 @@ export default class alpaca extends alpacaRest {
694
694
  //
695
695
  // crypto
696
696
  // {
697
- // T: 'subscription',
698
- // trades: [],
699
- // quotes: [ 'BTC/USDT' ],
700
- // orderbooks: [],
701
- // bars: [],
702
- // updatedBars: [],
703
- // dailyBars: []
697
+ // "T": "subscription",
698
+ // "trades": [],
699
+ // "quotes": [ "BTC/USDT" ],
700
+ // "orderbooks": [],
701
+ // "bars": [],
702
+ // "updatedBars": [],
703
+ // "dailyBars": []
704
704
  // }
705
705
  // trading
706
706
  // {
707
- // stream: 'listening',
708
- // data: {
709
- // streams: ['trade_updates']
707
+ // "stream": "listening",
708
+ // "data": {
709
+ // "streams": ["trade_updates"]
710
710
  // }
711
711
  // }
712
712
  //