ccxt 4.1.55 → 4.1.57

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 (328) hide show
  1. package/.git-templates/hooks/pre-push +2 -2
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +6 -6
  4. package/build.sh +30 -8
  5. package/dist/ccxt.browser.js +5592 -4907
  6. package/dist/ccxt.browser.min.js +13 -13
  7. package/dist/cjs/ccxt.js +1 -1
  8. package/dist/cjs/src/ace.js +17 -13
  9. package/dist/cjs/src/alpaca.js +6 -6
  10. package/dist/cjs/src/ascendex.js +35 -29
  11. package/dist/cjs/src/base/Exchange.js +39 -26
  12. package/dist/cjs/src/base/Precise.js +1 -3
  13. package/dist/cjs/src/bigone.js +24 -20
  14. package/dist/cjs/src/binance.js +97 -76
  15. package/dist/cjs/src/bingx.js +63 -44
  16. package/dist/cjs/src/bit2c.js +18 -15
  17. package/dist/cjs/src/bitbank.js +17 -15
  18. package/dist/cjs/src/bitbns.js +28 -18
  19. package/dist/cjs/src/bitfinex.js +23 -21
  20. package/dist/cjs/src/bitfinex2.js +32 -28
  21. package/dist/cjs/src/bitflyer.js +28 -20
  22. package/dist/cjs/src/bitforex.js +25 -18
  23. package/dist/cjs/src/bitget.js +184 -147
  24. package/dist/cjs/src/bithumb.js +23 -16
  25. package/dist/cjs/src/bitmart.js +129 -94
  26. package/dist/cjs/src/bitmex.js +104 -64
  27. package/dist/cjs/src/bitopro.js +38 -26
  28. package/dist/cjs/src/bitpanda.js +24 -23
  29. package/dist/cjs/src/bitrue.js +33 -24
  30. package/dist/cjs/src/bitso.js +24 -23
  31. package/dist/cjs/src/bitstamp.js +24 -23
  32. package/dist/cjs/src/bittrex.js +30 -29
  33. package/dist/cjs/src/bitvavo.js +38 -30
  34. package/dist/cjs/src/bl3p.js +11 -10
  35. package/dist/cjs/src/blockchaincom.js +20 -20
  36. package/dist/cjs/src/btcalpha.js +18 -17
  37. package/dist/cjs/src/btcbox.js +13 -12
  38. package/dist/cjs/src/btcmarkets.js +20 -19
  39. package/dist/cjs/src/btcturk.js +14 -13
  40. package/dist/cjs/src/bybit.js +84 -54
  41. package/dist/cjs/src/cex.js +16 -14
  42. package/dist/cjs/src/coinbase.js +29 -27
  43. package/dist/cjs/src/coinbasepro.js +27 -25
  44. package/dist/cjs/src/coincheck.js +15 -14
  45. package/dist/cjs/src/coinex.js +101 -78
  46. package/dist/cjs/src/coinlist.js +28 -27
  47. package/dist/cjs/src/coinmate.js +20 -17
  48. package/dist/cjs/src/coinone.js +21 -16
  49. package/dist/cjs/src/coinsph.js +37 -28
  50. package/dist/cjs/src/coinspot.js +12 -11
  51. package/dist/cjs/src/cryptocom.js +40 -202
  52. package/dist/cjs/src/currencycom.js +32 -25
  53. package/dist/cjs/src/delta.js +34 -28
  54. package/dist/cjs/src/deribit.js +39 -36
  55. package/dist/cjs/src/digifinex.js +64 -44
  56. package/dist/cjs/src/exmo.js +29 -27
  57. package/dist/cjs/src/gate.js +67 -53
  58. package/dist/cjs/src/gemini.js +23 -20
  59. package/dist/cjs/src/hitbtc.js +65 -56
  60. package/dist/cjs/src/hollaex.js +30 -27
  61. package/dist/cjs/src/htx.js +135 -143
  62. package/dist/cjs/src/huobijp.js +22 -20
  63. package/dist/cjs/src/idex.js +22 -21
  64. package/dist/cjs/src/independentreserve.js +15 -14
  65. package/dist/cjs/src/indodax.js +30 -26
  66. package/dist/cjs/src/kraken.js +29 -27
  67. package/dist/cjs/src/krakenfutures.js +29 -22
  68. package/dist/cjs/src/kucoin.js +48 -43
  69. package/dist/cjs/src/kucoinfutures.js +33 -28
  70. package/dist/cjs/src/kuna.js +25 -24
  71. package/dist/cjs/src/latoken.js +24 -22
  72. package/dist/cjs/src/lbank.js +45 -30
  73. package/dist/cjs/src/luno.js +22 -19
  74. package/dist/cjs/src/lykke.js +19 -17
  75. package/dist/cjs/src/mercado.js +30 -19
  76. package/dist/cjs/src/mexc.js +60 -49
  77. package/dist/cjs/src/ndax.js +23 -22
  78. package/dist/cjs/src/novadax.js +23 -22
  79. package/dist/cjs/src/oceanex.js +22 -19
  80. package/dist/cjs/src/okcoin.js +29 -23
  81. package/dist/cjs/src/okx.js +92 -84
  82. package/dist/cjs/src/p2b.js +80 -83
  83. package/dist/cjs/src/paymium.js +10 -10
  84. package/dist/cjs/src/phemex.js +63 -40
  85. package/dist/cjs/src/poloniex.js +22 -22
  86. package/dist/cjs/src/poloniexfutures.js +23 -19
  87. package/dist/cjs/src/pro/alpaca.js +5 -5
  88. package/dist/cjs/src/pro/ascendex.js +4 -4
  89. package/dist/cjs/src/pro/binance.js +16 -16
  90. package/dist/cjs/src/pro/bingx.js +1 -1
  91. package/dist/cjs/src/pro/bitfinex.js +4 -4
  92. package/dist/cjs/src/pro/bitfinex2.js +6 -6
  93. package/dist/cjs/src/pro/bitget.js +7 -7
  94. package/dist/cjs/src/pro/bitmart.js +7 -5
  95. package/dist/cjs/src/pro/bitmex.js +6 -6
  96. package/dist/cjs/src/pro/bitopro.js +4 -4
  97. package/dist/cjs/src/pro/bitpanda.js +6 -6
  98. package/dist/cjs/src/pro/bitrue.js +2 -2
  99. package/dist/cjs/src/pro/bitstamp.js +6 -4
  100. package/dist/cjs/src/pro/bittrex.js +6 -6
  101. package/dist/cjs/src/pro/bitvavo.js +11 -7
  102. package/dist/cjs/src/pro/blockchaincom.js +8 -8
  103. package/dist/cjs/src/pro/bybit.js +7 -7
  104. package/dist/cjs/src/pro/cex.js +13 -9
  105. package/dist/cjs/src/pro/coinbase.js +5 -5
  106. package/dist/cjs/src/pro/coinbasepro.js +11 -10
  107. package/dist/cjs/src/pro/coinex.js +7 -9
  108. package/dist/cjs/src/pro/cryptocom.js +9 -9
  109. package/dist/cjs/src/pro/currencycom.js +4 -4
  110. package/dist/cjs/src/pro/deribit.js +6 -6
  111. package/dist/cjs/src/pro/exmo.js +12 -14
  112. package/dist/cjs/src/pro/gate.js +7 -7
  113. package/dist/cjs/src/pro/gemini.js +3 -3
  114. package/dist/cjs/src/pro/hitbtc.js +263 -4
  115. package/dist/cjs/src/pro/hollaex.js +5 -5
  116. package/dist/cjs/src/pro/htx.js +6 -6
  117. package/dist/cjs/src/pro/huobijp.js +3 -3
  118. package/dist/cjs/src/pro/idex.js +4 -4
  119. package/dist/cjs/src/pro/independentreserve.js +2 -2
  120. package/dist/cjs/src/pro/kraken.js +10 -10
  121. package/dist/cjs/src/pro/krakenfutures.js +41 -17
  122. package/dist/cjs/src/pro/kucoin.js +7 -7
  123. package/dist/cjs/src/pro/kucoinfutures.js +8 -6
  124. package/dist/cjs/src/pro/luno.js +2 -2
  125. package/dist/cjs/src/pro/mexc.js +6 -6
  126. package/dist/cjs/src/pro/ndax.js +3 -3
  127. package/dist/cjs/src/pro/okcoin.js +5 -5
  128. package/dist/cjs/src/pro/okx.js +12 -12
  129. package/dist/cjs/src/pro/phemex.js +6 -6
  130. package/dist/cjs/src/pro/poloniex.js +7 -7
  131. package/dist/cjs/src/pro/poloniexfutures.js +5 -5
  132. package/dist/cjs/src/pro/probit.js +6 -6
  133. package/dist/cjs/src/pro/upbit.js +3 -3
  134. package/dist/cjs/src/pro/wazirx.js +8 -8
  135. package/dist/cjs/src/pro/whitebit.js +12 -8
  136. package/dist/cjs/src/pro/woo.js +1 -1
  137. package/dist/cjs/src/probit.js +28 -23
  138. package/dist/cjs/src/tidex.js +16 -15
  139. package/dist/cjs/src/timex.js +19 -18
  140. package/dist/cjs/src/tokocrypto.js +27 -22
  141. package/dist/cjs/src/upbit.js +19 -19
  142. package/dist/cjs/src/wavesexchange.js +22 -19
  143. package/dist/cjs/src/wazirx.js +24 -17
  144. package/dist/cjs/src/whitebit.js +33 -27
  145. package/dist/cjs/src/woo.js +44 -34
  146. package/dist/cjs/src/yobit.js +25 -20
  147. package/dist/cjs/src/zaif.js +9 -9
  148. package/dist/cjs/src/zonda.js +18 -17
  149. package/js/ccxt.d.ts +1 -1
  150. package/js/ccxt.js +1 -1
  151. package/js/src/abstract/bitbank.d.ts +1 -0
  152. package/js/src/abstract/bybit.d.ts +1 -0
  153. package/js/src/abstract/cryptocom.d.ts +0 -20
  154. package/js/src/abstract/htx.d.ts +3 -0
  155. package/js/src/abstract/huobi.d.ts +3 -0
  156. package/js/src/abstract/huobipro.d.ts +3 -0
  157. package/js/src/abstract/okex.d.ts +3 -1
  158. package/js/src/abstract/okex5.d.ts +3 -1
  159. package/js/src/abstract/okx.d.ts +3 -1
  160. package/js/src/ace.js +18 -14
  161. package/js/src/alpaca.js +6 -6
  162. package/js/src/ascendex.js +35 -29
  163. package/js/src/base/Exchange.d.ts +37 -34
  164. package/js/src/base/Exchange.js +39 -26
  165. package/js/src/base/Precise.d.ts +4 -4
  166. package/js/src/base/Precise.js +1 -3
  167. package/js/src/base/functions/type.d.ts +25 -25
  168. package/js/src/base/types.d.ts +21 -14
  169. package/js/src/bigone.js +25 -21
  170. package/js/src/binance.d.ts +2 -2
  171. package/js/src/binance.js +97 -76
  172. package/js/src/bingx.js +63 -44
  173. package/js/src/bit2c.js +19 -16
  174. package/js/src/bitbank.js +17 -15
  175. package/js/src/bitbns.js +28 -18
  176. package/js/src/bitfinex.js +23 -21
  177. package/js/src/bitfinex2.js +32 -28
  178. package/js/src/bitflyer.js +28 -20
  179. package/js/src/bitforex.js +26 -19
  180. package/js/src/bitget.d.ts +25 -3
  181. package/js/src/bitget.js +184 -147
  182. package/js/src/bithumb.js +23 -16
  183. package/js/src/bitmart.d.ts +1 -1
  184. package/js/src/bitmart.js +129 -94
  185. package/js/src/bitmex.d.ts +2 -2
  186. package/js/src/bitmex.js +104 -64
  187. package/js/src/bitopro.js +38 -26
  188. package/js/src/bitpanda.js +24 -23
  189. package/js/src/bitrue.js +33 -24
  190. package/js/src/bitso.js +24 -23
  191. package/js/src/bitstamp.d.ts +2 -2
  192. package/js/src/bitstamp.js +24 -23
  193. package/js/src/bittrex.js +30 -29
  194. package/js/src/bitvavo.js +38 -30
  195. package/js/src/bl3p.js +11 -10
  196. package/js/src/blockchaincom.js +20 -20
  197. package/js/src/btcalpha.js +18 -17
  198. package/js/src/btcbox.js +13 -12
  199. package/js/src/btcmarkets.js +20 -19
  200. package/js/src/btcturk.js +14 -13
  201. package/js/src/bybit.d.ts +1 -1
  202. package/js/src/bybit.js +84 -54
  203. package/js/src/cex.js +16 -14
  204. package/js/src/coinbase.js +29 -27
  205. package/js/src/coinbasepro.js +27 -25
  206. package/js/src/coincheck.js +15 -14
  207. package/js/src/coinex.d.ts +1 -1
  208. package/js/src/coinex.js +101 -78
  209. package/js/src/coinlist.js +28 -27
  210. package/js/src/coinmate.js +21 -18
  211. package/js/src/coinone.js +21 -16
  212. package/js/src/coinsph.js +37 -28
  213. package/js/src/coinspot.js +12 -11
  214. package/js/src/cryptocom.d.ts +0 -23
  215. package/js/src/cryptocom.js +40 -202
  216. package/js/src/currencycom.js +32 -25
  217. package/js/src/delta.js +35 -29
  218. package/js/src/deribit.js +39 -36
  219. package/js/src/digifinex.d.ts +2 -2
  220. package/js/src/digifinex.js +65 -45
  221. package/js/src/exmo.js +29 -27
  222. package/js/src/gate.d.ts +1 -1
  223. package/js/src/gate.js +67 -53
  224. package/js/src/gemini.js +23 -20
  225. package/js/src/hitbtc.d.ts +1 -0
  226. package/js/src/hitbtc.js +65 -56
  227. package/js/src/hollaex.js +30 -27
  228. package/js/src/htx.d.ts +11 -3
  229. package/js/src/htx.js +135 -143
  230. package/js/src/huobijp.js +23 -21
  231. package/js/src/idex.js +22 -21
  232. package/js/src/independentreserve.js +15 -14
  233. package/js/src/indodax.js +30 -26
  234. package/js/src/kraken.js +29 -27
  235. package/js/src/krakenfutures.js +29 -22
  236. package/js/src/kucoin.d.ts +1 -1
  237. package/js/src/kucoin.js +48 -43
  238. package/js/src/kucoinfutures.js +33 -28
  239. package/js/src/kuna.js +25 -24
  240. package/js/src/latoken.js +25 -23
  241. package/js/src/lbank.js +46 -31
  242. package/js/src/luno.js +22 -19
  243. package/js/src/lykke.js +19 -17
  244. package/js/src/mercado.js +30 -19
  245. package/js/src/mexc.d.ts +1 -1
  246. package/js/src/mexc.js +60 -49
  247. package/js/src/ndax.js +23 -22
  248. package/js/src/novadax.js +23 -22
  249. package/js/src/oceanex.js +22 -19
  250. package/js/src/okcoin.js +29 -23
  251. package/js/src/okx.d.ts +2 -2
  252. package/js/src/okx.js +92 -84
  253. package/js/src/p2b.d.ts +8 -7
  254. package/js/src/p2b.js +80 -82
  255. package/js/src/paymium.js +10 -10
  256. package/js/src/phemex.js +63 -40
  257. package/js/src/poloniex.js +22 -22
  258. package/js/src/poloniexfutures.js +23 -19
  259. package/js/src/pro/alpaca.js +5 -5
  260. package/js/src/pro/ascendex.js +4 -4
  261. package/js/src/pro/binance.js +16 -16
  262. package/js/src/pro/bingx.js +1 -1
  263. package/js/src/pro/bitfinex.js +4 -4
  264. package/js/src/pro/bitfinex2.d.ts +1 -1
  265. package/js/src/pro/bitfinex2.js +6 -6
  266. package/js/src/pro/bitget.js +7 -7
  267. package/js/src/pro/bitmart.js +7 -5
  268. package/js/src/pro/bitmex.js +6 -6
  269. package/js/src/pro/bitopro.js +4 -4
  270. package/js/src/pro/bitpanda.js +6 -6
  271. package/js/src/pro/bitrue.js +2 -2
  272. package/js/src/pro/bitstamp.js +7 -5
  273. package/js/src/pro/bittrex.js +6 -6
  274. package/js/src/pro/bitvavo.js +12 -8
  275. package/js/src/pro/blockchaincom.js +8 -8
  276. package/js/src/pro/bybit.js +7 -7
  277. package/js/src/pro/cex.js +14 -10
  278. package/js/src/pro/coinbase.js +5 -5
  279. package/js/src/pro/coinbasepro.js +12 -11
  280. package/js/src/pro/coinex.js +7 -9
  281. package/js/src/pro/cryptocom.js +9 -9
  282. package/js/src/pro/currencycom.js +4 -4
  283. package/js/src/pro/deribit.js +6 -6
  284. package/js/src/pro/exmo.js +12 -14
  285. package/js/src/pro/gate.js +7 -7
  286. package/js/src/pro/gemini.js +3 -3
  287. package/js/src/pro/hitbtc.d.ts +8 -1
  288. package/js/src/pro/hitbtc.js +264 -5
  289. package/js/src/pro/hollaex.js +5 -5
  290. package/js/src/pro/htx.js +6 -6
  291. package/js/src/pro/huobijp.js +3 -3
  292. package/js/src/pro/idex.js +4 -4
  293. package/js/src/pro/independentreserve.js +2 -2
  294. package/js/src/pro/kraken.js +10 -10
  295. package/js/src/pro/krakenfutures.d.ts +1 -0
  296. package/js/src/pro/krakenfutures.js +42 -18
  297. package/js/src/pro/kucoin.js +7 -7
  298. package/js/src/pro/kucoinfutures.js +8 -6
  299. package/js/src/pro/luno.js +2 -2
  300. package/js/src/pro/mexc.js +6 -6
  301. package/js/src/pro/ndax.js +3 -3
  302. package/js/src/pro/okcoin.js +5 -5
  303. package/js/src/pro/okx.js +12 -12
  304. package/js/src/pro/phemex.js +6 -6
  305. package/js/src/pro/poloniex.js +7 -7
  306. package/js/src/pro/poloniexfutures.js +5 -5
  307. package/js/src/pro/probit.js +6 -6
  308. package/js/src/pro/upbit.js +3 -3
  309. package/js/src/pro/wazirx.js +8 -8
  310. package/js/src/pro/whitebit.js +13 -9
  311. package/js/src/pro/woo.js +1 -1
  312. package/js/src/probit.js +29 -24
  313. package/js/src/tidex.js +16 -15
  314. package/js/src/timex.js +19 -18
  315. package/js/src/tokocrypto.js +28 -23
  316. package/js/src/upbit.js +19 -19
  317. package/js/src/wavesexchange.js +23 -20
  318. package/js/src/wazirx.js +25 -18
  319. package/js/src/whitebit.js +33 -27
  320. package/js/src/woo.js +45 -35
  321. package/js/src/yobit.js +25 -20
  322. package/js/src/zaif.js +9 -9
  323. package/js/src/zonda.js +18 -17
  324. package/package.json +2 -2
  325. package/js/src/bitstamp1.d.ts +0 -28
  326. package/js/src/bitstamp1.js +0 -430
  327. package/js/src/lbank2.d.ts +0 -90
  328. package/js/src/lbank2.js +0 -2779
