@gardenfi/utils 3.1.0 → 3.1.1-beta.1

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 (49) hide show
  1. package/dist/index10.cjs +1 -1
  2. package/dist/index10.js +4 -4
  3. package/dist/index17.cjs +1 -1
  4. package/dist/index17.js +2 -2
  5. package/dist/index204.cjs +1 -1
  6. package/dist/index204.js +2 -2
  7. package/dist/index205.cjs +1 -1
  8. package/dist/index205.js +1 -1
  9. package/dist/index206.cjs +1 -1
  10. package/dist/index206.js +2 -2
  11. package/dist/index217.cjs +1 -1
  12. package/dist/index217.js +212 -101
  13. package/dist/index218.cjs +1 -1
  14. package/dist/index218.js +108 -16
  15. package/dist/index219.cjs +1 -1
  16. package/dist/index219.js +198 -206
  17. package/dist/index220.cjs +1 -1
  18. package/dist/index220.js +101 -106
  19. package/dist/index221.cjs +1 -1
  20. package/dist/index221.js +13 -203
  21. package/dist/index222.cjs +1 -1
  22. package/dist/index222.js +1 -1
  23. package/dist/index223.cjs +1 -1
  24. package/dist/index223.js +1 -1
  25. package/dist/index23.cjs +1 -1
  26. package/dist/index23.js +26 -12
  27. package/dist/index24.cjs +1 -1
  28. package/dist/index24.js +8 -59
  29. package/dist/index244.cjs +1 -1
  30. package/dist/index244.js +19 -6
  31. package/dist/index245.cjs +1 -1
  32. package/dist/index245.js +7 -7
  33. package/dist/index246.cjs +1 -1
  34. package/dist/index246.js +7 -20
  35. package/dist/index25.cjs +1 -16
  36. package/dist/index25.js +12 -113
  37. package/dist/index250.cjs +1 -1
  38. package/dist/index250.js +2 -2
  39. package/dist/index251.cjs +1 -1
  40. package/dist/index251.js +2 -2
  41. package/dist/index26.cjs +1 -1
  42. package/dist/index26.js +59 -30
  43. package/dist/index27.cjs +16 -1
  44. package/dist/index27.js +111 -24
  45. package/dist/index28.cjs +1 -1
  46. package/dist/index28.js +29 -7
  47. package/dist/index30.cjs +1 -1
  48. package/dist/index30.js +3 -3
  49. package/package.json +1 -1
