@gardenfi/utils 3.0.0-beta.2 → 3.0.0-beta.3

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 (304) hide show
  1. package/dist/index.cjs +1 -1
  2. package/dist/index.js +35 -36
  3. package/dist/index102.cjs +1 -1
  4. package/dist/index102.js +4 -4
  5. package/dist/index104.cjs +1 -1
  6. package/dist/index104.js +3 -3
  7. package/dist/index111.cjs +1 -1
  8. package/dist/index111.js +2 -2
  9. package/dist/index112.cjs +1 -1
  10. package/dist/index112.js +1 -1
  11. package/dist/index113.cjs +1 -1
  12. package/dist/index113.js +1 -1
  13. package/dist/index114.cjs +1 -1
  14. package/dist/index114.js +1 -1
  15. package/dist/index115.cjs +1 -1
  16. package/dist/index115.js +1 -1
  17. package/dist/index132.cjs +1 -1
  18. package/dist/index132.js +5 -5
  19. package/dist/index138.cjs +1 -1
  20. package/dist/index138.js +33 -13
  21. package/dist/index139.cjs +1 -1
  22. package/dist/index139.js +9 -34
  23. package/dist/index140.cjs +1 -1
  24. package/dist/index140.js +60 -55
  25. package/dist/index141.cjs +1 -1
  26. package/dist/index141.js +17 -23
  27. package/dist/index142.cjs +1 -1
  28. package/dist/index142.js +106 -6
  29. package/dist/index143.cjs +1 -1
  30. package/dist/index143.js +78 -18
  31. package/dist/index144.cjs +1 -1
  32. package/dist/index144.js +9 -15
  33. package/dist/index145.cjs +1 -1
  34. package/dist/index145.js +71 -5
  35. package/dist/index146.cjs +2 -1
  36. package/dist/index146.js +3 -14
  37. package/dist/index147.cjs +1 -1
  38. package/dist/index147.js +9 -11
  39. package/dist/index148.cjs +1 -1
  40. package/dist/index148.js +13 -12
  41. package/dist/index149.cjs +1 -1
  42. package/dist/index149.js +4 -11
  43. package/dist/index150.cjs +1 -1
  44. package/dist/index150.js +12 -8
  45. package/dist/index151.cjs +1 -1
  46. package/dist/index151.js +2 -4
  47. package/dist/index152.cjs +1 -1
  48. package/dist/index152.js +32 -17
  49. package/dist/index153.cjs +1 -1
  50. package/dist/index153.js +21 -5
  51. package/dist/index154.cjs +1 -1
  52. package/dist/index154.js +5 -171
  53. package/dist/index155.cjs +1 -1
  54. package/dist/index155.js +5 -103
  55. package/dist/index156.cjs +1 -1
  56. package/dist/index156.js +5 -33
  57. package/dist/index157.cjs +9 -1
  58. package/dist/index157.js +34 -8
  59. package/dist/index158.cjs +1 -1
  60. package/dist/index158.js +3 -61
  61. package/dist/index159.cjs +1 -1
  62. package/dist/index159.js +18 -19
  63. package/dist/index160.cjs +1 -1
  64. package/dist/index160.js +19 -105
  65. package/dist/index161.cjs +1 -1
  66. package/dist/index161.js +27 -70
  67. package/dist/index162.cjs +1 -1
  68. package/dist/index162.js +6 -7
  69. package/dist/index163.cjs +4 -1
  70. package/dist/index163.js +194 -71
  71. package/dist/index164.cjs +1 -2
  72. package/dist/index164.js +28 -3
  73. package/dist/index165.cjs +1 -1
  74. package/dist/index165.js +162 -9
  75. package/dist/index166.cjs +1 -1
  76. package/dist/index166.js +127 -13
  77. package/dist/index167.cjs +1 -1
  78. package/dist/index167.js +27 -4
  79. package/dist/index168.cjs +1 -1
  80. package/dist/index168.js +56 -2
  81. package/dist/index169.cjs +1 -1
  82. package/dist/index169.js +191 -31
  83. package/dist/index170.cjs +1 -1
  84. package/dist/index170.js +4 -22
  85. package/dist/index171.cjs +1 -1
  86. package/dist/index171.js +20 -5
  87. package/dist/index172.cjs +1 -1
  88. package/dist/index172.js +3 -6
  89. package/dist/index173.cjs +1 -1
  90. package/dist/index173.js +16 -5
  91. package/dist/index174.cjs +1 -9
  92. package/dist/index174.js +11 -35
  93. package/dist/index175.cjs +1 -1
  94. package/dist/index175.js +35 -3
  95. package/dist/index176.cjs +1 -1
  96. package/dist/index176.js +3 -19
  97. package/dist/index177.cjs +1 -1
  98. package/dist/index177.js +25 -18
  99. package/dist/index178.cjs +1 -1
  100. package/dist/index178.js +8 -35
  101. package/dist/index179.cjs +1 -1
  102. package/dist/index179.js +23 -6
  103. package/dist/index180.cjs +1 -4
  104. package/dist/index180.js +28 -194
  105. package/dist/index181.cjs +1 -1
  106. package/dist/index181.js +3 -27
  107. package/dist/index182.cjs +1 -1
  108. package/dist/index182.js +6 -161
  109. package/dist/index183.cjs +1 -1
  110. package/dist/index183.js +6 -127
  111. package/dist/index184.cjs +1 -1
  112. package/dist/index184.js +32 -27
  113. package/dist/index185.cjs +1 -1
  114. package/dist/index185.js +5 -192
  115. package/dist/index186.cjs +1 -1
  116. package/dist/index186.js +38 -4
  117. package/dist/index187.cjs +1 -1
  118. package/dist/index187.js +43 -14
  119. package/dist/index188.cjs +1 -1
  120. package/dist/index188.js +33 -3
  121. package/dist/index189.cjs +1 -1
  122. package/dist/index189.js +16 -15
  123. package/dist/index190.cjs +1 -1
  124. package/dist/index190.js +40 -32
  125. package/dist/index191.cjs +1 -1
  126. package/dist/index191.js +105 -3
  127. package/dist/index192.cjs +1 -1
  128. package/dist/index192.js +3 -28
  129. package/dist/index193.cjs +1 -1
  130. package/dist/index193.js +5 -25
  131. package/dist/index194.cjs +1 -1
  132. package/dist/index194.js +3 -28
  133. package/dist/index195.cjs +1 -1
  134. package/dist/index195.js +17 -6
  135. package/dist/index196.cjs +1 -1
  136. package/dist/index196.js +5 -6
  137. package/dist/index197.cjs +1 -1
  138. package/dist/index197.js +8 -32
  139. package/dist/index198.cjs +1 -1
  140. package/dist/index198.js +104 -5
  141. package/dist/index199.cjs +1 -1
  142. package/dist/index199.js +5 -37
  143. package/dist/index200.cjs +1 -1
  144. package/dist/index200.js +6 -49
  145. package/dist/index201.cjs +1 -1
  146. package/dist/index201.js +25 -30
  147. package/dist/index202.cjs +1 -1
  148. package/dist/index202.js +34 -17
  149. package/dist/index203.cjs +1 -1
  150. package/dist/index203.js +13 -42
  151. package/dist/index204.cjs +1 -1
  152. package/dist/index204.js +74 -100
  153. package/dist/index205.cjs +1 -1
  154. package/dist/index205.js +2 -3
  155. package/dist/index206.cjs +1 -1
  156. package/dist/index206.js +17 -4
  157. package/dist/index207.cjs +1 -1
  158. package/dist/index207.js +171 -3
  159. package/dist/index208.cjs +1 -1
  160. package/dist/index208.js +17 -17
  161. package/dist/index209.cjs +1 -1
  162. package/dist/index209.js +10 -8
  163. package/dist/index210.cjs +1 -1
  164. package/dist/index210.js +25 -5
  165. package/dist/index211.cjs +1 -1
  166. package/dist/index211.js +18 -27
  167. package/dist/index212.cjs +1 -1
  168. package/dist/index212.js +15 -78
  169. package/dist/index213.cjs +1 -1
  170. package/dist/index213.js +6 -2
  171. package/dist/index214.cjs +1 -1
  172. package/dist/index214.js +13 -18
  173. package/dist/index215.cjs +1 -1
  174. package/dist/index215.js +10 -17
  175. package/dist/index216.cjs +1 -1
  176. package/dist/index216.js +16 -10
  177. package/dist/index217.cjs +1 -1
  178. package/dist/index217.js +1 -1
  179. package/dist/index22.cjs +1 -1
  180. package/dist/index22.js +8 -8
  181. package/dist/index220.cjs +2 -1
  182. package/dist/index220.js +40 -102
  183. package/dist/index221.cjs +1 -1
  184. package/dist/index221.js +2 -17
  185. package/dist/index222.cjs +1 -1
  186. package/dist/index222.js +5 -214
  187. package/dist/index223.cjs +1 -1
  188. package/dist/index223.js +8 -106
  189. package/dist/index224.cjs +1 -1
  190. package/dist/index224.js +17 -204
  191. package/dist/index225.cjs +1 -1
  192. package/dist/index225.js +8 -42
  193. package/dist/index226.cjs +1 -1
  194. package/dist/index226.js +62 -74
  195. package/dist/index227.cjs +1 -1
  196. package/dist/index227.js +66 -2
  197. package/dist/index228.cjs +1 -2
  198. package/dist/index228.js +187 -40
  199. package/dist/index229.cjs +1 -1
  200. package/dist/index229.js +29 -2
  201. package/dist/index230.cjs +1 -1
  202. package/dist/index230.js +76 -5
  203. package/dist/index231.cjs +1 -1
  204. package/dist/index231.js +39 -9
  205. package/dist/index232.cjs +1 -1
  206. package/dist/index232.js +14 -17
  207. package/dist/index233.cjs +1 -1
  208. package/dist/index233.js +13 -8
  209. package/dist/index234.cjs +1 -1
  210. package/dist/index234.js +11 -66
  211. package/dist/index235.cjs +1 -1
  212. package/dist/index235.js +11 -64
  213. package/dist/index236.cjs +1 -1
  214. package/dist/index236.js +18 -187
  215. package/dist/index237.cjs +1 -1
  216. package/dist/index237.js +106 -26
  217. package/dist/index238.cjs +1 -1
  218. package/dist/index238.js +98 -71
  219. package/dist/index239.cjs +1 -1
  220. package/dist/index239.js +6 -40
  221. package/dist/index240.cjs +1 -1
  222. package/dist/index240.js +7 -17
  223. package/dist/index241.cjs +1 -1
  224. package/dist/index241.js +25 -12
  225. package/dist/index242.cjs +1 -1
  226. package/dist/index242.js +16 -11
  227. package/dist/index243.cjs +1 -1
  228. package/dist/index243.js +212 -10
  229. package/dist/index244.cjs +1 -1
  230. package/dist/index244.js +206 -6
  231. package/dist/index245.cjs +1 -1
  232. package/dist/index245.js +43 -7
  233. package/dist/index246.cjs +1 -1
  234. package/dist/index246.js +74 -22
  235. package/dist/index247.cjs +1 -1
  236. package/dist/index247.js +2 -20
  237. package/dist/index25.cjs +1 -1
  238. package/dist/index25.js +2 -2
  239. package/dist/index252.cjs +1 -1
  240. package/dist/index252.js +68 -657
  241. package/dist/index253.cjs +1 -1
  242. package/dist/index253.js +634 -154
  243. package/dist/index254.cjs +1 -1
  244. package/dist/index254.js +176 -67
  245. package/dist/index26.cjs +1 -1
  246. package/dist/index26.js +4 -4
  247. package/dist/index28.cjs +1 -1
  248. package/dist/index28.js +1 -1
  249. package/dist/index3.cjs +1 -1
  250. package/dist/index3.js +24 -41
  251. package/dist/index30.cjs +1 -1
  252. package/dist/index30.js +6 -6
  253. package/dist/index35.cjs +1 -1
  254. package/dist/index35.js +1 -1
  255. package/dist/index37.cjs +1 -1
  256. package/dist/index37.js +8 -8
  257. package/dist/index38.cjs +1 -1
  258. package/dist/index38.js +1 -1
  259. package/dist/index39.cjs +1 -1
  260. package/dist/index39.js +1 -1
  261. package/dist/index40.cjs +1 -1
  262. package/dist/index40.js +2 -2
  263. package/dist/index42.cjs +1 -1
  264. package/dist/index42.js +2 -2
  265. package/dist/index43.cjs +1 -1
  266. package/dist/index43.js +1 -1
  267. package/dist/index47.cjs +1 -1
  268. package/dist/index47.js +4 -4
  269. package/dist/index48.cjs +1 -1
  270. package/dist/index48.js +3 -3
  271. package/dist/index49.cjs +1 -1
  272. package/dist/index49.js +3 -3
  273. package/dist/index51.cjs +1 -1
  274. package/dist/index51.js +6 -6
  275. package/dist/index54.cjs +1 -1
  276. package/dist/index54.js +1 -1
  277. package/dist/index58.cjs +1 -1
  278. package/dist/index58.js +1 -1
  279. package/dist/index62.cjs +1 -1
  280. package/dist/index62.js +2 -2
  281. package/dist/index63.cjs +1 -1
  282. package/dist/index63.js +2 -2
  283. package/dist/index65.cjs +1 -1
  284. package/dist/index65.js +2 -2
  285. package/dist/index67.cjs +1 -1
  286. package/dist/index67.js +1 -1
  287. package/dist/index75.cjs +1 -1
  288. package/dist/index75.js +4 -4
  289. package/dist/index78.cjs +1 -1
  290. package/dist/index78.js +3 -3
  291. package/dist/index81.cjs +1 -1
  292. package/dist/index81.js +2 -2
  293. package/dist/index90.cjs +1 -1
  294. package/dist/index90.js +1 -1
  295. package/dist/index93.cjs +1 -1
  296. package/dist/index93.js +1 -1
  297. package/dist/index95.cjs +1 -1
  298. package/dist/index95.js +2 -2
  299. package/dist/index96.cjs +1 -1
  300. package/dist/index96.js +1 -1
  301. package/dist/index97.cjs +1 -1
  302. package/dist/index97.js +5 -5
  303. package/dist/src/lib/utils.d.ts +0 -15
  304. package/package.json +1 -1
