@meteora-ag/cp-amm-sdk 1.0.0-rc.9 → 1.0.1-1.rc-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (975) hide show
  1. package/dist/index.d.mts +1266 -332
  2. package/dist/index.d.ts +1266 -332
  3. package/dist/index.js +1231 -362
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +1248 -379
  6. package/dist/index.mjs.map +1 -1
  7. package/node_modules/@babel/runtime/helpers/esm/interopRequireWildcard.js +19 -24
  8. package/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js +178 -210
  9. package/node_modules/@babel/runtime/helpers/interopRequireWildcard.js +19 -24
  10. package/node_modules/@babel/runtime/helpers/regeneratorRuntime.js +178 -210
  11. package/node_modules/@babel/runtime/package.json +1 -4
  12. package/node_modules/@coral-xyz/anchor/dist/browser/index.js +11 -12
  13. package/node_modules/@coral-xyz/anchor/dist/browser/index.js.map +1 -1
  14. package/node_modules/@coral-xyz/anchor/dist/browser/src/coder/borsh/idl.d.ts.map +1 -1
  15. package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/idl.d.ts.map +1 -1
  16. package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/idl.js +8 -9
  17. package/node_modules/@coral-xyz/anchor/dist/cjs/coder/borsh/idl.js.map +1 -1
  18. package/node_modules/@coral-xyz/anchor/dist/cjs/program/accounts-resolver.js +3 -3
  19. package/node_modules/@coral-xyz/anchor/dist/cjs/program/accounts-resolver.js.map +1 -1
  20. package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/idl.d.ts.map +1 -1
  21. package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/idl.js +8 -9
  22. package/node_modules/@coral-xyz/anchor/dist/esm/coder/borsh/idl.js.map +1 -1
  23. package/node_modules/@coral-xyz/anchor/dist/esm/program/accounts-resolver.js +3 -3
  24. package/node_modules/@coral-xyz/anchor/dist/esm/program/accounts-resolver.js.map +1 -1
  25. package/node_modules/@coral-xyz/anchor/dist/tsconfig.cjs.tsbuildinfo +1 -1
  26. package/node_modules/@coral-xyz/anchor/dist/tsconfig.tsbuildinfo +1 -1
  27. package/node_modules/@coral-xyz/anchor/package.json +3 -3
  28. package/node_modules/@coral-xyz/anchor-errors/package.json +1 -1
  29. package/node_modules/@coral-xyz/borsh/package.json +1 -1
  30. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/README.md +321 -436
  31. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/_shortw_utils.d.ts +2 -2
  32. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/_shortw_utils.js +2 -2
  33. package/node_modules/{@solana/web3.js/node_modules/@noble/curves/esm → @noble/curves}/abstract/bls.d.ts +5 -5
  34. package/node_modules/@noble/curves/abstract/bls.d.ts.map +1 -0
  35. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/bls.js +15 -16
  36. package/node_modules/@noble/curves/abstract/bls.js.map +1 -0
  37. package/node_modules/{@solana/web3.js/node_modules/@noble/curves/esm → @noble/curves}/abstract/curve.d.ts +11 -3
  38. package/node_modules/@noble/curves/abstract/curve.d.ts.map +1 -0
  39. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/curve.js +93 -81
  40. package/node_modules/@noble/curves/abstract/curve.js.map +1 -0
  41. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/edwards.d.ts +2 -2
  42. package/node_modules/@noble/curves/abstract/edwards.d.ts.map +1 -0
  43. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/edwards.js +72 -72
  44. package/node_modules/@noble/curves/abstract/edwards.js.map +1 -0
  45. package/node_modules/@noble/curves/abstract/fft.d.ts +120 -0
  46. package/node_modules/@noble/curves/abstract/fft.d.ts.map +1 -0
  47. package/node_modules/@noble/curves/abstract/fft.js +439 -0
  48. package/node_modules/@noble/curves/abstract/fft.js.map +1 -0
  49. package/node_modules/{@solana/web3.js/node_modules/@noble/curves/esm → @noble/curves}/abstract/hash-to-curve.d.ts +15 -9
  50. package/node_modules/@noble/curves/abstract/hash-to-curve.d.ts.map +1 -0
  51. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/hash-to-curve.js +49 -39
  52. package/node_modules/@noble/curves/abstract/hash-to-curve.js.map +1 -0
  53. package/node_modules/{@solana/web3.js/node_modules/@noble/curves/esm → @noble/curves}/abstract/modular.d.ts +13 -12
  54. package/node_modules/@noble/curves/abstract/modular.d.ts.map +1 -0
  55. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/modular.js +167 -167
  56. package/node_modules/@noble/curves/abstract/modular.js.map +1 -0
  57. package/node_modules/{@solana/web3.js/node_modules/@noble/curves/esm → @noble/curves}/abstract/montgomery.d.ts +4 -9
  58. package/node_modules/@noble/curves/abstract/montgomery.d.ts.map +1 -0
  59. package/node_modules/@noble/curves/abstract/montgomery.js +140 -0
  60. package/node_modules/@noble/curves/abstract/montgomery.js.map +1 -0
  61. package/node_modules/@noble/curves/abstract/poseidon.d.ts +76 -0
  62. package/node_modules/@noble/curves/abstract/poseidon.d.ts.map +1 -0
  63. package/node_modules/@noble/curves/abstract/poseidon.js +300 -0
  64. package/node_modules/@noble/curves/abstract/poseidon.js.map +1 -0
  65. package/node_modules/{@solana/web3.js/node_modules/@noble/curves/esm → @noble/curves}/abstract/tower.d.ts +2 -2
  66. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/tower.d.ts.map +1 -1
  67. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/tower.js +17 -18
  68. package/node_modules/@noble/curves/abstract/tower.js.map +1 -0
  69. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/utils.d.ts +5 -2
  70. package/node_modules/@noble/curves/abstract/utils.d.ts.map +1 -0
  71. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/utils.js +27 -14
  72. package/node_modules/@noble/curves/abstract/utils.js.map +1 -0
  73. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/weierstrass.d.ts +45 -10
  74. package/node_modules/@noble/curves/abstract/weierstrass.d.ts.map +1 -0
  75. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/abstract/weierstrass.js +153 -117
  76. package/node_modules/@noble/curves/abstract/weierstrass.js.map +1 -0
  77. package/node_modules/{@solana/web3.js/node_modules/@noble/curves/esm → @noble/curves}/bls12-381.d.ts +1 -1
  78. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/bls12-381.d.ts.map +1 -1
  79. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/bls12-381.js +50 -64
  80. package/node_modules/@noble/curves/bls12-381.js.map +1 -0
  81. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/bn254.d.ts +3 -2
  82. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/bn254.d.ts.map +1 -1
  83. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/bn254.js +39 -29
  84. package/node_modules/@noble/curves/bn254.js.map +1 -0
  85. package/node_modules/{@solana/web3.js/node_modules/@noble/curves/esm → @noble/curves}/ed25519.d.ts +26 -10
  86. package/node_modules/@noble/curves/ed25519.d.ts.map +1 -0
  87. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/ed25519.js +93 -83
  88. package/node_modules/@noble/curves/ed25519.js.map +1 -0
  89. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/ed448.d.ts +26 -10
  90. package/node_modules/@noble/curves/ed448.d.ts.map +1 -0
  91. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/ed448.js +92 -82
  92. package/node_modules/@noble/curves/ed448.js.map +1 -0
  93. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/_shortw_utils.d.ts +2 -2
  94. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/_shortw_utils.js +1 -1
  95. package/node_modules/{@solana/web3.js/node_modules/@noble/curves → @noble/curves/esm}/abstract/bls.d.ts +5 -5
  96. package/node_modules/@noble/curves/esm/abstract/bls.d.ts.map +1 -0
  97. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/bls.js +6 -7
  98. package/node_modules/@noble/curves/esm/abstract/bls.js.map +1 -0
  99. package/node_modules/{@solana/web3.js/node_modules/@noble/curves → @noble/curves/esm}/abstract/curve.d.ts +11 -3
  100. package/node_modules/@noble/curves/esm/abstract/curve.d.ts.map +1 -0
  101. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/curve.js +90 -78
  102. package/node_modules/@noble/curves/esm/abstract/curve.js.map +1 -0
  103. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/edwards.d.ts +2 -2
  104. package/node_modules/@noble/curves/esm/abstract/edwards.d.ts.map +1 -0
  105. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/edwards.js +53 -53
  106. package/node_modules/@noble/curves/esm/abstract/edwards.js.map +1 -0
  107. package/node_modules/@noble/curves/esm/abstract/fft.d.ts +120 -0
  108. package/node_modules/@noble/curves/esm/abstract/fft.d.ts.map +1 -0
  109. package/node_modules/@noble/curves/esm/abstract/fft.js +426 -0
  110. package/node_modules/@noble/curves/esm/abstract/fft.js.map +1 -0
  111. package/node_modules/{@solana/web3.js/node_modules/@noble/curves → @noble/curves/esm}/abstract/hash-to-curve.d.ts +15 -9
  112. package/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts.map +1 -0
  113. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/hash-to-curve.js +33 -23
  114. package/node_modules/@noble/curves/esm/abstract/hash-to-curve.js.map +1 -0
  115. package/node_modules/{@solana/web3.js/node_modules/@noble/curves → @noble/curves/esm}/abstract/modular.d.ts +13 -12
  116. package/node_modules/@noble/curves/esm/abstract/modular.d.ts.map +1 -0
  117. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/modular.js +159 -159
  118. package/node_modules/@noble/curves/esm/abstract/modular.js.map +1 -0
  119. package/node_modules/{@solana/web3.js/node_modules/@noble/curves → @noble/curves/esm}/abstract/montgomery.d.ts +4 -9
  120. package/node_modules/@noble/curves/esm/abstract/montgomery.d.ts.map +1 -0
  121. package/node_modules/@noble/curves/esm/abstract/montgomery.js +137 -0
  122. package/node_modules/@noble/curves/esm/abstract/montgomery.js.map +1 -0
  123. package/node_modules/@noble/curves/esm/abstract/poseidon.d.ts +76 -0
  124. package/node_modules/@noble/curves/esm/abstract/poseidon.d.ts.map +1 -0
  125. package/node_modules/@noble/curves/esm/abstract/poseidon.js +291 -0
  126. package/node_modules/@noble/curves/esm/abstract/poseidon.js.map +1 -0
  127. package/node_modules/{@solana/web3.js/node_modules/@noble/curves → @noble/curves/esm}/abstract/tower.d.ts +2 -2
  128. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/tower.d.ts.map +1 -1
  129. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/tower.js +9 -10
  130. package/node_modules/@noble/curves/esm/abstract/tower.js.map +1 -0
  131. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/utils.d.ts +5 -2
  132. package/node_modules/@noble/curves/esm/abstract/utils.d.ts.map +1 -0
  133. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/utils.js +26 -13
  134. package/node_modules/@noble/curves/esm/abstract/utils.js.map +1 -0
  135. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/weierstrass.d.ts +45 -10
  136. package/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts.map +1 -0
  137. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/abstract/weierstrass.js +127 -91
  138. package/node_modules/@noble/curves/esm/abstract/weierstrass.js.map +1 -0
  139. package/node_modules/{@solana/web3.js/node_modules/@noble/curves → @noble/curves/esm}/bls12-381.d.ts +1 -1
  140. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/bls12-381.d.ts.map +1 -1
  141. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/bls12-381.js +18 -32
  142. package/node_modules/@noble/curves/esm/bls12-381.js.map +1 -0
  143. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/bn254.d.ts +3 -2
  144. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/bn254.d.ts.map +1 -1
  145. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/bn254.js +17 -7
  146. package/node_modules/@noble/curves/esm/bn254.js.map +1 -0
  147. package/node_modules/{@solana/web3.js/node_modules/@noble/curves → @noble/curves/esm}/ed25519.d.ts +26 -10
  148. package/node_modules/@noble/curves/esm/ed25519.d.ts.map +1 -0
  149. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/ed25519.js +48 -38
  150. package/node_modules/@noble/curves/esm/ed25519.js.map +1 -0
  151. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/ed448.d.ts +26 -10
  152. package/node_modules/@noble/curves/esm/ed448.d.ts.map +1 -0
  153. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/ed448.js +59 -49
  154. package/node_modules/@noble/curves/esm/ed448.js.map +1 -0
  155. package/node_modules/@noble/curves/esm/jubjub.d.ts +12 -0
  156. package/node_modules/@noble/curves/esm/jubjub.d.ts.map +1 -0
  157. package/node_modules/@noble/curves/esm/jubjub.js +12 -0
  158. package/node_modules/@noble/curves/esm/jubjub.js.map +1 -0
  159. package/node_modules/@noble/curves/esm/misc.d.ts +21 -0
  160. package/node_modules/@noble/curves/esm/misc.d.ts.map +1 -0
  161. package/node_modules/@noble/curves/esm/misc.js +107 -0
  162. package/node_modules/@noble/curves/esm/misc.js.map +1 -0
  163. package/node_modules/@noble/curves/esm/nist.d.ts +30 -0
  164. package/node_modules/@noble/curves/esm/nist.d.ts.map +1 -0
  165. package/node_modules/@noble/curves/esm/nist.js +121 -0
  166. package/node_modules/@noble/curves/esm/nist.js.map +1 -0
  167. package/node_modules/@noble/curves/esm/p256.d.ts +12 -0
  168. package/node_modules/@noble/curves/esm/p256.d.ts.map +1 -0
  169. package/node_modules/@noble/curves/esm/p256.js +12 -0
  170. package/node_modules/@noble/curves/esm/p256.js.map +1 -0
  171. package/node_modules/@noble/curves/esm/p384.d.ts +13 -0
  172. package/node_modules/@noble/curves/esm/p384.d.ts.map +1 -0
  173. package/node_modules/@noble/curves/esm/p384.js +13 -0
  174. package/node_modules/@noble/curves/esm/p384.js.map +1 -0
  175. package/node_modules/@noble/curves/esm/p521.d.ts +12 -0
  176. package/node_modules/@noble/curves/esm/p521.d.ts.map +1 -0
  177. package/node_modules/@noble/curves/esm/p521.js +12 -0
  178. package/node_modules/@noble/curves/esm/p521.js.map +1 -0
  179. package/node_modules/@noble/curves/esm/pasta.d.ts +10 -0
  180. package/node_modules/@noble/curves/esm/pasta.d.ts.map +1 -0
  181. package/node_modules/@noble/curves/esm/pasta.js +10 -0
  182. package/node_modules/@noble/curves/esm/pasta.js.map +1 -0
  183. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/secp256k1.d.ts +15 -10
  184. package/node_modules/@noble/curves/esm/secp256k1.d.ts.map +1 -0
  185. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/secp256k1.js +23 -20
  186. package/node_modules/@noble/curves/esm/secp256k1.js.map +1 -0
  187. package/node_modules/@noble/curves/jubjub.d.ts +12 -0
  188. package/node_modules/@noble/curves/jubjub.d.ts.map +1 -0
  189. package/node_modules/@noble/curves/jubjub.js +15 -0
  190. package/node_modules/@noble/curves/jubjub.js.map +1 -0
  191. package/node_modules/@noble/curves/misc.d.ts +21 -0
  192. package/node_modules/@noble/curves/misc.d.ts.map +1 -0
  193. package/node_modules/@noble/curves/misc.js +112 -0
  194. package/node_modules/@noble/curves/misc.js.map +1 -0
  195. package/node_modules/@noble/curves/nist.d.ts +30 -0
  196. package/node_modules/@noble/curves/nist.d.ts.map +1 -0
  197. package/node_modules/@noble/curves/nist.js +124 -0
  198. package/node_modules/@noble/curves/nist.js.map +1 -0
  199. package/node_modules/@noble/curves/p256.d.ts +12 -0
  200. package/node_modules/@noble/curves/p256.d.ts.map +1 -0
  201. package/node_modules/@noble/curves/p256.js +9 -0
  202. package/node_modules/@noble/curves/p256.js.map +1 -0
  203. package/node_modules/@noble/curves/p384.d.ts +13 -0
  204. package/node_modules/@noble/curves/p384.d.ts.map +1 -0
  205. package/node_modules/@noble/curves/p384.js +10 -0
  206. package/node_modules/@noble/curves/p384.js.map +1 -0
  207. package/node_modules/@noble/curves/p521.d.ts +12 -0
  208. package/node_modules/@noble/curves/p521.d.ts.map +1 -0
  209. package/node_modules/@noble/curves/p521.js +9 -0
  210. package/node_modules/@noble/curves/p521.js.map +1 -0
  211. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/package.json +126 -13
  212. package/node_modules/@noble/curves/pasta.d.ts +10 -0
  213. package/node_modules/@noble/curves/pasta.d.ts.map +1 -0
  214. package/node_modules/@noble/curves/pasta.js +13 -0
  215. package/node_modules/@noble/curves/pasta.js.map +1 -0
  216. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/secp256k1.d.ts +15 -10
  217. package/node_modules/@noble/curves/secp256k1.d.ts.map +1 -0
  218. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/secp256k1.js +62 -59
  219. package/node_modules/@noble/curves/secp256k1.js.map +1 -0
  220. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/_shortw_utils.ts +2 -2
  221. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/abstract/bls.ts +10 -10
  222. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/abstract/curve.ts +99 -85
  223. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/abstract/edwards.ts +71 -64
  224. package/node_modules/@noble/curves/src/abstract/fft.ts +508 -0
  225. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/abstract/hash-to-curve.ts +49 -39
  226. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/abstract/modular.ts +155 -154
  227. package/node_modules/@noble/curves/src/abstract/montgomery.ts +165 -0
  228. package/node_modules/@noble/curves/src/abstract/poseidon.ts +331 -0
  229. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/abstract/tower.ts +10 -11
  230. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/abstract/utils.ts +28 -15
  231. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/abstract/weierstrass.ts +182 -120
  232. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/bls12-381.ts +21 -37
  233. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/bn254.ts +18 -8
  234. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/ed25519.ts +55 -40
  235. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/ed448.ts +105 -88
  236. package/node_modules/@noble/curves/src/jubjub.ts +12 -0
  237. package/node_modules/@noble/curves/src/misc.ts +123 -0
  238. package/node_modules/@noble/curves/src/nist.ts +155 -0
  239. package/node_modules/@noble/curves/src/p256.ts +11 -0
  240. package/node_modules/@noble/curves/src/p384.ts +13 -0
  241. package/node_modules/@noble/curves/src/p521.ts +11 -0
  242. package/node_modules/@noble/curves/src/pasta.ts +9 -0
  243. package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/secp256k1.ts +27 -22
  244. package/node_modules/@noble/hashes/README.md +217 -268
  245. package/node_modules/@noble/hashes/_assert.d.ts +12 -18
  246. package/node_modules/@noble/hashes/_assert.d.ts.map +1 -1
  247. package/node_modules/@noble/hashes/_assert.js +12 -44
  248. package/node_modules/@noble/hashes/_assert.js.map +1 -1
  249. package/node_modules/@noble/hashes/_blake.d.ts +8 -28
  250. package/node_modules/@noble/hashes/_blake.d.ts.map +1 -1
  251. package/node_modules/@noble/hashes/_blake.js +19 -106
  252. package/node_modules/@noble/hashes/_blake.js.map +1 -1
  253. package/node_modules/@noble/hashes/_md.d.ts +22 -5
  254. package/node_modules/@noble/hashes/_md.d.ts.map +1 -1
  255. package/node_modules/@noble/hashes/_md.js +43 -18
  256. package/node_modules/@noble/hashes/_md.js.map +1 -1
  257. package/node_modules/@noble/hashes/_u64.d.ts +1 -1
  258. package/node_modules/@noble/hashes/_u64.d.ts.map +1 -1
  259. package/node_modules/@noble/hashes/_u64.js +6 -5
  260. package/node_modules/@noble/hashes/_u64.js.map +1 -1
  261. package/node_modules/@noble/hashes/argon2.d.ts +9 -9
  262. package/node_modules/@noble/hashes/argon2.d.ts.map +1 -1
  263. package/node_modules/@noble/hashes/argon2.js +62 -57
  264. package/node_modules/@noble/hashes/argon2.js.map +1 -1
  265. package/node_modules/@noble/hashes/blake1.d.ts +19 -39
  266. package/node_modules/@noble/hashes/blake1.d.ts.map +1 -1
  267. package/node_modules/@noble/hashes/blake1.js +107 -119
  268. package/node_modules/@noble/hashes/blake1.js.map +1 -1
  269. package/node_modules/@noble/hashes/blake2.d.ts +116 -0
  270. package/node_modules/@noble/hashes/blake2.d.ts.map +1 -0
  271. package/node_modules/@noble/hashes/blake2.js +420 -0
  272. package/node_modules/@noble/hashes/blake2.js.map +1 -0
  273. package/node_modules/@noble/hashes/blake2b.d.ts +6 -48
  274. package/node_modules/@noble/hashes/blake2b.d.ts.map +1 -1
  275. package/node_modules/@noble/hashes/blake2b.js +6 -189
  276. package/node_modules/@noble/hashes/blake2b.js.map +1 -1
  277. package/node_modules/@noble/hashes/blake2s.d.ts +14 -55
  278. package/node_modules/@noble/hashes/blake2s.d.ts.map +1 -1
  279. package/node_modules/@noble/hashes/blake2s.js +17 -125
  280. package/node_modules/@noble/hashes/blake2s.js.map +1 -1
  281. package/node_modules/@noble/hashes/blake3.d.ts +6 -6
  282. package/node_modules/@noble/hashes/blake3.d.ts.map +1 -1
  283. package/node_modules/@noble/hashes/blake3.js +62 -62
  284. package/node_modules/@noble/hashes/blake3.js.map +1 -1
  285. package/node_modules/@noble/hashes/eskdf.d.ts.map +1 -1
  286. package/node_modules/@noble/hashes/eskdf.js +18 -20
  287. package/node_modules/@noble/hashes/eskdf.js.map +1 -1
  288. package/node_modules/@noble/hashes/esm/_assert.d.ts +12 -18
  289. package/node_modules/@noble/hashes/esm/_assert.d.ts.map +1 -1
  290. package/node_modules/@noble/hashes/esm/_assert.js +10 -39
  291. package/node_modules/@noble/hashes/esm/_assert.js.map +1 -1
  292. package/node_modules/@noble/hashes/esm/_blake.d.ts +8 -28
  293. package/node_modules/@noble/hashes/esm/_blake.d.ts.map +1 -1
  294. package/node_modules/@noble/hashes/esm/_blake.js +16 -104
  295. package/node_modules/@noble/hashes/esm/_blake.js.map +1 -1
  296. package/node_modules/@noble/hashes/esm/_md.d.ts +22 -5
  297. package/node_modules/@noble/hashes/esm/_md.d.ts.map +1 -1
  298. package/node_modules/@noble/hashes/esm/_md.js +35 -10
  299. package/node_modules/@noble/hashes/esm/_md.js.map +1 -1
  300. package/node_modules/@noble/hashes/esm/_u64.d.ts +1 -1
  301. package/node_modules/@noble/hashes/esm/_u64.d.ts.map +1 -1
  302. package/node_modules/@noble/hashes/esm/_u64.js +5 -4
  303. package/node_modules/@noble/hashes/esm/_u64.js.map +1 -1
  304. package/node_modules/@noble/hashes/esm/argon2.d.ts +9 -9
  305. package/node_modules/@noble/hashes/esm/argon2.d.ts.map +1 -1
  306. package/node_modules/@noble/hashes/esm/argon2.js +44 -39
  307. package/node_modules/@noble/hashes/esm/argon2.js.map +1 -1
  308. package/node_modules/@noble/hashes/esm/blake1.d.ts +19 -39
  309. package/node_modules/@noble/hashes/esm/blake1.d.ts.map +1 -1
  310. package/node_modules/@noble/hashes/esm/blake1.js +84 -96
  311. package/node_modules/@noble/hashes/esm/blake1.js.map +1 -1
  312. package/node_modules/@noble/hashes/esm/blake2.d.ts +116 -0
  313. package/node_modules/@noble/hashes/esm/blake2.d.ts.map +1 -0
  314. package/node_modules/@noble/hashes/esm/blake2.js +413 -0
  315. package/node_modules/@noble/hashes/esm/blake2.js.map +1 -0
  316. package/node_modules/@noble/hashes/esm/blake2b.d.ts +6 -48
  317. package/node_modules/@noble/hashes/esm/blake2b.d.ts.map +1 -1
  318. package/node_modules/@noble/hashes/esm/blake2b.js +6 -188
  319. package/node_modules/@noble/hashes/esm/blake2b.js.map +1 -1
  320. package/node_modules/@noble/hashes/esm/blake2s.d.ts +14 -55
  321. package/node_modules/@noble/hashes/esm/blake2s.d.ts.map +1 -1
  322. package/node_modules/@noble/hashes/esm/blake2s.js +16 -120
  323. package/node_modules/@noble/hashes/esm/blake2s.js.map +1 -1
  324. package/node_modules/@noble/hashes/esm/blake3.d.ts +6 -6
  325. package/node_modules/@noble/hashes/esm/blake3.d.ts.map +1 -1
  326. package/node_modules/@noble/hashes/esm/blake3.js +46 -57
  327. package/node_modules/@noble/hashes/esm/blake3.js.map +1 -1
  328. package/node_modules/@noble/hashes/esm/eskdf.d.ts.map +1 -1
  329. package/node_modules/@noble/hashes/esm/eskdf.js +9 -11
  330. package/node_modules/@noble/hashes/esm/eskdf.js.map +1 -1
  331. package/node_modules/@noble/hashes/esm/hkdf.d.ts +1 -1
  332. package/node_modules/@noble/hashes/esm/hkdf.d.ts.map +1 -1
  333. package/node_modules/@noble/hashes/esm/hkdf.js +10 -11
  334. package/node_modules/@noble/hashes/esm/hkdf.js.map +1 -1
  335. package/node_modules/@noble/hashes/esm/hmac.d.ts +6 -1
  336. package/node_modules/@noble/hashes/esm/hmac.d.ts.map +1 -1
  337. package/node_modules/@noble/hashes/esm/hmac.js +5 -3
  338. package/node_modules/@noble/hashes/esm/hmac.js.map +1 -1
  339. package/node_modules/@noble/hashes/esm/index.js +3 -5
  340. package/node_modules/@noble/hashes/esm/index.js.map +1 -1
  341. package/node_modules/@noble/hashes/esm/legacy.d.ts +71 -0
  342. package/node_modules/@noble/hashes/esm/legacy.d.ts.map +1 -0
  343. package/node_modules/@noble/hashes/esm/legacy.js +281 -0
  344. package/node_modules/@noble/hashes/esm/legacy.js.map +1 -0
  345. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts +4 -4
  346. package/node_modules/@noble/hashes/esm/pbkdf2.d.ts.map +1 -1
  347. package/node_modules/@noble/hashes/esm/pbkdf2.js +8 -8
  348. package/node_modules/@noble/hashes/esm/pbkdf2.js.map +1 -1
  349. package/node_modules/@noble/hashes/esm/ripemd160.d.ts +6 -17
  350. package/node_modules/@noble/hashes/esm/ripemd160.d.ts.map +1 -1
  351. package/node_modules/@noble/hashes/esm/ripemd160.js +6 -96
  352. package/node_modules/@noble/hashes/esm/ripemd160.js.map +1 -1
  353. package/node_modules/@noble/hashes/esm/scrypt.d.ts +3 -3
  354. package/node_modules/@noble/hashes/esm/scrypt.d.ts.map +1 -1
  355. package/node_modules/@noble/hashes/esm/scrypt.js +14 -19
  356. package/node_modules/@noble/hashes/esm/scrypt.js.map +1 -1
  357. package/node_modules/@noble/hashes/esm/sha1.d.ts +6 -17
  358. package/node_modules/@noble/hashes/esm/sha1.d.ts.map +1 -1
  359. package/node_modules/@noble/hashes/esm/sha1.js +6 -79
  360. package/node_modules/@noble/hashes/esm/sha1.js.map +1 -1
  361. package/node_modules/@noble/hashes/esm/sha2.d.ts +155 -3
  362. package/node_modules/@noble/hashes/esm/sha2.d.ts.map +1 -1
  363. package/node_modules/@noble/hashes/esm/sha2.js +371 -4
  364. package/node_modules/@noble/hashes/esm/sha2.js.map +1 -1
  365. package/node_modules/@noble/hashes/esm/sha256.d.ts +10 -22
  366. package/node_modules/@noble/hashes/esm/sha256.d.ts.map +1 -1
  367. package/node_modules/@noble/hashes/esm/sha256.js +10 -120
  368. package/node_modules/@noble/hashes/esm/sha256.js.map +1 -1
  369. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts +16 -4
  370. package/node_modules/@noble/hashes/esm/sha3-addons.d.ts.map +1 -1
  371. package/node_modules/@noble/hashes/esm/sha3-addons.js +27 -21
  372. package/node_modules/@noble/hashes/esm/sha3-addons.js.map +1 -1
  373. package/node_modules/@noble/hashes/esm/sha3.d.ts +7 -6
  374. package/node_modules/@noble/hashes/esm/sha3.d.ts.map +1 -1
  375. package/node_modules/@noble/hashes/esm/sha3.js +42 -35
  376. package/node_modules/@noble/hashes/esm/sha3.js.map +1 -1
  377. package/node_modules/@noble/hashes/esm/sha512.d.ts +18 -108
  378. package/node_modules/@noble/hashes/esm/sha512.d.ts.map +1 -1
  379. package/node_modules/@noble/hashes/esm/sha512.js +18 -234
  380. package/node_modules/@noble/hashes/esm/sha512.js.map +1 -1
  381. package/node_modules/@noble/hashes/esm/utils.d.ts +60 -19
  382. package/node_modules/@noble/hashes/esm/utils.d.ts.map +1 -1
  383. package/node_modules/@noble/hashes/esm/utils.js +94 -25
  384. package/node_modules/@noble/hashes/esm/utils.js.map +1 -1
  385. package/node_modules/@noble/hashes/hkdf.d.ts +1 -1
  386. package/node_modules/@noble/hashes/hkdf.d.ts.map +1 -1
  387. package/node_modules/@noble/hashes/hkdf.js +15 -16
  388. package/node_modules/@noble/hashes/hkdf.js.map +1 -1
  389. package/node_modules/@noble/hashes/hmac.d.ts +6 -1
  390. package/node_modules/@noble/hashes/hmac.d.ts.map +1 -1
  391. package/node_modules/@noble/hashes/hmac.js +11 -9
  392. package/node_modules/@noble/hashes/hmac.js.map +1 -1
  393. package/node_modules/@noble/hashes/index.js +3 -5
  394. package/node_modules/@noble/hashes/index.js.map +1 -1
  395. package/node_modules/@noble/hashes/legacy.d.ts +71 -0
  396. package/node_modules/@noble/hashes/legacy.d.ts.map +1 -0
  397. package/node_modules/@noble/hashes/legacy.js +287 -0
  398. package/node_modules/@noble/hashes/legacy.js.map +1 -0
  399. package/node_modules/@noble/hashes/package.json +104 -6
  400. package/node_modules/@noble/hashes/pbkdf2.d.ts +4 -4
  401. package/node_modules/@noble/hashes/pbkdf2.d.ts.map +1 -1
  402. package/node_modules/@noble/hashes/pbkdf2.js +17 -17
  403. package/node_modules/@noble/hashes/pbkdf2.js.map +1 -1
  404. package/node_modules/@noble/hashes/ripemd160.d.ts +6 -17
  405. package/node_modules/@noble/hashes/ripemd160.d.ts.map +1 -1
  406. package/node_modules/@noble/hashes/ripemd160.js +6 -97
  407. package/node_modules/@noble/hashes/ripemd160.js.map +1 -1
  408. package/node_modules/@noble/hashes/scrypt.d.ts +3 -3
  409. package/node_modules/@noble/hashes/scrypt.d.ts.map +1 -1
  410. package/node_modules/@noble/hashes/scrypt.js +60 -65
  411. package/node_modules/@noble/hashes/scrypt.js.map +1 -1
  412. package/node_modules/@noble/hashes/sha1.d.ts +6 -17
  413. package/node_modules/@noble/hashes/sha1.d.ts.map +1 -1
  414. package/node_modules/@noble/hashes/sha1.js +6 -80
  415. package/node_modules/@noble/hashes/sha1.js.map +1 -1
  416. package/node_modules/@noble/hashes/sha2.d.ts +155 -3
  417. package/node_modules/@noble/hashes/sha2.d.ts.map +1 -1
  418. package/node_modules/@noble/hashes/sha2.js +378 -11
  419. package/node_modules/@noble/hashes/sha2.js.map +1 -1
  420. package/node_modules/@noble/hashes/sha256.d.ts +10 -22
  421. package/node_modules/@noble/hashes/sha256.d.ts.map +1 -1
  422. package/node_modules/@noble/hashes/sha256.js +11 -122
  423. package/node_modules/@noble/hashes/sha256.js.map +1 -1
  424. package/node_modules/@noble/hashes/sha3-addons.d.ts +16 -4
  425. package/node_modules/@noble/hashes/sha3-addons.d.ts.map +1 -1
  426. package/node_modules/@noble/hashes/sha3-addons.js +41 -35
  427. package/node_modules/@noble/hashes/sha3-addons.js.map +1 -1
  428. package/node_modules/@noble/hashes/sha3.d.ts +7 -6
  429. package/node_modules/@noble/hashes/sha3.d.ts.map +1 -1
  430. package/node_modules/@noble/hashes/sha3.js +52 -45
  431. package/node_modules/@noble/hashes/sha3.js.map +1 -1
  432. package/node_modules/@noble/hashes/sha512.d.ts +18 -108
  433. package/node_modules/@noble/hashes/sha512.d.ts.map +1 -1
  434. package/node_modules/@noble/hashes/sha512.js +19 -239
  435. package/node_modules/@noble/hashes/sha512.js.map +1 -1
  436. package/node_modules/@noble/hashes/src/_assert.ts +18 -50
  437. package/node_modules/@noble/hashes/src/_blake.ts +18 -115
  438. package/node_modules/@noble/hashes/src/_md.ts +47 -12
  439. package/node_modules/@noble/hashes/src/_u64.ts +5 -9
  440. package/node_modules/@noble/hashes/src/argon2.ts +60 -49
  441. package/node_modules/@noble/hashes/src/blake1.ts +112 -126
  442. package/node_modules/@noble/hashes/src/blake2.ts +486 -0
  443. package/node_modules/@noble/hashes/src/blake2b.ts +6 -205
  444. package/node_modules/@noble/hashes/src/blake2s.ts +16 -150
  445. package/node_modules/@noble/hashes/src/blake3.ts +53 -62
  446. package/node_modules/@noble/hashes/src/eskdf.ts +9 -11
  447. package/node_modules/@noble/hashes/src/hkdf.ts +10 -11
  448. package/node_modules/@noble/hashes/src/hmac.ts +5 -3
  449. package/node_modules/@noble/hashes/src/index.ts +3 -5
  450. package/node_modules/@noble/hashes/src/legacy.ts +293 -0
  451. package/node_modules/@noble/hashes/src/pbkdf2.ts +20 -18
  452. package/node_modules/@noble/hashes/src/ripemd160.ts +6 -103
  453. package/node_modules/@noble/hashes/src/scrypt.ts +25 -20
  454. package/node_modules/@noble/hashes/src/sha1.ts +6 -79
  455. package/node_modules/@noble/hashes/src/sha2.ts +399 -4
  456. package/node_modules/@noble/hashes/src/sha256.ts +15 -127
  457. package/node_modules/@noble/hashes/src/sha3-addons.ts +34 -23
  458. package/node_modules/@noble/hashes/src/sha3.ts +59 -45
  459. package/node_modules/@noble/hashes/src/sha512.ts +27 -250
  460. package/node_modules/@noble/hashes/src/utils.ts +132 -42
  461. package/node_modules/@noble/hashes/utils.d.ts +60 -19
  462. package/node_modules/@noble/hashes/utils.d.ts.map +1 -1
  463. package/node_modules/@noble/hashes/utils.js +110 -33
  464. package/node_modules/@noble/hashes/utils.js.map +1 -1
  465. package/node_modules/{file-uri-to-path → @solana/codecs-core}/LICENSE +8 -8
  466. package/node_modules/@solana/codecs-core/README.md +662 -0
  467. package/node_modules/@solana/codecs-core/dist/index.browser.cjs +504 -0
  468. package/node_modules/@solana/codecs-core/dist/index.browser.cjs.map +1 -0
  469. package/node_modules/@solana/codecs-core/dist/index.browser.mjs +460 -0
  470. package/node_modules/@solana/codecs-core/dist/index.browser.mjs.map +1 -0
  471. package/node_modules/@solana/codecs-core/dist/index.native.mjs +460 -0
  472. package/node_modules/@solana/codecs-core/dist/index.native.mjs.map +1 -0
  473. package/node_modules/@solana/codecs-core/dist/index.node.cjs +504 -0
  474. package/node_modules/@solana/codecs-core/dist/index.node.cjs.map +1 -0
  475. package/node_modules/@solana/codecs-core/dist/index.node.mjs +460 -0
  476. package/node_modules/@solana/codecs-core/dist/index.node.mjs.map +1 -0
  477. package/node_modules/@solana/codecs-core/dist/types/add-codec-sentinel.d.ts +70 -0
  478. package/node_modules/@solana/codecs-core/dist/types/add-codec-sentinel.d.ts.map +1 -0
  479. package/node_modules/@solana/codecs-core/dist/types/add-codec-size-prefix.d.ts +67 -0
  480. package/node_modules/@solana/codecs-core/dist/types/add-codec-size-prefix.d.ts.map +1 -0
  481. package/node_modules/@solana/codecs-core/dist/types/assertions.d.ts +62 -0
  482. package/node_modules/@solana/codecs-core/dist/types/assertions.d.ts.map +1 -0
  483. package/node_modules/@solana/codecs-core/dist/types/bytes.d.ts +92 -0
  484. package/node_modules/@solana/codecs-core/dist/types/bytes.d.ts.map +1 -0
  485. package/node_modules/@solana/codecs-core/dist/types/codec.d.ts +827 -0
  486. package/node_modules/@solana/codecs-core/dist/types/codec.d.ts.map +1 -0
  487. package/node_modules/@solana/codecs-core/dist/types/combine-codec.d.ts +75 -0
  488. package/node_modules/@solana/codecs-core/dist/types/combine-codec.d.ts.map +1 -0
  489. package/node_modules/@solana/codecs-core/dist/types/fix-codec-size.d.ts +111 -0
  490. package/node_modules/@solana/codecs-core/dist/types/fix-codec-size.d.ts.map +1 -0
  491. package/node_modules/@solana/codecs-core/dist/types/index.d.ts +667 -0
  492. package/node_modules/@solana/codecs-core/dist/types/index.d.ts.map +1 -0
  493. package/node_modules/@solana/codecs-core/dist/types/offset-codec.d.ts +328 -0
  494. package/node_modules/@solana/codecs-core/dist/types/offset-codec.d.ts.map +1 -0
  495. package/node_modules/@solana/codecs-core/dist/types/pad-codec.d.ts +162 -0
  496. package/node_modules/@solana/codecs-core/dist/types/pad-codec.d.ts.map +1 -0
  497. package/node_modules/@solana/codecs-core/dist/types/readonly-uint8array.d.ts +19 -0
  498. package/node_modules/@solana/codecs-core/dist/types/readonly-uint8array.d.ts.map +1 -0
  499. package/node_modules/@solana/codecs-core/dist/types/resize-codec.d.ts +129 -0
  500. package/node_modules/@solana/codecs-core/dist/types/resize-codec.d.ts.map +1 -0
  501. package/node_modules/@solana/codecs-core/dist/types/reverse-codec.d.ts +92 -0
  502. package/node_modules/@solana/codecs-core/dist/types/reverse-codec.d.ts.map +1 -0
  503. package/node_modules/@solana/codecs-core/dist/types/transform-codec.d.ts +114 -0
  504. package/node_modules/@solana/codecs-core/dist/types/transform-codec.d.ts.map +1 -0
  505. package/node_modules/@solana/codecs-core/package.json +83 -0
  506. package/node_modules/@solana/codecs-numbers/LICENSE +20 -0
  507. package/node_modules/@solana/codecs-numbers/README.md +130 -0
  508. package/node_modules/@solana/codecs-numbers/dist/index.browser.cjs +331 -0
  509. package/node_modules/@solana/codecs-numbers/dist/index.browser.cjs.map +1 -0
  510. package/node_modules/@solana/codecs-numbers/dist/index.browser.mjs +289 -0
  511. package/node_modules/@solana/codecs-numbers/dist/index.browser.mjs.map +1 -0
  512. package/node_modules/@solana/codecs-numbers/dist/index.native.mjs +289 -0
  513. package/node_modules/@solana/codecs-numbers/dist/index.native.mjs.map +1 -0
  514. package/node_modules/@solana/codecs-numbers/dist/index.node.cjs +331 -0
  515. package/node_modules/@solana/codecs-numbers/dist/index.node.cjs.map +1 -0
  516. package/node_modules/@solana/codecs-numbers/dist/index.node.mjs +289 -0
  517. package/node_modules/@solana/codecs-numbers/dist/index.node.mjs.map +1 -0
  518. package/node_modules/@solana/codecs-numbers/dist/types/assertions.d.ts +27 -0
  519. package/node_modules/@solana/codecs-numbers/dist/types/assertions.d.ts.map +1 -0
  520. package/node_modules/@solana/codecs-numbers/dist/types/common.d.ts +84 -0
  521. package/node_modules/@solana/codecs-numbers/dist/types/common.d.ts.map +1 -0
  522. package/node_modules/@solana/codecs-numbers/dist/types/f32.d.ts +87 -0
  523. package/node_modules/@solana/codecs-numbers/dist/types/f32.d.ts.map +1 -0
  524. package/node_modules/@solana/codecs-numbers/dist/types/f64.d.ts +87 -0
  525. package/node_modules/@solana/codecs-numbers/dist/types/f64.d.ts.map +1 -0
  526. package/node_modules/@solana/codecs-numbers/dist/types/i128.d.ts +91 -0
  527. package/node_modules/@solana/codecs-numbers/dist/types/i128.d.ts.map +1 -0
  528. package/node_modules/@solana/codecs-numbers/dist/types/i16.d.ts +87 -0
  529. package/node_modules/@solana/codecs-numbers/dist/types/i16.d.ts.map +1 -0
  530. package/node_modules/@solana/codecs-numbers/dist/types/i32.d.ts +87 -0
  531. package/node_modules/@solana/codecs-numbers/dist/types/i32.d.ts.map +1 -0
  532. package/node_modules/@solana/codecs-numbers/dist/types/i64.d.ts +90 -0
  533. package/node_modules/@solana/codecs-numbers/dist/types/i64.d.ts.map +1 -0
  534. package/node_modules/@solana/codecs-numbers/dist/types/i8.d.ts +75 -0
  535. package/node_modules/@solana/codecs-numbers/dist/types/i8.d.ts.map +1 -0
  536. package/node_modules/@solana/codecs-numbers/dist/types/index.d.ts +26 -0
  537. package/node_modules/@solana/codecs-numbers/dist/types/index.d.ts.map +1 -0
  538. package/node_modules/@solana/codecs-numbers/dist/types/short-u16.d.ts +96 -0
  539. package/node_modules/@solana/codecs-numbers/dist/types/short-u16.d.ts.map +1 -0
  540. package/node_modules/@solana/codecs-numbers/dist/types/u128.d.ts +87 -0
  541. package/node_modules/@solana/codecs-numbers/dist/types/u128.d.ts.map +1 -0
  542. package/node_modules/@solana/codecs-numbers/dist/types/u16.d.ts +85 -0
  543. package/node_modules/@solana/codecs-numbers/dist/types/u16.d.ts.map +1 -0
  544. package/node_modules/@solana/codecs-numbers/dist/types/u32.d.ts +85 -0
  545. package/node_modules/@solana/codecs-numbers/dist/types/u32.d.ts.map +1 -0
  546. package/node_modules/@solana/codecs-numbers/dist/types/u64.d.ts +88 -0
  547. package/node_modules/@solana/codecs-numbers/dist/types/u64.d.ts.map +1 -0
  548. package/node_modules/@solana/codecs-numbers/dist/types/u8.d.ts +71 -0
  549. package/node_modules/@solana/codecs-numbers/dist/types/u8.d.ts.map +1 -0
  550. package/node_modules/@solana/codecs-numbers/dist/types/utils.d.ts +18 -0
  551. package/node_modules/@solana/codecs-numbers/dist/types/utils.d.ts.map +1 -0
  552. package/node_modules/@solana/codecs-numbers/package.json +83 -0
  553. package/node_modules/@solana/errors/LICENSE +20 -0
  554. package/node_modules/@solana/errors/README.md +87 -0
  555. package/node_modules/@solana/errors/bin/cli.mjs +7 -0
  556. package/node_modules/@solana/errors/dist/cli.mjs +570 -0
  557. package/node_modules/@solana/errors/dist/index.browser.cjs +1084 -0
  558. package/node_modules/@solana/errors/dist/index.browser.cjs.map +1 -0
  559. package/node_modules/@solana/errors/dist/index.browser.mjs +852 -0
  560. package/node_modules/@solana/errors/dist/index.browser.mjs.map +1 -0
  561. package/node_modules/@solana/errors/dist/index.native.mjs +852 -0
  562. package/node_modules/@solana/errors/dist/index.native.mjs.map +1 -0
  563. package/node_modules/@solana/errors/dist/index.node.cjs +1084 -0
  564. package/node_modules/@solana/errors/dist/index.node.cjs.map +1 -0
  565. package/node_modules/@solana/errors/dist/index.node.mjs +852 -0
  566. package/node_modules/@solana/errors/dist/index.node.mjs.map +1 -0
  567. package/node_modules/@solana/errors/dist/types/codes.d.ts +275 -0
  568. package/node_modules/@solana/errors/dist/types/codes.d.ts.map +1 -0
  569. package/node_modules/@solana/errors/dist/types/context.d.ts +398 -0
  570. package/node_modules/@solana/errors/dist/types/context.d.ts.map +1 -0
  571. package/node_modules/@solana/errors/dist/types/error.d.ts +75 -0
  572. package/node_modules/@solana/errors/dist/types/error.d.ts.map +1 -0
  573. package/node_modules/@solana/errors/dist/types/index.d.ts +72 -0
  574. package/node_modules/@solana/errors/dist/types/index.d.ts.map +1 -0
  575. package/node_modules/@solana/errors/dist/types/instruction-error.d.ts +9 -0
  576. package/node_modules/@solana/errors/dist/types/instruction-error.d.ts.map +1 -0
  577. package/node_modules/@solana/errors/dist/types/json-rpc-error.d.ts +51 -0
  578. package/node_modules/@solana/errors/dist/types/json-rpc-error.d.ts.map +1 -0
  579. package/node_modules/@solana/errors/dist/types/message-formatter.d.ts +4 -0
  580. package/node_modules/@solana/errors/dist/types/message-formatter.d.ts.map +1 -0
  581. package/node_modules/@solana/errors/dist/types/messages.d.ts +16 -0
  582. package/node_modules/@solana/errors/dist/types/messages.d.ts.map +1 -0
  583. package/node_modules/@solana/errors/dist/types/rpc-enum-errors.d.ts +31 -0
  584. package/node_modules/@solana/errors/dist/types/rpc-enum-errors.d.ts.map +1 -0
  585. package/node_modules/@solana/errors/dist/types/stack-trace.d.ts +2 -0
  586. package/node_modules/@solana/errors/dist/types/stack-trace.d.ts.map +1 -0
  587. package/node_modules/@solana/errors/dist/types/transaction-error.d.ts +5 -0
  588. package/node_modules/@solana/errors/dist/types/transaction-error.d.ts.map +1 -0
  589. package/node_modules/@solana/errors/node_modules/chalk/package.json +83 -0
  590. package/node_modules/@solana/errors/node_modules/chalk/readme.md +297 -0
  591. package/node_modules/@solana/errors/node_modules/chalk/source/index.d.ts +325 -0
  592. package/node_modules/@solana/errors/node_modules/chalk/source/index.js +225 -0
  593. package/node_modules/@solana/errors/node_modules/chalk/source/utilities.js +33 -0
  594. package/node_modules/@solana/errors/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  595. package/node_modules/@solana/errors/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  596. package/node_modules/@solana/errors/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  597. package/node_modules/@solana/errors/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  598. package/node_modules/@solana/errors/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  599. package/node_modules/@solana/errors/node_modules/chalk/source/vendor/supports-color/index.js +182 -0
  600. package/node_modules/{bindings/LICENSE.md → @solana/errors/node_modules/commander/LICENSE} +1 -1
  601. package/node_modules/@solana/errors/node_modules/commander/Readme.md +1149 -0
  602. package/node_modules/@solana/errors/node_modules/commander/esm.mjs +16 -0
  603. package/node_modules/@solana/errors/node_modules/commander/index.js +24 -0
  604. package/node_modules/@solana/errors/node_modules/commander/lib/argument.js +149 -0
  605. package/node_modules/@solana/errors/node_modules/commander/lib/command.js +2662 -0
  606. package/node_modules/@solana/errors/node_modules/commander/lib/error.js +39 -0
  607. package/node_modules/@solana/errors/node_modules/commander/lib/help.js +709 -0
  608. package/node_modules/@solana/errors/node_modules/commander/lib/option.js +367 -0
  609. package/node_modules/@solana/errors/node_modules/commander/lib/suggestSimilar.js +101 -0
  610. package/node_modules/@solana/errors/node_modules/commander/package-support.json +16 -0
  611. package/node_modules/@solana/errors/node_modules/commander/package.json +82 -0
  612. package/node_modules/@solana/errors/node_modules/commander/typings/esm.d.mts +3 -0
  613. package/node_modules/@solana/errors/node_modules/commander/typings/index.d.ts +1045 -0
  614. package/node_modules/@solana/errors/package.json +84 -0
  615. package/node_modules/@solana/web3.js/README.md +4 -4
  616. package/node_modules/@solana/web3.js/lib/index.browser.cjs.js +10 -20
  617. package/node_modules/@solana/web3.js/lib/index.browser.cjs.js.map +1 -1
  618. package/node_modules/@solana/web3.js/lib/index.browser.esm.js +8 -18
  619. package/node_modules/@solana/web3.js/lib/index.browser.esm.js.map +1 -1
  620. package/node_modules/@solana/web3.js/lib/index.cjs.js +10 -20
  621. package/node_modules/@solana/web3.js/lib/index.cjs.js.map +1 -1
  622. package/node_modules/@solana/web3.js/lib/index.esm.js +8 -18
  623. package/node_modules/@solana/web3.js/lib/index.esm.js.map +1 -1
  624. package/node_modules/@solana/web3.js/lib/index.iife.js +213 -88
  625. package/node_modules/@solana/web3.js/lib/index.iife.js.map +1 -1
  626. package/node_modules/@solana/web3.js/lib/index.iife.min.js +2 -2
  627. package/node_modules/@solana/web3.js/lib/index.iife.min.js.map +1 -1
  628. package/node_modules/@solana/web3.js/lib/index.native.js +10 -20
  629. package/node_modules/@solana/web3.js/lib/index.native.js.map +1 -1
  630. package/node_modules/@solana/web3.js/package.json +5 -5
  631. package/node_modules/@solana/web3.js/src/programs/address-lookup-table/index.ts +5 -2
  632. package/node_modules/@solana/web3.js/src/utils/bigint.ts +14 -33
  633. package/node_modules/@swc/helpers/_/_overload_yield/package.json +4 -0
  634. package/node_modules/@swc/helpers/cjs/_async_generator.cjs +10 -12
  635. package/node_modules/@swc/helpers/cjs/_async_generator_delegate.cjs +11 -7
  636. package/node_modules/@swc/helpers/cjs/_await_async_generator.cjs +2 -2
  637. package/node_modules/@swc/helpers/cjs/_overload_yield.cjs +8 -0
  638. package/node_modules/@swc/helpers/cjs/index.cjs +4 -0
  639. package/node_modules/@swc/helpers/esm/_async_generator.js +10 -12
  640. package/node_modules/@swc/helpers/esm/_async_generator_delegate.js +11 -7
  641. package/node_modules/@swc/helpers/esm/_await_async_generator.js +2 -2
  642. package/node_modules/@swc/helpers/esm/_overload_yield.js +6 -0
  643. package/node_modules/@swc/helpers/esm/index.js +1 -0
  644. package/node_modules/@swc/helpers/package.json +219 -1
  645. package/node_modules/@swc/helpers/scripts/build.js +15 -3
  646. package/node_modules/@swc/helpers/src/_overload_yield.mjs +1 -0
  647. package/node_modules/@types/node/README.md +2 -2
  648. package/node_modules/@types/node/assert.d.ts +7 -48
  649. package/node_modules/@types/node/async_hooks.d.ts +64 -2
  650. package/node_modules/@types/node/buffer.buffer.d.ts +3 -0
  651. package/node_modules/@types/node/buffer.d.ts +2 -2
  652. package/node_modules/@types/node/cluster.d.ts +1 -1
  653. package/node_modules/@types/node/crypto.d.ts +8 -9
  654. package/node_modules/@types/node/diagnostics_channel.d.ts +20 -1
  655. package/node_modules/@types/node/fs/promises.d.ts +21 -24
  656. package/node_modules/@types/node/fs.d.ts +93 -9
  657. package/node_modules/@types/node/globals.d.ts +141 -281
  658. package/node_modules/@types/node/http.d.ts +22 -1
  659. package/node_modules/@types/node/http2.d.ts +3 -4
  660. package/node_modules/@types/node/inspector.d.ts +36 -0
  661. package/node_modules/@types/node/module.d.ts +25 -0
  662. package/node_modules/@types/node/net.d.ts +14 -8
  663. package/node_modules/@types/node/package.json +7 -2
  664. package/node_modules/@types/node/process.d.ts +22 -0
  665. package/node_modules/@types/node/querystring.d.ts +2 -3
  666. package/node_modules/@types/node/readline.d.ts +6 -1
  667. package/node_modules/@types/node/sqlite.d.ts +36 -13
  668. package/node_modules/@types/node/stream/web.d.ts +3 -3
  669. package/node_modules/@types/node/test.d.ts +54 -6
  670. package/node_modules/@types/node/tls.d.ts +34 -1
  671. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +3 -0
  672. package/node_modules/@types/node/util.d.ts +232 -94
  673. package/node_modules/@types/node/v8.d.ts +81 -0
  674. package/node_modules/@types/node/vm.d.ts +20 -5
  675. package/node_modules/@types/node/zlib.d.ts +167 -36
  676. package/node_modules/bn.js/README.md +2 -2
  677. package/node_modules/bn.js/lib/bn.js +1 -0
  678. package/node_modules/bn.js/package.json +1 -1
  679. package/node_modules/{jsonparse/README.markdown → camelcase/license} +2 -4
  680. package/node_modules/jayson/lib/utils.js +11 -8
  681. package/node_modules/jayson/package.json +10 -7
  682. package/node_modules/rpc-websockets/node_modules/ws/lib/permessage-deflate.js +14 -0
  683. package/node_modules/rpc-websockets/node_modules/ws/lib/websocket.js +1 -1
  684. package/node_modules/rpc-websockets/node_modules/ws/package.json +2 -2
  685. package/node_modules/stream-chain/LICENSE +11 -0
  686. package/node_modules/stream-chain/README.md +334 -0
  687. package/node_modules/stream-chain/defs.js +22 -0
  688. package/node_modules/stream-chain/index.js +203 -0
  689. package/node_modules/stream-chain/package.json +31 -0
  690. package/node_modules/stream-chain/utils/FromIterable.js +94 -0
  691. package/node_modules/stream-chain/utils/Reduce.js +40 -0
  692. package/node_modules/stream-chain/utils/asFun.js +85 -0
  693. package/node_modules/stream-chain/utils/asGen.js +77 -0
  694. package/node_modules/stream-chain/utils/comp.js +20 -0
  695. package/node_modules/stream-chain/utils/fold.js +43 -0
  696. package/node_modules/stream-chain/utils/gen.js +24 -0
  697. package/node_modules/stream-chain/utils/scan.js +41 -0
  698. package/node_modules/stream-chain/utils/skip.js +32 -0
  699. package/node_modules/stream-chain/utils/skipWhile.js +46 -0
  700. package/node_modules/stream-chain/utils/take.js +39 -0
  701. package/node_modules/stream-chain/utils/takeWhile.js +47 -0
  702. package/node_modules/stream-json/Assembler.js +154 -0
  703. package/node_modules/stream-json/Disassembler.js +209 -0
  704. package/node_modules/stream-json/Emitter.js +22 -0
  705. package/node_modules/stream-json/LICENSE +34 -0
  706. package/node_modules/stream-json/Parser.js +545 -0
  707. package/node_modules/stream-json/README.md +128 -0
  708. package/node_modules/stream-json/Stringer.js +153 -0
  709. package/node_modules/stream-json/filters/Filter.js +130 -0
  710. package/node_modules/stream-json/filters/FilterBase.js +201 -0
  711. package/node_modules/stream-json/filters/Ignore.js +24 -0
  712. package/node_modules/stream-json/filters/Pick.js +58 -0
  713. package/node_modules/stream-json/filters/Replace.js +115 -0
  714. package/node_modules/stream-json/index.js +11 -0
  715. package/node_modules/stream-json/jsonl/Parser.js +131 -0
  716. package/node_modules/stream-json/jsonl/Stringer.js +29 -0
  717. package/node_modules/stream-json/package.json +45 -0
  718. package/node_modules/stream-json/streamers/StreamArray.js +44 -0
  719. package/node_modules/stream-json/streamers/StreamBase.js +101 -0
  720. package/node_modules/stream-json/streamers/StreamObject.js +43 -0
  721. package/node_modules/stream-json/streamers/StreamValues.js +33 -0
  722. package/node_modules/stream-json/utils/Batch.js +44 -0
  723. package/node_modules/stream-json/utils/Utf8Stream.js +53 -0
  724. package/node_modules/stream-json/utils/Verifier.js +485 -0
  725. package/node_modules/stream-json/utils/emit.js +5 -0
  726. package/node_modules/stream-json/utils/withParser.js +10 -0
  727. package/package.json +2 -1
  728. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/bls.d.ts.map +0 -1
  729. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/bls.js.map +0 -1
  730. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/curve.d.ts.map +0 -1
  731. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/curve.js.map +0 -1
  732. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/edwards.d.ts.map +0 -1
  733. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/edwards.js.map +0 -1
  734. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/hash-to-curve.d.ts.map +0 -1
  735. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/hash-to-curve.js.map +0 -1
  736. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/modular.d.ts.map +0 -1
  737. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/modular.js.map +0 -1
  738. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/montgomery.d.ts.map +0 -1
  739. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/montgomery.js +0 -160
  740. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/montgomery.js.map +0 -1
  741. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/poseidon.d.ts +0 -39
  742. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/poseidon.d.ts.map +0 -1
  743. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/poseidon.js +0 -121
  744. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/poseidon.js.map +0 -1
  745. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/tower.js.map +0 -1
  746. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/utils.d.ts.map +0 -1
  747. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/utils.js.map +0 -1
  748. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/weierstrass.d.ts.map +0 -1
  749. package/node_modules/@solana/web3.js/node_modules/@noble/curves/abstract/weierstrass.js.map +0 -1
  750. package/node_modules/@solana/web3.js/node_modules/@noble/curves/bls12-381.js.map +0 -1
  751. package/node_modules/@solana/web3.js/node_modules/@noble/curves/bn254.js.map +0 -1
  752. package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed25519.d.ts.map +0 -1
  753. package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed25519.js.map +0 -1
  754. package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed448.d.ts.map +0 -1
  755. package/node_modules/@solana/web3.js/node_modules/@noble/curves/ed448.js.map +0 -1
  756. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/bls.d.ts.map +0 -1
  757. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/bls.js.map +0 -1
  758. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/curve.d.ts.map +0 -1
  759. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/curve.js.map +0 -1
  760. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/edwards.d.ts.map +0 -1
  761. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/edwards.js.map +0 -1
  762. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/hash-to-curve.d.ts.map +0 -1
  763. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/hash-to-curve.js.map +0 -1
  764. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/modular.d.ts.map +0 -1
  765. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/modular.js.map +0 -1
  766. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/montgomery.d.ts.map +0 -1
  767. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/montgomery.js +0 -157
  768. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/montgomery.js.map +0 -1
  769. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/poseidon.d.ts +0 -39
  770. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/poseidon.d.ts.map +0 -1
  771. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/poseidon.js +0 -116
  772. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/poseidon.js.map +0 -1
  773. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/tower.js.map +0 -1
  774. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/utils.d.ts.map +0 -1
  775. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/utils.js.map +0 -1
  776. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/weierstrass.d.ts.map +0 -1
  777. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/abstract/weierstrass.js.map +0 -1
  778. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bls12-381.js.map +0 -1
  779. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/bn254.js.map +0 -1
  780. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed25519.d.ts.map +0 -1
  781. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed25519.js.map +0 -1
  782. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed448.d.ts.map +0 -1
  783. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/ed448.js.map +0 -1
  784. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/jubjub.d.ts +0 -5
  785. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/jubjub.d.ts.map +0 -1
  786. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/jubjub.js +0 -61
  787. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/jubjub.js.map +0 -1
  788. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p256.d.ts +0 -11
  789. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p256.d.ts.map +0 -1
  790. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p256.js +0 -49
  791. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p256.js.map +0 -1
  792. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p384.d.ts +0 -11
  793. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p384.d.ts.map +0 -1
  794. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p384.js +0 -53
  795. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p384.js.map +0 -1
  796. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p521.d.ts +0 -12
  797. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p521.d.ts.map +0 -1
  798. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p521.js +0 -61
  799. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/p521.js.map +0 -1
  800. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/pasta.d.ts +0 -8
  801. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/pasta.d.ts.map +0 -1
  802. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/pasta.js +0 -34
  803. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/pasta.js.map +0 -1
  804. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/secp256k1.d.ts.map +0 -1
  805. package/node_modules/@solana/web3.js/node_modules/@noble/curves/esm/secp256k1.js.map +0 -1
  806. package/node_modules/@solana/web3.js/node_modules/@noble/curves/jubjub.d.ts +0 -5
  807. package/node_modules/@solana/web3.js/node_modules/@noble/curves/jubjub.d.ts.map +0 -1
  808. package/node_modules/@solana/web3.js/node_modules/@noble/curves/jubjub.js +0 -66
  809. package/node_modules/@solana/web3.js/node_modules/@noble/curves/jubjub.js.map +0 -1
  810. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p256.d.ts +0 -11
  811. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p256.d.ts.map +0 -1
  812. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p256.js +0 -52
  813. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p256.js.map +0 -1
  814. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p384.d.ts +0 -11
  815. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p384.d.ts.map +0 -1
  816. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p384.js +0 -56
  817. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p384.js.map +0 -1
  818. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p521.d.ts +0 -12
  819. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p521.d.ts.map +0 -1
  820. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p521.js +0 -64
  821. package/node_modules/@solana/web3.js/node_modules/@noble/curves/p521.js.map +0 -1
  822. package/node_modules/@solana/web3.js/node_modules/@noble/curves/pasta.d.ts +0 -8
  823. package/node_modules/@solana/web3.js/node_modules/@noble/curves/pasta.d.ts.map +0 -1
  824. package/node_modules/@solana/web3.js/node_modules/@noble/curves/pasta.js +0 -37
  825. package/node_modules/@solana/web3.js/node_modules/@noble/curves/pasta.js.map +0 -1
  826. package/node_modules/@solana/web3.js/node_modules/@noble/curves/secp256k1.d.ts.map +0 -1
  827. package/node_modules/@solana/web3.js/node_modules/@noble/curves/secp256k1.js.map +0 -1
  828. package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/montgomery.ts +0 -196
  829. package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/abstract/poseidon.ts +0 -136
  830. package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/jubjub.ts +0 -63
  831. package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/p256.ts +0 -54
  832. package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/p384.ts +0 -58
  833. package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/p521.ts +0 -75
  834. package/node_modules/@solana/web3.js/node_modules/@noble/curves/src/pasta.ts +0 -39
  835. package/node_modules/JSONStream/.travis.yml +0 -8
  836. package/node_modules/JSONStream/LICENSE.APACHE2 +0 -15
  837. package/node_modules/JSONStream/LICENSE.MIT +0 -24
  838. package/node_modules/JSONStream/bin.js +0 -12
  839. package/node_modules/JSONStream/examples/all_docs.js +0 -13
  840. package/node_modules/JSONStream/index.js +0 -247
  841. package/node_modules/JSONStream/package.json +0 -40
  842. package/node_modules/JSONStream/readme.markdown +0 -207
  843. package/node_modules/JSONStream/test/bool.js +0 -41
  844. package/node_modules/JSONStream/test/browser.js +0 -18
  845. package/node_modules/JSONStream/test/destroy_missing.js +0 -27
  846. package/node_modules/JSONStream/test/doubledot1.js +0 -29
  847. package/node_modules/JSONStream/test/doubledot2.js +0 -30
  848. package/node_modules/JSONStream/test/empty.js +0 -44
  849. package/node_modules/JSONStream/test/error_contents.js +0 -45
  850. package/node_modules/JSONStream/test/fixtures/all_npm.json +0 -4030
  851. package/node_modules/JSONStream/test/fixtures/couch_sample.json +0 -18
  852. package/node_modules/JSONStream/test/fixtures/depth.json +0 -15
  853. package/node_modules/JSONStream/test/fixtures/error.json +0 -1
  854. package/node_modules/JSONStream/test/fixtures/header_footer.json +0 -19
  855. package/node_modules/JSONStream/test/fn.js +0 -39
  856. package/node_modules/JSONStream/test/gen.js +0 -135
  857. package/node_modules/JSONStream/test/header_footer.js +0 -55
  858. package/node_modules/JSONStream/test/issues.js +0 -34
  859. package/node_modules/JSONStream/test/keys.js +0 -105
  860. package/node_modules/JSONStream/test/map.js +0 -40
  861. package/node_modules/JSONStream/test/multiple_objects.js +0 -36
  862. package/node_modules/JSONStream/test/multiple_objects_error.js +0 -29
  863. package/node_modules/JSONStream/test/null.js +0 -28
  864. package/node_modules/JSONStream/test/parsejson.js +0 -29
  865. package/node_modules/JSONStream/test/run.js +0 -13
  866. package/node_modules/JSONStream/test/stringify.js +0 -41
  867. package/node_modules/JSONStream/test/stringify_object.js +0 -47
  868. package/node_modules/JSONStream/test/test.js +0 -35
  869. package/node_modules/JSONStream/test/test2.js +0 -29
  870. package/node_modules/JSONStream/test/two-ways.js +0 -41
  871. package/node_modules/bigint-buffer/.travis.yml +0 -51
  872. package/node_modules/bigint-buffer/LICENSE +0 -202
  873. package/node_modules/bigint-buffer/README.md +0 -121
  874. package/node_modules/bigint-buffer/binding.gyp +0 -8
  875. package/node_modules/bigint-buffer/build/Makefile +0 -347
  876. package/node_modules/bigint-buffer/build/Release/.deps/Release/bigint_buffer.node.d +0 -1
  877. package/node_modules/bigint-buffer/build/Release/.deps/Release/obj.target/bigint_buffer/src/bigint-buffer.o.d +0 -12
  878. package/node_modules/bigint-buffer/build/Release/bigint_buffer.node +0 -0
  879. package/node_modules/bigint-buffer/build/Release/obj.target/bigint_buffer/src/bigint-buffer.o +0 -0
  880. package/node_modules/bigint-buffer/build/bigint_buffer.target.mk +0 -180
  881. package/node_modules/bigint-buffer/build/binding.Makefile +0 -6
  882. package/node_modules/bigint-buffer/build/config.gypi +0 -450
  883. package/node_modules/bigint-buffer/build/gyp-mac-tool +0 -772
  884. package/node_modules/bigint-buffer/dist/browser.js +0 -69
  885. package/node_modules/bigint-buffer/dist/index.bench.d.ts +0 -1
  886. package/node_modules/bigint-buffer/dist/index.d.ts +0 -27
  887. package/node_modules/bigint-buffer/dist/index.spec.d.ts +0 -1
  888. package/node_modules/bigint-buffer/dist/node.js +0 -77
  889. package/node_modules/bigint-buffer/helper/bigint.d.ts +0 -3
  890. package/node_modules/bigint-buffer/karma.conf.js +0 -62
  891. package/node_modules/bigint-buffer/package.json +0 -89
  892. package/node_modules/bigint-buffer/rollup.config.js +0 -13
  893. package/node_modules/bigint-buffer/src/bigint-buffer.c +0 -203
  894. package/node_modules/bigint-buffer/src/index.bench.ts +0 -207
  895. package/node_modules/bigint-buffer/src/index.spec.ts +0 -288
  896. package/node_modules/bigint-buffer/src/index.ts +0 -84
  897. package/node_modules/bigint-buffer/tsconfig.json +0 -19
  898. package/node_modules/bindings/README.md +0 -98
  899. package/node_modules/bindings/bindings.js +0 -221
  900. package/node_modules/bindings/package.json +0 -28
  901. package/node_modules/file-uri-to-path/.npmignore +0 -1
  902. package/node_modules/file-uri-to-path/.travis.yml +0 -30
  903. package/node_modules/file-uri-to-path/History.md +0 -21
  904. package/node_modules/file-uri-to-path/README.md +0 -74
  905. package/node_modules/file-uri-to-path/index.d.ts +0 -2
  906. package/node_modules/file-uri-to-path/index.js +0 -66
  907. package/node_modules/file-uri-to-path/package.json +0 -32
  908. package/node_modules/file-uri-to-path/test/test.js +0 -24
  909. package/node_modules/file-uri-to-path/test/tests.json +0 -13
  910. package/node_modules/jsonparse/.npmignore +0 -1
  911. package/node_modules/jsonparse/LICENSE +0 -24
  912. package/node_modules/jsonparse/bench.js +0 -26
  913. package/node_modules/jsonparse/examples/twitterfeed.js +0 -30
  914. package/node_modules/jsonparse/jsonparse.js +0 -413
  915. package/node_modules/jsonparse/package.json +0 -22
  916. package/node_modules/jsonparse/samplejson/basic.json +0 -167
  917. package/node_modules/jsonparse/samplejson/basic2.json +0 -180
  918. package/node_modules/jsonparse/test/big-token.js +0 -24
  919. package/node_modules/jsonparse/test/boundary.js +0 -110
  920. package/node_modules/jsonparse/test/offset.js +0 -67
  921. package/node_modules/jsonparse/test/primitives.js +0 -57
  922. package/node_modules/jsonparse/test/surrogate.js +0 -26
  923. package/node_modules/jsonparse/test/unvalid.js +0 -15
  924. package/node_modules/jsonparse/test/utf8.js +0 -38
  925. package/node_modules/regenerator-runtime/LICENSE +0 -21
  926. package/node_modules/regenerator-runtime/README.md +0 -31
  927. package/node_modules/regenerator-runtime/package.json +0 -19
  928. package/node_modules/regenerator-runtime/path.js +0 -11
  929. package/node_modules/regenerator-runtime/runtime.js +0 -761
  930. package/node_modules/through/.travis.yml +0 -5
  931. package/node_modules/through/LICENSE.APACHE2 +0 -15
  932. package/node_modules/through/LICENSE.MIT +0 -24
  933. package/node_modules/through/index.js +0 -108
  934. package/node_modules/through/package.json +0 -36
  935. package/node_modules/through/readme.markdown +0 -64
  936. package/node_modules/through/test/async.js +0 -28
  937. package/node_modules/through/test/auto-destroy.js +0 -30
  938. package/node_modules/through/test/buffering.js +0 -71
  939. package/node_modules/through/test/end.js +0 -45
  940. package/node_modules/through/test/index.js +0 -133
  941. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/LICENSE +0 -0
  942. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/_shortw_utils.d.ts.map +0 -0
  943. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/_shortw_utils.js.map +0 -0
  944. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/_shortw_utils.d.ts.map +0 -0
  945. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/_shortw_utils.js.map +0 -0
  946. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/index.d.ts +0 -0
  947. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/index.d.ts.map +0 -0
  948. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/index.js +0 -0
  949. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/index.js.map +0 -0
  950. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/esm/package.json +0 -0
  951. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/index.d.ts +0 -0
  952. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/index.d.ts.map +0 -0
  953. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/index.js +0 -0
  954. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/index.js.map +0 -0
  955. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/index.ts +0 -0
  956. /package/node_modules/{@solana/web3.js/node_modules/@noble → @noble}/curves/src/package.json +0 -0
  957. /package/node_modules/{@coral-xyz/anchor/node_modules/camelcase → @solana/errors/node_modules/chalk}/license +0 -0
  958. /package/node_modules/{@coral-xyz/anchor/node_modules/camelcase → camelcase}/index.d.ts +0 -0
  959. /package/node_modules/{@coral-xyz/anchor/node_modules/camelcase → camelcase}/index.js +0 -0
  960. /package/node_modules/{@coral-xyz/anchor/node_modules/camelcase → camelcase}/package.json +0 -0
  961. /package/node_modules/{@coral-xyz/anchor/node_modules/camelcase → camelcase}/readme.md +0 -0
  962. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/CopyrightNotice.txt +0 -0
  963. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/LICENSE.txt +0 -0
  964. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/README.md +0 -0
  965. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/SECURITY.md +0 -0
  966. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/modules/index.d.ts +0 -0
  967. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/modules/index.js +0 -0
  968. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/modules/package.json +0 -0
  969. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/package.json +0 -0
  970. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/tslib.d.ts +0 -0
  971. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/tslib.es6.html +0 -0
  972. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/tslib.es6.js +0 -0
  973. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/tslib.es6.mjs +0 -0
  974. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/tslib.html +0 -0
  975. /package/node_modules/{@swc/helpers/node_modules/tslib → tslib}/tslib.js +0 -0
