@hfunlabs/hyperliquid 0.30.0-hfunlabs.1 → 0.30.2-hfunlabs.2

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 (397) hide show
  1. package/esm/_dnt.shims.d.ts +2 -0
  2. package/esm/_dnt.shims.d.ts.map +1 -0
  3. package/esm/_dnt.shims.js +58 -0
  4. package/esm/_dnt.shims.js.map +1 -0
  5. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.d.ts +195 -0
  6. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.js +457 -0
  8. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.js.map +1 -0
  9. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.d.ts +90 -0
  10. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.js +207 -0
  12. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.js.map +1 -0
  13. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.d.ts +159 -0
  14. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.js +555 -0
  16. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.js.map +1 -0
  17. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.d.ts +325 -0
  18. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.js +1222 -0
  20. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.js.map +1 -0
  21. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.d.ts +76 -0
  22. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.js +283 -0
  24. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.js.map +1 -0
  25. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/utils.d.ts +103 -0
  26. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/utils.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/utils.js +241 -0
  28. package/esm/deps/jsr.io/@noble/curves/2.0.1/src/utils.js.map +1 -0
  29. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_md.d.ts +49 -0
  30. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_md.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_md.js +147 -0
  32. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_md.js.map +1 -0
  33. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.d.ts +55 -0
  34. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.js +67 -0
  36. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.js.map +1 -0
  37. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.d.ts +36 -0
  38. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.js +90 -0
  40. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.js.map +1 -0
  41. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.d.ts +199 -0
  42. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.d.ts.map +1 -0
  43. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.js +397 -0
  44. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.js.map +1 -0
  45. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.d.ts +58 -0
  46. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.d.ts.map +1 -0
  47. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.js +254 -0
  48. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.js.map +1 -0
  49. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/utils.d.ts +124 -0
  50. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/utils.d.ts.map +1 -0
  51. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/utils.js +243 -0
  52. package/esm/deps/jsr.io/@noble/hashes/2.0.1/src/utils.js.map +1 -0
  53. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.d.ts +44 -0
  54. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.d.ts.map +1 -0
  55. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.js +144 -0
  56. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.js.map +1 -0
  57. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.d.ts +38 -0
  58. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.d.ts.map +1 -0
  59. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.js +96 -0
  60. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.js.map +1 -0
  61. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.d.ts +23 -0
  62. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.d.ts.map +1 -0
  63. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.js +98 -0
  64. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.js.map +1 -0
  65. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.d.ts +300 -0
  66. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.d.ts.map +1 -0
  67. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.js +535 -0
  68. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.js.map +1 -0
  69. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.d.ts +98 -0
  70. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.d.ts.map +1 -0
  71. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.js +207 -0
  72. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.js.map +1 -0
  73. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.d.ts +78 -0
  74. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.d.ts.map +1 -0
  75. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.js +298 -0
  76. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.js.map +1 -0
  77. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.d.ts +6 -0
  78. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.d.ts.map +1 -0
  79. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.js +6 -0
  80. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.js.map +1 -0
  81. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.d.ts +66 -0
  82. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.d.ts.map +1 -0
  83. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.js +180 -0
  84. package/esm/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.js.map +1 -0
  85. package/esm/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.d.ts +877 -0
  86. package/esm/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.d.ts.map +1 -0
  87. package/esm/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.js +2001 -0
  88. package/esm/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.js.map +1 -0
  89. package/esm/deps/jsr.io/@scure/base/2.0.0/index.d.ts +294 -0
  90. package/esm/deps/jsr.io/@scure/base/2.0.0/index.d.ts.map +1 -0
  91. package/esm/deps/jsr.io/@scure/base/2.0.0/index.js +704 -0
  92. package/esm/deps/jsr.io/@scure/base/2.0.0/index.js.map +1 -0
  93. package/esm/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.d.ts +93 -0
  94. package/esm/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.d.ts.map +1 -0
  95. package/esm/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.js +137 -0
  96. package/esm/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.js.map +1 -0
  97. package/esm/src/api/exchange/_methods/_base/_nonce.d.ts +3 -2
  98. package/esm/src/api/exchange/_methods/_base/_nonce.d.ts.map +1 -1
  99. package/esm/src/api/exchange/_methods/_base/_nonce.js +3 -2
  100. package/esm/src/api/exchange/_methods/_base/_nonce.js.map +1 -1
  101. package/esm/src/api/exchange/_methods/_base/_semaphore.d.ts +7 -6
  102. package/esm/src/api/exchange/_methods/_base/_semaphore.d.ts.map +1 -1
  103. package/esm/src/api/exchange/_methods/_base/_semaphore.js +34 -47
  104. package/esm/src/api/exchange/_methods/_base/_semaphore.js.map +1 -1
  105. package/esm/src/api/exchange/_methods/_base/execute.d.ts +14 -3
  106. package/esm/src/api/exchange/_methods/_base/execute.d.ts.map +1 -1
  107. package/esm/src/api/exchange/_methods/_base/execute.js +44 -10
  108. package/esm/src/api/exchange/_methods/_base/execute.js.map +1 -1
  109. package/esm/src/api/exchange/_methods/batchModify.d.ts +6 -6
  110. package/esm/src/api/exchange/_methods/createVault.d.ts +5 -5
  111. package/esm/src/api/exchange/_methods/modify.d.ts +5 -5
  112. package/esm/src/api/exchange/_methods/order.d.ts +13 -13
  113. package/esm/src/api/exchange/_methods/order.d.ts.map +1 -1
  114. package/esm/src/api/exchange/_methods/order.js +4 -2
  115. package/esm/src/api/exchange/_methods/order.js.map +1 -1
  116. package/esm/src/api/exchange/client.d.ts +1 -1
  117. package/esm/src/api/exchange/client.d.ts.map +1 -1
  118. package/esm/src/api/exchange/client.js.map +1 -1
  119. package/esm/src/api/exchange/mod.d.ts +1 -1
  120. package/esm/src/api/exchange/mod.d.ts.map +1 -1
  121. package/esm/src/api/exchange/mod.js.map +1 -1
  122. package/esm/src/api/info/_methods/_base/commonSchemas.d.ts +8 -8
  123. package/esm/src/api/info/_methods/frontendOpenOrders.d.ts +3 -3
  124. package/esm/src/api/info/_methods/historicalOrders.d.ts +4 -4
  125. package/esm/src/api/info/_methods/l3Orders.d.ts +11 -11
  126. package/esm/src/api/info/_methods/l4Orders.d.ts +6 -6
  127. package/esm/src/api/info/_methods/openOrders.d.ts +3 -3
  128. package/esm/src/api/info/_methods/orderStatus.d.ts +5 -5
  129. package/esm/src/api/info/_methods/recentTrades.d.ts +2 -2
  130. package/esm/src/api/info/_methods/twapHistory.d.ts +4 -4
  131. package/esm/src/api/info/_methods/userFills.d.ts +3 -3
  132. package/esm/src/api/info/_methods/userFillsByTime.d.ts +4 -4
  133. package/esm/src/api/info/_methods/userFunding.d.ts +3 -3
  134. package/esm/src/api/info/_methods/userFunding.js +2 -2
  135. package/esm/src/api/info/_methods/userFunding.js.map +1 -1
  136. package/esm/src/api/info/_methods/userTwapSliceFills.d.ts +4 -4
  137. package/esm/src/api/info/_methods/userTwapSliceFillsByTime.d.ts +5 -5
  138. package/esm/src/api/info/_methods/webData2.d.ts +9 -9
  139. package/esm/src/api/subscription/_methods/assetCtxs.d.ts +2 -0
  140. package/esm/src/api/subscription/_methods/assetCtxs.d.ts.map +1 -1
  141. package/esm/src/api/subscription/_methods/assetCtxs.js.map +1 -1
  142. package/esm/src/api/subscription/_methods/clearinghouseState.d.ts +2 -0
  143. package/esm/src/api/subscription/_methods/clearinghouseState.d.ts.map +1 -1
  144. package/esm/src/api/subscription/_methods/clearinghouseState.js +2 -0
  145. package/esm/src/api/subscription/_methods/clearinghouseState.js.map +1 -1
  146. package/esm/src/api/subscription/_methods/explorerBlock.d.ts +2 -0
  147. package/esm/src/api/subscription/_methods/explorerBlock.d.ts.map +1 -1
  148. package/esm/src/api/subscription/_methods/explorerBlock.js +2 -0
  149. package/esm/src/api/subscription/_methods/explorerBlock.js.map +1 -1
  150. package/esm/src/api/subscription/_methods/explorerTxs.d.ts +2 -0
  151. package/esm/src/api/subscription/_methods/explorerTxs.d.ts.map +1 -1
  152. package/esm/src/api/subscription/_methods/explorerTxs.js +2 -0
  153. package/esm/src/api/subscription/_methods/explorerTxs.js.map +1 -1
  154. package/esm/src/api/subscription/_methods/openOrders.d.ts +5 -5
  155. package/esm/src/api/subscription/_methods/orderUpdates.d.ts +4 -4
  156. package/esm/src/api/subscription/_methods/trades.d.ts +3 -3
  157. package/esm/src/api/subscription/_methods/twapStates.d.ts +9 -4
  158. package/esm/src/api/subscription/_methods/twapStates.d.ts.map +1 -1
  159. package/esm/src/api/subscription/_methods/twapStates.js +6 -1
  160. package/esm/src/api/subscription/_methods/twapStates.js.map +1 -1
  161. package/esm/src/api/subscription/_methods/userEvents.d.ts +17 -17
  162. package/esm/src/api/subscription/_methods/userFills.d.ts +5 -5
  163. package/esm/src/api/subscription/_methods/userHistoricalOrders.d.ts +6 -6
  164. package/esm/src/api/subscription/_methods/userTwapHistory.d.ts +6 -6
  165. package/esm/src/api/subscription/_methods/userTwapSliceFills.d.ts +6 -6
  166. package/esm/src/api/subscription/_methods/webData2.d.ts +11 -11
  167. package/esm/src/signing/_privateKeySigner.js +1 -1
  168. package/esm/src/signing/_privateKeySigner.js.map +1 -1
  169. package/esm/src/signing/mod.js +1 -1
  170. package/esm/src/signing/mod.js.map +1 -1
  171. package/package.json +2 -3
  172. package/script/_dnt.shims.d.ts +2 -0
  173. package/script/_dnt.shims.d.ts.map +1 -0
  174. package/script/_dnt.shims.js +61 -0
  175. package/script/_dnt.shims.js.map +1 -0
  176. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.d.ts +195 -0
  177. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.d.ts.map +1 -0
  178. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.js +468 -0
  179. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.js.map +1 -0
  180. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.d.ts +90 -0
  181. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.d.ts.map +1 -0
  182. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.js +215 -0
  183. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.js.map +1 -0
  184. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.d.ts +159 -0
  185. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.d.ts.map +1 -0
  186. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.js +578 -0
  187. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.js.map +1 -0
  188. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.d.ts +325 -0
  189. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.d.ts.map +1 -0
  190. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.js +1232 -0
  191. package/script/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.js.map +1 -0
  192. package/script/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.d.ts +76 -0
  193. package/script/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.d.ts.map +1 -0
  194. package/script/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.js +286 -0
  195. package/script/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.js.map +1 -0
  196. package/script/deps/jsr.io/@noble/curves/2.0.1/src/utils.d.ts +103 -0
  197. package/script/deps/jsr.io/@noble/curves/2.0.1/src/utils.d.ts.map +1 -0
  198. package/script/deps/jsr.io/@noble/curves/2.0.1/src/utils.js +273 -0
  199. package/script/deps/jsr.io/@noble/curves/2.0.1/src/utils.js.map +1 -0
  200. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_md.d.ts +49 -0
  201. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_md.d.ts.map +1 -0
  202. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_md.js +153 -0
  203. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_md.js.map +1 -0
  204. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.d.ts +55 -0
  205. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.d.ts.map +1 -0
  206. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.js +90 -0
  207. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.js.map +1 -0
  208. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.d.ts +36 -0
  209. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.d.ts.map +1 -0
  210. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.js +95 -0
  211. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.js.map +1 -0
  212. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.d.ts +199 -0
  213. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.d.ts.map +1 -0
  214. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.js +439 -0
  215. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.js.map +1 -0
  216. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.d.ts +58 -0
  217. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.d.ts.map +1 -0
  218. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.js +259 -0
  219. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.js.map +1 -0
  220. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/utils.d.ts +124 -0
  221. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/utils.d.ts.map +1 -0
  222. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/utils.js +304 -0
  223. package/script/deps/jsr.io/@noble/hashes/2.0.1/src/utils.js.map +1 -0
  224. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.d.ts +44 -0
  225. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.d.ts.map +1 -0
  226. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.js +182 -0
  227. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.js.map +1 -0
  228. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.d.ts +38 -0
  229. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.d.ts.map +1 -0
  230. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.js +99 -0
  231. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.js.map +1 -0
  232. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.d.ts +23 -0
  233. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.d.ts.map +1 -0
  234. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.js +134 -0
  235. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.js.map +1 -0
  236. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.d.ts +300 -0
  237. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.d.ts.map +1 -0
  238. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.js +576 -0
  239. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.js.map +1 -0
  240. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.d.ts +98 -0
  241. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.d.ts.map +1 -0
  242. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.js +211 -0
  243. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.js.map +1 -0
  244. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.d.ts +78 -0
  245. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.d.ts.map +1 -0
  246. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.js +308 -0
  247. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.js.map +1 -0
  248. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.d.ts +6 -0
  249. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.d.ts.map +1 -0
  250. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.js +21 -0
  251. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.js.map +1 -0
  252. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.d.ts +66 -0
  253. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.d.ts.map +1 -0
  254. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.js +195 -0
  255. package/script/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.js.map +1 -0
  256. package/script/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.d.ts +877 -0
  257. package/script/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.d.ts.map +1 -0
  258. package/script/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.js +2032 -0
  259. package/script/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.js.map +1 -0
  260. package/script/deps/jsr.io/@scure/base/2.0.0/index.d.ts +294 -0
  261. package/script/deps/jsr.io/@scure/base/2.0.0/index.d.ts.map +1 -0
  262. package/script/deps/jsr.io/@scure/base/2.0.0/index.js +710 -0
  263. package/script/deps/jsr.io/@scure/base/2.0.0/index.js.map +1 -0
  264. package/script/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.d.ts +93 -0
  265. package/script/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.d.ts.map +1 -0
  266. package/script/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.js +141 -0
  267. package/script/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.js.map +1 -0
  268. package/script/src/api/exchange/_methods/_base/_nonce.d.ts +3 -2
  269. package/script/src/api/exchange/_methods/_base/_nonce.d.ts.map +1 -1
  270. package/script/src/api/exchange/_methods/_base/_nonce.js +4 -3
  271. package/script/src/api/exchange/_methods/_base/_nonce.js.map +1 -1
  272. package/script/src/api/exchange/_methods/_base/_semaphore.d.ts +7 -6
  273. package/script/src/api/exchange/_methods/_base/_semaphore.d.ts.map +1 -1
  274. package/script/src/api/exchange/_methods/_base/_semaphore.js +35 -50
  275. package/script/src/api/exchange/_methods/_base/_semaphore.js.map +1 -1
  276. package/script/src/api/exchange/_methods/_base/execute.d.ts +14 -3
  277. package/script/src/api/exchange/_methods/_base/execute.d.ts.map +1 -1
  278. package/script/src/api/exchange/_methods/_base/execute.js +43 -9
  279. package/script/src/api/exchange/_methods/_base/execute.js.map +1 -1
  280. package/script/src/api/exchange/_methods/batchModify.d.ts +6 -6
  281. package/script/src/api/exchange/_methods/createVault.d.ts +5 -5
  282. package/script/src/api/exchange/_methods/modify.d.ts +5 -5
  283. package/script/src/api/exchange/_methods/order.d.ts +13 -13
  284. package/script/src/api/exchange/_methods/order.d.ts.map +1 -1
  285. package/script/src/api/exchange/_methods/order.js +4 -2
  286. package/script/src/api/exchange/_methods/order.js.map +1 -1
  287. package/script/src/api/exchange/client.d.ts +1 -1
  288. package/script/src/api/exchange/client.d.ts.map +1 -1
  289. package/script/src/api/exchange/client.js.map +1 -1
  290. package/script/src/api/exchange/mod.d.ts +1 -1
  291. package/script/src/api/exchange/mod.d.ts.map +1 -1
  292. package/script/src/api/exchange/mod.js.map +1 -1
  293. package/script/src/api/info/_methods/_base/commonSchemas.d.ts +8 -8
  294. package/script/src/api/info/_methods/frontendOpenOrders.d.ts +3 -3
  295. package/script/src/api/info/_methods/historicalOrders.d.ts +4 -4
  296. package/script/src/api/info/_methods/l3Orders.d.ts +11 -11
  297. package/script/src/api/info/_methods/l4Orders.d.ts +6 -6
  298. package/script/src/api/info/_methods/openOrders.d.ts +3 -3
  299. package/script/src/api/info/_methods/orderStatus.d.ts +5 -5
  300. package/script/src/api/info/_methods/recentTrades.d.ts +2 -2
  301. package/script/src/api/info/_methods/twapHistory.d.ts +4 -4
  302. package/script/src/api/info/_methods/userFills.d.ts +3 -3
  303. package/script/src/api/info/_methods/userFillsByTime.d.ts +4 -4
  304. package/script/src/api/info/_methods/userFunding.d.ts +3 -3
  305. package/script/src/api/info/_methods/userFunding.js +2 -2
  306. package/script/src/api/info/_methods/userFunding.js.map +1 -1
  307. package/script/src/api/info/_methods/userTwapSliceFills.d.ts +4 -4
  308. package/script/src/api/info/_methods/userTwapSliceFillsByTime.d.ts +5 -5
  309. package/script/src/api/info/_methods/webData2.d.ts +9 -9
  310. package/script/src/api/subscription/_methods/assetCtxs.d.ts +2 -0
  311. package/script/src/api/subscription/_methods/assetCtxs.d.ts.map +1 -1
  312. package/script/src/api/subscription/_methods/assetCtxs.js.map +1 -1
  313. package/script/src/api/subscription/_methods/clearinghouseState.d.ts +2 -0
  314. package/script/src/api/subscription/_methods/clearinghouseState.d.ts.map +1 -1
  315. package/script/src/api/subscription/_methods/clearinghouseState.js +2 -0
  316. package/script/src/api/subscription/_methods/clearinghouseState.js.map +1 -1
  317. package/script/src/api/subscription/_methods/explorerBlock.d.ts +2 -0
  318. package/script/src/api/subscription/_methods/explorerBlock.d.ts.map +1 -1
  319. package/script/src/api/subscription/_methods/explorerBlock.js +2 -0
  320. package/script/src/api/subscription/_methods/explorerBlock.js.map +1 -1
  321. package/script/src/api/subscription/_methods/explorerTxs.d.ts +2 -0
  322. package/script/src/api/subscription/_methods/explorerTxs.d.ts.map +1 -1
  323. package/script/src/api/subscription/_methods/explorerTxs.js +2 -0
  324. package/script/src/api/subscription/_methods/explorerTxs.js.map +1 -1
  325. package/script/src/api/subscription/_methods/openOrders.d.ts +5 -5
  326. package/script/src/api/subscription/_methods/orderUpdates.d.ts +4 -4
  327. package/script/src/api/subscription/_methods/trades.d.ts +3 -3
  328. package/script/src/api/subscription/_methods/twapStates.d.ts +9 -4
  329. package/script/src/api/subscription/_methods/twapStates.d.ts.map +1 -1
  330. package/script/src/api/subscription/_methods/twapStates.js +6 -1
  331. package/script/src/api/subscription/_methods/twapStates.js.map +1 -1
  332. package/script/src/api/subscription/_methods/userEvents.d.ts +17 -17
  333. package/script/src/api/subscription/_methods/userFills.d.ts +5 -5
  334. package/script/src/api/subscription/_methods/userHistoricalOrders.d.ts +6 -6
  335. package/script/src/api/subscription/_methods/userTwapHistory.d.ts +6 -6
  336. package/script/src/api/subscription/_methods/userTwapSliceFills.d.ts +6 -6
  337. package/script/src/api/subscription/_methods/webData2.d.ts +11 -11
  338. package/script/src/signing/_privateKeySigner.js +3 -3
  339. package/script/src/signing/_privateKeySigner.js.map +1 -1
  340. package/script/src/signing/mod.js +2 -2
  341. package/script/src/signing/mod.js.map +1 -1
  342. package/src/_dnt.shims.ts +60 -0
  343. package/src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.ts +633 -0
  344. package/src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.ts +292 -0
  345. package/src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/modular.ts +621 -0
  346. package/src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/weierstrass.ts +1562 -0
  347. package/src/deps/jsr.io/@noble/curves/2.0.1/src/secp256k1.ts +327 -0
  348. package/src/deps/jsr.io/@noble/curves/2.0.1/src/utils.ts +306 -0
  349. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/_md.ts +156 -0
  350. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/_u64.ts +91 -0
  351. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/hmac.ts +94 -0
  352. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/sha2.ts +469 -0
  353. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/sha3.ts +295 -0
  354. package/src/deps/jsr.io/@noble/hashes/2.0.1/src/utils.ts +340 -0
  355. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/advanced/abi-mapper.ts +212 -0
  356. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/address.ts +100 -0
  357. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/rlp.ts +104 -0
  358. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx-internal.ts +626 -0
  359. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/tx.ts +274 -0
  360. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/core/typed-data.ts +391 -0
  361. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/index.ts +12 -0
  362. package/src/deps/jsr.io/@paulmillr/micro-eth-signer/0.18.1/src/utils.ts +233 -0
  363. package/src/deps/jsr.io/@paulmillr/micro-packed/0.8.0/src/index.ts +2196 -0
  364. package/src/deps/jsr.io/@scure/base/2.0.0/index.ts +857 -0
  365. package/src/deps/jsr.io/@std/async/1.0.16/unstable_semaphore.ts +146 -0
  366. package/src/src/api/exchange/_methods/_base/_nonce.ts +3 -2
  367. package/src/src/api/exchange/_methods/_base/_semaphore.ts +34 -59
  368. package/src/src/api/exchange/_methods/_base/execute.ts +60 -12
  369. package/src/src/api/exchange/_methods/order.ts +5 -3
  370. package/src/src/api/exchange/client.ts +5 -1
  371. package/src/src/api/exchange/mod.ts +5 -1
  372. package/src/src/api/info/_methods/userFunding.ts +2 -2
  373. package/src/src/api/subscription/_methods/assetCtxs.ts +2 -0
  374. package/src/src/api/subscription/_methods/clearinghouseState.ts +2 -0
  375. package/src/src/api/subscription/_methods/explorerBlock.ts +2 -0
  376. package/src/src/api/subscription/_methods/explorerTxs.ts +2 -0
  377. package/src/src/api/subscription/_methods/twapStates.ts +9 -1
  378. package/src/src/signing/_privateKeySigner.ts +1 -1
  379. package/src/src/signing/mod.ts +1 -1
  380. package/esm/deps/jsr.io/@std/msgpack/1.0.3/decode.d.ts +0 -21
  381. package/esm/deps/jsr.io/@std/msgpack/1.0.3/decode.d.ts.map +0 -1
  382. package/esm/deps/jsr.io/@std/msgpack/1.0.3/decode.js +0 -292
  383. package/esm/deps/jsr.io/@std/msgpack/1.0.3/decode.js.map +0 -1
  384. package/esm/deps/jsr.io/@std/msgpack/1.0.3/mod.d.ts +0 -44
  385. package/esm/deps/jsr.io/@std/msgpack/1.0.3/mod.d.ts.map +0 -1
  386. package/esm/deps/jsr.io/@std/msgpack/1.0.3/mod.js +0 -46
  387. package/esm/deps/jsr.io/@std/msgpack/1.0.3/mod.js.map +0 -1
  388. package/script/deps/jsr.io/@std/msgpack/1.0.3/decode.d.ts +0 -21
  389. package/script/deps/jsr.io/@std/msgpack/1.0.3/decode.d.ts.map +0 -1
  390. package/script/deps/jsr.io/@std/msgpack/1.0.3/decode.js +0 -295
  391. package/script/deps/jsr.io/@std/msgpack/1.0.3/decode.js.map +0 -1
  392. package/script/deps/jsr.io/@std/msgpack/1.0.3/mod.d.ts +0 -44
  393. package/script/deps/jsr.io/@std/msgpack/1.0.3/mod.d.ts.map +0 -1
  394. package/script/deps/jsr.io/@std/msgpack/1.0.3/mod.js +0 -62
  395. package/script/deps/jsr.io/@std/msgpack/1.0.3/mod.js.map +0 -1
  396. package/src/deps/jsr.io/@std/msgpack/1.0.3/decode.ts +0 -391
  397. package/src/deps/jsr.io/@std/msgpack/1.0.3/mod.ts +0 -47
