@meteora-ag/cp-amm-sdk 1.0.0 → 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
@@ -4,8 +4,8 @@
4
4
  * @module
5
5
  */
6
6
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
- import { nLength, validateField } from './modular.js';
8
- import { bitLen, validateObject } from './utils.js';
7
+ import { nLength, validateField } from "./modular.js";
8
+ import { bitLen, bitMask, validateObject } from "./utils.js";
9
9
  const _0n = BigInt(0);
10
10
  const _1n = BigInt(1);
11
11
  function constTimeNegate(condition, item) {
@@ -16,11 +16,36 @@ function validateW(W, bits) {
16
16
  if (!Number.isSafeInteger(W) || W <= 0 || W > bits)
17
17
  throw new Error('invalid window size, expected [1..' + bits + '], got W=' + W);
18
18
  }
19
- function calcWOpts(W, bits) {
20
- validateW(W, bits);
21
- const windows = Math.ceil(bits / W) + 1; // +1, because
22
- const windowSize = 2 ** (W - 1); // -1 because we skip zero
23
- return { windows, windowSize };
19
+ function calcWOpts(W, scalarBits) {
20
+ validateW(W, scalarBits);
21
+ const windows = Math.ceil(scalarBits / W) + 1; // W=8 33. Not 32, because we skip zero
22
+ const windowSize = 2 ** (W - 1); // W=8 128. Not 256, because we skip zero
23
+ const maxNumber = 2 ** W; // W=8 256
24
+ const mask = bitMask(W); // W=8 255 == mask 0b11111111
25
+ const shiftBy = BigInt(W); // W=8 8
26
+ return { windows, windowSize, mask, maxNumber, shiftBy };
27
+ }
28
+ function calcOffsets(n, window, wOpts) {
29
+ const { windowSize, mask, maxNumber, shiftBy } = wOpts;
30
+ let wbits = Number(n & mask); // extract W bits.
31
+ let nextN = n >> shiftBy; // shift number by W bits.
32
+ // What actually happens here:
33
+ // const highestBit = Number(mask ^ (mask >> 1n));
34
+ // let wbits2 = wbits - 1; // skip zero
35
+ // if (wbits2 & highestBit) { wbits2 ^= Number(mask); // (~);
36
+ // split if bits > max: +224 => 256-32
37
+ if (wbits > windowSize) {
38
+ // we skip zero, which means instead of `>= size-1`, we do `> size`
39
+ wbits -= maxNumber; // -32, can be maxNumber - wbits, but then we need to set isNeg here.
40
+ nextN += _1n; // +256 (carry)
41
+ }
42
+ const offsetStart = window * windowSize;
43
+ const offset = offsetStart + Math.abs(wbits) - 1; // -1 because we skip zero
44
+ const isZero = wbits === 0; // is current window slice a 0?
45
+ const isNeg = wbits < 0; // is current window slice negative?
46
+ const isNegF = window % 2 !== 0; // fake random statement for noise
47
+ const offsetF = offsetStart; // fake offset for noise
48
+ return { nextN, offset, isZero, isNeg, isNegF, offsetF };
24
49
  }
25
50
  function validateMSMPoints(points, c) {
26
51
  if (!Array.isArray(points))
@@ -39,9 +64,10 @@ function validateMSMScalars(scalars, field) {
39
64
  });
40
65
  }
41
66
  // Since points in different groups cannot be equal (different object constructor),
42
- // we can have single place to store precomputes
67
+ // we can have single place to store precomputes.
68
+ // Allows to make points frozen / immutable.
43
69
  const pointPrecomputes = new WeakMap();
44
- const pointWindowSizes = new WeakMap(); // This allows use make points immutable (nothing changes inside)
70
+ const pointWindowSizes = new WeakMap();
45
71
  function getW(P) {
46
72
  return pointWindowSizes.get(P) || 1;
47
73
  }
@@ -96,7 +122,7 @@ export function wNAF(c, bits) {
96
122
  for (let window = 0; window < windows; window++) {
97
123
  base = p;
98
124
  points.push(base);
99
- // =1, because we skip zero
125
+ // i=1, bc we skip 0
100
126
  for (let i = 1; i < windowSize; i++) {
101
127
  base = base.add(p);
102
128
  points.push(base);
@@ -113,48 +139,35 @@ export function wNAF(c, bits) {
113
139
  * @returns real and fake (for const-time) points
114
140
  */
115
141
  wNAF(W, precomputes, n) {
116
- // TODO: maybe check that scalar is less than group order? wNAF behavious is undefined otherwise
117
- // But need to carefully remove other checks before wNAF. ORDER == bits here
118
- const { windows, windowSize } = calcWOpts(W, bits);
142
+ // Smaller version:
143
+ // https://github.com/paulmillr/noble-secp256k1/blob/47cb1669b6e506ad66b35fe7d76132ae97465da2/index.ts#L502-L541
144
+ // TODO: check the scalar is less than group order?
145
+ // wNAF behavior is undefined otherwise. But have to carefully remove
146
+ // other checks before wNAF. ORDER == bits here.
147
+ // Accumulators
119
148
  let p = c.ZERO;
120
149
  let f = c.BASE;
121
- const mask = BigInt(2 ** W - 1); // Create mask with W ones: 0b1111 for W=4 etc.
122
- const maxNumber = 2 ** W;
123
- const shiftBy = BigInt(W);
124
- for (let window = 0; window < windows; window++) {
125
- const offset = window * windowSize;
126
- // Extract W bits.
127
- let wbits = Number(n & mask);
128
- // Shift number by W bits.
129
- n >>= shiftBy;
130
- // If the bits are bigger than max size, we'll split those.
131
- // +224 => 256 - 32
132
- if (wbits > windowSize) {
133
- wbits -= maxNumber;
134
- n += _1n;
135
- }
136
- // This code was first written with assumption that 'f' and 'p' will never be infinity point:
137
- // since each addition is multiplied by 2 ** W, it cannot cancel each other. However,
138
- // there is negate now: it is possible that negated element from low value
139
- // would be the same as high element, which will create carry into next window.
140
- // It's not obvious how this can fail, but still worth investigating later.
141
- // Check if we're onto Zero point.
142
- // Add random point inside current window to f.
143
- const offset1 = offset;
144
- const offset2 = offset + Math.abs(wbits) - 1; // -1 because we skip zero
145
- const cond1 = window % 2 !== 0;
146
- const cond2 = wbits < 0;
147
- if (wbits === 0) {
148
- // The most important part for const-time getPublicKey
149
- f = f.add(constTimeNegate(cond1, precomputes[offset1]));
150
+ // This code was first written with assumption that 'f' and 'p' will never be infinity point:
151
+ // since each addition is multiplied by 2 ** W, it cannot cancel each other. However,
152
+ // there is negate now: it is possible that negated element from low value
153
+ // would be the same as high element, which will create carry into next window.
154
+ // It's not obvious how this can fail, but still worth investigating later.
155
+ const wo = calcWOpts(W, bits);
156
+ for (let window = 0; window < wo.windows; window++) {
157
+ // (n === _0n) is handled and not early-exited. isEven and offsetF are used for noise
158
+ const { nextN, offset, isZero, isNeg, isNegF, offsetF } = calcOffsets(n, window, wo);
159
+ n = nextN;
160
+ if (isZero) {
161
+ // bits are 0: add garbage to fake point
162
+ // Important part for const-time getPublicKey: add random "noise" point to f.
163
+ f = f.add(constTimeNegate(isNegF, precomputes[offsetF]));
150
164
  }
151
165
  else {
152
- p = p.add(constTimeNegate(cond2, precomputes[offset2]));
166
+ // bits are 1: add to result point
167
+ p = p.add(constTimeNegate(isNeg, precomputes[offset]));
153
168
  }
154
169
  }
155
- // JIT-compiler should not eliminate f here, since it will later be used in normalizeZ()
156
- // Even if the variable is still unused, there are some checks which will
157
- // throw an exception, so compiler needs to prove they won't happen, which is hard.
170
+ // Return both real and fake points: JIT won't eliminate f.
158
171
  // At this point there is a way to F be infinity-point even if p is not,
159
172
  // which makes it less const-time: around 1 bigint multiply.
160
173
  return { p, f };
@@ -168,31 +181,21 @@ export function wNAF(c, bits) {
168
181
  * @returns point
169
182
  */
170
183
  wNAFUnsafe(W, precomputes, n, acc = c.ZERO) {
171
- const { windows, windowSize } = calcWOpts(W, bits);
172
- const mask = BigInt(2 ** W - 1); // Create mask with W ones: 0b1111 for W=4 etc.
173
- const maxNumber = 2 ** W;
174
- const shiftBy = BigInt(W);
175
- for (let window = 0; window < windows; window++) {
176
- const offset = window * windowSize;
184
+ const wo = calcWOpts(W, bits);
185
+ for (let window = 0; window < wo.windows; window++) {
177
186
  if (n === _0n)
178
- break; // No need to go over empty scalar
179
- // Extract W bits.
180
- let wbits = Number(n & mask);
181
- // Shift number by W bits.
182
- n >>= shiftBy;
183
- // If the bits are bigger than max size, we'll split those.
184
- // +224 => 256 - 32
185
- if (wbits > windowSize) {
186
- wbits -= maxNumber;
187
- n += _1n;
188
- }
189
- if (wbits === 0)
187
+ break; // Early-exit, skip 0 value
188
+ const { nextN, offset, isZero, isNeg } = calcOffsets(n, window, wo);
189
+ n = nextN;
190
+ if (isZero) {
191
+ // Window bits are 0: skip processing.
192
+ // Move to next window.
190
193
  continue;
191
- let curr = precomputes[offset + Math.abs(wbits) - 1]; // -1 because we skip zero
192
- if (wbits < 0)
193
- curr = curr.negate();
194
- // NOTE: by re-using acc, we can save a lot of additions in case of MSM
195
- acc = acc.add(curr);
194
+ }
195
+ else {
196
+ const item = precomputes[offset];
197
+ acc = acc.add(isNeg ? item.negate() : item); // Re-using acc allows to save adds in MSM
198
+ }
196
199
  }
197
200
  return acc;
198
201
  },
@@ -228,7 +231,7 @@ export function wNAF(c, bits) {
228
231
  }
229
232
  /**
230
233
  * Pippenger algorithm for multi-scalar multiplication (MSM, Pa + Qb + Rc + ...).
231
- * 30x faster vs naive addition on L=4096, 10x faster with precomputes.
234
+ * 30x faster vs naive addition on L=4096, 10x faster than precomputes.
232
235
  * For N=254bit, L=1, it does: 1024 ADD + 254 DBL. For L=5: 1536 ADD + 254 DBL.
233
236
  * Algorithmically constant-time (for same L), even when 1 point + scalar, or when scalar = 0.
234
237
  * @param c Curve Point constructor
@@ -245,20 +248,29 @@ export function pippenger(c, fieldN, points, scalars) {
245
248
  // 0 is accepted in scalars
246
249
  validateMSMPoints(points, c);
247
250
  validateMSMScalars(scalars, fieldN);
248
- if (points.length !== scalars.length)
251
+ const plength = points.length;
252
+ const slength = scalars.length;
253
+ if (plength !== slength)
249
254
  throw new Error('arrays of points and scalars must have equal length');
255
+ // if (plength === 0) throw new Error('array must be of length >= 2');
250
256
  const zero = c.ZERO;
251
- const wbits = bitLen(BigInt(points.length));
252
- const windowSize = wbits > 12 ? wbits - 3 : wbits > 4 ? wbits - 2 : wbits ? 2 : 1; // in bits
253
- const MASK = (1 << windowSize) - 1;
254
- const buckets = new Array(MASK + 1).fill(zero); // +1 for zero array
257
+ const wbits = bitLen(BigInt(plength));
258
+ let windowSize = 1; // bits
259
+ if (wbits > 12)
260
+ windowSize = wbits - 3;
261
+ else if (wbits > 4)
262
+ windowSize = wbits - 2;
263
+ else if (wbits > 0)
264
+ windowSize = 2;
265
+ const MASK = bitMask(windowSize);
266
+ const buckets = new Array(Number(MASK) + 1).fill(zero); // +1 for zero array
255
267
  const lastBits = Math.floor((fieldN.BITS - 1) / windowSize) * windowSize;
256
268
  let sum = zero;
257
269
  for (let i = lastBits; i >= 0; i -= windowSize) {
258
270
  buckets.fill(zero);
259
- for (let j = 0; j < scalars.length; j++) {
271
+ for (let j = 0; j < slength; j++) {
260
272
  const scalar = scalars[j];
261
- const wbits = Number((scalar >> BigInt(i)) & BigInt(MASK));
273
+ const wbits = Number((scalar >> BigInt(i)) & MASK);
262
274
  buckets[wbits] = buckets[wbits].add(points[j]);
263
275
  }
264
276
  let resI = zero; // not using this will do small speed-up, but will lose ct
@@ -322,7 +334,7 @@ export function precomputeMSMUnsafe(c, fieldN, points, windowSize) {
322
334
  const zero = c.ZERO;
323
335
  const tableSize = 2 ** windowSize - 1; // table size (without zero)
324
336
  const chunks = Math.ceil(fieldN.BITS / windowSize); // chunks of item
325
- const MASK = BigInt((1 << windowSize) - 1);
337
+ const MASK = bitMask(windowSize);
326
338
  const tables = points.map((p) => {
327
339
  const res = [];
328
340
  for (let i = 0, acc = p; i < tableSize; i++) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"curve.js","sourceRoot":"","sources":["../../src/abstract/curve.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@
4
4
  * @module
5
5
  */
6
6
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
- import { type AffinePoint, type BasicCurve, type Group, type GroupConstructor } from './curve.js';
8
- import { type FHash, type Hex } from './utils.js';
7
+ import { type AffinePoint, type BasicCurve, type Group, type GroupConstructor } from './curve.ts';
8
+ import { type FHash, type Hex } from './utils.ts';
9
9
  /** Edwards curves must declare params a & d. */
10
10
  export type CurveType = BasicCurve<bigint> & {
11
11
  a: bigint;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edwards.d.ts","sourceRoot":"","sources":["../../src/abstract/edwards.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,11 @@
4
4
  * @module
5
5
  */
6
6
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
7
- import { pippenger, validateBasic, wNAF, } from './curve.js';
8
- import { Field, mod } from './modular.js';
9
- import * as ut from './utils.js';
10
- import { abool, ensureBytes, memoized } from './utils.js';
7
+ // prettier-ignore
8
+ import { pippenger, validateBasic, wNAF } from "./curve.js";
9
+ import { Field, FpInvertBatch, mod } from "./modular.js";
10
+ // prettier-ignore
11
+ import { abool, aInRange, bytesToHex, bytesToNumberLE, concatBytes, ensureBytes, memoized, numberToBytesLE, validateObject } from "./utils.js";
11
12
  // Be friendly to bad ECMAScript parsers by not using bigint literals
12
13
  // prettier-ignore
13
14
  const _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _8n = BigInt(8);
@@ -15,7 +16,7 @@ const _0n = BigInt(0), _1n = BigInt(1), _2n = BigInt(2), _8n = BigInt(8);
15
16
  const VERIFY_DEFAULT = { zip215: true };
16
17
  function validateOpts(curve) {
17
18
  const opts = validateBasic(curve);
18
- ut.validateObject(curve, {
19
+ validateObject(curve, {
19
20
  hash: 'function',
20
21
  a: 'bigint',
21
22
  d: 'bigint',
@@ -46,6 +47,17 @@ export function twistedEdwards(curveDef) {
46
47
  const MASK = _2n << (BigInt(nByteLength * 8) - _1n);
47
48
  const modP = Fp.create; // Function overrides
48
49
  const Fn = Field(CURVE.n, CURVE.nBitLength);
50
+ function isEdValidXY(x, y) {
51
+ const x2 = Fp.sqr(x);
52
+ const y2 = Fp.sqr(y);
53
+ const left = Fp.add(Fp.mul(CURVE.a, x2), y2);
54
+ const right = Fp.add(Fp.ONE, Fp.mul(CURVE.d, Fp.mul(x2, y2)));
55
+ return Fp.eql(left, right);
56
+ }
57
+ // Validate whether the passed curve params are valid.
58
+ // equation ax² + y² = 1 + dx²y² should work for generator point.
59
+ if (!isEdValidXY(CURVE.Gx, CURVE.Gy))
60
+ throw new Error('bad curve params: generator point');
49
61
  // sqrt(u/v)
50
62
  const uvRatio = CURVE.uvRatio ||
51
63
  ((u, v) => {
@@ -66,10 +78,11 @@ export function twistedEdwards(curveDef) {
66
78
  }); // NOOP
67
79
  // 0 <= n < MASK
68
80
  // Coordinates larger than Fp.ORDER are allowed for zip215
69
- function aCoordinate(title, n) {
70
- ut.aInRange('coordinate ' + title, n, _0n, MASK);
81
+ function aCoordinate(title, n, banZero = false) {
82
+ const min = banZero ? _1n : _0n;
83
+ aInRange('coordinate ' + title, n, min, MASK);
71
84
  }
72
- function assertPoint(other) {
85
+ function aextpoint(other) {
73
86
  if (!(other instanceof Point))
74
87
  throw new Error('ExtendedPoint expected');
75
88
  }
@@ -112,18 +125,18 @@ export function twistedEdwards(curveDef) {
112
125
  throw new Error('bad point: equation left != right (2)');
113
126
  return true;
114
127
  });
115
- // Extended Point works in extended coordinates: (x, y, z, t) ∋ (x=x/z, y=y/z, t=xy).
128
+ // Extended Point works in extended coordinates: (X, Y, Z, T) ∋ (x=X/Z, y=Y/Z, T=xy).
116
129
  // https://en.wikipedia.org/wiki/Twisted_Edwards_curve#Extended_coordinates
117
130
  class Point {
118
131
  constructor(ex, ey, ez, et) {
132
+ aCoordinate('x', ex);
133
+ aCoordinate('y', ey);
134
+ aCoordinate('z', ez, true);
135
+ aCoordinate('t', et);
119
136
  this.ex = ex;
120
137
  this.ey = ey;
121
138
  this.ez = ez;
122
139
  this.et = et;
123
- aCoordinate('x', ex);
124
- aCoordinate('y', ey);
125
- aCoordinate('z', ez);
126
- aCoordinate('t', et);
127
140
  Object.freeze(this);
128
141
  }
129
142
  get x() {
@@ -141,7 +154,7 @@ export function twistedEdwards(curveDef) {
141
154
  return new Point(x, y, _1n, modP(x * y));
142
155
  }
143
156
  static normalizeZ(points) {
144
- const toInv = Fp.invertBatch(points.map((p) => p.ez));
157
+ const toInv = FpInvertBatch(Fp, points.map((p) => p.ez));
145
158
  return points.map((p, i) => p.toAffine(toInv[i])).map(Point.fromAffine);
146
159
  }
147
160
  // Multiscalar Multiplication
@@ -159,7 +172,7 @@ export function twistedEdwards(curveDef) {
159
172
  }
160
173
  // Compare one point to another.
161
174
  equals(other) {
162
- assertPoint(other);
175
+ aextpoint(other);
163
176
  const { ex: X1, ey: Y1, ez: Z1 } = this;
164
177
  const { ex: X2, ey: Y2, ez: Z2 } = other;
165
178
  const X1Z2 = modP(X1 * Z2);
@@ -200,31 +213,10 @@ export function twistedEdwards(curveDef) {
200
213
  // https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#addition-add-2008-hwcd
201
214
  // Cost: 9M + 1*a + 1*d + 7add.
202
215
  add(other) {
203
- assertPoint(other);
216
+ aextpoint(other);
204
217
  const { a, d } = CURVE;
205
218
  const { ex: X1, ey: Y1, ez: Z1, et: T1 } = this;
206
219
  const { ex: X2, ey: Y2, ez: Z2, et: T2 } = other;
207
- // Faster algo for adding 2 Extended Points when curve's a=-1.
208
- // http://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html#addition-add-2008-hwcd-4
209
- // Cost: 8M + 8add + 2*2.
210
- // Note: It does not check whether the `other` point is valid.
211
- if (a === BigInt(-1)) {
212
- const A = modP((Y1 - X1) * (Y2 + X2));
213
- const B = modP((Y1 + X1) * (Y2 - X2));
214
- const F = modP(B - A);
215
- if (F === _0n)
216
- return this.double(); // Same point. Tests say it doesn't affect timing
217
- const C = modP(Z1 * _2n * T2);
218
- const D = modP(T1 * _2n * Z2);
219
- const E = D + C;
220
- const G = B + A;
221
- const H = D - C;
222
- const X3 = modP(E * F);
223
- const Y3 = modP(G * H);
224
- const T3 = modP(E * H);
225
- const Z3 = modP(F * G);
226
- return new Point(X3, Y3, Z3, T3);
227
- }
228
220
  const A = modP(X1 * X2); // A = X1*X2
229
221
  const B = modP(Y1 * Y2); // B = Y1*Y2
230
222
  const C = modP(T1 * d * T2); // C = T1*d*T2
@@ -248,7 +240,7 @@ export function twistedEdwards(curveDef) {
248
240
  // Constant-time multiplication.
249
241
  multiply(scalar) {
250
242
  const n = scalar;
251
- ut.aInRange('scalar', n, _1n, CURVE_ORDER); // 1 <= scalar < L
243
+ aInRange('scalar', n, _1n, CURVE_ORDER); // 1 <= scalar < L
252
244
  const { p, f } = this.wNAF(n);
253
245
  return Point.normalizeZ([p, f])[0];
254
246
  }
@@ -259,7 +251,7 @@ export function twistedEdwards(curveDef) {
259
251
  // Accepts optional accumulator to merge with multiply (important for sparse scalars)
260
252
  multiplyUnsafe(scalar, acc = Point.ZERO) {
261
253
  const n = scalar;
262
- ut.aInRange('scalar', n, _0n, CURVE_ORDER); // 0 <= scalar < L
254
+ aInRange('scalar', n, _0n, CURVE_ORDER); // 0 <= scalar < L
263
255
  if (n === _0n)
264
256
  return I;
265
257
  if (this.is0() || n === _1n)
@@ -299,13 +291,13 @@ export function twistedEdwards(curveDef) {
299
291
  const normed = hex.slice(); // copy again, we'll manipulate it
300
292
  const lastByte = hex[len - 1]; // select last byte
301
293
  normed[len - 1] = lastByte & ~0x80; // clear last bit
302
- const y = ut.bytesToNumberLE(normed);
294
+ const y = bytesToNumberLE(normed);
303
295
  // zip215=true is good for consensus-critical apps. =false follows RFC8032 / NIST186-5.
304
296
  // RFC8032 prohibits >= p, but ZIP215 doesn't
305
297
  // zip215=true: 0 <= y < MASK (2^256 for ed25519)
306
298
  // zip215=false: 0 <= y < P (2^255-19 for ed25519)
307
299
  const max = zip215 ? MASK : Fp.ORDER;
308
- ut.aInRange('pointHex.y', y, _0n, max);
300
+ aInRange('pointHex.y', y, _0n, max);
309
301
  // Ed25519: x² = (y²-1)/(dy²+1) mod p. Ed448: x² = (y²-1)/(dy²-1) mod p. Generic case:
310
302
  // ax²+y²=1+dx²y² => y²-1=dx²y²-ax² => y²-1=x²(dy²-a) => x²=(y²-1)/(dy²-a)
311
303
  const y2 = modP(y * y); // denominator is always non-0 mod p.
@@ -324,19 +316,22 @@ export function twistedEdwards(curveDef) {
324
316
  return Point.fromAffine({ x, y });
325
317
  }
326
318
  static fromPrivateKey(privKey) {
327
- return getExtendedPublicKey(privKey).point;
319
+ const { scalar } = getPrivateScalar(privKey);
320
+ return G.multiply(scalar); // reduced one call of `toRawBytes`
328
321
  }
329
322
  toRawBytes() {
330
323
  const { x, y } = this.toAffine();
331
- const bytes = ut.numberToBytesLE(y, Fp.BYTES); // each y has 2 x values (x, -y)
324
+ const bytes = numberToBytesLE(y, Fp.BYTES); // each y has 2 x values (x, -y)
332
325
  bytes[bytes.length - 1] |= x & _1n ? 0x80 : 0; // when compressing, it's enough to store y
333
326
  return bytes; // and use the last byte to encode sign of x
334
327
  }
335
328
  toHex() {
336
- return ut.bytesToHex(this.toRawBytes()); // Same as toRawBytes, but returns string.
329
+ return bytesToHex(this.toRawBytes()); // Same as toRawBytes, but returns string.
337
330
  }
338
331
  }
332
+ // base / generator point
339
333
  Point.BASE = new Point(CURVE.Gx, CURVE.Gy, _1n, modP(CURVE.Gx * CURVE.Gy));
334
+ // zero / infinity / identity point
340
335
  Point.ZERO = new Point(_0n, _1n, _1n, _0n); // 0, 1, 1, 0
341
336
  const { BASE: G, ZERO: I } = Point;
342
337
  const wnaf = wNAF(Point, nByteLength * 8);
@@ -345,10 +340,10 @@ export function twistedEdwards(curveDef) {
345
340
  }
346
341
  // Little-endian SHA512 with modulo n
347
342
  function modN_LE(hash) {
348
- return modN(ut.bytesToNumberLE(hash));
343
+ return modN(bytesToNumberLE(hash));
349
344
  }
350
- /** Convenience method that creates public key and other stuff. RFC8032 5.1.5 */
351
- function getExtendedPublicKey(key) {
345
+ // Get the hashed private scalar per RFC8032 5.1.5
346
+ function getPrivateScalar(key) {
352
347
  const len = Fp.BYTES;
353
348
  key = ensureBytes('private key', key, len);
354
349
  // Hash private key with curve's hash function to produce uniformingly random input
@@ -357,6 +352,11 @@ export function twistedEdwards(curveDef) {
357
352
  const head = adjustScalarBytes(hashed.slice(0, len)); // clear first half bits, produce FE
358
353
  const prefix = hashed.slice(len, 2 * len); // second half is called key prefix (5.1.6)
359
354
  const scalar = modN_LE(head); // The actual private scalar
355
+ return { head, prefix, scalar };
356
+ }
357
+ // Convenience method that creates public key from scalar. RFC8032 5.1.5
358
+ function getExtendedPublicKey(key) {
359
+ const { head, prefix, scalar } = getPrivateScalar(key);
360
360
  const point = G.multiply(scalar); // Point on Edwards curve aka public key
361
361
  const pointBytes = point.toRawBytes(); // Uint8Array representation
362
362
  return { head, prefix, scalar, point, pointBytes };
@@ -366,8 +366,8 @@ export function twistedEdwards(curveDef) {
366
366
  return getExtendedPublicKey(privKey).pointBytes;
367
367
  }
368
368
  // int('LE', SHA512(dom2(F, C) || msgs)) mod N
369
- function hashDomainToScalar(context = new Uint8Array(), ...msgs) {
370
- const msg = ut.concatBytes(...msgs);
369
+ function hashDomainToScalar(context = Uint8Array.of(), ...msgs) {
370
+ const msg = concatBytes(...msgs);
371
371
  return modN_LE(cHash(domain(msg, ensureBytes('context', context), !!prehash)));
372
372
  }
373
373
  /** Signs message with privateKey. RFC8032 5.1.6 */
@@ -380,8 +380,8 @@ export function twistedEdwards(curveDef) {
380
380
  const R = G.multiply(r).toRawBytes(); // R = rG
381
381
  const k = hashDomainToScalar(options.context, R, pointBytes, msg); // R || A || PH(M)
382
382
  const s = modN(r + k * scalar); // S = (r + k * s) mod L
383
- ut.aInRange('signature.s', s, _0n, CURVE_ORDER); // 0 <= s < l
384
- const res = ut.concatBytes(R, ut.numberToBytesLE(s, Fp.BYTES));
383
+ aInRange('signature.s', s, _0n, CURVE_ORDER); // 0 <= s < l
384
+ const res = concatBytes(R, numberToBytesLE(s, Fp.BYTES));
385
385
  return ensureBytes('result', res, Fp.BYTES * 2); // 64-byte signature
386
386
  }
387
387
  const verifyOpts = VERIFY_DEFAULT;
@@ -399,7 +399,7 @@ export function twistedEdwards(curveDef) {
399
399
  abool('zip215', zip215);
400
400
  if (prehash)
401
401
  msg = prehash(msg); // for ed25519ph, etc
402
- const s = ut.bytesToNumberLE(sig.slice(len, 2 * len));
402
+ const s = bytesToNumberLE(sig.slice(len, 2 * len));
403
403
  let A, R, SB;
404
404
  try {
405
405
  // zip215=true is good for consensus-critical apps. =false follows RFC8032 / NIST186-5.
@@ -423,7 +423,7 @@ export function twistedEdwards(curveDef) {
423
423
  G._setWindowSize(8); // Enable precomputes. Slows down first publicKey computation by 20ms.
424
424
  const utils = {
425
425
  getExtendedPublicKey,
426
- // ed25519 private keys are uniform 32b. No need to check for modulo bias, like in secp256k1.
426
+ /** ed25519 priv keys are uniform 32b. No need to check for modulo bias, like in secp256k1. */
427
427
  randomPrivateKey: () => randomBytes(Fp.BYTES),
428
428
  /**
429
429
  * We're doing scalar multiplication (used in getPublicKey etc) with precomputed BASE_POINT
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edwards.js","sourceRoot":"","sources":["../../src/abstract/edwards.ts"],"names":[],"mappings":"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"}