@@ -1,430 +0,0 @@
1
- // ----------------------------------------------------------------------------
2
-
3
- // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
- // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
- // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
-
7
- // ---------------------------------------------------------------------------
8
- import Exchange from './abstract/bitstamp1.js';
9
- import { BadSymbol, ExchangeError } from './base/errors.js';
10
- import { Precise } from './base/Precise.js';
11
- import { TICK_SIZE } from './base/functions/number.js';
12
- import { sha256 } from './static_dependencies/noble-hashes/sha256.js';
13
- // ---------------------------------------------------------------------------
14
- /**
15
- * @class bitstamp1
16
- * @extends Exchange
17
- */
18
- export default class bitstamp1 extends Exchange {
19
- describe() {
20
- return this.deepExtend(super.describe(), {
21
- 'id': 'bitstamp1',
22
- 'name': 'Bitstamp',
23
- 'countries': ['GB'],
24
- 'rateLimit': 1000,
25
- 'version': 'v1',
26
- 'has': {
27
- 'CORS': true,
28
- 'spot': true,
29
- 'margin': false,
30
- 'swap': false,
31
- 'future': false,
32
- 'option': false,
33
- 'addMargin': false,
34
- 'cancelOrder': true,
35
- 'createOrder': true,
36
- 'createReduceOnlyOrder': false,
37
- 'createStopLimitOrder': false,
38
- 'createStopMarketOrder': false,
39
- 'createStopOrder': false,
40
- 'fetchBalance': true,
41
- 'fetchBorrowRate': false,
42
- 'fetchBorrowRateHistories': false,
43
- 'fetchBorrowRateHistory': false,
44
- 'fetchBorrowRates': false,
45
- 'fetchBorrowRatesPerSymbol': false,
46
- 'fetchFundingHistory': false,
47
- 'fetchFundingRate': false,
48
- 'fetchFundingRateHistory': false,
49
- 'fetchFundingRates': false,
50
- 'fetchIndexOHLCV': false,
51
- 'fetchLeverage': false,
52
- 'fetchMarginMode': false,
53
- 'fetchMarkOHLCV': false,
54
- 'fetchMyTrades': true,
55
- 'fetchOpenInterestHistory': false,
56
- 'fetchOrder': false,
57
- 'fetchOrderBook': true,
58
- 'fetchPosition': false,
59
- 'fetchPositionMode': false,
60
- 'fetchPositions': false,
61
- 'fetchPositionsRisk': false,
62
- 'fetchPremiumIndexOHLCV': false,
63
- 'fetchTicker': true,
64
- 'fetchTrades': true,
65
- 'reduceMargin': false,
66
- 'setLeverage': false,
67
- 'setMarginMode': false,
68
- 'setPositionMode': false,
69
- },
70
- 'urls': {
71
- 'logo': 'https://user-images.githubusercontent.com/1294454/27786377-8c8ab57e-5fe9-11e7-8ea4-2b05b6bcceec.jpg',
72
- 'api': {
73
- 'rest': 'https://www.bitstamp.net/api',
74
- },
75
- 'www': 'https://www.bitstamp.net',
76
- 'doc': 'https://www.bitstamp.net/api',
77
- },
78
- 'requiredCredentials': {
79
- 'apiKey': true,
80
- 'secret': true,
81
- 'uid': true,
82
- },
83
- 'api': {
84
- 'public': {
85
- 'get': [
86
- 'ticker',
87
- 'ticker_hour',
88
- 'order_book',
89
- 'transactions',
90
- 'eur_usd',
91
- ],
92
- },
93
- 'private': {
94
- 'post': [
95
- 'balance',
96
- 'user_transactions',
97
- 'open_orders',
98
- 'order_status',
99
- 'cancel_order',
100
- 'cancel_all_orders',
101
- 'buy',
102
- 'sell',
103
- 'bitcoin_deposit_address',
104
- 'unconfirmed_btc',
105
- 'ripple_withdrawal',
106
- 'ripple_address',
107
- 'withdrawal_requests',
108
- 'bitcoin_withdrawal',
109
- ],
110
- },
111
- },
112
- 'precisionMode': TICK_SIZE,
113
- 'markets': {
114
- 'BTC/USD': this.safeMarketStructure({ 'id': 'btcusd', 'symbol': 'BTC/USD', 'base': 'BTC', 'quote': 'USD', 'baseId': 'btc', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
115
- 'BTC/EUR': this.safeMarketStructure({ 'id': 'btceur', 'symbol': 'BTC/EUR', 'base': 'BTC', 'quote': 'EUR', 'baseId': 'btc', 'quoteId': 'eur', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
116
- 'EUR/USD': this.safeMarketStructure({ 'id': 'eurusd', 'symbol': 'EUR/USD', 'base': 'EUR', 'quote': 'USD', 'baseId': 'eur', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
117
- 'XRP/USD': this.safeMarketStructure({ 'id': 'xrpusd', 'symbol': 'XRP/USD', 'base': 'XRP', 'quote': 'USD', 'baseId': 'xrp', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
118
- 'XRP/EUR': this.safeMarketStructure({ 'id': 'xrpeur', 'symbol': 'XRP/EUR', 'base': 'XRP', 'quote': 'EUR', 'baseId': 'xrp', 'quoteId': 'eur', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
119
- 'XRP/BTC': this.safeMarketStructure({ 'id': 'xrpbtc', 'symbol': 'XRP/BTC', 'base': 'XRP', 'quote': 'BTC', 'baseId': 'xrp', 'quoteId': 'btc', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
120
- 'LTC/USD': this.safeMarketStructure({ 'id': 'ltcusd', 'symbol': 'LTC/USD', 'base': 'LTC', 'quote': 'USD', 'baseId': 'ltc', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
121
- 'LTC/EUR': this.safeMarketStructure({ 'id': 'ltceur', 'symbol': 'LTC/EUR', 'base': 'LTC', 'quote': 'EUR', 'baseId': 'ltc', 'quoteId': 'eur', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
122
- 'LTC/BTC': this.safeMarketStructure({ 'id': 'ltcbtc', 'symbol': 'LTC/BTC', 'base': 'LTC', 'quote': 'BTC', 'baseId': 'ltc', 'quoteId': 'btc', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
123
- 'ETH/USD': this.safeMarketStructure({ 'id': 'ethusd', 'symbol': 'ETH/USD', 'base': 'ETH', 'quote': 'USD', 'baseId': 'eth', 'quoteId': 'usd', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
124
- 'ETH/EUR': this.safeMarketStructure({ 'id': 'etheur', 'symbol': 'ETH/EUR', 'base': 'ETH', 'quote': 'EUR', 'baseId': 'eth', 'quoteId': 'eur', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
125
- 'ETH/BTC': this.safeMarketStructure({ 'id': 'ethbtc', 'symbol': 'ETH/BTC', 'base': 'ETH', 'quote': 'BTC', 'baseId': 'eth', 'quoteId': 'btc', 'maker': 0.005, 'taker': 0.005, 'type': 'spot', 'spot': true }),
126
- },
127
- });
128
- }
129
- async fetchOrderBook(symbol, limit = undefined, params = {}) {
130
- /**
131
- * @method
132
- * @name bitstamp1#fetchOrderBook
133
- * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
134
- * @param {string} symbol unified symbol of the market to fetch the order book for
135
- * @param {int} [limit] the maximum amount of order book entries to return
136
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
137
- * @returns {object} A dictionary of [order book structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-book-structure} indexed by market symbols
138
- */
139
- if (symbol !== 'BTC/USD') {
140
- throw new ExchangeError(this.id + ' ' + this.version + " fetchOrderBook doesn't support " + symbol + ', use it for BTC/USD only');
141
- }
142
- await this.loadMarkets();
143
- const orderbook = await this.publicGetOrderBook(params);
144
- const timestamp = this.safeTimestamp(orderbook, 'timestamp');
145
- return this.parseOrderBook(orderbook, symbol, timestamp);
146
- }
147
- parseTicker(ticker, market = undefined) {
148
- //
149
- // {
150
- // "volume": "2836.47827985",
151
- // "last": "36544.93",
152
- // "timestamp": "1643372072",
153
- // "bid": "36535.79",
154
- // "vwap":"36594.20",
155
- // "high": "37534.15",
156
- // "low": "35511.32",
157
- // "ask": "36548.47",
158
- // "open": 37179.62
159
- // }
160
- //
161
- const symbol = this.safeSymbol(undefined, market);
162
- const timestamp = this.safeTimestamp(ticker, 'timestamp');
163
- const vwap = this.safeString(ticker, 'vwap');
164
- const baseVolume = this.safeString(ticker, 'volume');
165
- const quoteVolume = Precise.stringMul(baseVolume, vwap);
166
- const last = this.safeString(ticker, 'last');
167
- return this.safeTicker({
168
- 'symbol': symbol,
169
- 'timestamp': timestamp,
170
- 'datetime': this.iso8601(timestamp),
171
- 'high': this.safeString(ticker, 'high'),
172
- 'low': this.safeString(ticker, 'low'),
173
- 'bid': this.safeString(ticker, 'bid'),
174
- 'bidVolume': undefined,
175
- 'ask': this.safeString(ticker, 'ask'),
176
- 'askVolume': undefined,
177
- 'vwap': vwap,
178
- 'open': this.safeString(ticker, 'open'),
179
- 'close': last,
180
- 'last': last,
181
- 'previousClose': undefined,
182
- 'change': undefined,
183
- 'percentage': undefined,
184
- 'average': undefined,
185
- 'baseVolume': baseVolume,
186
- 'quoteVolume': quoteVolume,
187
- 'info': ticker,
188
- }, market);
189
- }
190
- async fetchTicker(symbol, params = {}) {
191
- /**
192
- * @method
193
- * @name bitstamp1#fetchTicker
194
- * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
195
- * @param {string} symbol unified symbol of the market to fetch the ticker for
196
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
197
- * @returns {object} a [ticker structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure}
198
- */
199
- if (symbol !== 'BTC/USD') {
200
- throw new ExchangeError(this.id + ' ' + this.version + " fetchTicker doesn't support " + symbol + ', use it for BTC/USD only');
201
- }
202
- await this.loadMarkets();
203
- const market = this.market(symbol);
204
- const ticker = await this.publicGetTicker(params);
205
- //
206
- // {
207
- // "volume": "2836.47827985",
208
- // "last": "36544.93",
209
- // "timestamp": "1643372072",
210
- // "bid": "36535.79",
211
- // "vwap":"36594.20",
212
- // "high": "37534.15",
213
- // "low": "35511.32",
214
- // "ask": "36548.47",
215
- // "open": 37179.62
216
- // }
217
- //
218
- return this.parseTicker(ticker, market);
219
- }
220
- parseTrade(trade, market = undefined) {
221
- //
222
- // public trade
223
- //
224
- // {
225
- // "amount": "0.00114000",
226
- // "date": "1694287856",
227
- // "price": "25865",
228
- // "tid": 298730788,
229
- // "type": 0
230
- // }
231
- //
232
- const timestamp = this.safeTimestamp2(trade, 'date', 'datetime');
233
- const side = (trade['type'] === 0) ? 'buy' : 'sell';
234
- const orderId = this.safeString(trade, 'order_id');
235
- const id = this.safeString(trade, 'tid');
236
- const price = this.safeString(trade, 'price');
237
- const amount = this.safeString(trade, 'amount');
238
- const marketId = this.safeString(trade, 'currency_pair');
239
- market = this.safeMarket(marketId, market);
240
- return this.safeTrade({
241
- 'id': id,
242
- 'info': trade,
243
- 'timestamp': timestamp,
244
- 'datetime': this.iso8601(timestamp),
245
- 'symbol': market['symbol'],
246
- 'order': orderId,
247
- 'type': undefined,
248
- 'side': side,
249
- 'takerOrMaker': undefined,
250
- 'price': price,
251
- 'amount': amount,
252
- 'cost': undefined,
253
- 'fee': undefined,
254
- }, market);
255
- }
256
- async fetchTrades(symbol, since = undefined, limit = undefined, params = {}) {
257
- /**
258
- * @method
259
- * @name bitstamp1#fetchTrades
260
- * @description get the list of most recent trades for a particular symbol
261
- * @param {string} symbol unified symbol of the market to fetch trades for
262
- * @param {int} [since] timestamp in ms of the earliest trade to fetch
263
- * @param {int} [limit] the maximum amount of trades to fetch
264
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
265
- * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#public-trades}
266
- */
267
- if (symbol !== 'BTC/USD') {
268
- throw new BadSymbol(this.id + ' ' + this.version + " fetchTrades doesn't support " + symbol + ', use it for BTC/USD only');
269
- }
270
- await this.loadMarkets();
271
- const market = this.market(symbol);
272
- const request = {
273
- 'time': 'minute',
274
- };
275
- const response = await this.publicGetTransactions(this.extend(request, params));
276
- //
277
- // [
278
- // {
279
- // "amount": "0.00114000",
280
- // "date": "1694287856",
281
- // "price": "25865",
282
- // "tid": 298730788,
283
- // "type": 0
284
- // },
285
- // ]
286
- //
287
- return this.parseTrades(response, market, since, limit);
288
- }
289
- parseBalance(response) {
290
- const result = { 'info': response };
291
- const codes = Object.keys(this.currencies);
292
- for (let i = 0; i < codes.length; i++) {
293
- const code = codes[i];
294
- const currency = this.currency(code);
295
- const currencyId = currency['id'];
296
- const account = this.account();
297
- account['free'] = this.safeString(response, currencyId + '_available');
298
- account['used'] = this.safeString(response, currencyId + '_reserved');
299
- account['total'] = this.safeString(response, currencyId + '_balance');
300
- result[code] = account;
301
- }
302
- return this.safeBalance(result);
303
- }
304
- async fetchBalance(params = {}) {
305
- /**
306
- * @method
307
- * @name bitstamp1#fetchBalance
308
- * @description query for balance and get the amount of funds available for trading or funds locked in orders
309
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
310
- * @returns {object} a [balance structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#balance-structure}
311
- */
312
- const response = await this.privatePostBalance(params);
313
- return this.parseBalance(response);
314
- }
315
- async createOrder(symbol, type, side, amount, price = undefined, params = {}) {
316
- /**
317
- * @method
318
- * @name bitstamp1#createOrder
319
- * @description create a trade order
320
- * @param {string} symbol unified symbol of the market to create an order in
321
- * @param {string} type 'market' or 'limit'
322
- * @param {string} side 'buy' or 'sell'
323
- * @param {float} amount how much of currency you want to trade in units of base currency
324
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
325
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
326
- * @returns {object} an [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
327
- */
328
- if (type !== 'limit') {
329
- throw new ExchangeError(this.id + ' ' + this.version + ' accepts limit orders only');
330
- }
331
- if (symbol !== 'BTC/USD') {
332
- throw new ExchangeError(this.id + ' v1 supports BTC/USD orders only');
333
- }
334
- await this.loadMarkets();
335
- const method = 'privatePost' + this.capitalize(side);
336
- const request = {
337
- 'amount': amount,
338
- 'price': price,
339
- };
340
- const response = await this[method](this.extend(request, params));
341
- const id = this.safeString(response, 'id');
342
- return this.safeOrder({
343
- 'info': response,
344
- 'id': id,
345
- });
346
- }
347
- async cancelOrder(id, symbol = undefined, params = {}) {
348
- /**
349
- * @method
350
- * @name bitstamp1#cancelOrder
351
- * @description cancels an open order
352
- * @param {string} id order id
353
- * @param {string} symbol unified symbol of the market the order was made in
354
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
355
- * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
356
- */
357
- return await this.privatePostCancelOrder({ 'id': id });
358
- }
359
- parseOrderStatus(status) {
360
- const statuses = {
361
- 'In Queue': 'open',
362
- 'Open': 'open',
363
- 'Finished': 'closed',
364
- 'Canceled': 'canceled',
365
- };
366
- return this.safeString(statuses, status, status);
367
- }
368
- async fetchOrderStatus(id, symbol = undefined, params = {}) {
369
- await this.loadMarkets();
370
- const request = {
371
- 'id': id,
372
- };
373
- const response = await this.privatePostOrderStatus(this.extend(request, params));
374
- return this.parseOrderStatus(response);
375
- }
376
- async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
377
- /**
378
- * @method
379
- * @name bitstamp1#fetchMyTrades
380
- * @description fetch all trades made by the user
381
- * @param {string} symbol unified market symbol
382
- * @param {int} [since] the earliest time in ms to fetch trades for
383
- * @param {int} [limit] the maximum number of trades structures to retrieve
384
- * @param {object} [params] extra parameters specific to the bitstamp1 api endpoint
385
- * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
386
- */
387
- await this.loadMarkets();
388
- let market = undefined;
389
- if (symbol !== undefined) {
390
- market = this.market(symbol);
391
- }
392
- const response = await this.privatePostUserTransactions(params);
393
- return this.parseTrades(response, market, since, limit);
394
- }
395
- sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
396
- let url = this.urls['api']['rest'] + '/' + this.implodeParams(path, params);
397
- let query = this.omit(params, this.extractParams(path));
398
- if (api === 'public') {
399
- if (Object.keys(query).length) {
400
- url += '?' + this.urlencode(query);
401
- }
402
- }
403
- else {
404
- this.checkRequiredCredentials();
405
- const nonce = this.nonce().toString();
406
- const auth = nonce + this.uid + this.apiKey;
407
- const signature = this.hmac(this.encode(auth), this.encode(this.secret), sha256);
408
- query = this.extend({
409
- 'key': this.apiKey,
410
- 'signature': signature.toUpperCase(),
411
- 'nonce': nonce,
412
- }, query);
413
- body = this.urlencode(query);
414
- headers = {
415
- 'Content-Type': 'application/x-www-form-urlencoded',
416
- };
417
- }
418
- return { 'url': url, 'method': method, 'body': body, 'headers': headers };
419
- }
420
- handleErrors(httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody) {
421
- if (response === undefined) {
422
- return undefined;
423
- }
424
- const status = this.safeString(response, 'status');
425
- if (status === 'error') {
426
- throw new ExchangeError(this.id + ' ' + this.json(response));
427
- }
428
- return undefined;
429
- }
430
- }
@@ -1,90 +0,0 @@
1
- import Exchange from './abstract/lbank2.js';
2
- import { Balances, Int, OHLCV, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Tickers, Trade, Transaction } from './base/types.js';
3
- /**
4
- * @class lbank2
5
- * @extends Exchange
6
- */
7
- export default class lbank2 extends Exchange {
8
- describe(): any;
9
- fetchTime(params?: {}): Promise<number>;
10
- fetchMarkets(params?: {}): Promise<any>;
11
- fetchSpotMarkets(params?: {}): Promise<any[]>;
12
- fetchSwapMarkets(params?: {}): Promise<any[]>;
13
- parseTicker(ticker: any, market?: any): Ticker;
14
- fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
15
- fetchTickers(symbols?: string[], params?: {}): Promise<Tickers>;
16
- fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
17
- parseTrade(trade: any, market?: any): Trade;
18
- fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
- parseOHLCV(ohlcv: any, market?: any): OHLCV;
20
- fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
21
- parseBalance(response: any): Balances;
22
- fetchBalance(params?: {}): Promise<Balances>;
23
- parseTradingFee(fee: any, market?: any): {
24
- info: any;
25
- symbol: any;
26
- maker: number;
27
- taker: number;
28
- };
29
- fetchTradingFee(symbol: string, params?: {}): Promise<{}>;
30
- fetchTradingFees(params?: {}): Promise<{}>;
31
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
32
- parseOrderStatus(status: any): string;
33
- parseOrder(order: any, market?: any): Order;
34
- fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
35
- fetchOrderSupplement(id: string, symbol?: Str, params?: {}): Promise<Order>;
36
- fetchOrderDefault(id: string, symbol?: Str, params?: {}): Promise<Order>;
37
- fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
38
- fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
39
- fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
40
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
41
- cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
42
- getNetworkCodeForCurrency(currencyCode: any, params: any): string;
43
- fetchDepositAddress(code: string, params?: {}): Promise<any>;
44
- fetchDepositAddressDefault(code: string, params?: {}): Promise<{
45
- currency: string;
46
- address: string;
47
- tag: string;
48
- network: string;
49
- info: any;
50
- }>;
51
- fetchDepositAddressSupplement(code: string, params?: {}): Promise<{
52
- currency: string;
53
- address: string;
54
- tag: string;
55
- network: string;
56
- info: any;
57
- }>;
58
- withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<{
59
- info: any;
60
- id: string;
61
- }>;
62
- parseTransactionStatus(status: any, type: any): string;
63
- parseTransaction(transaction: any, currency?: any): Transaction;
64
- fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
65
- fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
66
- fetchTransactionFees(codes?: any, params?: {}): Promise<any>;
67
- fetchPrivateTransactionFees(params?: {}): Promise<{
68
- withdraw: {};
69
- deposit: {};
70
- info: any;
71
- }>;
72
- fetchPublicTransactionFees(params?: {}): Promise<{
73
- withdraw: {};
74
- deposit: {};
75
- info: any;
76
- }>;
77
- fetchDepositWithdrawFees(codes?: string[], params?: {}): Promise<any>;
78
- fetchPrivateDepositWithdrawFees(codes?: any, params?: {}): Promise<any>;
79
- fetchPublicDepositWithdrawFees(codes?: any, params?: {}): Promise<{}>;
80
- parsePublicDepositWithdrawFees(response: any, codes?: any): {};
81
- parseDepositWithdrawFee(fee: any, currency?: any): any;
82
- sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
83
- url: string;
84
- method: string;
85
- body: any;
86
- headers: any;
87
- };
88
- convertSecretToPem(secret: any): string;
89
- handleErrors(httpCode: any, reason: any, url: any, method: any, headers: any, body: any, response: any, requestHeaders: any, requestBody: any): any;
90
- }