ccxt-ir 4.10.0 → 4.12.0

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 (1059) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +2 -2
  3. package/dist/cjs/ccxt.js +10 -1
  4. package/dist/cjs/src/abstract/bidarz.js +11 -0
  5. package/dist/cjs/src/bidarz.js +337 -0
  6. package/dist/cjs/src/bit24.js +4 -3
  7. package/dist/cjs/src/changefa.js +342 -0
  8. package/dist/cjs/src/ourbit.js +445 -0
  9. package/js/ccxt.d.ts +11 -2
  10. package/js/ccxt.js +8 -2
  11. package/js/src/abstract/bidarz.d.ts +9 -0
  12. package/js/src/abstract/bidarz.js +11 -0
  13. package/js/src/abstract/changefa.d.ts +8 -0
  14. package/js/src/abstract/changefa.js +11 -0
  15. package/js/src/abstract/ourbit.d.ts +10 -0
  16. package/js/src/abstract/ourbit.js +11 -0
  17. package/js/src/bidarz.d.ts +22 -0
  18. package/js/src/bidarz.js +336 -0
  19. package/js/src/bit24.js +4 -3
  20. package/js/src/changefa.d.ts +20 -0
  21. package/js/src/changefa.js +341 -0
  22. package/js/src/ourbit.d.ts +21 -0
  23. package/js/src/ourbit.js +444 -0
  24. package/js/src/src/abantether.d.ts +21 -0
  25. package/js/src/src/abantether.js +353 -0
  26. package/js/src/src/abstract/abantether.d.ts +8 -0
  27. package/js/src/src/abstract/abantether.js +11 -0
  28. package/js/src/src/abstract/afratether.d.ts +9 -0
  29. package/js/src/src/abstract/afratether.js +11 -0
  30. package/js/src/src/abstract/alpaca.d.ts +77 -0
  31. package/js/src/src/abstract/alpaca.js +11 -0
  32. package/js/src/src/abstract/apex.d.ts +34 -0
  33. package/js/src/src/abstract/apex.js +11 -0
  34. package/js/src/src/abstract/arzinja.d.ts +8 -0
  35. package/js/src/src/abstract/arzinja.js +11 -0
  36. package/js/src/src/abstract/arzplus.d.ts +11 -0
  37. package/js/src/src/abstract/arzplus.js +11 -0
  38. package/js/src/src/abstract/ascendex.d.ts +80 -0
  39. package/js/src/src/abstract/ascendex.js +11 -0
  40. package/js/src/src/abstract/asretether.d.ts +8 -0
  41. package/js/src/src/abstract/asretether.js +11 -0
  42. package/js/src/src/abstract/bidarz.d.ts +9 -0
  43. package/js/src/src/abstract/bidarz.js +11 -0
  44. package/js/src/src/abstract/bigone.d.ts +48 -0
  45. package/js/src/src/abstract/bigone.js +11 -0
  46. package/js/src/src/abstract/binance.d.ts +773 -0
  47. package/js/src/src/abstract/binance.js +11 -0
  48. package/js/src/src/abstract/bingx.d.ts +165 -0
  49. package/js/src/src/abstract/bingx.js +11 -0
  50. package/js/src/src/abstract/bit24.d.ts +9 -0
  51. package/js/src/src/abstract/bit24.js +11 -0
  52. package/js/src/src/abstract/bit2c.d.ts +30 -0
  53. package/js/src/src/abstract/bit2c.js +11 -0
  54. package/js/src/src/abstract/bitbank.d.ts +35 -0
  55. package/js/src/src/abstract/bitbank.js +11 -0
  56. package/js/src/src/abstract/bitbarg.d.ts +8 -0
  57. package/js/src/src/abstract/bitbarg.js +11 -0
  58. package/js/src/src/abstract/bitbns.d.ts +43 -0
  59. package/js/src/src/abstract/bitbns.js +11 -0
  60. package/js/src/src/abstract/bitfinex.d.ts +143 -0
  61. package/js/src/src/abstract/bitfinex.js +11 -0
  62. package/js/src/src/abstract/bitflyer.d.ts +42 -0
  63. package/js/src/src/abstract/bitflyer.js +11 -0
  64. package/js/src/src/abstract/bitget.d.ts +578 -0
  65. package/js/src/src/abstract/bitget.js +11 -0
  66. package/js/src/src/abstract/bithumb.d.ts +35 -0
  67. package/js/src/src/abstract/bithumb.js +11 -0
  68. package/js/src/src/abstract/bitimen.d.ts +10 -0
  69. package/js/src/src/abstract/bitimen.js +11 -0
  70. package/js/src/src/abstract/bitir.d.ts +10 -0
  71. package/js/src/src/abstract/bitir.js +11 -0
  72. package/js/src/src/abstract/bitmart.d.ts +120 -0
  73. package/js/src/src/abstract/bitmart.js +11 -0
  74. package/js/src/src/abstract/bitmex.d.ts +100 -0
  75. package/js/src/src/abstract/bitmex.js +11 -0
  76. package/js/src/src/abstract/bitopro.d.ts +33 -0
  77. package/js/src/src/abstract/bitopro.js +11 -0
  78. package/js/src/src/abstract/bitpin.d.ts +11 -0
  79. package/js/src/src/abstract/bitpin.js +11 -0
  80. package/js/src/src/abstract/bitrue.d.ts +75 -0
  81. package/js/src/src/abstract/bitrue.js +11 -0
  82. package/js/src/src/abstract/bitso.d.ts +46 -0
  83. package/js/src/src/abstract/bitso.js +11 -0
  84. package/js/src/src/abstract/bitstamp.d.ts +262 -0
  85. package/js/src/src/abstract/bitstamp.js +11 -0
  86. package/js/src/src/abstract/bitteam.d.ts +32 -0
  87. package/js/src/src/abstract/bitteam.js +11 -0
  88. package/js/src/src/abstract/bittrade.d.ts +117 -0
  89. package/js/src/src/abstract/bittrade.js +11 -0
  90. package/js/src/src/abstract/bitunix.d.ts +9 -0
  91. package/js/src/src/abstract/bitunix.js +11 -0
  92. package/js/src/src/abstract/bitvavo.d.ts +30 -0
  93. package/js/src/src/abstract/bitvavo.js +11 -0
  94. package/js/src/src/abstract/blockchaincom.d.ts +31 -0
  95. package/js/src/src/abstract/blockchaincom.js +11 -0
  96. package/js/src/src/abstract/blofin.d.ts +70 -0
  97. package/js/src/src/abstract/blofin.js +11 -0
  98. package/js/src/src/abstract/btcalpha.d.ts +21 -0
  99. package/js/src/src/abstract/btcalpha.js +11 -0
  100. package/js/src/src/abstract/btcbox.d.ts +18 -0
  101. package/js/src/src/abstract/btcbox.js +11 -0
  102. package/js/src/src/abstract/btcmarkets.d.ts +42 -0
  103. package/js/src/src/abstract/btcmarkets.js +11 -0
  104. package/js/src/src/abstract/btcturk.d.ts +23 -0
  105. package/js/src/src/abstract/btcturk.js +11 -0
  106. package/js/src/src/abstract/bybit.d.ts +316 -0
  107. package/js/src/src/abstract/bybit.js +11 -0
  108. package/js/src/src/abstract/bydfi.d.ts +11 -0
  109. package/js/src/src/abstract/bydfi.js +11 -0
  110. package/js/src/src/abstract/cafearz.d.ts +8 -0
  111. package/js/src/src/abstract/cafearz.js +11 -0
  112. package/js/src/src/abstract/cex.d.ts +35 -0
  113. package/js/src/src/abstract/cex.js +11 -0
  114. package/js/src/src/abstract/coinbase.d.ts +97 -0
  115. package/js/src/src/abstract/coinbase.js +11 -0
  116. package/js/src/src/abstract/coinbaseexchange.d.ts +71 -0
  117. package/js/src/src/abstract/coinbaseexchange.js +11 -0
  118. package/js/src/src/abstract/coinbaseinternational.d.ts +42 -0
  119. package/js/src/src/abstract/coinbaseinternational.js +11 -0
  120. package/js/src/src/abstract/coincatch.d.ts +97 -0
  121. package/js/src/src/abstract/coincatch.js +11 -0
  122. package/js/src/src/abstract/coincheck.d.ts +36 -0
  123. package/js/src/src/abstract/coincheck.js +11 -0
  124. package/js/src/src/abstract/coinex.d.ts +240 -0
  125. package/js/src/src/abstract/coinex.js +11 -0
  126. package/js/src/src/abstract/coinmate.d.ts +65 -0
  127. package/js/src/src/abstract/coinmate.js +11 -0
  128. package/js/src/src/abstract/coinmetro.d.ts +37 -0
  129. package/js/src/src/abstract/coinmetro.js +11 -0
  130. package/js/src/src/abstract/coinone.d.ts +70 -0
  131. package/js/src/src/abstract/coinone.js +11 -0
  132. package/js/src/src/abstract/coinsph.d.ts +57 -0
  133. package/js/src/src/abstract/coinsph.js +11 -0
  134. package/js/src/src/abstract/coinspot.d.ts +31 -0
  135. package/js/src/src/abstract/coinspot.js +11 -0
  136. package/js/src/src/abstract/cryptocom.d.ts +126 -0
  137. package/js/src/src/abstract/cryptocom.js +11 -0
  138. package/js/src/src/abstract/cryptomus.d.ts +23 -0
  139. package/js/src/src/abstract/cryptomus.js +11 -0
  140. package/js/src/src/abstract/defx.d.ts +72 -0
  141. package/js/src/src/abstract/defx.js +11 -0
  142. package/js/src/src/abstract/delta.d.ts +53 -0
  143. package/js/src/src/abstract/delta.js +11 -0
  144. package/js/src/src/abstract/deribit.d.ts +129 -0
  145. package/js/src/src/abstract/deribit.js +11 -0
  146. package/js/src/src/abstract/derive.d.ts +120 -0
  147. package/js/src/src/abstract/derive.js +11 -0
  148. package/js/src/src/abstract/digifinex.d.ts +95 -0
  149. package/js/src/src/abstract/digifinex.js +11 -0
  150. package/js/src/src/abstract/ellipx.d.ts +28 -0
  151. package/js/src/src/abstract/ellipx.js +11 -0
  152. package/js/src/src/abstract/eterex.d.ts +8 -0
  153. package/js/src/src/abstract/eterex.js +11 -0
  154. package/js/src/src/abstract/excoino.d.ts +10 -0
  155. package/js/src/src/abstract/excoino.js +11 -0
  156. package/js/src/src/abstract/exir.d.ts +11 -0
  157. package/js/src/src/abstract/exir.js +11 -0
  158. package/js/src/src/abstract/exmo.d.ts +58 -0
  159. package/js/src/src/abstract/exmo.js +11 -0
  160. package/js/src/src/abstract/exnovin.d.ts +9 -0
  161. package/js/src/src/abstract/exnovin.js +11 -0
  162. package/js/src/src/abstract/farhadexchange.d.ts +8 -0
  163. package/js/src/src/abstract/farhadexchange.js +11 -0
  164. package/js/src/src/abstract/foxbit.d.ts +29 -0
  165. package/js/src/src/abstract/foxbit.js +11 -0
  166. package/js/src/src/abstract/gate.d.ts +287 -0
  167. package/js/src/src/abstract/gate.js +11 -0
  168. package/js/src/src/abstract/gemini.d.ts +62 -0
  169. package/js/src/src/abstract/gemini.js +11 -0
  170. package/js/src/src/abstract/hamtapay.d.ts +9 -0
  171. package/js/src/src/abstract/hamtapay.js +11 -0
  172. package/js/src/src/abstract/hashkey.d.ts +70 -0
  173. package/js/src/src/abstract/hashkey.js +11 -0
  174. package/js/src/src/abstract/hibachi.d.ts +29 -0
  175. package/js/src/src/abstract/hibachi.js +11 -0
  176. package/js/src/src/abstract/hitbtc.d.ts +118 -0
  177. package/js/src/src/abstract/hitbtc.js +11 -0
  178. package/js/src/src/abstract/hitobit.d.ts +11 -0
  179. package/js/src/src/abstract/hitobit.js +11 -0
  180. package/js/src/src/abstract/hollaex.d.ts +36 -0
  181. package/js/src/src/abstract/hollaex.js +11 -0
  182. package/js/src/src/abstract/htx.d.ts +551 -0
  183. package/js/src/src/abstract/htx.js +11 -0
  184. package/js/src/src/abstract/hyperliquid.d.ts +9 -0
  185. package/js/src/src/abstract/hyperliquid.js +11 -0
  186. package/js/src/src/abstract/independentreserve.d.ts +46 -0
  187. package/js/src/src/abstract/independentreserve.js +11 -0
  188. package/js/src/src/abstract/indodax.d.ts +29 -0
  189. package/js/src/src/abstract/indodax.js +11 -0
  190. package/js/src/src/abstract/iranexchange.d.ts +9 -0
  191. package/js/src/src/abstract/iranexchange.js +11 -0
  192. package/js/src/src/abstract/jibitex.d.ts +10 -0
  193. package/js/src/src/abstract/jibitex.js +11 -0
  194. package/js/src/src/abstract/kcex.d.ts +10 -0
  195. package/js/src/src/abstract/kcex.js +11 -0
  196. package/js/src/src/abstract/kifpoolme.d.ts +9 -0
  197. package/js/src/src/abstract/kifpoolme.js +11 -0
  198. package/js/src/src/abstract/kraken.d.ts +61 -0
  199. package/js/src/src/abstract/kraken.js +11 -0
  200. package/js/src/src/abstract/krakenfutures.d.ts +45 -0
  201. package/js/src/src/abstract/krakenfutures.js +11 -0
  202. package/js/src/src/abstract/kucoin.d.ts +227 -0
  203. package/js/src/src/abstract/kucoin.js +11 -0
  204. package/js/src/src/abstract/kucoinfutures.d.ts +254 -0
  205. package/js/src/src/abstract/kucoinfutures.js +11 -0
  206. package/js/src/src/abstract/latoken.d.ts +59 -0
  207. package/js/src/src/abstract/latoken.js +11 -0
  208. package/js/src/src/abstract/lbank.d.ts +65 -0
  209. package/js/src/src/abstract/lbank.js +11 -0
  210. package/js/src/src/abstract/luno.d.ts +41 -0
  211. package/js/src/src/abstract/luno.js +11 -0
  212. package/js/src/src/abstract/mazdax.d.ts +11 -0
  213. package/js/src/src/abstract/mazdax.js +11 -0
  214. package/js/src/src/abstract/mercado.d.ts +28 -0
  215. package/js/src/src/abstract/mercado.js +11 -0
  216. package/js/src/src/abstract/mexc.d.ts +183 -0
  217. package/js/src/src/abstract/mexc.js +11 -0
  218. package/js/src/src/abstract/modetrade.d.ts +122 -0
  219. package/js/src/src/abstract/modetrade.js +11 -0
  220. package/js/src/src/abstract/ndax.d.ts +100 -0
  221. package/js/src/src/abstract/ndax.js +11 -0
  222. package/js/src/src/abstract/nobitex.d.ts +10 -0
  223. package/js/src/src/abstract/nobitex.js +11 -0
  224. package/js/src/src/abstract/novadax.d.ts +32 -0
  225. package/js/src/src/abstract/novadax.js +11 -0
  226. package/js/src/src/abstract/oceanex.d.ts +30 -0
  227. package/js/src/src/abstract/oceanex.js +11 -0
  228. package/js/src/src/abstract/okcoin.d.ts +77 -0
  229. package/js/src/src/abstract/okcoin.js +11 -0
  230. package/js/src/src/abstract/okexchange.d.ts +11 -0
  231. package/js/src/src/abstract/okexchange.js +11 -0
  232. package/js/src/src/abstract/okx.d.ts +352 -0
  233. package/js/src/src/abstract/okx.js +11 -0
  234. package/js/src/src/abstract/ompfinex.d.ts +10 -0
  235. package/js/src/src/abstract/ompfinex.js +11 -0
  236. package/js/src/src/abstract/onetrading.d.ts +26 -0
  237. package/js/src/src/abstract/onetrading.js +11 -0
  238. package/js/src/src/abstract/oxfun.d.ts +37 -0
  239. package/js/src/src/abstract/oxfun.js +11 -0
  240. package/js/src/src/abstract/p2b.d.ts +25 -0
  241. package/js/src/src/abstract/p2b.js +11 -0
  242. package/js/src/src/abstract/paradex.d.ts +66 -0
  243. package/js/src/src/abstract/paradex.js +11 -0
  244. package/js/src/src/abstract/paymium.d.ts +31 -0
  245. package/js/src/src/abstract/paymium.js +11 -0
  246. package/js/src/src/abstract/phemex.d.ts +120 -0
  247. package/js/src/src/abstract/phemex.js +11 -0
  248. package/js/src/src/abstract/pingi.d.ts +9 -0
  249. package/js/src/src/abstract/pingi.js +11 -0
  250. package/js/src/src/abstract/poloniex.d.ts +108 -0
  251. package/js/src/src/abstract/poloniex.js +11 -0
  252. package/js/src/src/abstract/pooleno.d.ts +8 -0
  253. package/js/src/src/abstract/pooleno.js +11 -0
  254. package/js/src/src/abstract/probit.d.ts +26 -0
  255. package/js/src/src/abstract/probit.js +11 -0
  256. package/js/src/src/abstract/raastin.d.ts +11 -0
  257. package/js/src/src/abstract/raastin.js +11 -0
  258. package/js/src/src/abstract/ramzinex.d.ts +10 -0
  259. package/js/src/src/abstract/ramzinex.js +11 -0
  260. package/js/src/src/abstract/sarmayex.d.ts +8 -0
  261. package/js/src/src/abstract/sarmayex.js +11 -0
  262. package/js/src/src/abstract/sarrafex.d.ts +10 -0
  263. package/js/src/src/abstract/sarrafex.js +11 -0
  264. package/js/src/src/abstract/tabdeal.d.ts +10 -0
  265. package/js/src/src/abstract/tabdeal.js +11 -0
  266. package/js/src/src/abstract/tehran_exchange.d.ts +9 -0
  267. package/js/src/src/abstract/tehran_exchange.js +11 -0
  268. package/js/src/src/abstract/tetherland.d.ts +8 -0
  269. package/js/src/src/abstract/tetherland.js +11 -0
  270. package/js/src/src/abstract/timex.d.ts +65 -0
  271. package/js/src/src/abstract/timex.js +11 -0
  272. package/js/src/src/abstract/tokocrypto.d.ts +40 -0
  273. package/js/src/src/abstract/tokocrypto.js +11 -0
  274. package/js/src/src/abstract/toobit.d.ts +10 -0
  275. package/js/src/src/abstract/toobit.js +11 -0
  276. package/js/src/src/abstract/tradeogre.d.ts +21 -0
  277. package/js/src/src/abstract/tradeogre.js +11 -0
  278. package/js/src/src/abstract/twox.d.ts +8 -0
  279. package/js/src/src/abstract/twox.js +11 -0
  280. package/js/src/src/abstract/ubitex.d.ts +10 -0
  281. package/js/src/src/abstract/ubitex.js +11 -0
  282. package/js/src/src/abstract/upbit.d.ts +58 -0
  283. package/js/src/src/abstract/upbit.js +11 -0
  284. package/js/src/src/abstract/vertex.d.ts +22 -0
  285. package/js/src/src/abstract/vertex.js +11 -0
  286. package/js/src/src/abstract/wallex.d.ts +11 -0
  287. package/js/src/src/abstract/wallex.js +11 -0
  288. package/js/src/src/abstract/wavesexchange.d.ts +157 -0
  289. package/js/src/src/abstract/wavesexchange.js +11 -0
  290. package/js/src/src/abstract/whitebit.d.ts +117 -0
  291. package/js/src/src/abstract/whitebit.js +11 -0
  292. package/js/src/src/abstract/woo.d.ts +144 -0
  293. package/js/src/src/abstract/woo.js +11 -0
  294. package/js/src/src/abstract/woofipro.d.ts +122 -0
  295. package/js/src/src/abstract/woofipro.js +11 -0
  296. package/js/src/src/abstract/xt.d.ts +160 -0
  297. package/js/src/src/abstract/xt.js +11 -0
  298. package/js/src/src/abstract/yobit.d.ts +19 -0
  299. package/js/src/src/abstract/yobit.js +11 -0
  300. package/js/src/src/abstract/zaif.d.ts +41 -0
  301. package/js/src/src/abstract/zaif.js +11 -0
  302. package/js/src/src/abstract/zonda.d.ts +56 -0
  303. package/js/src/src/abstract/zonda.js +11 -0
  304. package/js/src/src/afratether.d.ts +21 -0
  305. package/js/src/src/afratether.js +356 -0
  306. package/js/src/src/alpaca.d.ts +332 -0
  307. package/js/src/src/alpaca.js +1908 -0
  308. package/js/src/src/apex.d.ts +333 -0
  309. package/js/src/src/apex.js +1942 -0
  310. package/js/src/src/arzinja.d.ts +21 -0
  311. package/js/src/src/arzinja.js +298 -0
  312. package/js/src/src/arzplus.d.ts +26 -0
  313. package/js/src/src/arzplus.js +581 -0
  314. package/js/src/src/ascendex.d.ts +424 -0
  315. package/js/src/src/ascendex.js +3699 -0
  316. package/js/src/src/asretether.d.ts +21 -0
  317. package/js/src/src/asretether.js +324 -0
  318. package/js/src/src/base/Exchange.d.ts +926 -0
  319. package/js/src/src/base/Exchange.js +7399 -0
  320. package/js/src/src/base/Precise.d.ts +42 -0
  321. package/js/src/src/base/Precise.js +275 -0
  322. package/js/src/src/base/errors.d.ts +168 -0
  323. package/js/src/src/base/errors.js +255 -0
  324. package/js/src/src/base/functions/crypto.d.ts +16 -0
  325. package/js/src/src/base/functions/crypto.js +131 -0
  326. package/js/src/src/base/functions/encode.d.ts +4 -0
  327. package/js/src/src/base/functions/encode.js +32 -0
  328. package/js/src/src/base/functions/generic.d.ts +29 -0
  329. package/js/src/src/base/functions/generic.js +203 -0
  330. package/js/src/src/base/functions/misc.d.ts +9 -0
  331. package/js/src/src/base/functions/misc.js +101 -0
  332. package/js/src/src/base/functions/number.d.ts +27 -0
  333. package/js/src/src/base/functions/number.js +313 -0
  334. package/js/src/src/base/functions/platform.d.ts +7 -0
  335. package/js/src/src/base/functions/platform.js +27 -0
  336. package/js/src/src/base/functions/rsa.d.ts +5 -0
  337. package/js/src/src/base/functions/rsa.js +49 -0
  338. package/js/src/src/base/functions/string.d.ts +7 -0
  339. package/js/src/src/base/functions/string.js +44 -0
  340. package/js/src/src/base/functions/throttle.d.ts +6 -0
  341. package/js/src/src/base/functions/throttle.js +67 -0
  342. package/js/src/src/base/functions/time.d.ts +21 -0
  343. package/js/src/src/base/functions/time.js +171 -0
  344. package/js/src/src/base/functions/totp.d.ts +3 -0
  345. package/js/src/src/base/functions/totp.js +25 -0
  346. package/js/src/src/base/functions/type.d.ts +37 -0
  347. package/js/src/src/base/functions/type.js +179 -0
  348. package/js/src/src/base/functions.d.ts +10 -0
  349. package/js/src/src/base/functions.js +18 -0
  350. package/js/src/src/base/types.d.ts +586 -0
  351. package/js/src/src/base/types.js +7 -0
  352. package/js/src/src/base/ws/Cache.d.ts +27 -0
  353. package/js/src/src/base/ws/Cache.js +260 -0
  354. package/js/src/src/base/ws/Client.d.ts +53 -0
  355. package/js/src/src/base/ws/Client.js +307 -0
  356. package/js/src/src/base/ws/Future.d.ts +8 -0
  357. package/js/src/src/base/ws/Future.js +35 -0
  358. package/js/src/src/base/ws/OrderBook.d.ts +25 -0
  359. package/js/src/src/base/ws/OrderBook.js +130 -0
  360. package/js/src/src/base/ws/OrderBookSide.d.ts +40 -0
  361. package/js/src/src/base/ws/OrderBookSide.js +286 -0
  362. package/js/src/src/base/ws/WsClient.d.ts +11 -0
  363. package/js/src/src/base/ws/WsClient.js +69 -0
  364. package/js/src/src/bequant.d.ts +4 -0
  365. package/js/src/src/bequant.js +35 -0
  366. package/js/src/src/bidarz.d.ts +16 -0
  367. package/js/src/src/bidarz.js +327 -0
  368. package/js/src/src/bigone.d.ts +296 -0
  369. package/js/src/src/bigone.js +2340 -0
  370. package/js/src/src/binance.d.ts +1667 -0
  371. package/js/src/src/binance.js +14400 -0
  372. package/js/src/src/binancecoinm.d.ts +6 -0
  373. package/js/src/src/binancecoinm.js +51 -0
  374. package/js/src/src/binanceus.d.ts +4 -0
  375. package/js/src/src/binanceus.js +225 -0
  376. package/js/src/src/binanceusdm.d.ts +6 -0
  377. package/js/src/src/binanceusdm.js +63 -0
  378. package/js/src/src/bingx.d.ts +778 -0
  379. package/js/src/src/bingx.js +6705 -0
  380. package/js/src/src/bit24.d.ts +24 -0
  381. package/js/src/src/bit24.js +520 -0
  382. package/js/src/src/bit2c.d.ts +146 -0
  383. package/js/src/src/bit2c.js +1029 -0
  384. package/js/src/src/bitbank.d.ts +181 -0
  385. package/js/src/src/bitbank.js +1146 -0
  386. package/js/src/src/bitbarg.d.ts +21 -0
  387. package/js/src/src/bitbarg.js +312 -0
  388. package/js/src/src/bitbns.d.ts +184 -0
  389. package/js/src/src/bitbns.js +1288 -0
  390. package/js/src/src/bitfinex.d.ts +516 -0
  391. package/js/src/src/bitfinex.js +3951 -0
  392. package/js/src/src/bitflyer.d.ts +229 -0
  393. package/js/src/src/bitflyer.js +1209 -0
  394. package/js/src/src/bitget.d.ts +1109 -0
  395. package/js/src/src/bitget.js +11033 -0
  396. package/js/src/src/bithumb.d.ts +165 -0
  397. package/js/src/src/bithumb.js +1257 -0
  398. package/js/src/src/bitimen.d.ts +23 -0
  399. package/js/src/src/bitimen.js +424 -0
  400. package/js/src/src/bitir.d.ts +23 -0
  401. package/js/src/src/bitir.js +521 -0
  402. package/js/src/src/bitmart.d.ts +736 -0
  403. package/js/src/src/bitmart.js +5639 -0
  404. package/js/src/src/bitmex.d.ts +395 -0
  405. package/js/src/src/bitmex.js +3088 -0
  406. package/js/src/src/bitopro.d.ts +295 -0
  407. package/js/src/src/bitopro.js +1892 -0
  408. package/js/src/src/bitpin.d.ts +23 -0
  409. package/js/src/src/bitpin.js +487 -0
  410. package/js/src/src/bitrue.d.ts +384 -0
  411. package/js/src/src/bitrue.js +3382 -0
  412. package/js/src/src/bitso.d.ts +270 -0
  413. package/js/src/src/bitso.js +1881 -0
  414. package/js/src/src/bitstamp.d.ts +355 -0
  415. package/js/src/src/bitstamp.js +2445 -0
  416. package/js/src/src/bitteam.d.ts +229 -0
  417. package/js/src/src/bitteam.js +2420 -0
  418. package/js/src/src/bittrade.d.ts +298 -0
  419. package/js/src/src/bittrade.js +2050 -0
  420. package/js/src/src/bitunix.d.ts +21 -0
  421. package/js/src/src/bitunix.js +326 -0
  422. package/js/src/src/bitvavo.d.ts +311 -0
  423. package/js/src/src/bitvavo.js +2204 -0
  424. package/js/src/src/blockchaincom.d.ts +256 -0
  425. package/js/src/src/blockchaincom.js +1259 -0
  426. package/js/src/src/blofin.d.ts +439 -0
  427. package/js/src/src/blofin.js +2576 -0
  428. package/js/src/src/btcalpha.d.ts +209 -0
  429. package/js/src/src/btcalpha.js +1056 -0
  430. package/js/src/src/btcbox.d.ts +144 -0
  431. package/js/src/src/btcbox.js +834 -0
  432. package/js/src/src/btcmarkets.d.ts +253 -0
  433. package/js/src/src/btcmarkets.js +1418 -0
  434. package/js/src/src/btcturk.d.ts +161 -0
  435. package/js/src/src/btcturk.js +1058 -0
  436. package/js/src/src/bybit.d.ts +1097 -0
  437. package/js/src/src/bybit.js +9382 -0
  438. package/js/src/src/bydfi.d.ts +23 -0
  439. package/js/src/src/bydfi.js +434 -0
  440. package/js/src/src/cafearz.d.ts +21 -0
  441. package/js/src/src/cafearz.js +346 -0
  442. package/js/src/src/cex.d.ts +286 -0
  443. package/js/src/src/cex.js +1799 -0
  444. package/js/src/src/coinbase.d.ts +623 -0
  445. package/js/src/src/coinbase.js +5220 -0
  446. package/js/src/src/coinbaseadvanced.d.ts +4 -0
  447. package/js/src/src/coinbaseadvanced.js +18 -0
  448. package/js/src/src/coinbaseexchange.d.ts +334 -0
  449. package/js/src/src/coinbaseexchange.js +2127 -0
  450. package/js/src/src/coinbaseinternational.d.ts +443 -0
  451. package/js/src/src/coinbaseinternational.js +2336 -0
  452. package/js/src/src/coincatch.d.ts +786 -0
  453. package/js/src/src/coincatch.js +5492 -0
  454. package/js/src/src/coincheck.d.ts +147 -0
  455. package/js/src/src/coincheck.js +962 -0
  456. package/js/src/src/coinex.d.ts +719 -0
  457. package/js/src/src/coinex.js +6166 -0
  458. package/js/src/src/coinmate.d.ts +202 -0
  459. package/js/src/src/coinmate.js +1215 -0
  460. package/js/src/src/coinmetro.d.ts +244 -0
  461. package/js/src/src/coinmetro.js +2024 -0
  462. package/js/src/src/coinone.d.ts +158 -0
  463. package/js/src/src/coinone.js +1278 -0
  464. package/js/src/src/coinsph.d.ts +310 -0
  465. package/js/src/src/coinsph.js +2203 -0
  466. package/js/src/src/coinspot.d.ts +108 -0
  467. package/js/src/src/coinspot.js +653 -0
  468. package/js/src/src/cryptocom.d.ts +463 -0
  469. package/js/src/src/cryptocom.js +3549 -0
  470. package/js/src/src/cryptomus.d.ts +158 -0
  471. package/js/src/src/cryptomus.js +1169 -0
  472. package/js/src/src/defx.d.ts +348 -0
  473. package/js/src/src/defx.js +2139 -0
  474. package/js/src/src/delta.d.ts +407 -0
  475. package/js/src/src/delta.js +3654 -0
  476. package/js/src/src/deribit.d.ts +516 -0
  477. package/js/src/src/deribit.js +3790 -0
  478. package/js/src/src/derive.d.ts +324 -0
  479. package/js/src/src/derive.js +2655 -0
  480. package/js/src/src/digifinex.d.ts +544 -0
  481. package/js/src/src/digifinex.js +4453 -0
  482. package/js/src/src/ellipx.d.ts +237 -0
  483. package/js/src/src/ellipx.js +2071 -0
  484. package/js/src/src/eterex.d.ts +21 -0
  485. package/js/src/src/eterex.js +299 -0
  486. package/js/src/src/excoino.d.ts +23 -0
  487. package/js/src/src/excoino.js +426 -0
  488. package/js/src/src/exir.d.ts +23 -0
  489. package/js/src/src/exir.js +403 -0
  490. package/js/src/src/exmo.d.ts +426 -0
  491. package/js/src/src/exmo.js +2825 -0
  492. package/js/src/src/exnovin.d.ts +22 -0
  493. package/js/src/src/exnovin.js +378 -0
  494. package/js/src/src/farhadexchange.d.ts +21 -0
  495. package/js/src/src/farhadexchange.js +280 -0
  496. package/js/src/src/fmfwio.d.ts +4 -0
  497. package/js/src/src/fmfwio.js +35 -0
  498. package/js/src/src/foxbit.d.ts +352 -0
  499. package/js/src/src/foxbit.js +2016 -0
  500. package/js/src/src/gate.d.ts +1071 -0
  501. package/js/src/src/gate.js +8282 -0
  502. package/js/src/src/gateio.d.ts +4 -0
  503. package/js/src/src/gateio.js +17 -0
  504. package/js/src/src/gemini.d.ts +257 -0
  505. package/js/src/src/gemini.js +2006 -0
  506. package/js/src/src/hamtapay.d.ts +21 -0
  507. package/js/src/src/hamtapay.js +303 -0
  508. package/js/src/src/hashkey.d.ts +628 -0
  509. package/js/src/src/hashkey.js +4363 -0
  510. package/js/src/src/hibachi.d.ts +346 -0
  511. package/js/src/src/hibachi.js +2137 -0
  512. package/js/src/src/hitbtc.d.ts +558 -0
  513. package/js/src/src/hitbtc.js +3847 -0
  514. package/js/src/src/hitobit.d.ts +23 -0
  515. package/js/src/src/hitobit.js +412 -0
  516. package/js/src/src/hollaex.d.ts +305 -0
  517. package/js/src/src/hollaex.js +2046 -0
  518. package/js/src/src/htx.d.ts +961 -0
  519. package/js/src/src/htx.js +9668 -0
  520. package/js/src/src/huobi.d.ts +4 -0
  521. package/js/src/src/huobi.js +17 -0
  522. package/js/src/src/hyperliquid.d.ts +651 -0
  523. package/js/src/src/hyperliquid.js +3937 -0
  524. package/js/src/src/independentreserve.d.ts +169 -0
  525. package/js/src/src/independentreserve.js +1115 -0
  526. package/js/src/src/indodax.d.ts +217 -0
  527. package/js/src/src/indodax.js +1454 -0
  528. package/js/src/src/iranexchange.d.ts +21 -0
  529. package/js/src/src/iranexchange.js +399 -0
  530. package/js/src/src/jibitex.d.ts +23 -0
  531. package/js/src/src/jibitex.js +416 -0
  532. package/js/src/src/kcex.d.ts +21 -0
  533. package/js/src/src/kcex.js +335 -0
  534. package/js/src/src/kifpoolme.d.ts +23 -0
  535. package/js/src/src/kifpoolme.js +410 -0
  536. package/js/src/src/kraken.d.ts +484 -0
  537. package/js/src/src/kraken.js +3518 -0
  538. package/js/src/src/krakenfutures.d.ts +362 -0
  539. package/js/src/src/krakenfutures.js +2885 -0
  540. package/js/src/src/kucoin.d.ts +759 -0
  541. package/js/src/src/kucoin.js +5153 -0
  542. package/js/src/src/kucoinfutures.d.ts +521 -0
  543. package/js/src/src/kucoinfutures.js +3381 -0
  544. package/js/src/src/latoken.d.ts +274 -0
  545. package/js/src/src/latoken.js +1824 -0
  546. package/js/src/src/lbank.d.ts +350 -0
  547. package/js/src/src/lbank.js +3146 -0
  548. package/js/src/src/luno.d.ts +252 -0
  549. package/js/src/src/luno.js +1479 -0
  550. package/js/src/src/mazdax.d.ts +23 -0
  551. package/js/src/src/mazdax.js +534 -0
  552. package/js/src/src/mercado.d.ts +160 -0
  553. package/js/src/src/mercado.js +1011 -0
  554. package/js/src/src/mexc.d.ts +768 -0
  555. package/js/src/src/mexc.js +6102 -0
  556. package/js/src/src/modetrade.d.ts +496 -0
  557. package/js/src/src/modetrade.js +2936 -0
  558. package/js/src/src/myokx.d.ts +4 -0
  559. package/js/src/src/myokx.js +54 -0
  560. package/js/src/src/ndax.d.ts +285 -0
  561. package/js/src/src/ndax.js +2598 -0
  562. package/js/src/src/nobitex.d.ts +23 -0
  563. package/js/src/src/nobitex.js +454 -0
  564. package/js/src/src/novadax.d.ts +279 -0
  565. package/js/src/src/novadax.js +1676 -0
  566. package/js/src/src/oceanex.d.ts +231 -0
  567. package/js/src/src/oceanex.js +1123 -0
  568. package/js/src/src/okcoin.d.ts +346 -0
  569. package/js/src/src/okcoin.js +3211 -0
  570. package/js/src/src/okexchange.d.ts +23 -0
  571. package/js/src/src/okexchange.js +373 -0
  572. package/js/src/src/okx.d.ts +1125 -0
  573. package/js/src/src/okx.js +9009 -0
  574. package/js/src/src/okxus.d.ts +4 -0
  575. package/js/src/src/okxus.js +54 -0
  576. package/js/src/src/ompfinex.d.ts +23 -0
  577. package/js/src/src/ompfinex.js +510 -0
  578. package/js/src/src/onetrading.d.ts +228 -0
  579. package/js/src/src/onetrading.js +1769 -0
  580. package/js/src/src/oxfun.d.ts +442 -0
  581. package/js/src/src/oxfun.js +2920 -0
  582. package/js/src/src/p2b.d.ts +189 -0
  583. package/js/src/src/p2b.js +1344 -0
  584. package/js/src/src/paradex.d.ts +389 -0
  585. package/js/src/src/paradex.js +2607 -0
  586. package/js/src/src/paymium.d.ts +133 -0
  587. package/js/src/src/paymium.js +644 -0
  588. package/js/src/src/phemex.d.ts +497 -0
  589. package/js/src/src/phemex.js +5333 -0
  590. package/js/src/src/pingi.d.ts +22 -0
  591. package/js/src/src/pingi.js +446 -0
  592. package/js/src/src/poloniex.d.ts +441 -0
  593. package/js/src/src/poloniex.js +3681 -0
  594. package/js/src/src/pooleno.d.ts +21 -0
  595. package/js/src/src/pooleno.js +347 -0
  596. package/js/src/src/pro/alpaca.d.ts +95 -0
  597. package/js/src/src/pro/alpaca.js +724 -0
  598. package/js/src/src/pro/apex.d.ts +160 -0
  599. package/js/src/src/pro/apex.js +1044 -0
  600. package/js/src/src/pro/ascendex.d.ts +99 -0
  601. package/js/src/src/pro/ascendex.js +1012 -0
  602. package/js/src/src/pro/bequant.d.ts +4 -0
  603. package/js/src/src/pro/bequant.js +42 -0
  604. package/js/src/src/pro/binance.d.ts +796 -0
  605. package/js/src/src/pro/binance.js +4373 -0
  606. package/js/src/src/pro/binancecoinm.d.ts +4 -0
  607. package/js/src/src/pro/binancecoinm.js +32 -0
  608. package/js/src/src/pro/binanceus.d.ts +4 -0
  609. package/js/src/src/pro/binanceus.js +52 -0
  610. package/js/src/src/pro/binanceusdm.d.ts +4 -0
  611. package/js/src/src/pro/binanceusdm.js +37 -0
  612. package/js/src/src/pro/bingx.d.ts +151 -0
  613. package/js/src/src/pro/bingx.js +1568 -0
  614. package/js/src/src/pro/bitfinex.d.ts +99 -0
  615. package/js/src/src/pro/bitfinex.js +1165 -0
  616. package/js/src/src/pro/bitget.d.ts +257 -0
  617. package/js/src/src/pro/bitget.js +2327 -0
  618. package/js/src/src/pro/bithumb.d.ts +59 -0
  619. package/js/src/src/pro/bithumb.js +395 -0
  620. package/js/src/src/pro/bitmart.d.ts +168 -0
  621. package/js/src/src/pro/bitmart.js +1686 -0
  622. package/js/src/src/pro/bitmex.d.ts +170 -0
  623. package/js/src/src/pro/bitmex.js +1760 -0
  624. package/js/src/src/pro/bitopro.d.ts +69 -0
  625. package/js/src/src/pro/bitopro.js +477 -0
  626. package/js/src/src/pro/bitrue.d.ts +40 -0
  627. package/js/src/src/pro/bitrue.js +461 -0
  628. package/js/src/src/pro/bitstamp.d.ts +53 -0
  629. package/js/src/src/pro/bitstamp.js +587 -0
  630. package/js/src/src/pro/bittrade.d.ts +66 -0
  631. package/js/src/src/pro/bittrade.js +606 -0
  632. package/js/src/src/pro/bitvavo.d.ts +321 -0
  633. package/js/src/src/pro/bitvavo.js +1451 -0
  634. package/js/src/src/pro/blockchaincom.d.ts +89 -0
  635. package/js/src/src/pro/blockchaincom.js +777 -0
  636. package/js/src/src/pro/blofin.d.ts +174 -0
  637. package/js/src/src/pro/blofin.js +743 -0
  638. package/js/src/src/pro/bybit.d.ts +397 -0
  639. package/js/src/src/pro/bybit.js +2519 -0
  640. package/js/src/src/pro/cex.d.ts +220 -0
  641. package/js/src/src/pro/cex.js +1535 -0
  642. package/js/src/src/pro/coinbase.d.ts +119 -0
  643. package/js/src/src/pro/coinbase.js +736 -0
  644. package/js/src/src/pro/coinbaseadvanced.d.ts +4 -0
  645. package/js/src/src/pro/coinbaseadvanced.js +18 -0
  646. package/js/src/src/pro/coinbaseexchange.d.ts +133 -0
  647. package/js/src/src/pro/coinbaseexchange.js +969 -0
  648. package/js/src/src/pro/coinbaseinternational.d.ts +143 -0
  649. package/js/src/src/pro/coinbaseinternational.js +804 -0
  650. package/js/src/src/pro/coincatch.d.ts +207 -0
  651. package/js/src/src/pro/coincatch.js +1562 -0
  652. package/js/src/src/pro/coincheck.d.ts +33 -0
  653. package/js/src/src/pro/coincheck.js +210 -0
  654. package/js/src/src/pro/coinex.d.ts +147 -0
  655. package/js/src/src/pro/coinex.js +1426 -0
  656. package/js/src/src/pro/coinone.d.ts +51 -0
  657. package/js/src/src/pro/coinone.js +413 -0
  658. package/js/src/src/pro/cryptocom.d.ts +300 -0
  659. package/js/src/src/pro/cryptocom.js +1414 -0
  660. package/js/src/src/pro/defx.d.ts +236 -0
  661. package/js/src/src/pro/defx.js +865 -0
  662. package/js/src/src/pro/deribit.d.ts +163 -0
  663. package/js/src/src/pro/deribit.js +1066 -0
  664. package/js/src/src/pro/derive.d.ts +100 -0
  665. package/js/src/src/pro/derive.js +753 -0
  666. package/js/src/src/pro/exmo.d.ts +97 -0
  667. package/js/src/src/pro/exmo.js +903 -0
  668. package/js/src/src/pro/gate.d.ts +360 -0
  669. package/js/src/src/pro/gate.js +2119 -0
  670. package/js/src/src/pro/gateio.d.ts +4 -0
  671. package/js/src/src/pro/gateio.js +17 -0
  672. package/js/src/src/pro/gemini.d.ts +106 -0
  673. package/js/src/src/pro/gemini.js +932 -0
  674. package/js/src/src/pro/hashkey.d.ts +121 -0
  675. package/js/src/src/pro/hashkey.js +843 -0
  676. package/js/src/src/pro/hitbtc.d.ts +235 -0
  677. package/js/src/src/pro/hitbtc.js +1400 -0
  678. package/js/src/src/pro/hollaex.d.ts +77 -0
  679. package/js/src/src/pro/hollaex.js +604 -0
  680. package/js/src/src/pro/htx.d.ts +141 -0
  681. package/js/src/src/pro/htx.js +2415 -0
  682. package/js/src/src/pro/huobi.d.ts +4 -0
  683. package/js/src/src/pro/huobi.js +17 -0
  684. package/js/src/src/pro/hyperliquid.d.ts +218 -0
  685. package/js/src/src/pro/hyperliquid.js +1126 -0
  686. package/js/src/src/pro/independentreserve.d.ts +36 -0
  687. package/js/src/src/pro/independentreserve.js +287 -0
  688. package/js/src/src/pro/kraken.d.ts +233 -0
  689. package/js/src/src/pro/kraken.js +1785 -0
  690. package/js/src/src/pro/krakenfutures.d.ts +178 -0
  691. package/js/src/src/pro/krakenfutures.js +1592 -0
  692. package/js/src/src/pro/kucoin.d.ts +221 -0
  693. package/js/src/src/pro/kucoin.js +1430 -0
  694. package/js/src/src/pro/kucoinfutures.d.ts +205 -0
  695. package/js/src/src/pro/kucoinfutures.js +1295 -0
  696. package/js/src/src/pro/lbank.d.ts +134 -0
  697. package/js/src/src/pro/lbank.js +950 -0
  698. package/js/src/src/pro/luno.d.ts +44 -0
  699. package/js/src/src/pro/luno.js +322 -0
  700. package/js/src/src/pro/mexc.d.ts +210 -0
  701. package/js/src/src/pro/mexc.js +2009 -0
  702. package/js/src/src/pro/modetrade.d.ts +155 -0
  703. package/js/src/src/pro/modetrade.js +1335 -0
  704. package/js/src/src/pro/myokx.d.ts +4 -0
  705. package/js/src/src/pro/myokx.js +39 -0
  706. package/js/src/src/pro/ndax.d.ts +60 -0
  707. package/js/src/src/pro/ndax.js +545 -0
  708. package/js/src/src/pro/okcoin.d.ts +91 -0
  709. package/js/src/src/pro/okcoin.js +763 -0
  710. package/js/src/src/pro/okx.d.ts +408 -0
  711. package/js/src/src/pro/okx.js +2479 -0
  712. package/js/src/src/pro/okxus.d.ts +4 -0
  713. package/js/src/src/pro/okxus.js +39 -0
  714. package/js/src/src/pro/onetrading.d.ts +107 -0
  715. package/js/src/src/pro/onetrading.js +1343 -0
  716. package/js/src/src/pro/oxfun.d.ts +234 -0
  717. package/js/src/src/pro/oxfun.js +1112 -0
  718. package/js/src/src/pro/p2b.d.ts +104 -0
  719. package/js/src/src/pro/p2b.js +506 -0
  720. package/js/src/src/pro/paradex.d.ts +54 -0
  721. package/js/src/src/pro/paradex.js +370 -0
  722. package/js/src/src/pro/phemex.d.ts +129 -0
  723. package/js/src/src/pro/phemex.js +1569 -0
  724. package/js/src/src/pro/poloniex.d.ts +214 -0
  725. package/js/src/src/pro/poloniex.js +1318 -0
  726. package/js/src/src/pro/probit.d.ts +91 -0
  727. package/js/src/src/pro/probit.js +593 -0
  728. package/js/src/src/pro/tradeogre.d.ts +49 -0
  729. package/js/src/src/pro/tradeogre.js +284 -0
  730. package/js/src/src/pro/upbit.d.ts +124 -0
  731. package/js/src/src/pro/upbit.js +689 -0
  732. package/js/src/src/pro/vertex.d.ts +104 -0
  733. package/js/src/src/pro/vertex.js +999 -0
  734. package/js/src/src/pro/whitebit.d.ts +123 -0
  735. package/js/src/src/pro/whitebit.js +971 -0
  736. package/js/src/src/pro/woo.d.ts +161 -0
  737. package/js/src/src/pro/woo.js +1351 -0
  738. package/js/src/src/pro/woofipro.d.ts +155 -0
  739. package/js/src/src/pro/woofipro.js +1335 -0
  740. package/js/src/src/pro/xt.d.ts +165 -0
  741. package/js/src/src/pro/xt.js +1230 -0
  742. package/js/src/src/probit.d.ts +283 -0
  743. package/js/src/src/probit.js +1935 -0
  744. package/js/src/src/protobuf/mexc/compiled.cjs +7186 -0
  745. package/js/src/src/protobuf/mexc/compiled.d.cts +8 -0
  746. package/js/src/src/raastin.d.ts +24 -0
  747. package/js/src/src/raastin.js +494 -0
  748. package/js/src/src/ramzinex.d.ts +23 -0
  749. package/js/src/src/ramzinex.js +510 -0
  750. package/js/src/src/sarmayex.d.ts +21 -0
  751. package/js/src/src/sarmayex.js +376 -0
  752. package/js/src/src/sarrafex.d.ts +23 -0
  753. package/js/src/src/sarrafex.js +501 -0
  754. package/js/src/src/static_dependencies/ethers/abi-coder.d.ts +50 -0
  755. package/js/src/src/static_dependencies/ethers/abi-coder.js +148 -0
  756. package/js/src/src/static_dependencies/ethers/address/address.d.ts +55 -0
  757. package/js/src/src/static_dependencies/ethers/address/address.js +162 -0
  758. package/js/src/src/static_dependencies/ethers/address/checks.d.ts +80 -0
  759. package/js/src/src/static_dependencies/ethers/address/checks.js +119 -0
  760. package/js/src/src/static_dependencies/ethers/address/contract-address.d.ts +47 -0
  761. package/js/src/src/static_dependencies/ethers/address/contract-address.js +73 -0
  762. package/js/src/src/static_dependencies/ethers/address/index.d.ts +48 -0
  763. package/js/src/src/static_dependencies/ethers/address/index.js +24 -0
  764. package/js/src/src/static_dependencies/ethers/bytes32.d.ts +14 -0
  765. package/js/src/src/static_dependencies/ethers/bytes32.js +45 -0
  766. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.d.ts +120 -0
  767. package/js/src/src/static_dependencies/ethers/coders/abstract-coder.js +424 -0
  768. package/js/src/src/static_dependencies/ethers/coders/address.d.ts +12 -0
  769. package/js/src/src/static_dependencies/ethers/coders/address.js +34 -0
  770. package/js/src/src/static_dependencies/ethers/coders/anonymous.d.ts +14 -0
  771. package/js/src/src/static_dependencies/ethers/coders/anonymous.js +27 -0
  772. package/js/src/src/static_dependencies/ethers/coders/array.d.ts +24 -0
  773. package/js/src/src/static_dependencies/ethers/coders/array.js +162 -0
  774. package/js/src/src/static_dependencies/ethers/coders/boolean.d.ts +12 -0
  775. package/js/src/src/static_dependencies/ethers/coders/boolean.js +26 -0
  776. package/js/src/src/static_dependencies/ethers/coders/bytes.d.ts +18 -0
  777. package/js/src/src/static_dependencies/ethers/coders/bytes.js +39 -0
  778. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.d.ts +14 -0
  779. package/js/src/src/static_dependencies/ethers/coders/fixed-bytes.js +32 -0
  780. package/js/src/src/static_dependencies/ethers/coders/null.d.ts +11 -0
  781. package/js/src/src/static_dependencies/ethers/coders/null.js +29 -0
  782. package/js/src/src/static_dependencies/ethers/coders/number.d.ts +15 -0
  783. package/js/src/src/static_dependencies/ethers/coders/number.js +48 -0
  784. package/js/src/src/static_dependencies/ethers/coders/string.d.ts +12 -0
  785. package/js/src/src/static_dependencies/ethers/coders/string.js +26 -0
  786. package/js/src/src/static_dependencies/ethers/coders/tuple.d.ts +15 -0
  787. package/js/src/src/static_dependencies/ethers/coders/tuple.js +67 -0
  788. package/js/src/src/static_dependencies/ethers/fragments.d.ts +458 -0
  789. package/js/src/src/static_dependencies/ethers/fragments.js +1252 -0
  790. package/js/src/src/static_dependencies/ethers/hash/index.d.ts +10 -0
  791. package/js/src/src/static_dependencies/ethers/hash/index.js +15 -0
  792. package/js/src/src/static_dependencies/ethers/hash/solidity.d.ts +30 -0
  793. package/js/src/src/static_dependencies/ethers/hash/solidity.js +107 -0
  794. package/js/src/src/static_dependencies/ethers/hash/typed-data.d.ts +144 -0
  795. package/js/src/src/static_dependencies/ethers/hash/typed-data.js +490 -0
  796. package/js/src/src/static_dependencies/ethers/index.d.ts +19 -0
  797. package/js/src/src/static_dependencies/ethers/index.js +22 -0
  798. package/js/src/src/static_dependencies/ethers/interface.d.ts +380 -0
  799. package/js/src/src/static_dependencies/ethers/interface.js +990 -0
  800. package/js/src/src/static_dependencies/ethers/typed.d.ts +569 -0
  801. package/js/src/src/static_dependencies/ethers/typed.js +608 -0
  802. package/js/src/src/static_dependencies/ethers/utils/base58.d.ts +22 -0
  803. package/js/src/src/static_dependencies/ethers/utils/base58.js +68 -0
  804. package/js/src/src/static_dependencies/ethers/utils/base64.d.ts +39 -0
  805. package/js/src/src/static_dependencies/ethers/utils/base64.js +58 -0
  806. package/js/src/src/static_dependencies/ethers/utils/data.d.ts +92 -0
  807. package/js/src/src/static_dependencies/ethers/utils/data.js +175 -0
  808. package/js/src/src/static_dependencies/ethers/utils/errors.d.ts +509 -0
  809. package/js/src/src/static_dependencies/ethers/utils/errors.js +227 -0
  810. package/js/src/src/static_dependencies/ethers/utils/events.d.ts +76 -0
  811. package/js/src/src/static_dependencies/ethers/utils/events.js +52 -0
  812. package/js/src/src/static_dependencies/ethers/utils/fixednumber.d.ts +251 -0
  813. package/js/src/src/static_dependencies/ethers/utils/fixednumber.js +529 -0
  814. package/js/src/src/static_dependencies/ethers/utils/index.d.ts +30 -0
  815. package/js/src/src/static_dependencies/ethers/utils/index.js +38 -0
  816. package/js/src/src/static_dependencies/ethers/utils/maths.d.ts +65 -0
  817. package/js/src/src/static_dependencies/ethers/utils/maths.js +220 -0
  818. package/js/src/src/static_dependencies/ethers/utils/properties.d.ts +22 -0
  819. package/js/src/src/static_dependencies/ethers/utils/properties.js +59 -0
  820. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.d.ts +5 -0
  821. package/js/src/src/static_dependencies/ethers/utils/rlp-decode.js +84 -0
  822. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.d.ts +5 -0
  823. package/js/src/src/static_dependencies/ethers/utils/rlp-encode.js +54 -0
  824. package/js/src/src/static_dependencies/ethers/utils/rlp.d.ts +16 -0
  825. package/js/src/src/static_dependencies/ethers/utils/rlp.js +14 -0
  826. package/js/src/src/static_dependencies/ethers/utils/units.d.ts +23 -0
  827. package/js/src/src/static_dependencies/ethers/utils/units.js +88 -0
  828. package/js/src/src/static_dependencies/ethers/utils/utf8.d.ts +95 -0
  829. package/js/src/src/static_dependencies/ethers/utils/utf8.js +225 -0
  830. package/js/src/src/static_dependencies/ethers/utils/uuid.d.ts +7 -0
  831. package/js/src/src/static_dependencies/ethers/utils/uuid.js +35 -0
  832. package/js/src/src/static_dependencies/fflake/browser.d.ts +222 -0
  833. package/js/src/src/static_dependencies/fflake/browser.js +2578 -0
  834. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +116 -0
  835. package/js/src/src/static_dependencies/jsencrypt/JSEncrypt.js +194 -0
  836. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +142 -0
  837. package/js/src/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +307 -0
  838. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +51 -0
  839. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +565 -0
  840. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +5 -0
  841. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +94 -0
  842. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +3 -0
  843. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +70 -0
  844. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +9 -0
  845. package/js/src/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +91 -0
  846. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +3 -0
  847. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +25 -0
  848. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +101 -0
  849. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1757 -0
  850. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +10 -0
  851. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +50 -0
  852. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +3 -0
  853. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +80 -0
  854. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +23 -0
  855. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +377 -0
  856. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +7 -0
  857. package/js/src/src/static_dependencies/jsencrypt/lib/jsbn/util.js +64 -0
  858. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +24 -0
  859. package/js/src/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1627 -0
  860. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.d.ts +60 -0
  861. package/js/src/src/static_dependencies/noble-curves/_shortw_utils.js +22 -0
  862. package/js/src/src/static_dependencies/noble-curves/abstract/curve.d.ts +67 -0
  863. package/js/src/src/static_dependencies/noble-curves/abstract/curve.js +157 -0
  864. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.d.ts +79 -0
  865. package/js/src/src/static_dependencies/noble-curves/abstract/edwards.js +432 -0
  866. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.d.ts +56 -0
  867. package/js/src/src/static_dependencies/noble-curves/abstract/hash-to-curve.js +171 -0
  868. package/js/src/src/static_dependencies/noble-curves/abstract/modular.d.ts +68 -0
  869. package/js/src/src/static_dependencies/noble-curves/abstract/modular.js +351 -0
  870. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.d.ts +25 -0
  871. package/js/src/src/static_dependencies/noble-curves/abstract/montgomery.js +162 -0
  872. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.d.ts +29 -0
  873. package/js/src/src/static_dependencies/noble-curves/abstract/poseidon.js +115 -0
  874. package/js/src/src/static_dependencies/noble-curves/abstract/utils.d.ts +53 -0
  875. package/js/src/src/static_dependencies/noble-curves/abstract/utils.js +227 -0
  876. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +204 -0
  877. package/js/src/src/static_dependencies/noble-curves/abstract/weierstrass.js +1016 -0
  878. package/js/src/src/static_dependencies/noble-curves/ed25519.d.ts +53 -0
  879. package/js/src/src/static_dependencies/noble-curves/ed25519.js +402 -0
  880. package/js/src/src/static_dependencies/noble-curves/p256.d.ts +103 -0
  881. package/js/src/src/static_dependencies/noble-curves/p256.js +47 -0
  882. package/js/src/src/static_dependencies/noble-curves/secp256k1.d.ts +91 -0
  883. package/js/src/src/static_dependencies/noble-curves/secp256k1.js +257 -0
  884. package/js/src/src/static_dependencies/noble-hashes/_assert.d.ts +21 -0
  885. package/js/src/src/static_dependencies/noble-hashes/_assert.js +48 -0
  886. package/js/src/src/static_dependencies/noble-hashes/_sha2.d.ts +23 -0
  887. package/js/src/src/static_dependencies/noble-hashes/_sha2.js +119 -0
  888. package/js/src/src/static_dependencies/noble-hashes/_u64.d.ts +35 -0
  889. package/js/src/src/static_dependencies/noble-hashes/_u64.js +66 -0
  890. package/js/src/src/static_dependencies/noble-hashes/crypto.d.ts +1 -0
  891. package/js/src/src/static_dependencies/noble-hashes/crypto.js +7 -0
  892. package/js/src/src/static_dependencies/noble-hashes/hmac.d.ts +26 -0
  893. package/js/src/src/static_dependencies/noble-hashes/hmac.js +82 -0
  894. package/js/src/src/static_dependencies/noble-hashes/md5.d.ts +18 -0
  895. package/js/src/src/static_dependencies/noble-hashes/md5.js +242 -0
  896. package/js/src/src/static_dependencies/noble-hashes/sha1.d.ts +21 -0
  897. package/js/src/src/static_dependencies/noble-hashes/sha1.js +90 -0
  898. package/js/src/src/static_dependencies/noble-hashes/sha256.d.ts +34 -0
  899. package/js/src/src/static_dependencies/noble-hashes/sha256.js +129 -0
  900. package/js/src/src/static_dependencies/noble-hashes/sha3.d.ts +97 -0
  901. package/js/src/src/static_dependencies/noble-hashes/sha3.js +211 -0
  902. package/js/src/src/static_dependencies/noble-hashes/sha512.d.ts +66 -0
  903. package/js/src/src/static_dependencies/noble-hashes/sha512.js +236 -0
  904. package/js/src/src/static_dependencies/noble-hashes/utils.d.ts +77 -0
  905. package/js/src/src/static_dependencies/noble-hashes/utils.js +147 -0
  906. package/js/src/src/static_dependencies/proxies/agent-base/helpers.d.ts +14 -0
  907. package/js/src/src/static_dependencies/proxies/agent-base/helpers.js +42 -0
  908. package/js/src/src/static_dependencies/proxies/agent-base/index.d.ts +33 -0
  909. package/js/src/src/static_dependencies/proxies/agent-base/index.js +82 -0
  910. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.d.ts +40 -0
  911. package/js/src/src/static_dependencies/proxies/http-proxy-agent/index.js +119 -0
  912. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.d.ts +45 -0
  913. package/js/src/src/static_dependencies/proxies/https-proxy-agent/index.js +150 -0
  914. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.d.ts +15 -0
  915. package/js/src/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +95 -0
  916. package/js/src/src/static_dependencies/qs/formats.cjs +22 -0
  917. package/js/src/src/static_dependencies/qs/formats.d.cts +14 -0
  918. package/js/src/src/static_dependencies/qs/index.cjs +15 -0
  919. package/js/src/src/static_dependencies/qs/index.d.cts +10 -0
  920. package/js/src/src/static_dependencies/qs/parse.cjs +208 -0
  921. package/js/src/src/static_dependencies/qs/parse.d.cts +8 -0
  922. package/js/src/src/static_dependencies/qs/stringify.cjs +192 -0
  923. package/js/src/src/static_dependencies/qs/stringify.d.cts +8 -0
  924. package/js/src/src/static_dependencies/qs/utils.cjs +202 -0
  925. package/js/src/src/static_dependencies/qs/utils.d.cts +15 -0
  926. package/js/src/src/static_dependencies/scure-base/index.d.ts +92 -0
  927. package/js/src/src/static_dependencies/scure-base/index.js +420 -0
  928. package/js/src/src/static_dependencies/scure-starknet/index.d.ts +79 -0
  929. package/js/src/src/static_dependencies/scure-starknet/index.js +323 -0
  930. package/js/src/src/static_dependencies/starknet/constants.d.ts +61 -0
  931. package/js/src/src/static_dependencies/starknet/constants.js +67 -0
  932. package/js/src/src/static_dependencies/starknet/index.d.ts +3 -0
  933. package/js/src/src/static_dependencies/starknet/index.js +9 -0
  934. package/js/src/src/static_dependencies/starknet/types/cairoEnum.d.ts +2 -0
  935. package/js/src/src/static_dependencies/starknet/types/cairoEnum.js +7 -0
  936. package/js/src/src/static_dependencies/starknet/types/calldata.d.ts +19 -0
  937. package/js/src/src/static_dependencies/starknet/types/calldata.js +28 -0
  938. package/js/src/src/static_dependencies/starknet/types/index.d.ts +13 -0
  939. package/js/src/src/static_dependencies/starknet/types/index.js +16 -0
  940. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.d.ts +71 -0
  941. package/js/src/src/static_dependencies/starknet/types/lib/contract/abi.js +13 -0
  942. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.d.ts +24 -0
  943. package/js/src/src/static_dependencies/starknet/types/lib/contract/index.js +16 -0
  944. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.d.ts +33 -0
  945. package/js/src/src/static_dependencies/starknet/types/lib/contract/legacy.js +7 -0
  946. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.d.ts +52 -0
  947. package/js/src/src/static_dependencies/starknet/types/lib/contract/sierra.js +7 -0
  948. package/js/src/src/static_dependencies/starknet/types/lib/index.d.ts +248 -0
  949. package/js/src/src/static_dependencies/starknet/types/lib/index.js +52 -0
  950. package/js/src/src/static_dependencies/starknet/types/typedData.d.ts +44 -0
  951. package/js/src/src/static_dependencies/starknet/types/typedData.js +19 -0
  952. package/js/src/src/static_dependencies/starknet/utils/assert.d.ts +7 -0
  953. package/js/src/src/static_dependencies/starknet/utils/assert.js +17 -0
  954. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.d.ts +6 -0
  955. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +43 -0
  956. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.d.ts +72 -0
  957. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +117 -0
  958. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.d.ts +76 -0
  959. package/js/src/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +136 -0
  960. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.d.ts +32 -0
  961. package/js/src/src/static_dependencies/starknet/utils/calldata/byteArray.js +59 -0
  962. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.d.ts +183 -0
  963. package/js/src/src/static_dependencies/starknet/utils/calldata/cairo.js +229 -0
  964. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
  965. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
  966. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.d.ts +35 -0
  967. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
  968. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.d.ts +34 -0
  969. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
  970. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.d.ts +3 -0
  971. package/js/src/src/static_dependencies/starknet/utils/calldata/enum/index.js +9 -0
  972. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.d.ts +9 -0
  973. package/js/src/src/static_dependencies/starknet/utils/calldata/formatter.js +67 -0
  974. package/js/src/src/static_dependencies/starknet/utils/calldata/index.d.ts +89 -0
  975. package/js/src/src/static_dependencies/starknet/utils/calldata/index.js +280 -0
  976. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -0
  977. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/index.js +30 -0
  978. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.d.ts +20 -0
  979. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/interface.js +8 -0
  980. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
  981. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +36 -0
  982. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
  983. package/js/src/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
  984. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.d.ts +2 -0
  985. package/js/src/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +155 -0
  986. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.d.ts +11 -0
  987. package/js/src/src/static_dependencies/starknet/utils/calldata/requestParser.js +248 -0
  988. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.d.ts +11 -0
  989. package/js/src/src/static_dependencies/starknet/utils/calldata/responseParser.js +214 -0
  990. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.d.ts +6 -0
  991. package/js/src/src/static_dependencies/starknet/utils/calldata/tuple.js +113 -0
  992. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.d.ts +6 -0
  993. package/js/src/src/static_dependencies/starknet/utils/calldata/validate.js +208 -0
  994. package/js/src/src/static_dependencies/starknet/utils/encode.d.ts +207 -0
  995. package/js/src/src/static_dependencies/starknet/utils/encode.js +282 -0
  996. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.d.ts +57 -0
  997. package/js/src/src/static_dependencies/starknet/utils/hash/classHash.js +223 -0
  998. package/js/src/src/static_dependencies/starknet/utils/hash/index.d.ts +6 -0
  999. package/js/src/src/static_dependencies/starknet/utils/hash/index.js +13 -0
  1000. package/js/src/src/static_dependencies/starknet/utils/merkle.d.ts +35 -0
  1001. package/js/src/src/static_dependencies/starknet/utils/merkle.js +84 -0
  1002. package/js/src/src/static_dependencies/starknet/utils/num.d.ts +182 -0
  1003. package/js/src/src/static_dependencies/starknet/utils/num.js +244 -0
  1004. package/js/src/src/static_dependencies/starknet/utils/selector.d.ts +48 -0
  1005. package/js/src/src/static_dependencies/starknet/utils/selector.js +85 -0
  1006. package/js/src/src/static_dependencies/starknet/utils/shortString.d.ts +57 -0
  1007. package/js/src/src/static_dependencies/starknet/utils/shortString.js +96 -0
  1008. package/js/src/src/static_dependencies/starknet/utils/typedData.d.ts +54 -0
  1009. package/js/src/src/static_dependencies/starknet/utils/typedData.js +321 -0
  1010. package/js/src/src/static_dependencies/watchable/src/types.d.ts +28 -0
  1011. package/js/src/src/static_dependencies/watchable/src/types.js +8 -0
  1012. package/js/src/src/static_dependencies/watchable/src/unpromise.d.ts +120 -0
  1013. package/js/src/src/static_dependencies/watchable/src/unpromise.js +297 -0
  1014. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.d.ts +1279 -0
  1015. package/js/src/src/static_dependencies/zklink/zklink-sdk-web.js +4282 -0
  1016. package/js/src/src/tabdeal.d.ts +23 -0
  1017. package/js/src/src/tabdeal.js +387 -0
  1018. package/js/src/src/tehran_exchange.d.ts +21 -0
  1019. package/js/src/src/tehran_exchange.js +333 -0
  1020. package/js/src/src/tetherland.d.ts +21 -0
  1021. package/js/src/src/tetherland.js +367 -0
  1022. package/js/src/src/timex.d.ts +247 -0
  1023. package/js/src/src/timex.js +1792 -0
  1024. package/js/src/src/tokocrypto.d.ts +261 -0
  1025. package/js/src/src/tokocrypto.js +2641 -0
  1026. package/js/src/src/toobit.d.ts +22 -0
  1027. package/js/src/src/toobit.js +445 -0
  1028. package/js/src/src/tradeogre.d.ts +149 -0
  1029. package/js/src/src/tradeogre.js +878 -0
  1030. package/js/src/src/twox.d.ts +21 -0
  1031. package/js/src/src/twox.js +371 -0
  1032. package/js/src/src/ubitex.d.ts +23 -0
  1033. package/js/src/src/ubitex.js +433 -0
  1034. package/js/src/src/upbit.d.ts +377 -0
  1035. package/js/src/src/upbit.js +2340 -0
  1036. package/js/src/src/vertex.d.ts +346 -0
  1037. package/js/src/src/vertex.js +3146 -0
  1038. package/js/src/src/wallex.d.ts +23 -0
  1039. package/js/src/src/wallex.js +467 -0
  1040. package/js/src/src/wavesexchange.d.ts +244 -0
  1041. package/js/src/src/wavesexchange.js +2747 -0
  1042. package/js/src/src/whitebit.d.ts +571 -0
  1043. package/js/src/src/whitebit.js +3437 -0
  1044. package/js/src/src/woo.d.ts +727 -0
  1045. package/js/src/src/woo.js +4183 -0
  1046. package/js/src/src/woofipro.d.ts +497 -0
  1047. package/js/src/src/woofipro.js +2941 -0
  1048. package/js/src/src/xt.d.ts +568 -0
  1049. package/js/src/src/xt.js +5184 -0
  1050. package/js/src/src/yobit.d.ts +197 -0
  1051. package/js/src/src/yobit.js +1453 -0
  1052. package/js/src/src/zaif.d.ts +136 -0
  1053. package/js/src/src/zaif.js +821 -0
  1054. package/js/src/src/zonda.d.ts +214 -0
  1055. package/js/src/src/zonda.js +1984 -0
  1056. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +1 -1
  1057. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +1 -1
  1058. package/js/test.js +9 -17
  1059. package/package.json +1 -1