@@ -1,5 +1,5 @@
1
- import { mod } from './modular.js';
2
- import { abytes, bytesToNumberBE, concatBytes, utf8ToBytes, validateObject } from './utils.js';
1
+ import { FpInvertBatch, mod } from "./modular.js";
2
+ import { abytes, bytesToNumberBE, concatBytes, utf8ToBytes, validateObject } from "./utils.js";
3
3
  // Octet Stream to Integer. "spec" implementation of os2ip is 2.5x slower vs bytesToNumberBE.
4
4
  const os2ip = bytesToNumberBE;
5
5
  // Integer to Octet Stream (numberToBytesBE)
@@ -132,47 +132,57 @@ export function hash_to_field(msg, count, options) {
132
132
  }
133
133
  export function isogenyMap(field, map) {
134
134
  // Make same order as in spec
135
- const COEFF = map.map((i) => Array.from(i).reverse());
135
+ const coeff = map.map((i) => Array.from(i).reverse());
136
136
  return (x, y) => {
137
- const [xNum, xDen, yNum, yDen] = COEFF.map((val) => val.reduce((acc, i) => field.add(field.mul(acc, x), i)));
138
- x = field.div(xNum, xDen); // xNum / xDen
139
- y = field.mul(y, field.div(yNum, yDen)); // y * (yNum / yDev)
140
- return { x: x, y: y };
137
+ const [xn, xd, yn, yd] = coeff.map((val) => val.reduce((acc, i) => field.add(field.mul(acc, x), i)));
138
+ // 6.6.3
139
+ // Exceptional cases of iso_map are inputs that cause the denominator of
140
+ // either rational function to evaluate to zero; such cases MUST return
141
+ // the identity point on E.
142
+ const [xd_inv, yd_inv] = FpInvertBatch(field, [xd, yd], true);
143
+ x = field.mul(xn, xd_inv); // xNum / xDen
144
+ y = field.mul(y, field.mul(yn, yd_inv)); // y * (yNum / yDev)
145
+ return { x, y };
141
146
  };
142
147
  }
