@gardenfi/utils 2.1.2-beta.7 → 2.1.2-beta.8

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 (173) hide show
  1. package/dist/index100.cjs +1 -1
  2. package/dist/index100.js +5 -5
  3. package/dist/index101.cjs +2 -1
  4. package/dist/index101.js +3 -11
  5. package/dist/index102.cjs +1 -1
  6. package/dist/index102.js +18 -6
  7. package/dist/index103.cjs +1 -1
  8. package/dist/index103.js +638 -15
  9. package/dist/index104.cjs +1 -1
  10. package/dist/index104.js +173 -5
  11. package/dist/index18.cjs +1 -1
  12. package/dist/index18.js +2 -2
  13. package/dist/index19.cjs +1 -1
  14. package/dist/index19.js +9 -9
  15. package/dist/index20.cjs +1 -1
  16. package/dist/index20.js +1 -1
  17. package/dist/index21.cjs +1 -1
  18. package/dist/index21.js +3 -3
  19. package/dist/index22.cjs +1 -1
  20. package/dist/index22.js +1 -1
  21. package/dist/index23.cjs +2 -1
  22. package/dist/index23.js +49 -40
  23. package/dist/index24.cjs +1 -1
  24. package/dist/index24.js +24 -45
  25. package/dist/index25.cjs +1 -1
  26. package/dist/index25.js +41 -25
  27. package/dist/index26.cjs +1 -1
  28. package/dist/index26.js +45 -6
  29. package/dist/index27.cjs +1 -1
  30. package/dist/index27.js +24 -12
  31. package/dist/index28.cjs +1 -1
  32. package/dist/index28.js +6 -15
  33. package/dist/index29.cjs +1 -1
  34. package/dist/index29.js +13 -5
  35. package/dist/index30.cjs +1 -1
  36. package/dist/index30.js +14 -12
  37. package/dist/index31.cjs +1 -1
  38. package/dist/index31.js +5 -10
  39. package/dist/index32.cjs +1 -1
  40. package/dist/index32.js +13 -12
  41. package/dist/index33.cjs +1 -1
  42. package/dist/index33.js +10 -11
  43. package/dist/index34.cjs +1 -1
  44. package/dist/index34.js +12 -13
  45. package/dist/index35.cjs +1 -1
  46. package/dist/index35.js +11 -23
  47. package/dist/index36.cjs +1 -1
  48. package/dist/index36.js +13 -55
  49. package/dist/index37.cjs +1 -1
  50. package/dist/index37.js +23 -16
  51. package/dist/index38.cjs +1 -1
  52. package/dist/index38.js +55 -5
  53. package/dist/index39.cjs +1 -1
  54. package/dist/index39.js +16 -8
  55. package/dist/index40.cjs +1 -1
  56. package/dist/index40.js +5 -171
  57. package/dist/index41.cjs +1 -1
  58. package/dist/index41.js +8 -103
  59. package/dist/index42.cjs +1 -1
  60. package/dist/index42.js +170 -20
  61. package/dist/index43.cjs +1 -2
  62. package/dist/index43.js +97 -44
  63. package/dist/index44.cjs +1 -1
  64. package/dist/index44.js +21 -24
  65. package/dist/index45.cjs +1 -1
  66. package/dist/index45.js +1 -1
  67. package/dist/index47.cjs +1 -1
  68. package/dist/index47.js +6 -40
  69. package/dist/index48.cjs +2 -1
  70. package/dist/index48.js +58 -33
  71. package/dist/index49.cjs +1 -1
  72. package/dist/index49.js +2 -70
  73. package/dist/index50.cjs +1 -1
  74. package/dist/index50.js +5 -111
  75. package/dist/index51.cjs +1 -1
  76. package/dist/index51.js +4 -67
  77. package/dist/index52.cjs +1 -1
  78. package/dist/index52.js +12 -2
  79. package/dist/index53.cjs +1 -1
  80. package/dist/index53.js +8 -17
  81. package/dist/index54.cjs +5 -1
  82. package/dist/index54.js +48 -215
  83. package/dist/index55.cjs +2 -1
  84. package/dist/index55.js +31 -228
  85. package/dist/index56.cjs +1 -2
  86. package/dist/index56.js +5 -59
  87. package/dist/index57.cjs +1 -1
  88. package/dist/index57.js +2 -22
  89. package/dist/index58.cjs +1 -1
  90. package/dist/index58.js +18 -101
  91. package/dist/index59.cjs +1 -1
  92. package/dist/index59.js +8 -3
  93. package/dist/index60.cjs +1 -1
  94. package/dist/index60.js +9 -16
  95. package/dist/index61.cjs +1 -1
  96. package/dist/index61.js +11 -8
  97. package/dist/index62.cjs +1 -1
  98. package/dist/index62.js +6 -10
  99. package/dist/index63.cjs +1 -1
  100. package/dist/index63.js +13 -11
  101. package/dist/index64.cjs +1 -1
  102. package/dist/index64.js +31 -12
  103. package/dist/index65.cjs +1 -1
  104. package/dist/index65.js +14 -18
  105. package/dist/index66.cjs +1 -1
  106. package/dist/index66.js +64 -6
  107. package/dist/index67.cjs +1 -1
  108. package/dist/index67.js +25 -40
  109. package/dist/index68.cjs +1 -1
  110. package/dist/index68.js +3 -79
  111. package/dist/index69.cjs +1 -1
  112. package/dist/index69.js +3 -14
  113. package/dist/index70.cjs +1 -1
  114. package/dist/index70.js +8 -18
  115. package/dist/index71.cjs +1 -1
  116. package/dist/index71.js +191 -8
  117. package/dist/index72.cjs +1 -1
  118. package/dist/index72.js +18 -191
  119. package/dist/index73.cjs +1 -1
  120. package/dist/index73.js +39 -63
  121. package/dist/index74.cjs +1 -1
  122. package/dist/index74.js +34 -4
  123. package/dist/index75.cjs +1 -1
  124. package/dist/index75.js +70 -2
  125. package/dist/index76.cjs +1 -1
  126. package/dist/index76.js +111 -5
  127. package/dist/index77.cjs +1 -1
  128. package/dist/index77.js +67 -11
  129. package/dist/index78.cjs +1 -1
  130. package/dist/index78.js +2 -8
  131. package/dist/index79.cjs +1 -5
  132. package/dist/index79.js +15 -55
  133. package/dist/index80.cjs +1 -2
  134. package/dist/index80.js +220 -31
  135. package/dist/index81.cjs +1 -1
  136. package/dist/index81.js +231 -5
  137. package/dist/index82.cjs +1 -1
  138. package/dist/index82.js +43 -2
  139. package/dist/index83.cjs +1 -1
  140. package/dist/index83.js +104 -6
  141. package/dist/index84.cjs +1 -1
  142. package/dist/index84.js +16 -31
  143. package/dist/index85.cjs +1 -1
  144. package/dist/index85.js +75 -24
  145. package/dist/index86.cjs +1 -1
  146. package/dist/index86.js +19 -3
  147. package/dist/index87.cjs +1 -1
  148. package/dist/index87.js +8 -11
  149. package/dist/index88.cjs +1 -1
  150. package/dist/index88.js +11 -19
  151. package/dist/index89.cjs +1 -1
  152. package/dist/index89.js +19 -8
  153. package/dist/index90.cjs +1 -1
  154. package/dist/index90.js +1 -1
  155. package/dist/index91.cjs +1 -1
  156. package/dist/index91.js +37 -17
  157. package/dist/index92.cjs +1 -1
  158. package/dist/index92.js +2 -644
  159. package/dist/index93.cjs +1 -1
  160. package/dist/index93.js +5 -173
  161. package/dist/index94.cjs +1 -1
  162. package/dist/index94.js +10 -127
  163. package/dist/index95.cjs +1 -2
  164. package/dist/index95.js +128 -3
  165. package/dist/index96.cjs +1 -1
  166. package/dist/index96.js +7 -2
  167. package/dist/index97.cjs +1 -1
  168. package/dist/index97.js +2 -2
  169. package/dist/index98.cjs +1 -1
  170. package/dist/index98.js +2 -2
  171. package/dist/index99.cjs +1 -1
  172. package/dist/index99.js +17 -35
  173. package/package.json +1 -1
