ccxt 4.2.18 → 4.2.20

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 (446) hide show
  1. package/README.md +100 -100
  2. package/dist/ccxt.browser.js +34240 -33297
  3. package/dist/ccxt.browser.min.js +2 -2
  4. package/dist/cjs/ccxt.js +12 -1
  5. package/dist/cjs/src/alpaca.js +18 -18
  6. package/dist/cjs/src/ascendex.js +13 -6
  7. package/dist/cjs/src/base/Exchange.js +276 -27
  8. package/dist/cjs/src/bigone.js +434 -168
  9. package/dist/cjs/src/binance.js +165 -35
  10. package/dist/cjs/src/binanceus.js +25 -0
  11. package/dist/cjs/src/bingx.js +185 -42
  12. package/dist/cjs/src/bitfinex.js +2 -3
  13. package/dist/cjs/src/bitget.js +84 -47
  14. package/dist/cjs/src/bitmart.js +5 -5
  15. package/dist/cjs/src/bitmex.js +4 -6
  16. package/dist/cjs/src/bitpanda.js +5 -1991
  17. package/dist/cjs/src/bitstamp.js +8 -0
  18. package/dist/cjs/src/bitteam.js +1 -1
  19. package/dist/cjs/src/bybit.js +27 -75
  20. package/dist/cjs/src/coinbase.js +176 -26
  21. package/dist/cjs/src/coincheck.js +1 -0
  22. package/dist/cjs/src/coinex.js +3 -0
  23. package/dist/cjs/src/coinlist.js +13 -6
  24. package/dist/cjs/src/coinone.js +2 -2
  25. package/dist/cjs/src/coinsph.js +4 -5
  26. package/dist/cjs/src/delta.js +7 -19
  27. package/dist/cjs/src/deribit.js +17 -4
  28. package/dist/cjs/src/gate.js +151 -194
  29. package/dist/cjs/src/gemini.js +1 -1
  30. package/dist/cjs/src/hitbtc.js +2 -3
  31. package/dist/cjs/src/htx.js +157 -7
  32. package/dist/cjs/src/huobijp.js +2 -3
  33. package/dist/cjs/src/independentreserve.js +7 -5
  34. package/dist/cjs/src/kraken.js +86 -54
  35. package/dist/cjs/src/kucoin.js +5 -0
  36. package/dist/cjs/src/kucoinfutures.js +140 -86
  37. package/dist/cjs/src/lbank.js +60 -33
  38. package/dist/cjs/src/luno.js +84 -2
  39. package/dist/cjs/src/mexc.js +3 -3
  40. package/dist/cjs/src/oceanex.js +1 -1
  41. package/dist/cjs/src/okx.js +23 -29
  42. package/dist/cjs/{js/src/bitpanda.js → src/onetrading.js} +39 -39
  43. package/dist/cjs/src/phemex.js +37 -27
  44. package/dist/cjs/src/poloniexfutures.js +1 -0
  45. package/dist/cjs/src/pro/binance.js +66 -25
  46. package/dist/cjs/src/pro/bitget.js +1 -1
  47. package/dist/cjs/src/pro/bitpanda.js +5 -1330
  48. package/dist/cjs/src/pro/coinbase.js +4 -1
  49. package/dist/cjs/src/pro/hitbtc.js +5 -4
  50. package/dist/cjs/src/pro/htx.js +6 -1
  51. package/dist/cjs/src/pro/kraken.js +1 -1
  52. package/dist/cjs/src/pro/krakenfutures.js +7 -1
  53. package/dist/cjs/src/pro/kucoin.js +46 -36
  54. package/dist/cjs/src/pro/kucoinfutures.js +45 -37
  55. package/dist/cjs/src/pro/lbank.js +881 -0
  56. package/dist/cjs/src/pro/okx.js +52 -2
  57. package/dist/cjs/{js/src/pro/bitpanda.js → src/pro/onetrading.js} +4 -7
  58. package/dist/cjs/src/pro/poloniex.js +2 -2
  59. package/dist/cjs/src/pro/poloniexfutures.js +43 -35
  60. package/dist/cjs/src/pro/woo.js +126 -0
  61. package/dist/cjs/src/probit.js +4 -2
  62. package/dist/cjs/src/upbit.js +12 -12
  63. package/dist/cjs/src/wavesexchange.js +1 -1
  64. package/dist/cjs/src/whitebit.js +1 -0
  65. package/dist/cjs/src/woo.js +56 -0
  66. package/js/ccxt.d.ts +11 -2
  67. package/js/ccxt.js +8 -2
  68. package/js/src/abstract/binance.d.ts +1 -0
  69. package/js/src/abstract/binancecoinm.d.ts +1 -0
  70. package/js/src/abstract/binanceus.d.ts +1 -0
  71. package/js/src/abstract/binanceusdm.d.ts +1 -0
  72. package/js/src/abstract/bitpanda.d.ts +4 -4
  73. package/js/src/abstract/bitpanda.js +3 -3
  74. package/js/src/abstract/bitstamp.d.ts +8 -0
  75. package/js/src/abstract/gate.d.ts +1 -0
  76. package/js/src/abstract/gateio.d.ts +1 -0
  77. package/js/src/abstract/htx.d.ts +3 -0
  78. package/js/src/abstract/huobi.d.ts +3 -0
  79. package/js/src/abstract/luno.d.ts +1 -0
  80. package/js/src/abstract/onetrading.d.ts +38 -0
  81. package/js/src/abstract/onetrading.js +11 -0
  82. package/js/src/ascendex.js +2 -0
  83. package/js/src/base/Exchange.d.ts +3 -0
  84. package/js/src/base/Exchange.js +10 -0
  85. package/js/src/binance.js +2 -1
  86. package/js/src/binanceus.js +17 -0
  87. package/js/src/bingx.js +3 -2
  88. package/js/src/bitget.d.ts +1 -1
  89. package/js/src/bitget.js +47 -34
  90. package/js/src/bitpanda.d.ts +2 -72
  91. package/js/src/bitpanda.js +5 -1991
  92. package/js/src/bitstamp.js +8 -0
  93. package/js/src/bitteam.js +1 -1
  94. package/js/src/bybit.d.ts +0 -1
  95. package/js/src/bybit.js +1 -29
  96. package/js/src/delta.d.ts +0 -1
  97. package/js/src/delta.js +0 -18
  98. package/js/src/deribit.js +11 -3
  99. package/js/src/gate.d.ts +1 -1
  100. package/js/src/gate.js +50 -135
  101. package/js/src/htx.js +3 -0
  102. package/js/src/kraken.d.ts +1 -0
  103. package/js/src/kraken.js +39 -38
  104. package/js/src/kucoinfutures.d.ts +6 -6
  105. package/js/src/kucoinfutures.js +9 -9
  106. package/js/src/lbank.js +1 -0
  107. package/js/src/luno.d.ts +3 -1
  108. package/js/src/luno.js +84 -2
  109. package/js/src/mexc.js +1 -2
  110. package/js/src/okx.d.ts +0 -1
  111. package/js/src/okx.js +0 -18
  112. package/js/src/onetrading.d.ts +74 -0
  113. package/js/src/onetrading.js +2003 -0
  114. package/js/src/poloniexfutures.js +1 -0
  115. package/js/src/pro/binance.js +6 -1
  116. package/js/src/pro/bitpanda.d.ts +2 -34
  117. package/js/src/pro/bitpanda.js +5 -1330
  118. package/js/src/pro/lbank.d.ts +29 -0
  119. package/js/src/pro/lbank.js +882 -0
  120. package/js/src/pro/onetrading.d.ts +36 -0
  121. package/js/src/pro/onetrading.js +1339 -0
  122. package/package.json +2 -2
  123. package/rollup.config.js +2 -0
  124. package/skip-tests.json +4 -2
  125. package/test-commonjs.cjs +25 -1
  126. package/dist/cjs/js/ccxt.js +0 -478
  127. package/dist/cjs/js/src/abstract/alpaca.js +0 -9
  128. package/dist/cjs/js/src/abstract/ascendex.js +0 -9
  129. package/dist/cjs/js/src/abstract/bigone.js +0 -9
  130. package/dist/cjs/js/src/abstract/binance.js +0 -9
  131. package/dist/cjs/js/src/abstract/bingx.js +0 -9
  132. package/dist/cjs/js/src/abstract/bit2c.js +0 -9
  133. package/dist/cjs/js/src/abstract/bitbank.js +0 -9
  134. package/dist/cjs/js/src/abstract/bitbns.js +0 -9
  135. package/dist/cjs/js/src/abstract/bitfinex.js +0 -9
  136. package/dist/cjs/js/src/abstract/bitfinex2.js +0 -9
  137. package/dist/cjs/js/src/abstract/bitflyer.js +0 -9
  138. package/dist/cjs/js/src/abstract/bitforex.js +0 -9
  139. package/dist/cjs/js/src/abstract/bitget.js +0 -9
  140. package/dist/cjs/js/src/abstract/bithumb.js +0 -9
  141. package/dist/cjs/js/src/abstract/bitmart.js +0 -9
  142. package/dist/cjs/js/src/abstract/bitmex.js +0 -9
  143. package/dist/cjs/js/src/abstract/bitopro.js +0 -9
  144. package/dist/cjs/js/src/abstract/bitpanda.js +0 -9
  145. package/dist/cjs/js/src/abstract/bitrue.js +0 -9
  146. package/dist/cjs/js/src/abstract/bitso.js +0 -9
  147. package/dist/cjs/js/src/abstract/bitstamp.js +0 -9
  148. package/dist/cjs/js/src/abstract/bitteam.js +0 -9
  149. package/dist/cjs/js/src/abstract/bitvavo.js +0 -9
  150. package/dist/cjs/js/src/abstract/bl3p.js +0 -9
  151. package/dist/cjs/js/src/abstract/blockchaincom.js +0 -9
  152. package/dist/cjs/js/src/abstract/btcalpha.js +0 -9
  153. package/dist/cjs/js/src/abstract/btcbox.js +0 -9
  154. package/dist/cjs/js/src/abstract/btcmarkets.js +0 -9
  155. package/dist/cjs/js/src/abstract/btcturk.js +0 -9
  156. package/dist/cjs/js/src/abstract/bybit.js +0 -9
  157. package/dist/cjs/js/src/abstract/cex.js +0 -9
  158. package/dist/cjs/js/src/abstract/coinbase.js +0 -9
  159. package/dist/cjs/js/src/abstract/coinbasepro.js +0 -9
  160. package/dist/cjs/js/src/abstract/coincheck.js +0 -9
  161. package/dist/cjs/js/src/abstract/coinex.js +0 -9
  162. package/dist/cjs/js/src/abstract/coinlist.js +0 -9
  163. package/dist/cjs/js/src/abstract/coinmate.js +0 -9
  164. package/dist/cjs/js/src/abstract/coinone.js +0 -9
  165. package/dist/cjs/js/src/abstract/coinsph.js +0 -9
  166. package/dist/cjs/js/src/abstract/coinspot.js +0 -9
  167. package/dist/cjs/js/src/abstract/cryptocom.js +0 -9
  168. package/dist/cjs/js/src/abstract/currencycom.js +0 -9
  169. package/dist/cjs/js/src/abstract/delta.js +0 -9
  170. package/dist/cjs/js/src/abstract/deribit.js +0 -9
  171. package/dist/cjs/js/src/abstract/digifinex.js +0 -9
  172. package/dist/cjs/js/src/abstract/exmo.js +0 -9
  173. package/dist/cjs/js/src/abstract/gate.js +0 -9
  174. package/dist/cjs/js/src/abstract/gemini.js +0 -9
  175. package/dist/cjs/js/src/abstract/hitbtc.js +0 -9
  176. package/dist/cjs/js/src/abstract/hollaex.js +0 -9
  177. package/dist/cjs/js/src/abstract/htx.js +0 -9
  178. package/dist/cjs/js/src/abstract/huobijp.js +0 -9
  179. package/dist/cjs/js/src/abstract/idex.js +0 -9
  180. package/dist/cjs/js/src/abstract/independentreserve.js +0 -9
  181. package/dist/cjs/js/src/abstract/indodax.js +0 -9
  182. package/dist/cjs/js/src/abstract/kraken.js +0 -9
  183. package/dist/cjs/js/src/abstract/krakenfutures.js +0 -9
  184. package/dist/cjs/js/src/abstract/kucoin.js +0 -9
  185. package/dist/cjs/js/src/abstract/kucoinfutures.js +0 -9
  186. package/dist/cjs/js/src/abstract/kuna.js +0 -9
  187. package/dist/cjs/js/src/abstract/latoken.js +0 -9
  188. package/dist/cjs/js/src/abstract/lbank.js +0 -9
  189. package/dist/cjs/js/src/abstract/luno.js +0 -9
  190. package/dist/cjs/js/src/abstract/lykke.js +0 -9
  191. package/dist/cjs/js/src/abstract/mercado.js +0 -9
  192. package/dist/cjs/js/src/abstract/mexc.js +0 -9
  193. package/dist/cjs/js/src/abstract/ndax.js +0 -9
  194. package/dist/cjs/js/src/abstract/novadax.js +0 -9
  195. package/dist/cjs/js/src/abstract/oceanex.js +0 -9
  196. package/dist/cjs/js/src/abstract/okcoin.js +0 -9
  197. package/dist/cjs/js/src/abstract/okx.js +0 -9
  198. package/dist/cjs/js/src/abstract/p2b.js +0 -9
  199. package/dist/cjs/js/src/abstract/paymium.js +0 -9
  200. package/dist/cjs/js/src/abstract/phemex.js +0 -9
  201. package/dist/cjs/js/src/abstract/poloniex.js +0 -9
  202. package/dist/cjs/js/src/abstract/poloniexfutures.js +0 -9
  203. package/dist/cjs/js/src/abstract/probit.js +0 -9
  204. package/dist/cjs/js/src/abstract/timex.js +0 -9
  205. package/dist/cjs/js/src/abstract/tokocrypto.js +0 -9
  206. package/dist/cjs/js/src/abstract/upbit.js +0 -9
  207. package/dist/cjs/js/src/abstract/wavesexchange.js +0 -9
  208. package/dist/cjs/js/src/abstract/wazirx.js +0 -9
  209. package/dist/cjs/js/src/abstract/whitebit.js +0 -9
  210. package/dist/cjs/js/src/abstract/woo.js +0 -9
  211. package/dist/cjs/js/src/abstract/yobit.js +0 -9
  212. package/dist/cjs/js/src/abstract/zaif.js +0 -9
  213. package/dist/cjs/js/src/abstract/zonda.js +0 -9
  214. package/dist/cjs/js/src/ace.js +0 -1058
  215. package/dist/cjs/js/src/alpaca.js +0 -1125
  216. package/dist/cjs/js/src/ascendex.js +0 -3365
  217. package/dist/cjs/js/src/base/Exchange.js +0 -5260
  218. package/dist/cjs/js/src/base/Precise.js +0 -263
  219. package/dist/cjs/js/src/base/errors.js +0 -299
  220. package/dist/cjs/js/src/base/functions/crypto.js +0 -78
  221. package/dist/cjs/js/src/base/functions/encode.js +0 -44
  222. package/dist/cjs/js/src/base/functions/generic.js +0 -193
  223. package/dist/cjs/js/src/base/functions/misc.js +0 -96
  224. package/dist/cjs/js/src/base/functions/number.js +0 -297
  225. package/dist/cjs/js/src/base/functions/platform.js +0 -28
  226. package/dist/cjs/js/src/base/functions/rsa.js +0 -34
  227. package/dist/cjs/js/src/base/functions/string.js +0 -48
  228. package/dist/cjs/js/src/base/functions/throttle.js +0 -66
  229. package/dist/cjs/js/src/base/functions/time.js +0 -187
  230. package/dist/cjs/js/src/base/functions/totp.js +0 -24
  231. package/dist/cjs/js/src/base/functions/type.js +0 -162
  232. package/dist/cjs/js/src/base/functions.js +0 -157
  233. package/dist/cjs/js/src/base/ws/Cache.js +0 -254
  234. package/dist/cjs/js/src/base/ws/Client.js +0 -299
  235. package/dist/cjs/js/src/base/ws/Future.js +0 -34
  236. package/dist/cjs/js/src/base/ws/OrderBook.js +0 -107
  237. package/dist/cjs/js/src/base/ws/OrderBookSide.js +0 -281
  238. package/dist/cjs/js/src/base/ws/WsClient.js +0 -69
  239. package/dist/cjs/js/src/bequant.js +0 -33
  240. package/dist/cjs/js/src/bigone.js +0 -2213
  241. package/dist/cjs/js/src/binance.js +0 -9851
  242. package/dist/cjs/js/src/binancecoinm.js +0 -45
  243. package/dist/cjs/js/src/binanceus.js +0 -92
  244. package/dist/cjs/js/src/binanceusdm.js +0 -58
  245. package/dist/cjs/js/src/bingx.js +0 -3872
  246. package/dist/cjs/js/src/bit2c.js +0 -916
  247. package/dist/cjs/js/src/bitbank.js +0 -1000
  248. package/dist/cjs/js/src/bitbay.js +0 -17
  249. package/dist/cjs/js/src/bitbns.js +0 -1220
  250. package/dist/cjs/js/src/bitcoincom.js +0 -17
  251. package/dist/cjs/js/src/bitfinex.js +0 -1670
  252. package/dist/cjs/js/src/bitfinex2.js +0 -2990
  253. package/dist/cjs/js/src/bitflyer.js +0 -1045
  254. package/dist/cjs/js/src/bitforex.js +0 -852
  255. package/dist/cjs/js/src/bitget.js +0 -8295
  256. package/dist/cjs/js/src/bithumb.js +0 -1090
  257. package/dist/cjs/js/src/bitmart.js +0 -4454
  258. package/dist/cjs/js/src/bitmex.js +0 -2881
  259. package/dist/cjs/js/src/bitopro.js +0 -1724
  260. package/dist/cjs/js/src/bitrue.js +0 -3253
  261. package/dist/cjs/js/src/bitso.js +0 -1753
  262. package/dist/cjs/js/src/bitstamp.js +0 -2188
  263. package/dist/cjs/js/src/bitteam.js +0 -2309
  264. package/dist/cjs/js/src/bitvavo.js +0 -1968
  265. package/dist/cjs/js/src/bl3p.js +0 -447
  266. package/dist/cjs/js/src/blockchaincom.js +0 -1160
  267. package/dist/cjs/js/src/btcalpha.js +0 -929
  268. package/dist/cjs/js/src/btcbox.js +0 -565
  269. package/dist/cjs/js/src/btcmarkets.js +0 -1237
  270. package/dist/cjs/js/src/btcturk.js +0 -929
  271. package/dist/cjs/js/src/bybit.js +0 -7624
  272. package/dist/cjs/js/src/cex.js +0 -1693
  273. package/dist/cjs/js/src/coinbase.js +0 -3424
  274. package/dist/cjs/js/src/coinbasepro.js +0 -1866
  275. package/dist/cjs/js/src/coincheck.js +0 -844
  276. package/dist/cjs/js/src/coinex.js +0 -5417
  277. package/dist/cjs/js/src/coinlist.js +0 -2337
  278. package/dist/cjs/js/src/coinmate.js +0 -989
  279. package/dist/cjs/js/src/coinone.js +0 -1185
  280. package/dist/cjs/js/src/coinsph.js +0 -1933
  281. package/dist/cjs/js/src/coinspot.js +0 -548
  282. package/dist/cjs/js/src/cryptocom.js +0 -3007
  283. package/dist/cjs/js/src/currencycom.js +0 -2015
  284. package/dist/cjs/js/src/delta.js +0 -3262
  285. package/dist/cjs/js/src/deribit.js +0 -3310
  286. package/dist/cjs/js/src/digifinex.js +0 -4307
  287. package/dist/cjs/js/src/exmo.js +0 -2645
  288. package/dist/cjs/js/src/fmfwio.js +0 -34
  289. package/dist/cjs/js/src/gate.js +0 -7077
  290. package/dist/cjs/js/src/gateio.js +0 -16
  291. package/dist/cjs/js/src/gemini.js +0 -1801
  292. package/dist/cjs/js/src/hitbtc.js +0 -3660
  293. package/dist/cjs/js/src/hitbtc3.js +0 -19
  294. package/dist/cjs/js/src/hollaex.js +0 -1882
  295. package/dist/cjs/js/src/htx.js +0 -9174
  296. package/dist/cjs/js/src/huobi.js +0 -16
  297. package/dist/cjs/js/src/huobijp.js +0 -1918
  298. package/dist/cjs/js/src/idex.js +0 -1770
  299. package/dist/cjs/js/src/independentreserve.js +0 -761
  300. package/dist/cjs/js/src/indodax.js +0 -1069
  301. package/dist/cjs/js/src/kraken.js +0 -2891
  302. package/dist/cjs/js/src/krakenfutures.js +0 -2407
  303. package/dist/cjs/js/src/kucoin.js +0 -4494
  304. package/dist/cjs/js/src/kucoinfutures.js +0 -2529
  305. package/dist/cjs/js/src/kuna.js +0 -1949
  306. package/dist/cjs/js/src/latoken.js +0 -1729
  307. package/dist/cjs/js/src/lbank.js +0 -2851
  308. package/dist/cjs/js/src/luno.js +0 -1044
  309. package/dist/cjs/js/src/lykke.js +0 -1303
  310. package/dist/cjs/js/src/mercado.js +0 -897
  311. package/dist/cjs/js/src/mexc.js +0 -5407
  312. package/dist/cjs/js/src/ndax.js +0 -2450
  313. package/dist/cjs/js/src/novadax.js +0 -1556
  314. package/dist/cjs/js/src/oceanex.js +0 -964
  315. package/dist/cjs/js/src/okcoin.js +0 -3115
  316. package/dist/cjs/js/src/okx.js +0 -7331
  317. package/dist/cjs/js/src/p2b.js +0 -1243
  318. package/dist/cjs/js/src/paymium.js +0 -597
  319. package/dist/cjs/js/src/phemex.js +0 -4725
  320. package/dist/cjs/js/src/poloniex.js +0 -2356
  321. package/dist/cjs/js/src/poloniexfutures.js +0 -1794
  322. package/dist/cjs/js/src/pro/alpaca.js +0 -714
  323. package/dist/cjs/js/src/pro/ascendex.js +0 -957
  324. package/dist/cjs/js/src/pro/bequant.js +0 -33
  325. package/dist/cjs/js/src/pro/binance.js +0 -2796
  326. package/dist/cjs/js/src/pro/binancecoinm.js +0 -23
  327. package/dist/cjs/js/src/pro/binanceus.js +0 -51
  328. package/dist/cjs/js/src/pro/binanceusdm.js +0 -32
  329. package/dist/cjs/js/src/pro/bingx.js +0 -944
  330. package/dist/cjs/js/src/pro/bitcoincom.js +0 -29
  331. package/dist/cjs/js/src/pro/bitfinex.js +0 -672
  332. package/dist/cjs/js/src/pro/bitfinex2.js +0 -1159
  333. package/dist/cjs/js/src/pro/bitget.js +0 -1733
  334. package/dist/cjs/js/src/pro/bitmart.js +0 -1486
  335. package/dist/cjs/js/src/pro/bitmex.js +0 -1576
  336. package/dist/cjs/js/src/pro/bitopro.js +0 -327
  337. package/dist/cjs/js/src/pro/bitrue.js +0 -462
  338. package/dist/cjs/js/src/pro/bitstamp.js +0 -547
  339. package/dist/cjs/js/src/pro/bitvavo.js +0 -704
  340. package/dist/cjs/js/src/pro/blockchaincom.js +0 -794
  341. package/dist/cjs/js/src/pro/bybit.js +0 -1843
  342. package/dist/cjs/js/src/pro/cex.js +0 -1510
  343. package/dist/cjs/js/src/pro/coinbase.js +0 -561
  344. package/dist/cjs/js/src/pro/coinbasepro.js +0 -968
  345. package/dist/cjs/js/src/pro/coinex.js +0 -1095
  346. package/dist/cjs/js/src/pro/cryptocom.js +0 -1020
  347. package/dist/cjs/js/src/pro/currencycom.js +0 -563
  348. package/dist/cjs/js/src/pro/deribit.js +0 -825
  349. package/dist/cjs/js/src/pro/exmo.js +0 -658
  350. package/dist/cjs/js/src/pro/gate.js +0 -1316
  351. package/dist/cjs/js/src/pro/gateio.js +0 -16
  352. package/dist/cjs/js/src/pro/gemini.js +0 -649
  353. package/dist/cjs/js/src/pro/hitbtc.js +0 -1294
  354. package/dist/cjs/js/src/pro/hollaex.js +0 -597
  355. package/dist/cjs/js/src/pro/htx.js +0 -2388
  356. package/dist/cjs/js/src/pro/huobi.js +0 -16
  357. package/dist/cjs/js/src/pro/huobijp.js +0 -606
  358. package/dist/cjs/js/src/pro/idex.js +0 -714
  359. package/dist/cjs/js/src/pro/independentreserve.js +0 -280
  360. package/dist/cjs/js/src/pro/kraken.js +0 -1364
  361. package/dist/cjs/js/src/pro/krakenfutures.js +0 -1506
  362. package/dist/cjs/js/src/pro/kucoin.js +0 -1062
  363. package/dist/cjs/js/src/pro/kucoinfutures.js +0 -989
  364. package/dist/cjs/js/src/pro/luno.js +0 -322
  365. package/dist/cjs/js/src/pro/mexc.js +0 -1170
  366. package/dist/cjs/js/src/pro/ndax.js +0 -545
  367. package/dist/cjs/js/src/pro/okcoin.js +0 -760
  368. package/dist/cjs/js/src/pro/okx.js +0 -1608
  369. package/dist/cjs/js/src/pro/phemex.js +0 -1511
  370. package/dist/cjs/js/src/pro/poloniex.js +0 -1253
  371. package/dist/cjs/js/src/pro/poloniexfutures.js +0 -1022
  372. package/dist/cjs/js/src/pro/probit.js +0 -586
  373. package/dist/cjs/js/src/pro/upbit.js +0 -234
  374. package/dist/cjs/js/src/pro/wazirx.js +0 -776
  375. package/dist/cjs/js/src/pro/whitebit.js +0 -927
  376. package/dist/cjs/js/src/pro/woo.js +0 -895
  377. package/dist/cjs/js/src/probit.js +0 -1867
  378. package/dist/cjs/js/src/static_dependencies/fflake/browser.js +0 -401
  379. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -195
  380. package/dist/cjs/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -308
  381. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -554
  382. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -94
  383. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -70
  384. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -91
  385. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -16
  386. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1760
  387. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -52
  388. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -81
  389. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -376
  390. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -70
  391. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1580
  392. package/dist/cjs/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -74
  393. package/dist/cjs/js/src/static_dependencies/noble-curves/_shortw_utils.js +0 -24
  394. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/curve.js +0 -158
  395. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/edwards.js +0 -429
  396. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +0 -176
  397. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/modular.js +0 -324
  398. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/montgomery.js +0 -163
  399. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/utils.js +0 -245
  400. package/dist/cjs/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +0 -1018
  401. package/dist/cjs/js/src/static_dependencies/noble-curves/ed25519.js +0 -383
  402. package/dist/cjs/js/src/static_dependencies/noble-curves/secp256k1.js +0 -258
  403. package/dist/cjs/js/src/static_dependencies/noble-hashes/_assert.js +0 -53
  404. package/dist/cjs/js/src/static_dependencies/noble-hashes/_sha2.js +0 -120
  405. package/dist/cjs/js/src/static_dependencies/noble-hashes/_u64.js +0 -69
  406. package/dist/cjs/js/src/static_dependencies/noble-hashes/crypto.js +0 -7
  407. package/dist/cjs/js/src/static_dependencies/noble-hashes/hmac.js +0 -83
  408. package/dist/cjs/js/src/static_dependencies/noble-hashes/md5.js +0 -240
  409. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha1.js +0 -91
  410. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha256.js +0 -130
  411. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha3.js +0 -214
  412. package/dist/cjs/js/src/static_dependencies/noble-hashes/sha512.js +0 -239
  413. package/dist/cjs/js/src/static_dependencies/noble-hashes/utils.js +0 -93
  414. package/dist/cjs/js/src/static_dependencies/node-fetch/body.js +0 -354
  415. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/abort-error.js +0 -16
  416. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/base.js +0 -20
  417. package/dist/cjs/js/src/static_dependencies/node-fetch/errors/fetch-error.js +0 -30
  418. package/dist/cjs/js/src/static_dependencies/node-fetch/headers.js +0 -239
  419. package/dist/cjs/js/src/static_dependencies/node-fetch/index.js +0 -372
  420. package/dist/cjs/js/src/static_dependencies/node-fetch/request.js +0 -273
  421. package/dist/cjs/js/src/static_dependencies/node-fetch/response.js +0 -139
  422. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/get-search.js +0 -14
  423. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is-redirect.js +0 -16
  424. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/is.js +0 -81
  425. package/dist/cjs/js/src/static_dependencies/node-fetch/utils/referrer.js +0 -292
  426. package/dist/cjs/js/src/static_dependencies/proxies/agent-base/index.js +0 -103
  427. package/dist/cjs/js/src/static_dependencies/proxies/http-proxy-agent/index.js +0 -140
  428. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/index.js +0 -175
  429. package/dist/cjs/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +0 -95
  430. package/dist/cjs/js/src/static_dependencies/qs/index.cjs.js +0 -7
  431. package/dist/cjs/js/src/static_dependencies/scure-base/index.js +0 -383
  432. package/dist/cjs/js/src/timex.js +0 -1562
  433. package/dist/cjs/js/src/tokocrypto.js +0 -2542
  434. package/dist/cjs/js/src/upbit.js +0 -1844
  435. package/dist/cjs/js/src/wavesexchange.js +0 -2607
  436. package/dist/cjs/js/src/wazirx.js +0 -953
  437. package/dist/cjs/js/src/whitebit.js +0 -2310
  438. package/dist/cjs/js/src/woo.js +0 -2769
  439. package/dist/cjs/js/src/yobit.js +0 -1314
  440. package/dist/cjs/js/src/zaif.js +0 -736
  441. package/dist/cjs/js/src/zonda.js +0 -1883
  442. package/dist/cjs/src/abstract/bitpanda.js +0 -9
  443. package/test.ts +0 -0
  444. /package/dist/cjs/{js/src/abstract/ace.js → src/abstract/onetrading.js} +0 -0
  445. /package/dist/cjs/{js/src → src}/pro/coincheck.js +0 -0
  446. /package/dist/cjs/{js/src → src}/pro/coinone.js +0 -0
