ccxt 4.5.59 → 4.5.61

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 (1091) hide show
  1. package/README.md +53 -52
  2. package/dist/ccxt.browser.min.js +4 -4
  3. package/dist/cjs/ccxt.js +6 -2
  4. package/dist/cjs/src/abstract/aftermath.js +1 -1
  5. package/dist/cjs/src/abstract/alpaca.js +1 -1
  6. package/dist/cjs/src/abstract/apex.js +1 -1
  7. package/dist/cjs/src/abstract/ascendex.js +1 -1
  8. package/dist/cjs/src/abstract/aster.js +1 -1
  9. package/dist/cjs/src/abstract/backpack.js +1 -1
  10. package/dist/cjs/src/abstract/bigone.js +1 -1
  11. package/dist/cjs/src/abstract/binance.js +1 -1
  12. package/dist/cjs/src/abstract/bingx.js +1 -1
  13. package/dist/cjs/src/abstract/bit2c.js +1 -1
  14. package/dist/cjs/src/abstract/bitbank.js +1 -1
  15. package/dist/cjs/src/abstract/bitbns.js +1 -1
  16. package/dist/cjs/src/abstract/bitfinex.js +1 -1
  17. package/dist/cjs/src/abstract/bitflyer.js +1 -1
  18. package/dist/cjs/src/abstract/bitget.js +1 -1
  19. package/dist/cjs/src/abstract/bithumb.js +1 -1
  20. package/dist/cjs/src/abstract/bitmart.js +1 -1
  21. package/dist/cjs/src/abstract/bitmex.js +1 -1
  22. package/dist/cjs/src/abstract/bitopro.js +1 -1
  23. package/dist/cjs/src/abstract/bitrue.js +1 -1
  24. package/dist/cjs/src/abstract/bitso.js +1 -1
  25. package/dist/cjs/src/abstract/bitstamp.js +1 -1
  26. package/dist/cjs/src/abstract/bitteam.js +1 -1
  27. package/dist/cjs/src/abstract/bittrade.js +1 -1
  28. package/dist/cjs/src/abstract/bitvavo.js +1 -1
  29. package/dist/cjs/src/abstract/blockchaincom.js +1 -1
  30. package/dist/cjs/src/abstract/blofin.js +1 -1
  31. package/dist/cjs/src/abstract/btcbox.js +1 -1
  32. package/dist/cjs/src/abstract/btcmarkets.js +1 -1
  33. package/dist/cjs/src/abstract/btcturk.js +1 -1
  34. package/dist/cjs/src/abstract/bullish.js +1 -1
  35. package/dist/cjs/src/abstract/bybit.js +1 -1
  36. package/dist/cjs/src/abstract/bydfi.js +1 -1
  37. package/dist/cjs/src/abstract/cex.js +1 -1
  38. package/dist/cjs/src/abstract/coinbase.js +1 -1
  39. package/dist/cjs/src/abstract/coinbaseexchange.js +1 -1
  40. package/dist/cjs/src/abstract/coinbaseinternational.js +1 -1
  41. package/dist/cjs/src/abstract/coincheck.js +1 -1
  42. package/dist/cjs/src/abstract/coinex.js +1 -1
  43. package/dist/cjs/src/abstract/coinmate.js +1 -1
  44. package/dist/cjs/src/abstract/coinmetro.js +1 -1
  45. package/dist/cjs/src/abstract/coinone.js +1 -1
  46. package/dist/cjs/src/abstract/coinsph.js +1 -1
  47. package/dist/cjs/src/abstract/coinspot.js +1 -1
  48. package/dist/cjs/src/abstract/cryptocom.js +1 -1
  49. package/dist/cjs/src/abstract/cryptomus.js +1 -1
  50. package/dist/cjs/src/abstract/deepcoin.js +1 -1
  51. package/dist/cjs/src/abstract/delta.js +1 -1
  52. package/dist/cjs/src/abstract/deribit.js +1 -1
  53. package/dist/cjs/src/abstract/derive.js +1 -1
  54. package/dist/cjs/src/abstract/digifinex.js +1 -1
  55. package/dist/cjs/src/abstract/dydx.js +1 -1
  56. package/dist/cjs/src/abstract/exmo.js +1 -1
  57. package/dist/cjs/src/abstract/extended.js +1 -1
  58. package/dist/cjs/src/abstract/foxbit.js +1 -1
  59. package/dist/cjs/src/abstract/gate.js +1 -1
  60. package/dist/cjs/src/abstract/gemini.js +1 -1
  61. package/dist/cjs/src/abstract/grvt.js +1 -1
  62. package/dist/cjs/src/abstract/hashkey.js +1 -1
  63. package/dist/cjs/src/abstract/hibachi.js +1 -1
  64. package/dist/cjs/src/abstract/hitbtc.js +1 -1
  65. package/dist/cjs/src/abstract/hollaex.js +1 -1
  66. package/dist/cjs/src/abstract/htx.js +1 -1
  67. package/dist/cjs/src/abstract/hyperliquid.js +1 -1
  68. package/dist/cjs/src/abstract/independentreserve.js +1 -1
  69. package/dist/cjs/src/abstract/indodax.js +1 -1
  70. package/dist/cjs/src/abstract/kraken.js +1 -1
  71. package/dist/cjs/src/abstract/krakenfutures.js +1 -1
  72. package/dist/cjs/src/abstract/kucoin.js +1 -1
  73. package/dist/cjs/src/abstract/latoken.js +1 -1
  74. package/dist/cjs/src/abstract/lbank.js +1 -1
  75. package/dist/cjs/src/abstract/lighter.js +1 -1
  76. package/dist/cjs/src/abstract/luno.js +1 -1
  77. package/dist/cjs/src/abstract/mercado.js +1 -1
  78. package/dist/cjs/src/abstract/mexc.js +1 -1
  79. package/dist/cjs/src/abstract/modetrade.js +1 -1
  80. package/dist/cjs/src/abstract/ndax.js +1 -1
  81. package/dist/cjs/src/abstract/novadax.js +1 -1
  82. package/dist/cjs/src/abstract/okx.js +1 -1
  83. package/dist/cjs/src/abstract/onetrading.js +1 -1
  84. package/dist/cjs/src/abstract/p2b.js +1 -1
  85. package/dist/cjs/src/abstract/pacifica.js +1 -1
  86. package/dist/cjs/src/abstract/paradex.js +1 -1
  87. package/dist/cjs/src/abstract/paymium.js +1 -1
  88. package/dist/cjs/src/abstract/phemex.js +1 -1
  89. package/dist/cjs/src/abstract/poloniex.js +1 -1
  90. package/dist/cjs/src/abstract/tokocrypto.js +1 -1
  91. package/dist/cjs/src/abstract/toobit.js +1 -1
  92. package/dist/cjs/src/abstract/upbit.js +1 -1
  93. package/dist/cjs/src/abstract/weex.js +1 -1
  94. package/dist/cjs/src/abstract/whitebit.js +1 -1
  95. package/dist/cjs/src/abstract/woo.js +1 -1
  96. package/dist/cjs/src/abstract/woofipro.js +1 -1
  97. package/dist/cjs/src/abstract/xt.js +1 -1
  98. package/dist/cjs/src/abstract/zaif.js +1 -1
  99. package/dist/cjs/src/abstract/zebpay.js +1 -1
  100. package/dist/cjs/src/aftermath.js +9 -3
  101. package/dist/cjs/src/alpaca.js +2 -2
  102. package/dist/cjs/src/apex.js +35 -35
  103. package/dist/cjs/src/ascendex.js +6 -7
  104. package/dist/cjs/src/aster.js +23 -25
  105. package/dist/cjs/src/backpack.js +4 -4
  106. package/dist/cjs/src/base/Exchange.js +79 -60
  107. package/dist/cjs/src/base/Precise.js +6 -0
  108. package/dist/cjs/src/base/errors.js +6 -0
  109. package/dist/cjs/src/base/functions/crypto.js +73 -16
  110. package/dist/cjs/src/base/functions/encode.js +1 -1
  111. package/dist/cjs/src/base/functions/generic.js +1 -1
  112. package/dist/cjs/src/base/functions/io.js +1 -1
  113. package/dist/cjs/src/base/functions/misc.js +1 -0
  114. package/dist/cjs/src/base/functions/number.js +6 -0
  115. package/dist/cjs/src/base/functions/platform.js +6 -0
  116. package/dist/cjs/src/base/functions/rsa.js +26 -10
  117. package/dist/cjs/src/base/functions/string.js +6 -0
  118. package/dist/cjs/src/base/functions/throttle.js +1 -1
  119. package/dist/cjs/src/base/functions/time.js +6 -0
  120. package/dist/cjs/src/base/functions/totp.js +1 -0
  121. package/dist/cjs/src/base/functions/type.js +19 -13
  122. package/dist/cjs/src/base/functions.js +3 -2
  123. package/dist/cjs/src/base/ws/Cache.js +6 -2
  124. package/dist/cjs/src/base/ws/Client.js +1 -0
  125. package/dist/cjs/src/base/ws/Future.js +1 -1
  126. package/dist/cjs/src/base/ws/OrderBook.js +1 -1
  127. package/dist/cjs/src/base/ws/OrderBookSide.js +6 -0
  128. package/dist/cjs/src/base/ws/WsClient.js +1 -1
  129. package/dist/cjs/src/bequant.js +2 -2
  130. package/dist/cjs/src/bigone.js +6 -6
  131. package/dist/cjs/src/binance.js +65 -18
  132. package/dist/cjs/src/binancecoinm.js +1 -1
  133. package/dist/cjs/src/binanceus.js +1 -1
  134. package/dist/cjs/src/binanceusdm.js +1 -1
  135. package/dist/cjs/src/bingx.js +30 -30
  136. package/dist/cjs/src/bit2c.js +3 -3
  137. package/dist/cjs/src/bitbank.js +2 -2
  138. package/dist/cjs/src/bitbns.js +3 -2
  139. package/dist/cjs/src/bitfinex.js +14 -14
  140. package/dist/cjs/src/bitflyer.js +2 -2
  141. package/dist/cjs/src/bitget.js +12 -12
  142. package/dist/cjs/src/bithumb.js +3 -3
  143. package/dist/cjs/src/bitmart.js +6 -6
  144. package/dist/cjs/src/bitmex.js +78 -11
  145. package/dist/cjs/src/bitopro.js +2 -2
  146. package/dist/cjs/src/bitrue.js +18 -18
  147. package/dist/cjs/src/bitso.js +3 -3
  148. package/dist/cjs/src/bitstamp.js +10 -10
  149. package/dist/cjs/src/bitteam.js +4 -4
  150. package/dist/cjs/src/bittrade.js +3 -3
  151. package/dist/cjs/src/bitvavo.js +1 -1
  152. package/dist/cjs/src/blockchaincom.js +7 -10
  153. package/dist/cjs/src/blofin.js +16 -18
  154. package/dist/cjs/src/btcbox.js +2 -2
  155. package/dist/cjs/src/btcmarkets.js +2 -2
  156. package/dist/cjs/src/btcturk.js +2 -2
  157. package/dist/cjs/src/bullish.js +6 -4
  158. package/dist/cjs/src/bybit.js +52 -58
  159. package/dist/cjs/src/bybiteu.js +1 -1
  160. package/dist/cjs/src/bydfi.js +6 -6
  161. package/dist/cjs/src/cex.js +3 -3
  162. package/dist/cjs/src/coinbase.js +9 -9
  163. package/dist/cjs/src/coinbaseexchange.js +8 -3
  164. package/dist/cjs/src/coincheck.js +9 -5
  165. package/dist/cjs/src/coinex.js +11 -11
  166. package/dist/cjs/src/coinmate.js +3 -3
  167. package/dist/cjs/src/coinmetro.js +6 -6
  168. package/dist/cjs/src/coinone.js +2 -4
  169. package/dist/cjs/src/coinsph.js +2 -1
  170. package/dist/cjs/src/coinspot.js +31 -6
  171. package/dist/cjs/src/cryptocom.js +2 -2
  172. package/dist/cjs/src/cryptomus.js +11 -7
  173. package/dist/cjs/src/deepcoin.js +4 -4
  174. package/dist/cjs/src/delta.js +11 -11
  175. package/dist/cjs/src/deribit.js +5 -5
  176. package/dist/cjs/src/derive.js +17 -18
  177. package/dist/cjs/src/digifinex.js +8 -8
  178. package/dist/cjs/src/dydx.js +7 -7
  179. package/dist/cjs/src/exmo.js +20 -18
  180. package/dist/cjs/src/extended.js +6 -6
  181. package/dist/cjs/src/fmfwio.js +1 -1
  182. package/dist/cjs/src/foxbit.js +4 -4
  183. package/dist/cjs/src/gate.js +53 -54
  184. package/dist/cjs/src/gateeu.js +60 -0
  185. package/dist/cjs/src/gemini.js +2 -2
  186. package/dist/cjs/src/grvt.js +4 -4
  187. package/dist/cjs/src/hashkey.js +6 -6
  188. package/dist/cjs/src/hibachi.js +9 -9
  189. package/dist/cjs/src/hitbtc.js +20 -19
  190. package/dist/cjs/src/hollaex.js +2 -2
  191. package/dist/cjs/src/htx.js +337 -231
  192. package/dist/cjs/src/hyperliquid.js +8 -8
  193. package/dist/cjs/src/independentreserve.js +3 -3
  194. package/dist/cjs/src/indodax.js +6 -6
  195. package/dist/cjs/src/kraken.js +5 -4
  196. package/dist/cjs/src/krakenfutures.js +6 -6
  197. package/dist/cjs/src/kucoin.js +11 -10
  198. package/dist/cjs/src/kucoinfutures.js +5 -1
  199. package/dist/cjs/src/latoken.js +11 -11
  200. package/dist/cjs/src/lbank.js +12 -12
  201. package/dist/cjs/src/lighter.js +8 -8
  202. package/dist/cjs/src/luno.js +6 -6
  203. package/dist/cjs/src/mercado.js +2 -2
  204. package/dist/cjs/src/mexc.js +32 -28
  205. package/dist/cjs/src/modetrade.js +9 -11
  206. package/dist/cjs/src/myokx.js +1 -1
  207. package/dist/cjs/src/ndax.js +2 -2
  208. package/dist/cjs/src/novadax.js +2 -2
  209. package/dist/cjs/src/okx.js +37 -47
  210. package/dist/cjs/src/okxus.js +1 -1
  211. package/dist/cjs/src/onetrading.js +3 -3
  212. package/dist/cjs/src/p2b.js +4 -5
  213. package/dist/cjs/src/pacifica.js +5 -5
  214. package/dist/cjs/src/paradex.js +5 -5
  215. package/dist/cjs/src/paymium.js +2 -2
  216. package/dist/cjs/src/phemex.js +25 -25
  217. package/dist/cjs/src/poloniex.js +4 -4
  218. package/dist/cjs/src/pro/aftermath.js +1 -1
  219. package/dist/cjs/src/pro/alpaca.js +2 -2
  220. package/dist/cjs/src/pro/apex.js +3 -3
  221. package/dist/cjs/src/pro/ascendex.js +2 -2
  222. package/dist/cjs/src/pro/aster.js +5 -5
  223. package/dist/cjs/src/pro/backpack.js +6 -6
  224. package/dist/cjs/src/pro/bequant.js +1 -1
  225. package/dist/cjs/src/pro/binance.js +14 -14
  226. package/dist/cjs/src/pro/binancecoinm.js +1 -1
  227. package/dist/cjs/src/pro/binanceus.js +1 -1
  228. package/dist/cjs/src/pro/binanceusdm.js +1 -1
  229. package/dist/cjs/src/pro/bingx.js +15 -15
  230. package/dist/cjs/src/pro/bitfinex.js +10 -7
  231. package/dist/cjs/src/pro/bitget.js +5 -5
  232. package/dist/cjs/src/pro/bithumb.js +2 -2
  233. package/dist/cjs/src/pro/bitmart.js +13 -10
  234. package/dist/cjs/src/pro/bitmex.js +24 -4
  235. package/dist/cjs/src/pro/bitopro.js +2 -2
  236. package/dist/cjs/src/pro/bitrue.js +2 -2
  237. package/dist/cjs/src/pro/bitstamp.js +2 -2
  238. package/dist/cjs/src/pro/bittrade.js +1 -1
  239. package/dist/cjs/src/pro/bitvavo.js +2 -2
  240. package/dist/cjs/src/pro/blockchaincom.js +2 -2
  241. package/dist/cjs/src/pro/blofin.js +12 -11
  242. package/dist/cjs/src/pro/bullish.js +2 -2
  243. package/dist/cjs/src/pro/bybit.js +36 -23
  244. package/dist/cjs/src/pro/bybiteu.js +1 -1
  245. package/dist/cjs/src/pro/bydfi.js +5 -5
  246. package/dist/cjs/src/pro/cex.js +2 -2
  247. package/dist/cjs/src/pro/coinbase.js +4 -4
  248. package/dist/cjs/src/pro/coinbaseexchange.js +6 -6
  249. package/dist/cjs/src/pro/coinbaseinternational.js +3 -3
  250. package/dist/cjs/src/pro/coincheck.js +2 -2
  251. package/dist/cjs/src/pro/coinex.js +3 -3
  252. package/dist/cjs/src/pro/coinone.js +2 -2
  253. package/dist/cjs/src/pro/cryptocom.js +5 -5
  254. package/dist/cjs/src/pro/deepcoin.js +11 -11
  255. package/dist/cjs/src/pro/deribit.js +3 -3
  256. package/dist/cjs/src/pro/derive.js +3 -3
  257. package/dist/cjs/src/pro/dydx.js +3 -3
  258. package/dist/cjs/src/pro/exmo.js +2 -2
  259. package/dist/cjs/src/pro/extended.js +1 -1
  260. package/dist/cjs/src/pro/gate.js +47 -16
  261. package/dist/cjs/src/pro/gateeu.js +32 -0
  262. package/dist/cjs/src/pro/gemini.js +4 -5
  263. package/dist/cjs/src/pro/grvt.js +9 -9
  264. package/dist/cjs/src/pro/hashkey.js +2 -2
  265. package/dist/cjs/src/pro/hitbtc.js +2 -2
  266. package/dist/cjs/src/pro/hollaex.js +2 -2
  267. package/dist/cjs/src/pro/htx.js +4 -4
  268. package/dist/cjs/src/pro/hyperliquid.js +45 -24
  269. package/dist/cjs/src/pro/independentreserve.js +2 -2
  270. package/dist/cjs/src/pro/kraken.js +15 -9
  271. package/dist/cjs/src/pro/krakenfutures.js +6 -6
  272. package/dist/cjs/src/pro/kucoin.js +7 -7
  273. package/dist/cjs/src/pro/kucoinfutures.js +1 -1
  274. package/dist/cjs/src/pro/lbank.js +1 -0
  275. package/dist/cjs/src/pro/lighter.js +3 -3
  276. package/dist/cjs/src/pro/luno.js +2 -2
  277. package/dist/cjs/src/pro/mexc.js +9 -9
  278. package/dist/cjs/src/pro/modetrade.js +1 -1
  279. package/dist/cjs/src/pro/myokx.js +1 -1
  280. package/dist/cjs/src/pro/ndax.js +3 -3
  281. package/dist/cjs/src/pro/okx.js +5 -5
  282. package/dist/cjs/src/pro/okxus.js +1 -1
  283. package/dist/cjs/src/pro/onetrading.js +2 -2
  284. package/dist/cjs/src/pro/p2b.js +3 -3
  285. package/dist/cjs/src/pro/pacifica.js +3 -3
  286. package/dist/cjs/src/pro/paradex.js +2 -2
  287. package/dist/cjs/src/pro/phemex.js +2 -2
  288. package/dist/cjs/src/pro/poloniex.js +5 -5
  289. package/dist/cjs/src/pro/toobit.js +3 -3
  290. package/dist/cjs/src/pro/upbit.js +2 -2
  291. package/dist/cjs/src/pro/weex.js +5 -5
  292. package/dist/cjs/src/pro/whitebit.js +2 -2
  293. package/dist/cjs/src/pro/woo.js +3 -3
  294. package/dist/cjs/src/pro/woofipro.js +1 -1
  295. package/dist/cjs/src/pro/xt.js +1 -1
  296. package/dist/cjs/src/protobuf/mexc/compiled.cjs.js +0 -1
  297. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +1 -0
  298. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +1 -0
  299. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +1 -0
  300. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +1 -0
  301. package/dist/cjs/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +1 -0
  302. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +1 -0
  303. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +1 -0
  304. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +1 -0
  305. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +1 -0
  306. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +1 -0
  307. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +1 -0
  308. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +1 -0
  309. package/dist/cjs/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +1 -0
  310. package/dist/cjs/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +1 -0
  311. package/dist/cjs/src/static_dependencies/dydx-v4-client/helpers.js +6 -0
  312. package/dist/cjs/src/static_dependencies/dydx-v4-client/onboarding.js +1 -0
  313. package/dist/cjs/src/static_dependencies/dydx-v4-client/registry.js +1 -0
  314. package/dist/cjs/src/static_dependencies/ethers/abi-coder.js +38 -59
  315. package/dist/cjs/src/static_dependencies/ethers/address/address.js +1 -2
  316. package/dist/cjs/src/static_dependencies/ethers/coders/abstract-coder.js +77 -92
  317. package/dist/cjs/src/static_dependencies/ethers/coders/address.js +1 -1
  318. package/dist/cjs/src/static_dependencies/ethers/coders/anonymous.js +1 -0
  319. package/dist/cjs/src/static_dependencies/ethers/coders/array.js +2 -2
  320. package/dist/cjs/src/static_dependencies/ethers/coders/boolean.js +1 -0
  321. package/dist/cjs/src/static_dependencies/ethers/coders/bytes.js +1 -1
  322. package/dist/cjs/src/static_dependencies/ethers/coders/fixed-bytes.js +2 -2
  323. package/dist/cjs/src/static_dependencies/ethers/coders/null.js +1 -0
  324. package/dist/cjs/src/static_dependencies/ethers/coders/number.js +2 -2
  325. package/dist/cjs/src/static_dependencies/ethers/coders/string.js +1 -0
  326. package/dist/cjs/src/static_dependencies/ethers/coders/tuple.js +1 -0
  327. package/dist/cjs/src/static_dependencies/ethers/fragments.js +96 -105
  328. package/dist/cjs/src/static_dependencies/ethers/hash/typed-data.js +53 -65
  329. package/dist/cjs/src/static_dependencies/ethers/index.js +1 -14
  330. package/dist/cjs/src/static_dependencies/ethers/interface.js +6 -0
  331. package/dist/cjs/src/static_dependencies/ethers/typed.js +7 -34
  332. package/dist/cjs/src/static_dependencies/ethers/utils/base58.js +1 -13
  333. package/dist/cjs/src/static_dependencies/ethers/utils/data.js +1 -6
  334. package/dist/cjs/src/static_dependencies/ethers/utils/errors.js +1 -9
  335. package/dist/cjs/src/static_dependencies/ethers/utils/events.js +6 -0
  336. package/dist/cjs/src/static_dependencies/ethers/utils/fixednumber.js +1 -11
  337. package/dist/cjs/src/static_dependencies/ethers/utils/index.js +1 -8
  338. package/dist/cjs/src/static_dependencies/ethers/utils/maths.js +1 -5
  339. package/dist/cjs/src/static_dependencies/ethers/utils/properties.js +6 -0
  340. package/dist/cjs/src/static_dependencies/ethers/utils/utf8.js +1 -8
  341. package/dist/cjs/src/static_dependencies/fflake/browser.js +1 -1
  342. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncrypt.js +2 -1
  343. package/dist/cjs/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +1 -0
  344. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +1 -1
  345. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +6 -0
  346. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +6 -0
  347. package/dist/cjs/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +6 -0
  348. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +1 -0
  349. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +1 -1
  350. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +6 -0
  351. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +1 -1
  352. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +1 -1
  353. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsbn/util.js +6 -0
  354. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +1 -1
  355. package/dist/cjs/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +6 -0
  356. package/dist/cjs/src/static_dependencies/messagepack/msgpack.js +6 -0
  357. package/dist/cjs/src/static_dependencies/node-fetch/body.js +1 -5
  358. package/dist/cjs/src/static_dependencies/node-fetch/errors/abort-error.js +1 -0
  359. package/dist/cjs/src/static_dependencies/node-fetch/errors/base.js +6 -0
  360. package/dist/cjs/src/static_dependencies/node-fetch/errors/fetch-error.js +1 -0
  361. package/dist/cjs/src/static_dependencies/node-fetch/headers.js +1 -5
  362. package/dist/cjs/src/static_dependencies/node-fetch/index.js +1 -7
  363. package/dist/cjs/src/static_dependencies/node-fetch/request.js +1 -7
  364. package/dist/cjs/src/static_dependencies/node-fetch/response.js +1 -5
  365. package/dist/cjs/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  366. package/dist/cjs/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  367. package/dist/cjs/src/static_dependencies/node-fetch/utils/is.js +6 -0
  368. package/dist/cjs/src/static_dependencies/node-fetch/utils/referrer.js +1 -0
  369. package/dist/cjs/src/static_dependencies/proxies/agent-base/index.js +1 -0
  370. package/dist/cjs/src/static_dependencies/proxies/http-proxy-agent/index.js +2 -1
  371. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/index.js +2 -1
  372. package/dist/cjs/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  373. package/dist/cjs/src/static_dependencies/qs/formats.js +6 -0
  374. package/dist/cjs/src/static_dependencies/qs/index.js +1 -0
  375. package/dist/cjs/src/static_dependencies/qs/parse.js +1 -0
  376. package/dist/cjs/src/static_dependencies/qs/stringify.js +1 -0
  377. package/dist/cjs/src/static_dependencies/qs/utils.js +6 -0
  378. package/dist/cjs/src/static_dependencies/starknet/constants.js +1 -1
  379. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +6 -0
  380. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  381. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  382. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +6 -0
  383. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +6 -0
  384. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +6 -0
  385. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +1 -1
  386. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +2 -2
  387. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +2 -2
  388. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +1 -0
  389. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +1 -0
  390. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  391. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  392. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  393. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +1 -0
  394. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +1 -1
  395. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +1 -0
  396. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +1 -0
  397. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  398. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +1 -0
  399. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +1 -0
  400. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +1 -0
  401. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +1 -1
  402. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +1 -4
  403. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +1 -0
  404. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +1 -3
  405. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +1 -0
  406. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +1 -0
  407. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +1 -0
  408. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +1 -0
  409. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +1 -1
  410. package/dist/cjs/src/static_dependencies/watchable/src/unpromise.js +7 -1
  411. package/dist/cjs/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  412. package/dist/cjs/src/tokocrypto.js +5 -5
  413. package/dist/cjs/src/toobit.js +4 -4
  414. package/dist/cjs/src/upbit.js +11 -8
  415. package/dist/cjs/src/weex.js +10 -10
  416. package/dist/cjs/src/whitebit.js +6 -6
  417. package/dist/cjs/src/woo.js +20 -16
  418. package/dist/cjs/src/woofipro.js +7 -9
  419. package/dist/cjs/src/xt.js +5 -4
  420. package/dist/cjs/src/zaif.js +3 -3
  421. package/dist/cjs/src/zebpay.js +7 -7
  422. package/js/ccxt.d.ts +9 -3
  423. package/js/ccxt.js +12 -3
  424. package/js/src/abstract/aftermath.js +6 -0
  425. package/js/src/abstract/alpaca.js +6 -0
  426. package/js/src/abstract/apex.js +6 -0
  427. package/js/src/abstract/ascendex.js +6 -0
  428. package/js/src/abstract/aster.js +6 -0
  429. package/js/src/abstract/backpack.js +6 -0
  430. package/js/src/abstract/bequant.js +6 -0
  431. package/js/src/abstract/bigone.js +6 -0
  432. package/js/src/abstract/binance.js +6 -0
  433. package/js/src/abstract/binancecoinm.js +6 -0
  434. package/js/src/abstract/binanceus.js +6 -0
  435. package/js/src/abstract/binanceusdm.js +6 -0
  436. package/js/src/abstract/bingx.js +6 -0
  437. package/js/src/abstract/bit2c.js +6 -0
  438. package/js/src/abstract/bitbank.js +6 -0
  439. package/js/src/abstract/bitbns.js +6 -0
  440. package/js/src/abstract/bitfinex.js +6 -0
  441. package/js/src/abstract/bitflyer.js +6 -0
  442. package/js/src/abstract/bitget.js +6 -0
  443. package/js/src/abstract/bithumb.js +6 -0
  444. package/js/src/abstract/bitmart.js +6 -0
  445. package/js/src/abstract/bitmex.js +6 -0
  446. package/js/src/abstract/bitopro.js +6 -0
  447. package/js/src/abstract/bitrue.js +6 -0
  448. package/js/src/abstract/bitso.js +6 -0
  449. package/js/src/abstract/bitstamp.js +6 -0
  450. package/js/src/abstract/bitteam.js +6 -0
  451. package/js/src/abstract/bittrade.js +6 -0
  452. package/js/src/abstract/bitvavo.js +6 -0
  453. package/js/src/abstract/blockchaincom.js +6 -0
  454. package/js/src/abstract/blofin.js +6 -0
  455. package/js/src/abstract/btcbox.js +6 -0
  456. package/js/src/abstract/btcmarkets.js +6 -0
  457. package/js/src/abstract/btcturk.js +6 -0
  458. package/js/src/abstract/bullish.js +6 -0
  459. package/js/src/abstract/bybit.js +6 -0
  460. package/js/src/abstract/bybiteu.js +6 -0
  461. package/js/src/abstract/bydfi.js +6 -0
  462. package/js/src/abstract/cex.js +6 -0
  463. package/js/src/abstract/coinbase.js +6 -0
  464. package/js/src/abstract/coinbaseexchange.d.ts +3 -0
  465. package/js/src/abstract/coinbaseexchange.js +6 -0
  466. package/js/src/abstract/coinbaseinternational.js +6 -0
  467. package/js/src/abstract/coincheck.js +6 -0
  468. package/js/src/abstract/coinex.js +6 -0
  469. package/js/src/abstract/coinmate.js +6 -0
  470. package/js/src/abstract/coinmetro.js +6 -0
  471. package/js/src/abstract/coinone.js +6 -0
  472. package/js/src/abstract/coinsph.js +6 -0
  473. package/js/src/abstract/coinspot.js +6 -0
  474. package/js/src/abstract/cryptocom.js +6 -0
  475. package/js/src/abstract/cryptomus.js +6 -0
  476. package/js/src/abstract/deepcoin.js +6 -0
  477. package/js/src/abstract/delta.js +6 -0
  478. package/js/src/abstract/deribit.js +6 -0
  479. package/js/src/abstract/derive.js +6 -0
  480. package/js/src/abstract/digifinex.js +6 -0
  481. package/js/src/abstract/dydx.js +6 -0
  482. package/js/src/abstract/exmo.js +6 -0
  483. package/js/src/abstract/extended.js +6 -0
  484. package/js/src/abstract/fmfwio.js +6 -0
  485. package/js/src/abstract/foxbit.js +6 -0
  486. package/js/src/abstract/gate.js +6 -0
  487. package/js/src/abstract/gateeu.d.ts +346 -0
  488. package/js/src/abstract/gateeu.js +11 -0
  489. package/js/src/abstract/gemini.js +6 -0
  490. package/js/src/abstract/grvt.js +6 -0
  491. package/js/src/abstract/hashkey.js +6 -0
  492. package/js/src/abstract/hibachi.js +6 -0
  493. package/js/src/abstract/hitbtc.js +6 -0
  494. package/js/src/abstract/hollaex.js +6 -0
  495. package/js/src/abstract/htx.d.ts +20 -124
  496. package/js/src/abstract/htx.js +6 -0
  497. package/js/src/abstract/hyperliquid.js +6 -0
  498. package/js/src/abstract/independentreserve.js +6 -0
  499. package/js/src/abstract/indodax.js +6 -0
  500. package/js/src/abstract/kraken.js +6 -0
  501. package/js/src/abstract/krakenfutures.js +6 -0
  502. package/js/src/abstract/kucoin.js +6 -0
  503. package/js/src/abstract/kucoinfutures.js +6 -0
  504. package/js/src/abstract/latoken.js +6 -0
  505. package/js/src/abstract/lbank.js +6 -0
  506. package/js/src/abstract/lighter.js +6 -0
  507. package/js/src/abstract/luno.js +6 -0
  508. package/js/src/abstract/mercado.js +6 -0
  509. package/js/src/abstract/mexc.js +6 -0
  510. package/js/src/abstract/modetrade.js +6 -0
  511. package/js/src/abstract/myokx.js +6 -0
  512. package/js/src/abstract/ndax.js +6 -0
  513. package/js/src/abstract/novadax.js +6 -0
  514. package/js/src/abstract/okx.js +6 -0
  515. package/js/src/abstract/okxus.js +6 -0
  516. package/js/src/abstract/onetrading.js +6 -0
  517. package/js/src/abstract/p2b.js +6 -0
  518. package/js/src/abstract/pacifica.js +6 -0
  519. package/js/src/abstract/paradex.js +6 -0
  520. package/js/src/abstract/paymium.js +6 -0
  521. package/js/src/abstract/phemex.js +6 -0
  522. package/js/src/abstract/poloniex.js +6 -0
  523. package/js/src/abstract/tokocrypto.js +6 -0
  524. package/js/src/abstract/toobit.js +6 -0
  525. package/js/src/abstract/upbit.js +6 -0
  526. package/js/src/abstract/weex.js +6 -0
  527. package/js/src/abstract/whitebit.js +6 -0
  528. package/js/src/abstract/woo.js +6 -0
  529. package/js/src/abstract/woofipro.js +6 -0
  530. package/js/src/abstract/xt.js +6 -0
  531. package/js/src/abstract/zaif.js +6 -0
  532. package/js/src/abstract/zebpay.js +6 -0
  533. package/js/src/aftermath.d.ts +9 -5
  534. package/js/src/aftermath.js +14 -3
  535. package/js/src/alpaca.d.ts +4 -4
  536. package/js/src/alpaca.js +7 -1
  537. package/js/src/apex.d.ts +29 -29
  538. package/js/src/apex.js +40 -34
  539. package/js/src/ascendex.d.ts +4 -4
  540. package/js/src/ascendex.js +11 -6
  541. package/js/src/aster.d.ts +10 -10
  542. package/js/src/aster.js +28 -24
  543. package/js/src/backpack.d.ts +4 -4
  544. package/js/src/backpack.js +9 -3
  545. package/js/src/base/Exchange.d.ts +67 -54
  546. package/js/src/base/Exchange.js +86 -61
  547. package/js/src/base/Precise.js +6 -0
  548. package/js/src/base/errorHierarchy.js +6 -0
  549. package/js/src/base/errors.js +6 -0
  550. package/js/src/base/functions/crypto.d.ts +2 -1
  551. package/js/src/base/functions/crypto.js +78 -16
  552. package/js/src/base/functions/encode.js +6 -0
  553. package/js/src/base/functions/generic.js +8 -2
  554. package/js/src/base/functions/io.js +6 -0
  555. package/js/src/base/functions/misc.js +6 -0
  556. package/js/src/base/functions/number.js +6 -0
  557. package/js/src/base/functions/platform.js +6 -0
  558. package/js/src/base/functions/rsa.js +24 -7
  559. package/js/src/base/functions/string.js +6 -0
  560. package/js/src/base/functions/throttle.js +6 -0
  561. package/js/src/base/functions/time.js +6 -0
  562. package/js/src/base/functions/totp.js +6 -0
  563. package/js/src/base/functions/type.d.ts +13 -7
  564. package/js/src/base/functions/type.js +19 -13
  565. package/js/src/base/functions.js +6 -0
  566. package/js/src/base/types.d.ts +152 -149
  567. package/js/src/base/types.js +6 -0
  568. package/js/src/base/ws/Cache.d.ts +5 -4
  569. package/js/src/base/ws/Cache.js +6 -2
  570. package/js/src/base/ws/Client.js +6 -0
  571. package/js/src/base/ws/Future.js +6 -0
  572. package/js/src/base/ws/OrderBook.d.ts +3 -3
  573. package/js/src/base/ws/OrderBook.js +8 -2
  574. package/js/src/base/ws/OrderBookSide.js +6 -0
  575. package/js/src/base/ws/WsClient.js +6 -0
  576. package/js/src/base/ws/functions.d.ts +1 -0
  577. package/js/src/base/ws/functions.js +7 -1
  578. package/js/src/bequant.js +7 -1
  579. package/js/src/bigone.d.ts +5 -5
  580. package/js/src/bigone.js +11 -5
  581. package/js/src/binance.d.ts +14 -14
  582. package/js/src/binance.js +70 -17
  583. package/js/src/binancecoinm.js +6 -0
  584. package/js/src/binanceus.js +6 -0
  585. package/js/src/binanceusdm.js +6 -0
  586. package/js/src/bingx.d.ts +8 -8
  587. package/js/src/bingx.js +35 -29
  588. package/js/src/bit2c.d.ts +5 -5
  589. package/js/src/bit2c.js +8 -2
  590. package/js/src/bitbank.d.ts +4 -4
  591. package/js/src/bitbank.js +7 -1
  592. package/js/src/bitbns.d.ts +6 -6
  593. package/js/src/bitbns.js +8 -1
  594. package/js/src/bitfinex.d.ts +7 -7
  595. package/js/src/bitfinex.js +19 -13
  596. package/js/src/bitflyer.d.ts +5 -5
  597. package/js/src/bitflyer.js +7 -1
  598. package/js/src/bitget.d.ts +10 -10
  599. package/js/src/bitget.js +17 -11
  600. package/js/src/bithumb.d.ts +5 -5
  601. package/js/src/bithumb.js +8 -2
  602. package/js/src/bitmart.d.ts +7 -7
  603. package/js/src/bitmart.js +11 -5
  604. package/js/src/bitmex.d.ts +5 -5
  605. package/js/src/bitmex.js +83 -10
  606. package/js/src/bitopro.d.ts +5 -5
  607. package/js/src/bitopro.js +7 -1
  608. package/js/src/bitrue.d.ts +12 -12
  609. package/js/src/bitrue.js +23 -17
  610. package/js/src/bitso.d.ts +5 -5
  611. package/js/src/bitso.js +8 -2
  612. package/js/src/bitstamp.d.ts +5 -5
  613. package/js/src/bitstamp.js +15 -9
  614. package/js/src/bitteam.d.ts +4 -4
  615. package/js/src/bitteam.js +9 -3
  616. package/js/src/bittrade.d.ts +5 -5
  617. package/js/src/bittrade.js +8 -2
  618. package/js/src/bitvavo.d.ts +8 -8
  619. package/js/src/bitvavo.js +7 -1
  620. package/js/src/blockchaincom.d.ts +5 -5
  621. package/js/src/blockchaincom.js +12 -9
  622. package/js/src/blofin.d.ts +5 -5
  623. package/js/src/blofin.js +21 -17
  624. package/js/src/btcbox.d.ts +4 -4
  625. package/js/src/btcbox.js +7 -1
  626. package/js/src/btcmarkets.d.ts +6 -6
  627. package/js/src/btcmarkets.js +7 -1
  628. package/js/src/btcturk.d.ts +5 -5
  629. package/js/src/btcturk.js +7 -1
  630. package/js/src/bullish.d.ts +6 -6
  631. package/js/src/bullish.js +11 -3
  632. package/js/src/bybit.d.ts +9 -9
  633. package/js/src/bybit.js +57 -57
  634. package/js/src/bybiteu.js +6 -0
  635. package/js/src/bydfi.js +11 -5
  636. package/js/src/cex.d.ts +5 -5
  637. package/js/src/cex.js +8 -2
  638. package/js/src/coinbase.d.ts +5 -5
  639. package/js/src/coinbase.js +15 -9
  640. package/js/src/coinbaseexchange.d.ts +5 -5
  641. package/js/src/coinbaseexchange.js +14 -3
  642. package/js/src/coinbaseinternational.d.ts +7 -7
  643. package/js/src/coinbaseinternational.js +6 -0
  644. package/js/src/coincheck.d.ts +4 -4
  645. package/js/src/coincheck.js +14 -4
  646. package/js/src/coinex.d.ts +7 -7
  647. package/js/src/coinex.js +16 -10
  648. package/js/src/coinmate.d.ts +4 -4
  649. package/js/src/coinmate.js +8 -2
  650. package/js/src/coinmetro.d.ts +5 -5
  651. package/js/src/coinmetro.js +11 -5
  652. package/js/src/coinone.d.ts +5 -5
  653. package/js/src/coinone.js +7 -3
  654. package/js/src/coinsph.d.ts +5 -5
  655. package/js/src/coinsph.js +7 -1
  656. package/js/src/coinspot.d.ts +6 -5
  657. package/js/src/coinspot.js +37 -6
  658. package/js/src/cryptocom.d.ts +7 -7
  659. package/js/src/cryptocom.js +7 -1
  660. package/js/src/cryptomus.d.ts +7 -7
  661. package/js/src/cryptomus.js +16 -6
  662. package/js/src/deepcoin.d.ts +7 -13
  663. package/js/src/deepcoin.js +9 -3
  664. package/js/src/delta.d.ts +5 -5
  665. package/js/src/delta.js +16 -10
  666. package/js/src/deribit.d.ts +7 -7
  667. package/js/src/deribit.js +10 -4
  668. package/js/src/derive.d.ts +4 -4
  669. package/js/src/derive.js +22 -17
  670. package/js/src/digifinex.d.ts +6 -6
  671. package/js/src/digifinex.js +13 -7
  672. package/js/src/dydx.d.ts +5 -5
  673. package/js/src/dydx.js +12 -6
  674. package/js/src/exmo.d.ts +5 -5
  675. package/js/src/exmo.js +25 -17
  676. package/js/src/extended.d.ts +12 -12
  677. package/js/src/extended.js +11 -5
  678. package/js/src/fmfwio.js +6 -0
  679. package/js/src/foxbit.d.ts +5 -5
  680. package/js/src/foxbit.js +9 -3
  681. package/js/src/gate.d.ts +16 -29
  682. package/js/src/gate.js +58 -53
  683. package/js/src/gateeu.d.ts +4 -0
  684. package/js/src/gateeu.js +59 -0
  685. package/js/src/gemini.d.ts +5 -5
  686. package/js/src/gemini.js +7 -1
  687. package/js/src/grvt.d.ts +5 -5
  688. package/js/src/grvt.js +9 -3
  689. package/js/src/hashkey.d.ts +4 -4
  690. package/js/src/hashkey.js +11 -5
  691. package/js/src/hibachi.d.ts +4 -4
  692. package/js/src/hibachi.js +14 -8
  693. package/js/src/hitbtc.d.ts +7 -7
  694. package/js/src/hitbtc.js +25 -19
  695. package/js/src/hollaex.d.ts +5 -5
  696. package/js/src/hollaex.js +7 -1
  697. package/js/src/htx.d.ts +39 -23
  698. package/js/src/htx.js +342 -230
  699. package/js/src/hyperliquid.d.ts +11 -11
  700. package/js/src/hyperliquid.js +13 -7
  701. package/js/src/independentreserve.d.ts +4 -4
  702. package/js/src/independentreserve.js +8 -2
  703. package/js/src/indodax.d.ts +5 -5
  704. package/js/src/indodax.js +11 -5
  705. package/js/src/kraken.d.ts +6 -6
  706. package/js/src/kraken.js +10 -3
  707. package/js/src/krakenfutures.d.ts +5 -5
  708. package/js/src/krakenfutures.js +11 -5
  709. package/js/src/kucoin.d.ts +8 -8
  710. package/js/src/kucoin.js +16 -9
  711. package/js/src/kucoinfutures.d.ts +4 -0
  712. package/js/src/kucoinfutures.js +10 -0
  713. package/js/src/latoken.d.ts +4 -4
  714. package/js/src/latoken.js +16 -10
  715. package/js/src/lbank.d.ts +10 -10
  716. package/js/src/lbank.js +17 -11
  717. package/js/src/lighter.d.ts +5 -5
  718. package/js/src/lighter.js +13 -7
  719. package/js/src/luno.d.ts +6 -6
  720. package/js/src/luno.js +11 -5
  721. package/js/src/mercado.d.ts +5 -5
  722. package/js/src/mercado.js +7 -1
  723. package/js/src/mexc.d.ts +15 -15
  724. package/js/src/mexc.js +37 -27
  725. package/js/src/modetrade.d.ts +5 -5
  726. package/js/src/modetrade.js +14 -10
  727. package/js/src/myokx.js +6 -0
  728. package/js/src/ndax.d.ts +5 -5
  729. package/js/src/ndax.js +7 -1
  730. package/js/src/novadax.d.ts +5 -5
  731. package/js/src/novadax.js +7 -1
  732. package/js/src/okx.d.ts +6 -6
  733. package/js/src/okx.js +42 -46
  734. package/js/src/okxus.js +6 -0
  735. package/js/src/onetrading.d.ts +7 -7
  736. package/js/src/onetrading.js +8 -2
  737. package/js/src/p2b.d.ts +5 -5
  738. package/js/src/p2b.js +9 -4
  739. package/js/src/pacifica.d.ts +7 -7
  740. package/js/src/pacifica.js +10 -4
  741. package/js/src/paradex.d.ts +5 -5
  742. package/js/src/paradex.js +10 -4
  743. package/js/src/paymium.d.ts +5 -5
  744. package/js/src/paymium.js +7 -1
  745. package/js/src/phemex.d.ts +7 -7
  746. package/js/src/phemex.js +31 -25
  747. package/js/src/poloniex.d.ts +5 -5
  748. package/js/src/poloniex.js +9 -3
  749. package/js/src/pro/aftermath.d.ts +1 -1
  750. package/js/src/pro/aftermath.js +7 -1
  751. package/js/src/pro/alpaca.d.ts +1 -1
  752. package/js/src/pro/alpaca.js +7 -1
  753. package/js/src/pro/apex.d.ts +3 -4
  754. package/js/src/pro/apex.js +8 -2
  755. package/js/src/pro/ascendex.d.ts +2 -2
  756. package/js/src/pro/ascendex.js +7 -1
  757. package/js/src/pro/aster.d.ts +10 -10
  758. package/js/src/pro/aster.js +10 -4
  759. package/js/src/pro/backpack.d.ts +7 -7
  760. package/js/src/pro/backpack.js +11 -5
  761. package/js/src/pro/bequant.js +6 -0
  762. package/js/src/pro/binance.d.ts +7 -7
  763. package/js/src/pro/binance.js +20 -14
  764. package/js/src/pro/binancecoinm.js +6 -0
  765. package/js/src/pro/binanceus.js +6 -0
  766. package/js/src/pro/binanceusdm.js +6 -0
  767. package/js/src/pro/bingx.d.ts +4 -4
  768. package/js/src/pro/bingx.js +20 -14
  769. package/js/src/pro/bitfinex.d.ts +5 -5
  770. package/js/src/pro/bitfinex.js +15 -6
  771. package/js/src/pro/bitget.d.ts +11 -11
  772. package/js/src/pro/bitget.js +10 -4
  773. package/js/src/pro/bithumb.d.ts +4 -4
  774. package/js/src/pro/bithumb.js +7 -1
  775. package/js/src/pro/bitmart.d.ts +6 -6
  776. package/js/src/pro/bitmart.js +18 -9
  777. package/js/src/pro/bitmex.d.ts +2 -2
  778. package/js/src/pro/bitmex.js +29 -3
  779. package/js/src/pro/bitopro.d.ts +1 -1
  780. package/js/src/pro/bitopro.js +8 -2
  781. package/js/src/pro/bitrue.d.ts +1 -1
  782. package/js/src/pro/bitrue.js +7 -1
  783. package/js/src/pro/bitstamp.d.ts +4 -4
  784. package/js/src/pro/bitstamp.js +7 -1
  785. package/js/src/pro/bittrade.d.ts +1 -1
  786. package/js/src/pro/bittrade.js +7 -1
  787. package/js/src/pro/bitvavo.d.ts +1 -1
  788. package/js/src/pro/bitvavo.js +7 -1
  789. package/js/src/pro/blockchaincom.d.ts +5 -5
  790. package/js/src/pro/blockchaincom.js +7 -1
  791. package/js/src/pro/blofin.d.ts +5 -5
  792. package/js/src/pro/blofin.js +17 -10
  793. package/js/src/pro/bullish.d.ts +3 -3
  794. package/js/src/pro/bullish.js +7 -1
  795. package/js/src/pro/bybit.d.ts +10 -10
  796. package/js/src/pro/bybit.js +41 -22
  797. package/js/src/pro/bybiteu.js +6 -0
  798. package/js/src/pro/bydfi.d.ts +4 -4
  799. package/js/src/pro/bydfi.js +10 -4
  800. package/js/src/pro/cex.d.ts +2 -2
  801. package/js/src/pro/cex.js +7 -1
  802. package/js/src/pro/coinbase.d.ts +3 -3
  803. package/js/src/pro/coinbase.js +9 -3
  804. package/js/src/pro/coinbaseexchange.d.ts +6 -6
  805. package/js/src/pro/coinbaseexchange.js +11 -5
  806. package/js/src/pro/coinbaseinternational.d.ts +2 -2
  807. package/js/src/pro/coinbaseinternational.js +8 -2
  808. package/js/src/pro/coincheck.d.ts +1 -1
  809. package/js/src/pro/coincheck.js +7 -1
  810. package/js/src/pro/coinex.d.ts +8 -8
  811. package/js/src/pro/coinex.js +8 -2
  812. package/js/src/pro/coinone.d.ts +2 -2
  813. package/js/src/pro/coinone.js +7 -1
  814. package/js/src/pro/cryptocom.d.ts +4 -4
  815. package/js/src/pro/cryptocom.js +10 -4
  816. package/js/src/pro/deepcoin.d.ts +5 -5
  817. package/js/src/pro/deepcoin.js +16 -10
  818. package/js/src/pro/deribit.d.ts +5 -5
  819. package/js/src/pro/deribit.js +8 -2
  820. package/js/src/pro/derive.d.ts +2 -2
  821. package/js/src/pro/derive.js +9 -3
  822. package/js/src/pro/dydx.d.ts +2 -2
  823. package/js/src/pro/dydx.js +8 -2
  824. package/js/src/pro/exmo.d.ts +1 -1
  825. package/js/src/pro/exmo.js +7 -1
  826. package/js/src/pro/extended.d.ts +1 -1
  827. package/js/src/pro/extended.js +7 -1
  828. package/js/src/pro/gate.d.ts +4 -3
  829. package/js/src/pro/gate.js +52 -15
  830. package/js/src/pro/gateeu.d.ts +4 -0
  831. package/js/src/pro/gateeu.js +31 -0
  832. package/js/src/pro/gemini.d.ts +2 -2
  833. package/js/src/pro/gemini.js +9 -4
  834. package/js/src/pro/grvt.d.ts +9 -9
  835. package/js/src/pro/grvt.js +14 -8
  836. package/js/src/pro/hashkey.d.ts +2 -2
  837. package/js/src/pro/hashkey.js +7 -1
  838. package/js/src/pro/hitbtc.d.ts +1 -1
  839. package/js/src/pro/hitbtc.js +7 -1
  840. package/js/src/pro/hollaex.d.ts +1 -1
  841. package/js/src/pro/hollaex.js +7 -1
  842. package/js/src/pro/htx.d.ts +5 -5
  843. package/js/src/pro/htx.js +9 -3
  844. package/js/src/pro/hyperliquid.d.ts +6 -5
  845. package/js/src/pro/hyperliquid.js +51 -24
  846. package/js/src/pro/independentreserve.d.ts +1 -1
  847. package/js/src/pro/independentreserve.js +7 -1
  848. package/js/src/pro/kraken.d.ts +2 -2
  849. package/js/src/pro/kraken.js +20 -8
  850. package/js/src/pro/krakenfutures.d.ts +2 -2
  851. package/js/src/pro/krakenfutures.js +11 -5
  852. package/js/src/pro/kucoin.d.ts +17 -17
  853. package/js/src/pro/kucoin.js +12 -6
  854. package/js/src/pro/kucoinfutures.js +6 -0
  855. package/js/src/pro/lbank.d.ts +1 -1
  856. package/js/src/pro/lbank.js +6 -0
  857. package/js/src/pro/lighter.d.ts +6 -6
  858. package/js/src/pro/lighter.js +8 -2
  859. package/js/src/pro/luno.d.ts +1 -1
  860. package/js/src/pro/luno.js +7 -1
  861. package/js/src/pro/mexc.d.ts +9 -9
  862. package/js/src/pro/mexc.js +14 -8
  863. package/js/src/pro/modetrade.d.ts +2 -2
  864. package/js/src/pro/modetrade.js +7 -1
  865. package/js/src/pro/myokx.js +6 -0
  866. package/js/src/pro/ndax.d.ts +1 -1
  867. package/js/src/pro/ndax.js +8 -2
  868. package/js/src/pro/okx.d.ts +8 -8
  869. package/js/src/pro/okx.js +10 -4
  870. package/js/src/pro/okxus.js +6 -0
  871. package/js/src/pro/onetrading.d.ts +1 -1
  872. package/js/src/pro/onetrading.js +7 -1
  873. package/js/src/pro/p2b.d.ts +1 -1
  874. package/js/src/pro/p2b.js +8 -2
  875. package/js/src/pro/pacifica.d.ts +2 -2
  876. package/js/src/pro/pacifica.js +8 -2
  877. package/js/src/pro/paradex.d.ts +1 -1
  878. package/js/src/pro/paradex.js +7 -1
  879. package/js/src/pro/phemex.d.ts +1 -1
  880. package/js/src/pro/phemex.js +7 -1
  881. package/js/src/pro/poloniex.d.ts +1 -1
  882. package/js/src/pro/poloniex.js +10 -4
  883. package/js/src/pro/toobit.d.ts +2 -2
  884. package/js/src/pro/toobit.js +8 -2
  885. package/js/src/pro/upbit.d.ts +4 -4
  886. package/js/src/pro/upbit.js +7 -1
  887. package/js/src/pro/weex.d.ts +4 -4
  888. package/js/src/pro/weex.js +10 -4
  889. package/js/src/pro/whitebit.d.ts +4 -4
  890. package/js/src/pro/whitebit.js +7 -1
  891. package/js/src/pro/woo.d.ts +7 -7
  892. package/js/src/pro/woo.js +9 -3
  893. package/js/src/pro/woofipro.d.ts +7 -7
  894. package/js/src/pro/woofipro.js +7 -1
  895. package/js/src/pro/xt.js +6 -0
  896. package/js/src/protobuf/mexc/compiled.cjs +6 -0
  897. package/js/src/protobuf/mexc/compiled.d.cts +6 -0
  898. package/js/src/static_dependencies/dydx-v4-client/cosmos/base/v1beta1/coin.js +6 -0
  899. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/keys.js +6 -0
  900. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/multisig/v1beta1/multisig.js +6 -0
  901. package/js/src/static_dependencies/dydx-v4-client/cosmos/crypto/secp256k1/keys.js +6 -0
  902. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/signing/v1beta1/signing.js +6 -0
  903. package/js/src/static_dependencies/dydx-v4-client/cosmos/tx/v1beta1/tx.js +6 -0
  904. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/accountplus/tx.js +6 -0
  905. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/block_rate_limit_config.js +6 -0
  906. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/clob_pair.js +6 -0
  907. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/equity_tier_limit_config.js +6 -0
  908. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/finalize_block.js +6 -0
  909. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations.js +6 -0
  910. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/liquidations_config.js +6 -0
  911. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/matches.js +6 -0
  912. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order.js +6 -0
  913. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/order_removals.js +6 -0
  914. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/clob/tx.js +6 -0
  915. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/transfer.js +6 -0
  916. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/sending/tx.js +6 -0
  917. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/asset_position.js +6 -0
  918. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/perpetual_position.js +6 -0
  919. package/js/src/static_dependencies/dydx-v4-client/dydxprotocol/subaccounts/subaccount.js +6 -0
  920. package/js/src/static_dependencies/dydx-v4-client/google/protobuf/any.js +6 -0
  921. package/js/src/static_dependencies/dydx-v4-client/helpers.js +6 -0
  922. package/js/src/static_dependencies/dydx-v4-client/long/index.cjs +6 -0
  923. package/js/src/static_dependencies/dydx-v4-client/long/index.d.cts +6 -0
  924. package/js/src/static_dependencies/dydx-v4-client/onboarding.js +6 -0
  925. package/js/src/static_dependencies/dydx-v4-client/registry.js +6 -0
  926. package/js/src/static_dependencies/ethers/abi-coder.js +43 -46
  927. package/js/src/static_dependencies/ethers/address/address.js +6 -0
  928. package/js/src/static_dependencies/ethers/address/checks.js +6 -0
  929. package/js/src/static_dependencies/ethers/address/contract-address.js +6 -0
  930. package/js/src/static_dependencies/ethers/address/index.js +6 -0
  931. package/js/src/static_dependencies/ethers/bytes32.js +6 -0
  932. package/js/src/static_dependencies/ethers/coders/abstract-coder.js +81 -90
  933. package/js/src/static_dependencies/ethers/coders/address.js +6 -0
  934. package/js/src/static_dependencies/ethers/coders/anonymous.js +6 -0
  935. package/js/src/static_dependencies/ethers/coders/array.js +6 -0
  936. package/js/src/static_dependencies/ethers/coders/boolean.js +6 -0
  937. package/js/src/static_dependencies/ethers/coders/bytes.js +6 -0
  938. package/js/src/static_dependencies/ethers/coders/fixed-bytes.js +6 -0
  939. package/js/src/static_dependencies/ethers/coders/null.js +6 -0
  940. package/js/src/static_dependencies/ethers/coders/number.js +6 -0
  941. package/js/src/static_dependencies/ethers/coders/string.js +6 -0
  942. package/js/src/static_dependencies/ethers/coders/tuple.js +6 -0
  943. package/js/src/static_dependencies/ethers/fragments.js +96 -104
  944. package/js/src/static_dependencies/ethers/hash/index.js +6 -0
  945. package/js/src/static_dependencies/ethers/hash/solidity.js +6 -0
  946. package/js/src/static_dependencies/ethers/hash/typed-data.js +58 -65
  947. package/js/src/static_dependencies/ethers/index.js +6 -0
  948. package/js/src/static_dependencies/ethers/interface.js +187 -191
  949. package/js/src/static_dependencies/ethers/typed.js +11 -18
  950. package/js/src/static_dependencies/ethers/utils/base58.js +6 -0
  951. package/js/src/static_dependencies/ethers/utils/base64-browser.js +6 -0
  952. package/js/src/static_dependencies/ethers/utils/base64.js +6 -0
  953. package/js/src/static_dependencies/ethers/utils/data.js +6 -0
  954. package/js/src/static_dependencies/ethers/utils/errors.js +6 -0
  955. package/js/src/static_dependencies/ethers/utils/events.js +10 -17
  956. package/js/src/static_dependencies/ethers/utils/fixednumber.js +99 -99
  957. package/js/src/static_dependencies/ethers/utils/index.js +6 -0
  958. package/js/src/static_dependencies/ethers/utils/maths.js +6 -0
  959. package/js/src/static_dependencies/ethers/utils/properties.js +6 -0
  960. package/js/src/static_dependencies/ethers/utils/rlp-decode.js +6 -0
  961. package/js/src/static_dependencies/ethers/utils/rlp-encode.js +6 -0
  962. package/js/src/static_dependencies/ethers/utils/rlp.js +6 -0
  963. package/js/src/static_dependencies/ethers/utils/units.js +6 -0
  964. package/js/src/static_dependencies/ethers/utils/utf8.js +6 -0
  965. package/js/src/static_dependencies/ethers/utils/uuid.js +6 -0
  966. package/js/src/static_dependencies/fflake/browser.js +6 -0
  967. package/js/src/static_dependencies/messagepack/msgpack.js +6 -0
  968. package/js/src/static_dependencies/node-fetch/body.js +6 -0
  969. package/js/src/static_dependencies/node-fetch/errors/abort-error.js +6 -0
  970. package/js/src/static_dependencies/node-fetch/errors/base.js +6 -0
  971. package/js/src/static_dependencies/node-fetch/errors/fetch-error.js +6 -0
  972. package/js/src/static_dependencies/node-fetch/headers.js +6 -0
  973. package/js/src/static_dependencies/node-fetch/index.d.ts +1 -1
  974. package/js/src/static_dependencies/node-fetch/index.js +6 -0
  975. package/js/src/static_dependencies/node-fetch/request.js +6 -0
  976. package/js/src/static_dependencies/node-fetch/response.js +6 -0
  977. package/js/src/static_dependencies/node-fetch/utils/get-search.js +6 -0
  978. package/js/src/static_dependencies/node-fetch/utils/is-redirect.js +6 -0
  979. package/js/src/static_dependencies/node-fetch/utils/is.js +6 -0
  980. package/js/src/static_dependencies/node-fetch/utils/referrer.js +6 -0
  981. package/js/src/static_dependencies/proxies/agent-base/helpers.js +6 -0
  982. package/js/src/static_dependencies/proxies/agent-base/index.js +6 -0
  983. package/js/src/static_dependencies/proxies/http-proxy-agent/index.js +7 -1
  984. package/js/src/static_dependencies/proxies/https-proxy-agent/index.js +7 -1
  985. package/js/src/static_dependencies/proxies/https-proxy-agent/parse-proxy-response.js +6 -0
  986. package/js/src/static_dependencies/qs/formats.js +6 -0
  987. package/js/src/static_dependencies/qs/index.js +6 -0
  988. package/js/src/static_dependencies/qs/parse.js +6 -0
  989. package/js/src/static_dependencies/qs/stringify.js +6 -0
  990. package/js/src/static_dependencies/qs/utils.js +6 -0
  991. package/js/src/static_dependencies/starknet/constants.js +6 -0
  992. package/js/src/static_dependencies/starknet/index.js +6 -0
  993. package/js/src/static_dependencies/starknet/types/cairoEnum.js +6 -0
  994. package/js/src/static_dependencies/starknet/types/calldata.js +6 -0
  995. package/js/src/static_dependencies/starknet/types/index.js +6 -0
  996. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +6 -0
  997. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +6 -0
  998. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +6 -0
  999. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +6 -0
  1000. package/js/src/static_dependencies/starknet/types/lib/index.js +6 -0
  1001. package/js/src/static_dependencies/starknet/types/typedData.js +6 -0
  1002. package/js/src/static_dependencies/starknet/utils/address.js +6 -0
  1003. package/js/src/static_dependencies/starknet/utils/assert.js +6 -0
  1004. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +6 -0
  1005. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +7 -1
  1006. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +7 -1
  1007. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +6 -0
  1008. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +6 -0
  1009. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +6 -0
  1010. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +6 -0
  1011. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +6 -0
  1012. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +6 -0
  1013. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +6 -0
  1014. package/js/src/static_dependencies/starknet/utils/calldata/index.js +6 -0
  1015. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +6 -0
  1016. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +6 -0
  1017. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +6 -0
  1018. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +6 -0
  1019. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +6 -0
  1020. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +6 -0
  1021. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +6 -0
  1022. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +6 -0
  1023. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +6 -0
  1024. package/js/src/static_dependencies/starknet/utils/encode.js +6 -0
  1025. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +6 -0
  1026. package/js/src/static_dependencies/starknet/utils/hash/index.js +6 -0
  1027. package/js/src/static_dependencies/starknet/utils/merkle.js +6 -0
  1028. package/js/src/static_dependencies/starknet/utils/num.js +6 -0
  1029. package/js/src/static_dependencies/starknet/utils/selector.js +6 -0
  1030. package/js/src/static_dependencies/starknet/utils/shortString.js +6 -0
  1031. package/js/src/static_dependencies/starknet/utils/starknetId.js +6 -0
  1032. package/js/src/static_dependencies/starknet/utils/typedData.js +6 -0
  1033. package/js/src/static_dependencies/starknet/utils/uint256.js +6 -0
  1034. package/js/src/static_dependencies/starknet/utils/url.js +6 -0
  1035. package/js/src/static_dependencies/watchable/src/index.js +6 -0
  1036. package/js/src/static_dependencies/watchable/src/types.js +6 -0
  1037. package/js/src/static_dependencies/watchable/src/unpromise.js +7 -1
  1038. package/js/src/static_dependencies/zklink/zklink-sdk-web.js +6 -0
  1039. package/js/src/tokocrypto.d.ts +4 -4
  1040. package/js/src/tokocrypto.js +10 -4
  1041. package/js/src/toobit.d.ts +5 -5
  1042. package/js/src/toobit.js +9 -3
  1043. package/js/src/upbit.d.ts +5 -5
  1044. package/js/src/upbit.js +16 -7
  1045. package/js/src/weex.d.ts +5 -5
  1046. package/js/src/weex.js +15 -9
  1047. package/js/src/whitebit.d.ts +6 -6
  1048. package/js/src/whitebit.js +11 -5
  1049. package/js/src/woo.d.ts +6 -6
  1050. package/js/src/woo.js +25 -15
  1051. package/js/src/woofipro.d.ts +6 -6
  1052. package/js/src/woofipro.js +12 -8
  1053. package/js/src/xt.d.ts +36 -36
  1054. package/js/src/xt.js +10 -3
  1055. package/js/src/zaif.d.ts +4 -4
  1056. package/js/src/zaif.js +8 -2
  1057. package/js/src/zebpay.d.ts +7 -7
  1058. package/js/src/zebpay.js +12 -6
  1059. package/package.json +25 -15
  1060. package/js/src/static_dependencies/jsencrypt/JSEncrypt.d.ts +0 -116
  1061. package/js/src/static_dependencies/jsencrypt/JSEncrypt.js +0 -188
  1062. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.d.ts +0 -142
  1063. package/js/src/static_dependencies/jsencrypt/JSEncryptRSAKey.js +0 -301
  1064. package/js/src/static_dependencies/jsencrypt/index.d.ts +0 -3
  1065. package/js/src/static_dependencies/jsencrypt/index.js +0 -3
  1066. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.d.ts +0 -51
  1067. package/js/src/static_dependencies/jsencrypt/lib/asn1js/asn1.js +0 -559
  1068. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.d.ts +0 -5
  1069. package/js/src/static_dependencies/jsencrypt/lib/asn1js/base64.js +0 -88
  1070. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.d.ts +0 -3
  1071. package/js/src/static_dependencies/jsencrypt/lib/asn1js/hex.js +0 -64
  1072. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.d.ts +0 -9
  1073. package/js/src/static_dependencies/jsencrypt/lib/asn1js/int10.js +0 -85
  1074. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.d.ts +0 -9778
  1075. package/js/src/static_dependencies/jsencrypt/lib/asn1js/oids.js +0 -1962
  1076. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.d.ts +0 -3
  1077. package/js/src/static_dependencies/jsencrypt/lib/jsbn/base64.js +0 -19
  1078. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.d.ts +0 -101
  1079. package/js/src/static_dependencies/jsencrypt/lib/jsbn/jsbn.js +0 -1751
  1080. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.d.ts +0 -10
  1081. package/js/src/static_dependencies/jsencrypt/lib/jsbn/prng4.js +0 -44
  1082. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.d.ts +0 -3
  1083. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rng.js +0 -74
  1084. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.d.ts +0 -23
  1085. package/js/src/static_dependencies/jsencrypt/lib/jsbn/rsa.js +0 -371
  1086. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.d.ts +0 -7
  1087. package/js/src/static_dependencies/jsencrypt/lib/jsbn/util.js +0 -58
  1088. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.d.ts +0 -24
  1089. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/asn1-1.0.js +0 -1621
  1090. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.d.ts +0 -5
  1091. package/js/src/static_dependencies/jsencrypt/lib/jsrsasign/yahoo.js +0 -69