package/dist/index93.js CHANGED
@@ -1,175 +1,7 @@
1
- import { validateField as z, nLength as F } from "./index54.js";
2
- import { validateObject as x, bitLen as O } from "./index55.js";
3
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
4
- const I = BigInt(0), p = BigInt(1);
5
- function m(e, r) {
6
- const t = r.negate();
7
- return e ? t : r;
8
- }
9
- function A(e, r) {
10
- if (!Number.isSafeInteger(e) || e <= 0 || e > r)
11
- throw new Error("invalid window size, expected [1.." + r + "], got W=" + e);
12
- }
13
- function b(e, r) {
14
- A(e, r);
15
- const t = Math.ceil(r / e) + 1, n = 2 ** (e - 1);
16
- return { windows: t, windowSize: n };
17
- }
18
- function L(e, r) {
19
- if (!Array.isArray(e))
20
- throw new Error("array expected");
21
- e.forEach((t, n) => {
22
- if (!(t instanceof r))
23
- throw new Error("invalid point at index " + n);
24
- });
25
- }
26
- function k(e, r) {
27
- if (!Array.isArray(e))
28
- throw new Error("array of scalars expected");
29
- e.forEach((t, n) => {
30
- if (!r.isValid(t))
31
- throw new Error("invalid scalar at index " + n);
32
- });
33
- }
34
- const B = /* @__PURE__ */ new WeakMap(), E = /* @__PURE__ */ new WeakMap();
35
- function S(e) {
36
- return E.get(e) || 1;
37
- }
38
- function v(e, r) {
39
- return {
40
- constTimeNegate: m,
41
- hasPrecomputes(t) {
42
- return S(t) !== 1;
43
- },
44
- // non-const time multiplication ladder
45
- unsafeLadder(t, n, i = e.ZERO) {
46
- let o = t;
47
- for (; n > I; )
48
- n & p && (i = i.add(o)), o = o.double(), n >>= p;
49
- return i;
50
- },
51
- /**
52
- * Creates a wNAF precomputation window. Used for caching.
53
- * Default window size is set by `utils.precompute()` and is equal to 8.
54
- * Number of precomputed points depends on the curve size:
55
- * 2^(𝑊−1) * (Math.ceil(𝑛 / 𝑊) + 1), where:
56
- * - 𝑊 is the window size
57
- * - 𝑛 is the bitlength of the curve order.
58
- * For a 256-bit curve and window size 8, the number of precomputed points is 128 * 33 = 4224.
59
- * @param elm Point instance
60
- * @param W window size
61
- * @returns precomputed point tables flattened to a single array
62
- */
63
- precomputeWindow(t, n) {
64
- const { windows: i, windowSize: o } = b(n, r), a = [];
65
- let c = t, d = c;
66
- for (let h = 0; h < i; h++) {
67
- d = c, a.push(d);
68
- for (let w = 1; w < o; w++)
69
- d = d.add(c), a.push(d);
70
- c = d.double();
71
- }
72
- return a;
73
- },
74
- /**
75
- * Implements ec multiplication using precomputed tables and w-ary non-adjacent form.
76
- * @param W window size
77
- * @param precomputes precomputed tables
78
- * @param n scalar (we don't check here, but should be less than curve order)
79
- * @returns real and fake (for const-time) points
80
- */
81
- wNAF(t, n, i) {
82
- const { windows: o, windowSize: a } = b(t, r);
83
- let c = e.ZERO, d = e.BASE;
84
- const h = BigInt(2 ** t - 1), w = 2 ** t, l = BigInt(t);
85
- for (let u = 0; u < o; u++) {
86
- const s = u * a;
87
- let f = Number(i & h);
88
- i >>= l, f > a && (f -= w, i += p);
89
- const g = s, N = s + Math.abs(f) - 1, y = u % 2 !== 0, M = f < 0;
90
- f === 0 ? d = d.add(m(y, n[g])) : c = c.add(m(M, n[N]));
91
- }
92
- return { p: c, f: d };
93
- },
94
- /**
95
- * Implements ec unsafe (non const-time) multiplication using precomputed tables and w-ary non-adjacent form.
96
- * @param W window size
97
- * @param precomputes precomputed tables
98
- * @param n scalar (we don't check here, but should be less than curve order)
99
- * @param acc accumulator point to add result of multiplication
100
- * @returns point
101
- */
102
- wNAFUnsafe(t, n, i, o = e.ZERO) {
103
- const { windows: a, windowSize: c } = b(t, r), d = BigInt(2 ** t - 1), h = 2 ** t, w = BigInt(t);
104
- for (let l = 0; l < a; l++) {
105
- const u = l * c;
106
- if (i === I)
107
- break;
108
- let s = Number(i & d);
109
- if (i >>= w, s > c && (s -= h, i += p), s === 0)
110
- continue;
111
- let f = n[u + Math.abs(s) - 1];
112
- s < 0 && (f = f.negate()), o = o.add(f);
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 a = S(t);
126
- return a === 1 ? this.unsafeLadder(t, n, o) : this.wNAFUnsafe(a, this.getPrecomputes(a, 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
- A(n, r), E.set(t, n), B.delete(t);
133
- }
134
- };
135
- }
136
- function Z(e, r, t, n) {
137
- if (L(t, e), k(n, r), t.length !== n.length)
138
- throw new Error("arrays of points and scalars must have equal length");
139
- const i = e.ZERO, o = O(BigInt(t.length)), a = o > 12 ? o - 3 : o > 4 ? o - 2 : o ? 2 : 1, c = (1 << a) - 1, d = new Array(c + 1).fill(i), h = Math.floor((r.BITS - 1) / a) * a;
140
- let w = i;
141
- for (let l = h; l >= 0; l -= a) {
142
- d.fill(i);
143
- for (let s = 0; s < n.length; s++) {
144
- const f = n[s], g = Number(f >> BigInt(l) & BigInt(c));
145
- d[g] = d[g].add(t[s]);
146
- }
147
- let u = i;
148
- for (let s = d.length - 1, f = i; s > 0; s--)
149
- f = f.add(d[s]), u = u.add(f);
150
- if (w = w.add(u), l !== 0)
151
- for (let s = 0; s < a; s++)
152
- w = w.double();
153
- }
154
- return w;
155
- }
156
- function U(e) {
157
- return z(e.Fp), x(e, {
158
- n: "bigint",
159
- h: "bigint",
160
- Gx: "field",
161
- Gy: "field"
162
- }, {
163
- nBitLength: "isSafeInteger",
164
- nByteLength: "isSafeInteger"
165
- }), Object.freeze({
166
- ...F(e.n, e.nBitLength),
167
- ...e,
168
- p: e.Fp.ORDER
169
- });
170
- }
1
+ const e = {
2
+ ether: -9,
3
+ wei: 9
4
+ };
171
5
  export {
172
- Z as pippenger,
173
- U as validateBasic,
174
- v as wNAF
6
+ e as gweiUnits
175
7
  };
package/dist/index94.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index103.cjs"),e={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new o.RecursiveReadLimitExceededError({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new o.PositionOutOfBoundsError({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new o.NegativeOffsetError({offset:t});const i=this.position-t;this.assertPosition(i),this.position=i},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new o.NegativeOffsetError({offset:t});const i=this.position+t;this.assertPosition(i),this.position=i},inspectByte(t){const i=t??this.position;return this.assertPosition(i),this.bytes[i]},inspectBytes(t,i){const s=i??this.position;return this.assertPosition(s+t-1),this.bytes.subarray(s,s+t)},inspectUint8(t){const i=t??this.position;return this.assertPosition(i),this.bytes[i]},inspectUint16(t){const i=t??this.position;return this.assertPosition(i+1),this.dataView.getUint16(i)},inspectUint24(t){const i=t??this.position;return this.assertPosition(i+2),(this.dataView.getUint16(i)<<8)+this.dataView.getUint8(i+2)},inspectUint32(t){const i=t??this.position;return this.assertPosition(i+3),this.dataView.getUint32(i)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const t=this.inspectByte();return this.position++,t},readBytes(t,i){this.assertReadLimit(),this._touch();const s=this.inspectBytes(t);return this.position+=i??t,s},readUint8(){this.assertReadLimit(),this._touch();const t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();const t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();const t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();const t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){const i=this.position;return this.assertPosition(t),this.position=t,()=>this.position=i},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};function n(t,{recursiveReadLimit:i=8192}={}){const s=Object.create(e);return s.bytes=t,s.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),s.positionReadCount=new Map,s.recursiveReadLimit=i,s}exports.createCursor=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(r,i){let t=r.toString();const n=t.startsWith("-");n&&(t=t.slice(1)),t=t.padStart(i,"0");let[l,e]=[t.slice(0,t.length-i),t.slice(t.length-i)];return e=e.replace(/(0+)$/,""),`${n?"-":""}${l||"0"}${e?`.${e}`:""}`}exports.formatUnits=o;
package/dist/index94.js CHANGED
@@ -1,130 +1,13 @@
1
- import { NegativeOffsetError as o, PositionOutOfBoundsError as e, RecursiveReadLimitExceededError as n } from "./index103.js";
2
- const h = {
3
- bytes: new Uint8Array(),
4
- dataView: new DataView(new ArrayBuffer(0)),
5
- position: 0,
6
- positionReadCount: /* @__PURE__ */ new Map(),
7
- recursiveReadCount: 0,
8
- recursiveReadLimit: Number.POSITIVE_INFINITY,
9
- assertReadLimit() {
10
- if (this.recursiveReadCount >= this.recursiveReadLimit)
11
- throw new n({
12
- count: this.recursiveReadCount + 1,
13
- limit: this.recursiveReadLimit
14
- });
15
- },
16
- assertPosition(t) {
17
- if (t < 0 || t > this.bytes.length - 1)
18
- throw new e({
19
- length: this.bytes.length,
20
- position: t
21
- });
22
- },
23
- decrementPosition(t) {
24
- if (t < 0)
25
- throw new o({ offset: t });
26
- const i = this.position - t;
27
- this.assertPosition(i), this.position = i;
28
- },
29
- getReadCount(t) {
30
- return this.positionReadCount.get(t || this.position) || 0;
31
- },
32
- incrementPosition(t) {
33
- if (t < 0)
34
- throw new o({ offset: t });
35
- const i = this.position + t;
36
- this.assertPosition(i), this.position = i;
37
- },
38
- inspectByte(t) {
39
- const i = t ?? this.position;
40
- return this.assertPosition(i), this.bytes[i];
41
- },
42
- inspectBytes(t, i) {
43
- const s = i ?? this.position;
44
- return this.assertPosition(s + t - 1), this.bytes.subarray(s, s + t);
45
- },
46
- inspectUint8(t) {
47
- const i = t ?? this.position;
48
- return this.assertPosition(i), this.bytes[i];
49
- },
50
- inspectUint16(t) {
51
- const i = t ?? this.position;
52
- return this.assertPosition(i + 1), this.dataView.getUint16(i);
53
- },
54
- inspectUint24(t) {
55
- const i = t ?? this.position;
56
- return this.assertPosition(i + 2), (this.dataView.getUint16(i) << 8) + this.dataView.getUint8(i + 2);
57
- },
58
- inspectUint32(t) {
59
- const i = t ?? this.position;
60
- return this.assertPosition(i + 3), this.dataView.getUint32(i);
61
- },
62
- pushByte(t) {
63
- this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
64
- },
65
- pushBytes(t) {
66
- this.assertPosition(this.position + t.length - 1), this.bytes.set(t, this.position), this.position += t.length;
67
- },
68
- pushUint8(t) {
69
- this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
70
- },
71
- pushUint16(t) {
72
- this.assertPosition(this.position + 1), this.dataView.setUint16(this.position, t), this.position += 2;
73
- },
74
- pushUint24(t) {
75
- this.assertPosition(this.position + 2), this.dataView.setUint16(this.position, t >> 8), this.dataView.setUint8(this.position + 2, t & 255), this.position += 3;
76
- },
77
- pushUint32(t) {
78
- this.assertPosition(this.position + 3), this.dataView.setUint32(this.position, t), this.position += 4;
79
- },
80
- readByte() {
81
- this.assertReadLimit(), this._touch();
82
- const t = this.inspectByte();
83
- return this.position++, t;
84
- },
85
- readBytes(t, i) {
86
- this.assertReadLimit(), this._touch();
87
- const s = this.inspectBytes(t);
88
- return this.position += i ?? t, s;
89
- },
90
- readUint8() {
91
- this.assertReadLimit(), this._touch();
92
- const t = this.inspectUint8();
93
- return this.position += 1, t;
94
- },
95
- readUint16() {
96
- this.assertReadLimit(), this._touch();
97
- const t = this.inspectUint16();
98
- return this.position += 2, t;
99
- },
100
- readUint24() {
101
- this.assertReadLimit(), this._touch();
102
- const t = this.inspectUint24();
103
- return this.position += 3, t;
104
- },
105
- readUint32() {
106
- this.assertReadLimit(), this._touch();
107
- const t = this.inspectUint32();
108
- return this.position += 4, t;
109
- },
110
- get remaining() {
111
- return this.bytes.length - this.position;
112
- },
113
- setPosition(t) {
114
- const i = this.position;
115
- return this.assertPosition(t), this.position = t, () => this.position = i;
116
- },
117
- _touch() {
118
- if (this.recursiveReadLimit === Number.POSITIVE_INFINITY)
119
- return;
120
- const t = this.getReadCount();
121
- this.positionReadCount.set(this.position, t + 1), t > 0 && this.recursiveReadCount++;
122
- }
123
- };
124
- function a(t, { recursiveReadLimit: i = 8192 } = {}) {
125
- const s = Object.create(h);
126
- return s.bytes = t, s.dataView = new DataView(t.buffer, t.byteOffset, t.byteLength), s.positionReadCount = /* @__PURE__ */ new Map(), s.recursiveReadLimit = i, s;
1
+ function a(r, n) {
2
+ let t = r.toString();
3
+ const i = t.startsWith("-");
4
+ i && (t = t.slice(1)), t = t.padStart(n, "0");
5
+ let [l, e] = [
6
+ t.slice(0, t.length - n),
7
+ t.slice(t.length - n)
8
+ ];
9
+ return e = e.replace(/(0+)$/, ""), `${i ? "-" : ""}${l || "0"}${e ? `.${e}` : ""}`;
127
10
  }
128
11
  export {
129
- a as createCursor
12
+ a as formatUnits
130
13
  };
package/dist/index95.cjs CHANGED
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=`Ethereum Signed Message:
2
- `;exports.presignMessagePrefix=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index99.cjs"),e={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new o.RecursiveReadLimitExceededError({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new o.PositionOutOfBoundsError({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new o.NegativeOffsetError({offset:t});const i=this.position-t;this.assertPosition(i),this.position=i},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new o.NegativeOffsetError({offset:t});const i=this.position+t;this.assertPosition(i),this.position=i},inspectByte(t){const i=t??this.position;return this.assertPosition(i),this.bytes[i]},inspectBytes(t,i){const s=i??this.position;return this.assertPosition(s+t-1),this.bytes.subarray(s,s+t)},inspectUint8(t){const i=t??this.position;return this.assertPosition(i),this.bytes[i]},inspectUint16(t){const i=t??this.position;return this.assertPosition(i+1),this.dataView.getUint16(i)},inspectUint24(t){const i=t??this.position;return this.assertPosition(i+2),(this.dataView.getUint16(i)<<8)+this.dataView.getUint8(i+2)},inspectUint32(t){const i=t??this.position;return this.assertPosition(i+3),this.dataView.getUint32(i)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){this.assertReadLimit(),this._touch();const t=this.inspectByte();return this.position++,t},readBytes(t,i){this.assertReadLimit(),this._touch();const s=this.inspectBytes(t);return this.position+=i??t,s},readUint8(){this.assertReadLimit(),this._touch();const t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();const t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();const t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();const t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){const i=this.position;return this.assertPosition(t),this.position=t,()=>this.position=i},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;const t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++}};function n(t,{recursiveReadLimit:i=8192}={}){const s=Object.create(e);return s.bytes=t,s.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),s.positionReadCount=new Map,s.recursiveReadLimit=i,s}exports.createCursor=n;
package/dist/index95.js CHANGED
@@ -1,5 +1,130 @@
1
- const e = `Ethereum Signed Message:
2
- `;
1
+ import { NegativeOffsetError as o, PositionOutOfBoundsError as e, RecursiveReadLimitExceededError as n } from "./index99.js";
2
+ const h = {
3
+ bytes: new Uint8Array(),
4
+ dataView: new DataView(new ArrayBuffer(0)),
5
+ position: 0,
6
+ positionReadCount: /* @__PURE__ */ new Map(),
7
+ recursiveReadCount: 0,
8
+ recursiveReadLimit: Number.POSITIVE_INFINITY,
9
+ assertReadLimit() {
10
+ if (this.recursiveReadCount >= this.recursiveReadLimit)
11
+ throw new n({
12
+ count: this.recursiveReadCount + 1,
13
+ limit: this.recursiveReadLimit
14
+ });
15
+ },
16
+ assertPosition(t) {
17
+ if (t < 0 || t > this.bytes.length - 1)
18
+ throw new e({
19
+ length: this.bytes.length,
20
+ position: t
21
+ });
22
+ },
23
+ decrementPosition(t) {
24
+ if (t < 0)
25
+ throw new o({ offset: t });
26
+ const i = this.position - t;
27
+ this.assertPosition(i), this.position = i;
28
+ },
29
+ getReadCount(t) {
30
+ return this.positionReadCount.get(t || this.position) || 0;
31
+ },
32
+ incrementPosition(t) {
33
+ if (t < 0)
34
+ throw new o({ offset: t });
35
+ const i = this.position + t;
36
+ this.assertPosition(i), this.position = i;
37
+ },
38
+ inspectByte(t) {
39
+ const i = t ?? this.position;
40
+ return this.assertPosition(i), this.bytes[i];
41
+ },
42
+ inspectBytes(t, i) {
43
+ const s = i ?? this.position;
44
+ return this.assertPosition(s + t - 1), this.bytes.subarray(s, s + t);
45
+ },
46
+ inspectUint8(t) {
47
+ const i = t ?? this.position;
48
+ return this.assertPosition(i), this.bytes[i];
49
+ },
50
+ inspectUint16(t) {
51
+ const i = t ?? this.position;
52
+ return this.assertPosition(i + 1), this.dataView.getUint16(i);
53
+ },
54
+ inspectUint24(t) {
55
+ const i = t ?? this.position;
56
+ return this.assertPosition(i + 2), (this.dataView.getUint16(i) << 8) + this.dataView.getUint8(i + 2);
57
+ },
58
+ inspectUint32(t) {
59
+ const i = t ?? this.position;
60
+ return this.assertPosition(i + 3), this.dataView.getUint32(i);
61
+ },
62
+ pushByte(t) {
63
+ this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
64
+ },
65
+ pushBytes(t) {
66
+ this.assertPosition(this.position + t.length - 1), this.bytes.set(t, this.position), this.position += t.length;
67
+ },
68
+ pushUint8(t) {
69
+ this.assertPosition(this.position), this.bytes[this.position] = t, this.position++;
70
+ },
71
+ pushUint16(t) {
72
+ this.assertPosition(this.position + 1), this.dataView.setUint16(this.position, t), this.position += 2;
73
+ },
74
+ pushUint24(t) {
75
+ this.assertPosition(this.position + 2), this.dataView.setUint16(this.position, t >> 8), this.dataView.setUint8(this.position + 2, t & 255), this.position += 3;
76
+ },
77
+ pushUint32(t) {
78
+ this.assertPosition(this.position + 3), this.dataView.setUint32(this.position, t), this.position += 4;
79
+ },
80
+ readByte() {
81
+ this.assertReadLimit(), this._touch();
82
+ const t = this.inspectByte();
83
+ return this.position++, t;
84
+ },
85
+ readBytes(t, i) {
86
+ this.assertReadLimit(), this._touch();
87
+ const s = this.inspectBytes(t);
88
+ return this.position += i ?? t, s;
89
+ },
90
+ readUint8() {
91
+ this.assertReadLimit(), this._touch();
92
+ const t = this.inspectUint8();
93
+ return this.position += 1, t;
94
+ },
95
+ readUint16() {
96
+ this.assertReadLimit(), this._touch();
97
+ const t = this.inspectUint16();
98
+ return this.position += 2, t;
99
+ },
100
+ readUint24() {
101
+ this.assertReadLimit(), this._touch();
102
+ const t = this.inspectUint24();
103
+ return this.position += 3, t;
104
+ },
105
+ readUint32() {
106
+ this.assertReadLimit(), this._touch();
107
+ const t = this.inspectUint32();
108
+ return this.position += 4, t;
109
+ },
110
+ get remaining() {
111
+ return this.bytes.length - this.position;
112
+ },
113
+ setPosition(t) {
114
+ const i = this.position;
115
+ return this.assertPosition(t), this.position = t, () => this.position = i;
116
+ },
117
+ _touch() {
118
+ if (this.recursiveReadLimit === Number.POSITIVE_INFINITY)
119
+ return;
120
+ const t = this.getReadCount();
121
+ this.positionReadCount.set(this.position, t + 1), t > 0 && this.recursiveReadCount++;
122
+ }
123
+ };
124
+ function a(t, { recursiveReadLimit: i = 8192 } = {}) {
125
+ const s = Object.create(h);
126
+ return s.bytes = t, s.dataView = new DataView(t.buffer, t.byteOffset, t.byteLength), s.positionReadCount = /* @__PURE__ */ new Map(), s.recursiveReadLimit = i, s;
127
+ }
3
128
  export {
4
- e as presignMessagePrefix
129
+ a as createCursor
5
130
  };
package/dist/index96.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=1;exports.versionedHashVersionKzg=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index76.cjs"),s=require("./index69.cjs"),r=require("./index38.cjs");function o(t,i){return e.sha256(s.isHex(t,{strict:!1})?r.toBytes(t):t)}exports.sha256=o;
package/dist/index96.js CHANGED
@@ -1,4 +1,9 @@
1
- const e = 1;
1
+ import { sha256 as o } from "./index76.js";
2
+ import { isHex as s } from "./index69.js";
3
+ import { toBytes as r } from "./index38.js";
4
+ function p(t, i) {
5
+ return o(s(t, { strict: !1 }) ? r(t) : t);
6
+ }
2
7
  export {
3
- e as versionedHashVersionKzg
8
+ p as sha256
4
9
  };
package/dist/index97.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=2n**256n-1n;exports.maxUint256=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=1;exports.versionedHashVersionKzg=e;
package/dist/index97.js CHANGED
@@ -1,4 +1,4 @@
1
- const n = 2n ** 256n - 1n;
1
+ const e = 1;
2
2
  export {
3
- n as maxUint256
3
+ e as versionedHashVersionKzg
4
4
  };
package/dist/index98.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index96.cjs"),s=require("./index56.cjs");class i extends s.BaseError{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class n extends s.BaseError{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class t extends s.BaseError{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class d extends s.BaseError{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${a.versionedHashVersionKzg}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}exports.BlobSizeTooLargeError=i;exports.EmptyBlobError=n;exports.InvalidVersionedHashSizeError=t;exports.InvalidVersionedHashVersionError=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./index97.cjs"),s=require("./index48.cjs");class i extends s.BaseError{constructor({maxSize:e,size:r}){super("Blob size is too large.",{metaMessages:[`Max: ${e} bytes`,`Given: ${r} bytes`],name:"BlobSizeTooLargeError"})}}class n extends s.BaseError{constructor(){super("Blob data must not be empty.",{name:"EmptyBlobError"})}}class t extends s.BaseError{constructor({hash:e,size:r}){super(`Versioned hash "${e}" size is invalid.`,{metaMessages:["Expected: 32",`Received: ${r}`],name:"InvalidVersionedHashSizeError"})}}class d extends s.BaseError{constructor({hash:e,version:r}){super(`Versioned hash "${e}" version is invalid.`,{metaMessages:[`Expected: ${a.versionedHashVersionKzg}`,`Received: ${r}`],name:"InvalidVersionedHashVersionError"})}}exports.BlobSizeTooLargeError=i;exports.EmptyBlobError=n;exports.InvalidVersionedHashSizeError=t;exports.InvalidVersionedHashVersionError=d;
package/dist/index98.js CHANGED
@@ -1,5 +1,5 @@
1
- import { versionedHashVersionKzg as a } from "./index96.js";
2
- import { BaseError as s } from "./index56.js";
1
+ import { versionedHashVersionKzg as a } from "./index97.js";
2
+ import { BaseError as s } from "./index48.js";
3
3
  class t extends s {
4
4
  constructor({ maxSize: e, size: r }) {
5
5
  super("Blob size is too large.", {
package/dist/index99.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index90.cjs"),O=require("./index59.cjs"),n=require("./index74.cjs");function p(i,e,s,{strict:f}={}){return O.isHex(i,{strict:!1})?l(i,e,s,{strict:f}):u(i,e,s,{strict:f})}function r(i,e){if(typeof e=="number"&&e>0&&e>n.size(i)-1)throw new t.SliceOffsetOutOfBoundsError({offset:e,position:"start",size:n.size(i)})}function c(i,e,s){if(typeof e=="number"&&typeof s=="number"&&n.size(i)!==s-e)throw new t.SliceOffsetOutOfBoundsError({offset:s,position:"end",size:n.size(i)})}function u(i,e,s,{strict:f}={}){r(i,e);const o=i.slice(e,s);return f&&c(o,e,s),o}function l(i,e,s,{strict:f}={}){r(i,e);const o=`0x${i.replace("0x","").slice((e??0)*2,(s??i.length)*2)}`;return f&&c(o,e,s),o}exports.slice=p;exports.sliceBytes=u;exports.sliceHex=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index48.cjs");class t extends o.BaseError{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`,{name:"NegativeOffsetError"})}}class i extends o.BaseError{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`,{name:"PositionOutOfBoundsError"})}}class n extends o.BaseError{constructor({count:e,limit:r}){super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`,{name:"RecursiveReadLimitExceededError"})}}exports.NegativeOffsetError=t;exports.PositionOutOfBoundsError=i;exports.RecursiveReadLimitExceededError=n;
package/dist/index99.js CHANGED
@@ -1,41 +1,23 @@
1
- import { SliceOffsetOutOfBoundsError as t } from "./index90.js";
2
- import { isHex as p } from "./index59.js";
3
- import { size as r } from "./index74.js";
4
- function w(e, f, i, { strict: o } = {}) {
5
- return p(e, { strict: !1 }) ? u(e, f, i, {
6
- strict: o
7
- }) : m(e, f, i, {
8
- strict: o
9
- });
10
- }
11
- function s(e, f) {
12
- if (typeof f == "number" && f > 0 && f > r(e) - 1)
13
- throw new t({
14
- offset: f,
15
- position: "start",
16
- size: r(e)
17
- });
18
- }
19
- function c(e, f, i) {
20
- if (typeof f == "number" && typeof i == "number" && r(e) !== i - f)
21
- throw new t({
22
- offset: i,
23
- position: "end",
24
- size: r(e)
1
+ import { BaseError as o } from "./index48.js";
2
+ class i extends o {
3
+ constructor({ offset: e }) {
4
+ super(`Offset \`${e}\` cannot be negative.`, {
5
+ name: "NegativeOffsetError"
25
6
  });
7
+ }
26
8
  }
27
- function m(e, f, i, { strict: o } = {}) {
28
- s(e, f);
29
- const n = e.slice(f, i);
30
- return o && c(n, f, i), n;
9
+ class n extends o {
10
+ constructor({ length: e, position: r }) {
11
+ super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`, { name: "PositionOutOfBoundsError" });
12
+ }
31
13
  }
32
- function u(e, f, i, { strict: o } = {}) {
33
- s(e, f);
34
- const n = `0x${e.replace("0x", "").slice((f ?? 0) * 2, (i ?? e.length) * 2)}`;
35
- return o && c(n, f, i), n;
14
+ class c extends o {
15
+ constructor({ count: e, limit: r }) {
16
+ super(`Recursive read limit of \`${r}\` exceeded (recursive read count: \`${e}\`).`, { name: "RecursiveReadLimitExceededError" });
17
+ }
36
18
  }
37
19
  export {
38
- w as slice,
39
- m as sliceBytes,
40
- u as sliceHex
20
+ i as NegativeOffsetError,
21
+ n as PositionOutOfBoundsError,
22
+ c as RecursiveReadLimitExceededError
41
23
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gardenfi/utils",
3
- "version": "2.1.2-beta.7",
3
+ "version": "2.1.2-beta.8",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "build": "vite build",