@@ -1,383 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- /*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */
6
- // Utilities
7
- function assertNumber(n) {
8
- if (!Number.isSafeInteger(n))
9
- throw new Error(`Wrong integer: ${n}`);
10
- }
11
- function chain(...args) {
12
- // Wrap call in closure so JIT can inline calls
13
- const wrap = (a, b) => (c) => a(b(c));
14
- // Construct chain of args[-1].encode(args[-2].encode([...]))
15
- const encode = Array.from(args)
16
- .reverse()
17
- .reduce((acc, i) => (acc ? wrap(acc, i.encode) : i.encode), undefined);
18
- // Construct chain of args[0].decode(args[1].decode(...))
19
- const decode = args.reduce((acc, i) => (acc ? wrap(acc, i.decode) : i.decode), undefined);
20
- return { encode, decode };
21
- }
22
- // Encodes integer radix representation to array of strings using alphabet and back
23
- function alphabet(alphabet) {
24
- return {
25
- encode: (digits) => {
26
- if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))
27
- throw new Error('alphabet.encode input should be an array of numbers');
28
- return digits.map((i) => {
29
- assertNumber(i);
30
- if (i < 0 || i >= alphabet.length)
31
- throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`);
32
- return alphabet[i];
33
- });
34
- },
35
- decode: (input) => {
36
- if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string'))
37
- throw new Error('alphabet.decode input should be array of strings');
38
- return input.map((letter) => {
39
- if (typeof letter !== 'string')
40
- throw new Error(`alphabet.decode: not string element=${letter}`);
41
- const index = alphabet.indexOf(letter);
42
- if (index === -1)
43
- throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet}`);
44
- return index;
45
- });
46
- },
47
- };
48
- }
49
- function join(separator = '') {
50
- if (typeof separator !== 'string')
51
- throw new Error('join separator should be string');
52
- return {
53
- encode: (from) => {
54
- if (!Array.isArray(from) || (from.length && typeof from[0] !== 'string'))
55
- throw new Error('join.encode input should be array of strings');
56
- for (let i of from)
57
- if (typeof i !== 'string')
58
- throw new Error(`join.encode: non-string input=${i}`);
59
- return from.join(separator);
60
- },
61
- decode: (to) => {
62
- if (typeof to !== 'string')
63
- throw new Error('join.decode input should be string');
64
- return to.split(separator);
65
- },
66
- };
67
- }
68
- // Pad strings array so it has integer number of bits
69
- function padding(bits, chr = '=') {
70
- assertNumber(bits);
71
- if (typeof chr !== 'string')
72
- throw new Error('padding chr should be string');
73
- return {
74
- encode(data) {
75
- if (!Array.isArray(data) || (data.length && typeof data[0] !== 'string'))
76
- throw new Error('padding.encode input should be array of strings');
77
- for (let i of data)
78
- if (typeof i !== 'string')
79
- throw new Error(`padding.encode: non-string input=${i}`);
80
- while ((data.length * bits) % 8)
81
- data.push(chr);
82
- return data;
83
- },
84
- decode(input) {
85
- if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string'))
86
- throw new Error('padding.encode input should be array of strings');
87
- for (let i of input)
88
- if (typeof i !== 'string')
89
- throw new Error(`padding.decode: non-string input=${i}`);
90
- let end = input.length;
91
- if ((end * bits) % 8)
92
- throw new Error('Invalid padding: string should have whole number of bytes');
93
- for (; end > 0 && input[end - 1] === chr; end--) {
94
- if (!(((end - 1) * bits) % 8))
95
- throw new Error('Invalid padding: string has too much padding');
96
- }
97
- return input.slice(0, end);
98
- },
99
- };
100
- }
101
- function normalize(fn) {
102
- if (typeof fn !== 'function')
103
- throw new Error('normalize fn should be function');
104
- return { encode: (from) => from, decode: (to) => fn(to) };
105
- }
106
- // NOTE: it has quadratic time complexity
107
- function convertRadix(data, from, to) {
108
- // base 1 is impossible
109
- if (from < 2)
110
- throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`);
111
- if (to < 2)
112
- throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`);
113
- if (!Array.isArray(data))
114
- throw new Error('convertRadix: data should be array');
115
- if (!data.length)
116
- return [];
117
- let pos = 0;
118
- const res = [];
119
- const digits = Array.from(data);
120
- digits.forEach((d) => {
121
- assertNumber(d);
122
- if (d < 0 || d >= from)
123
- throw new Error(`Wrong integer: ${d}`);
124
- });
125
- while (true) {
126
- let carry = 0;
127
- let done = true;
128
- for (let i = pos; i < digits.length; i++) {
129
- const digit = digits[i];
130
- const digitBase = from * carry + digit;
131
- if (!Number.isSafeInteger(digitBase) ||
132
- (from * carry) / from !== carry ||
133
- digitBase - digit !== from * carry) {
134
- throw new Error('convertRadix: carry overflow');
135
- }
136
- carry = digitBase % to;
137
- digits[i] = Math.floor(digitBase / to);
138
- if (!Number.isSafeInteger(digits[i]) || digits[i] * to + carry !== digitBase)
139
- throw new Error('convertRadix: carry overflow');
140
- if (!done)
141
- continue;
142
- else if (!digits[i])
143
- pos = i;
144
- else
145
- done = false;
146
- }
147
- res.push(carry);
148
- if (done)
149
- break;
150
- }
151
- for (let i = 0; i < data.length - 1 && data[i] === 0; i++)
152
- res.push(0);
153
- return res.reverse();
154
- }
155
- const gcd = (a, b) => (!b ? a : gcd(b, a % b));
156
- const radix2carry = (from, to) => from + (to - gcd(from, to));
157
- // BigInt is 5x slower
158
- function convertRadix2(data, from, to, padding) {
159
- if (!Array.isArray(data))
160
- throw new Error('convertRadix2: data should be array');
161
- if (from <= 0 || from > 32)
162
- throw new Error(`convertRadix2: wrong from=${from}`);
163
- if (to <= 0 || to > 32)
164
- throw new Error(`convertRadix2: wrong to=${to}`);
165
- if (radix2carry(from, to) > 32) {
166
- throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`);
167
- }
168
- let carry = 0;
169
- let pos = 0; // bitwise position in current element
170
- const mask = 2 ** to - 1;
171
- const res = [];
172
- for (const n of data) {
173
- assertNumber(n);
174
- if (n >= 2 ** from)
175
- throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);
176
- carry = (carry << from) | n;
177
- if (pos + from > 32)
178
- throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);
179
- pos += from;
180
- for (; pos >= to; pos -= to)
181
- res.push(((carry >> (pos - to)) & mask) >>> 0);
182
- carry &= 2 ** pos - 1; // clean carry, otherwise it will cause overflow
183
- }
184
- carry = (carry << (to - pos)) & mask;
185
- if (!padding && pos >= from)
186
- throw new Error('Excess padding');
187
- if (!padding && carry)
188
- throw new Error(`Non-zero padding: ${carry}`);
189
- if (padding && pos > 0)
190
- res.push(carry >>> 0);
191
- return res;
192
- }
193
- function radix(num) {
194
- assertNumber(num);
195
- return {
196
- encode: (bytes) => {
197
- if (!(bytes instanceof Uint8Array))
198
- throw new Error('radix.encode input should be Uint8Array');
199
- return convertRadix(Array.from(bytes), 2 ** 8, num);
200
- },
201
- decode: (digits) => {
202
- if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))
203
- throw new Error('radix.decode input should be array of strings');
204
- return Uint8Array.from(convertRadix(digits, num, 2 ** 8));
205
- },
206
- };
207
- }
208
- // If both bases are power of same number (like `2**8 <-> 2**64`),
209
- // there is a linear algorithm. For now we have implementation for power-of-two bases only
210
- function radix2(bits, revPadding = false) {
211
- assertNumber(bits);
212
- if (bits <= 0 || bits > 32)
213
- throw new Error('radix2: bits should be in (0..32]');
214
- if (radix2carry(8, bits) > 32 || radix2carry(bits, 8) > 32)
215
- throw new Error('radix2: carry overflow');
216
- return {
217
- encode: (bytes) => {
218
- if (!(bytes instanceof Uint8Array))
219
- throw new Error('radix2.encode input should be Uint8Array');
220
- return convertRadix2(Array.from(bytes), 8, bits, !revPadding);
221
- },
222
- decode: (digits) => {
223
- if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))
224
- throw new Error('radix2.decode input should be array of strings');
225
- return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding));
226
- },
227
- };
228
- }
229
- function unsafeWrapper(fn) {
230
- if (typeof fn !== 'function')
231
- throw new Error('unsafeWrapper fn should be function');
232
- return function (...args) {
233
- try {
234
- return fn.apply(null, args);
235
- }
236
- catch (e) { }
237
- };
238
- }
239
- // RFC 4648 aka RFC 3548
240
- // ---------------------
241
- const base16 = chain(radix2(4), alphabet('0123456789abcdef'), join(''));
242
- const base32 = chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), padding(5), join(''));
243
- chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), padding(5), join(''));
244
- chain(radix2(5), alphabet('0123456789ABCDEFGHJKMNPQRSTVWXYZ'), join(''), normalize((s) => s.toUpperCase().replace(/O/g, '0').replace(/[IL]/g, '1')));
245
- const base64 = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), padding(6), join(''));
246
- const base64url = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), padding(6), join(''));
247
- // base58 code
248
- // -----------
249
- const genBase58 = (abc) => chain(radix(58), alphabet(abc), join(''));
250
- const base58 = genBase58('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');
251
- genBase58('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ');
252
- genBase58('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz');
253
- // xmr ver is done in 8-byte blocks (which equals 11 chars in decoding). Last (non-full) block padded with '1' to size in XMR_BLOCK_LEN.
254
- // Block encoding significantly reduces quadratic complexity of base58.
255
- // Data len (index) -> encoded block len
256
- const XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11];
257
- const base58xmr = {
258
- encode(data) {
259
- let res = '';
260
- for (let i = 0; i < data.length; i += 8) {
261
- const block = data.subarray(i, i + 8);
262
- res += base58.encode(block).padStart(XMR_BLOCK_LEN[block.length], '1');
263
- }
264
- return res;
265
- },
266
- decode(str) {
267
- let res = [];
268
- for (let i = 0; i < str.length; i += 11) {
269
- const slice = str.slice(i, i + 11);
270
- const blockLen = XMR_BLOCK_LEN.indexOf(slice.length);
271
- const block = base58.decode(slice);
272
- for (let j = 0; j < block.length - blockLen; j++) {
273
- if (block[j] !== 0)
274
- throw new Error('base58xmr: wrong padding');
275
- }
276
- res = res.concat(Array.from(block.slice(block.length - blockLen)));
277
- }
278
- return Uint8Array.from(res);
279
- },
280
- };
281
- const BECH_ALPHABET = chain(alphabet('qpzry9x8gf2tvdw0s3jn54khce6mua7l'), join(''));
282
- const POLYMOD_GENERATORS = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];
283
- function bech32Polymod(pre) {
284
- const b = pre >> 25;
285
- let chk = (pre & 0x1ffffff) << 5;
286
- for (let i = 0; i < POLYMOD_GENERATORS.length; i++) {
287
- if (((b >> i) & 1) === 1)
288
- chk ^= POLYMOD_GENERATORS[i];
289
- }
290
- return chk;
291
- }
292
- function bechChecksum(prefix, words, encodingConst = 1) {
293
- const len = prefix.length;
294
- let chk = 1;
295
- for (let i = 0; i < len; i++) {
296
- const c = prefix.charCodeAt(i);
297
- if (c < 33 || c > 126)
298
- throw new Error(`Invalid prefix (${prefix})`);
299
- chk = bech32Polymod(chk) ^ (c >> 5);
300
- }
301
- chk = bech32Polymod(chk);
302
- for (let i = 0; i < len; i++)
303
- chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 0x1f);
304
- for (let v of words)
305
- chk = bech32Polymod(chk) ^ v;
306
- for (let i = 0; i < 6; i++)
307
- chk = bech32Polymod(chk);
308
- chk ^= encodingConst;
309
- return BECH_ALPHABET.encode(convertRadix2([chk % 2 ** 30], 30, 5, false));
310
- }
311
- function genBech32(encoding) {
312
- const ENCODING_CONST = encoding === 'bech32' ? 1 : 0x2bc830a3;
313
- const _words = radix2(5);
314
- const fromWords = _words.decode;
315
- const toWords = _words.encode;
316
- const fromWordsUnsafe = unsafeWrapper(fromWords);
317
- function encode(prefix, words, limit = 90) {
318
- if (typeof prefix !== 'string')
319
- throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`);
320
- if (!Array.isArray(words) || (words.length && typeof words[0] !== 'number'))
321
- throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`);
322
- const actualLength = prefix.length + 7 + words.length;
323
- if (limit !== false && actualLength > limit)
324
- throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);
325
- prefix = prefix.toLowerCase();
326
- return `${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix, words, ENCODING_CONST)}`;
327
- }
328
- function decode(str, limit = 90) {
329
- if (typeof str !== 'string')
330
- throw new Error(`bech32.decode input should be string, not ${typeof str}`);
331
- if (str.length < 8 || (limit !== false && str.length > limit))
332
- throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit})`);
333
- // don't allow mixed case
334
- const lowered = str.toLowerCase();
335
- if (str !== lowered && str !== str.toUpperCase())
336
- throw new Error(`String must be lowercase or uppercase`);
337
- str = lowered;
338
- const sepIndex = str.lastIndexOf('1');
339
- if (sepIndex === 0 || sepIndex === -1)
340
- throw new Error(`Letter "1" must be present between prefix and data only`);
341
- const prefix = str.slice(0, sepIndex);
342
- const _words = str.slice(sepIndex + 1);
343
- if (_words.length < 6)
344
- throw new Error('Data must be at least 6 characters long');
345
- const words = BECH_ALPHABET.decode(_words).slice(0, -6);
346
- const sum = bechChecksum(prefix, words, ENCODING_CONST);
347
- if (!_words.endsWith(sum))
348
- throw new Error(`Invalid checksum in ${str}: expected "${sum}"`);
349
- return { prefix, words };
350
- }
351
- const decodeUnsafe = unsafeWrapper(decode);
352
- function decodeToBytes(str) {
353
- const { prefix, words } = decode(str, false);
354
- return { prefix, words, bytes: fromWords(words) };
355
- }
356
- return { encode, decode, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords };
357
- }
358
- genBech32('bech32');
359
- genBech32('bech32m');
360
- const utf8 = {
361
- encode: (data) => new TextDecoder().decode(data),
362
- decode: (str) => new TextEncoder().encode(str),
363
- };
364
- const hex = chain(radix2(4), alphabet('0123456789abcdef'), join(''), normalize((s) => {
365
- if (typeof s !== 'string' || s.length % 2)
366
- throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);
367
- return s.toLowerCase();
368
- }));
369
- // prettier-ignore
370
- const CODERS = {
371
- utf8, hex, base16, base32, base64, base64url, base58, base58xmr
372
- };
373
- `Invalid encoding type. Available types: ${Object.keys(CODERS).join(', ')}`;
374
-
375
- exports.assertNumber = assertNumber;
376
- exports.base16 = base16;
377
- exports.base32 = base32;
378
- exports.base58 = base58;
379
- exports.base58xmr = base58xmr;
380
- exports.base64 = base64;
381
- exports.base64url = base64url;
382
- exports.hex = hex;
383
- exports.utf8 = utf8;