@@ -0,0 +1,1757 @@
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
+ // Copyright (c) 2005 Tom Wu
8
+ // All Rights Reserved.
9
+ // See "LICENSE" for details.
10
+ // Basic JavaScript BN library - subset useful for RSA encryption.
11
+ import { cbit, int2char, lbit, op_and, op_andnot, op_or, op_xor } from "./util.js";
12
+ // Bits per digit
13
+ let dbits;
14
+ // JavaScript engine analysis
15
+ const canary = 0xdeadbeefcafe;
16
+ const j_lm = ((canary & 0xffffff) == 0xefcafe);
17
+ //#region
18
+ const lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];
19
+ const lplim = (1 << 26) / lowprimes[lowprimes.length - 1];
20
+ //#endregion
21
+ // (public) Constructor
22
+ /**
23
+ * @type Class
24
+ */
25
+ export class BigInteger {
26
+ constructor(a, b, c) {
27
+ if (a != null) {
28
+ if ("number" == typeof a) {
29
+ this.fromNumber(a, b, c);
30
+ }
31
+ else if (b == null && "string" != typeof a) {
32
+ this.fromString(a, 256);
33
+ }
34
+ else {
35
+ this.fromString(a, b);
36
+ }
37
+ }
38
+ }
39
+ //#region PUBLIC
40
+ // BigInteger.prototype.toString = bnToString;
41
+ // (public) return string representation in given radix
42
+ toString(b) {
43
+ if (this.s < 0) {
44
+ return "-" + this.negate().toString(b);
45
+ }
46
+ let k;
47
+ if (b == 16) {
48
+ k = 4;
49
+ }
50
+ else if (b == 8) {
51
+ k = 3;
52
+ }
53
+ else if (b == 2) {
54
+ k = 1;
55
+ }
56
+ else if (b == 32) {
57
+ k = 5;
58
+ }
59
+ else if (b == 4) {
60
+ k = 2;
61
+ }
62
+ else {
63
+ return this.toRadix(b);
64
+ }
65
+ const km = (1 << k) - 1;
66
+ let d;
67
+ let m = false;
68
+ let r = "";
69
+ let i = this.t;
70
+ let p = this.DB - (i * this.DB) % k;
71
+ if (i-- > 0) {
72
+ if (p < this.DB && (d = this[i] >> p) > 0) {
73
+ m = true;
74
+ r = int2char(d);
75
+ }
76
+ while (i >= 0) {
77
+ if (p < k) {
78
+ d = (this[i] & ((1 << p) - 1)) << (k - p);
79
+ d |= this[--i] >> (p += this.DB - k);
80
+ }
81
+ else {
82
+ d = (this[i] >> (p -= k)) & km;
83
+ if (p <= 0) {
84
+ p += this.DB;
85
+ --i;
86
+ }
87
+ }
88
+ if (d > 0) {
89
+ m = true;
90
+ }
91
+ if (m) {
92
+ r += int2char(d);
93
+ }
94
+ }
95
+ }
96
+ return m ? r : "0";
97
+ }
98
+ // BigInteger.prototype.negate = bnNegate;
99
+ // (public) -this
100
+ negate() {
101
+ const r = nbi();
102
+ BigInteger.ZERO.subTo(this, r);
103
+ return r;
104
+ }
105
+ // BigInteger.prototype.abs = bnAbs;
106
+ // (public) |this|
107
+ abs() {
108
+ return (this.s < 0) ? this.negate() : this;
109
+ }
110
+ // BigInteger.prototype.compareTo = bnCompareTo;
111
+ // (public) return + if this > a, - if this < a, 0 if equal
112
+ compareTo(a) {
113
+ let r = this.s - a.s;
114
+ if (r != 0) {
115
+ return r;
116
+ }
117
+ let i = this.t;
118
+ r = i - a.t;
119
+ if (r != 0) {
120
+ return (this.s < 0) ? -r : r;
121
+ }
122
+ while (--i >= 0) {
123
+ if ((r = this[i] - a[i]) != 0) {
124
+ return r;
125
+ }
126
+ }
127
+ return 0;
128
+ }
129
+ // BigInteger.prototype.bitLength = bnBitLength;
130
+ // (public) return the number of bits in "this"
131
+ bitLength() {
132
+ if (this.t <= 0) {
133
+ return 0;
134
+ }
135
+ return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));
136
+ }
137
+ // BigInteger.prototype.mod = bnMod;
138
+ // (public) this mod a
139
+ mod(a) {
140
+ const r = nbi();
141
+ this.abs().divRemTo(a, null, r);
142
+ if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {
143
+ a.subTo(r, r);
144
+ }
145
+ return r;
146
+ }
147
+ // BigInteger.prototype.modPowInt = bnModPowInt;
148
+ // (public) this^e % m, 0 <= e < 2^32
149
+ modPowInt(e, m) {
150
+ let z;
151
+ if (e < 256 || m.isEven()) {
152
+ z = new Classic(m);
153
+ }
154
+ else {
155
+ z = new Montgomery(m);
156
+ }
157
+ return this.exp(e, z);
158
+ }
159
+ // BigInteger.prototype.clone = bnClone;
160
+ // (public)
161
+ clone() {
162
+ const r = nbi();
163
+ this.copyTo(r);
164
+ return r;
165
+ }
166
+ // BigInteger.prototype.intValue = bnIntValue;
167
+ // (public) return value as integer
168
+ intValue() {
169
+ if (this.s < 0) {
170
+ if (this.t == 1) {
171
+ return this[0] - this.DV;
172
+ }
173
+ else if (this.t == 0) {
174
+ return -1;
175
+ }
176
+ }
177
+ else if (this.t == 1) {
178
+ return this[0];
179
+ }
180
+ else if (this.t == 0) {
181
+ return 0;
182
+ }
183
+ // assumes 16 < DB < 32
184
+ return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];
185
+ }
186
+ // BigInteger.prototype.byteValue = bnByteValue;
187
+ // (public) return value as byte
188
+ byteValue() {
189
+ return (this.t == 0) ? this.s : (this[0] << 24) >> 24;
190
+ }
191
+ // BigInteger.prototype.shortValue = bnShortValue;
192
+ // (public) return value as short (assumes DB>=16)
193
+ shortValue() {
194
+ return (this.t == 0) ? this.s : (this[0] << 16) >> 16;
195
+ }
196
+ // BigInteger.prototype.signum = bnSigNum;
197
+ // (public) 0 if this == 0, 1 if this > 0
198
+ signum() {
199
+ if (this.s < 0) {
200
+ return -1;
201
+ }
202
+ else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) {
203
+ return 0;
204
+ }
205
+ else {
206
+ return 1;
207
+ }
208
+ }
209
+ // BigInteger.prototype.toByteArray = bnToByteArray;
210
+ // (public) convert to bigendian byte array
211
+ toByteArray() {
212
+ let i = this.t;
213
+ const r = [];
214
+ r[0] = this.s;
215
+ let p = this.DB - (i * this.DB) % 8;
216
+ let d;
217
+ let k = 0;
218
+ if (i-- > 0) {
219
+ if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) {
220
+ r[k++] = d | (this.s << (this.DB - p));
221
+ }
222
+ while (i >= 0) {
223
+ if (p < 8) {
224
+ d = (this[i] & ((1 << p) - 1)) << (8 - p);
225
+ d |= this[--i] >> (p += this.DB - 8);
226
+ }
227
+ else {
228
+ d = (this[i] >> (p -= 8)) & 0xff;
229
+ if (p <= 0) {
230
+ p += this.DB;
231
+ --i;
232
+ }
233
+ }
234
+ if ((d & 0x80) != 0) {
235
+ d |= -256;
236
+ }
237
+ if (k == 0 && (this.s & 0x80) != (d & 0x80)) {
238
+ ++k;
239
+ }
240
+ if (k > 0 || d != this.s) {
241
+ r[k++] = d;
242
+ }
243
+ }
244
+ }
245
+ return r;
246
+ }
247
+ // BigInteger.prototype.equals = bnEquals;
248
+ equals(a) {
249
+ return (this.compareTo(a) == 0);
250
+ }
251
+ // BigInteger.prototype.min = bnMin;
252
+ min(a) {
253
+ return (this.compareTo(a) < 0) ? this : a;
254
+ }
255
+ // BigInteger.prototype.max = bnMax;
256
+ max(a) {
257
+ return (this.compareTo(a) > 0) ? this : a;
258
+ }
259
+ // BigInteger.prototype.and = bnAnd;
260
+ and(a) {
261
+ const r = nbi();
262
+ this.bitwiseTo(a, op_and, r);
263
+ return r;
264
+ }
265
+ // BigInteger.prototype.or = bnOr;
266
+ or(a) {
267
+ const r = nbi();
268
+ this.bitwiseTo(a, op_or, r);
269
+ return r;
270
+ }
271
+ // BigInteger.prototype.xor = bnXor;
272
+ xor(a) {
273
+ const r = nbi();
274
+ this.bitwiseTo(a, op_xor, r);
275
+ return r;
276
+ }
277
+ // BigInteger.prototype.andNot = bnAndNot;
278
+ andNot(a) {
279
+ const r = nbi();
280
+ this.bitwiseTo(a, op_andnot, r);
281
+ return r;
282
+ }
283
+ // BigInteger.prototype.not = bnNot;
284
+ // (public) ~this
285
+ not() {
286
+ const r = nbi();
287
+ for (let i = 0; i < this.t; ++i) {
288
+ r[i] = this.DM & ~this[i];
289
+ }
290
+ r.t = this.t;
291
+ r.s = ~this.s;
292
+ return r;
293
+ }
294
+ // BigInteger.prototype.shiftLeft = bnShiftLeft;
295
+ // (public) this << n
296
+ shiftLeft(n) {
297
+ const r = nbi();
298
+ if (n < 0) {
299
+ this.rShiftTo(-n, r);
300
+ }
301
+ else {
302
+ this.lShiftTo(n, r);
303
+ }
304
+ return r;
305
+ }
306
+ // BigInteger.prototype.shiftRight = bnShiftRight;
307
+ // (public) this >> n
308
+ shiftRight(n) {
309
+ const r = nbi();
310
+ if (n < 0) {
311
+ this.lShiftTo(-n, r);
312
+ }
313
+ else {
314
+ this.rShiftTo(n, r);
315
+ }
316
+ return r;
317
+ }
318
+ // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;
319
+ // (public) returns index of lowest 1-bit (or -1 if none)
320
+ getLowestSetBit() {
321
+ for (let i = 0; i < this.t; ++i) {
322
+ if (this[i] != 0) {
323
+ return i * this.DB + lbit(this[i]);
324
+ }
325
+ }
326
+ if (this.s < 0) {
327
+ return this.t * this.DB;
328
+ }
329
+ return -1;
330
+ }
331
+ // BigInteger.prototype.bitCount = bnBitCount;
332
+ // (public) return number of set bits
333
+ bitCount() {
334
+ let r = 0;
335
+ const x = this.s & this.DM;
336
+ for (let i = 0; i < this.t; ++i) {
337
+ r += cbit(this[i] ^ x);
338
+ }
339
+ return r;
340
+ }
341
+ // BigInteger.prototype.testBit = bnTestBit;
342
+ // (public) true iff nth bit is set
343
+ testBit(n) {
344
+ const j = Math.floor(n / this.DB);
345
+ if (j >= this.t) {
346
+ return (this.s != 0);
347
+ }
348
+ return ((this[j] & (1 << (n % this.DB))) != 0);
349
+ }
350
+ // BigInteger.prototype.setBit = bnSetBit;
351
+ // (public) this | (1<<n)
352
+ setBit(n) {
353
+ return this.changeBit(n, op_or);
354
+ }
355
+ // BigInteger.prototype.clearBit = bnClearBit;
356
+ // (public) this & ~(1<<n)
357
+ clearBit(n) {
358
+ return this.changeBit(n, op_andnot);
359
+ }
360
+ // BigInteger.prototype.flipBit = bnFlipBit;
361
+ // (public) this ^ (1<<n)
362
+ flipBit(n) {
363
+ return this.changeBit(n, op_xor);
364
+ }
365
+ // BigInteger.prototype.add = bnAdd;
366
+ // (public) this + a
367
+ add(a) {
368
+ const r = nbi();
369
+ this.addTo(a, r);
370
+ return r;
371
+ }
372
+ // BigInteger.prototype.subtract = bnSubtract;
373
+ // (public) this - a
374
+ subtract(a) {
375
+ const r = nbi();
376
+ this.subTo(a, r);
377
+ return r;
378
+ }
379
+ // BigInteger.prototype.multiply = bnMultiply;
380
+ // (public) this * a
381
+ multiply(a) {
382
+ const r = nbi();
383
+ this.multiplyTo(a, r);
384
+ return r;
385
+ }
386
+ // BigInteger.prototype.divide = bnDivide;
387
+ // (public) this / a
388
+ divide(a) {
389
+ const r = nbi();
390
+ this.divRemTo(a, r, null);
391
+ return r;
392
+ }
393
+ // BigInteger.prototype.remainder = bnRemainder;
394
+ // (public) this % a
395
+ remainder(a) {
396
+ const r = nbi();
397
+ this.divRemTo(a, null, r);
398
+ return r;
399
+ }
400
+ // BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;
401
+ // (public) [this/a,this%a]
402
+ divideAndRemainder(a) {
403
+ const q = nbi();
404
+ const r = nbi();
405
+ this.divRemTo(a, q, r);
406
+ return [q, r];
407
+ }
408
+ // BigInteger.prototype.modPow = bnModPow;
409
+ // (public) this^e % m (HAC 14.85)
410
+ modPow(e, m) {
411
+ let i = e.bitLength();
412
+ let k;
413
+ let r = nbv(1);
414
+ let z;
415
+ if (i <= 0) {
416
+ return r;
417
+ }
418
+ else if (i < 18) {
419
+ k = 1;
420
+ }
421
+ else if (i < 48) {
422
+ k = 3;
423
+ }
424
+ else if (i < 144) {
425
+ k = 4;
426
+ }
427
+ else if (i < 768) {
428
+ k = 5;
429
+ }
430
+ else {
431
+ k = 6;
432
+ }
433
+ if (i < 8) {
434
+ z = new Classic(m);
435
+ }
436
+ else if (m.isEven()) {
437
+ z = new Barrett(m);
438
+ }
439
+ else {
440
+ z = new Montgomery(m);
441
+ }
442
+ // precomputation
443
+ const g = [];
444
+ let n = 3;
445
+ const k1 = k - 1;
446
+ const km = (1 << k) - 1;
447
+ g[1] = z.convert(this);
448
+ if (k > 1) {
449
+ const g2 = nbi();
450
+ z.sqrTo(g[1], g2);
451
+ while (n <= km) {
452
+ g[n] = nbi();
453
+ z.mulTo(g2, g[n - 2], g[n]);
454
+ n += 2;
455
+ }
456
+ }
457
+ let j = e.t - 1;
458
+ let w;
459
+ let is1 = true;
460
+ let r2 = nbi();
461
+ let t;
462
+ i = nbits(e[j]) - 1;
463
+ while (j >= 0) {
464
+ if (i >= k1) {
465
+ w = (e[j] >> (i - k1)) & km;
466
+ }
467
+ else {
468
+ w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);
469
+ if (j > 0) {
470
+ w |= e[j - 1] >> (this.DB + i - k1);
471
+ }
472
+ }
473
+ n = k;
474
+ while ((w & 1) == 0) {
475
+ w >>= 1;
476
+ --n;
477
+ }
478
+ if ((i -= n) < 0) {
479
+ i += this.DB;
480
+ --j;
481
+ }
482
+ if (is1) { // ret == 1, don't bother squaring or multiplying it
483
+ g[w].copyTo(r);
484
+ is1 = false;
485
+ }
486
+ else {
487
+ while (n > 1) {
488
+ z.sqrTo(r, r2);
489
+ z.sqrTo(r2, r);
490
+ n -= 2;
491
+ }
492
+ if (n > 0) {
493
+ z.sqrTo(r, r2);
494
+ }
495
+ else {
496
+ t = r;
497
+ r = r2;
498
+ r2 = t;
499
+ }
500
+ z.mulTo(r2, g[w], r);
501
+ }
502
+ while (j >= 0 && (e[j] & (1 << i)) == 0) {
503
+ z.sqrTo(r, r2);
504
+ t = r;
505
+ r = r2;
506
+ r2 = t;
507
+ if (--i < 0) {
508
+ i = this.DB - 1;
509
+ --j;
510
+ }
511
+ }
512
+ }
513
+ return z.revert(r);
514
+ }
515
+ // BigInteger.prototype.modInverse = bnModInverse;
516
+ // (public) 1/this % m (HAC 14.61)
517
+ modInverse(m) {
518
+ const ac = m.isEven();
519
+ if ((this.isEven() && ac) || m.signum() == 0) {
520
+ return BigInteger.ZERO;
521
+ }
522
+ const u = m.clone();
523
+ const v = this.clone();
524
+ const a = nbv(1);
525
+ const b = nbv(0);
526
+ const c = nbv(0);
527
+ const d = nbv(1);
528
+ while (u.signum() != 0) {
529
+ while (u.isEven()) {
530
+ u.rShiftTo(1, u);
531
+ if (ac) {
532
+ if (!a.isEven() || !b.isEven()) {
533
+ a.addTo(this, a);
534
+ b.subTo(m, b);
535
+ }
536
+ a.rShiftTo(1, a);
537
+ }
538
+ else if (!b.isEven()) {
539
+ b.subTo(m, b);
540
+ }
541
+ b.rShiftTo(1, b);
542
+ }
543
+ while (v.isEven()) {
544
+ v.rShiftTo(1, v);
545
+ if (ac) {
546
+ if (!c.isEven() || !d.isEven()) {
547
+ c.addTo(this, c);
548
+ d.subTo(m, d);
549
+ }
550
+ c.rShiftTo(1, c);
551
+ }
552
+ else if (!d.isEven()) {
553
+ d.subTo(m, d);
554
+ }
555
+ d.rShiftTo(1, d);
556
+ }
557
+ if (u.compareTo(v) >= 0) {
558
+ u.subTo(v, u);
559
+ if (ac) {
560
+ a.subTo(c, a);
561
+ }
562
+ b.subTo(d, b);
563
+ }
564
+ else {
565
+ v.subTo(u, v);
566
+ if (ac) {
567
+ c.subTo(a, c);
568
+ }
569
+ d.subTo(b, d);
570
+ }
571
+ }
572
+ if (v.compareTo(BigInteger.ONE) != 0) {
573
+ return BigInteger.ZERO;
574
+ }
575
+ if (d.compareTo(m) >= 0) {
576
+ return d.subtract(m);
577
+ }
578
+ if (d.signum() < 0) {
579
+ d.addTo(m, d);
580
+ }
581
+ else {
582
+ return d;
583
+ }
584
+ if (d.signum() < 0) {
585
+ return d.add(m);
586
+ }
587
+ else {
588
+ return d;
589
+ }
590
+ }
591
+ // BigInteger.prototype.pow = bnPow;
592
+ // (public) this^e
593
+ pow(e) {
594
+ return this.exp(e, new NullExp());
595
+ }
596
+ // BigInteger.prototype.gcd = bnGCD;
597
+ // (public) gcd(this,a) (HAC 14.54)
598
+ gcd(a) {
599
+ let x = (this.s < 0) ? this.negate() : this.clone();
600
+ let y = (a.s < 0) ? a.negate() : a.clone();
601
+ if (x.compareTo(y) < 0) {
602
+ const t = x;
603
+ x = y;
604
+ y = t;
605
+ }
606
+ let i = x.getLowestSetBit();
607
+ let g = y.getLowestSetBit();
608
+ if (g < 0) {
609
+ return x;
610
+ }
611
+ if (i < g) {
612
+ g = i;
613
+ }
614
+ if (g > 0) {
615
+ x.rShiftTo(g, x);
616
+ y.rShiftTo(g, y);
617
+ }
618
+ while (x.signum() > 0) {
619
+ if ((i = x.getLowestSetBit()) > 0) {
620
+ x.rShiftTo(i, x);
621
+ }
622
+ if ((i = y.getLowestSetBit()) > 0) {
623
+ y.rShiftTo(i, y);
624
+ }
625
+ if (x.compareTo(y) >= 0) {
626
+ x.subTo(y, x);
627
+ x.rShiftTo(1, x);
628
+ }
629
+ else {
630
+ y.subTo(x, y);
631
+ y.rShiftTo(1, y);
632
+ }
633
+ }
634
+ if (g > 0) {
635
+ y.lShiftTo(g, y);
636
+ }
637
+ return y;
638
+ }
639
+ // BigInteger.prototype.isProbablePrime = bnIsProbablePrime;
640
+ // (public) test primality with certainty >= 1-.5^t
641
+ isProbablePrime(t) {
642
+ let i;
643
+ const x = this.abs();
644
+ if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
645
+ for (i = 0; i < lowprimes.length; ++i) {
646
+ if (x[0] == lowprimes[i]) {
647
+ return true;
648
+ }
649
+ }
650
+ return false;
651
+ }
652
+ if (x.isEven()) {
653
+ return false;
654
+ }
655
+ i = 1;
656
+ while (i < lowprimes.length) {
657
+ let m = lowprimes[i];
658
+ let j = i + 1;
659
+ while (j < lowprimes.length && m < lplim) {
660
+ m *= lowprimes[j++];
661
+ }
662
+ m = x.modInt(m);
663
+ while (i < j) {
664
+ if (m % lowprimes[i++] == 0) {
665
+ return false;
666
+ }
667
+ }
668
+ }
669
+ return x.millerRabin(t);
670
+ }
671
+ //#endregion PUBLIC
672
+ //#region PROTECTED
673
+ // BigInteger.prototype.copyTo = bnpCopyTo;
674
+ // (protected) copy this to r
675
+ copyTo(r) {
676
+ for (let i = this.t - 1; i >= 0; --i) {
677
+ r[i] = this[i];
678
+ }
679
+ r.t = this.t;
680
+ r.s = this.s;
681
+ }
682
+ // BigInteger.prototype.fromInt = bnpFromInt;
683
+ // (protected) set from integer value x, -DV <= x < DV
684
+ fromInt(x) {
685
+ this.t = 1;
686
+ this.s = (x < 0) ? -1 : 0;
687
+ if (x > 0) {
688
+ this[0] = x;
689
+ }
690
+ else if (x < -1) {
691
+ this[0] = x + this.DV;
692
+ }
693
+ else {
694
+ this.t = 0;
695
+ }
696
+ }
697
+ // BigInteger.prototype.fromString = bnpFromString;
698
+ // (protected) set from string and radix
699
+ fromString(s, b) {
700
+ let k;
701
+ if (b == 16) {
702
+ k = 4;
703
+ }
704
+ else if (b == 8) {
705
+ k = 3;
706
+ }
707
+ else if (b == 256) {
708
+ k = 8;
709
+ /* byte array */
710
+ }
711
+ else if (b == 2) {
712
+ k = 1;
713
+ }
714
+ else if (b == 32) {
715
+ k = 5;
716
+ }
717
+ else if (b == 4) {
718
+ k = 2;
719
+ }
720
+ else {
721
+ this.fromRadix(s, b);
722
+ return;
723
+ }
724
+ this.t = 0;
725
+ this.s = 0;
726
+ let i = s.length;
727
+ let mi = false;
728
+ let sh = 0;
729
+ while (--i >= 0) {
730
+ const x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i);
731
+ if (x < 0) {
732
+ if (s.charAt(i) == "-") {
733
+ mi = true;
734
+ }
735
+ continue;
736
+ }
737
+ mi = false;
738
+ if (sh == 0) {
739
+ this[this.t++] = x;
740
+ }
741
+ else if (sh + k > this.DB) {
742
+ this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;
743
+ this[this.t++] = (x >> (this.DB - sh));
744
+ }
745
+ else {
746
+ this[this.t - 1] |= x << sh;
747
+ }
748
+ sh += k;
749
+ if (sh >= this.DB) {
750
+ sh -= this.DB;
751
+ }
752
+ }
753
+ if (k == 8 && ((+s[0]) & 0x80) != 0) {
754
+ this.s = -1;
755
+ if (sh > 0) {
756
+ this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;
757
+ }
758
+ }
759
+ this.clamp();
760
+ if (mi) {
761
+ BigInteger.ZERO.subTo(this, this);
762
+ }
763
+ }
764
+ // BigInteger.prototype.clamp = bnpClamp;
765
+ // (protected) clamp off excess high words
766
+ clamp() {
767
+ const c = this.s & this.DM;
768
+ while (this.t > 0 && this[this.t - 1] == c) {
769
+ --this.t;
770
+ }
771
+ }
772
+ // BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
773
+ // (protected) r = this << n*DB
774
+ dlShiftTo(n, r) {
775
+ let i;
776
+ for (i = this.t - 1; i >= 0; --i) {
777
+ r[i + n] = this[i];
778
+ }
779
+ for (i = n - 1; i >= 0; --i) {
780
+ r[i] = 0;
781
+ }
782
+ r.t = this.t + n;
783
+ r.s = this.s;
784
+ }
785
+ // BigInteger.prototype.drShiftTo = bnpDRShiftTo;
786
+ // (protected) r = this >> n*DB
787
+ drShiftTo(n, r) {
788
+ for (let i = n; i < this.t; ++i) {
789
+ r[i - n] = this[i];
790
+ }
791
+ r.t = Math.max(this.t - n, 0);
792
+ r.s = this.s;
793
+ }
794
+ // BigInteger.prototype.lShiftTo = bnpLShiftTo;
795
+ // (protected) r = this << n
796
+ lShiftTo(n, r) {
797
+ const bs = n % this.DB;
798
+ const cbs = this.DB - bs;
799
+ const bm = (1 << cbs) - 1;
800
+ const ds = Math.floor(n / this.DB);
801
+ let c = (this.s << bs) & this.DM;
802
+ for (let i = this.t - 1; i >= 0; --i) {
803
+ r[i + ds + 1] = (this[i] >> cbs) | c;
804
+ c = (this[i] & bm) << bs;
805
+ }
806
+ for (let i = ds - 1; i >= 0; --i) {
807
+ r[i] = 0;
808
+ }
809
+ r[ds] = c;
810
+ r.t = this.t + ds + 1;
811
+ r.s = this.s;
812
+ r.clamp();
813
+ }
814
+ // BigInteger.prototype.rShiftTo = bnpRShiftTo;
815
+ // (protected) r = this >> n
816
+ rShiftTo(n, r) {
817
+ r.s = this.s;
818
+ const ds = Math.floor(n / this.DB);
819
+ if (ds >= this.t) {
820
+ r.t = 0;
821
+ return;
822
+ }
823
+ const bs = n % this.DB;
824
+ const cbs = this.DB - bs;
825
+ const bm = (1 << bs) - 1;
826
+ r[0] = this[ds] >> bs;
827
+ for (let i = ds + 1; i < this.t; ++i) {
828
+ r[i - ds - 1] |= (this[i] & bm) << cbs;
829
+ r[i - ds] = this[i] >> bs;
830
+ }
831
+ if (bs > 0) {
832
+ r[this.t - ds - 1] |= (this.s & bm) << cbs;
833
+ }
834
+ r.t = this.t - ds;
835
+ r.clamp();
836
+ }
837
+ // BigInteger.prototype.subTo = bnpSubTo;
838
+ // (protected) r = this - a
839
+ subTo(a, r) {
840
+ let i = 0;
841
+ let c = 0;
842
+ const m = Math.min(a.t, this.t);
843
+ while (i < m) {
844
+ c += this[i] - a[i];
845
+ r[i++] = c & this.DM;
846
+ c >>= this.DB;
847
+ }
848
+ if (a.t < this.t) {
849
+ c -= a.s;
850
+ while (i < this.t) {
851
+ c += this[i];
852
+ r[i++] = c & this.DM;
853
+ c >>= this.DB;
854
+ }
855
+ c += this.s;
856
+ }
857
+ else {
858
+ c += this.s;
859
+ while (i < a.t) {
860
+ c -= a[i];
861
+ r[i++] = c & this.DM;
862
+ c >>= this.DB;
863
+ }
864
+ c -= a.s;
865
+ }
866
+ r.s = (c < 0) ? -1 : 0;
867
+ if (c < -1) {
868
+ r[i++] = this.DV + c;
869
+ }
870
+ else if (c > 0) {
871
+ r[i++] = c;
872
+ }
873
+ r.t = i;
874
+ r.clamp();
875
+ }
876
+ // BigInteger.prototype.multiplyTo = bnpMultiplyTo;
877
+ // (protected) r = this * a, r != this,a (HAC 14.12)
878
+ // "this" should be the larger one if appropriate.
879
+ multiplyTo(a, r) {
880
+ const x = this.abs();
881
+ const y = a.abs();
882
+ let i = x.t;
883
+ r.t = i + y.t;
884
+ while (--i >= 0) {
885
+ r[i] = 0;
886
+ }
887
+ for (i = 0; i < y.t; ++i) {
888
+ r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);
889
+ }
890
+ r.s = 0;
891
+ r.clamp();
892
+ if (this.s != a.s) {
893
+ BigInteger.ZERO.subTo(r, r);
894
+ }
895
+ }
896
+ // BigInteger.prototype.squareTo = bnpSquareTo;
897
+ // (protected) r = this^2, r != this (HAC 14.16)
898
+ squareTo(r) {
899
+ const x = this.abs();
900
+ let i = r.t = 2 * x.t;
901
+ while (--i >= 0) {
902
+ r[i] = 0;
903
+ }
904
+ for (i = 0; i < x.t - 1; ++i) {
905
+ const c = x.am(i, x[i], r, 2 * i, 0, 1);
906
+ if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
907
+ r[i + x.t] -= x.DV;
908
+ r[i + x.t + 1] = 1;
909
+ }
910
+ }
911
+ if (r.t > 0) {
912
+ r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);
913
+ }
914
+ r.s = 0;
915
+ r.clamp();
916
+ }
917
+ // BigInteger.prototype.divRemTo = bnpDivRemTo;
918
+ // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
919
+ // r != q, this != m. q or r may be null.
920
+ divRemTo(m, q, r) {
921
+ const pm = m.abs();
922
+ if (pm.t <= 0) {
923
+ return;
924
+ }
925
+ const pt = this.abs();
926
+ if (pt.t < pm.t) {
927
+ if (q != null) {
928
+ q.fromInt(0);
929
+ }
930
+ if (r != null) {
931
+ this.copyTo(r);
932
+ }
933
+ return;
934
+ }
935
+ if (r == null) {
936
+ r = nbi();
937
+ }
938
+ const y = nbi();
939
+ const ts = this.s;
940
+ const ms = m.s;
941
+ const nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus
942
+ if (nsh > 0) {
943
+ pm.lShiftTo(nsh, y);
944
+ pt.lShiftTo(nsh, r);
945
+ }
946
+ else {
947
+ pm.copyTo(y);
948
+ pt.copyTo(r);
949
+ }
950
+ const ys = y.t;
951
+ const y0 = y[ys - 1];
952
+ if (y0 == 0) {
953
+ return;
954
+ }
955
+ const yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);
956
+ const d1 = this.FV / yt;
957
+ const d2 = (1 << this.F1) / yt;
958
+ const e = 1 << this.F2;
959
+ let i = r.t;
960
+ let j = i - ys;
961
+ const t = (q == null) ? nbi() : q;
962
+ y.dlShiftTo(j, t);
963
+ if (r.compareTo(t) >= 0) {
964
+ r[r.t++] = 1;
965
+ r.subTo(t, r);
966
+ }
967
+ BigInteger.ONE.dlShiftTo(ys, t);
968
+ t.subTo(y, y); // "negative" y so we can replace sub with am later
969
+ while (y.t < ys) {
970
+ y[y.t++] = 0;
971
+ }
972
+ while (--j >= 0) {
973
+ // Estimate quotient digit
974
+ let qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);
975
+ if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
976
+ y.dlShiftTo(j, t);
977
+ r.subTo(t, r);
978
+ while (r[i] < --qd) {
979
+ r.subTo(t, r);
980
+ }
981
+ }
982
+ }
983
+ if (q != null) {
984
+ r.drShiftTo(ys, q);
985
+ if (ts != ms) {
986
+ BigInteger.ZERO.subTo(q, q);
987
+ }
988
+ }
989
+ r.t = ys;
990
+ r.clamp();
991
+ if (nsh > 0) {
992
+ r.rShiftTo(nsh, r);
993
+ } // Denormalize remainder
994
+ if (ts < 0) {
995
+ BigInteger.ZERO.subTo(r, r);
996
+ }
997
+ }
998
+ // BigInteger.prototype.invDigit = bnpInvDigit;
999
+ // (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1000
+ // justification:
1001
+ // xy == 1 (mod m)
1002
+ // xy = 1+km
1003
+ // xy(2-xy) = (1+km)(1-km)
1004
+ // x[y(2-xy)] = 1-k^2m^2
1005
+ // x[y(2-xy)] == 1 (mod m^2)
1006
+ // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1007
+ // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1008
+ // JS multiply "overflows" differently from C/C++, so care is needed here.
1009
+ invDigit() {
1010
+ if (this.t < 1) {
1011
+ return 0;
1012
+ }
1013
+ const x = this[0];
1014
+ if ((x & 1) == 0) {
1015
+ return 0;
1016
+ }
1017
+ let y = x & 3; // y == 1/x mod 2^2
1018
+ y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1019
+ y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1020
+ y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1021
+ // last step - calculate inverse mod DV directly;
1022
+ // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1023
+ y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1024
+ // we really want the negative inverse, and -DV < y < DV
1025
+ return (y > 0) ? this.DV - y : -y;
1026
+ }
1027
+ // BigInteger.prototype.isEven = bnpIsEven;
1028
+ // (protected) true iff this is even
1029
+ isEven() {
1030
+ return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;
1031
+ }
1032
+ // BigInteger.prototype.exp = bnpExp;
1033
+ // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1034
+ exp(e, z) {
1035
+ if (e > 0xffffffff || e < 1) {
1036
+ return BigInteger.ONE;
1037
+ }
1038
+ let r = nbi();
1039
+ let r2 = nbi();
1040
+ const g = z.convert(this);
1041
+ let i = nbits(e) - 1;
1042
+ g.copyTo(r);
1043
+ while (--i >= 0) {
1044
+ z.sqrTo(r, r2);
1045
+ if ((e & (1 << i)) > 0) {
1046
+ z.mulTo(r2, g, r);
1047
+ }
1048
+ else {
1049
+ const t = r;
1050
+ r = r2;
1051
+ r2 = t;
1052
+ }
1053
+ }
1054
+ return z.revert(r);
1055
+ }
1056
+ // BigInteger.prototype.chunkSize = bnpChunkSize;
1057
+ // (protected) return x s.t. r^x < DV
1058
+ chunkSize(r) {
1059
+ return Math.floor(Math.LN2 * this.DB / Math.log(r));
1060
+ }
1061
+ // BigInteger.prototype.toRadix = bnpToRadix;
1062
+ // (protected) convert to radix string
1063
+ toRadix(b) {
1064
+ if (b == null) {
1065
+ b = 10;
1066
+ }
1067
+ if (this.signum() == 0 || b < 2 || b > 36) {
1068
+ return "0";
1069
+ }
1070
+ const cs = this.chunkSize(b);
1071
+ const a = Math.pow(b, cs);
1072
+ const d = nbv(a);
1073
+ const y = nbi();
1074
+ const z = nbi();
1075
+ let r = "";
1076
+ this.divRemTo(d, y, z);
1077
+ while (y.signum() > 0) {
1078
+ r = (a + z.intValue()).toString(b).substr(1) + r;
1079
+ y.divRemTo(d, y, z);
1080
+ }
1081
+ return z.intValue().toString(b) + r;
1082
+ }
1083
+ // BigInteger.prototype.fromRadix = bnpFromRadix;
1084
+ // (protected) convert from radix string
1085
+ fromRadix(s, b) {
1086
+ this.fromInt(0);
1087
+ if (b == null) {
1088
+ b = 10;
1089
+ }
1090
+ const cs = this.chunkSize(b);
1091
+ const d = Math.pow(b, cs);
1092
+ let mi = false;
1093
+ let j = 0;
1094
+ let w = 0;
1095
+ for (let i = 0; i < s.length; ++i) {
1096
+ const x = intAt(s, i);
1097
+ if (x < 0) {
1098
+ if (s.charAt(i) == "-" && this.signum() == 0) {
1099
+ mi = true;
1100
+ }
1101
+ continue;
1102
+ }
1103
+ w = b * w + x;
1104
+ if (++j >= cs) {
1105
+ this.dMultiply(d);
1106
+ this.dAddOffset(w, 0);
1107
+ j = 0;
1108
+ w = 0;
1109
+ }
1110
+ }
1111
+ if (j > 0) {
1112
+ this.dMultiply(Math.pow(b, j));
1113
+ this.dAddOffset(w, 0);
1114
+ }
1115
+ if (mi) {
1116
+ BigInteger.ZERO.subTo(this, this);
1117
+ }
1118
+ }
1119
+ // BigInteger.prototype.fromNumber = bnpFromNumber;
1120
+ // (protected) alternate constructor
1121
+ fromNumber(a, b, c) {
1122
+ if ("number" == typeof b) {
1123
+ // new BigInteger(int,int,RNG)
1124
+ if (a < 2) {
1125
+ this.fromInt(1);
1126
+ }
1127
+ else {
1128
+ this.fromNumber(a, c);
1129
+ if (!this.testBit(a - 1)) {
1130
+ // force MSB set
1131
+ this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);
1132
+ }
1133
+ if (this.isEven()) {
1134
+ this.dAddOffset(1, 0);
1135
+ } // force odd
1136
+ while (!this.isProbablePrime(b)) {
1137
+ this.dAddOffset(2, 0);
1138
+ if (this.bitLength() > a) {
1139
+ this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);
1140
+ }
1141
+ }
1142
+ }
1143
+ }
1144
+ else {
1145
+ // new BigInteger(int,RNG)
1146
+ const x = [];
1147
+ const t = a & 7;
1148
+ x.length = (a >> 3) + 1;
1149
+ b.nextBytes(x);
1150
+ if (t > 0) {
1151
+ x[0] &= ((1 << t) - 1);
1152
+ }
1153
+ else {
1154
+ x[0] = 0;
1155
+ }
1156
+ this.fromString(x, 256);
1157
+ }
1158
+ }
1159
+ // BigInteger.prototype.bitwiseTo = bnpBitwiseTo;
1160
+ // (protected) r = this op a (bitwise)
1161
+ bitwiseTo(a, op, r) {
1162
+ let i;
1163
+ let f;
1164
+ const m = Math.min(a.t, this.t);
1165
+ for (i = 0; i < m; ++i) {
1166
+ r[i] = op(this[i], a[i]);
1167
+ }
1168
+ if (a.t < this.t) {
1169
+ f = a.s & this.DM;
1170
+ for (i = m; i < this.t; ++i) {
1171
+ r[i] = op(this[i], f);
1172
+ }
1173
+ r.t = this.t;
1174
+ }
1175
+ else {
1176
+ f = this.s & this.DM;
1177
+ for (i = m; i < a.t; ++i) {
1178
+ r[i] = op(f, a[i]);
1179
+ }
1180
+ r.t = a.t;
1181
+ }
1182
+ r.s = op(this.s, a.s);
1183
+ r.clamp();
1184
+ }
1185
+ // BigInteger.prototype.changeBit = bnpChangeBit;
1186
+ // (protected) this op (1<<n)
1187
+ changeBit(n, op) {
1188
+ const r = BigInteger.ONE.shiftLeft(n);
1189
+ this.bitwiseTo(r, op, r);
1190
+ return r;
1191
+ }
1192
+ // BigInteger.prototype.addTo = bnpAddTo;
1193
+ // (protected) r = this + a
1194
+ addTo(a, r) {
1195
+ let i = 0;
1196
+ let c = 0;
1197
+ const m = Math.min(a.t, this.t);
1198
+ while (i < m) {
1199
+ c += this[i] + a[i];
1200
+ r[i++] = c & this.DM;
1201
+ c >>= this.DB;
1202
+ }
1203
+ if (a.t < this.t) {
1204
+ c += a.s;
1205
+ while (i < this.t) {
1206
+ c += this[i];
1207
+ r[i++] = c & this.DM;
1208
+ c >>= this.DB;
1209
+ }
1210
+ c += this.s;
1211
+ }
1212
+ else {
1213
+ c += this.s;
1214
+ while (i < a.t) {
1215
+ c += a[i];
1216
+ r[i++] = c & this.DM;
1217
+ c >>= this.DB;
1218
+ }
1219
+ c += a.s;
1220
+ }
1221
+ r.s = (c < 0) ? -1 : 0;
1222
+ if (c > 0) {
1223
+ r[i++] = c;
1224
+ }
1225
+ else if (c < -1) {
1226
+ r[i++] = this.DV + c;
1227
+ }
1228
+ r.t = i;
1229
+ r.clamp();
1230
+ }
1231
+ // BigInteger.prototype.dMultiply = bnpDMultiply;
1232
+ // (protected) this *= n, this >= 0, 1 < n < DV
1233
+ dMultiply(n) {
1234
+ this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);
1235
+ ++this.t;
1236
+ this.clamp();
1237
+ }
1238
+ // BigInteger.prototype.dAddOffset = bnpDAddOffset;
1239
+ // (protected) this += n << w words, this >= 0
1240
+ dAddOffset(n, w) {
1241
+ if (n == 0) {
1242
+ return;
1243
+ }
1244
+ while (this.t <= w) {
1245
+ this[this.t++] = 0;
1246
+ }
1247
+ this[w] += n;
1248
+ while (this[w] >= this.DV) {
1249
+ this[w] -= this.DV;
1250
+ if (++w >= this.t) {
1251
+ this[this.t++] = 0;
1252
+ }
1253
+ ++this[w];
1254
+ }
1255
+ }
1256
+ // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;
1257
+ // (protected) r = lower n words of "this * a", a.t <= n
1258
+ // "this" should be the larger one if appropriate.
1259
+ multiplyLowerTo(a, n, r) {
1260
+ let i = Math.min(this.t + a.t, n);
1261
+ r.s = 0; // assumes a,this >= 0
1262
+ r.t = i;
1263
+ while (i > 0) {
1264
+ r[--i] = 0;
1265
+ }
1266
+ for (const j = r.t - this.t; i < j; ++i) {
1267
+ r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);
1268
+ }
1269
+ for (const j = Math.min(a.t, n); i < j; ++i) {
1270
+ this.am(0, a[i], r, i, 0, n - i);
1271
+ }
1272
+ r.clamp();
1273
+ }
1274
+ // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;
1275
+ // (protected) r = "this * a" without lower n words, n > 0
1276
+ // "this" should be the larger one if appropriate.
1277
+ multiplyUpperTo(a, n, r) {
1278
+ --n;
1279
+ let i = r.t = this.t + a.t - n;
1280
+ r.s = 0; // assumes a,this >= 0
1281
+ while (--i >= 0) {
1282
+ r[i] = 0;
1283
+ }
1284
+ for (i = Math.max(n - this.t, 0); i < a.t; ++i) {
1285
+ r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);
1286
+ }
1287
+ r.clamp();
1288
+ r.drShiftTo(1, r);
1289
+ }
1290
+ // BigInteger.prototype.modInt = bnpModInt;
1291
+ // (protected) this % n, n < 2^26
1292
+ modInt(n) {
1293
+ if (n <= 0) {
1294
+ return 0;
1295
+ }
1296
+ const d = this.DV % n;
1297
+ let r = (this.s < 0) ? n - 1 : 0;
1298
+ if (this.t > 0) {
1299
+ if (d == 0) {
1300
+ r = this[0] % n;
1301
+ }
1302
+ else {
1303
+ for (let i = this.t - 1; i >= 0; --i) {
1304
+ r = (d * r + this[i]) % n;
1305
+ }
1306
+ }
1307
+ }
1308
+ return r;
1309
+ }
1310
+ // BigInteger.prototype.millerRabin = bnpMillerRabin;
1311
+ // (protected) true if probably prime (HAC 4.24, Miller-Rabin)
1312
+ millerRabin(t) {
1313
+ const n1 = this.subtract(BigInteger.ONE);
1314
+ const k = n1.getLowestSetBit();
1315
+ if (k <= 0) {
1316
+ return false;
1317
+ }
1318
+ const r = n1.shiftRight(k);
1319
+ t = (t + 1) >> 1;
1320
+ if (t > lowprimes.length) {
1321
+ t = lowprimes.length;
1322
+ }
1323
+ const a = nbi();
1324
+ for (let i = 0; i < t; ++i) {
1325
+ // Pick bases at random, instead of starting at 2
1326
+ a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);
1327
+ let y = a.modPow(r, this);
1328
+ if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
1329
+ let j = 1;
1330
+ while (j++ < k && y.compareTo(n1) != 0) {
1331
+ y = y.modPowInt(2, this);
1332
+ if (y.compareTo(BigInteger.ONE) == 0) {
1333
+ return false;
1334
+ }
1335
+ }
1336
+ if (y.compareTo(n1) != 0) {
1337
+ return false;
1338
+ }
1339
+ }
1340
+ }
1341
+ return true;
1342
+ }
1343
+ // BigInteger.prototype.square = bnSquare;
1344
+ // (public) this^2
1345
+ square() {
1346
+ const r = nbi();
1347
+ this.squareTo(r);
1348
+ return r;
1349
+ }
1350
+ //#region ASYNC
1351
+ // Public API method
1352
+ gcda(a, callback) {
1353
+ let x = (this.s < 0) ? this.negate() : this.clone();
1354
+ let y = (a.s < 0) ? a.negate() : a.clone();
1355
+ if (x.compareTo(y) < 0) {
1356
+ const t = x;
1357
+ x = y;
1358
+ y = t;
1359
+ }
1360
+ let i = x.getLowestSetBit();
1361
+ let g = y.getLowestSetBit();
1362
+ if (g < 0) {
1363
+ callback(x);
1364
+ return;
1365
+ }
1366
+ if (i < g) {
1367
+ g = i;
1368
+ }
1369
+ if (g > 0) {
1370
+ x.rShiftTo(g, x);
1371
+ y.rShiftTo(g, y);
1372
+ }
1373
+ // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen.
1374
+ const gcda1 = function () {
1375
+ if ((i = x.getLowestSetBit()) > 0) {
1376
+ x.rShiftTo(i, x);
1377
+ }
1378
+ if ((i = y.getLowestSetBit()) > 0) {
1379
+ y.rShiftTo(i, y);
1380
+ }
1381
+ if (x.compareTo(y) >= 0) {
1382
+ x.subTo(y, x);
1383
+ x.rShiftTo(1, x);
1384
+ }
1385
+ else {
1386
+ y.subTo(x, y);
1387
+ y.rShiftTo(1, y);
1388
+ }
1389
+ if (!(x.signum() > 0)) {
1390
+ if (g > 0) {
1391
+ y.lShiftTo(g, y);
1392
+ }
1393
+ setTimeout(function () { callback(y); }, 0); // escape
1394
+ }
1395
+ else {
1396
+ setTimeout(gcda1, 0);
1397
+ }
1398
+ };
1399
+ setTimeout(gcda1, 10);
1400
+ }
1401
+ // (protected) alternate constructor
1402
+ fromNumberAsync(a, b, c, callback) {
1403
+ if ("number" == typeof b) {
1404
+ if (a < 2) {
1405
+ this.fromInt(1);
1406
+ }
1407
+ else {
1408
+ this.fromNumber(a, c);
1409
+ if (!this.testBit(a - 1)) {
1410
+ this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);
1411
+ }
1412
+ if (this.isEven()) {
1413
+ this.dAddOffset(1, 0);
1414
+ }
1415
+ const bnp = this;
1416
+ const bnpfn1 = function () {
1417
+ bnp.dAddOffset(2, 0);
1418
+ if (bnp.bitLength() > a) {
1419
+ bnp.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp);
1420
+ }
1421
+ if (bnp.isProbablePrime(b)) {
1422
+ setTimeout(function () { callback(); }, 0); // escape
1423
+ }
1424
+ else {
1425
+ setTimeout(bnpfn1, 0);
1426
+ }
1427
+ };
1428
+ setTimeout(bnpfn1, 0);
1429
+ }
1430
+ }
1431
+ else {
1432
+ const x = [];
1433
+ const t = a & 7;
1434
+ x.length = (a >> 3) + 1;
1435
+ b.nextBytes(x);
1436
+ if (t > 0) {
1437
+ x[0] &= ((1 << t) - 1);
1438
+ }
1439
+ else {
1440
+ x[0] = 0;
1441
+ }
1442
+ this.fromString(x, 256);
1443
+ }
1444
+ }
1445
+ }
1446
+ //#region REDUCERS
1447
+ //#region NullExp
1448
+ class NullExp {
1449
+ constructor() {
1450
+ }
1451
+ // NullExp.prototype.convert = nNop;
1452
+ convert(x) {
1453
+ return x;
1454
+ }
1455
+ // NullExp.prototype.revert = nNop;
1456
+ revert(x) {
1457
+ return x;
1458
+ }
1459
+ // NullExp.prototype.mulTo = nMulTo;
1460
+ mulTo(x, y, r) {
1461
+ x.multiplyTo(y, r);
1462
+ }
1463
+ // NullExp.prototype.sqrTo = nSqrTo;
1464
+ sqrTo(x, r) {
1465
+ x.squareTo(r);
1466
+ }
1467
+ }
1468
+ // Modular reduction using "classic" algorithm
1469
+ class Classic {
1470
+ constructor(m) {
1471
+ this.m = m;
1472
+ }
1473
+ // Classic.prototype.convert = cConvert;
1474
+ convert(x) {
1475
+ if (x.s < 0 || x.compareTo(this.m) >= 0) {
1476
+ return x.mod(this.m);
1477
+ }
1478
+ else {
1479
+ return x;
1480
+ }
1481
+ }
1482
+ // Classic.prototype.revert = cRevert;
1483
+ revert(x) {
1484
+ return x;
1485
+ }
1486
+ // Classic.prototype.reduce = cReduce;
1487
+ reduce(x) {
1488
+ x.divRemTo(this.m, null, x);
1489
+ }
1490
+ // Classic.prototype.mulTo = cMulTo;
1491
+ mulTo(x, y, r) {
1492
+ x.multiplyTo(y, r);
1493
+ this.reduce(r);
1494
+ }
1495
+ // Classic.prototype.sqrTo = cSqrTo;
1496
+ sqrTo(x, r) {
1497
+ x.squareTo(r);
1498
+ this.reduce(r);
1499
+ }
1500
+ }
1501
+ //#endregion
1502
+ //#region Montgomery
1503
+ // Montgomery reduction
1504
+ class Montgomery {
1505
+ constructor(m) {
1506
+ this.m = m;
1507
+ this.mp = m.invDigit();
1508
+ this.mpl = this.mp & 0x7fff;
1509
+ this.mph = this.mp >> 15;
1510
+ this.um = (1 << (m.DB - 15)) - 1;
1511
+ this.mt2 = 2 * m.t;
1512
+ }
1513
+ // Montgomery.prototype.convert = montConvert;
1514
+ // xR mod m
1515
+ convert(x) {
1516
+ const r = nbi();
1517
+ x.abs().dlShiftTo(this.m.t, r);
1518
+ r.divRemTo(this.m, null, r);
1519
+ if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {
1520
+ this.m.subTo(r, r);
1521
+ }
1522
+ return r;
1523
+ }
1524
+ // Montgomery.prototype.revert = montRevert;
1525
+ // x/R mod m
1526
+ revert(x) {
1527
+ const r = nbi();
1528
+ x.copyTo(r);
1529
+ this.reduce(r);
1530
+ return r;
1531
+ }
1532
+ // Montgomery.prototype.reduce = montReduce;
1533
+ // x = x/R mod m (HAC 14.32)
1534
+ reduce(x) {
1535
+ while (x.t <= this.mt2) {
1536
+ // pad x so am has enough room later
1537
+ x[x.t++] = 0;
1538
+ }
1539
+ for (let i = 0; i < this.m.t; ++i) {
1540
+ // faster way of calculating u0 = x[i]*mp mod DV
1541
+ let j = x[i] & 0x7fff;
1542
+ const u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;
1543
+ // use am to combine the multiply-shift-add into one call
1544
+ j = i + this.m.t;
1545
+ x[j] += this.m.am(0, u0, x, i, 0, this.m.t);
1546
+ // propagate carry
1547
+ while (x[j] >= x.DV) {
1548
+ x[j] -= x.DV;
1549
+ x[++j]++;
1550
+ }
1551
+ }
1552
+ x.clamp();
1553
+ x.drShiftTo(this.m.t, x);
1554
+ if (x.compareTo(this.m) >= 0) {
1555
+ x.subTo(this.m, x);
1556
+ }
1557
+ }
1558
+ // Montgomery.prototype.mulTo = montMulTo;
1559
+ // r = "xy/R mod m"; x,y != r
1560
+ mulTo(x, y, r) {
1561
+ x.multiplyTo(y, r);
1562
+ this.reduce(r);
1563
+ }
1564
+ // Montgomery.prototype.sqrTo = montSqrTo;
1565
+ // r = "x^2/R mod m"; x != r
1566
+ sqrTo(x, r) {
1567
+ x.squareTo(r);
1568
+ this.reduce(r);
1569
+ }
1570
+ }
1571
+ //#endregion Montgomery
1572
+ //#region Barrett
1573
+ // Barrett modular reduction
1574
+ class Barrett {
1575
+ constructor(m) {
1576
+ this.m = m;
1577
+ // setup Barrett
1578
+ this.r2 = nbi();
1579
+ this.q3 = nbi();
1580
+ BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);
1581
+ this.mu = this.r2.divide(m);
1582
+ }
1583
+ // Barrett.prototype.convert = barrettConvert;
1584
+ convert(x) {
1585
+ if (x.s < 0 || x.t > 2 * this.m.t) {
1586
+ return x.mod(this.m);
1587
+ }
1588
+ else if (x.compareTo(this.m) < 0) {
1589
+ return x;
1590
+ }
1591
+ else {
1592
+ const r = nbi();
1593
+ x.copyTo(r);
1594
+ this.reduce(r);
1595
+ return r;
1596
+ }
1597
+ }
1598
+ // Barrett.prototype.revert = barrettRevert;
1599
+ revert(x) {
1600
+ return x;
1601
+ }
1602
+ // Barrett.prototype.reduce = barrettReduce;
1603
+ // x = x mod m (HAC 14.42)
1604
+ reduce(x) {
1605
+ x.drShiftTo(this.m.t - 1, this.r2);
1606
+ if (x.t > this.m.t + 1) {
1607
+ x.t = this.m.t + 1;
1608
+ x.clamp();
1609
+ }
1610
+ this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);
1611
+ this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);
1612
+ while (x.compareTo(this.r2) < 0) {
1613
+ x.dAddOffset(1, this.m.t + 1);
1614
+ }
1615
+ x.subTo(this.r2, x);
1616
+ while (x.compareTo(this.m) >= 0) {
1617
+ x.subTo(this.m, x);
1618
+ }
1619
+ }
1620
+ // Barrett.prototype.mulTo = barrettMulTo;
1621
+ // r = x*y mod m; x,y != r
1622
+ mulTo(x, y, r) {
1623
+ x.multiplyTo(y, r);
1624
+ this.reduce(r);
1625
+ }
1626
+ // Barrett.prototype.sqrTo = barrettSqrTo;
1627
+ // r = x^2 mod m; x != r
1628
+ sqrTo(x, r) {
1629
+ x.squareTo(r);
1630
+ this.reduce(r);
1631
+ }
1632
+ }
1633
+ //#endregion
1634
+ //#endregion REDUCERS
1635
+ // return new, unset BigInteger
1636
+ export function nbi() { return new BigInteger(null); }
1637
+ export function parseBigInt(str, r) {
1638
+ return new BigInteger(str, r);
1639
+ }
1640
+ // am: Compute w_j += (x*this_i), propagate carries,
1641
+ // c is initial carry, returns final carry.
1642
+ // c < 3*dvalue, x < 2*dvalue, this_i < dvalue
1643
+ // We need to select the fastest one that works in this environment.
1644
+ const inBrowser = typeof navigator !== "undefined";
1645
+ if (inBrowser && j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
1646
+ // am2 avoids a big mult-and-extract completely.
1647
+ // Max digit bits should be <= 30 because we do bitwise ops
1648
+ // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
1649
+ BigInteger.prototype.am = function am2(i, x, w, j, c, n) {
1650
+ const xl = x & 0x7fff;
1651
+ const xh = x >> 15;
1652
+ while (--n >= 0) {
1653
+ let l = this[i] & 0x7fff;
1654
+ const h = this[i++] >> 15;
1655
+ const m = xh * l + h * xl;
1656
+ l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);
1657
+ c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);
1658
+ w[j++] = l & 0x3fffffff;
1659
+ }
1660
+ return c;
1661
+ };
1662
+ dbits = 30;
1663
+ }
1664
+ else if (inBrowser && j_lm && (navigator.appName != "Netscape")) {
1665
+ // am1: use a single mult and divide to get the high bits,
1666
+ // max digit bits should be 26 because
1667
+ // max internal value = 2*dvalue^2-2*dvalue (< 2^53)
1668
+ BigInteger.prototype.am = function am1(i, x, w, j, c, n) {
1669
+ while (--n >= 0) {
1670
+ const v = x * this[i++] + w[j] + c;
1671
+ c = Math.floor(v / 0x4000000);
1672
+ w[j++] = v & 0x3ffffff;
1673
+ }
1674
+ return c;
1675
+ };
1676
+ dbits = 26;
1677
+ }
1678
+ else { // Mozilla/Netscape seems to prefer am3
1679
+ // Alternately, set max digit bits to 28 since some
1680
+ // browsers slow down when dealing with 32-bit numbers.
1681
+ BigInteger.prototype.am = function am3(i, x, w, j, c, n) {
1682
+ const xl = x & 0x3fff;
1683
+ const xh = x >> 14;
1684
+ while (--n >= 0) {
1685
+ let l = this[i] & 0x3fff;
1686
+ const h = this[i++] >> 14;
1687
+ const m = xh * l + h * xl;
1688
+ l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;
1689
+ c = (l >> 28) + (m >> 14) + xh * h;
1690
+ w[j++] = l & 0xfffffff;
1691
+ }
1692
+ return c;
1693
+ };
1694
+ dbits = 28;
1695
+ }
1696
+ BigInteger.prototype.DB = dbits;
1697
+ BigInteger.prototype.DM = ((1 << dbits) - 1);
1698
+ BigInteger.prototype.DV = (1 << dbits);
1699
+ const BI_FP = 52;
1700
+ BigInteger.prototype.FV = Math.pow(2, BI_FP);
1701
+ BigInteger.prototype.F1 = BI_FP - dbits;
1702
+ BigInteger.prototype.F2 = 2 * dbits - BI_FP;
1703
+ // Digit conversions
1704
+ const BI_RC = [];
1705
+ let rr;
1706
+ let vv;
1707
+ rr = "0".charCodeAt(0);
1708
+ for (vv = 0; vv <= 9; ++vv) {
1709
+ BI_RC[rr++] = vv;
1710
+ }
1711
+ rr = "a".charCodeAt(0);
1712
+ for (vv = 10; vv < 36; ++vv) {
1713
+ BI_RC[rr++] = vv;
1714
+ }
1715
+ rr = "A".charCodeAt(0);
1716
+ for (vv = 10; vv < 36; ++vv) {
1717
+ BI_RC[rr++] = vv;
1718
+ }
1719
+ export function intAt(s, i) {
1720
+ const c = BI_RC[s.charCodeAt(i)];
1721
+ return (c == null) ? -1 : c;
1722
+ }
1723
+ // return bigint initialized to value
1724
+ export function nbv(i) {
1725
+ const r = nbi();
1726
+ r.fromInt(i);
1727
+ return r;
1728
+ }
1729
+ // returns bit length of the integer x
1730
+ export function nbits(x) {
1731
+ let r = 1;
1732
+ let t;
1733
+ if ((t = x >>> 16) != 0) {
1734
+ x = t;
1735
+ r += 16;
1736
+ }
1737
+ if ((t = x >> 8) != 0) {
1738
+ x = t;
1739
+ r += 8;
1740
+ }
1741
+ if ((t = x >> 4) != 0) {
1742
+ x = t;
1743
+ r += 4;
1744
+ }
1745
+ if ((t = x >> 2) != 0) {
1746
+ x = t;
1747
+ r += 2;
1748
+ }
1749
+ if ((t = x >> 1) != 0) {
1750
+ x = t;
1751
+ r += 1;
1752
+ }
1753
+ return r;
1754
+ }
1755
+ // "constants"
1756
+ BigInteger.ZERO = nbv(0);
1757
+ BigInteger.ONE = nbv(1);