package/dist/index253.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("./index222.cjs"),m=require("./index224.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const E=BigInt(0),A=BigInt(1);function N(e,a){const t=a.negate();return e?t:a}function x(e,a){if(!Number.isSafeInteger(e)||e<=0||e>a)throw new Error("invalid window size, expected [1.."+a+"], got W="+e)}function b(e,a){x(e,a);const t=Math.ceil(a/e)+1,n=2**(e-1),o=2**e,i=m.bitMask(e),r=BigInt(e);return{windows:t,windowSize:n,mask:i,maxNumber:o,shiftBy:r}}function M(e,a,t){const{windowSize:n,mask:o,maxNumber:i,shiftBy:r}=t;let f=Number(e&o),s=e>>r;f>n&&(f-=i,s+=A);const c=a*n,d=c+Math.abs(f)-1,g=f===0,l=f<0,u=a%2!==0;return{nextN:s,offset:d,isZero:g,isNeg:l,isNegF:u,offsetF:c}}function O(e,a){if(!Array.isArray(e))throw new Error("array expected");e.forEach((t,n)=>{if(!(t instanceof a))throw new Error("invalid point at index "+n)})}function z(e,a){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((t,n)=>{if(!a.isValid(t))throw new Error("invalid scalar at index "+n)})}const S=new WeakMap,I=new WeakMap;function F(e){return I.get(e)||1}function k(e,a){return{constTimeNegate:N,hasPrecomputes(t){return F(t)!==1},unsafeLadder(t,n,o=e.ZERO){let i=t;for(;n>E;)n&A&&(o=o.add(i)),i=i.double(),n>>=A;return o},precomputeWindow(t,n){const{windows:o,windowSize:i}=b(n,a),r=[];let f=t,s=f;for(let c=0;c<o;c++){s=f,r.push(s);for(let d=1;d<i;d++)s=s.add(f),r.push(s);f=s.double()}return r},wNAF(t,n,o){let i=e.ZERO,r=e.BASE;const f=b(t,a);for(let s=0;s<f.windows;s++){const{nextN:c,offset:d,isZero:g,isNeg:l,isNegF:u,offsetF:h}=M(o,s,f);o=c,g?r=r.add(N(u,n[h])):i=i.add(N(l,n[d]))}return{p:i,f:r}},wNAFUnsafe(t,n,o,i=e.ZERO){const r=b(t,a);for(let f=0;f<r.windows&&o!==E;f++){const{nextN:s,offset:c,isZero:d,isNeg:g}=M(o,f,r);if(o=s,!d){const l=n[c];i=i.add(g?l.negate():l)}}return i},getPrecomputes(t,n,o){let i=S.get(n);return i||(i=this.precomputeWindow(n,t),t!==1&&S.set(n,o(i))),i},wNAFCached(t,n,o){const i=F(t);return this.wNAF(i,this.getPrecomputes(i,t,o),n)},wNAFCachedUnsafe(t,n,o,i){const r=F(t);return r===1?this.unsafeLadder(t,n,i):this.wNAFUnsafe(r,this.getPrecomputes(r,t,o),n,i)},setWindowSize(t,n){x(n,a),I.set(t,n),S.delete(t)}}}function L(e,a,t,n){O(t,e),z(n,a);const o=t.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");const r=e.ZERO,f=m.bitLen(BigInt(o));let s=1;f>12?s=f-3:f>4?s=f-2:f>0&&(s=2);const c=m.bitMask(s),d=new Array(Number(c)+1).fill(r),g=Math.floor((a.BITS-1)/s)*s;let l=r;for(let u=g;u>=0;u-=s){d.fill(r);for(let w=0;w<i;w++){const p=n[w],y=Number(p>>BigInt(u)&c);d[y]=d[y].add(t[w])}let h=r;for(let w=d.length-1,p=r;w>0;w--)p=p.add(d[w]),h=h.add(p);if(l=l.add(h),u!==0)for(let w=0;w<s;w++)l=l.double()}return l}function Z(e){return B.validateField(e.Fp),m.validateObject(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...B.nLength(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}exports.pippenger=L;exports.validateBasic=Z;exports.wNAF=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const et=require("./index254.cjs"),K=require("./index243.cjs"),a=require("./index244.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function at(y){y.lowS!==void 0&&a.abool("lowS",y.lowS),y.prehash!==void 0&&a.abool("prehash",y.prehash)}function ut(y){const r=et.validateBasic(y);a.validateObject(r,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});const{endo:t,Fp:B,a:R}=r;if(t){if(!B.eql(R,B.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...r})}class ct extends Error{constructor(r=""){super(r)}}const U={Err:ct,_tlv:{encode:(y,r)=>{const{Err:t}=U;if(y<0||y>256)throw new t("tlv.encode: wrong tag");if(r.length&1)throw new t("tlv.encode: unpadded data");const B=r.length/2,R=a.numberToHexUnpadded(B);if(R.length/2&128)throw new t("tlv.encode: long form length too big");const z=B>127?a.numberToHexUnpadded(R.length/2|128):"";return a.numberToHexUnpadded(y)+z+R+r},decode(y,r){const{Err:t}=U;let B=0;if(y<0||y>256)throw new t("tlv.encode: wrong tag");if(r.length<2||r[B++]!==y)throw new t("tlv.decode: wrong tlv");const R=r[B++],z=!!(R&128);let T=0;if(!z)T=R;else{const S=R&127;if(!S)throw new t("tlv.decode(long): indefinite length not supported");if(S>4)throw new t("tlv.decode(long): byte length is too big");const F=r.subarray(B,B+S);if(F.length!==S)throw new t("tlv.decode: length bytes not complete");if(F[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const A of F)T=T<<8|A;if(B+=S,T<128)throw new t("tlv.decode(long): not minimal encoding")}const Y=r.subarray(B,B+T);if(Y.length!==T)throw new t("tlv.decode: wrong value length");return{v:Y,l:r.subarray(B+T)}}},_int:{encode(y){const{Err:r}=U;if(y<I)throw new r("integer: negative integers are not allowed");let t=a.numberToHexUnpadded(y);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new r("unexpected DER parsing assertion: unpadded hex");return t},decode(y){const{Err:r}=U;if(y[0]&128)throw new r("invalid signature integer: negative");if(y[0]===0&&!(y[1]&128))throw new r("invalid signature integer: unnecessary leading zero");return a.bytesToNumberBE(y)}},toSig(y){const{Err:r,_int:t,_tlv:B}=U,R=a.ensureBytes("signature",y),{v:z,l:T}=B.decode(48,R);if(T.length)throw new r("invalid signature: left bytes after parsing");const{v:Y,l:S}=B.decode(2,z),{v:F,l:A}=B.decode(2,S);if(A.length)throw new r("invalid signature: left bytes after parsing");return{r:t.decode(Y),s:t.decode(F)}},hexFromSig(y){const{_tlv:r,_int:t}=U,B=r.encode(2,t.encode(y.r)),R=r.encode(2,t.encode(y.s)),z=B+R;return r.encode(48,z)}};function st(y,r){return a.bytesToHex(a.numberToBytesBE(y,r))}const I=BigInt(0),O=BigInt(1);BigInt(2);const it=BigInt(3),dt=BigInt(4);function lt(y){const r=ut(y),{Fp:t}=r,B=K.Field(r.n,r.nBitLength),R=r.toBytes||((w,e,s)=>{const c=e.toAffine();return a.concatBytes(Uint8Array.from([4]),t.toBytes(c.x),t.toBytes(c.y))}),z=r.fromBytes||(w=>{const e=w.subarray(1),s=t.fromBytes(e.subarray(0,t.BYTES)),c=t.fromBytes(e.subarray(t.BYTES,2*t.BYTES));return{x:s,y:c}});function T(w){const{a:e,b:s}=r,c=t.sqr(w),f=t.mul(c,w);return t.add(t.add(f,t.mul(w,e)),s)}function Y(w,e){const s=t.sqr(e),c=T(w);return t.eql(s,c)}if(!Y(r.Gx,r.Gy))throw new Error("bad curve params: generator point");const S=t.mul(t.pow(r.a,it),dt),F=t.mul(t.sqr(r.b),BigInt(27));if(t.is0(t.add(S,F)))throw new Error("bad curve params: a or b");function A(w){return a.inRange(w,O,r.n)}function D(w){const{allowedPrivateKeyLengths:e,nByteLength:s,wrapPrivateKey:c,n:f}=r;if(e&&typeof w!="bigint"){if(a.isBytes(w)&&(w=a.bytesToHex(w)),typeof w!="string"||!e.includes(w.length))throw new Error("invalid private key");w=w.padStart(s*2,"0")}let g;try{g=typeof w=="bigint"?w:a.bytesToNumberBE(a.ensureBytes("private key",w,s))}catch{throw new Error("invalid private key, expected hex or "+s+" bytes, got "+typeof w)}return c&&(g=K.mod(g,f)),a.aInRange("private key",g,O,f),g}function _(w){if(!(w instanceof E))throw new Error("ProjectivePoint expected")}const nt=a.memoized((w,e)=>{const{px:s,py:c,pz:f}=w;if(t.eql(f,t.ONE))return{x:s,y:c};const g=w.is0();e==null&&(e=g?t.ONE:t.inv(f));const v=t.mul(s,e),b=t.mul(c,e),l=t.mul(f,e);if(g)return{x:t.ZERO,y:t.ZERO};if(!t.eql(l,t.ONE))throw new Error("invZ was invalid");return{x:v,y:b}}),G=a.memoized(w=>{if(w.is0()){if(r.allowInfinityPoint&&!t.is0(w.py))return;throw new Error("bad point: ZERO")}const{x:e,y:s}=w.toAffine();if(!t.isValid(e)||!t.isValid(s))throw new Error("bad point: x or y not FE");if(!Y(e,s))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class E{constructor(e,s,c){if(e==null||!t.isValid(e))throw new Error("x required");if(s==null||!t.isValid(s)||t.is0(s))throw new Error("y required");if(c==null||!t.isValid(c))throw new Error("z required");this.px=e,this.py=s,this.pz=c,Object.freeze(this)}static fromAffine(e){const{x:s,y:c}=e||{};if(!e||!t.isValid(s)||!t.isValid(c))throw new Error("invalid affine point");if(e instanceof E)throw new Error("projective point not allowed");const f=g=>t.eql(g,t.ZERO);return f(s)&&f(c)?E.ZERO:new E(s,c,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const s=K.FpInvertBatch(t,e.map(c=>c.pz));return e.map((c,f)=>c.toAffine(s[f])).map(E.fromAffine)}static fromHex(e){const s=E.fromAffine(z(a.ensureBytes("pointHex",e)));return s.assertValidity(),s}static fromPrivateKey(e){return E.BASE.multiply(D(e))}static msm(e,s){return et.pippenger(E,B,e,s)}_setWindowSize(e){C.setWindowSize(this,e)}assertValidity(){G(this)}hasEvenY(){const{y:e}=this.toAffine();if(t.isOdd)return!t.isOdd(e);throw new Error("Field doesn't support isOdd")}equals(e){_(e);const{px:s,py:c,pz:f}=this,{px:g,py:v,pz:b}=e,l=t.eql(t.mul(s,b),t.mul(g,f)),p=t.eql(t.mul(c,b),t.mul(v,f));return l&&p}negate(){return new E(this.px,t.neg(this.py),this.pz)}double(){const{a:e,b:s}=r,c=t.mul(s,it),{px:f,py:g,pz:v}=this;let b=t.ZERO,l=t.ZERO,p=t.ZERO,u=t.mul(f,f),N=t.mul(g,g),o=t.mul(v,v),n=t.mul(f,g);return n=t.add(n,n),p=t.mul(f,v),p=t.add(p,p),b=t.mul(e,p),l=t.mul(c,o),l=t.add(b,l),b=t.sub(N,l),l=t.add(N,l),l=t.mul(b,l),b=t.mul(n,b),p=t.mul(c,p),o=t.mul(e,o),n=t.sub(u,o),n=t.mul(e,n),n=t.add(n,p),p=t.add(u,u),u=t.add(p,u),u=t.add(u,o),u=t.mul(u,n),l=t.add(l,u),o=t.mul(g,v),o=t.add(o,o),u=t.mul(o,n),b=t.sub(b,u),p=t.mul(o,N),p=t.add(p,p),p=t.add(p,p),new E(b,l,p)}add(e){_(e);const{px:s,py:c,pz:f}=this,{px:g,py:v,pz:b}=e;let l=t.ZERO,p=t.ZERO,u=t.ZERO;const N=r.a,o=t.mul(r.b,it);let n=t.mul(s,g),i=t.mul(c,v),m=t.mul(f,b),d=t.add(s,c),h=t.add(g,v);d=t.mul(d,h),h=t.add(n,i),d=t.sub(d,h),h=t.add(s,f);let x=t.add(g,b);return h=t.mul(h,x),x=t.add(n,m),h=t.sub(h,x),x=t.add(c,f),l=t.add(v,b),x=t.mul(x,l),l=t.add(i,m),x=t.sub(x,l),u=t.mul(N,h),l=t.mul(o,m),u=t.add(l,u),l=t.sub(i,u),u=t.add(i,u),p=t.mul(l,u),i=t.add(n,n),i=t.add(i,n),m=t.mul(N,m),h=t.mul(o,h),i=t.add(i,m),m=t.sub(n,m),m=t.mul(N,m),h=t.add(h,m),n=t.mul(i,h),p=t.add(p,n),n=t.mul(x,h),l=t.mul(d,l),l=t.sub(l,n),n=t.mul(d,i),u=t.mul(x,u),u=t.add(u,n),new E(l,p,u)}subtract(e){return this.add(e.negate())}is0(){return this.equals(E.ZERO)}wNAF(e){return C.wNAFCached(this,e,E.normalizeZ)}multiplyUnsafe(e){const{endo:s,n:c}=r;a.aInRange("scalar",e,I,c);const f=E.ZERO;if(e===I)return f;if(this.is0()||e===O)return this;if(!s||C.hasPrecomputes(this))return C.wNAFCachedUnsafe(this,e,E.normalizeZ);let{k1neg:g,k1:v,k2neg:b,k2:l}=s.splitScalar(e),p=f,u=f,N=this;for(;v>I||l>I;)v&O&&(p=p.add(N)),l&O&&(u=u.add(N)),N=N.double(),v>>=O,l>>=O;return g&&(p=p.negate()),b&&(u=u.negate()),u=new E(t.mul(u.px,s.beta),u.py,u.pz),p.add(u)}multiply(e){const{endo:s,n:c}=r;a.aInRange("scalar",e,O,c);let f,g;if(s){const{k1neg:v,k1:b,k2neg:l,k2:p}=s.splitScalar(e);let{p:u,f:N}=this.wNAF(b),{p:o,f:n}=this.wNAF(p);u=C.constTimeNegate(v,u),o=C.constTimeNegate(l,o),o=new E(t.mul(o.px,s.beta),o.py,o.pz),f=u.add(o),g=N.add(n)}else{const{p:v,f:b}=this.wNAF(e);f=v,g=b}return E.normalizeZ([f,g])[0]}multiplyAndAddUnsafe(e,s,c){const f=E.BASE,g=(b,l)=>l===I||l===O||!b.equals(f)?b.multiplyUnsafe(l):b.multiply(l),v=g(this,s).add(g(e,c));return v.is0()?void 0:v}toAffine(e){return nt(this,e)}isTorsionFree(){const{h:e,isTorsionFree:s}=r;if(e===O)return!0;if(s)return s(E,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:s}=r;return e===O?this:s?s(E,this):this.multiplyUnsafe(r.h)}toRawBytes(e=!0){return a.abool("isCompressed",e),this.assertValidity(),R(E,this,e)}toHex(e=!0){return a.abool("isCompressed",e),a.bytesToHex(this.toRawBytes(e))}}E.BASE=new E(r.Gx,r.Gy,t.ONE),E.ZERO=new E(t.ZERO,t.ONE,t.ZERO);const{endo:tt,nBitLength:H}=r,C=et.wNAF(E,tt?Math.ceil(H/2):H);return{CURVE:r,ProjectivePoint:E,normPrivateKeyToScalar:D,weierstrassEquation:T,isWithinCurveOrder:A}}function ft(y){const r=et.validateBasic(y);return a.validateObject(r,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...r})}function ht(y){const r=ft(y),{Fp:t,n:B,nByteLength:R,nBitLength:z}=r,T=t.BYTES+1,Y=2*t.BYTES+1;function S(o){return K.mod(o,B)}function F(o){return K.invert(o,B)}const{ProjectivePoint:A,normPrivateKeyToScalar:D,weierstrassEquation:_,isWithinCurveOrder:nt}=lt({...r,toBytes(o,n,i){const m=n.toAffine(),d=t.toBytes(m.x),h=a.concatBytes;return a.abool("isCompressed",i),i?h(Uint8Array.from([n.hasEvenY()?2:3]),d):h(Uint8Array.from([4]),d,t.toBytes(m.y))},fromBytes(o){const n=o.length,i=o[0],m=o.subarray(1);if(n===T&&(i===2||i===3)){const d=a.bytesToNumberBE(m);if(!a.inRange(d,O,t.ORDER))throw new Error("Point is not on curve");const h=_(d);let x;try{x=t.sqrt(h)}catch(L){const q=L instanceof Error?": "+L.message:"";throw new Error("Point is not on curve"+q)}const Z=(x&O)===O;return(i&1)===1!==Z&&(x=t.neg(x)),{x:d,y:x}}else if(n===Y&&i===4){const d=t.fromBytes(m.subarray(0,t.BYTES)),h=t.fromBytes(m.subarray(t.BYTES,2*t.BYTES));return{x:d,y:h}}else{const d=T,h=Y;throw new Error("invalid Point, expected length of "+d+", or uncompressed "+h+", got "+n)}}});function G(o){const n=B>>O;return o>n}function E(o){return G(o)?S(-o):o}const tt=(o,n,i)=>a.bytesToNumberBE(o.slice(n,i));class H{constructor(n,i,m){a.aInRange("r",n,O,B),a.aInRange("s",i,O,B),this.r=n,this.s=i,m!=null&&(this.recovery=m),Object.freeze(this)}static fromCompact(n){const i=R;return n=a.ensureBytes("compactSignature",n,i*2),new H(tt(n,0,i),tt(n,i,2*i))}static fromDER(n){const{r:i,s:m}=U.toSig(a.ensureBytes("DER",n));return new H(i,m)}assertValidity(){}addRecoveryBit(n){return new H(this.r,this.s,n)}recoverPublicKey(n){const{r:i,s:m,recovery:d}=this,h=f(a.ensureBytes("msgHash",n));if(d==null||![0,1,2,3].includes(d))throw new Error("recovery id invalid");const x=d===2||d===3?i+r.n:i;if(x>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const Z=d&1?"03":"02",V=A.fromHex(Z+st(x,t.BYTES)),L=F(x),q=S(-h*L),X=S(m*L),j=A.BASE.multiplyAndAddUnsafe(V,q,X);if(!j)throw new Error("point at infinify");return j.assertValidity(),j}hasHighS(){return G(this.s)}normalizeS(){return this.hasHighS()?new H(this.r,S(-this.s),this.recovery):this}toDERRawBytes(){return a.hexToBytes(this.toDERHex())}toDERHex(){return U.hexFromSig(this)}toCompactRawBytes(){return a.hexToBytes(this.toCompactHex())}toCompactHex(){const n=R;return st(this.r,n)+st(this.s,n)}}const C={isValidPrivateKey(o){try{return D(o),!0}catch{return!1}},normPrivateKeyToScalar:D,randomPrivateKey:()=>{const o=K.getMinHashLength(r.n);return K.mapHashToField(r.randomBytes(o),r.n)},precompute(o=8,n=A.BASE){return n._setWindowSize(o),n.multiply(BigInt(3)),n}};function w(o,n=!0){return A.fromPrivateKey(o).toRawBytes(n)}function e(o){if(typeof o=="bigint")return!1;if(o instanceof A)return!0;const i=a.ensureBytes("key",o).length,m=t.BYTES,d=m+1,h=2*m+1;if(!(r.allowedPrivateKeyLengths||R===d))return i===d||i===h}function s(o,n,i=!0){if(e(o)===!0)throw new Error("first arg must be private key");if(e(n)===!1)throw new Error("second arg must be public key");return A.fromHex(n).multiply(D(o)).toRawBytes(i)}const c=r.bits2int||function(o){if(o.length>8192)throw new Error("input is too large");const n=a.bytesToNumberBE(o),i=o.length*8-z;return i>0?n>>BigInt(i):n},f=r.bits2int_modN||function(o){return S(c(o))},g=a.bitMask(z);function v(o){return a.aInRange("num < 2^"+z,o,I,g),a.numberToBytesBE(o,R)}function b(o,n,i=l){if(["recovered","canonical"].some(P=>P in i))throw new Error("sign() legacy options not supported");const{hash:m,randomBytes:d}=r;let{lowS:h,prehash:x,extraEntropy:Z}=i;h==null&&(h=!0),o=a.ensureBytes("msgHash",o),at(i),x&&(o=a.ensureBytes("prehashed msgHash",m(o)));const V=f(o),L=D(n),q=[v(L),v(V)];if(Z!=null&&Z!==!1){const P=Z===!0?d(t.BYTES):Z;q.push(a.ensureBytes("extraEntropy",P))}const X=a.concatBytes(...q),j=V;function rt(P){const M=c(P);if(!nt(M))return;const ot=F(M),Q=A.BASE.multiply(M).toAffine(),k=S(Q.x);if(k===I)return;const $=S(ot*S(j+k*L));if($===I)return;let J=(Q.x===k?0:2)|Number(Q.y&O),W=$;return h&&G($)&&(W=E($),J^=1),new H(k,W,J)}return{seed:X,k2sig:rt}}const l={lowS:r.lowS,prehash:!1},p={lowS:r.lowS,prehash:!1};function u(o,n,i=l){const{seed:m,k2sig:d}=b(o,n,i),h=r;return a.createHmacDrbg(h.hash.outputLen,h.nByteLength,h.hmac)(m,d)}A.BASE._setWindowSize(8);function N(o,n,i,m=p){var J;const d=o;n=a.ensureBytes("msgHash",n),i=a.ensureBytes("publicKey",i);const{lowS:h,prehash:x,format:Z}=m;if(at(m),"strict"in m)throw new Error("options.strict was renamed to lowS");if(Z!==void 0&&Z!=="compact"&&Z!=="der")throw new Error("format must be compact or der");const V=typeof d=="string"||a.isBytes(d),L=!V&&!Z&&typeof d=="object"&&d!==null&&typeof d.r=="bigint"&&typeof d.s=="bigint";if(!V&&!L)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let q,X;try{if(L&&(q=new H(d.r,d.s)),V){try{Z!=="compact"&&(q=H.fromDER(d))}catch(W){if(!(W instanceof U.Err))throw W}!q&&Z!=="der"&&(q=H.fromCompact(d))}X=A.fromHex(i)}catch{return!1}if(!q||h&&q.hasHighS())return!1;x&&(n=r.hash(n));const{r:j,s:rt}=q,P=f(n),M=F(rt),ot=S(P*M),Q=S(j*M),k=(J=A.BASE.multiplyAndAddUnsafe(X,ot,Q))==null?void 0:J.toAffine();return k?S(k.x)===j:!1}return{CURVE:r,getPublicKey:w,getSharedSecret:s,sign:u,verify:N,ProjectivePoint:A,Signature:H,utils:C}}exports.DER=U;exports.DERErr=ct;exports.weierstrass=ht;exports.weierstrassPoints=lt;