package/dist/index250.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const et=require("./index251.cjs"),K=require("./index219.cjs"),a=require("./index221.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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const et=require("./index251.cjs"),K=require("./index217.cjs"),a=require("./index219.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;
package/dist/index250.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { validateBasic as mt, pippenger as bt, wNAF as vt } from "./index251.js";
2
- import { Field as Bt, mod as wt, getMinHashLength as xt, mapHashToField as St, FpInvertBatch as Rt, invert as Ot } from "./index219.js";
3
- import { bytesToNumberBE as _, bitMask as At, validateObject as pt, concatBytes as lt, aInRange as W, ensureBytes as F, hexToBytes as dt, isBytes as yt, createHmacDrbg as Tt, memoized as ft, abool as tt, bytesToHex as ut, inRange as gt, numberToHexUnpadded as rt, numberToBytesBE as Et } from "./index221.js";
2
+ import { Field as Bt, mod as wt, getMinHashLength as xt, mapHashToField as St, FpInvertBatch as Rt, invert as Ot } from "./index217.js";
3
+ import { bytesToNumberBE as _, bitMask as At, validateObject as pt, concatBytes as lt, aInRange as W, ensureBytes as F, hexToBytes as dt, isBytes as yt, createHmacDrbg as Tt, memoized as ft, abool as tt, bytesToHex as ut, inRange as gt, numberToHexUnpadded as rt, numberToBytesBE as Et } from "./index219.js";
4
4
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
5
5
  function ht(m) {
6
6
  m.lowS !== void 0 && tt("lowS", m.lowS), m.prehash !== void 0 && tt("prehash", m.prehash);
package/dist/index251.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("./index219.cjs"),m=require("./index221.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 B=require("./index217.cjs"),m=require("./index219.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;
package/dist/index251.js CHANGED
@@ -1,5 +1,5 @@
1
- import { validateField as M, nLength as z } from "./index219.js";
2
- import { validateObject as O, bitLen as k, bitMask as x } from "./index221.js";
1
+ import { validateField as M, nLength as z } from "./index217.js";
2
+ import { validateObject as O, bitLen as k, bitMask as x } from "./index219.js";
3
3
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
4
4
  const E = BigInt(0), F = BigInt(1);
5
5
  function m(e, a) {
package/dist/index26.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index202.cjs"),t=e.defineChain({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});exports.mainnet=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("./index161.cjs"),E=require("./index162.cjs"),H=require("./index66.cjs"),U=require("./index163.cjs"),_=require("./index159.cjs");function k(v,r={}){const{batch:o,fetchFn:l,fetchOptions:u,key:h="http",methods:q,name:d="HTTP JSON-RPC",onFetchRequest:y,onFetchResponse:f,retryDelay:R,raw:w}=r;return({chain:n,retryCount:S,timeout:m})=>{const{batchSize:C=1e3,wait:b=0}=typeof o=="object"?o:{},T=r.retryCount??S,c=m??r.timeout??1e4,e=n==null?void 0:n.rpcUrls.default.http[0];if(!e)throw new E.UrlRequiredError;const a=U.getHttpRpcClient(e,{fetchFn:l,fetchOptions:u,onRequest:y,onResponse:f,timeout:c});return _.createTransport({key:h,methods:q,name:d,async request({method:B,params:F}){const i={method:B,params:F},{schedule:O}=H.createBatchScheduler({id:e,wait:b,shouldSplitBatch(t){return t.length>C},fn:t=>a.request({body:t}),sort:(t,g)=>t.id-g.id}),P=async t=>o?O(t):[await a.request({body:t})],[{error:s,result:p}]=await P(i);if(w)return{error:s,result:p};if(s)throw new j.RpcRequestError({body:i,error:s,url:e});return p},retryCount:T,retryDelay:R,timeout:c,type:"http"},{fetchOptions:u,url:e})}}exports.http=k;
package/dist/index26.js CHANGED
@@ -1,32 +1,61 @@
1
- import { defineChain as e } from "./index202.js";
2
- const t = /* @__PURE__ */ e({
3
- id: 1,
4
- name: "Ethereum",
5
- nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
6
- blockTime: 12e3,
7
- rpcUrls: {
8
- default: {
9
- http: ["https://eth.merkle.io"]
10
- }
11
- },
12
- blockExplorers: {
13
- default: {
14
- name: "Etherscan",
15
- url: "https://etherscan.io",
16
- apiUrl: "https://api.etherscan.io/api"
17
- }
18
- },
19
- contracts: {
20
- ensUniversalResolver: {
21
- address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee",
22
- blockCreated: 23085558
23
- },
24
- multicall3: {
25
- address: "0xca11bde05977b3631167028862be2a173976ca11",
26
- blockCreated: 14353601
27
- }
28
- }
29
- });
1
+ import { RpcRequestError as P } from "./index161.js";
2
+ import { UrlRequiredError as U } from "./index162.js";
3
+ import { createBatchScheduler as _ } from "./index66.js";
4
+ import { getHttpRpcClient as j } from "./index163.js";
5
+ import { createTransport as k } from "./index159.js";
6
+ function v(x, r = {}) {
7
+ const { batch: o, fetchFn: h, fetchOptions: u, key: m = "http", methods: a, name: f = "HTTP JSON-RPC", onFetchRequest: y, onFetchResponse: d, retryDelay: R, raw: w } = r;
8
+ return ({ chain: n, retryCount: q, timeout: C }) => {
9
+ const { batchSize: S = 1e3, wait: b = 0 } = typeof o == "object" ? o : {}, F = r.retryCount ?? q, c = C ?? r.timeout ?? 1e4, e = n == null ? void 0 : n.rpcUrls.default.http[0];
10
+ if (!e)
11
+ throw new U();
12
+ const p = j(e, {
13
+ fetchFn: h,
14
+ fetchOptions: u,
15
+ onRequest: y,
16
+ onResponse: d,
17
+ timeout: c
18
+ });
19
+ return k({
20
+ key: m,
21
+ methods: a,
22
+ name: f,
23
+ async request({ method: T, params: B }) {
24
+ const i = { method: T, params: B }, { schedule: E } = _({
25
+ id: e,
26
+ wait: b,
27
+ shouldSplitBatch(t) {
28
+ return t.length > S;
29
+ },
30
+ fn: (t) => p.request({
31
+ body: t
32
+ }),
33
+ sort: (t, O) => t.id - O.id
34
+ }), H = async (t) => o ? E(t) : [
35
+ await p.request({
36
+ body: t
37
+ })
38
+ ], [{ error: s, result: l }] = await H(i);
39
+ if (w)
40
+ return { error: s, result: l };
41
+ if (s)
42
+ throw new P({
43
+ body: i,
44
+ error: s,
45
+ url: e
46
+ });
47
+ return l;
48
+ },
49
+ retryCount: F,
50
+ retryDelay: R,
51
+ timeout: c,
52
+ type: "http"
53
+ }, {
54
+ fetchOptions: u,
55
+ url: e
56
+ });
57
+ };
58
+ }
30
59
  export {
31
- t as mainnet
60
+ v as http
32
61
  };
package/dist/index27.cjs CHANGED
@@ -1 +1,16 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index3.cjs");class i{constructor(e,t){this.maxRetries=Math.max(e,0),this.delay=t}async retry(e){let t=0,r;for(;t<this.maxRetries+1;)try{return await e()}catch(s){t++,r=s,await a.sleep(this.delay*t)}throw r}}exports.Retry=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index248.cjs"),M=require("./index44.cjs"),h=require("./index249.cjs");function R(r){const{chainId:o,domain:s,expirationTime:l,issuedAt:m=new Date,nonce:a,notBefore:f,requestId:w,resources:g,scheme:i,uri:c,version:d}=r;{if(o!==Math.floor(o))throw new e.SiweInvalidMessageFieldError({field:"chainId",metaMessages:["- Chain ID must be a EIP-155 chain ID.","- See https://eips.ethereum.org/EIPS/eip-155","",`Provided value: ${o}`]});if(!(E.test(s)||F.test(s)||b.test(s)))throw new e.SiweInvalidMessageFieldError({field:"domain",metaMessages:["- Domain must be an RFC 3986 authority.","- See https://www.rfc-editor.org/rfc/rfc3986","",`Provided value: ${s}`]});if(!A.test(a))throw new e.SiweInvalidMessageFieldError({field:"nonce",metaMessages:["- Nonce must be at least 8 characters.","- Nonce must be alphanumeric.","",`Provided value: ${a}`]});if(!h.isUri(c))throw new e.SiweInvalidMessageFieldError({field:"uri",metaMessages:["- URI must be a RFC 3986 URI referring to the resource that is the subject of the signing.","- See https://www.rfc-editor.org/rfc/rfc3986","",`Provided value: ${c}`]});if(d!=="1")throw new e.SiweInvalidMessageFieldError({field:"version",metaMessages:["- Version must be '1'.","",`Provided value: ${d}`]});if(i&&!P.test(i))throw new e.SiweInvalidMessageFieldError({field:"scheme",metaMessages:["- Scheme must be an RFC 3986 URI scheme.","- See https://www.rfc-editor.org/rfc/rfc3986#section-3.1","",`Provided value: ${i}`]});const t=r.statement;if(t!=null&&t.includes(`
2
+ `))throw new e.SiweInvalidMessageFieldError({field:"statement",metaMessages:["- Statement must not include '\\n'.","",`Provided value: ${t}`]})}const $=M.getAddress(r.address),v=i?`${i}://${s}`:s,I=r.statement?`${r.statement}
3
+ `:"",S=`${v} wants you to sign in with your Ethereum account:
4
+ ${$}
5
+
6
+ ${I}`;let n=`URI: ${c}
7
+ Version: ${d}
8
+ Chain ID: ${o}
9
+ Nonce: ${a}
10
+ Issued At: ${m.toISOString()}`;if(l&&(n+=`
11
+ Expiration Time: ${l.toISOString()}`),f&&(n+=`
12
+ Not Before: ${f.toISOString()}`),w&&(n+=`
13
+ Request ID: ${w}`),g){let t=`
14
+ Resources:`;for(const u of g){if(!h.isUri(u))throw new e.SiweInvalidMessageFieldError({field:"resources",metaMessages:["- Every resource must be a RFC 3986 URI.","- See https://www.rfc-editor.org/rfc/rfc3986","",`Provided value: ${u}`]});t+=`
15
+ - ${u}`}n+=t}return`${S}
16
+ ${n}`}const E=/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?$/,F=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:[0-9]{1,5})?$/,b=/^localhost(:[0-9]{1,5})?$/,A=/^[a-zA-Z0-9]{8,}$/,P=/^([a-zA-Z][a-zA-Z0-9+-.]*)$/;exports.createSiweMessage=R;
package/dist/index27.js CHANGED
@@ -1,29 +1,116 @@
1
- import { sleep as s } from "./index3.js";
2
- class l {
3
- /**
4
- * @param {number} maxRetries - The maximum number of retries, if less < 0 then it is set to 0
5
- * @param {number} delay - The delay between retries
6
- */
7
- constructor(e, t) {
8
- this.maxRetries = Math.max(e, 0), this.delay = t;
1
+ import { SiweInvalidMessageFieldError as e } from "./index248.js";
2
+ import { getAddress as S } from "./index44.js";
3
+ import { isUri as $ } from "./index249.js";
4
+ function C(n) {
5
+ const { chainId: i, domain: s, expirationTime: u, issuedAt: g = /* @__PURE__ */ new Date(), nonce: a, notBefore: m, requestId: h, resources: w, scheme: o, uri: c, version: f } = n;
6
+ {
7
+ if (i !== Math.floor(i))
8
+ throw new e({
9
+ field: "chainId",
10
+ metaMessages: [
11
+ "- Chain ID must be a EIP-155 chain ID.",
12
+ "- See https://eips.ethereum.org/EIPS/eip-155",
13
+ "",
14
+ `Provided value: ${i}`
15
+ ]
16
+ });
17
+ if (!(p.test(s) || M.test(s) || x.test(s)))
18
+ throw new e({
19
+ field: "domain",
20
+ metaMessages: [
21
+ "- Domain must be an RFC 3986 authority.",
22
+ "- See https://www.rfc-editor.org/rfc/rfc3986",
23
+ "",
24
+ `Provided value: ${s}`
25
+ ]
26
+ });
27
+ if (!A.test(a))
28
+ throw new e({
29
+ field: "nonce",
30
+ metaMessages: [
31
+ "- Nonce must be at least 8 characters.",
32
+ "- Nonce must be alphanumeric.",
33
+ "",
34
+ `Provided value: ${a}`
35
+ ]
36
+ });
37
+ if (!$(c))
38
+ throw new e({
39
+ field: "uri",
40
+ metaMessages: [
41
+ "- URI must be a RFC 3986 URI referring to the resource that is the subject of the signing.",
42
+ "- See https://www.rfc-editor.org/rfc/rfc3986",
43
+ "",
44
+ `Provided value: ${c}`
45
+ ]
46
+ });
47
+ if (f !== "1")
48
+ throw new e({
49
+ field: "version",
50
+ metaMessages: [
51
+ "- Version must be '1'.",
52
+ "",
53
+ `Provided value: ${f}`
54
+ ]
55
+ });
56
+ if (o && !P.test(o))
57
+ throw new e({
58
+ field: "scheme",
59
+ metaMessages: [
60
+ "- Scheme must be an RFC 3986 URI scheme.",
61
+ "- See https://www.rfc-editor.org/rfc/rfc3986#section-3.1",
62
+ "",
63
+ `Provided value: ${o}`
64
+ ]
65
+ });
66
+ const t = n.statement;
67
+ if (t != null && t.includes(`
68
+ `))
69
+ throw new e({
70
+ field: "statement",
71
+ metaMessages: [
72
+ "- Statement must not include '\\n'.",
73
+ "",
74
+ `Provided value: ${t}`
75
+ ]
76
+ });
9
77
  }
10
- /**
11
- * Retries a function until it succeeds or the max number of retries is reached
12
- *
13
- * @param {() => Promise<T>} fn - The function to retry
14
- * @return {Promise<T>} a Promise that resolves to the result of the function
15
- */
16
- async retry(e) {
17
- let t = 0, r;
18
- for (; t < this.maxRetries + 1; )
19
- try {
20
- return await e();
21
- } catch (a) {
22
- t++, r = a, await s(this.delay * t);
23
- }
24
- throw r;
78
+ const l = S(n.address), v = o ? `${o}://${s}` : s, I = n.statement ? `${n.statement}
79
+ ` : "", R = `${v} wants you to sign in with your Ethereum account:
80
+ ${l}
81
+
82
+ ${I}`;
83
+ let r = `URI: ${c}
84
+ Version: ${f}
85
+ Chain ID: ${i}
86
+ Nonce: ${a}
87
+ Issued At: ${g.toISOString()}`;
88
+ if (u && (r += `
89
+ Expiration Time: ${u.toISOString()}`), m && (r += `
90
+ Not Before: ${m.toISOString()}`), h && (r += `
91
+ Request ID: ${h}`), w) {
92
+ let t = `
93
+ Resources:`;
94
+ for (const d of w) {
95
+ if (!$(d))
96
+ throw new e({
97
+ field: "resources",
98
+ metaMessages: [
99
+ "- Every resource must be a RFC 3986 URI.",
100
+ "- See https://www.rfc-editor.org/rfc/rfc3986",
101
+ "",
102
+ `Provided value: ${d}`
103
+ ]
104
+ });
105
+ t += `
106
+ - ${d}`;
107
+ }
108
+ r += t;
25
109
  }
110
+ return `${R}
111
+ ${r}`;
26
112
  }
113
+ const p = /^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?$/, M = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:[0-9]{1,5})?$/, x = /^localhost(:[0-9]{1,5})?$/, A = /^[a-zA-Z0-9]{8,}$/, P = /^([a-zA-Z][a-zA-Z0-9+-.]*)$/;
27
114
  export {
28
- l as Retry
115
+ C as createSiweMessage
29
116
  };
package/dist/index28.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=e=>{try{return JSON.parse(e)}catch{return e}};exports.safeParseJson=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index202.cjs"),t=e.defineChain({id:1,name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},blockTime:12e3,rpcUrls:{default:{http:["https://eth.merkle.io"]}},blockExplorers:{default:{name:"Etherscan",url:"https://etherscan.io",apiUrl:"https://api.etherscan.io/api"}},contracts:{ensUniversalResolver:{address:"0xeeeeeeee14d718c2b47d9923deab1335e144eeee",blockCreated:23085558},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}});exports.mainnet=t;
package/dist/index28.js CHANGED
@@ -1,10 +1,32 @@
1
- const t = (r) => {
2
- try {
3
- return JSON.parse(r);
4
- } catch {
5
- return r;
1
+ import { defineChain as e } from "./index202.js";
2
+ const t = /* @__PURE__ */ e({
3
+ id: 1,
4
+ name: "Ethereum",
5
+ nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
6
+ blockTime: 12e3,
7
+ rpcUrls: {
8
+ default: {
9
+ http: ["https://eth.merkle.io"]
10
+ }
11
+ },
12
+ blockExplorers: {
13
+ default: {
14
+ name: "Etherscan",
15
+ url: "https://etherscan.io",
16
+ apiUrl: "https://api.etherscan.io/api"
17
+ }
18
+ },
19
+ contracts: {
20
+ ensUniversalResolver: {
21
+ address: "0xeeeeeeee14d718c2b47d9923deab1335e144eeee",
22
+ blockCreated: 23085558
23
+ },
24
+ multicall3: {
25
+ address: "0xca11bde05977b3631167028862be2a173976ca11",
26
+ blockCreated: 14353601
27
+ }
6
28
  }
7
- };
29
+ });
8
30
  export {
9
- t as safeParseJson
31
+ t as mainnet
10
32
  };
package/dist/index30.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("./index217.cjs"),C=require("./index218.cjs"),n=require("./index219.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const k=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),x=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),G=BigInt(0),M=BigInt(1),w=BigInt(2),h=(t,f)=>(t+f/w)/f;function N(t){const f=k,e=BigInt(3),r=BigInt(6),p=BigInt(11),a=BigInt(22),s=BigInt(23),i=BigInt(44),d=BigInt(88),o=t*t*t%f,c=o*o*t%f,g=n.pow2(c,e,f)*c%f,b=n.pow2(g,e,f)*c%f,l=n.pow2(b,w,f)*o%f,B=n.pow2(l,p,f)*l%f,I=n.pow2(B,a,f)*B%f,_=n.pow2(I,i,f)*I%f,m=n.pow2(_,d,f)*_%f,S=n.pow2(m,i,f)*I%f,P=n.pow2(S,e,f)*c%f,v=n.pow2(P,s,f)*B%f,E=n.pow2(v,r,f)*o%f,q=n.pow2(E,w,f);if(!u.eql(u.sqr(q),t))throw new Error("Cannot find square root");return q}const u=n.Field(k,void 0,void 0,{sqrt:N}),O=C.createCurve({a:G,b:BigInt(7),Fp:u,n:x,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const f=x,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-M*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),p=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),a=e,s=BigInt("0x100000000000000000000000000000000"),i=h(a*t,f),d=h(-r*t,f);let o=n.mod(t-i*e-d*p,f),c=n.mod(-i*r-d*a,f);const g=o>s,b=c>s;if(g&&(o=f-o),b&&(c=f-c),o>s||c>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:g,k1:o,k2neg:b,k2:c}}}},F.sha256);exports.secp256k1=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("./index220.cjs"),C=require("./index221.cjs"),n=require("./index217.cjs");/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const k=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),x=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),G=BigInt(0),M=BigInt(1),w=BigInt(2),h=(t,f)=>(t+f/w)/f;function N(t){const f=k,e=BigInt(3),r=BigInt(6),p=BigInt(11),a=BigInt(22),s=BigInt(23),i=BigInt(44),d=BigInt(88),o=t*t*t%f,c=o*o*t%f,g=n.pow2(c,e,f)*c%f,b=n.pow2(g,e,f)*c%f,l=n.pow2(b,w,f)*o%f,B=n.pow2(l,p,f)*l%f,I=n.pow2(B,a,f)*B%f,_=n.pow2(I,i,f)*I%f,m=n.pow2(_,d,f)*_%f,S=n.pow2(m,i,f)*I%f,P=n.pow2(S,e,f)*c%f,v=n.pow2(P,s,f)*B%f,E=n.pow2(v,r,f)*o%f,q=n.pow2(E,w,f);if(!u.eql(u.sqr(q),t))throw new Error("Cannot find square root");return q}const u=n.Field(k,void 0,void 0,{sqrt:N}),O=C.createCurve({a:G,b:BigInt(7),Fp:u,n:x,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{const f=x,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-M*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),p=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),a=e,s=BigInt("0x100000000000000000000000000000000"),i=h(a*t,f),d=h(-r*t,f);let o=n.mod(t-i*e-d*p,f),c=n.mod(-i*r-d*a,f);const g=o>s,b=c>s;if(g&&(o=f-o),b&&(c=f-c),o>s||c>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:g,k1:o,k2neg:b,k2:c}}}},F.sha256);exports.secp256k1=O;
package/dist/index30.js CHANGED
@@ -1,6 +1,6 @@
1
- import { sha256 as C } from "./index217.js";
2
- import { createCurve as G } from "./index218.js";
3
- import { Field as N, mod as k, pow2 as t } from "./index219.js";
1
+ import { sha256 as C } from "./index220.js";
2
+ import { createCurve as G } from "./index221.js";
3
+ import { Field as N, mod as k, pow2 as t } from "./index217.js";
4
4
  /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
5
5
  const q = BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"), w = BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"), M = BigInt(0), O = BigInt(1), _ = BigInt(2), h = (n, f) => (n + f / _) / f;
6
6
  function W(n) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gardenfi/utils",
3
- "version": "3.1.0",
3
+ "version": "3.1.1-beta.1",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "vite build",