@gardenfi/utils 2.5.3-beta.9 → 3.0.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.
package/dist/index245.cjs CHANGED
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const w=BigInt(0),m=BigInt(1);function y(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function d(t){if(!y(t))throw new Error("Uint8Array expected")}function I(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function N(t){const e=t.toString(16);return e.length&1?"0"+e:e}function h(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?w:BigInt("0x"+t)}const U=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",_=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function E(t){if(d(t),U)return t.toHex();let e="";for(let r=0;r<t.length;r++)e+=_[t[r]];return e}const u={_0:48,_9:57,A:65,F:70,a:97,f:102};function B(t){if(t>=u._0&&t<=u._9)return t-u._0;if(t>=u.A&&t<=u.F)return t-(u.A-10);if(t>=u.a&&t<=u.f)return t-(u.a-10)}function A(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(U)return Uint8Array.fromHex(t);const e=t.length,r=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){const a=B(t.charCodeAt(i)),f=B(t.charCodeAt(i+1));if(a===void 0||f===void 0){const c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=a*16+f}return n}function k(t){return h(E(t))}function O(t){return d(t),h(E(Uint8Array.from(t).reverse()))}function T(t,e){return A(t.toString(16).padStart(e*2,"0"))}function F(t,e){return T(t,e).reverse()}function M(t,e,r){let n;if(typeof e=="string")try{n=A(e)}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(y(e))n=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const o=n.length;if(typeof r=="number"&&o!==r)throw new Error(t+" of length "+r+" expected, got "+o);return n}function v(...t){let e=0;for(let n=0;n<t.length;n++){const o=t[n];d(o),e+=o.length}const r=new Uint8Array(e);for(let n=0,o=0;n<t.length;n++){const i=t[n];r.set(i,o),o+=i.length}return r}const b=t=>typeof t=="bigint"&&w<=t;function H(t,e,r){return b(t)&&b(e)&&b(r)&&e<=t&&t<r}function R(t,e,r,n){if(!H(e,r,n))throw new Error("expected valid "+t+": "+r+" <= n < "+n+", got "+e)}function j(t){let e;for(e=0;t>w;t>>=m,e+=1);return e}const V=t=>(m<<BigInt(t))-m,p=t=>new Uint8Array(t),x=t=>Uint8Array.from(t);function z(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=p(t),o=p(t),i=0;const a=()=>{n.fill(1),o.fill(0),i=0},f=(...s)=>r(o,n,...s),c=(s=p(0))=>{o=f(x([0]),s),n=f(),s.length!==0&&(o=f(x([1]),s),n=f())},S=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let s=0;const l=[];for(;s<e;){n=f();const g=n.slice();l.push(g),s+=n.length}return v(...l)};return(s,l)=>{a(),c(s);let g;for(;!(g=l(S()));)c();return a(),g}}const C={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||y(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function D(t,e,r={}){const n=(o,i,a)=>{const f=C[i];if(typeof f!="function")throw new Error("invalid validator function");const c=t[o];if(!(a&&c===void 0)&&!f(c,t))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+c)};for(const[o,i]of Object.entries(e))n(o,i,!1);for(const[o,i]of Object.entries(r))n(o,i,!0);return t}function L(t){const e=new WeakMap;return(r,...n)=>{const o=e.get(r);if(o!==void 0)return o;const i=t(r,...n);return e.set(r,i),i}}exports.aInRange=R;exports.abool=I;exports.abytes=d;exports.bitLen=j;exports.bitMask=V;exports.bytesToHex=E;exports.bytesToNumberBE=k;exports.bytesToNumberLE=O;exports.concatBytes=v;exports.createHmacDrbg=z;exports.ensureBytes=M;exports.hexToBytes=A;exports.hexToNumber=h;exports.inRange=H;exports.isBytes=y;exports.memoized=L;exports.numberToBytesBE=T;exports.numberToBytesLE=F;exports.numberToHexUnpadded=N;exports.validateObject=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./index247.cjs");class c extends Error{constructor(r,e={}){const a=(()=>{var s;if(e.cause instanceof c){if(e.cause.details)return e.cause.details;if(e.cause.shortMessage)return e.cause.shortMessage}return e.cause&&"details"in e.cause&&typeof e.cause.details=="string"?e.cause.details:(s=e.cause)!=null&&s.message?e.cause.message:e.details})(),u=e.cause instanceof c&&e.cause.docsPath||e.docsPath,i=`https://oxlib.sh${u??""}`,d=[r||"An error occurred.",...e.metaMessages?["",...e.metaMessages]:[],...a||u?["",a?`Details: ${a}`:void 0,u?`See: ${i}`:void 0]:[]].filter(s=>typeof s=="string").join(`
2
+ `);super(d,e.cause?{cause:e.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${n.getVersion()}`}),this.cause=e.cause,this.details=a,this.docs=i,this.docsPath=u,this.shortMessage=r}walk(r){return l(this,r)}}function l(t,r){return r!=null&&r(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?l(t.cause,r):r?null:t}exports.BaseError=c;
package/dist/index245.js CHANGED
@@ -1,209 +1,69 @@
1
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
2
- const w = /* @__PURE__ */ BigInt(0), p = /* @__PURE__ */ BigInt(1);
3
- function b(t) {
4
- return t instanceof Uint8Array || ArrayBuffer.isView(t) && t.constructor.name === "Uint8Array";
5
- }
6
- function h(t) {
7
- if (!b(t))
8
- throw new Error("Uint8Array expected");
9
- }
10
- function k(t, n) {
11
- if (typeof n != "boolean")
12
- throw new Error(t + " boolean expected, got " + n);
13
- }
14
- function F(t) {
15
- const n = t.toString(16);
16
- return n.length & 1 ? "0" + n : n;
17
- }
18
- function E(t) {
19
- if (typeof t != "string")
20
- throw new Error("hex string expected, got " + typeof t);
21
- return t === "" ? w : BigInt("0x" + t);
22
- }
23
- const U = (
24
- // @ts-ignore
25
- typeof Uint8Array.from([]).toHex == "function" && typeof Uint8Array.fromHex == "function"
26
- ), S = /* @__PURE__ */ Array.from({ length: 256 }, (t, n) => n.toString(16).padStart(2, "0"));
27
- function x(t) {
28
- if (h(t), U)
29
- return t.toHex();
30
- let n = "";
31
- for (let e = 0; e < t.length; e++)
32
- n += S[t[e]];
33
- return n;
34
- }
35
- const u = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };
36
- function m(t) {
37
- if (t >= u._0 && t <= u._9)
38
- return t - u._0;
39
- if (t >= u.A && t <= u.F)
40
- return t - (u.A - 10);
41
- if (t >= u.a && t <= u.f)
42
- return t - (u.a - 10);
43
- }
44
- function B(t) {
45
- if (typeof t != "string")
46
- throw new Error("hex string expected, got " + typeof t);
47
- if (U)
48
- return Uint8Array.fromHex(t);
49
- const n = t.length, e = n / 2;
50
- if (n % 2)
51
- throw new Error("hex string expected, got unpadded hex of length " + n);
52
- const r = new Uint8Array(e);
53
- for (let o = 0, i = 0; o < e; o++, i += 2) {
54
- const a = m(t.charCodeAt(i)), f = m(t.charCodeAt(i + 1));
55
- if (a === void 0 || f === void 0) {
56
- const c = t[i] + t[i + 1];
57
- throw new Error('hex string expected, got non-hex character "' + c + '" at index ' + i);
58
- }
59
- r[o] = a * 16 + f;
60
- }
61
- return r;
62
- }
63
- function O(t) {
64
- return E(x(t));
65
- }
66
- function V(t) {
67
- return h(t), E(x(Uint8Array.from(t).reverse()));
68
- }
69
- function T(t, n) {
70
- return B(t.toString(16).padStart(n * 2, "0"));
71
- }
72
- function C(t, n) {
73
- return T(t, n).reverse();
74
- }
75
- function M(t, n, e) {
76
- let r;
77
- if (typeof n == "string")
78
- try {
79
- r = B(n);
80
- } catch (i) {
81
- throw new Error(t + " must be hex string or Uint8Array, cause: " + i);
82
- }
83
- else if (b(n))
84
- r = Uint8Array.from(n);
85
- else
86
- throw new Error(t + " must be hex string or Uint8Array");
87
- const o = r.length;
88
- if (typeof e == "number" && o !== e)
89
- throw new Error(t + " of length " + e + " expected, got " + o);
90
- return r;
91
- }
92
- function H(...t) {
93
- let n = 0;
94
- for (let r = 0; r < t.length; r++) {
95
- const o = t[r];
96
- h(o), n += o.length;
1
+ import { getVersion as n } from "./index247.js";
2
+ class c extends Error {
3
+ constructor(t, e = {}) {
4
+ const a = (() => {
5
+ var s;
6
+ if (e.cause instanceof c) {
7
+ if (e.cause.details)
8
+ return e.cause.details;
9
+ if (e.cause.shortMessage)
10
+ return e.cause.shortMessage;
11
+ }
12
+ return e.cause && "details" in e.cause && typeof e.cause.details == "string" ? e.cause.details : (s = e.cause) != null && s.message ? e.cause.message : e.details;
13
+ })(), u = e.cause instanceof c && e.cause.docsPath || e.docsPath, i = `https://oxlib.sh${u ?? ""}`, d = [
14
+ t || "An error occurred.",
15
+ ...e.metaMessages ? ["", ...e.metaMessages] : [],
16
+ ...a || u ? [
17
+ "",
18
+ a ? `Details: ${a}` : void 0,
19
+ u ? `See: ${i}` : void 0
20
+ ] : []
21
+ ].filter((s) => typeof s == "string").join(`
22
+ `);
23
+ super(d, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
24
+ enumerable: !0,
25
+ configurable: !0,
26
+ writable: !0,
27
+ value: void 0
28
+ }), Object.defineProperty(this, "docs", {
29
+ enumerable: !0,
30
+ configurable: !0,
31
+ writable: !0,
32
+ value: void 0
33
+ }), Object.defineProperty(this, "docsPath", {
34
+ enumerable: !0,
35
+ configurable: !0,
36
+ writable: !0,
37
+ value: void 0
38
+ }), Object.defineProperty(this, "shortMessage", {
39
+ enumerable: !0,
40
+ configurable: !0,
41
+ writable: !0,
42
+ value: void 0
43
+ }), Object.defineProperty(this, "cause", {
44
+ enumerable: !0,
45
+ configurable: !0,
46
+ writable: !0,
47
+ value: void 0
48
+ }), Object.defineProperty(this, "name", {
49
+ enumerable: !0,
50
+ configurable: !0,
51
+ writable: !0,
52
+ value: "BaseError"
53
+ }), Object.defineProperty(this, "version", {
54
+ enumerable: !0,
55
+ configurable: !0,
56
+ writable: !0,
57
+ value: `ox@${n()}`
58
+ }), this.cause = e.cause, this.details = a, this.docs = i, this.docsPath = u, this.shortMessage = t;
97
59
  }
98
- const e = new Uint8Array(n);
99
- for (let r = 0, o = 0; r < t.length; r++) {
100
- const i = t[r];
101
- e.set(i, o), o += i.length;
60
+ walk(t) {
61
+ return l(this, t);
102
62
  }
103
- return e;
104
- }
105
- const y = (t) => typeof t == "bigint" && w <= t;
106
- function I(t, n, e) {
107
- return y(t) && y(n) && y(e) && n <= t && t < e;
108
- }
109
- function R(t, n, e, r) {
110
- if (!I(n, e, r))
111
- throw new Error("expected valid " + t + ": " + e + " <= n < " + r + ", got " + n);
112
- }
113
- function j(t) {
114
- let n;
115
- for (n = 0; t > w; t >>= p, n += 1)
116
- ;
117
- return n;
118
- }
119
- const z = (t) => (p << BigInt(t)) - p, d = (t) => new Uint8Array(t), A = (t) => Uint8Array.from(t);
120
- function D(t, n, e) {
121
- if (typeof t != "number" || t < 2)
122
- throw new Error("hashLen must be a number");
123
- if (typeof n != "number" || n < 2)
124
- throw new Error("qByteLen must be a number");
125
- if (typeof e != "function")
126
- throw new Error("hmacFn must be a function");
127
- let r = d(t), o = d(t), i = 0;
128
- const a = () => {
129
- r.fill(1), o.fill(0), i = 0;
130
- }, f = (...s) => e(o, r, ...s), c = (s = d(0)) => {
131
- o = f(A([0]), s), r = f(), s.length !== 0 && (o = f(A([1]), s), r = f());
132
- }, v = () => {
133
- if (i++ >= 1e3)
134
- throw new Error("drbg: tried 1000 values");
135
- let s = 0;
136
- const l = [];
137
- for (; s < n; ) {
138
- r = f();
139
- const g = r.slice();
140
- l.push(g), s += r.length;
141
- }
142
- return H(...l);
143
- };
144
- return (s, l) => {
145
- a(), c(s);
146
- let g;
147
- for (; !(g = l(v())); )
148
- c();
149
- return a(), g;
150
- };
151
- }
152
- const _ = {
153
- bigint: (t) => typeof t == "bigint",
154
- function: (t) => typeof t == "function",
155
- boolean: (t) => typeof t == "boolean",
156
- string: (t) => typeof t == "string",
157
- stringOrUint8Array: (t) => typeof t == "string" || b(t),
158
- isSafeInteger: (t) => Number.isSafeInteger(t),
159
- array: (t) => Array.isArray(t),
160
- field: (t, n) => n.Fp.isValid(t),
161
- hash: (t) => typeof t == "function" && Number.isSafeInteger(t.outputLen)
162
- };
163
- function P(t, n, e = {}) {
164
- const r = (o, i, a) => {
165
- const f = _[i];
166
- if (typeof f != "function")
167
- throw new Error("invalid validator function");
168
- const c = t[o];
169
- if (!(a && c === void 0) && !f(c, t))
170
- throw new Error("param " + String(o) + " is invalid. Expected " + i + ", got " + c);
171
- };
172
- for (const [o, i] of Object.entries(n))
173
- r(o, i, !1);
174
- for (const [o, i] of Object.entries(e))
175
- r(o, i, !0);
176
- return t;
177
63
  }
178
- function W(t) {
179
- const n = /* @__PURE__ */ new WeakMap();
180
- return (e, ...r) => {
181
- const o = n.get(e);
182
- if (o !== void 0)
183
- return o;
184
- const i = t(e, ...r);
185
- return n.set(e, i), i;
186
- };
64
+ function l(r, t) {
65
+ return t != null && t(r) ? r : r && typeof r == "object" && "cause" in r && r.cause ? l(r.cause, t) : t ? null : r;
187
66
  }
188
67
  export {
189
- R as aInRange,
190
- k as abool,
191
- h as abytes,
192
- j as bitLen,
193
- z as bitMask,
194
- x as bytesToHex,
195
- O as bytesToNumberBE,
196
- V as bytesToNumberLE,
197
- H as concatBytes,
198
- D as createHmacDrbg,
199
- M as ensureBytes,
200
- B as hexToBytes,
201
- E as hexToNumber,
202
- I as inRange,
203
- b as isBytes,
204
- W as memoized,
205
- T as numberToBytesBE,
206
- C as numberToBytesLE,
207
- F as numberToHexUnpadded,
208
- P as validateObject
68
+ c as BaseError
209
69
  };
package/dist/index246.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("./index232.cjs"),m=require("./index245.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 a=require("./index234.cjs");function d(r,i={}){const{dir:n,size:e=32}=i;if(e===0)return r;const t=r.replace("0x","");if(t.length>e*2)throw new a.SizeExceedsPaddingSizeError({size:Math.ceil(t.length/2),targetSize:e,type:"Hex"});return`0x${t[n==="right"?"padEnd":"padStart"](e*2,"0")}`}exports.pad=d;
package/dist/index246.js CHANGED
@@ -1,180 +1,17 @@
1
- import { validateField as M, nLength as z } from "./index232.js";
2
- import { validateObject as O, bitLen as k, bitMask as x } from "./index245.js";
3
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
4
- const E = BigInt(0), F = BigInt(1);
5
- function m(e, a) {
6
- const t = a.negate();
7
- return e ? t : a;
8
- }
9
- function y(e, a) {
10
- if (!Number.isSafeInteger(e) || e <= 0 || e > a)
11
- throw new Error("invalid window size, expected [1.." + a + "], got W=" + e);
12
- }
13
- function N(e, a) {
14
- y(e, a);
15
- const t = Math.ceil(a / e) + 1, n = 2 ** (e - 1), i = 2 ** e, o = x(e), r = BigInt(e);
16
- return { windows: t, windowSize: n, mask: o, maxNumber: i, shiftBy: r };
17
- }
18
- function B(e, a, t) {
19
- const { windowSize: n, mask: i, maxNumber: o, shiftBy: r } = t;
20
- let f = Number(e & i), s = e >> r;
21
- f > n && (f -= o, s += F);
22
- const c = a * n, d = c + Math.abs(f) - 1, g = f === 0, l = f < 0, u = a % 2 !== 0;
23
- return { nextN: s, offset: d, isZero: g, isNeg: l, isNegF: u, offsetF: c };
24
- }
25
- function L(e, a) {
26
- if (!Array.isArray(e))
27
- throw new Error("array expected");
28
- e.forEach((t, n) => {
29
- if (!(t instanceof a))
30
- throw new Error("invalid point at index " + n);
31
- });
32
- }
33
- function Z(e, a) {
34
- if (!Array.isArray(e))
35
- throw new Error("array of scalars expected");
36
- e.forEach((t, n) => {
37
- if (!a.isValid(t))
38
- throw new Error("invalid scalar at index " + n);
39
- });
40
- }
41
- const b = /* @__PURE__ */ new WeakMap(), I = /* @__PURE__ */ new WeakMap();
42
- function S(e) {
43
- return I.get(e) || 1;
44
- }
45
- function v(e, a) {
46
- return {
47
- constTimeNegate: m,
48
- hasPrecomputes(t) {
49
- return S(t) !== 1;
50
- },
51
- // non-const time multiplication ladder
52
- unsafeLadder(t, n, i = e.ZERO) {
53
- let o = t;
54
- for (; n > E; )
55
- n & F && (i = i.add(o)), o = o.double(), n >>= F;
56
- return i;
57
- },
58
- /**
59
- * Creates a wNAF precomputation window. Used for caching.
60
- * Default window size is set by `utils.precompute()` and is equal to 8.
61
- * Number of precomputed points depends on the curve size:
62
- * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:
63
- * - 𝑊 is the window size
64
- * - 𝑛 is the bitlength of the curve order.
65
- * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.
66
- * @param elm Point instance
67
- * @param W window size
68
- * @returns precomputed point tables flattened to a single array
69
- */
70
- precomputeWindow(t, n) {
71
- const { windows: i, windowSize: o } = N(n, a), r = [];
72
- let f = t, s = f;
73
- for (let c = 0; c < i; c++) {
74
- s = f, r.push(s);
75
- for (let d = 1; d < o; d++)
76
- s = s.add(f), r.push(s);
77
- f = s.double();
78
- }
79
- return r;
80
- },
81
- /**
82
- * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.
83
- * @param W window size
84
- * @param precomputes precomputed tables
85
- * @param n scalar (we don't check here, but should be less than curve order)
86
- * @returns real and fake (for const-time) points
87
- */
88
- wNAF(t, n, i) {
89
- let o = e.ZERO, r = e.BASE;
90
- const f = N(t, a);
91
- for (let s = 0; s < f.windows; s++) {
92
- const { nextN: c, offset: d, isZero: g, isNeg: l, isNegF: u, offsetF: h } = B(i, s, f);
93
- i = c, g ? r = r.add(m(u, n[h])) : o = o.add(m(l, n[d]));
94
- }
95
- return { p: o, f: r };
96
- },
97
- /**
98
- * Implements ec unsafe (non const-time) multiplication using precomputed tables and w-ary non-adjacent form.
99
- * @param W window size
100
- * @param precomputes precomputed tables
101
- * @param n scalar (we don't check here, but should be less than curve order)
102
- * @param acc accumulator point to add result of multiplication
103
- * @returns point
104
- */
105
- wNAFUnsafe(t, n, i, o = e.ZERO) {
106
- const r = N(t, a);
107
- for (let f = 0; f < r.windows && i !== E; f++) {
108
- const { nextN: s, offset: c, isZero: d, isNeg: g } = B(i, f, r);
109
- if (i = s, !d) {
110
- const l = n[c];
111
- o = o.add(g ? l.negate() : l);
112
- }
113
- }
114
- return o;
115
- },
116
- getPrecomputes(t, n, i) {
117
- let o = b.get(n);
118
- return o || (o = this.precomputeWindow(n, t), t !== 1 && b.set(n, i(o))), o;
119
- },
120
- wNAFCached(t, n, i) {
121
- const o = S(t);
122
- return this.wNAF(o, this.getPrecomputes(o, t, i), n);
123
- },
124
- wNAFCachedUnsafe(t, n, i, o) {
125
- const r = S(t);
126
- return r === 1 ? this.unsafeLadder(t, n, o) : this.wNAFUnsafe(r, this.getPrecomputes(r, t, i), n, o);
127
- },
128
- // We calculate precomputes for elliptic curve point multiplication
129
- // using windowed method. This specifies window size and
130
- // stores precomputed values. Usually only base point would be precomputed.
131
- setWindowSize(t, n) {
132
- y(n, a), I.set(t, n), b.delete(t);
133
- }
134
- };
135
- }
136
- function U(e, a, t, n) {
137
- L(t, e), Z(n, a);
138
- const i = t.length, o = n.length;
139
- if (i !== o)
140
- throw new Error("arrays of points and scalars must have equal length");
141
- const r = e.ZERO, f = k(BigInt(i));
142
- let s = 1;
143
- f > 12 ? s = f - 3 : f > 4 ? s = f - 2 : f > 0 && (s = 2);
144
- const c = x(s), d = new Array(Number(c) + 1).fill(r), g = Math.floor((a.BITS - 1) / s) * s;
145
- let l = r;
146
- for (let u = g; u >= 0; u -= s) {
147
- d.fill(r);
148
- for (let w = 0; w < o; w++) {
149
- const p = n[w], A = Number(p >> BigInt(u) & c);
150
- d[A] = d[A].add(t[w]);
151
- }
152
- let h = r;
153
- for (let w = d.length - 1, p = r; w > 0; w--)
154
- p = p.add(d[w]), h = h.add(p);
155
- if (l = l.add(h), u !== 0)
156
- for (let w = 0; w < s; w++)
157
- l = l.double();
158
- }
159
- return l;
160
- }
161
- function C(e) {
162
- return M(e.Fp), O(e, {
163
- n: "bigint",
164
- h: "bigint",
165
- Gx: "field",
166
- Gy: "field"
167
- }, {
168
- nBitLength: "isSafeInteger",
169
- nByteLength: "isSafeInteger"
170
- }), Object.freeze({
171
- ...z(e.n, e.nBitLength),
172
- ...e,
173
- p: e.Fp.ORDER
174
- });
1
+ import { SizeExceedsPaddingSizeError as a } from "./index234.js";
2
+ function o(r, i = {}) {
3
+ const { dir: n, size: e = 32 } = i;
4
+ if (e === 0)
5
+ return r;
6
+ const t = r.replace("0x", "");
7
+ if (t.length > e * 2)
8
+ throw new a({
9
+ size: Math.ceil(t.length / 2),
10
+ targetSize: e,
11
+ type: "Hex"
12
+ });
13
+ return `0x${t[n === "right" ? "padEnd" : "padStart"](e * 2, "0")}`;
175
14
  }
176
15
  export {
177
- U as pippenger,
178
- C as validateBasic,
179
- v as wNAF
16
+ o as pad
180
17
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gardenfi/utils",
3
- "version": "2.5.3-beta.9",
3
+ "version": "3.0.0",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "vite build",