@@ -0,0 +1,457 @@
1
+ /**
2
+ * Methods for elliptic curve multiplication by scalars.
3
+ * Contains wNAF, pippenger.
4
+ * @module
5
+ */
6
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
+ import { bitLen, bitMask } from '../utils.js';
8
+ import { Field, FpInvertBatch, validateField } from './modular.js';
9
+ const _0n = /* @__PURE__ */ BigInt(0);
10
+ const _1n = /* @__PURE__ */ BigInt(1);
11
+ export function negateCt(condition, item) {
12
+ const neg = item.negate();
13
+ return condition ? neg : item;
14
+ }
15
+ /**
16
+ * Takes a bunch of Projective Points but executes only one
17
+ * inversion on all of them. Inversion is very slow operation,
18
+ * so this improves performance massively.
19
+ * Optimization: converts a list of projective points to a list of identical points with Z=1.
20
+ */
21
+ export function normalizeZ(c, points) {
22
+ const invertedZs = FpInvertBatch(c.Fp, points.map((p) => p.Z));
23
+ return points.map((p, i) => c.fromAffine(p.toAffine(invertedZs[i])));
24
+ }
25
+ function validateW(W, bits) {
26
+ if (!Number.isSafeInteger(W) || W <= 0 || W > bits)
27
+ throw new Error('invalid window size, expected [1..' + bits + '], got W=' + W);
28
+ }
29
+ function calcWOpts(W, scalarBits) {
30
+ validateW(W, scalarBits);
31
+ const windows = Math.ceil(scalarBits / W) + 1; // W=8 33. Not 32, because we skip zero
32
+ const windowSize = 2 ** (W - 1); // W=8 128. Not 256, because we skip zero
33
+ const maxNumber = 2 ** W; // W=8 256
34
+ const mask = bitMask(W); // W=8 255 == mask 0b11111111
35
+ const shiftBy = BigInt(W); // W=8 8
36
+ return { windows, windowSize, mask, maxNumber, shiftBy };
37
+ }
38
+ function calcOffsets(n, window, wOpts) {
39
+ const { windowSize, mask, maxNumber, shiftBy } = wOpts;
40
+ let wbits = Number(n & mask); // extract W bits.
41
+ let nextN = n >> shiftBy; // shift number by W bits.
42
+ // What actually happens here:
43
+ // const highestBit = Number(mask ^ (mask >> 1n));
44
+ // let wbits2 = wbits - 1; // skip zero
45
+ // if (wbits2 & highestBit) { wbits2 ^= Number(mask); // (~);
46
+ // split if bits > max: +224 => 256-32
47
+ if (wbits > windowSize) {
48
+ // we skip zero, which means instead of `>= size-1`, we do `> size`
49
+ wbits -= maxNumber; // -32, can be maxNumber - wbits, but then we need to set isNeg here.
50
+ nextN += _1n; // +256 (carry)
51
+ }
52
+ const offsetStart = window * windowSize;
53
+ const offset = offsetStart + Math.abs(wbits) - 1; // -1 because we skip zero
54
+ const isZero = wbits === 0; // is current window slice a 0?
55
+ const isNeg = wbits < 0; // is current window slice negative?
56
+ const isNegF = window % 2 !== 0; // fake random statement for noise
57
+ const offsetF = offsetStart; // fake offset for noise
58
+ return { nextN, offset, isZero, isNeg, isNegF, offsetF };
59
+ }
60
+ function validateMSMPoints(points, c) {
61
+ if (!Array.isArray(points))
62
+ throw new Error('array expected');
63
+ points.forEach((p, i) => {
64
+ if (!(p instanceof c))
65
+ throw new Error('invalid point at index ' + i);
66
+ });
67
+ }
68
+ function validateMSMScalars(scalars, field) {
69
+ if (!Array.isArray(scalars))
70
+ throw new Error('array of scalars expected');
71
+ scalars.forEach((s, i) => {
72
+ if (!field.isValid(s))
73
+ throw new Error('invalid scalar at index ' + i);
74
+ });
75
+ }
76
+ // Since points in different groups cannot be equal (different object constructor),
77
+ // we can have single place to store precomputes.
78
+ // Allows to make points frozen / immutable.
79
+ const pointPrecomputes = new WeakMap();
80
+ const pointWindowSizes = new WeakMap();
81
+ function getW(P) {
82
+ // To disable precomputes:
83
+ // return 1;
84
+ return pointWindowSizes.get(P) || 1;
85
+ }
86
+ function assert0(n) {
87
+ if (n !== _0n)
88
+ throw new Error('invalid wNAF');
89
+ }
90
+ /**
91
+ * Elliptic curve multiplication of Point by scalar. Fragile.
92
+ * Table generation takes **30MB of ram and 10ms on high-end CPU**,
93
+ * but may take much longer on slow devices. Actual generation will happen on
94
+ * first call of `multiply()`. By default, `BASE` point is precomputed.
95
+ *
96
+ * Scalars should always be less than curve order: this should be checked inside of a curve itself.
97
+ * Creates precomputation tables for fast multiplication:
98
+ * - private scalar is split by fixed size windows of W bits
99
+ * - every window point is collected from window's table & added to accumulator
100
+ * - since windows are different, same point inside tables won't be accessed more than once per calc
101
+ * - each multiplication is 'Math.ceil(CURVE_ORDER / 𝑊) + 1' point additions (fixed for any scalar)
102
+ * - +1 window is neccessary for wNAF
103
+ * - wNAF reduces table size: 2x less memory + 2x faster generation, but 10% slower multiplication
104
+ *
105
+ * @todo Research returning 2d JS array of windows, instead of a single window.
106
+ * This would allow windows to be in different memory locations
107
+ */
108
+ export class wNAF {
109
+ BASE;
110
+ ZERO;
111
+ Fn;
112
+ bits;
113
+ // Parametrized with a given Point class (not individual point)
114
+ constructor(Point, bits) {
115
+ this.BASE = Point.BASE;
116
+ this.ZERO = Point.ZERO;
117
+ this.Fn = Point.Fn;
118
+ this.bits = bits;
119
+ }
120
+ // non-const time multiplication ladder
121
+ _unsafeLadder(elm, n, p = this.ZERO) {
122
+ let d = elm;
123
+ while (n > _0n) {
124
+ if (n & _1n)
125
+ p = p.add(d);
126
+ d = d.double();
127
+ n >>= _1n;
128
+ }
129
+ return p;
130
+ }
131
+ /**
132
+ * Creates a wNAF precomputation window. Used for caching.
133
+ * Default window size is set by `utils.precompute()` and is equal to 8.
134
+ * Number of precomputed points depends on the curve size:
135
+ * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:
136
+ * - 𝑊 is the window size
137
+ * - 𝑛 is the bitlength of the curve order.
138
+ * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.
139
+ * @param point Point instance
140
+ * @param W window size
141
+ * @returns precomputed point tables flattened to a single array
142
+ */
143
+ precomputeWindow(point, W) {
144
+ const { windows, windowSize } = calcWOpts(W, this.bits);
145
+ const points = [];
146
+ let p = point;
147
+ let base = p;
148
+ for (let window = 0; window < windows; window++) {
149
+ base = p;
150
+ points.push(base);
151
+ // i=1, bc we skip 0
152
+ for (let i = 1; i < windowSize; i++) {
153
+ base = base.add(p);
154
+ points.push(base);
155
+ }
156
+ p = base.double();
157
+ }
158
+ return points;
159
+ }
160
+ /**
161
+ * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.
162
+ * More compact implementation:
163
+ * https://github.com/paulmillr/noble-secp256k1/blob/47cb1669b6e506ad66b35fe7d76132ae97465da2/index.ts#L502-L541
164
+ * @returns real and fake (for const-time) points
165
+ */
166
+ wNAF(W, precomputes, n) {
167
+ // Scalar should be smaller than field order
168
+ if (!this.Fn.isValid(n))
169
+ throw new Error('invalid scalar');
170
+ // Accumulators
171
+ let p = this.ZERO;
172
+ let f = this.BASE;
173
+ // This code was first written with assumption that 'f' and 'p' will never be infinity point:
174
+ // since each addition is multiplied by 2 ** W, it cannot cancel each other. However,
175
+ // there is negate now: it is possible that negated element from low value
176
+ // would be the same as high element, which will create carry into next window.
177
+ // It's not obvious how this can fail, but still worth investigating later.
178
+ const wo = calcWOpts(W, this.bits);
179
+ for (let window = 0; window < wo.windows; window++) {
180
+ // (n === _0n) is handled and not early-exited. isEven and offsetF are used for noise
181
+ const { nextN, offset, isZero, isNeg, isNegF, offsetF } = calcOffsets(n, window, wo);
182
+ n = nextN;
183
+ if (isZero) {
184
+ // bits are 0: add garbage to fake point
185
+ // Important part for const-time getPublicKey: add random "noise" point to f.
186
+ f = f.add(negateCt(isNegF, precomputes[offsetF]));
187
+ }
188
+ else {
189
+ // bits are 1: add to result point
190
+ p = p.add(negateCt(isNeg, precomputes[offset]));
191
+ }
192
+ }
193
+ assert0(n);
194
+ // Return both real and fake points: JIT won't eliminate f.
195
+ // At this point there is a way to F be infinity-point even if p is not,
196
+ // which makes it less const-time: around 1 bigint multiply.
197
+ return { p, f };
198
+ }
199
+ /**
200
+ * Implements ec unsafe (non const-time) multiplication using precomputed tables and w-ary non-adjacent form.
201
+ * @param acc accumulator point to add result of multiplication
202
+ * @returns point
203
+ */
204
+ wNAFUnsafe(W, precomputes, n, acc = this.ZERO) {
205
+ const wo = calcWOpts(W, this.bits);
206
+ for (let window = 0; window < wo.windows; window++) {
207
+ if (n === _0n)
208
+ break; // Early-exit, skip 0 value
209
+ const { nextN, offset, isZero, isNeg } = calcOffsets(n, window, wo);
210
+ n = nextN;
211
+ if (isZero) {
212
+ // Window bits are 0: skip processing.
213
+ // Move to next window.
214
+ continue;
215
+ }
216
+ else {
217
+ const item = precomputes[offset];
218
+ acc = acc.add(isNeg ? item.negate() : item); // Re-using acc allows to save adds in MSM
219
+ }
220
+ }
221
+ assert0(n);
222
+ return acc;
223
+ }
224
+ getPrecomputes(W, point, transform) {
225
+ // Calculate precomputes on a first run, reuse them after
226
+ let comp = pointPrecomputes.get(point);
227
+ if (!comp) {
228
+ comp = this.precomputeWindow(point, W);
229
+ if (W !== 1) {
230
+ // Doing transform outside of if brings 15% perf hit
231
+ if (typeof transform === 'function')
232
+ comp = transform(comp);
233
+ pointPrecomputes.set(point, comp);
234
+ }
235
+ }
236
+ return comp;
237
+ }
238
+ cached(point, scalar, transform) {
239
+ const W = getW(point);
240
+ return this.wNAF(W, this.getPrecomputes(W, point, transform), scalar);
241
+ }
242
+ unsafe(point, scalar, transform, prev) {
243
+ const W = getW(point);
244
+ if (W === 1)
245
+ return this._unsafeLadder(point, scalar, prev); // For W=1 ladder is ~x2 faster
246
+ return this.wNAFUnsafe(W, this.getPrecomputes(W, point, transform), scalar, prev);
247
+ }
248
+ // We calculate precomputes for elliptic curve point multiplication
249
+ // using windowed method. This specifies window size and
250
+ // stores precomputed values. Usually only base point would be precomputed.
251
+ createCache(P, W) {
252
+ validateW(W, this.bits);
253
+ pointWindowSizes.set(P, W);
254
+ pointPrecomputes.delete(P);
255
+ }
256
+ hasCache(elm) {
257
+ return getW(elm) !== 1;
258
+ }
259
+ }
260
+ /**
261
+ * Endomorphism-specific multiplication for Koblitz curves.
262
+ * Cost: 128 dbl, 0-256 adds.
263
+ */
264
+ export function mulEndoUnsafe(Point, point, k1, k2) {
265
+ let acc = point;
266
+ let p1 = Point.ZERO;
267
+ let p2 = Point.ZERO;
268
+ while (k1 > _0n || k2 > _0n) {
269
+ if (k1 & _1n)
270
+ p1 = p1.add(acc);
271
+ if (k2 & _1n)
272
+ p2 = p2.add(acc);
273
+ acc = acc.double();
274
+ k1 >>= _1n;
275
+ k2 >>= _1n;
276
+ }
277
+ return { p1, p2 };
278
+ }
279
+ /**
280
+ * Pippenger algorithm for multi-scalar multiplication (MSM, Pa + Qb + Rc + ...).
281
+ * 30x faster vs naive addition on L=4096, 10x faster than precomputes.
282
+ * For N=254bit, L=1, it does: 1024 ADD + 254 DBL. For L=5: 1536 ADD + 254 DBL.
283
+ * Algorithmically constant-time (for same L), even when 1 point + scalar, or when scalar = 0.
284
+ * @param c Curve Point constructor
285
+ * @param fieldN field over CURVE.N - important that it's not over CURVE.P
286
+ * @param points array of L curve points
287
+ * @param scalars array of L scalars (aka secret keys / bigints)
288
+ */
289
+ export function pippenger(c, points, scalars) {
290
+ // If we split scalars by some window (let's say 8 bits), every chunk will only
291
+ // take 256 buckets even if there are 4096 scalars, also re-uses double.
292
+ // TODO:
293
+ // - https://eprint.iacr.org/2024/750.pdf
294
+ // - https://tches.iacr.org/index.php/TCHES/article/view/10287
295
+ // 0 is accepted in scalars
296
+ const fieldN = c.Fn;
297
+ validateMSMPoints(points, c);
298
+ validateMSMScalars(scalars, fieldN);
299
+ const plength = points.length;
300
+ const slength = scalars.length;
301
+ if (plength !== slength)
302
+ throw new Error('arrays of points and scalars must have equal length');
303
+ // if (plength === 0) throw new Error('array must be of length >= 2');
304
+ const zero = c.ZERO;
305
+ const wbits = bitLen(BigInt(plength));
306
+ let windowSize = 1; // bits
307
+ if (wbits > 12)
308
+ windowSize = wbits - 3;
309
+ else if (wbits > 4)
310
+ windowSize = wbits - 2;
311
+ else if (wbits > 0)
312
+ windowSize = 2;
313
+ const MASK = bitMask(windowSize);
314
+ const buckets = new Array(Number(MASK) + 1).fill(zero); // +1 for zero array
315
+ const lastBits = Math.floor((fieldN.BITS - 1) / windowSize) * windowSize;
316
+ let sum = zero;
317
+ for (let i = lastBits; i >= 0; i -= windowSize) {
318
+ buckets.fill(zero);
319
+ for (let j = 0; j < slength; j++) {
320
+ const scalar = scalars[j];
321
+ const wbits = Number((scalar >> BigInt(i)) & MASK);
322
+ buckets[wbits] = buckets[wbits].add(points[j]);
323
+ }
324
+ let resI = zero; // not using this will do small speed-up, but will lose ct
325
+ // Skip first bucket, because it is zero
326
+ for (let j = buckets.length - 1, sumI = zero; j > 0; j--) {
327
+ sumI = sumI.add(buckets[j]);
328
+ resI = resI.add(sumI);
329
+ }
330
+ sum = sum.add(resI);
331
+ if (i !== 0)
332
+ for (let j = 0; j < windowSize; j++)
333
+ sum = sum.double();
334
+ }
335
+ return sum;
336
+ }
337
+ /**
338
+ * Precomputed multi-scalar multiplication (MSM, Pa + Qb + Rc + ...).
339
+ * @param c Curve Point constructor
340
+ * @param fieldN field over CURVE.N - important that it's not over CURVE.P
341
+ * @param points array of L curve points
342
+ * @returns function which multiplies points with scaars
343
+ */
344
+ export function precomputeMSMUnsafe(c, points, windowSize) {
345
+ /**
346
+ * Performance Analysis of Window-based Precomputation
347
+ *
348
+ * Base Case (256-bit scalar, 8-bit window):
349
+ * - Standard precomputation requires:
350
+ * - 31 additions per scalar × 256 scalars = 7,936 ops
351
+ * - Plus 255 summary additions = 8,191 total ops
352
+ * Note: Summary additions can be optimized via accumulator
353
+ *
354
+ * Chunked Precomputation Analysis:
355
+ * - Using 32 chunks requires:
356
+ * - 255 additions per chunk
357
+ * - 256 doublings
358
+ * - Total: (255 × 32) + 256 = 8,416 ops
359
+ *
360
+ * Memory Usage Comparison:
361
+ * Window Size | Standard Points | Chunked Points
362
+ * ------------|-----------------|---------------
363
+ * 4-bit | 520 | 15
364
+ * 8-bit | 4,224 | 255
365
+ * 10-bit | 13,824 | 1,023
366
+ * 16-bit | 557,056 | 65,535
367
+ *
368
+ * Key Advantages:
369
+ * 1. Enables larger window sizes due to reduced memory overhead
370
+ * 2. More efficient for smaller scalar counts:
371
+ * - 16 chunks: (16 × 255) + 256 = 4,336 ops
372
+ * - ~2x faster than standard 8,191 ops
373
+ *
374
+ * Limitations:
375
+ * - Not suitable for plain precomputes (requires 256 constant doublings)
376
+ * - Performance degrades with larger scalar counts:
377
+ * - Optimal for ~256 scalars
378
+ * - Less efficient for 4096+ scalars (Pippenger preferred)
379
+ */
380
+ const fieldN = c.Fn;
381
+ validateW(windowSize, fieldN.BITS);
382
+ validateMSMPoints(points, c);
383
+ const zero = c.ZERO;
384
+ const tableSize = 2 ** windowSize - 1; // table size (without zero)
385
+ const chunks = Math.ceil(fieldN.BITS / windowSize); // chunks of item
386
+ const MASK = bitMask(windowSize);
387
+ const tables = points.map((p) => {
388
+ const res = [];
389
+ for (let i = 0, acc = p; i < tableSize; i++) {
390
+ res.push(acc);
391
+ acc = acc.add(p);
392
+ }
393
+ return res;
394
+ });
395
+ return (scalars) => {
396
+ validateMSMScalars(scalars, fieldN);
397
+ if (scalars.length > points.length)
398
+ throw new Error('array of scalars must be smaller than array of points');
399
+ let res = zero;
400
+ for (let i = 0; i < chunks; i++) {
401
+ // No need to double if accumulator is still zero.
402
+ if (res !== zero)
403
+ for (let j = 0; j < windowSize; j++)
404
+ res = res.double();
405
+ const shiftBy = BigInt(chunks * windowSize - (i + 1) * windowSize);
406
+ for (let j = 0; j < scalars.length; j++) {
407
+ const n = scalars[j];
408
+ const curr = Number((n >> shiftBy) & MASK);
409
+ if (!curr)
410
+ continue; // skip zero scalars chunks
411
+ res = res.add(tables[j][curr - 1]);
412
+ }
413
+ }
414
+ return res;
415
+ };
416
+ }
417
+ function createField(order, field, isLE) {
418
+ if (field) {
419
+ if (field.ORDER !== order)
420
+ throw new Error('Field.ORDER must match order: Fp == p, Fn == n');
421
+ validateField(field);
422
+ return field;
423
+ }
424
+ else {
425
+ return Field(order, { isLE });
426
+ }
427
+ }
428
+ /** Validates CURVE opts and creates fields */
429
+ export function createCurveFields(type, CURVE, curveOpts = {}, FpFnLE) {
430
+ if (FpFnLE === undefined)
431
+ FpFnLE = type === 'edwards';
432
+ if (!CURVE || typeof CURVE !== 'object')
433
+ throw new Error(`expected valid ${type} CURVE object`);
434
+ for (const p of ['p', 'n', 'h']) {
435
+ const val = CURVE[p];
436
+ if (!(typeof val === 'bigint' && val > _0n))
437
+ throw new Error(`CURVE.${p} must be positive bigint`);
438
+ }
439
+ const Fp = createField(CURVE.p, curveOpts.Fp, FpFnLE);
440
+ const Fn = createField(CURVE.n, curveOpts.Fn, FpFnLE);
441
+ const _b = type === 'weierstrass' ? 'b' : 'd';
442
+ const params = ['Gx', 'Gy', 'a', _b];
443
+ for (const p of params) {
444
+ // @ts-ignore
445
+ if (!Fp.isValid(CURVE[p]))
446
+ throw new Error(`CURVE.${p} must be valid field element of CURVE.Fp`);
447
+ }
448
+ CURVE = Object.freeze(Object.assign({}, CURVE));
449
+ return { CURVE, Fp, Fn };
450
+ }
451
+ export function createKeygen(randomSecretKey, getPublicKey) {
452
+ return function keygen(seed) {
453
+ const secretKey = randomSecretKey(seed);
454
+ return { secretKey, publicKey: getPublicKey(secretKey) };
455
+ };
456
+ }
457
+ //# sourceMappingURL=curve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curve.js","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/curve.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,sEAAsE;AACtE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAe,MAAM,cAAc,CAAC;AAEhF,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtC,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAqHtC,MAAM,UAAU,QAAQ,CAAgC,SAAkB,EAAE,IAAO;IACjF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1B,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,CAAK,EACL,MAAW;IAEX,MAAM,UAAU,GAAG,aAAa,CAC9B,CAAC,CAAC,EAAE,EACJ,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CACxB,CAAC;IACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,SAAS,CAAC,CAAS,EAAE,IAAY;IACxC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;QAChD,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,IAAI,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;AACnF,CAAC;AAWD,SAAS,SAAS,CAAC,CAAS,EAAE,UAAkB;IAC9C,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,uCAAuC;IACtF,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,yCAAyC;IAC1E,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;IACnC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,WAAW,CAAC,CAAS,EAAE,MAAc,EAAE,KAAY;IAC1D,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACvD,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,kBAAkB;IAChD,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,0BAA0B;IAEpD,8BAA8B;IAC9B,kDAAkD;IAClD,uCAAuC;IACvC,6DAA6D;IAE7D,sCAAsC;IACtC,IAAI,KAAK,GAAG,UAAU,EAAE,CAAC;QACvB,mEAAmE;QACnE,KAAK,IAAI,SAAS,CAAC,CAAC,qEAAqE;QACzF,KAAK,IAAI,GAAG,CAAC,CAAC,eAAe;IAC/B,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;IACxC,MAAM,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,0BAA0B;IAC5E,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,+BAA+B;IAC3D,MAAM,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,oCAAoC;IAC7D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,kCAAkC;IACnE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,wBAAwB;IACrD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAa,EAAE,CAAM;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,kBAAkB,CAAC,OAAc,EAAE,KAAU;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1E,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,mFAAmF;AACnF,iDAAiD;AACjD,4CAA4C;AAC5C,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAc,CAAC;AACnD,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAe,CAAC;AAEpD,SAAS,IAAI,CAAC,CAAM;IAClB,0BAA0B;IAC1B,YAAY;IACZ,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,CAAC,KAAK,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,IAAI;IACE,IAAI,CAAW;IACf,IAAI,CAAW;IACf,EAAE,CAAW;IACrB,IAAI,CAAS;IAEtB,+DAA+D;IAC/D,YAAY,KAAS,EAAE,IAAY;QACjC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,uCAAuC;IACvC,aAAa,CAAC,GAAa,EAAE,CAAS,EAAE,IAAc,IAAI,CAAC,IAAI;QAC7D,IAAI,CAAC,GAAa,GAAG,CAAC;QACtB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,GAAG;gBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;YACf,CAAC,KAAK,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;OAWG;IACK,gBAAgB,CAAC,KAAe,EAAE,CAAS;QACjD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAe,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAa,KAAK,CAAC;QACxB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YAChD,IAAI,GAAG,CAAC,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,oBAAoB;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,IAAI,CAAC,CAAS,EAAE,WAAuB,EAAE,CAAS;QACxD,4CAA4C;QAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC3D,eAAe;QACf,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAClB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAClB,6FAA6F;QAC7F,qFAAqF;QACrF,0EAA0E;QAC1E,+EAA+E;QAC/E,2EAA2E;QAC3E,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACnD,qFAAqF;YACrF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACrF,CAAC,GAAG,KAAK,CAAC;YACV,IAAI,MAAM,EAAE,CAAC;gBACX,wCAAwC;gBACxC,6EAA6E;gBAC7E,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,CAAC;QACX,2DAA2D;QAC3D,wEAAwE;QACxE,4DAA4D;QAC5D,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,UAAU,CAChB,CAAS,EACT,WAAuB,EACvB,CAAS,EACT,MAAgB,IAAI,CAAC,IAAI;QAEzB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,GAAG;gBAAE,MAAM,CAAC,2BAA2B;YACjD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YACpE,CAAC,GAAG,KAAK,CAAC;YACV,IAAI,MAAM,EAAE,CAAC;gBACX,sCAAsC;gBACtC,uBAAuB;gBACvB,SAAS;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0CAA0C;YACzF,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,CAAC;QACX,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,cAAc,CAAC,CAAS,EAAE,KAAe,EAAE,SAA4B;QAC7E,yDAAyD;QACzD,IAAI,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAe,CAAC;YACrD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACZ,oDAAoD;gBACpD,IAAI,OAAO,SAAS,KAAK,UAAU;oBAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC5D,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CACJ,KAAe,EACf,MAAc,EACd,SAA4B;QAE5B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,KAAe,EAAE,MAAc,EAAE,SAA4B,EAAE,IAAe;QACnF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,+BAA+B;QAC5F,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAED,mEAAmE;IACnE,wDAAwD;IACxD,2EAA2E;IAC3E,WAAW,CAAC,CAAW,EAAE,CAAS;QAChC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAa;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAS,EACT,KAAQ,EACR,EAAU,EACV,EAAU;IAEV,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IACpB,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IACpB,OAAO,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;QAC5B,IAAI,EAAE,GAAG,GAAG;YAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,EAAE,GAAG,GAAG;YAAE,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,EAAE,KAAK,GAAG,CAAC;QACX,EAAE,KAAK,GAAG,CAAC;IACb,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACpB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CACvB,CAAK,EACL,MAAW,EACX,OAAiB;IAEjB,+EAA+E;IAC/E,wEAAwE;IACxE,QAAQ;IACR,yCAAyC;IACzC,8DAA8D;IAC9D,2BAA2B;IAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;IACpB,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7B,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,IAAI,OAAO,KAAK,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAChG,sEAAsE;IACtE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO;IAC3B,IAAI,KAAK,GAAG,EAAE;QAAE,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;SAClC,IAAI,KAAK,GAAG,CAAC;QAAE,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;SACtC,IAAI,KAAK,GAAG,CAAC;QAAE,UAAU,GAAG,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;IACzE,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,0DAA0D;QAC3E,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzD,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE;gBAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IACvE,CAAC;IACD,OAAO,GAAQ,CAAC;AAClB,CAAC;AACD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,CAAK,EACL,MAAW,EACX,UAAkB;IAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;IACpB,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,4BAA4B;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,OAAiB,EAAK,EAAE;QAC9B,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YAChC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,kDAAkD;YAClD,IAAI,GAAG,KAAK,IAAI;gBAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE;oBAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;YACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,IAAI;oBAAE,SAAS,CAAC,2BAA2B;gBAChD,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAaD,SAAS,WAAW,CAAI,KAAa,EAAE,KAAiB,EAAE,IAAc;IACtE,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC7F,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,CAAC;QACN,OAAO,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAyB,CAAC;IACxD,CAAC;AACH,CAAC;AAGD,8CAA8C;AAC9C,MAAM,UAAU,iBAAiB,CAC/B,IAA+B,EAC/B,KAA0B,EAC1B,YAA8B,EAAE,EAChC,MAAgB;IAEhB,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC;IACtD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,eAAe,CAAC,CAAC;IAChG,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,EAAE,GAAc,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAU,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,aAAa;QACb,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3B,CAAC;AAMD,MAAM,UAAU,YAAY,CAC1B,eAAyB,EACzB,YAAoC;IAEpC,OAAO,SAAS,MAAM,CAAC,IAAiB;QACtC,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;IAC3D,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * hash-to-curve from RFC 9380.
3
+ * Hashes arbitrary-length byte strings to a list of one or more elements of a finite field F.
4
+ * https://www.rfc-editor.org/rfc/rfc9380
5
+ * @module
6
+ */
7
+ /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
8
+ import type { CHash } from '../utils.js';
9
+ import type { AffinePoint, PC_ANY, PC_F, PC_P } from './curve.js';
10
+ import { type IField } from './modular.js';
11
+ export type AsciiOrBytes = string | Uint8Array;
12
+ /**
13
+ * * `DST` is a domain separation tag, defined in section 2.2.5
14
+ * * `p` characteristic of F, where F is a finite field of characteristic p and order q = p^m
15
+ * * `m` is extension degree (1 for prime fields)
16
+ * * `k` is the target security target in bits (e.g. 128), from section 5.1
17
+ * * `expand` is `xmd` (SHA2, SHA3, BLAKE) or `xof` (SHAKE, BLAKE-XOF)
18
+ * * `hash` conforming to `utils.CHash` interface, with `outputLen` / `blockLen` props
19
+ */
20
+ export type H2COpts = {
21
+ DST: AsciiOrBytes;
22
+ expand: 'xmd' | 'xof';
23
+ hash: CHash;
24
+ p: bigint;
25
+ m: number;
26
+ k: number;
27
+ };
28
+ export type H2CHashOpts = {
29
+ expand: 'xmd' | 'xof';
30
+ hash: CHash;
31
+ };
32
+ export type MapToCurve<T> = (scalar: bigint[]) => AffinePoint<T>;
33
+ export type H2CDSTOpts = {
34
+ DST: AsciiOrBytes;
35
+ };
36
+ export type H2CHasherBase<PC extends PC_ANY> = {
37
+ hashToCurve(msg: Uint8Array, options?: H2CDSTOpts): PC_P<PC>;
38
+ hashToScalar(msg: Uint8Array, options?: H2CDSTOpts): bigint;
39
+ deriveToCurve?(msg: Uint8Array, options?: H2CDSTOpts): PC_P<PC>;
40
+ Point: PC;
41
+ };
42
+ /**
43
+ * RFC 9380 methods, with cofactor clearing. See https://www.rfc-editor.org/rfc/rfc9380#section-3.
44
+ *
45
+ * * hashToCurve: `map(hash(input))`, encodes RANDOM bytes to curve (WITH hashing)
46
+ * * encodeToCurve: `map(hash(input))`, encodes NON-UNIFORM bytes to curve (WITH hashing)
47
+ * * mapToCurve: `map(scalars)`, encodes NON-UNIFORM scalars to curve (NO hashing)
48
+ */
49
+ export type H2CHasher<PC extends PC_ANY> = H2CHasherBase<PC> & {
50
+ encodeToCurve(msg: Uint8Array, options?: H2CDSTOpts): PC_P<PC>;
51
+ mapToCurve: MapToCurve<PC_F<PC>>;
52
+ defaults: H2COpts & {
53
+ encodeDST?: AsciiOrBytes;
54
+ };
55
+ };
56
+ /**
57
+ * Produces a uniformly random byte string using a cryptographic hash function H that outputs b bits.
58
+ * [RFC 9380 5.3.1](https://www.rfc-editor.org/rfc/rfc9380#section-5.3.1).
59
+ */
60
+ export declare function expand_message_xmd(msg: Uint8Array, DST: AsciiOrBytes, lenInBytes: number, H: CHash): Uint8Array;
61
+ /**
62
+ * Produces a uniformly random byte string using an extendable-output function (XOF) H.
63
+ * 1. The collision resistance of H MUST be at least k bits.
64
+ * 2. H MUST be an XOF that has been proved indifferentiable from
65
+ * a random oracle under a reasonable cryptographic assumption.
66
+ * [RFC 9380 5.3.2](https://www.rfc-editor.org/rfc/rfc9380#section-5.3.2).
67
+ */
68
+ export declare function expand_message_xof(msg: Uint8Array, DST: AsciiOrBytes, lenInBytes: number, k: number, H: CHash): Uint8Array;
69
+ /**
70
+ * Hashes arbitrary-length byte strings to a list of one or more elements of a finite field F.
71
+ * [RFC 9380 5.2](https://www.rfc-editor.org/rfc/rfc9380#section-5.2).
72
+ * @param msg a byte string containing the message to hash
73
+ * @param count the number of elements of F to output
74
+ * @param options `{DST: string, p: bigint, m: number, k: number, expand: 'xmd' | 'xof', hash: H}`, see above
75
+ * @returns [u_0, ..., u_(count - 1)], a list of field elements.
76
+ */
77
+ export declare function hash_to_field(msg: Uint8Array, count: number, options: H2COpts): bigint[][];
78
+ type XY<T> = (x: T, y: T) => {
79
+ x: T;
80
+ y: T;
81
+ };
82
+ type XYRatio<T> = [T[], T[], T[], T[]];
83
+ export declare function isogenyMap<T, F extends IField<T>>(field: F, map: XYRatio<T>): XY<T>;
84
+ export declare const _DST_scalar: Uint8Array;
85
+ /** Creates hash-to-curve methods from EC Point and mapToCurve function. See {@link H2CHasher}. */
86
+ export declare function createHasher<PC extends PC_ANY>(Point: PC, mapToCurve: MapToCurve<PC_F<PC>>, defaults: H2COpts & {
87
+ encodeDST?: AsciiOrBytes;
88
+ }): H2CHasher<PC>;
89
+ export {};
90
+ //# sourceMappingURL=hash-to-curve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-to-curve.d.ts","sourceRoot":"","sources":["../../../../../../../../src/deps/jsr.io/@noble/curves/2.0.1/src/abstract/hash-to-curve.ts"],"names":[],"mappings":"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"}