@@ -1,1621 +0,0 @@
1
- // @ts-nocheck
2
- /* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license
3
- */
4
- /*
5
- * asn1.js - ASN.1 DER encoder classes
6
- *
7
- * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)
8
- *
9
- * This software is licensed under the terms of the MIT License.
10
- * https://kjur.github.io/jsrsasign/license
11
- *
12
- * The above copyright and license notice shall be
13
- * included in all copies or substantial portions of the Software.
14
- */
15
- import { BigInteger } from "../jsbn/jsbn.js";
16
- import { YAHOO } from "./yahoo.js";
17
- /**
18
- * @fileOverview
19
- * @name asn1-1.0.js
20
- * @author Kenji Urushima kenji.urushima@gmail.com
21
- * @version asn1 1.0.13 (2017-Jun-02)
22
- * @since jsrsasign 2.1
23
- * @license <a href="https://kjur.github.io/jsrsasign/license/">MIT License</a>
24
- */
25
- /**
26
- * kjur's class library name space
27
- * <p>
28
- * This name space provides following name spaces:
29
- * <ul>
30
- * <li>{@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder</li>
31
- * <li>{@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL</li>
32
- * <li>{@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature
33
- * class and utilities</li>
34
- * </ul>
35
- * </p>
36
- * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.
37
- * @name KJUR
38
- * @namespace kjur's class library name space
39
- */
40
- // interface kjur_interface {
41
- // asn1: {
42
- // ASN1Object: any;
43
- // ASN1Util: any;
44
- // DERAbstractString: any;
45
- // DERAbstractStructured: any;
46
- // DERAbstractTime: any;
47
- // DERBitString: any;
48
- // DERBoolean: any;
49
- // DEREnumerated: any;
50
- // DERGeneralizedTime: any;
51
- // DERIA5String: any;
52
- // DERInteger: any;
53
- // DERNull: any;
54
- // DERNumericString: any;
55
- // DERObjectIdentifier: any;
56
- // DEROctetString: any;
57
- // DERPrintableString: any;
58
- // DERSequence: any;
59
- // DERSet: any;
60
- // DERTaggedObject: any;
61
- // DERTeletexString: any;
62
- // DERUTCTime: any;
63
- // DERUTF8String: any;
64
- // }
65
- // };
66
- export var KJUR = {};
67
- /**
68
- * kjur's ASN.1 class library name space
69
- * <p>
70
- * This is ITU-T X.690 ASN.1 DER encoder class library and
71
- * class structure and methods is very similar to
72
- * org.bouncycastle.asn1 package of
73
- * well known BouncyCaslte Cryptography Library.
74
- * <h4>PROVIDING ASN.1 PRIMITIVES</h4>
75
- * Here are ASN.1 DER primitive classes.
76
- * <ul>
77
- * <li>0x01 {@link KJUR.asn1.DERBoolean}</li>
78
- * <li>0x02 {@link KJUR.asn1.DERInteger}</li>
79
- * <li>0x03 {@link KJUR.asn1.DERBitString}</li>
80
- * <li>0x04 {@link KJUR.asn1.DEROctetString}</li>
81
- * <li>0x05 {@link KJUR.asn1.DERNull}</li>
82
- * <li>0x06 {@link KJUR.asn1.DERObjectIdentifier}</li>
83
- * <li>0x0a {@link KJUR.asn1.DEREnumerated}</li>
84
- * <li>0x0c {@link KJUR.asn1.DERUTF8String}</li>
85
- * <li>0x12 {@link KJUR.asn1.DERNumericString}</li>
86
- * <li>0x13 {@link KJUR.asn1.DERPrintableString}</li>
87
- * <li>0x14 {@link KJUR.asn1.DERTeletexString}</li>
88
- * <li>0x16 {@link KJUR.asn1.DERIA5String}</li>
89
- * <li>0x17 {@link KJUR.asn1.DERUTCTime}</li>
90
- * <li>0x18 {@link KJUR.asn1.DERGeneralizedTime}</li>
91
- * <li>0x30 {@link KJUR.asn1.DERSequence}</li>
92
- * <li>0x31 {@link KJUR.asn1.DERSet}</li>
93
- * </ul>
94
- * <h4>OTHER ASN.1 CLASSES</h4>
95
- * <ul>
96
- * <li>{@link KJUR.asn1.ASN1Object}</li>
97
- * <li>{@link KJUR.asn1.DERAbstractString}</li>
98
- * <li>{@link KJUR.asn1.DERAbstractTime}</li>
99
- * <li>{@link KJUR.asn1.DERAbstractStructured}</li>
100
- * <li>{@link KJUR.asn1.DERTaggedObject}</li>
101
- * </ul>
102
- * <h4>SUB NAME SPACES</h4>
103
- * <ul>
104
- * <li>{@link KJUR.asn1.cades} - CAdES long term signature format</li>
105
- * <li>{@link KJUR.asn1.cms} - Cryptographic Message Syntax</li>
106
- * <li>{@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)</li>
107
- * <li>{@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format</li>
108
- * <li>{@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL</li>
109
- * </ul>
110
- * </p>
111
- * NOTE: Please ignore method summary and document of this namespace.
112
- * This caused by a bug of jsdoc2.
113
- * @name KJUR.asn1
114
- * @namespace
115
- */
116
- if (typeof KJUR.asn1 == "undefined" || !KJUR.asn1)
117
- KJUR.asn1 = {};
118
- /**
119
- * ASN1 utilities class
120
- * @type Class
121
- * @name KJUR.asn1.ASN1Util
122
- * @class ASN1 utilities class
123
- * @since asn1 1.0.2
124
- */
125
- KJUR.asn1.ASN1Util = new function () {
126
- this.integerToByteHex = function (i) {
127
- var h = i.toString(16);
128
- if ((h.length % 2) == 1)
129
- h = '0' + h;
130
- return h;
131
- };
132
- this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {
133
- var h = bigIntegerValue.toString(16);
134
- if (h.substr(0, 1) != '-') {
135
- if (h.length % 2 == 1) {
136
- h = '0' + h;
137
- }
138
- else {
139
- if (!h.match(/^[0-7]/)) {
140
- h = '00' + h;
141
- }
142
- }
143
- }
144
- else {
145
- var hPos = h.substr(1);
146
- var xorLen = hPos.length;
147
- if (xorLen % 2 == 1) {
148
- xorLen += 1;
149
- }
150
- else {
151
- if (!h.match(/^[0-7]/)) {
152
- xorLen += 2;
153
- }
154
- }
155
- var hMask = '';
156
- for (var i = 0; i < xorLen; i++) {
157
- hMask += 'f';
158
- }
159
- var biMask = new BigInteger(hMask, 16);
160
- var biNeg = biMask.xor(bigIntegerValue).add(BigInteger.ONE);
161
- h = biNeg.toString(16).replace(/^-/, '');
162
- }
163
- return h;
164
- };
165
- /**
166
- * get PEM string from hexadecimal data and header string
167
- * @name getPEMStringFromHex
168
- * @memberOf KJUR.asn1.ASN1Util
169
- * @function
170
- * @param {String} dataHex hexadecimal string of PEM body
171
- * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY')
172
- * @return {String} PEM formatted string of input data
173
- * @description
174
- * This method converts a hexadecimal string to a PEM string with
175
- * a specified header. Its line break will be CRLF("\r\n").
176
- * @example
177
- * var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY');
178
- * // value of pem will be:
179
- * -----BEGIN PRIVATE KEY-----
180
- * YWFh
181
- * -----END PRIVATE KEY-----
182
- */
183
- this.getPEMStringFromHex = function (dataHex, pemHeader) {
184
- return hextopem(dataHex, pemHeader);
185
- };
186
- /**
187
- * generate ASN1Object specifed by JSON parameters
188
- * @name newObject
189
- * @memberOf KJUR.asn1.ASN1Util
190
- * @function
191
- * @param {Array} param JSON parameter to generate ASN1Object
192
- * @return {KJUR.asn1.ASN1Object} generated object
193
- * @since asn1 1.0.3
194
- * @description
195
- * generate any ASN1Object specified by JSON param
196
- * including ASN.1 primitive or structured.
197
- * Generally 'param' can be described as follows:
198
- * <blockquote>
199
- * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER}
200
- * </blockquote>
201
- * 'TYPE-OF-ASN1OBJ' can be one of following symbols:
202
- * <ul>
203
- * <li>'bool' - DERBoolean</li>
204
- * <li>'int' - DERInteger</li>
205
- * <li>'bitstr' - DERBitString</li>
206
- * <li>'octstr' - DEROctetString</li>
207
- * <li>'null' - DERNull</li>
208
- * <li>'oid' - DERObjectIdentifier</li>
209
- * <li>'enum' - DEREnumerated</li>
210
- * <li>'utf8str' - DERUTF8String</li>
211
- * <li>'numstr' - DERNumericString</li>
212
- * <li>'prnstr' - DERPrintableString</li>
213
- * <li>'telstr' - DERTeletexString</li>
214
- * <li>'ia5str' - DERIA5String</li>
215
- * <li>'utctime' - DERUTCTime</li>
216
- * <li>'gentime' - DERGeneralizedTime</li>
217
- * <li>'seq' - DERSequence</li>
218
- * <li>'set' - DERSet</li>
219
- * <li>'tag' - DERTaggedObject</li>
220
- * </ul>
221
- * @example
222
- * newObject({'prnstr': 'aaa'});
223
- * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]})
224
- * // ASN.1 Tagged Object
225
- * newObject({'tag': {'tag': 'a1',
226
- * 'explicit': true,
227
- * 'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}});
228
- * // more simple representation of ASN.1 Tagged Object
229
- * newObject({'tag': ['a1',
230
- * true,
231
- * {'seq': [
232
- * {'int': 3},
233
- * {'prnstr': 'aaa'}]}
234
- * ]});
235
- */
236
- this.newObject = function (param) {
237
- var _KJUR = KJUR, _KJUR_asn1 = _KJUR.asn1, _DERBoolean = _KJUR_asn1.DERBoolean, _DERInteger = _KJUR_asn1.DERInteger, _DERBitString = _KJUR_asn1.DERBitString, _DEROctetString = _KJUR_asn1.DEROctetString, _DERNull = _KJUR_asn1.DERNull, _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, _DEREnumerated = _KJUR_asn1.DEREnumerated, _DERUTF8String = _KJUR_asn1.DERUTF8String, _DERNumericString = _KJUR_asn1.DERNumericString, _DERPrintableString = _KJUR_asn1.DERPrintableString, _DERTeletexString = _KJUR_asn1.DERTeletexString, _DERIA5String = _KJUR_asn1.DERIA5String, _DERUTCTime = _KJUR_asn1.DERUTCTime, _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, _DERSequence = _KJUR_asn1.DERSequence, _DERSet = _KJUR_asn1.DERSet, _DERTaggedObject = _KJUR_asn1.DERTaggedObject, _newObject = _KJUR_asn1.ASN1Util.newObject;
238
- var keys = Object.keys(param);
239
- if (keys.length != 1)
240
- throw "key of param shall be only one.";
241
- var key = keys[0];
242
- if (":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":" + key + ":") == -1)
243
- throw "undefined key: " + key;
244
- if (key == "bool")
245
- return new _DERBoolean(param[key]);
246
- if (key == "int")
247
- return new _DERInteger(param[key]);
248
- if (key == "bitstr")
249
- return new _DERBitString(param[key]);
250
- if (key == "octstr")
251
- return new _DEROctetString(param[key]);
252
- if (key == "null")
253
- return new _DERNull(param[key]);
254
- if (key == "oid")
255
- return new _DERObjectIdentifier(param[key]);
256
- if (key == "enum")
257
- return new _DEREnumerated(param[key]);
258
- if (key == "utf8str")
259
- return new _DERUTF8String(param[key]);
260
- if (key == "numstr")
261
- return new _DERNumericString(param[key]);
262
- if (key == "prnstr")
263
- return new _DERPrintableString(param[key]);
264
- if (key == "telstr")
265
- return new _DERTeletexString(param[key]);
266
- if (key == "ia5str")
267
- return new _DERIA5String(param[key]);
268
- if (key == "utctime")
269
- return new _DERUTCTime(param[key]);
270
- if (key == "gentime")
271
- return new _DERGeneralizedTime(param[key]);
272
- if (key == "seq") {
273
- var paramList = param[key];
274
- var a = [];
275
- for (var i = 0; i < paramList.length; i++) {
276
- var asn1Obj = _newObject(paramList[i]);
277
- a.push(asn1Obj);
278
- }
279
- return new _DERSequence({ 'array': a });
280
- }
281
- if (key == "set") {
282
- var paramList = param[key];
283
- var a = [];
284
- for (var i = 0; i < paramList.length; i++) {
285
- var asn1Obj = _newObject(paramList[i]);
286
- a.push(asn1Obj);
287
- }
288
- return new _DERSet({ 'array': a });
289
- }
290
- if (key == "tag") {
291
- var tagParam = param[key];
292
- if (Object.prototype.toString.call(tagParam) === '[object Array]' &&
293
- tagParam.length == 3) {
294
- var obj = _newObject(tagParam[2]);
295
- return new _DERTaggedObject({ tag: tagParam[0],
296
- explicit: tagParam[1],
297
- obj: obj });
298
- }
299
- else {
300
- var newParam = {};
301
- if (tagParam.explicit !== undefined)
302
- newParam.explicit = tagParam.explicit;
303
- if (tagParam.tag !== undefined)
304
- newParam.tag = tagParam.tag;
305
- if (tagParam.obj === undefined)
306
- throw "obj shall be specified for 'tag'.";
307
- newParam.obj = _newObject(tagParam.obj);
308
- return new _DERTaggedObject(newParam);
309
- }
310
- }
311
- };
312
- /**
313
- * get encoded hexadecimal string of ASN1Object specifed by JSON parameters
314
- * @name jsonToASN1HEX
315
- * @memberOf KJUR.asn1.ASN1Util
316
- * @function
317
- * @param {Array} param JSON parameter to generate ASN1Object
318
- * @return hexadecimal string of ASN1Object
319
- * @since asn1 1.0.4
320
- * @description
321
- * As for ASN.1 object representation of JSON object,
322
- * please see {@link newObject}.
323
- * @example
324
- * jsonToASN1HEX({'prnstr': 'aaa'});
325
- */
326
- this.jsonToASN1HEX = function (param) {
327
- var asn1Obj = this.newObject(param);
328
- return asn1Obj.getEncodedHex();
329
- };
330
- };
331
- /**
332
- * get dot noted oid number string from hexadecimal value of OID
333
- * @name oidHexToInt
334
- * @memberOf KJUR.asn1.ASN1Util
335
- * @function
336
- * @param {String} hex hexadecimal value of object identifier
337
- * @return {String} dot noted string of object identifier
338
- * @since jsrsasign 4.8.3 asn1 1.0.7
339
- * @description
340
- * This static method converts from hexadecimal string representation of
341
- * ASN.1 value of object identifier to oid number string.
342
- * @example
343
- * KJUR.asn1.ASN1Util.oidHexToInt('550406') &rarr; "2.5.4.6"
344
- */
345
- KJUR.asn1.ASN1Util.oidHexToInt = function (hex) {
346
- var s = "";
347
- var i01 = parseInt(hex.substr(0, 2), 16);
348
- var i0 = Math.floor(i01 / 40);
349
- var i1 = i01 % 40;
350
- var s = i0 + "." + i1;
351
- var binbuf = "";
352
- for (var i = 2; i < hex.length; i += 2) {
353
- var value = parseInt(hex.substr(i, 2), 16);
354
- var bin = ("00000000" + value.toString(2)).slice(-8);
355
- binbuf = binbuf + bin.substr(1, 7);
356
- if (bin.substr(0, 1) == "0") {
357
- var bi = new BigInteger(binbuf, 2);
358
- s = s + "." + bi.toString(10);
359
- binbuf = "";
360
- }
361
- }
362
- ;
363
- return s;
364
- };
365
- /**
366
- * get hexadecimal value of object identifier from dot noted oid value
367
- * @name oidIntToHex
368
- * @memberOf KJUR.asn1.ASN1Util
369
- * @function
370
- * @param {String} oidString dot noted string of object identifier
371
- * @return {String} hexadecimal value of object identifier
372
- * @since jsrsasign 4.8.3 asn1 1.0.7
373
- * @description
374
- * This static method converts from object identifier value string.
375
- * to hexadecimal string representation of it.
376
- * @example
377
- * KJUR.asn1.ASN1Util.oidIntToHex("2.5.4.6") &rarr; "550406"
378
- */
379
- KJUR.asn1.ASN1Util.oidIntToHex = function (oidString) {
380
- var itox = function (i) {
381
- var h = i.toString(16);
382
- if (h.length == 1)
383
- h = '0' + h;
384
- return h;
385
- };
386
- var roidtox = function (roid) {
387
- var h = '';
388
- var bi = new BigInteger(roid, 10);
389
- var b = bi.toString(2);
390
- var padLen = 7 - b.length % 7;
391
- if (padLen == 7)
392
- padLen = 0;
393
- var bPad = '';
394
- for (var i = 0; i < padLen; i++)
395
- bPad += '0';
396
- b = bPad + b;
397
- for (var i = 0; i < b.length - 1; i += 7) {
398
- var b8 = b.substr(i, 7);
399
- if (i != b.length - 7)
400
- b8 = '1' + b8;
401
- h += itox(parseInt(b8, 2));
402
- }
403
- return h;
404
- };
405
- if (!oidString.match(/^[0-9.]+$/)) {
406
- throw "malformed oid string: " + oidString;
407
- }
408
- var h = '';
409
- var a = oidString.split('.');
410
- var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);
411
- h += itox(i0);
412
- a.splice(0, 2);
413
- for (var i = 0; i < a.length; i++) {
414
- h += roidtox(a[i]);
415
- }
416
- return h;
417
- };
418
- // ********************************************************************
419
- // Abstract ASN.1 Classes
420
- // ********************************************************************
421
- // ********************************************************************
422
- /**
423
- * base class for ASN.1 DER encoder object
424
- * @name KJUR.asn1.ASN1Object
425
- * @class base class for ASN.1 DER encoder object
426
- * @property {Boolean} isModified flag whether internal data was changed
427
- * @property {String} hTLV hexadecimal string of ASN.1 TLV
428
- * @property {String} hT hexadecimal string of ASN.1 TLV tag(T)
429
- * @property {String} hL hexadecimal string of ASN.1 TLV length(L)
430
- * @property {String} hV hexadecimal string of ASN.1 TLV value(V)
431
- * @description
432
- */
433
- KJUR.asn1.ASN1Object = function () {
434
- var isModified = true;
435
- var hTLV = null;
436
- var hT = '00';
437
- var hL = '00';
438
- var hV = '';
439
- /**
440
- * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V)
441
- * @name getLengthHexFromValue
442
- * @memberOf KJUR.asn1.ASN1Object#
443
- * @function
444
- * @return {String} hexadecimal string of ASN.1 TLV length(L)
445
- */
446
- this.getLengthHexFromValue = function () {
447
- if (typeof this.hV == "undefined" || this.hV == null) {
448
- throw "this.hV is null or undefined.";
449
- }
450
- if (this.hV.length % 2 == 1) {
451
- throw "value hex must be even length: n=" + hV.length + ",v=" + this.hV;
452
- }
453
- var n = this.hV.length / 2;
454
- var hN = n.toString(16);
455
- if (hN.length % 2 == 1) {
456
- hN = "0" + hN;
457
- }
458
- if (n < 128) {
459
- return hN;
460
- }
461
- else {
462
- var hNlen = hN.length / 2;
463
- if (hNlen > 15) {
464
- throw "ASN.1 length too long to represent by 8x: n = " + n.toString(16);
465
- }
466
- var head = 128 + hNlen;
467
- return head.toString(16) + hN;
468
- }
469
- };
470
- /**
471
- * get hexadecimal string of ASN.1 TLV bytes
472
- * @name getEncodedHex
473
- * @memberOf KJUR.asn1.ASN1Object#
474
- * @function
475
- * @return {String} hexadecimal string of ASN.1 TLV
476
- */
477
- this.getEncodedHex = function () {
478
- if (this.hTLV == null || this.isModified) {
479
- this.hV = this.getFreshValueHex();
480
- this.hL = this.getLengthHexFromValue();
481
- this.hTLV = this.hT + this.hL + this.hV;
482
- this.isModified = false;
483
- //alert("first time: " + this.hTLV);
484
- }
485
- return this.hTLV;
486
- };
487
- /**
488
- * get hexadecimal string of ASN.1 TLV value(V) bytes
489
- * @name getValueHex
490
- * @memberOf KJUR.asn1.ASN1Object#
491
- * @function
492
- * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes
493
- */
494
- this.getValueHex = function () {
495
- this.getEncodedHex();
496
- return this.hV;
497
- };
498
- this.getFreshValueHex = function () {
499
- return '';
500
- };
501
- };
502
- // == BEGIN DERAbstractString ================================================
503
- /**
504
- * base class for ASN.1 DER string classes
505
- * @name KJUR.asn1.DERAbstractString
506
- * @class base class for ASN.1 DER string classes
507
- * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})
508
- * @property {String} s internal string of value
509
- * @extends KJUR.asn1.ASN1Object
510
- * @description
511
- * <br/>
512
- * As for argument 'params' for constructor, you can specify one of
513
- * following properties:
514
- * <ul>
515
- * <li>str - specify initial ASN.1 value(V) by a string</li>
516
- * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>
517
- * </ul>
518
- * NOTE: 'params' can be omitted.
519
- */
520
- KJUR.asn1.DERAbstractString = function (params) {
521
- KJUR.asn1.DERAbstractString.superclass.constructor.call(this);
522
- var s = null;
523
- var hV = null;
524
- /**
525
- * get string value of this string object
526
- * @name getString
527
- * @memberOf KJUR.asn1.DERAbstractString#
528
- * @function
529
- * @return {String} string value of this string object
530
- */
531
- this.getString = function () {
532
- return this.s;
533
- };
534
- /**
535
- * set value by a string
536
- * @name setString
537
- * @memberOf KJUR.asn1.DERAbstractString#
538
- * @function
539
- * @param {String} newS value by a string to set
540
- */
541
- this.setString = function (newS) {
542
- this.hTLV = null;
543
- this.isModified = true;
544
- this.s = newS;
545
- this.hV = stohex(this.s);
546
- };
547
- /**
548
- * set value by a hexadecimal string
549
- * @name setStringHex
550
- * @memberOf KJUR.asn1.DERAbstractString#
551
- * @function
552
- * @param {String} newHexString value by a hexadecimal string to set
553
- */
554
- this.setStringHex = function (newHexString) {
555
- this.hTLV = null;
556
- this.isModified = true;
557
- this.s = null;
558
- this.hV = newHexString;
559
- };
560
- this.getFreshValueHex = function () {
561
- return this.hV;
562
- };
563
- if (typeof params != "undefined") {
564
- if (typeof params == "string") {
565
- this.setString(params);
566
- }
567
- else if (typeof params['str'] != "undefined") {
568
- this.setString(params['str']);
569
- }
570
- else if (typeof params['hex'] != "undefined") {
571
- this.setStringHex(params['hex']);
572
- }
573
- }
574
- };
575
- YAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object);
576
- // == END DERAbstractString ================================================
577
- // == BEGIN DERAbstractTime ==================================================
578
- /**
579
- * base class for ASN.1 DER Generalized/UTCTime class
580
- * @name KJUR.asn1.DERAbstractTime
581
- * @class base class for ASN.1 DER Generalized/UTCTime class
582
- * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})
583
- * @extends KJUR.asn1.ASN1Object
584
- * @description
585
- * @see KJUR.asn1.ASN1Object - superclass
586
- */
587
- KJUR.asn1.DERAbstractTime = function (params) {
588
- KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);
589
- var s = null;
590
- var date = null;
591
- // --- PRIVATE METHODS --------------------
592
- this.localDateToUTC = function (d) {
593
- utc = d.getTime() + (d.getTimezoneOffset() * 60000);
594
- var utcDate = new Date(utc);
595
- return utcDate;
596
- };
597
- /*
598
- * format date string by Data object
599
- * @name formatDate
600
- * @memberOf KJUR.asn1.AbstractTime;
601
- * @param {Date} dateObject
602
- * @param {string} type 'utc' or 'gen'
603
- * @param {boolean} withMillis flag for with millisections or not
604
- * @description
605
- * 'withMillis' flag is supported from asn1 1.0.6.
606
- */
607
- this.formatDate = function (dateObject, type, withMillis) {
608
- var pad = this.zeroPadding;
609
- var d = this.localDateToUTC(dateObject);
610
- var year = String(d.getFullYear());
611
- if (type == 'utc')
612
- year = year.substr(2, 2);
613
- var month = pad(String(d.getMonth() + 1), 2);
614
- var day = pad(String(d.getDate()), 2);
615
- var hour = pad(String(d.getHours()), 2);
616
- var min = pad(String(d.getMinutes()), 2);
617
- var sec = pad(String(d.getSeconds()), 2);
618
- var s = year + month + day + hour + min + sec;
619
- if (withMillis === true) {
620
- var millis = d.getMilliseconds();
621
- if (millis != 0) {
622
- var sMillis = pad(String(millis), 3);
623
- sMillis = sMillis.replace(/[0]+$/, "");
624
- s = s + "." + sMillis;
625
- }
626
- }
627
- return s + "Z";
628
- };
629
- this.zeroPadding = function (s, len) {
630
- if (s.length >= len)
631
- return s;
632
- return new Array(len - s.length + 1).join('0') + s;
633
- };
634
- // --- PUBLIC METHODS --------------------
635
- /**
636
- * get string value of this string object
637
- * @name getString
638
- * @memberOf KJUR.asn1.DERAbstractTime#
639
- * @function
640
- * @return {String} string value of this time object
641
- */
642
- this.getString = function () {
643
- return this.s;
644
- };
645
- /**
646
- * set value by a string
647
- * @name setString
648
- * @memberOf KJUR.asn1.DERAbstractTime#
649
- * @function
650
- * @param {String} newS value by a string to set such like "130430235959Z"
651
- */
652
- this.setString = function (newS) {
653
- this.hTLV = null;
654
- this.isModified = true;
655
- this.s = newS;
656
- this.hV = stohex(newS);
657
- };
658
- /**
659
- * set value by a Date object
660
- * @name setByDateValue
661
- * @memberOf KJUR.asn1.DERAbstractTime#
662
- * @function
663
- * @param {Integer} year year of date (ex. 2013)
664
- * @param {Integer} month month of date between 1 and 12 (ex. 12)
665
- * @param {Integer} day day of month
666
- * @param {Integer} hour hours of date
667
- * @param {Integer} min minutes of date
668
- * @param {Integer} sec seconds of date
669
- */
670
- this.setByDateValue = function (year, month, day, hour, min, sec) {
671
- var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0));
672
- this.setByDate(dateObject);
673
- };
674
- this.getFreshValueHex = function () {
675
- return this.hV;
676
- };
677
- };
678
- YAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object);
679
- // == END DERAbstractTime ==================================================
680
- // == BEGIN DERAbstractStructured ============================================
681
- /**
682
- * base class for ASN.1 DER structured class
683
- * @name KJUR.asn1.DERAbstractStructured
684
- * @class base class for ASN.1 DER structured class
685
- * @property {Array} asn1Array internal array of ASN1Object
686
- * @extends KJUR.asn1.ASN1Object
687
- * @description
688
- * @see KJUR.asn1.ASN1Object - superclass
689
- */
690
- KJUR.asn1.DERAbstractStructured = function (params) {
691
- KJUR.asn1.DERAbstractString.superclass.constructor.call(this);
692
- var asn1Array = null;
693
- /**
694
- * set value by array of ASN1Object
695
- * @name setByASN1ObjectArray
696
- * @memberOf KJUR.asn1.DERAbstractStructured#
697
- * @function
698
- * @param {array} asn1ObjectArray array of ASN1Object to set
699
- */
700
- this.setByASN1ObjectArray = function (asn1ObjectArray) {
701
- this.hTLV = null;
702
- this.isModified = true;
703
- this.asn1Array = asn1ObjectArray;
704
- };
705
- /**
706
- * append an ASN1Object to internal array
707
- * @name appendASN1Object
708
- * @memberOf KJUR.asn1.DERAbstractStructured#
709
- * @function
710
- * @param {ASN1Object} asn1Object to add
711
- */
712
- this.appendASN1Object = function (asn1Object) {
713
- this.hTLV = null;
714
- this.isModified = true;
715
- this.asn1Array.push(asn1Object);
716
- };
717
- this.asn1Array = new Array();
718
- if (typeof params != "undefined") {
719
- if (typeof params['array'] != "undefined") {
720
- this.asn1Array = params['array'];
721
- }
722
- }
723
- };
724
- YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object);
725
- // ********************************************************************
726
- // ASN.1 Object Classes
727
- // ********************************************************************
728
- // ********************************************************************
729
- /**
730
- * class for ASN.1 DER Boolean
731
- * @name KJUR.asn1.DERBoolean
732
- * @class class for ASN.1 DER Boolean
733
- * @extends KJUR.asn1.ASN1Object
734
- * @description
735
- * @see KJUR.asn1.ASN1Object - superclass
736
- */
737
- KJUR.asn1.DERBoolean = function () {
738
- KJUR.asn1.DERBoolean.superclass.constructor.call(this);
739
- this.hT = "01";
740
- this.hTLV = "0101ff";
741
- };
742
- YAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object);
743
- // ********************************************************************
744
- /**
745
- * class for ASN.1 DER Integer
746
- * @name KJUR.asn1.DERInteger
747
- * @class class for ASN.1 DER Integer
748
- * @extends KJUR.asn1.ASN1Object
749
- * @description
750
- * <br/>
751
- * As for argument 'params' for constructor, you can specify one of
752
- * following properties:
753
- * <ul>
754
- * <li>int - specify initial ASN.1 value(V) by integer value</li>
755
- * <li>bigint - specify initial ASN.1 value(V) by BigInteger object</li>
756
- * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>
757
- * </ul>
758
- * NOTE: 'params' can be omitted.
759
- */
760
- KJUR.asn1.DERInteger = function (params) {
761
- KJUR.asn1.DERInteger.superclass.constructor.call(this);
762
- this.hT = "02";
763
- /**
764
- * set value by Tom Wu's BigInteger object
765
- * @name setByBigInteger
766
- * @memberOf KJUR.asn1.DERInteger#
767
- * @function
768
- * @param {BigInteger} bigIntegerValue to set
769
- */
770
- this.setByBigInteger = function (bigIntegerValue) {
771
- this.hTLV = null;
772
- this.isModified = true;
773
- this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);
774
- };
775
- /**
776
- * set value by integer value
777
- * @name setByInteger
778
- * @memberOf KJUR.asn1.DERInteger
779
- * @function
780
- * @param {Integer} integer value to set
781
- */
782
- this.setByInteger = function (intValue) {
783
- var bi = new BigInteger(String(intValue), 10);
784
- this.setByBigInteger(bi);
785
- };
786
- /**
787
- * set value by integer value
788
- * @name setValueHex
789
- * @memberOf KJUR.asn1.DERInteger#
790
- * @function
791
- * @param {String} hexadecimal string of integer value
792
- * @description
793
- * <br/>
794
- * NOTE: Value shall be represented by minimum octet length of
795
- * two's complement representation.
796
- * @example
797
- * new KJUR.asn1.DERInteger(123);
798
- * new KJUR.asn1.DERInteger({'int': 123});
799
- * new KJUR.asn1.DERInteger({'hex': '1fad'});
800
- */
801
- this.setValueHex = function (newHexString) {
802
- this.hV = newHexString;
803
- };
804
- this.getFreshValueHex = function () {
805
- return this.hV;
806
- };
807
- if (typeof params != "undefined") {
808
- if (typeof params['bigint'] != "undefined") {
809
- this.setByBigInteger(params['bigint']);
810
- }
811
- else if (typeof params['int'] != "undefined") {
812
- this.setByInteger(params['int']);
813
- }
814
- else if (typeof params == "number") {
815
- this.setByInteger(params);
816
- }
817
- else if (typeof params['hex'] != "undefined") {
818
- this.setValueHex(params['hex']);
819
- }
820
- }
821
- };
822
- YAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object);
823
- // ********************************************************************
824
- /**
825
- * class for ASN.1 DER encoded BitString primitive
826
- * @name KJUR.asn1.DERBitString
827
- * @class class for ASN.1 DER encoded BitString primitive
828
- * @extends KJUR.asn1.ASN1Object
829
- * @description
830
- * <br/>
831
- * As for argument 'params' for constructor, you can specify one of
832
- * following properties:
833
- * <ul>
834
- * <li>bin - specify binary string (ex. '10111')</li>
835
- * <li>array - specify array of boolean (ex. [true,false,true,true])</li>
836
- * <li>hex - specify hexadecimal string of ASN.1 value(V) including unused bits</li>
837
- * <li>obj - specify {@link KJUR.asn1.ASN1Util.newObject}
838
- * argument for "BitString encapsulates" structure.</li>
839
- * </ul>
840
- * NOTE1: 'params' can be omitted.<br/>
841
- * NOTE2: 'obj' parameter have been supported since
842
- * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).<br/>
843
- * @example
844
- * // default constructor
845
- * o = new KJUR.asn1.DERBitString();
846
- * // initialize with binary string
847
- * o = new KJUR.asn1.DERBitString({bin: "1011"});
848
- * // initialize with boolean array
849
- * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]});
850
- * // initialize with hexadecimal string (04 is unused bits)
851
- * o = new KJUR.asn1.DEROctetString({hex: "04bac0"});
852
- * // initialize with ASN1Util.newObject argument for encapsulated
853
- * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});
854
- * // above generates a ASN.1 data like this:
855
- * // BIT STRING, encapsulates {
856
- * // SEQUENCE {
857
- * // INTEGER 3
858
- * // PrintableString 'aaa'
859
- * // }
860
- * // }
861
- */
862
- KJUR.asn1.DERBitString = function (params) {
863
- if (params !== undefined && typeof params.obj !== "undefined") {
864
- var o = KJUR.asn1.ASN1Util.newObject(params.obj);
865
- params.hex = "00" + o.getEncodedHex();
866
- }
867
- KJUR.asn1.DERBitString.superclass.constructor.call(this);
868
- this.hT = "03";
869
- /**
870
- * set ASN.1 value(V) by a hexadecimal string including unused bits
871
- * @name setHexValueIncludingUnusedBits
872
- * @memberOf KJUR.asn1.DERBitString#
873
- * @function
874
- * @param {String} newHexStringIncludingUnusedBits
875
- */
876
- this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) {
877
- this.hTLV = null;
878
- this.isModified = true;
879
- this.hV = newHexStringIncludingUnusedBits;
880
- };
881
- /**
882
- * set ASN.1 value(V) by unused bit and hexadecimal string of value
883
- * @name setUnusedBitsAndHexValue
884
- * @memberOf KJUR.asn1.DERBitString#
885
- * @function
886
- * @param {Integer} unusedBits
887
- * @param {String} hValue
888
- */
889
- this.setUnusedBitsAndHexValue = function (unusedBits, hValue) {
890
- if (unusedBits < 0 || 7 < unusedBits) {
891
- throw "unused bits shall be from 0 to 7: u = " + unusedBits;
892
- }
893
- var hUnusedBits = "0" + unusedBits;
894
- this.hTLV = null;
895
- this.isModified = true;
896
- this.hV = hUnusedBits + hValue;
897
- };
898
- /**
899
- * set ASN.1 DER BitString by binary string<br/>
900
- * @name setByBinaryString
901
- * @memberOf KJUR.asn1.DERBitString#
902
- * @function
903
- * @param {String} binaryString binary value string (i.e. '10111')
904
- * @description
905
- * Its unused bits will be calculated automatically by length of
906
- * 'binaryValue'. <br/>
907
- * NOTE: Trailing zeros '0' will be ignored.
908
- * @example
909
- * o = new KJUR.asn1.DERBitString();
910
- * o.setByBooleanArray("01011");
911
- */
912
- this.setByBinaryString = function (binaryString) {
913
- binaryString = binaryString.replace(/0+$/, '');
914
- var unusedBits = 8 - binaryString.length % 8;
915
- if (unusedBits == 8)
916
- unusedBits = 0;
917
- for (var i = 0; i <= unusedBits; i++) {
918
- binaryString += '0';
919
- }
920
- var h = '';
921
- for (var i = 0; i < binaryString.length - 1; i += 8) {
922
- var b = binaryString.substr(i, 8);
923
- var x = parseInt(b, 2).toString(16);
924
- if (x.length == 1)
925
- x = '0' + x;
926
- h += x;
927
- }
928
- this.hTLV = null;
929
- this.isModified = true;
930
- this.hV = '0' + unusedBits + h;
931
- };
932
- /**
933
- * set ASN.1 TLV value(V) by an array of boolean<br/>
934
- * @name setByBooleanArray
935
- * @memberOf KJUR.asn1.DERBitString#
936
- * @function
937
- * @param {array} booleanArray array of boolean (ex. [true, false, true])
938
- * @description
939
- * NOTE: Trailing falses will be ignored in the ASN.1 DER Object.
940
- * @example
941
- * o = new KJUR.asn1.DERBitString();
942
- * o.setByBooleanArray([false, true, false, true, true]);
943
- */
944
- this.setByBooleanArray = function (booleanArray) {
945
- var s = '';
946
- for (var i = 0; i < booleanArray.length; i++) {
947
- if (booleanArray[i] == true) {
948
- s += '1';
949
- }
950
- else {
951
- s += '0';
952
- }
953
- }
954
- this.setByBinaryString(s);
955
- };
956
- /**
957
- * generate an array of falses with specified length<br/>
958
- * @name newFalseArray
959
- * @memberOf KJUR.asn1.DERBitString
960
- * @function
961
- * @param {Integer} nLength length of array to generate
962
- * @return {array} array of boolean falses
963
- * @description
964
- * This static method may be useful to initialize boolean array.
965
- * @example
966
- * o = new KJUR.asn1.DERBitString();
967
- * o.newFalseArray(3) &rarr; [false, false, false]
968
- */
969
- this.newFalseArray = function (nLength) {
970
- var a = new Array(nLength);
971
- for (var i = 0; i < nLength; i++) {
972
- a[i] = false;
973
- }
974
- return a;
975
- };
976
- this.getFreshValueHex = function () {
977
- return this.hV;
978
- };
979
- if (typeof params != "undefined") {
980
- if (typeof params == "string" && params.toLowerCase().match(/^[0-9a-f]+$/)) {
981
- this.setHexValueIncludingUnusedBits(params);
982
- }
983
- else if (typeof params['hex'] != "undefined") {
984
- this.setHexValueIncludingUnusedBits(params['hex']);
985
- }
986
- else if (typeof params['bin'] != "undefined") {
987
- this.setByBinaryString(params['bin']);
988
- }
989
- else if (typeof params['array'] != "undefined") {
990
- this.setByBooleanArray(params['array']);
991
- }
992
- }
993
- };
994
- YAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object);
995
- // ********************************************************************
996
- /**
997
- * class for ASN.1 DER OctetString<br/>
998
- * @name KJUR.asn1.DEROctetString
999
- * @class class for ASN.1 DER OctetString
1000
- * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})
1001
- * @extends KJUR.asn1.DERAbstractString
1002
- * @description
1003
- * This class provides ASN.1 OctetString simple type.<br/>
1004
- * Supported "params" attributes are:
1005
- * <ul>
1006
- * <li>str - to set a string as a value</li>
1007
- * <li>hex - to set a hexadecimal string as a value</li>
1008
- * <li>obj - to set a encapsulated ASN.1 value by JSON object
1009
- * which is defined in {@link KJUR.asn1.ASN1Util.newObject}</li>
1010
- * </ul>
1011
- * NOTE: A parameter 'obj' have been supported
1012
- * for "OCTET STRING, encapsulates" structure.
1013
- * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
1014
- * @see KJUR.asn1.DERAbstractString - superclass
1015
- * @example
1016
- * // default constructor
1017
- * o = new KJUR.asn1.DEROctetString();
1018
- * // initialize with string
1019
- * o = new KJUR.asn1.DEROctetString({str: "aaa"});
1020
- * // initialize with hexadecimal string
1021
- * o = new KJUR.asn1.DEROctetString({hex: "616161"});
1022
- * // initialize with ASN1Util.newObject argument
1023
- * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});
1024
- * // above generates a ASN.1 data like this:
1025
- * // OCTET STRING, encapsulates {
1026
- * // SEQUENCE {
1027
- * // INTEGER 3
1028
- * // PrintableString 'aaa'
1029
- * // }
1030
- * // }
1031
- */
1032
- KJUR.asn1.DEROctetString = function (params) {
1033
- if (params !== undefined && typeof params.obj !== "undefined") {
1034
- var o = KJUR.asn1.ASN1Util.newObject(params.obj);
1035
- params.hex = o.getEncodedHex();
1036
- }
1037
- KJUR.asn1.DEROctetString.superclass.constructor.call(this, params);
1038
- this.hT = "04";
1039
- };
1040
- YAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString);
1041
- // ********************************************************************
1042
- /**
1043
- * class for ASN.1 DER Null
1044
- * @name KJUR.asn1.DERNull
1045
- * @class class for ASN.1 DER Null
1046
- * @extends KJUR.asn1.ASN1Object
1047
- * @description
1048
- * @see KJUR.asn1.ASN1Object - superclass
1049
- */
1050
- KJUR.asn1.DERNull = function () {
1051
- KJUR.asn1.DERNull.superclass.constructor.call(this);
1052
- this.hT = "05";
1053
- this.hTLV = "0500";
1054
- };
1055
- YAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object);
1056
- // ********************************************************************
1057
- /**
1058
- * class for ASN.1 DER ObjectIdentifier
1059
- * @name KJUR.asn1.DERObjectIdentifier
1060
- * @class class for ASN.1 DER ObjectIdentifier
1061
- * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'})
1062
- * @extends KJUR.asn1.ASN1Object
1063
- * @description
1064
- * <br/>
1065
- * As for argument 'params' for constructor, you can specify one of
1066
- * following properties:
1067
- * <ul>
1068
- * <li>oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)</li>
1069
- * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>
1070
- * </ul>
1071
- * NOTE: 'params' can be omitted.
1072
- */
1073
- KJUR.asn1.DERObjectIdentifier = function (params) {
1074
- var itox = function (i) {
1075
- var h = i.toString(16);
1076
- if (h.length == 1)
1077
- h = '0' + h;
1078
- return h;
1079
- };
1080
- var roidtox = function (roid) {
1081
- var h = '';
1082
- var bi = new BigInteger(roid, 10);
1083
- var b = bi.toString(2);
1084
- var padLen = 7 - b.length % 7;
1085
- if (padLen == 7)
1086
- padLen = 0;
1087
- var bPad = '';
1088
- for (var i = 0; i < padLen; i++)
1089
- bPad += '0';
1090
- b = bPad + b;
1091
- for (var i = 0; i < b.length - 1; i += 7) {
1092
- var b8 = b.substr(i, 7);
1093
- if (i != b.length - 7)
1094
- b8 = '1' + b8;
1095
- h += itox(parseInt(b8, 2));
1096
- }
1097
- return h;
1098
- };
1099
- KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this);
1100
- this.hT = "06";
1101
- /**
1102
- * set value by a hexadecimal string
1103
- * @name setValueHex
1104
- * @memberOf KJUR.asn1.DERObjectIdentifier#
1105
- * @function
1106
- * @param {String} newHexString hexadecimal value of OID bytes
1107
- */
1108
- this.setValueHex = function (newHexString) {
1109
- this.hTLV = null;
1110
- this.isModified = true;
1111
- this.s = null;
1112
- this.hV = newHexString;
1113
- };
1114
- /**
1115
- * set value by a OID string<br/>
1116
- * @name setValueOidString
1117
- * @memberOf KJUR.asn1.DERObjectIdentifier#
1118
- * @function
1119
- * @param {String} oidString OID string (ex. 2.5.4.13)
1120
- * @example
1121
- * o = new KJUR.asn1.DERObjectIdentifier();
1122
- * o.setValueOidString("2.5.4.13");
1123
- */
1124
- this.setValueOidString = function (oidString) {
1125
- if (!oidString.match(/^[0-9.]+$/)) {
1126
- throw "malformed oid string: " + oidString;
1127
- }
1128
- var h = '';
1129
- var a = oidString.split('.');
1130
- var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);
1131
- h += itox(i0);
1132
- a.splice(0, 2);
1133
- for (var i = 0; i < a.length; i++) {
1134
- h += roidtox(a[i]);
1135
- }
1136
- this.hTLV = null;
1137
- this.isModified = true;
1138
- this.s = null;
1139
- this.hV = h;
1140
- };
1141
- /**
1142
- * set value by a OID name
1143
- * @name setValueName
1144
- * @memberOf KJUR.asn1.DERObjectIdentifier#
1145
- * @function
1146
- * @param {String} oidName OID name (ex. 'serverAuth')
1147
- * @since 1.0.1
1148
- * @description
1149
- * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'.
1150
- * Otherwise raise error.
1151
- * @example
1152
- * o = new KJUR.asn1.DERObjectIdentifier();
1153
- * o.setValueName("serverAuth");
1154
- */
1155
- this.setValueName = function (oidName) {
1156
- var oid = KJUR.asn1.x509.OID.name2oid(oidName);
1157
- if (oid !== '') {
1158
- this.setValueOidString(oid);
1159
- }
1160
- else {
1161
- throw "DERObjectIdentifier oidName undefined: " + oidName;
1162
- }
1163
- };
1164
- this.getFreshValueHex = function () {
1165
- return this.hV;
1166
- };
1167
- if (params !== undefined) {
1168
- if (typeof params === "string") {
1169
- if (params.match(/^[0-2].[0-9.]+$/)) {
1170
- this.setValueOidString(params);
1171
- }
1172
- else {
1173
- this.setValueName(params);
1174
- }
1175
- }
1176
- else if (params.oid !== undefined) {
1177
- this.setValueOidString(params.oid);
1178
- }
1179
- else if (params.hex !== undefined) {
1180
- this.setValueHex(params.hex);
1181
- }
1182
- else if (params.name !== undefined) {
1183
- this.setValueName(params.name);
1184
- }
1185
- }
1186
- };
1187
- YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object);
1188
- // ********************************************************************
1189
- /**
1190
- * class for ASN.1 DER Enumerated
1191
- * @name KJUR.asn1.DEREnumerated
1192
- * @class class for ASN.1 DER Enumerated
1193
- * @extends KJUR.asn1.ASN1Object
1194
- * @description
1195
- * <br/>
1196
- * As for argument 'params' for constructor, you can specify one of
1197
- * following properties:
1198
- * <ul>
1199
- * <li>int - specify initial ASN.1 value(V) by integer value</li>
1200
- * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>
1201
- * </ul>
1202
- * NOTE: 'params' can be omitted.
1203
- * @example
1204
- * new KJUR.asn1.DEREnumerated(123);
1205
- * new KJUR.asn1.DEREnumerated({int: 123});
1206
- * new KJUR.asn1.DEREnumerated({hex: '1fad'});
1207
- */
1208
- KJUR.asn1.DEREnumerated = function (params) {
1209
- KJUR.asn1.DEREnumerated.superclass.constructor.call(this);
1210
- this.hT = "0a";
1211
- /**
1212
- * set value by Tom Wu's BigInteger object
1213
- * @name setByBigInteger
1214
- * @memberOf KJUR.asn1.DEREnumerated#
1215
- * @function
1216
- * @param {BigInteger} bigIntegerValue to set
1217
- */
1218
- this.setByBigInteger = function (bigIntegerValue) {
1219
- this.hTLV = null;
1220
- this.isModified = true;
1221
- this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);
1222
- };
1223
- /**
1224
- * set value by integer value
1225
- * @name setByInteger
1226
- * @memberOf KJUR.asn1.DEREnumerated#
1227
- * @function
1228
- * @param {Integer} integer value to set
1229
- */
1230
- this.setByInteger = function (intValue) {
1231
- var bi = new BigInteger(String(intValue), 10);
1232
- this.setByBigInteger(bi);
1233
- };
1234
- /**
1235
- * set value by integer value
1236
- * @name setValueHex
1237
- * @memberOf KJUR.asn1.DEREnumerated#
1238
- * @function
1239
- * @param {String} hexadecimal string of integer value
1240
- * @description
1241
- * <br/>
1242
- * NOTE: Value shall be represented by minimum octet length of
1243
- * two's complement representation.
1244
- */
1245
- this.setValueHex = function (newHexString) {
1246
- this.hV = newHexString;
1247
- };
1248
- this.getFreshValueHex = function () {
1249
- return this.hV;
1250
- };
1251
- if (typeof params != "undefined") {
1252
- if (typeof params['int'] != "undefined") {
1253
- this.setByInteger(params['int']);
1254
- }
1255
- else if (typeof params == "number") {
1256
- this.setByInteger(params);
1257
- }
1258
- else if (typeof params['hex'] != "undefined") {
1259
- this.setValueHex(params['hex']);
1260
- }
1261
- }
1262
- };
1263
- YAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object);
1264
- // ********************************************************************
1265
- /**
1266
- * class for ASN.1 DER UTF8String
1267
- * @name KJUR.asn1.DERUTF8String
1268
- * @class class for ASN.1 DER UTF8String
1269
- * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})
1270
- * @extends KJUR.asn1.DERAbstractString
1271
- * @description
1272
- * @see KJUR.asn1.DERAbstractString - superclass
1273
- */
1274
- KJUR.asn1.DERUTF8String = function (params) {
1275
- KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params);
1276
- this.hT = "0c";
1277
- };
1278
- YAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString);
1279
- // ********************************************************************
1280
- /**
1281
- * class for ASN.1 DER NumericString
1282
- * @name KJUR.asn1.DERNumericString
1283
- * @class class for ASN.1 DER NumericString
1284
- * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})
1285
- * @extends KJUR.asn1.DERAbstractString
1286
- * @description
1287
- * @see KJUR.asn1.DERAbstractString - superclass
1288
- */
1289
- KJUR.asn1.DERNumericString = function (params) {
1290
- KJUR.asn1.DERNumericString.superclass.constructor.call(this, params);
1291
- this.hT = "12";
1292
- };
1293
- YAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString);
1294
- // ********************************************************************
1295
- /**
1296
- * class for ASN.1 DER PrintableString
1297
- * @name KJUR.asn1.DERPrintableString
1298
- * @class class for ASN.1 DER PrintableString
1299
- * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})
1300
- * @extends KJUR.asn1.DERAbstractString
1301
- * @description
1302
- * @see KJUR.asn1.DERAbstractString - superclass
1303
- */
1304
- KJUR.asn1.DERPrintableString = function (params) {
1305
- KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params);
1306
- this.hT = "13";
1307
- };
1308
- YAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString);
1309
- // ********************************************************************
1310
- /**
1311
- * class for ASN.1 DER TeletexString
1312
- * @name KJUR.asn1.DERTeletexString
1313
- * @class class for ASN.1 DER TeletexString
1314
- * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})
1315
- * @extends KJUR.asn1.DERAbstractString
1316
- * @description
1317
- * @see KJUR.asn1.DERAbstractString - superclass
1318
- */
1319
- KJUR.asn1.DERTeletexString = function (params) {
1320
- KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params);
1321
- this.hT = "14";
1322
- };
1323
- YAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString);
1324
- // ********************************************************************
1325
- /**
1326
- * class for ASN.1 DER IA5String
1327
- * @name KJUR.asn1.DERIA5String
1328
- * @class class for ASN.1 DER IA5String
1329
- * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})
1330
- * @extends KJUR.asn1.DERAbstractString
1331
- * @description
1332
- * @see KJUR.asn1.DERAbstractString - superclass
1333
- */
1334
- KJUR.asn1.DERIA5String = function (params) {
1335
- KJUR.asn1.DERIA5String.superclass.constructor.call(this, params);
1336
- this.hT = "16";
1337
- };
1338
- YAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString);
1339
- // ********************************************************************
1340
- /**
1341
- * class for ASN.1 DER UTCTime
1342
- * @name KJUR.asn1.DERUTCTime
1343
- * @class class for ASN.1 DER UTCTime
1344
- * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})
1345
- * @extends KJUR.asn1.DERAbstractTime
1346
- * @description
1347
- * <br/>
1348
- * As for argument 'params' for constructor, you can specify one of
1349
- * following properties:
1350
- * <ul>
1351
- * <li>str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')</li>
1352
- * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>
1353
- * <li>date - specify Date object.</li>
1354
- * </ul>
1355
- * NOTE: 'params' can be omitted.
1356
- * <h4>EXAMPLES</h4>
1357
- * @example
1358
- * d1 = new KJUR.asn1.DERUTCTime();
1359
- * d1.setString('130430125959Z');
1360
- *
1361
- * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'});
1362
- * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))});
1363
- * d4 = new KJUR.asn1.DERUTCTime('130430125959Z');
1364
- */
1365
- KJUR.asn1.DERUTCTime = function (params) {
1366
- KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params);
1367
- this.hT = "17";
1368
- /**
1369
- * set value by a Date object<br/>
1370
- * @name setByDate
1371
- * @memberOf KJUR.asn1.DERUTCTime#
1372
- * @function
1373
- * @param {Date} dateObject Date object to set ASN.1 value(V)
1374
- * @example
1375
- * o = new KJUR.asn1.DERUTCTime();
1376
- * o.setByDate(new Date("2016/12/31"));
1377
- */
1378
- this.setByDate = function (dateObject) {
1379
- this.hTLV = null;
1380
- this.isModified = true;
1381
- this.date = dateObject;
1382
- this.s = this.formatDate(this.date, 'utc');
1383
- this.hV = stohex(this.s);
1384
- };
1385
- this.getFreshValueHex = function () {
1386
- if (typeof this.date == "undefined" && typeof this.s == "undefined") {
1387
- this.date = new Date();
1388
- this.s = this.formatDate(this.date, 'utc');
1389
- this.hV = stohex(this.s);
1390
- }
1391
- return this.hV;
1392
- };
1393
- if (params !== undefined) {
1394
- if (params.str !== undefined) {
1395
- this.setString(params.str);
1396
- }
1397
- else if (typeof params == "string" && params.match(/^[0-9]{12}Z$/)) {
1398
- this.setString(params);
1399
- }
1400
- else if (params.hex !== undefined) {
1401
- this.setStringHex(params.hex);
1402
- }
1403
- else if (params.date !== undefined) {
1404
- this.setByDate(params.date);
1405
- }
1406
- }
1407
- };
1408
- YAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime);
1409
- // ********************************************************************
1410
- /**
1411
- * class for ASN.1 DER GeneralizedTime
1412
- * @name KJUR.asn1.DERGeneralizedTime
1413
- * @class class for ASN.1 DER GeneralizedTime
1414
- * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'})
1415
- * @property {Boolean} withMillis flag to show milliseconds or not
1416
- * @extends KJUR.asn1.DERAbstractTime
1417
- * @description
1418
- * <br/>
1419
- * As for argument 'params' for constructor, you can specify one of
1420
- * following properties:
1421
- * <ul>
1422
- * <li>str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')</li>
1423
- * <li>hex - specify initial ASN.1 value(V) by a hexadecimal string</li>
1424
- * <li>date - specify Date object.</li>
1425
- * <li>millis - specify flag to show milliseconds (from 1.0.6)</li>
1426
- * </ul>
1427
- * NOTE1: 'params' can be omitted.
1428
- * NOTE2: 'withMillis' property is supported from asn1 1.0.6.
1429
- */
1430
- KJUR.asn1.DERGeneralizedTime = function (params) {
1431
- KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params);
1432
- this.hT = "18";
1433
- this.withMillis = false;
1434
- /**
1435
- * set value by a Date object
1436
- * @name setByDate
1437
- * @memberOf KJUR.asn1.DERGeneralizedTime#
1438
- * @function
1439
- * @param {Date} dateObject Date object to set ASN.1 value(V)
1440
- * @example
1441
- * When you specify UTC time, use 'Date.UTC' method like this:<br/>
1442
- * o1 = new DERUTCTime();
1443
- * o1.setByDate(date);
1444
- *
1445
- * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59
1446
- */
1447
- this.setByDate = function (dateObject) {
1448
- this.hTLV = null;
1449
- this.isModified = true;
1450
- this.date = dateObject;
1451
- this.s = this.formatDate(this.date, 'gen', this.withMillis);
1452
- this.hV = stohex(this.s);
1453
- };
1454
- this.getFreshValueHex = function () {
1455
- if (this.date === undefined && this.s === undefined) {
1456
- this.date = new Date();
1457
- this.s = this.formatDate(this.date, 'gen', this.withMillis);
1458
- this.hV = stohex(this.s);
1459
- }
1460
- return this.hV;
1461
- };
1462
- if (params !== undefined) {
1463
- if (params.str !== undefined) {
1464
- this.setString(params.str);
1465
- }
1466
- else if (typeof params == "string" && params.match(/^[0-9]{14}Z$/)) {
1467
- this.setString(params);
1468
- }
1469
- else if (params.hex !== undefined) {
1470
- this.setStringHex(params.hex);
1471
- }
1472
- else if (params.date !== undefined) {
1473
- this.setByDate(params.date);
1474
- }
1475
- if (params.millis === true) {
1476
- this.withMillis = true;
1477
- }
1478
- }
1479
- };
1480
- YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime);
1481
- // ********************************************************************
1482
- /**
1483
- * class for ASN.1 DER Sequence
1484
- * @name KJUR.asn1.DERSequence
1485
- * @class class for ASN.1 DER Sequence
1486
- * @extends KJUR.asn1.DERAbstractStructured
1487
- * @description
1488
- * <br/>
1489
- * As for argument 'params' for constructor, you can specify one of
1490
- * following properties:
1491
- * <ul>
1492
- * <li>array - specify array of ASN1Object to set elements of content</li>
1493
- * </ul>
1494
- * NOTE: 'params' can be omitted.
1495
- */
1496
- KJUR.asn1.DERSequence = function (params) {
1497
- KJUR.asn1.DERSequence.superclass.constructor.call(this, params);
1498
- this.hT = "30";
1499
- this.getFreshValueHex = function () {
1500
- var h = '';
1501
- for (var i = 0; i < this.asn1Array.length; i++) {
1502
- var asn1Obj = this.asn1Array[i];
1503
- h += asn1Obj.getEncodedHex();
1504
- }
1505
- this.hV = h;
1506
- return this.hV;
1507
- };
1508
- };
1509
- YAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured);
1510
- // ********************************************************************
1511
- /**
1512
- * class for ASN.1 DER Set
1513
- * @name KJUR.asn1.DERSet
1514
- * @class class for ASN.1 DER Set
1515
- * @extends KJUR.asn1.DERAbstractStructured
1516
- * @description
1517
- * <br/>
1518
- * As for argument 'params' for constructor, you can specify one of
1519
- * following properties:
1520
- * <ul>
1521
- * <li>array - specify array of ASN1Object to set elements of content</li>
1522
- * <li>sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.</li>
1523
- * </ul>
1524
- * NOTE1: 'params' can be omitted.<br/>
1525
- * NOTE2: sortflag is supported since 1.0.5.
1526
- */
1527
- KJUR.asn1.DERSet = function (params) {
1528
- KJUR.asn1.DERSet.superclass.constructor.call(this, params);
1529
- this.hT = "31";
1530
- this.sortFlag = true; // item shall be sorted only in ASN.1 DER
1531
- this.getFreshValueHex = function () {
1532
- var a = new Array();
1533
- for (var i = 0; i < this.asn1Array.length; i++) {
1534
- var asn1Obj = this.asn1Array[i];
1535
- a.push(asn1Obj.getEncodedHex());
1536
- }
1537
- if (this.sortFlag == true)
1538
- a.sort();
1539
- this.hV = a.join('');
1540
- return this.hV;
1541
- };
1542
- if (typeof params != "undefined") {
1543
- if (typeof params.sortflag != "undefined" &&
1544
- params.sortflag == false)
1545
- this.sortFlag = false;
1546
- }
1547
- };
1548
- YAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured);
1549
- // ********************************************************************
1550
- /**
1551
- * class for ASN.1 DER TaggedObject
1552
- * @name KJUR.asn1.DERTaggedObject
1553
- * @class class for ASN.1 DER TaggedObject
1554
- * @extends KJUR.asn1.ASN1Object
1555
- * @description
1556
- * <br/>
1557
- * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object.
1558
- * For example, if you find '[1]' tag in a ASN.1 dump,
1559
- * 'tagNoHex' will be 'a1'.
1560
- * <br/>
1561
- * As for optional argument 'params' for constructor, you can specify *ANY* of
1562
- * following properties:
1563
- * <ul>
1564
- * <li>explicit - specify true if this is explicit tag otherwise false
1565
- * (default is 'true').</li>
1566
- * <li>tag - specify tag (default is 'a0' which means [0])</li>
1567
- * <li>obj - specify ASN1Object which is tagged</li>
1568
- * </ul>
1569
- * @example
1570
- * d1 = new KJUR.asn1.DERUTF8String({'str':'a'});
1571
- * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1});
1572
- * hex = d2.getEncodedHex();
1573
- */
1574
- KJUR.asn1.DERTaggedObject = function (params) {
1575
- KJUR.asn1.DERTaggedObject.superclass.constructor.call(this);
1576
- this.hT = "a0";
1577
- this.hV = '';
1578
- this.isExplicit = true;
1579
- this.asn1Object = null;
1580
- /**
1581
- * set value by an ASN1Object
1582
- * @name setString
1583
- * @memberOf KJUR.asn1.DERTaggedObject#
1584
- * @function
1585
- * @param {Boolean} isExplicitFlag flag for explicit/implicit tag
1586
- * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag
1587
- * @param {ASN1Object} asn1Object ASN.1 to encapsulate
1588
- */
1589
- this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) {
1590
- this.hT = tagNoHex;
1591
- this.isExplicit = isExplicitFlag;
1592
- this.asn1Object = asn1Object;
1593
- if (this.isExplicit) {
1594
- this.hV = this.asn1Object.getEncodedHex();
1595
- this.hTLV = null;
1596
- this.isModified = true;
1597
- }
1598
- else {
1599
- this.hV = null;
1600
- this.hTLV = asn1Object.getEncodedHex();
1601
- this.hTLV = this.hTLV.replace(/^../, tagNoHex);
1602
- this.isModified = false;
1603
- }
1604
- };
1605
- this.getFreshValueHex = function () {
1606
- return this.hV;
1607
- };
1608
- if (typeof params != "undefined") {
1609
- if (typeof params['tag'] != "undefined") {
1610
- this.hT = params['tag'];
1611
- }
1612
- if (typeof params['explicit'] != "undefined") {
1613
- this.isExplicit = params['explicit'];
1614
- }
1615
- if (typeof params['obj'] != "undefined") {
1616
- this.asn1Object = params['obj'];
1617
- this.setASN1Object(this.isExplicit, this.hT, this.asn1Object);
1618
- }
1619
- }
1620
- };
1621
- YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object);