ccxt-look 1.81.50

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 (264) hide show
  1. package/.cache/eslintcache +1 -0
  2. package/.dockerignore +6 -0
  3. package/.eslintignore +1 -0
  4. package/.gitattributes +5 -0
  5. package/.readthedocs.yaml +16 -0
  6. package/CONTRIBUTING.md +1049 -0
  7. package/LICENSE.txt +21 -0
  8. package/README.md +537 -0
  9. package/SECURITY.md +5 -0
  10. package/build/cleanup-old-tags.js +94 -0
  11. package/build/countries.js +256 -0
  12. package/build/export-exchanges.js +520 -0
  13. package/build/fs.js +51 -0
  14. package/build/transpile.js +1772 -0
  15. package/build/vss.js +78 -0
  16. package/ccxt.browser.js +7 -0
  17. package/ccxt.d.ts +692 -0
  18. package/ccxt.js +171 -0
  19. package/cleanup.sh +2 -0
  20. package/composer-install.sh +20 -0
  21. package/dist/ccxt.browser.js +208383 -0
  22. package/gource.sh +3 -0
  23. package/index.html +7 -0
  24. package/js/.eslintrc +87 -0
  25. package/js/aax.js +2686 -0
  26. package/js/ascendex.js +2584 -0
  27. package/js/base/.eslintrc.js +43 -0
  28. package/js/base/Exchange.js +2371 -0
  29. package/js/base/Precise.js +283 -0
  30. package/js/base/errorHierarchy.js +47 -0
  31. package/js/base/errors.js +55 -0
  32. package/js/base/functions/crypto.js +158 -0
  33. package/js/base/functions/encode.js +118 -0
  34. package/js/base/functions/generic.js +270 -0
  35. package/js/base/functions/misc.js +138 -0
  36. package/js/base/functions/number.js +329 -0
  37. package/js/base/functions/platform.js +38 -0
  38. package/js/base/functions/string.js +21 -0
  39. package/js/base/functions/throttle.js +79 -0
  40. package/js/base/functions/time.js +210 -0
  41. package/js/base/functions/type.js +66 -0
  42. package/js/base/functions.js +28 -0
  43. package/js/bequant.js +32 -0
  44. package/js/bibox.js +1407 -0
  45. package/js/bigone.js +1366 -0
  46. package/js/binance.js +5652 -0
  47. package/js/binancecoinm.js +46 -0
  48. package/js/binanceus.js +46 -0
  49. package/js/binanceusdm.js +49 -0
  50. package/js/bit2c.js +535 -0
  51. package/js/bitbank.js +842 -0
  52. package/js/bitbay.js +16 -0
  53. package/js/bitbns.js +1073 -0
  54. package/js/bitcoincom.js +15 -0
  55. package/js/bitfinex.js +1433 -0
  56. package/js/bitfinex2.js +2025 -0
  57. package/js/bitflyer.js +840 -0
  58. package/js/bitforex.js +614 -0
  59. package/js/bitget.js +2397 -0
  60. package/js/bithumb.js +980 -0
  61. package/js/bitmart.js +2516 -0
  62. package/js/bitmex.js +1809 -0
  63. package/js/bitopro.js +1443 -0
  64. package/js/bitpanda.js +1782 -0
  65. package/js/bitrue.js +1747 -0
  66. package/js/bitso.js +1062 -0
  67. package/js/bitstamp.js +1757 -0
  68. package/js/bitstamp1.js +343 -0
  69. package/js/bittrex.js +1876 -0
  70. package/js/bitvavo.js +1579 -0
  71. package/js/bkex.js +1233 -0
  72. package/js/bl3p.js +346 -0
  73. package/js/blockchaincom.js +969 -0
  74. package/js/btcalpha.js +680 -0
  75. package/js/btcbox.js +477 -0
  76. package/js/btcmarkets.js +1022 -0
  77. package/js/btctradeua.js +466 -0
  78. package/js/btcturk.js +734 -0
  79. package/js/buda.js +946 -0
  80. package/js/bw.js +1265 -0
  81. package/js/bybit.js +3372 -0
  82. package/js/bytetrade.js +1336 -0
  83. package/js/cdax.js +1646 -0
  84. package/js/cex.js +1410 -0
  85. package/js/coinbase.js +1342 -0
  86. package/js/coinbaseprime.js +31 -0
  87. package/js/coinbasepro.js +1466 -0
  88. package/js/coincheck.js +755 -0
  89. package/js/coinex.js +3400 -0
  90. package/js/coinfalcon.js +880 -0
  91. package/js/coinmate.js +794 -0
  92. package/js/coinone.js +816 -0
  93. package/js/coinspot.js +345 -0
  94. package/js/crex24.js +1636 -0
  95. package/js/cryptocom.js +1832 -0
  96. package/js/currencycom.js +1748 -0
  97. package/js/delta.js +1547 -0
  98. package/js/deribit.js +2148 -0
  99. package/js/digifinex.js +1585 -0
  100. package/js/eqonex.js +1660 -0
  101. package/js/exmo.js +1670 -0
  102. package/js/fairdesk.js +1231 -0
  103. package/js/flowbtc.js +35 -0
  104. package/js/fmfwio.js +34 -0
  105. package/js/ftx.js +2751 -0
  106. package/js/ftxus.js +38 -0
  107. package/js/gateio.js +4174 -0
  108. package/js/gemini.js +1397 -0
  109. package/js/hitbtc.js +1343 -0
  110. package/js/hitbtc3.js +2329 -0
  111. package/js/hollaex.js +1486 -0
  112. package/js/huobi.js +5706 -0
  113. package/js/huobijp.js +1710 -0
  114. package/js/huobipro.js +18 -0
  115. package/js/idex.js +1439 -0
  116. package/js/independentreserve.js +649 -0
  117. package/js/indodax.js +742 -0
  118. package/js/itbit.js +722 -0
  119. package/js/kraken.js +2179 -0
  120. package/js/kucoin.js +2571 -0
  121. package/js/kucoinfutures.js +1771 -0
  122. package/js/kuna.js +809 -0
  123. package/js/latoken.js +1445 -0
  124. package/js/lbank.js +760 -0
  125. package/js/liquid.js +1432 -0
  126. package/js/luno.js +873 -0
  127. package/js/lykke.js +1147 -0
  128. package/js/mercado.js +771 -0
  129. package/js/mexc.js +3151 -0
  130. package/js/ndax.js +2233 -0
  131. package/js/novadax.js +1318 -0
  132. package/js/oceanex.js +816 -0
  133. package/js/okcoin.js +3841 -0
  134. package/js/okex.js +16 -0
  135. package/js/okex5.js +16 -0
  136. package/js/okx.js +4795 -0
  137. package/js/paymium.js +498 -0
  138. package/js/phemex.js +2957 -0
  139. package/js/poloniex.js +1674 -0
  140. package/js/probit.js +1346 -0
  141. package/js/qtrade.js +1588 -0
  142. package/js/ripio.js +1061 -0
  143. package/js/static_dependencies/BN/bn.js +3526 -0
  144. package/js/static_dependencies/README.md +1 -0
  145. package/js/static_dependencies/crypto-js/crypto-js.js +5988 -0
  146. package/js/static_dependencies/elliptic/lib/elliptic/curve/base.js +375 -0
  147. package/js/static_dependencies/elliptic/lib/elliptic/curve/edwards.js +433 -0
  148. package/js/static_dependencies/elliptic/lib/elliptic/curve/index.js +8 -0
  149. package/js/static_dependencies/elliptic/lib/elliptic/curve/mont.js +180 -0
  150. package/js/static_dependencies/elliptic/lib/elliptic/curve/short.js +938 -0
  151. package/js/static_dependencies/elliptic/lib/elliptic/curves.js +204 -0
  152. package/js/static_dependencies/elliptic/lib/elliptic/ec/index.js +240 -0
  153. package/js/static_dependencies/elliptic/lib/elliptic/ec/key.js +119 -0
  154. package/js/static_dependencies/elliptic/lib/elliptic/ec/signature.js +24 -0
  155. package/js/static_dependencies/elliptic/lib/elliptic/eddsa/index.js +145 -0
  156. package/js/static_dependencies/elliptic/lib/elliptic/eddsa/key.js +100 -0
  157. package/js/static_dependencies/elliptic/lib/elliptic/eddsa/signature.js +65 -0
  158. package/js/static_dependencies/elliptic/lib/elliptic/precomputed/secp256k1.js +780 -0
  159. package/js/static_dependencies/elliptic/lib/elliptic/utils.js +214 -0
  160. package/js/static_dependencies/elliptic/lib/elliptic.js +22 -0
  161. package/js/static_dependencies/elliptic/lib/hmac-drbg/hmac-drbg.js +114 -0
  162. package/js/static_dependencies/fetch-ponyfill/fetch-node.js +39 -0
  163. package/js/static_dependencies/node-fetch/index.js +1564 -0
  164. package/js/static_dependencies/node-rsa/NodeRSA.js +223 -0
  165. package/js/static_dependencies/node-rsa/asn1/ber/errors.js +13 -0
  166. package/js/static_dependencies/node-rsa/asn1/ber/index.js +21 -0
  167. package/js/static_dependencies/node-rsa/asn1/ber/reader.js +262 -0
  168. package/js/static_dependencies/node-rsa/asn1/ber/types.js +36 -0
  169. package/js/static_dependencies/node-rsa/asn1/index.js +17 -0
  170. package/js/static_dependencies/node-rsa/encryptEngines/js.js +34 -0
  171. package/js/static_dependencies/node-rsa/formats/components.js +71 -0
  172. package/js/static_dependencies/node-rsa/formats/formats.js +31 -0
  173. package/js/static_dependencies/node-rsa/formats/pkcs1.js +148 -0
  174. package/js/static_dependencies/node-rsa/formats/pkcs8.js +187 -0
  175. package/js/static_dependencies/node-rsa/libs/jsbn.js +1252 -0
  176. package/js/static_dependencies/node-rsa/libs/rsa.js +147 -0
  177. package/js/static_dependencies/node-rsa/schemes/pkcs1.js +176 -0
  178. package/js/static_dependencies/node-rsa/schemes/schemes.js +21 -0
  179. package/js/static_dependencies/node-rsa/utils.js +98 -0
  180. package/js/static_dependencies/qs/formats.js +18 -0
  181. package/js/static_dependencies/qs/index.js +11 -0
  182. package/js/static_dependencies/qs/parse.js +242 -0
  183. package/js/static_dependencies/qs/stringify.js +269 -0
  184. package/js/static_dependencies/qs/utils.js +230 -0
  185. package/js/stex.js +1925 -0
  186. package/js/test/.eslintrc.js +42 -0
  187. package/js/test/Exchange/test.balance.js +61 -0
  188. package/js/test/Exchange/test.borrowRate.js +32 -0
  189. package/js/test/Exchange/test.currency.js +52 -0
  190. package/js/test/Exchange/test.fetchBalance.js +23 -0
  191. package/js/test/Exchange/test.fetchBorrowInterest.js +59 -0
  192. package/js/test/Exchange/test.fetchBorrowRate.js +32 -0
  193. package/js/test/Exchange/test.fetchBorrowRates.js +28 -0
  194. package/js/test/Exchange/test.fetchClosedOrders.js +32 -0
  195. package/js/test/Exchange/test.fetchCurrencies.js +35 -0
  196. package/js/test/Exchange/test.fetchDeposits.js +31 -0
  197. package/js/test/Exchange/test.fetchFundingFees.js +19 -0
  198. package/js/test/Exchange/test.fetchFundingRateHistory.js +40 -0
  199. package/js/test/Exchange/test.fetchL2OrderBook.js +23 -0
  200. package/js/test/Exchange/test.fetchLedger.js +42 -0
  201. package/js/test/Exchange/test.fetchLeverageTiers.js +33 -0
  202. package/js/test/Exchange/test.fetchMarketLeverageTiers.js +22 -0
  203. package/js/test/Exchange/test.fetchMarkets.js +33 -0
  204. package/js/test/Exchange/test.fetchMyTrades.js +42 -0
  205. package/js/test/Exchange/test.fetchOHLCV.js +46 -0
  206. package/js/test/Exchange/test.fetchOpenOrders.js +36 -0
  207. package/js/test/Exchange/test.fetchOrderBook.js +25 -0
  208. package/js/test/Exchange/test.fetchOrderBooks.js +35 -0
  209. package/js/test/Exchange/test.fetchOrders.js +41 -0
  210. package/js/test/Exchange/test.fetchPositions.js +47 -0
  211. package/js/test/Exchange/test.fetchStatus.js +35 -0
  212. package/js/test/Exchange/test.fetchTicker.js +38 -0
  213. package/js/test/Exchange/test.fetchTickers.js +49 -0
  214. package/js/test/Exchange/test.fetchTrades.js +39 -0
  215. package/js/test/Exchange/test.fetchTradingFee.js +18 -0
  216. package/js/test/Exchange/test.fetchTradingFees.js +22 -0
  217. package/js/test/Exchange/test.fetchTransactions.js +31 -0
  218. package/js/test/Exchange/test.fetchWithdrawals.js +31 -0
  219. package/js/test/Exchange/test.ledgerItem.js +46 -0
  220. package/js/test/Exchange/test.leverageTier.js +33 -0
  221. package/js/test/Exchange/test.loadMarkets.js +35 -0
  222. package/js/test/Exchange/test.market.js +129 -0
  223. package/js/test/Exchange/test.ohlcv.js +33 -0
  224. package/js/test/Exchange/test.order.js +62 -0
  225. package/js/test/Exchange/test.orderbook.js +61 -0
  226. package/js/test/Exchange/test.position.js +21 -0
  227. package/js/test/Exchange/test.throttle.js +94 -0
  228. package/js/test/Exchange/test.ticker.js +95 -0
  229. package/js/test/Exchange/test.trade.js +68 -0
  230. package/js/test/Exchange/test.tradingFee.js +34 -0
  231. package/js/test/Exchange/test.transaction.js +35 -0
  232. package/js/test/base/.eslintrc +38 -0
  233. package/js/test/base/functions/test.crypto.js +110 -0
  234. package/js/test/base/functions/test.datetime.js +62 -0
  235. package/js/test/base/functions/test.generic.js +152 -0
  236. package/js/test/base/functions/test.number.js +362 -0
  237. package/js/test/base/functions/test.time.js +56 -0
  238. package/js/test/base/functions/test.type.js +53 -0
  239. package/js/test/base/test.base.js +193 -0
  240. package/js/test/errors/test.InsufficientFunds.js +86 -0
  241. package/js/test/errors/test.InvalidNonce.js +64 -0
  242. package/js/test/errors/test.InvalidOrder.js +35 -0
  243. package/js/test/errors/test.OrderNotFound.js +39 -0
  244. package/js/test/test.js +426 -0
  245. package/js/test/test.timeout_hang.js +12 -0
  246. package/js/therock.js +1431 -0
  247. package/js/tidebit.js +632 -0
  248. package/js/tidex.js +939 -0
  249. package/js/timex.js +1283 -0
  250. package/js/upbit.js +1622 -0
  251. package/js/vcc.js +1353 -0
  252. package/js/wavesexchange.js +2185 -0
  253. package/js/wazirx.js +732 -0
  254. package/js/whitebit.js +1352 -0
  255. package/js/woo.js +1577 -0
  256. package/js/xena.js +1948 -0
  257. package/js/yobit.js +1129 -0
  258. package/js/zaif.js +647 -0
  259. package/js/zb.js +4088 -0
  260. package/js/zipmex.js +40 -0
  261. package/js/zonda.js +1497 -0
  262. package/multilang.sh +159 -0
  263. package/package.json +591 -0
  264. package/postinstall.js +103 -0