143
148
  /** Creates hash-to-curve methods from EC Point and mapToCurve function. */
144
- export function createHasher(Point, mapToCurve, def) {
149
+ export function createHasher(Point, mapToCurve, defaults) {
145
150
  if (typeof mapToCurve !== 'function')
146
151
  throw new Error('mapToCurve() must be defined');
152
+ function map(num) {
153
+ return Point.fromAffine(mapToCurve(num));
154
+ }
155
+ function clear(initial) {
156
+ const P = initial.clearCofactor();
157
+ if (P.equals(Point.ZERO))
158
+ return Point.ZERO; // zero will throw in assert
159
+ P.assertValidity();
160
+ return P;
161
+ }
147
162
  return {
163
+ defaults,
148
164
  // Encodes byte string to elliptic curve.
149
165
  // hash_to_curve from https://www.rfc-editor.org/rfc/rfc9380#section-3
150
166
  hashToCurve(msg, options) {
151
- const u = hash_to_field(msg, 2, { ...def, DST: def.DST, ...options });
152
- const u0 = Point.fromAffine(mapToCurve(u[0]));
153
- const u1 = Point.fromAffine(mapToCurve(u[1]));
154
- const P = u0.add(u1).clearCofactor();
155
- P.assertValidity();
156
- return P;
167
+ const u = hash_to_field(msg, 2, { ...defaults, DST: defaults.DST, ...options });
168
+ const u0 = map(u[0]);
169
+ const u1 = map(u[1]);
170
+ return clear(u0.add(u1));
157
171
  },
158
172
  // Encodes byte string to elliptic curve.
159
173
  // encode_to_curve from https://www.rfc-editor.org/rfc/rfc9380#section-3
160
174
  encodeToCurve(msg, options) {
161
- const u = hash_to_field(msg, 1, { ...def, DST: def.encodeDST, ...options });
162
- const P = Point.fromAffine(mapToCurve(u[0])).clearCofactor();
163
- P.assertValidity();
164
- return P;
175
+ const u = hash_to_field(msg, 1, { ...defaults, DST: defaults.encodeDST, ...options });
176
+ return clear(map(u[0]));
165
177
  },
166
178
  // Same as encodeToCurve, but without hash
167
179
  mapToCurve(scalars) {
168
180
  if (!Array.isArray(scalars))
169
- throw new Error('mapToCurve: expected array of bigints');
181
+ throw new Error('expected array of bigints');
170
182
  for (const i of scalars)
171
183
  if (typeof i !== 'bigint')
172
- throw new Error('mapToCurve: expected array of bigints');
173
- const P = Point.fromAffine(mapToCurve(scalars)).clearCofactor();
174
- P.assertValidity();
175
- return P;
184
+ throw new Error('expected array of bigints');
185
+ return clear(map(scalars));
176
186
  },
177
187
  };
178
188
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-to-curve.js","sourceRoot":"","sources":["../../src/abstract/hash-to-curve.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export declare function mod(a: bigint, b: bigint): bigint;
2
2
  /**
3
3
  * Efficiently raise num to power and do modular division.
4
4
  * Unsafe in some contexts: uses ladder, so can expose bigint bits.
5
- * @todo use field version && remove
5
+ * TODO: remove.
6
6
  * @example
7
7
  * pow(2n, 6n, 11n) // 64n % 11n == 9n
8
8
  */
@@ -18,18 +18,16 @@ export declare function invert(number: bigint, modulo: bigint): bigint;
18
18
  * Tonelli-Shanks square root search algorithm.
19
19
  * 1. https://eprint.iacr.org/2012/685.pdf (page 12)
20
20
  * 2. Square Roots from 1; 24, 51, 10 to Dan Shanks
21
- * Will start an infinite loop if field order P is not prime.
22
21
  * @param P field order
23
22
  * @returns function that takes field Fp (created from P) and number n
24
23
  */
25
24
  export declare function tonelliShanks(P: bigint): <T>(Fp: IField<T>, n: T) => T;
26
25
  /**
27
- * Square root for a finite field. It will try to check if optimizations are applicable and fall back to 4:
26
+ * Square root for a finite field. Will try optimized versions first:
28
27
  *
29
28
  * 1. P ≡ 3 (mod 4)
30
29
  * 2. P ≡ 5 (mod 8)
31
- * 3. P ≡ 9 (mod 16)
32
- * 4. Tonelli-Shanks algorithm
30
+ * 3. Tonelli-Shanks algorithm
33
31
  *
34
32
  * Different algorithms can give different roots, it is up to user to decide which one they want.
35
33
  * For example there is FpSqrtOdd/FpSqrtEven to choice root based on oddness (used for hash-to-curve).
@@ -63,7 +61,6 @@ export interface IField<T> {
63
61
  mulN(lhs: T, rhs: T | bigint): T;
64
62
  sqrN(num: T): T;
65
63
  isOdd?(num: T): boolean;
66
- pow(lhs: T, power: bigint): T;
67
64
  invertBatch: (lst: T[]) => T[];
68
65
  toBytes(num: T): Uint8Array;
69
66
  fromBytes(bytes: Uint8Array): T;
@@ -74,21 +71,25 @@ export declare function validateField<T>(field: IField<T>): IField<T>;
74
71
  * Same as `pow` but for Fp: non-constant-time.
75
72
  * Unsafe in some contexts: uses ladder, so can expose bigint bits.
76
73
  */
77
- export declare function FpPow<T>(f: IField<T>, num: T, power: bigint): T;
74
+ export declare function FpPow<T>(Fp: IField<T>, num: T, power: bigint): T;
78
75
  /**
79
76
  * Efficiently invert an array of Field elements.
80
- * `inv(0)` will return `undefined` here: make sure to throw an error.
77
+ * Exception-free. Will return `undefined` for 0 elements.
78
+ * @param passZero map 0 to 0 (instead of undefined)
81
79
  */
82
- export declare function FpInvertBatch<T>(f: IField<T>, nums: T[]): T[];
83
- export declare function FpDiv<T>(f: IField<T>, lhs: T, rhs: T | bigint): T;
80
+ export declare function FpInvertBatch<T>(Fp: IField<T>, nums: T[], passZero?: boolean): T[];
81
+ export declare function FpDiv<T>(Fp: IField<T>, lhs: T, rhs: T | bigint): T;
84
82
  /**
85
83
  * Legendre symbol.
84
+ * Legendre constant is used to calculate Legendre symbol (a | p)
85
+ * which denotes the value of a^((p-1)/2) (mod p).
86
+ *
86
87
  * * (a | p) ≡ 1 if a is a square (mod p), quadratic residue
87
88
  * * (a | p) ≡ -1 if a is not a square (mod p), quadratic non residue
88
89
  * * (a | p) ≡ 0 if a ≡ 0 (mod p)
89
90
  */
90
- export declare function FpLegendre(order: bigint): <T>(f: IField<T>, x: T) => T;
91
- export declare function FpIsSquare<T>(f: IField<T>): (x: T) => boolean;
91
+ export declare function FpLegendre<T>(Fp: IField<T>, n: T): -1 | 0 | 1;
92
+ export declare function FpIsSquare<T>(Fp: IField<T>, n: T): boolean;
92
93
  export declare function nLength(n: bigint, nBitLength?: number): {
93
94
  nBitLength: number;
94
95
  nByteLength: number;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modular.d.ts","sourceRoot":"","sources":["../../src/abstract/modular.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,12 @@
5
5
  * @module
6
6
  */
7
7
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
8
- import { bitMask, bytesToNumberBE, bytesToNumberLE, ensureBytes, numberToBytesBE, numberToBytesLE, validateObject, } from './utils.js';
8
+ import { anumber } from '@noble/hashes/utils';
9
+ import { bitMask, bytesToNumberBE, bytesToNumberLE, ensureBytes, numberToBytesBE, numberToBytesLE, validateObject, } from "./utils.js";
9
10
  // prettier-ignore
10
11
  const _0n = BigInt(0), _1n = BigInt(1), _2n = /* @__PURE__ */ BigInt(2), _3n = /* @__PURE__ */ BigInt(3);
11
12
  // prettier-ignore
12
13
  const _4n = /* @__PURE__ */ BigInt(4), _5n = /* @__PURE__ */ BigInt(5), _8n = /* @__PURE__ */ BigInt(8);
13
- // prettier-ignore
14
- const _9n = /* @__PURE__ */ BigInt(9), _16n = /* @__PURE__ */ BigInt(16);
15
14
  // Calculates a modulo b
16
15
  export function mod(a, b) {
17
16
  const result = a % b;
@@ -20,25 +19,12 @@ export function mod(a, b) {
20
19
  /**
21
20
  * Efficiently raise num to power and do modular division.
22
21
  * Unsafe in some contexts: uses ladder, so can expose bigint bits.
23
- * @todo use field version && remove
22
+ * TODO: remove.
24
23
  * @example
25
24
  * pow(2n, 6n, 11n) // 64n % 11n == 9n
26
25
  */
27
26
  export function pow(num, power, modulo) {
28
- if (power < _0n)
29
- throw new Error('invalid exponent, negatives unsupported');
30
- if (modulo <= _0n)
31
- throw new Error('invalid modulus');
32
- if (modulo === _1n)
33
- return _0n;
34
- let res = _1n;
35
- while (power > _0n) {
36
- if (power & _1n)
37
- res = (res * num) % modulo;
38
- num = (num * num) % modulo;
39
- power >>= _1n;
40
- }
41
- return res;
27
+ return FpPow(Field(modulo), num, power);
42
28
  }
43
29
  /** Does `x^(2^power)` mod p. `pow2(30, 4)` == `30^(2^4)` */
44
30
  export function pow2(x, power, modulo) {
@@ -77,138 +63,141 @@ export function invert(number, modulo) {
77
63
  throw new Error('invert: does not exist');
78
64
  return mod(x, modulo);
79
65
  }
66
+ // Not all roots are possible! Example which will throw:
67
+ // const NUM =
68
+ // n = 72057594037927816n;
69
+ // Fp = Field(BigInt('0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab'));
70
+ function sqrt3mod4(Fp, n) {
71
+ const p1div4 = (Fp.ORDER + _1n) / _4n;
72
+ const root = Fp.pow(n, p1div4);
73
+ // Throw if root^2 != n
74
+ if (!Fp.eql(Fp.sqr(root), n))
75
+ throw new Error('Cannot find square root');
76
+ return root;
77
+ }
78
+ function sqrt5mod8(Fp, n) {
79
+ const p5div8 = (Fp.ORDER - _5n) / _8n;
80
+ const n2 = Fp.mul(n, _2n);
81
+ const v = Fp.pow(n2, p5div8);
82
+ const nv = Fp.mul(n, v);
83
+ const i = Fp.mul(Fp.mul(nv, _2n), v);
84
+ const root = Fp.mul(nv, Fp.sub(i, Fp.ONE));
85
+ if (!Fp.eql(Fp.sqr(root), n))
86
+ throw new Error('Cannot find square root');
87
+ return root;
88
+ }
89
+ // TODO: Commented-out for now. Provide test vectors.
90
+ // Tonelli is too slow for extension fields Fp2.
91
+ // That means we can't use sqrt (c1, c2...) even for initialization constants.
92
+ // if (P % _16n === _9n) return sqrt9mod16;
93
+ // // prettier-ignore
94
+ // function sqrt9mod16<T>(Fp: IField<T>, n: T, p7div16?: bigint) {
95
+ // if (p7div16 === undefined) p7div16 = (Fp.ORDER + BigInt(7)) / _16n;
96
+ // const c1 = Fp.sqrt(Fp.neg(Fp.ONE)); // 1. c1 = sqrt(-1) in F, i.e., (c1^2) == -1 in F
97
+ // const c2 = Fp.sqrt(c1); // 2. c2 = sqrt(c1) in F, i.e., (c2^2) == c1 in F
98
+ // const c3 = Fp.sqrt(Fp.neg(c1)); // 3. c3 = sqrt(-c1) in F, i.e., (c3^2) == -c1 in F
99
+ // const c4 = p7div16; // 4. c4 = (q + 7) / 16 # Integer arithmetic
100
+ // let tv1 = Fp.pow(n, c4); // 1. tv1 = x^c4
101
+ // let tv2 = Fp.mul(c1, tv1); // 2. tv2 = c1 * tv1
102
+ // const tv3 = Fp.mul(c2, tv1); // 3. tv3 = c2 * tv1
103
+ // let tv4 = Fp.mul(c3, tv1); // 4. tv4 = c3 * tv1
104
+ // const e1 = Fp.eql(Fp.sqr(tv2), n); // 5. e1 = (tv2^2) == x
105
+ // const e2 = Fp.eql(Fp.sqr(tv3), n); // 6. e2 = (tv3^2) == x
106
+ // tv1 = Fp.cmov(tv1, tv2, e1); // 7. tv1 = CMOV(tv1, tv2, e1) # Select tv2 if (tv2^2) == x
107
+ // tv2 = Fp.cmov(tv4, tv3, e2); // 8. tv2 = CMOV(tv4, tv3, e2) # Select tv3 if (tv3^2) == x
108
+ // const e3 = Fp.eql(Fp.sqr(tv2), n); // 9. e3 = (tv2^2) == x
109
+ // return Fp.cmov(tv1, tv2, e3); // 10. z = CMOV(tv1, tv2, e3) # Select the sqrt from tv1 and tv2
110
+ // }
80
111
  /**
81
112
  * Tonelli-Shanks square root search algorithm.
82
113
  * 1. https://eprint.iacr.org/2012/685.pdf (page 12)
83
114
  * 2. Square Roots from 1; 24, 51, 10 to Dan Shanks
84
- * Will start an infinite loop if field order P is not prime.
85
115
  * @param P field order
86
116
  * @returns function that takes field Fp (created from P) and number n
87
117
  */
88
118
  export function tonelliShanks(P) {
89
- // Legendre constant: used to calculate Legendre symbol (a | p),
90
- // which denotes the value of a^((p-1)/2) (mod p).
91
- // (a | p) 1 if a is a square (mod p)
92
- // (a | p) ≡ -1 if a is not a square (mod p)
93
- // (a | p) 0 if a ≡ 0 (mod p)
94
- const legendreC = (P - _1n) / _2n;
95
- let Q, S, Z;
96
- // Step 1: By factoring out powers of 2 from p - 1,
97
- // find q and s such that p - 1 = q*(2^s) with q odd
98
- for (Q = P - _1n, S = 0; Q % _2n === _0n; Q /= _2n, S++)
99
- ;
100
- // Step 2: Select a non-square z such that (z | p) ≡ -1 and set c ≡ zq
101
- for (Z = _2n; Z < P && pow(Z, legendreC, P) !== P - _1n; Z++) {
102
- // Crash instead of infinity loop, we cannot reasonable count until P.
103
- if (Z > 1000)
104
- throw new Error('Cannot find square root: likely non-prime P');
119
+ // Initialization (precomputation).
120
+ if (P < BigInt(3))
121
+ throw new Error('sqrt is not defined for small field');
122
+ // Factor P - 1 = Q * 2^S, where Q is odd
123
+ let Q = P - _1n;
124
+ let S = 0;
125
+ while (Q % _2n === _0n) {
126
+ Q /= _2n;
127
+ S++;
105
128
  }
106
- // Fast-path
107
- if (S === 1) {
108
- const p1div4 = (P + _1n) / _4n;
109
- return function tonelliFast(Fp, n) {
110
- const root = Fp.pow(n, p1div4);
111
- if (!Fp.eql(Fp.sqr(root), n))
112
- throw new Error('Cannot find square root');
113
- return root;
114
- };
129
+ // Find the first quadratic non-residue Z >= 2
130
+ let Z = _2n;
131
+ const _Fp = Field(P);
132
+ while (FpLegendre(_Fp, Z) === 1) {
133
+ // Basic primality test for P. After x iterations, chance of
134
+ // not finding quadratic non-residue is 2^x, so 2^1000.
135
+ if (Z++ > 1000)
136
+ throw new Error('Cannot find square root: probably non-prime P');
115
137
  }
138
+ // Fast-path; usually done before Z, but we do "primality test".
139
+ if (S === 1)
140
+ return sqrt3mod4;
116
141
  // Slow-path
142
+ // TODO: test on Fp2 and others
143
+ let cc = _Fp.pow(Z, Q); // c = z^Q
117
144
  const Q1div2 = (Q + _1n) / _2n;
118
145
  return function tonelliSlow(Fp, n) {
119
- // Step 0: Check that n is indeed a square: (n | p) should not be ≡ -1
120
- if (Fp.pow(n, legendreC) === Fp.neg(Fp.ONE))
146
+ if (Fp.is0(n))
147
+ return n;
148
+ // Check if n is a quadratic residue using Legendre symbol
149
+ if (FpLegendre(Fp, n) !== 1)
121
150
  throw new Error('Cannot find square root');
122
- let r = S;
123
- // TODO: will fail at Fp2/etc
124
- let g = Fp.pow(Fp.mul(Fp.ONE, Z), Q); // will update both x and b
125
- let x = Fp.pow(n, Q1div2); // first guess at the square root
126
- let b = Fp.pow(n, Q); // first guess at the fudge factor
127
- while (!Fp.eql(b, Fp.ONE)) {
128
- if (Fp.eql(b, Fp.ZERO))
129
- return Fp.ZERO; // https://en.wikipedia.org/wiki/Tonelli%E2%80%93Shanks_algorithm (4. If t = 0, return r = 0)
130
- // Find m such b^(2^m)==1
131
- let m = 1;
132
- for (let t2 = Fp.sqr(b); m < r; m++) {
133
- if (Fp.eql(t2, Fp.ONE))
134
- break;
135
- t2 = Fp.sqr(t2); // t2 *= t2
151
+ // Initialize variables for the main loop
152
+ let M = S;
153
+ let c = Fp.mul(Fp.ONE, cc); // c = z^Q, move cc from field _Fp into field Fp
154
+ let t = Fp.pow(n, Q); // t = n^Q, first guess at the fudge factor
155
+ let R = Fp.pow(n, Q1div2); // R = n^((Q+1)/2), first guess at the square root
156
+ // Main loop
157
+ // while t != 1
158
+ while (!Fp.eql(t, Fp.ONE)) {
159
+ if (Fp.is0(t))
160
+ return Fp.ZERO; // if t=0 return R=0
161
+ let i = 1;
162
+ // Find the smallest i >= 1 such that t^(2^i) ≡ 1 (mod P)
163
+ let t_tmp = Fp.sqr(t); // t^(2^1)
164
+ while (!Fp.eql(t_tmp, Fp.ONE)) {
165
+ i++;
166
+ t_tmp = Fp.sqr(t_tmp); // t^(2^2)...
167
+ if (i === M)
168
+ throw new Error('Cannot find square root');
136
169
  }
137
- // NOTE: r-m-1 can be bigger than 32, need to convert to bigint before shift, otherwise there will be overflow
138
- const ge = Fp.pow(g, _1n << BigInt(r - m - 1)); // ge = 2^(r-m-1)
139
- g = Fp.sqr(ge); // g = ge * ge
140
- x = Fp.mul(x, ge); // x *= ge
141
- b = Fp.mul(b, g); // b *= g
142
- r = m;
170
+ // Calculate the exponent for b: 2^(M - i - 1)
171
+ const exponent = _1n << BigInt(M - i - 1); // bigint is important
172
+ const b = Fp.pow(c, exponent); // b = 2^(M - i - 1)
173
+ // Update variables
174
+ M = i;
175
+ c = Fp.sqr(b); // c = b^2
176
+ t = Fp.mul(t, c); // t = (t * b^2)
177
+ R = Fp.mul(R, b); // R = R*b
143
178
  }
144
- return x;
179
+ return R;
145
180
  };
146
181
  }
147
182
  /**
148
- * Square root for a finite field. It will try to check if optimizations are applicable and fall back to 4:
183
+ * Square root for a finite field. Will try optimized versions first:
149
184
  *
150
185
  * 1. P ≡ 3 (mod 4)
151
186
  * 2. P ≡ 5 (mod 8)
152
- * 3. P ≡ 9 (mod 16)
153
- * 4. Tonelli-Shanks algorithm
187
+ * 3. Tonelli-Shanks algorithm
154
188
  *
155
189
  * Different algorithms can give different roots, it is up to user to decide which one they want.
156
190
  * For example there is FpSqrtOdd/FpSqrtEven to choice root based on oddness (used for hash-to-curve).
157
191
  */
158
192
  export function FpSqrt(P) {
159
- // P ≡ 3 (mod 4)
160
- // √n = n^((P+1)/4)
161
- if (P % _4n === _3n) {
162
- // Not all roots possible!
163
- // const ORDER =
164
- // 0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaabn;
165
- // const NUM = 72057594037927816n;
166
- const p1div4 = (P + _1n) / _4n;
167
- return function sqrt3mod4(Fp, n) {
168
- const root = Fp.pow(n, p1div4);
169
- // Throw if root**2 != n
170
- if (!Fp.eql(Fp.sqr(root), n))
171
- throw new Error('Cannot find square root');
172
- return root;
173
- };
174
- }
175
- // Atkin algorithm for q ≡ 5 (mod 8), https://eprint.iacr.org/2012/685.pdf (page 10)
176
- if (P % _8n === _5n) {
177
- const c1 = (P - _5n) / _8n;
178
- return function sqrt5mod8(Fp, n) {
179
- const n2 = Fp.mul(n, _2n);
180
- const v = Fp.pow(n2, c1);
181
- const nv = Fp.mul(n, v);
182
- const i = Fp.mul(Fp.mul(nv, _2n), v);
183
- const root = Fp.mul(nv, Fp.sub(i, Fp.ONE));
184
- if (!Fp.eql(Fp.sqr(root), n))
185
- throw new Error('Cannot find square root');
186
- return root;
187
- };
188
- }
189
- // P ≡ 9 (mod 16)
190
- if (P % _16n === _9n) {
191
- // NOTE: tonelli is too slow for bls-Fp2 calculations even on start
192
- // Means we cannot use sqrt for constants at all!
193
- //
194
- // const c1 = Fp.sqrt(Fp.negate(Fp.ONE)); // 1. c1 = sqrt(-1) in F, i.e., (c1^2) == -1 in F
195
- // const c2 = Fp.sqrt(c1); // 2. c2 = sqrt(c1) in F, i.e., (c2^2) == c1 in F
196
- // const c3 = Fp.sqrt(Fp.negate(c1)); // 3. c3 = sqrt(-c1) in F, i.e., (c3^2) == -c1 in F
197
- // const c4 = (P + _7n) / _16n; // 4. c4 = (q + 7) / 16 # Integer arithmetic
198
- // sqrt = (x) => {
199
- // let tv1 = Fp.pow(x, c4); // 1. tv1 = x^c4
200
- // let tv2 = Fp.mul(c1, tv1); // 2. tv2 = c1 * tv1
201
- // const tv3 = Fp.mul(c2, tv1); // 3. tv3 = c2 * tv1
202
- // let tv4 = Fp.mul(c3, tv1); // 4. tv4 = c3 * tv1
203
- // const e1 = Fp.equals(Fp.square(tv2), x); // 5. e1 = (tv2^2) == x
204
- // const e2 = Fp.equals(Fp.square(tv3), x); // 6. e2 = (tv3^2) == x
205
- // tv1 = Fp.cmov(tv1, tv2, e1); // 7. tv1 = CMOV(tv1, tv2, e1) # Select tv2 if (tv2^2) == x
206
- // tv2 = Fp.cmov(tv4, tv3, e2); // 8. tv2 = CMOV(tv4, tv3, e2) # Select tv3 if (tv3^2) == x
207
- // const e3 = Fp.equals(Fp.square(tv2), x); // 9. e3 = (tv2^2) == x
208
- // return Fp.cmov(tv1, tv2, e3); // 10. z = CMOV(tv1, tv2, e3) # Select the sqrt from tv1 and tv2
209
- // }
210
- }
211
- // Other cases: Tonelli-Shanks algorithm
193
+ // P ≡ 3 (mod 4) => √n = n^((P+1)/4)
194
+ if (P % _4n === _3n)
195
+ return sqrt3mod4;
196
+ // P 5 (mod 8) => Atkin algorithm, page 10 of https://eprint.iacr.org/2012/685.pdf
197
+ if (P % _8n === _5n)
198
+ return sqrt5mod8;
199
+ // P 9 (mod 16) not implemented, see above
200
+ // Tonelli-Shanks algorithm
212
201
  return tonelliShanks(P);
213
202
  }
214
203
  // Little-endian check for first LE bit (last BE bit);
@@ -237,73 +226,83 @@ export function validateField(field) {
237
226
  * Same as `pow` but for Fp: non-constant-time.
238
227
  * Unsafe in some contexts: uses ladder, so can expose bigint bits.
239
228
  */
240
- export function FpPow(f, num, power) {
241
- // Should have same speed as pow for bigints
242
- // TODO: benchmark!
229
+ export function FpPow(Fp, num, power) {
243
230
  if (power < _0n)
244
231
  throw new Error('invalid exponent, negatives unsupported');
245
232
  if (power === _0n)
246
- return f.ONE;
233
+ return Fp.ONE;
247
234
  if (power === _1n)
248
235
  return num;
249
- let p = f.ONE;
236
+ let p = Fp.ONE;
250
237
  let d = num;
251
238
  while (power > _0n) {
252
239
  if (power & _1n)
253
- p = f.mul(p, d);
254
- d = f.sqr(d);
240
+ p = Fp.mul(p, d);
241
+ d = Fp.sqr(d);
255
242
  power >>= _1n;
256
243
  }
257
244
  return p;
258
245
  }
259
246
  /**
260
247
  * Efficiently invert an array of Field elements.
261
- * `inv(0)` will return `undefined` here: make sure to throw an error.
248
+ * Exception-free. Will return `undefined` for 0 elements.
249
+ * @param passZero map 0 to 0 (instead of undefined)
262
250
  */
263
- export function FpInvertBatch(f, nums) {
264
- const tmp = new Array(nums.length);
251
+ export function FpInvertBatch(Fp, nums, passZero = false) {
252
+ const inverted = new Array(nums.length).fill(passZero ? Fp.ZERO : undefined);
265
253
  // Walk from first to last, multiply them by each other MOD p
266
- const lastMultiplied = nums.reduce((acc, num, i) => {
267
- if (f.is0(num))
254
+ const multipliedAcc = nums.reduce((acc, num, i) => {
255
+ if (Fp.is0(num))
268
256
  return acc;
269
- tmp[i] = acc;
270
- return f.mul(acc, num);
271
- }, f.ONE);
257
+ inverted[i] = acc;
258
+ return Fp.mul(acc, num);
259
+ }, Fp.ONE);
272
260
  // Invert last element
273
- const inverted = f.inv(lastMultiplied);
261
+ const invertedAcc = Fp.inv(multipliedAcc);
274
262
  // Walk from last to first, multiply them by inverted each other MOD p
275
263
  nums.reduceRight((acc, num, i) => {
276
- if (f.is0(num))
264
+ if (Fp.is0(num))
277
265
  return acc;
278
- tmp[i] = f.mul(acc, tmp[i]);
279
- return f.mul(acc, num);
280
- }, inverted);
281
- return tmp;
266
+ inverted[i] = Fp.mul(acc, inverted[i]);
267
+ return Fp.mul(acc, num);
268
+ }, invertedAcc);
269
+ return inverted;
282
270
  }
283
- export function FpDiv(f, lhs, rhs) {
284
- return f.mul(lhs, typeof rhs === 'bigint' ? invert(rhs, f.ORDER) : f.inv(rhs));
271
+ // TODO: remove
272
+ export function FpDiv(Fp, lhs, rhs) {
273
+ return Fp.mul(lhs, typeof rhs === 'bigint' ? invert(rhs, Fp.ORDER) : Fp.inv(rhs));
285
274
  }
286
275
  /**
287
276
  * Legendre symbol.
277
+ * Legendre constant is used to calculate Legendre symbol (a | p)
278
+ * which denotes the value of a^((p-1)/2) (mod p).
279
+ *
288
280
  * * (a | p) ≡ 1 if a is a square (mod p), quadratic residue
289
281
  * * (a | p) ≡ -1 if a is not a square (mod p), quadratic non residue
290
282
  * * (a | p) ≡ 0 if a ≡ 0 (mod p)
291
283
  */
292
- export function FpLegendre(order) {
293
- const legendreConst = (order - _1n) / _2n; // Integer arithmetic
294
- return (f, x) => f.pow(x, legendreConst);
284
+ export function FpLegendre(Fp, n) {
285
+ // We can use 3rd argument as optional cache of this value
286
+ // but seems unneeded for now. The operation is very fast.
287
+ const p1mod2 = (Fp.ORDER - _1n) / _2n;
288
+ const powered = Fp.pow(n, p1mod2);
289
+ const yes = Fp.eql(powered, Fp.ONE);
290
+ const zero = Fp.eql(powered, Fp.ZERO);
291
+ const no = Fp.eql(powered, Fp.neg(Fp.ONE));
292
+ if (!yes && !zero && !no)
293
+ throw new Error('invalid Legendre symbol result');
294
+ return yes ? 1 : zero ? 0 : -1;
295
295
  }
296
296
  // This function returns True whenever the value x is a square in the field F.
297
- export function FpIsSquare(f) {
298
- const legendre = FpLegendre(f.ORDER);
299
- return (x) => {
300
- const p = legendre(f, x);
301
- return f.eql(p, f.ZERO) || f.eql(p, f.ONE);
302
- };
297
+ export function FpIsSquare(Fp, n) {
298
+ const l = FpLegendre(Fp, n);
299
+ return l === 1;
303
300
  }
304
301
  // CURVE.n lengths
305
302
  export function nLength(n, nBitLength) {
306
303
  // Bit size, byte size of CURVE.n
304
+ if (nBitLength !== undefined)
305
+ anumber(nBitLength);
307
306
  const _nBitLength = nBitLength !== undefined ? nBitLength : n.toString(2).length;
308
307
  const nByteLength = Math.ceil(_nBitLength / 8);
309
308
  return { nBitLength: _nBitLength, nByteLength };
@@ -366,16 +365,17 @@ export function Field(ORDER, bitLen, isLE = false, redef = {}) {
366
365
  sqrtP = FpSqrt(ORDER);
367
366
  return sqrtP(f, n);
368
367
  }),
369
- invertBatch: (lst) => FpInvertBatch(f, lst),
370
- // TODO: do we really need constant cmov?
371
- // We don't have const-time bigints anyway, so probably will be not very useful
372
- cmov: (a, b, c) => (c ? b : a),
373
368
  toBytes: (num) => (isLE ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES)),
374
369
  fromBytes: (bytes) => {
375
370
  if (bytes.length !== BYTES)
376
371
  throw new Error('Field.fromBytes: expected ' + BYTES + ' bytes, got ' + bytes.length);
377
372
  return isLE ? bytesToNumberLE(bytes) : bytesToNumberBE(bytes);
378
373
  },
374
+ // TODO: we don't need it here, move out to separate fn
375
+ invertBatch: (lst) => FpInvertBatch(f, lst),
376
+ // We can't move this out because Fp6, Fp12 implement it
377
+ // and it's unclear what to return in there.
378
+ cmov: (a, b, c) => (c ? b : a),
379
379
  });
380
380
  return Object.freeze(f);
381
381
  }