package/package.json ADDED
@@ -0,0 +1,591 @@
1
+ {
2
+ "name": "ccxt-look",
3
+ "version": "1.81.50",
4
+ "description": "A JavaScript / Python / PHP cryptocurrency trading library with support for 130+ exchanges",
5
+ "main": "./ccxt.js",
6
+ "unpkg": "dist/ccxt.browser.js",
7
+ "engines": {
8
+ "node": ">=10.4.0"
9
+ },
10
+ "publishConfig": {
11
+ "registry": "https://registry.npmjs.com"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/ccxt/ccxt.git"
16
+ },
17
+ "readme": "README.md",
18
+ "scripts": {
19
+ "docker": "docker-compose run --rm ccxt",
20
+ "build": "npm run pre-transpile && npm run transpile && npm run post-transpile && npm run update-badges",
21
+ "force-build": "npm run pre-transpile && npm run force-transpile && npm run post-transpile && npm run update-badges",
22
+ "pre-transpile": "npm run export-exchanges && npm run vss && npm run copy-python-files && npm run check-js-syntax && npm run browserify",
23
+ "post-transpile": "npm run check-python-syntax && npm run check-php-syntax",
24
+ "test": "npm run build && node run-tests",
25
+ "fast-test": "node run-tests --js",
26
+ "test-js": "node run-tests --js",
27
+ "test-py": "node run-tests --python",
28
+ "test-php": "node run-tests --php",
29
+ "test-base": "npm run test-js-base && npm run test-python-base && npm run test-php-base",
30
+ "test-js-base": "node ./js/test/base/test.base.js",
31
+ "test-python-base": "python3 python/ccxt/test/test_decimal_to_precision.py && python3 python/ccxt/test/test_crypto.py",
32
+ "test-php-base": "php -f php/test/decimal_to_precision.php && php -f php/test/test_crypto.php",
33
+ "cli.js": "node ./examples/js/cli.js",
34
+ "cli.py": "python3 ./examples/py/cli.py",
35
+ "cli.php": "php ./examples/php/cli.php",
36
+ "export-exchanges": "node build/export-exchanges",
37
+ "export-docs": "python3 build/export-docs.py",
38
+ "capabilities": "node ./examples/js/exchange-capabilities.js",
39
+ "git-ignore-generated-files": "node build/git-ignore-generated-files",
40
+ "git-unignore-generated-files": "node build/git-ignore-generated-files --unignore",
41
+ "update-badges": "node build/update-badges",
42
+ "update-links": "node build/update-links",
43
+ "transpile": "node build/transpile",
44
+ "force-transpile": "node build/transpile --force",
45
+ "vss": "node build/vss",
46
+ "lint": "eslint",
47
+ "check-syntax": "npm run transpile && npm run check-js-syntax && npm run check-python-syntax && npm run check-php-syntax",
48
+ "check-js-syntax": "node -e \"console.log(process.cwd())\" && eslint --version && eslint \"js/*.js\" --cache --cache-location .cache/eslintcache --cache-strategy metadata",
49
+ "check-python-syntax": "cd python && tox -e qa && cd ..",
50
+ "check-php-syntax": "php -f php/test/syntax.php",
51
+ "browserify": "browserify ./ccxt.browser.js > ./dist/ccxt.browser.js",
52
+ "copy-python-files": "npm run copy-python-package && npm run copy-python-license && npm run copy-python-keys && npm run copy-python-readme",
53
+ "copy-python-package": "node build/copy package.json python/package.json",
54
+ "copy-python-license": "node build/copy LICENSE.txt python/LICENSE.txt",
55
+ "copy-python-keys": "node build/copy keys.json python/keys.json",
56
+ "copy-python-readme": "node build/copy README.md python/README.md",
57
+ "postinstall": "node postinstall"
58
+ },
59
+ "types": "./ccxt.d.ts",
60
+ "devDependencies": {
61
+ "ansicolor": "1.1.81",
62
+ "as-table": "1.0.37",
63
+ "asciichart": "1.5.25",
64
+ "browserify": "14.5.0",
65
+ "eslint": "^8.8.0",
66
+ "eslint-config-airbnb-base": "15.0.0",
67
+ "eslint-plugin-import": "2.25.4",
68
+ "ololog": "1.1.155"
69
+ },
70
+ "author": {
71
+ "name": "Igor Kroitor",
72
+ "email": "igor.kroitor@gmail.com",
73
+ "url": "https://github.com/kroitor"
74
+ },
75
+ "license": "MIT",
76
+ "bugs": {
77
+ "url": "https://github.com/ccxt/ccxt/issues"
78
+ },
79
+ "homepage": "https://ccxt.com",
80
+ "keywords": [
81
+ "algorithmic",
82
+ "algotrading",
83
+ "altcoin",
84
+ "altcoins",
85
+ "api",
86
+ "arbitrage",
87
+ "real-time",
88
+ "realtime",
89
+ "backtest",
90
+ "backtesting",
91
+ "bitcoin",
92
+ "bot",
93
+ "btc",
94
+ "cny",
95
+ "coin",
96
+ "coins",
97
+ "crypto",
98
+ "cryptocurrency",
99
+ "crypto currency",
100
+ "crypto market",
101
+ "currency",
102
+ "currencies",
103
+ "darkcoin",
104
+ "dash",
105
+ "digital currency",
106
+ "doge",
107
+ "dogecoin",
108
+ "e-commerce",
109
+ "etc",
110
+ "eth",
111
+ "ether",
112
+ "ethereum",
113
+ "exchange",
114
+ "exchanges",
115
+ "eur",
116
+ "framework",
117
+ "invest",
118
+ "investing",
119
+ "investor",
120
+ "library",
121
+ "light",
122
+ "litecoin",
123
+ "ltc",
124
+ "market",
125
+ "market data",
126
+ "markets",
127
+ "merchandise",
128
+ "merchant",
129
+ "minimal",
130
+ "ohlcv",
131
+ "order",
132
+ "orderbook",
133
+ "order book",
134
+ "price",
135
+ "price data",
136
+ "pricefeed",
137
+ "private",
138
+ "public",
139
+ "ripple",
140
+ "strategy",
141
+ "ticker",
142
+ "tickers",
143
+ "toolkit",
144
+ "trade",
145
+ "trader",
146
+ "trading",
147
+ "usd",
148
+ "volume",
149
+ "websocket",
150
+ "websockets",
151
+ "web socket",
152
+ "web sockets",
153
+ "ws",
154
+ "xbt",
155
+ "xrp",
156
+ "zec",
157
+ "zerocoin",
158
+ "1Broker",
159
+ "1BTCXE",
160
+ "ACX",
161
+ "acx.io",
162
+ "Allcoin",
163
+ "allcoin.com",
164
+ "ANX",
165
+ "ANXPro",
166
+ "Bibox",
167
+ "bibox.com",
168
+ "Binance",
169
+ "binance.com",
170
+ "bit2c.co.il",
171
+ "Bit2C",
172
+ "BitBay",
173
+ "BitBays",
174
+ "bitcoincoid",
175
+ "Bitcoin.co.id",
176
+ "Bitfinex",
177
+ "bitFlyer",
178
+ "bitflyer.jp",
179
+ "Bithumb",
180
+ "bithumb.com",
181
+ "Bitlish",
182
+ "BitMarket",
183
+ "BitMEX",
184
+ "Bitso",
185
+ "Bitstamp",
186
+ "Bittrex",
187
+ "BL3P",
188
+ "Bleutrade",
189
+ "bleutrade.com",
190
+ "BlinkTrade",
191
+ "Braziliex",
192
+ "braziliex.com",
193
+ "BtcBox",
194
+ "btcbox.co.jp",
195
+ "BTCC",
196
+ "BTCChina",
197
+ "BTC-e",
198
+ "BTCe",
199
+ "BTCExchange",
200
+ "btcexchange.ph",
201
+ "BTC Markets",
202
+ "btcmarkets",
203
+ "btcmarkets.net",
204
+ "BTCTrader",
205
+ "btctrader.com",
206
+ "btc-trade.com.ua",
207
+ "BTC Trade UA",
208
+ "BTCTurk",
209
+ "btcturk.com",
210
+ "BTCX",
211
+ "btc-x",
212
+ "bter",
213
+ "Bter.com",
214
+ "bx.in.th",
215
+ "ccex",
216
+ "C-CEX",
217
+ "cex",
218
+ "CEX.IO",
219
+ "CHBTC",
220
+ "ChileBit",
221
+ "chilebit.net",
222
+ "coincheck",
223
+ "CoinExchange",
224
+ "coinexchange.io",
225
+ "Coingi",
226
+ "coingi.com",
227
+ "CoinMarketCap",
228
+ "CoinMate",
229
+ "Coinsecure",
230
+ "CoinSpot",
231
+ "coinspot.com.au",
232
+ "Crypto Capital",
233
+ "cryptocapital.co",
234
+ "DSX",
235
+ "dsx.uk",
236
+ "EXMO",
237
+ "Fairdesk",
238
+ "flowBTC",
239
+ "flowbtc.com",
240
+ "FoxBit",
241
+ "foxbit.exchange",
242
+ "FYB-SE",
243
+ "FYB-SG",
244
+ "Gatecoin",
245
+ "GDAX",
246
+ "Gemini",
247
+ "HitBTC",
248
+ "Huobi",
249
+ "HuobiPRO",
250
+ "huobi.pro",
251
+ "Independent Reserve",
252
+ "independentreserve.com",
253
+ "itBit",
254
+ "jubi.com",
255
+ "Kraken",
256
+ "KuCoin",
257
+ "Kuna",
258
+ "LakeBTC",
259
+ "lakebtc.com",
260
+ "LiveCoin",
261
+ "Liqui",
262
+ "liqui.io",
263
+ "luno",
264
+ "mercado",
265
+ "MercadoBitcoin",
266
+ "mercadobitcoin.br",
267
+ "MixCoins",
268
+ "mixcoins.com",
269
+ "nova",
270
+ "Novaexchange",
271
+ "novaexchange.com",
272
+ "OKCoin",
273
+ "okcoin.com",
274
+ "okcoin.cn",
275
+ "OKEX",
276
+ "okex.com",
277
+ "Paymium",
278
+ "Poloniex",
279
+ "QuadrigaCX",
280
+ "Qryptos",
281
+ "QUOINEX",
282
+ "SouthXchange",
283
+ "SurBitcoin",
284
+ "surbitcoin.com",
285
+ "Tidex",
286
+ "tidex.com",
287
+ "TheRockTrading",
288
+ "UrduBit",
289
+ "urdubit.com",
290
+ "Vaultoro",
291
+ "VBTC",
292
+ "vbtc.exchange",
293
+ "vbtc.vn",
294
+ "VirWoX",
295
+ "WEX",
296
+ "wex.nz",
297
+ "xBTCe",
298
+ "xbtce.com",
299
+ "YoBit",
300
+ "yobit.net",
301
+ "YUNBI",
302
+ "Zaif",
303
+ "ZB",
304
+ "1btcxe.com",
305
+ "anxpro.com",
306
+ "anybits.com",
307
+ "Anybits",
308
+ "bcex.top",
309
+ "BCEX",
310
+ "big.one",
311
+ "BigONE",
312
+ "bitbank.cc",
313
+ "bitbank",
314
+ "bitbay.net",
315
+ "bitfinex.com",
316
+ "bitforex.com",
317
+ "Bitforex",
318
+ "bitibu.com",
319
+ "Bitibu",
320
+ "bitkk.com",
321
+ "bitkk",
322
+ "bitlish.com",
323
+ "bitmarket.pl",
324
+ "bitmarket.net",
325
+ "bitmex.com",
326
+ "bitsane.com",
327
+ "Bitsane",
328
+ "bitso.com",
329
+ "bitstamp.net",
330
+ "bittrex.com",
331
+ "bit-z.com",
332
+ "Bit-Z",
333
+ "bl3p.eu",
334
+ "bitonic.nl",
335
+ "btc-alpha.com",
336
+ "BTC-Alpha",
337
+ "btcchina.com",
338
+ "BtcTrade.im",
339
+ "buda.com",
340
+ "Buda",
341
+ "c-cex.com",
342
+ "trade.chbtc.com",
343
+ "cobinhood.com",
344
+ "COBINHOOD",
345
+ "coinbase.com",
346
+ "Coinbase",
347
+ "prime.coinbase.com",
348
+ "Coinbase Prime",
349
+ "pro.coinbase.com",
350
+ "Coinbase Pro",
351
+ "coincheck.com",
352
+ "coinegg.com",
353
+ "CoinEgg",
354
+ "coinex.com",
355
+ "CoinEx",
356
+ "coinfalcon.com",
357
+ "CoinFalcon",
358
+ "coinfloor.co.uk",
359
+ "coinfloor",
360
+ "coinmarketcap.com",
361
+ "coinmate.io",
362
+ "coinnest.co.kr",
363
+ "coinnest",
364
+ "coinone.co.kr",
365
+ "CoinOne",
366
+ "cointiger.pro",
367
+ "CoinTiger",
368
+ "coolcoin.com",
369
+ "CoolCoin",
370
+ "coss.io",
371
+ "COSS",
372
+ "crex24.com",
373
+ "CREX24",
374
+ "cryptonbtc.com",
375
+ "Crypton",
376
+ "deribit.com",
377
+ "Deribit",
378
+ "ethfinex.com",
379
+ "Ethfinex",
380
+ "exmo.me",
381
+ "exx.com",
382
+ "EXX",
383
+ "fcoin.com",
384
+ "FCoin",
385
+ "trader.flowbtc.com",
386
+ "fybse.se",
387
+ "fybsg.com",
388
+ "gatecoin.com",
389
+ "gate.io",
390
+ "gdax.com",
391
+ "gemini.com",
392
+ "getbtc.org",
393
+ "GetBTC",
394
+ "hadax.com",
395
+ "HADAX",
396
+ "hitbtc.com",
397
+ "Huobi Pro",
398
+ "huobi.com.ru",
399
+ "Huobi Russia",
400
+ "ice3x.com",
401
+ "ice3x.co.za",
402
+ "ICE3X",
403
+ "indodax.com",
404
+ "INDODAX",
405
+ "itbit.com",
406
+ "kkex.com",
407
+ "KKEX",
408
+ "kraken.com",
409
+ "kucoin.com",
410
+ "kuna.io",
411
+ "lbank.info",
412
+ "LBank",
413
+ "liquid.com",
414
+ "Liquid",
415
+ "livecoin.net",
416
+ "luno.com",
417
+ "lykke.com",
418
+ "Lykke",
419
+ "mercadobitcoin.com.br",
420
+ "Mercado Bitcoin",
421
+ "negociecoins.com.br",
422
+ "NegocieCoins",
423
+ "OKCoin CNY",
424
+ "OKCoin USD",
425
+ "paymium.com",
426
+ "poloniex.com",
427
+ "quadrigacx.com",
428
+ "rightbtc.com",
429
+ "RightBTC",
430
+ "southxchange.com",
431
+ "stronghold.co",
432
+ "Stronghold",
433
+ "theocean.trade",
434
+ "The Ocean",
435
+ "therocktrading.com",
436
+ "tidebit.com",
437
+ "TideBit",
438
+ "uex.com",
439
+ "UEX",
440
+ "upbit.com",
441
+ "Upbit",
442
+ "vaultoro.com",
443
+ "virwox.com",
444
+ "yunbi.com",
445
+ "zaif.jp",
446
+ "zb.com",
447
+ "fcoinjp.com",
448
+ "FCoinJP",
449
+ "binance.je",
450
+ "Binance Jersey",
451
+ "bequant.io",
452
+ "Bequant",
453
+ "DX.Exchange",
454
+ "oceanex.pro.com",
455
+ "OceanEx",
456
+ "flowbtc.com.br",
457
+ "foxbit.com.br",
458
+ "latoken.com",
459
+ "Latoken",
460
+ "bitmart.com",
461
+ "BitMart",
462
+ "digifinex.vip",
463
+ "DigiFinex",
464
+ "idex.market",
465
+ "IDEX",
466
+ "adara.io",
467
+ "Adara",
468
+ "binance.us",
469
+ "Binance US",
470
+ "whitebit.com",
471
+ "WhiteBit",
472
+ "bitmax.io",
473
+ "BitMax",
474
+ "bytetrade.com",
475
+ "ByteTrade",
476
+ "ftx.com",
477
+ "FTX",
478
+ "{hostname}",
479
+ "bw.com",
480
+ "stex.com",
481
+ "STEX",
482
+ "BW",
483
+ "timex.io",
484
+ "TimeX",
485
+ "bitz.com",
486
+ "topliq.com",
487
+ "TOP.Q",
488
+ "hollaex.com",
489
+ "HollaEx",
490
+ "bybit.com",
491
+ "Bybit",
492
+ "aofex.com",
493
+ "AOFEX",
494
+ "byte-trade.com",
495
+ "hbtc.com",
496
+ "HBTC",
497
+ "probit.com",
498
+ "ProBit",
499
+ "eterbase.com",
500
+ "Eterbase",
501
+ "qtrade.io",
502
+ "qTrade",
503
+ "dsxglobal.com",
504
+ "bitvavo.com",
505
+ "Bitvavo",
506
+ "currency.com",
507
+ "waves.exchange",
508
+ "phemex.com",
509
+ "Phemex",
510
+ "huobi.co.jp",
511
+ "Huobi Japan",
512
+ "digifinex.com",
513
+ "bitflyer.com",
514
+ "bitpanda.com",
515
+ "Bitpanda",
516
+ "Bitpanda Pro",
517
+ "xena.exchange",
518
+ "Xena Exchange",
519
+ "bitget.com",
520
+ "Bitget",
521
+ "idex.io",
522
+ "novadax.com.br",
523
+ "NovaDAX",
524
+ "exchange.ripio.com",
525
+ "Ripio",
526
+ "huobi.com",
527
+ "exchange.bitcoin.com",
528
+ "bitcoin.com",
529
+ "bibox365.com",
530
+ "vcc.exchange",
531
+ "VCC Exchange",
532
+ "cdax.io",
533
+ "CDAX",
534
+ "delta.exchange",
535
+ "Delta Exchange",
536
+ "gopax.co.kr",
537
+ "GOPAX",
538
+ "aax.com",
539
+ "AAX",
540
+ "aaxpro.com",
541
+ "equos.io",
542
+ "EQUOS",
543
+ "ndax.io",
544
+ "NDAX",
545
+ "ascendex.com",
546
+ "AscendEX",
547
+ "exchange.coinbase.com",
548
+ "bitbns.com",
549
+ "Bitbns",
550
+ "Binance COIN-M Futures",
551
+ "Binance USDⓈ-M Futures",
552
+ "Binance COIN-M",
553
+ "Binance USDⓈ-M",
554
+ "eqonex.com",
555
+ "EQONEX",
556
+ "fmfw.io",
557
+ "mexc.com",
558
+ "MEXC Global",
559
+ "bitrue.com",
560
+ "Bitrue",
561
+ "ftx.us",
562
+ "FTXUS",
563
+ "FTX US",
564
+ "zipmex.com",
565
+ "Zipmex",
566
+ "zondaglobal.com",
567
+ "Zonda",
568
+ "futures.kucoin.com",
569
+ "KuCoin Futures",
570
+ "blockchain.com",
571
+ "crypto.com",
572
+ "wazirx.com",
573
+ "WazirX",
574
+ "woo.org",
575
+ "Woo",
576
+ "WOO X",
577
+ "okx.com",
578
+ "OKX",
579
+ "bkex.com",
580
+ "BKEX",
581
+ "bitopro.com",
582
+ "BitoPro",
583
+ "fairdesk.com"
584
+ ],
585
+ "collective": {
586
+ "type": "opencollective",
587
+ "url": "https://opencollective.com/ccxt",
588
+ "logo": "https://opencollective.com/ccxt/logo.txt"
589
+ },
590
+ "ethereum": "0x26a3CB49578F07000575405a57888681249c35Fd"
591
+ }
package/postinstall.js ADDED
@@ -0,0 +1,103 @@
1
+ const fetch = require ('./js/static_dependencies/fetch-ponyfill/fetch-node') ().fetch
2
+
3
+ function style(s, style) {
4
+ return style + s + '\033[0m'
5
+ }
6
+
7
+ const colors = {
8
+ black: 30,
9
+ red: 31,
10
+ green: 32,
11
+ yellow: 33,
12
+ blue: 34,
13
+ white: 37,
14
+ gray: 90,
15
+ }
16
+
17
+ let colorFunctions = {}
18
+ for (let color of Object.keys (colors)) {
19
+ colorFunctions[color] = (s) => console.log (style (s, '\033[' + colors[color].toString () + 'm'))
20
+ }
21
+
22
+ let ascii = [
23
+ ' ',
24
+ ' :Siiiiiiiiiiir rSiiiiiiiiiiS:',
25
+ ' r&9hh&&&&&&&A5 SG99h&&&&&&GHr',
26
+ ' ;hX32;::::::;, i9X9S:;:::::;,',
27
+ ' ;hX9S ihXhr ',
28
+ ' ;hX32::::::,:, i9X9i::::::,:.',
29
+ ' rG999GGGGGGGAS iG99hGGGGGGGAr',
30
+ ' ;2S55SSSSSSS2r r2555SSSSSSS2;',
31
+ ' ;2S5s ;2S2r r2SS555555SS2;',
32
+ ' rAh&2 sAhAS SAGGh9999GGGAr',
33
+ ' .:,::rrrs::::, ,:,,;9X3X:,,:.',
34
+ ' &A&H, ,hX33 ',
35
+ ' ,;:;;;;;r;;:;, ,hX3X. ',
36
+ ' rHGAX sAGA5 :&9h9. ',
37
+ ' :Ssir ;isir ,Siii ',
38
+ ' ',
39
+ ]
40
+
41
+ let footer = [
42
+ ' ',
43
+ ' ---------------------------------------------------',
44
+ ' ',
45
+ ' You can contribute in crypto directly: ',
46
+ ' ',
47
+ ' ETH 0x26a3CB49578F07000575405a57888681249c35Fd ',
48
+ ' BTC 33RmVRfhK2WZVQR1R83h2e9yXoqRNDvJva ',
49
+ ' BCH 1GN9p233TvNcNQFthCgfiHUnj5JRKEc2Ze ',
50
+ ' LTC LbT8mkAqQBphc4yxLXEDgYDfEax74et3bP ',
51
+ ' ',
52
+ ' ---------------------------------------------------',
53
+ ' ',
54
+ ' Thank you! ',
55
+ ' ',
56
+ ]
57
+
58
+ async function getData () {
59
+ const collectiveData = await (await fetch ('https://opencollective.com/ccxt.json')).json ()
60
+ const githubData = await (await fetch ('https://api.github.com/repos/ccxt/ccxt')).json ()
61
+
62
+ return {
63
+ contributors: collectiveData['contributorsCount'].toLocaleString (),
64
+ backers: collectiveData['backersCount'].toLocaleString (),
65
+ balance: Math.floor (collectiveData['balance'] / 100).toLocaleString (),
66
+ budget: Math.floor (collectiveData['yearlyIncome'] / 100).toLocaleString (),
67
+ stars: githubData['stargazers_count'].toLocaleString (),
68
+ forks: githubData['forks_count'].toLocaleString (),
69
+ size: (githubData['size'] / 1000000).toFixed (2)
70
+ }
71
+ }
72
+
73
+ function pad (string) {
74
+ const padding = 80 - string.length
75
+ const half = Math.floor (padding / 2)
76
+ return ' '.repeat (half + (padding % 2)) + string + ' '.repeat (half)
77
+ }
78
+
79
+ async function main () {
80
+
81
+ try {
82
+
83
+ const data = await getData()
84
+
85
+ colorFunctions['blue'] (ascii.join ('\n'))
86
+ colorFunctions['red'] (pad (`Stars: ${data.stars}`))
87
+ colorFunctions['red'] (pad (`Forks: ${data.forks}`))
88
+ colorFunctions['red'] (pad (`Contributors: ${data.contributors}`))
89
+ colorFunctions['red'] (pad (`Size: ${data.size}MB`))
90
+ colorFunctions['yellow'] ('\n' + pad ('Thanks for installing ccxt 🙏'))
91
+ colorFunctions['gray'] (pad ('Please consider donating to our open collective'))
92
+ colorFunctions['gray'] (pad ('to help us maintain this package.'))
93
+ colorFunctions['yellow'] (pad ('👉 Donate: https://opencollective.com/ccxt/donate 🎉'))
94
+ colorFunctions['white'] (pad (`Thanks to our ${data.backers} backers we are operating on an annual budget of $${data.budget}`))
95
+ colorFunctions['yellow'] (footer.join ('\n'))
96
+
97
+ } catch (e) {
98
+
99
+ // console.log (e.constructor.name, e.message)
100
+ }
101
+ }
102
+
103
+ main()