@gardenfi/swap 0.0.2-beta.1 → 0.0.2-beta.2

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 (179) hide show
  1. package/dist/index104.cjs +1 -1
  2. package/dist/index104.js +4 -4
  3. package/dist/index106.cjs +1 -1
  4. package/dist/index106.js +3 -3
  5. package/dist/index107.cjs +1 -1
  6. package/dist/index107.js +3 -3
  7. package/dist/index116.cjs +1 -1
  8. package/dist/index116.js +1 -1
  9. package/dist/index117.cjs +1 -1
  10. package/dist/index117.js +1 -1
  11. package/dist/index120.cjs +1 -1
  12. package/dist/index120.js +2 -2
  13. package/dist/index121.cjs +1 -1
  14. package/dist/index121.js +7 -7
  15. package/dist/index132.cjs +1 -1
  16. package/dist/index132.js +1 -1
  17. package/dist/index133.cjs +1 -1
  18. package/dist/index133.js +1 -1
  19. package/dist/index134.cjs +1 -1
  20. package/dist/index134.js +1 -1
  21. package/dist/index135.cjs +1 -1
  22. package/dist/index135.js +1 -1
  23. package/dist/index138.cjs +1 -1
  24. package/dist/index138.js +2 -2
  25. package/dist/index161.cjs +1 -1
  26. package/dist/index161.js +2 -2
  27. package/dist/index167.cjs +1 -1
  28. package/dist/index167.js +2 -2
  29. package/dist/index168.cjs +1 -1
  30. package/dist/index168.js +2 -2
  31. package/dist/index169.cjs +1 -1
  32. package/dist/index169.js +2 -2
  33. package/dist/index170.cjs +1 -1
  34. package/dist/index170.js +2 -2
  35. package/dist/index171.cjs +1 -1
  36. package/dist/index171.js +2 -2
  37. package/dist/index172.cjs +1 -1
  38. package/dist/index172.js +2 -2
  39. package/dist/index181.cjs +1 -1
  40. package/dist/index181.js +1 -1
  41. package/dist/index272.cjs +1 -1
  42. package/dist/index272.js +174 -9
  43. package/dist/index273.cjs +2 -1
  44. package/dist/index273.js +91 -30
  45. package/dist/index274.cjs +1 -1
  46. package/dist/index274.js +41 -2
  47. package/dist/index275.cjs +1 -1
  48. package/dist/index275.js +4 -47
  49. package/dist/index276.cjs +1 -1
  50. package/dist/index276.js +9 -11
  51. package/dist/index277.cjs +1 -1
  52. package/dist/index277.js +30 -174
  53. package/dist/index278.cjs +1 -2
  54. package/dist/index278.js +2 -92
  55. package/dist/index279.cjs +1 -1
  56. package/dist/index279.js +45 -38
  57. package/dist/index280.cjs +1 -1
  58. package/dist/index280.js +11 -4
  59. package/dist/index281.cjs +1 -1
  60. package/dist/index281.js +3 -3
  61. package/dist/index299.cjs +1 -1
  62. package/dist/index299.js +7 -37
  63. package/dist/index300.cjs +1 -1
  64. package/dist/index300.js +36 -14
  65. package/dist/index301.cjs +1 -1
  66. package/dist/index301.js +15 -8
  67. package/dist/index302.cjs +1 -1
  68. package/dist/index302.js +43 -8
  69. package/dist/index303.cjs +1 -1
  70. package/dist/index303.js +317 -39
  71. package/dist/index304.cjs +1 -1
  72. package/dist/index304.js +586 -301
  73. package/dist/index305.cjs +1 -1
  74. package/dist/index305.js +107 -603
  75. package/dist/index306.cjs +1 -1
  76. package/dist/index306.js +168 -110
  77. package/dist/index307.cjs +1 -1
  78. package/dist/index307.js +299 -165
  79. package/dist/index308.cjs +1 -1
  80. package/dist/index308.js +92 -300
  81. package/dist/index309.cjs +1 -1
  82. package/dist/index309.js +56 -93
  83. package/dist/index310.cjs +1 -1
  84. package/dist/index310.js +52 -55
  85. package/dist/index311.cjs +1 -1
  86. package/dist/index311.js +42 -51
  87. package/dist/index312.cjs +1 -1
  88. package/dist/index312.js +14 -43
  89. package/dist/index313.cjs +1 -1
  90. package/dist/index313.js +317 -15
  91. package/dist/index314.cjs +1 -1
  92. package/dist/index314.js +53 -311
  93. package/dist/index315.cjs +1 -1
  94. package/dist/index315.js +19 -59
  95. package/dist/index316.cjs +1 -1
  96. package/dist/index316.js +29 -19
  97. package/dist/index317.cjs +1 -1
  98. package/dist/index317.js +3 -29
  99. package/dist/index318.cjs +7 -1
  100. package/dist/index318.js +237 -3
  101. package/dist/index319.cjs +1 -7
  102. package/dist/index319.js +48 -238
  103. package/dist/index320.cjs +1 -1
  104. package/dist/index320.js +213 -48
  105. package/dist/index321.cjs +1 -1
  106. package/dist/index321.js +75 -206
  107. package/dist/index322.cjs +1 -1
  108. package/dist/index322.js +26 -78
  109. package/dist/index323.cjs +1 -1
  110. package/dist/index323.js +73 -26
  111. package/dist/index324.cjs +1 -1
  112. package/dist/index324.js +7 -75
  113. package/dist/index326.cjs +1 -1
  114. package/dist/index326.js +1 -1
  115. package/dist/index327.cjs +1 -1
  116. package/dist/index327.js +1 -1
  117. package/dist/index333.cjs +1 -1
  118. package/dist/index333.js +2 -2
  119. package/dist/index334.cjs +1 -1
  120. package/dist/index334.js +2 -2
  121. package/dist/index346.cjs +1 -1
  122. package/dist/index346.js +1 -1
  123. package/dist/index347.cjs +1 -1
  124. package/dist/index347.js +1 -1
  125. package/dist/index348.cjs +1 -1
  126. package/dist/index348.js +3 -3
  127. package/dist/index349.cjs +2 -1
  128. package/dist/index349.js +193 -4
  129. package/dist/index350.cjs +1 -2
  130. package/dist/index350.js +52 -168
  131. package/dist/index351.cjs +1 -1
  132. package/dist/index351.js +331 -65
  133. package/dist/index352.cjs +1 -1
  134. package/dist/index352.js +149 -332
  135. package/dist/index353.cjs +1 -1
  136. package/dist/index353.js +5 -161
  137. package/dist/index354.cjs +1 -1
  138. package/dist/index354.js +5 -5
  139. package/dist/index357.cjs +1 -1
  140. package/dist/index357.js +205 -8
  141. package/dist/index359.cjs +1 -1
  142. package/dist/index359.js +8 -205
  143. package/dist/index363.cjs +1 -1
  144. package/dist/index363.js +1 -1
  145. package/dist/index364.cjs +1 -1
  146. package/dist/index364.js +1 -1
  147. package/dist/index365.cjs +1 -1
  148. package/dist/index365.js +73 -3
  149. package/dist/index366.cjs +1 -1
  150. package/dist/index366.js +29 -138
  151. package/dist/index367.cjs +1 -1
  152. package/dist/index367.js +5 -73
  153. package/dist/index368.cjs +1 -1
  154. package/dist/index368.js +2 -30
  155. package/dist/index369.cjs +1 -1
  156. package/dist/index369.js +140 -5
  157. package/dist/index370.cjs +1 -1
  158. package/dist/index370.js +1 -1
  159. package/dist/index373.cjs +1 -1
  160. package/dist/index373.js +1 -1
  161. package/dist/index374.cjs +1 -1
  162. package/dist/index374.js +1 -1
  163. package/dist/index375.cjs +1 -1
  164. package/dist/index375.js +2 -2
  165. package/dist/index379.cjs +1 -1
  166. package/dist/index379.js +1 -1
  167. package/dist/index380.cjs +1 -1
  168. package/dist/index380.js +1 -1
  169. package/dist/index381.cjs +1 -1
  170. package/dist/index381.js +22 -2
  171. package/dist/index382.cjs +1 -1
  172. package/dist/index382.js +2 -22
  173. package/dist/index385.cjs +1 -1
  174. package/dist/index385.js +2 -2
  175. package/dist/index77.cjs +1 -1
  176. package/dist/index77.js +13 -13
  177. package/dist/index99.cjs +1 -1
  178. package/dist/index99.js +1 -1
  179. package/package.json +5 -5
package/dist/index351.js CHANGED
@@ -1,80 +1,346 @@
1
- import { fromString as d } from "./index348.js";
2
- import { checksum as o } from "./index354.js";
3
- import { BaseError as c } from "./index278.js";
4
- import { keccak256 as f } from "./index347.js";
5
- const l = /^0x[a-fA-F0-9]{40}$/;
6
- function u(r, t = {}) {
7
- const { strict: s = !0 } = t;
8
- if (!l.test(r))
9
- throw new i({
10
- address: r,
11
- cause: new h()
1
+ import { InvalidTypeError as C, InvalidArrayError as _, ArrayLengthMismatchError as $, BytesSizeMismatchError as O } from "./index349.js";
2
+ import { checksum as M, assert as R } from "./index350.js";
3
+ import { toNumber as u, slice as T, toBoolean as D, toBigInt as U, toString as V, trimLeft as j } from "./index348.js";
4
+ import { BaseError as q } from "./index273.js";
5
+ import { size as h, fromNumber as B, concat as m, fromBytes as w, padLeft as S, fromBoolean as F, IntegerOutOfRangeError as G, padRight as b, fromString as H, slice as J } from "./index272.js";
6
+ import { integerRegex as K } from "./index282.js";
7
+ function p(t, e, o) {
8
+ const { checksumAddress: n, staticPosition: s } = o, i = I(e.type);
9
+ if (i) {
10
+ const [r, d] = i;
11
+ return X(t, { ...e, type: d }, { checksumAddress: n, length: r, staticPosition: s });
12
+ }
13
+ if (e.type === "tuple")
14
+ return tt(t, e, {
15
+ checksumAddress: n,
16
+ staticPosition: s
12
17
  });
13
- if (s) {
14
- if (r.toLowerCase() === r)
15
- return;
16
- if (m(r) !== r)
17
- throw new i({
18
- address: r,
19
- cause: new p()
18
+ if (e.type === "address")
19
+ return Q(t, { checksum: n });
20
+ if (e.type === "bool")
21
+ return Y(t);
22
+ if (e.type.startsWith("bytes"))
23
+ return Z(t, e, { staticPosition: s });
24
+ if (e.type.startsWith("uint") || e.type.startsWith("int"))
25
+ return v(t, e);
26
+ if (e.type === "string")
27
+ return et(t, { staticPosition: s });
28
+ throw new C(e.type);
29
+ }
30
+ const k = 32, A = 32;
31
+ function Q(t, e = {}) {
32
+ const { checksum: o = !1 } = e, n = t.readBytes(32);
33
+ return [((i) => o ? M(i) : i)(w(T(n, -20))), 32];
34
+ }
35
+ function X(t, e, o) {
36
+ const { checksumAddress: n, length: s, staticPosition: i } = o;
37
+ if (!s) {
38
+ const c = u(t.readBytes(A)), a = i + c, f = a + k;
39
+ t.setPosition(a);
40
+ const y = u(t.readBytes(k)), l = g(e);
41
+ let P = 0;
42
+ const N = [];
43
+ for (let z = 0; z < y; ++z) {
44
+ t.setPosition(f + (l ? z * 32 : P));
45
+ const [L, E] = p(t, e, {
46
+ checksumAddress: n,
47
+ staticPosition: f
48
+ });
49
+ P += E, N.push(L);
50
+ }
51
+ return t.setPosition(i + 32), [N, 32];
52
+ }
53
+ if (g(e)) {
54
+ const c = u(t.readBytes(A)), a = i + c, f = [];
55
+ for (let y = 0; y < s; ++y) {
56
+ t.setPosition(a + y * 32);
57
+ const [l] = p(t, e, {
58
+ checksumAddress: n,
59
+ staticPosition: a
60
+ });
61
+ f.push(l);
62
+ }
63
+ return t.setPosition(i + 32), [f, 32];
64
+ }
65
+ let r = 0;
66
+ const d = [];
67
+ for (let c = 0; c < s; ++c) {
68
+ const [a, f] = p(t, e, {
69
+ checksumAddress: n,
70
+ staticPosition: i + r
71
+ });
72
+ r += f, d.push(a);
73
+ }
74
+ return [d, r];
75
+ }
76
+ function Y(t) {
77
+ return [D(t.readBytes(32), { size: 32 }), 32];
78
+ }
79
+ function Z(t, e, { staticPosition: o }) {
80
+ const [n, s] = e.type.split("bytes");
81
+ if (!s) {
82
+ const r = u(t.readBytes(32));
83
+ t.setPosition(o + r);
84
+ const d = u(t.readBytes(32));
85
+ if (d === 0)
86
+ return t.setPosition(o + 32), ["0x", 32];
87
+ const c = t.readBytes(d);
88
+ return t.setPosition(o + 32), [w(c), 32];
89
+ }
90
+ return [w(t.readBytes(Number.parseInt(s, 10), 32)), 32];
91
+ }
92
+ function v(t, e) {
93
+ const o = e.type.startsWith("int"), n = Number.parseInt(e.type.split("int")[1] || "256", 10), s = t.readBytes(32);
94
+ return [
95
+ n > 48 ? U(s, { signed: o }) : u(s, { signed: o }),
96
+ 32
97
+ ];
98
+ }
99
+ function tt(t, e, o) {
100
+ const { checksumAddress: n, staticPosition: s } = o, i = e.components.length === 0 || e.components.some(({ name: c }) => !c), r = i ? [] : {};
101
+ let d = 0;
102
+ if (g(e)) {
103
+ const c = u(t.readBytes(A)), a = s + c;
104
+ for (let f = 0; f < e.components.length; ++f) {
105
+ const y = e.components[f];
106
+ t.setPosition(a + d);
107
+ const [l, P] = p(t, y, {
108
+ checksumAddress: n,
109
+ staticPosition: a
20
110
  });
111
+ d += P, r[i ? f : y == null ? void 0 : y.name] = l;
112
+ }
113
+ return t.setPosition(s + 32), [r, 32];
114
+ }
115
+ for (let c = 0; c < e.components.length; ++c) {
116
+ const a = e.components[c], [f, y] = p(t, a, {
117
+ checksumAddress: n,
118
+ staticPosition: s
119
+ });
120
+ r[i ? c : a == null ? void 0 : a.name] = f, d += y;
121
+ }
122
+ return [r, d];
123
+ }
124
+ function et(t, { staticPosition: e }) {
125
+ const o = u(t.readBytes(32)), n = e + o;
126
+ t.setPosition(n);
127
+ const s = u(t.readBytes(32));
128
+ if (s === 0)
129
+ return t.setPosition(e + 32), ["", 32];
130
+ const i = t.readBytes(s, 32), r = V(j(i));
131
+ return t.setPosition(e + 32), [r, 32];
132
+ }
133
+ function pt({ checksumAddress: t, parameters: e, values: o }) {
134
+ const n = [];
135
+ for (let s = 0; s < e.length; s++)
136
+ n.push(x({
137
+ checksumAddress: t,
138
+ parameter: e[s],
139
+ value: o[s]
140
+ }));
141
+ return n;
142
+ }
143
+ function x({ checksumAddress: t = !1, parameter: e, value: o }) {
144
+ const n = e, s = I(n.type);
145
+ if (s) {
146
+ const [i, r] = s;
147
+ return st(o, {
148
+ checksumAddress: t,
149
+ length: i,
150
+ parameter: {
151
+ ...n,
152
+ type: r
153
+ }
154
+ });
155
+ }
156
+ if (n.type === "tuple")
157
+ return dt(o, {
158
+ checksumAddress: t,
159
+ parameter: n
160
+ });
161
+ if (n.type === "address")
162
+ return nt(o, {
163
+ checksum: t
164
+ });
165
+ if (n.type === "bool")
166
+ return it(o);
167
+ if (n.type.startsWith("uint") || n.type.startsWith("int")) {
168
+ const i = n.type.startsWith("int"), [, , r = "256"] = K.exec(n.type) ?? [];
169
+ return rt(o, {
170
+ signed: i,
171
+ size: Number(r)
172
+ });
173
+ }
174
+ if (n.type.startsWith("bytes"))
175
+ return ot(o, { type: n.type });
176
+ if (n.type === "string")
177
+ return ct(o);
178
+ throw new C(n.type);
179
+ }
180
+ function W(t) {
181
+ let e = 0;
182
+ for (let i = 0; i < t.length; i++) {
183
+ const { dynamic: r, encoded: d } = t[i];
184
+ r ? e += 32 : e += h(d);
185
+ }
186
+ const o = [], n = [];
187
+ let s = 0;
188
+ for (let i = 0; i < t.length; i++) {
189
+ const { dynamic: r, encoded: d } = t[i];
190
+ r ? (o.push(B(e + s, { size: 32 })), n.push(d), s += h(d)) : o.push(d);
21
191
  }
192
+ return m(...o, ...n);
22
193
  }
23
- function m(r) {
24
- if (o.has(r))
25
- return o.get(r);
26
- u(r, { strict: !1 });
27
- const t = r.substring(2).toLowerCase(), s = f(d(t), { as: "Bytes" }), n = t.split("");
28
- for (let e = 0; e < 40; e += 2)
29
- s[e >> 1] >> 4 >= 8 && n[e] && (n[e] = n[e].toUpperCase()), (s[e >> 1] & 15) >= 8 && n[e + 1] && (n[e + 1] = n[e + 1].toUpperCase());
30
- const a = `0x${n.join("")}`;
31
- return o.set(r, a), a;
32
- }
33
- function k(r, t = {}) {
34
- const { strict: s = !0 } = t ?? {};
35
- try {
36
- return u(r, { strict: s }), !0;
37
- } catch {
38
- return !1;
39
- }
40
- }
41
- class i extends c {
42
- constructor({ address: t, cause: s }) {
43
- super(`Address "${t}" is invalid.`, {
44
- cause: s
45
- }), Object.defineProperty(this, "name", {
46
- enumerable: !0,
47
- configurable: !0,
48
- writable: !0,
49
- value: "Address.InvalidAddressError"
194
+ function nt(t, e) {
195
+ const { checksum: o = !1 } = e;
196
+ return R(t, { strict: o }), {
197
+ dynamic: !1,
198
+ encoded: S(t.toLowerCase())
199
+ };
200
+ }
201
+ function st(t, e) {
202
+ const { checksumAddress: o, length: n, parameter: s } = e, i = n === null;
203
+ if (!Array.isArray(t))
204
+ throw new _(t);
205
+ if (!i && t.length !== n)
206
+ throw new $({
207
+ expectedLength: n,
208
+ givenLength: t.length,
209
+ type: `${s.type}[${n}]`
210
+ });
211
+ let r = !1;
212
+ const d = [];
213
+ for (let c = 0; c < t.length; c++) {
214
+ const a = x({
215
+ checksumAddress: o,
216
+ parameter: s,
217
+ value: t[c]
50
218
  });
219
+ a.dynamic && (r = !0), d.push(a);
220
+ }
221
+ if (i || r) {
222
+ const c = W(d);
223
+ if (i) {
224
+ const a = B(d.length, { size: 32 });
225
+ return {
226
+ dynamic: !0,
227
+ encoded: d.length > 0 ? m(a, c) : a
228
+ };
229
+ }
230
+ if (r)
231
+ return { dynamic: !0, encoded: c };
51
232
  }
233
+ return {
234
+ dynamic: !1,
235
+ encoded: m(...d.map(({ encoded: c }) => c))
236
+ };
52
237
  }
53
- class h extends c {
54
- constructor() {
55
- super("Address is not a 20 byte (40 hexadecimal character) value."), Object.defineProperty(this, "name", {
56
- enumerable: !0,
57
- configurable: !0,
58
- writable: !0,
59
- value: "Address.InvalidInputError"
238
+ function ot(t, { type: e }) {
239
+ const [, o] = e.split("bytes"), n = h(t);
240
+ if (!o) {
241
+ let s = t;
242
+ return n % 32 !== 0 && (s = b(s, Math.ceil((t.length - 2) / 2 / 32) * 32)), {
243
+ dynamic: !0,
244
+ encoded: m(S(B(n, { size: 32 })), s)
245
+ };
246
+ }
247
+ if (n !== Number.parseInt(o, 10))
248
+ throw new O({
249
+ expectedSize: Number.parseInt(o, 10),
250
+ value: t
60
251
  });
252
+ return { dynamic: !1, encoded: b(t) };
253
+ }
254
+ function it(t) {
255
+ if (typeof t != "boolean")
256
+ throw new q(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);
257
+ return { dynamic: !1, encoded: S(F(t)) };
258
+ }
259
+ function rt(t, { signed: e, size: o }) {
260
+ if (typeof o == "number") {
261
+ const n = 2n ** (BigInt(o) - (e ? 1n : 0n)) - 1n, s = e ? -n - 1n : 0n;
262
+ if (t > n || t < s)
263
+ throw new G({
264
+ max: n.toString(),
265
+ min: s.toString(),
266
+ signed: e,
267
+ size: o / 8,
268
+ value: t.toString()
269
+ });
61
270
  }
271
+ return {
272
+ dynamic: !1,
273
+ encoded: B(t, {
274
+ size: 32,
275
+ signed: e
276
+ })
277
+ };
278
+ }
279
+ function ct(t) {
280
+ const e = H(t), o = Math.ceil(h(e) / 32), n = [];
281
+ for (let s = 0; s < o; s++)
282
+ n.push(b(J(e, s * 32, (s + 1) * 32)));
283
+ return {
284
+ dynamic: !0,
285
+ encoded: m(b(B(h(e), { size: 32 })), ...n)
286
+ };
62
287
  }
63
- class p extends c {
64
- constructor() {
65
- super("Address does not match its checksum counterpart."), Object.defineProperty(this, "name", {
66
- enumerable: !0,
67
- configurable: !0,
68
- writable: !0,
69
- value: "Address.InvalidChecksumError"
288
+ function dt(t, e) {
289
+ const { checksumAddress: o, parameter: n } = e;
290
+ let s = !1;
291
+ const i = [];
292
+ for (let r = 0; r < n.components.length; r++) {
293
+ const d = n.components[r], c = Array.isArray(t) ? r : d.name, a = x({
294
+ checksumAddress: o,
295
+ parameter: d,
296
+ value: t[c]
70
297
  });
298
+ i.push(a), a.dynamic && (s = !0);
71
299
  }
300
+ return {
301
+ dynamic: s,
302
+ encoded: s ? W(i) : m(...i.map(({ encoded: r }) => r))
303
+ };
304
+ }
305
+ function I(t) {
306
+ const e = t.match(/^(.*)\[(\d+)?\]$/);
307
+ return e ? (
308
+ // Return `null` if the array is dynamic.
309
+ [e[2] ? Number(e[2]) : null, e[1]]
310
+ ) : void 0;
311
+ }
312
+ function g(t) {
313
+ var n;
314
+ const { type: e } = t;
315
+ if (e === "string" || e === "bytes" || e.endsWith("[]"))
316
+ return !0;
317
+ if (e === "tuple")
318
+ return (n = t.components) == null ? void 0 : n.some(g);
319
+ const o = I(t.type);
320
+ return !!(o && g({
321
+ ...t,
322
+ type: o[1]
323
+ }));
72
324
  }
73
325
  export {
74
- i as InvalidAddressError,
75
- p as InvalidChecksumError,
76
- h as InvalidInputError,
77
- u as assert,
78
- m as checksum,
79
- k as validate
326
+ Q as decodeAddress,
327
+ X as decodeArray,
328
+ Y as decodeBool,
329
+ Z as decodeBytes,
330
+ v as decodeNumber,
331
+ p as decodeParameter,
332
+ et as decodeString,
333
+ tt as decodeTuple,
334
+ W as encode,
335
+ nt as encodeAddress,
336
+ st as encodeArray,
337
+ it as encodeBoolean,
338
+ ot as encodeBytes,
339
+ rt as encodeNumber,
340
+ ct as encodeString,
341
+ dt as encodeTuple,
342
+ I as getArrayComponents,
343
+ g as hasDynamicChild,
344
+ x as prepareParameter,
345
+ pt as prepareParameters
80
346
  };
package/dist/index352.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("./index350.cjs"),x=require("./index351.cjs"),y=require("./index348.cjs"),U=require("./index278.cjs"),c=require("./index277.cjs"),V=require("./index282.cjs");function l(e,t,s){const{checksumAddress:n,staticPosition:o}=s,r=P(t.type);if(r){const[i,a]=r;return I(e,{...t,type:a},{checksumAddress:n,length:i,staticPosition:o})}if(t.type==="tuple")return k(e,t,{checksumAddress:n,staticPosition:o});if(t.type==="address")return C(e,{checksum:n});if(t.type==="bool")return L(e);if(t.type.startsWith("bytes"))return E(e,t,{staticPosition:o});if(t.type.startsWith("uint")||t.type.startsWith("int"))return W(e,t);if(t.type==="string")return O(e,{staticPosition:o});throw new g.InvalidTypeError(t.type)}const S=32,z=32;function C(e,t={}){const{checksum:s=!1}=t,n=e.readBytes(32);return[(r=>s?x.checksum(r):r)(c.fromBytes(y.slice(n,-20))),32]}function I(e,t,s){const{checksumAddress:n,length:o,staticPosition:r}=s;if(!o){const d=y.toNumber(e.readBytes(z)),f=r+d,u=f+S;e.setPosition(f);const m=y.toNumber(e.readBytes(S)),h=p(t);let b=0;const w=[];for(let N=0;N<m;++N){e.setPosition(u+(h?N*32:b));const[j,H]=l(e,t,{checksumAddress:n,staticPosition:u});b+=H,w.push(j)}return e.setPosition(r+32),[w,32]}if(p(t)){const d=y.toNumber(e.readBytes(z)),f=r+d,u=[];for(let m=0;m<o;++m){e.setPosition(f+m*32);const[h]=l(e,t,{checksumAddress:n,staticPosition:f});u.push(h)}return e.setPosition(r+32),[u,32]}let i=0;const a=[];for(let d=0;d<o;++d){const[f,u]=l(e,t,{checksumAddress:n,staticPosition:r+i});i+=u,a.push(f)}return[a,i]}function L(e){return[y.toBoolean(e.readBytes(32),{size:32}),32]}function E(e,t,{staticPosition:s}){const[n,o]=t.type.split("bytes");if(!o){const i=y.toNumber(e.readBytes(32));e.setPosition(s+i);const a=y.toNumber(e.readBytes(32));if(a===0)return e.setPosition(s+32),["0x",32];const d=e.readBytes(a);return e.setPosition(s+32),[c.fromBytes(d),32]}return[c.fromBytes(e.readBytes(Number.parseInt(o,10),32)),32]}function W(e,t){const s=t.type.startsWith("int"),n=Number.parseInt(t.type.split("int")[1]||"256",10),o=e.readBytes(32);return[n>48?y.toBigInt(o,{signed:s}):y.toNumber(o,{signed:s}),32]}function k(e,t,s){const{checksumAddress:n,staticPosition:o}=s,r=t.components.length===0||t.components.some(({name:d})=>!d),i=r?[]:{};let a=0;if(p(t)){const d=y.toNumber(e.readBytes(z)),f=o+d;for(let u=0;u<t.components.length;++u){const m=t.components[u];e.setPosition(f+a);const[h,b]=l(e,m,{checksumAddress:n,staticPosition:f});a+=b,i[r?u:m==null?void 0:m.name]=h}return e.setPosition(o+32),[i,32]}for(let d=0;d<t.components.length;++d){const f=t.components[d],[u,m]=l(e,f,{checksumAddress:n,staticPosition:o});i[r?d:f==null?void 0:f.name]=u,a+=m}return[i,a]}function O(e,{staticPosition:t}){const s=y.toNumber(e.readBytes(32)),n=t+s;e.setPosition(n);const o=y.toNumber(e.readBytes(32));if(o===0)return e.setPosition(t+32),["",32];const r=e.readBytes(o,32),i=y.toString(y.trimLeft(r));return e.setPosition(t+32),[i,32]}function F({checksumAddress:e,parameters:t,values:s}){const n=[];for(let o=0;o<t.length;o++)n.push(B({checksumAddress:e,parameter:t[o],value:s[o]}));return n}function B({checksumAddress:e=!1,parameter:t,value:s}){const n=t,o=P(n.type);if(o){const[r,i]=o;return _(s,{checksumAddress:e,length:r,parameter:{...n,type:i}})}if(n.type==="tuple")return D(s,{checksumAddress:e,parameter:n});if(n.type==="address")return T(s,{checksum:e});if(n.type==="bool")return R(s);if(n.type.startsWith("uint")||n.type.startsWith("int")){const r=n.type.startsWith("int"),[,,i="256"]=V.integerRegex.exec(n.type)??[];return M(s,{signed:r,size:Number(i)})}if(n.type.startsWith("bytes"))return q(s,{type:n.type});if(n.type==="string")return $(s);throw new g.InvalidTypeError(n.type)}function A(e){let t=0;for(let r=0;r<e.length;r++){const{dynamic:i,encoded:a}=e[r];i?t+=32:t+=c.size(a)}const s=[],n=[];let o=0;for(let r=0;r<e.length;r++){const{dynamic:i,encoded:a}=e[r];i?(s.push(c.fromNumber(t+o,{size:32})),n.push(a),o+=c.size(a)):s.push(a)}return c.concat(...s,...n)}function T(e,t){const{checksum:s=!1}=t;return x.assert(e,{strict:s}),{dynamic:!1,encoded:c.padLeft(e.toLowerCase())}}function _(e,t){const{checksumAddress:s,length:n,parameter:o}=t,r=n===null;if(!Array.isArray(e))throw new g.InvalidArrayError(e);if(!r&&e.length!==n)throw new g.ArrayLengthMismatchError({expectedLength:n,givenLength:e.length,type:`${o.type}[${n}]`});let i=!1;const a=[];for(let d=0;d<e.length;d++){const f=B({checksumAddress:s,parameter:o,value:e[d]});f.dynamic&&(i=!0),a.push(f)}if(r||i){const d=A(a);if(r){const f=c.fromNumber(a.length,{size:32});return{dynamic:!0,encoded:a.length>0?c.concat(f,d):f}}if(i)return{dynamic:!0,encoded:d}}return{dynamic:!1,encoded:c.concat(...a.map(({encoded:d})=>d))}}function q(e,{type:t}){const[,s]=t.split("bytes"),n=c.size(e);if(!s){let o=e;return n%32!==0&&(o=c.padRight(o,Math.ceil((e.length-2)/2/32)*32)),{dynamic:!0,encoded:c.concat(c.padLeft(c.fromNumber(n,{size:32})),o)}}if(n!==Number.parseInt(s,10))throw new g.BytesSizeMismatchError({expectedSize:Number.parseInt(s,10),value:e});return{dynamic:!1,encoded:c.padRight(e)}}function R(e){if(typeof e!="boolean")throw new U.BaseError(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:c.padLeft(c.fromBoolean(e))}}function M(e,{signed:t,size:s}){if(typeof s=="number"){const n=2n**(BigInt(s)-(t?1n:0n))-1n,o=t?-n-1n:0n;if(e>n||e<o)throw new c.IntegerOutOfRangeError({max:n.toString(),min:o.toString(),signed:t,size:s/8,value:e.toString()})}return{dynamic:!1,encoded:c.fromNumber(e,{size:32,signed:t})}}function $(e){const t=c.fromString(e),s=Math.ceil(c.size(t)/32),n=[];for(let o=0;o<s;o++)n.push(c.padRight(c.slice(t,o*32,(o+1)*32)));return{dynamic:!0,encoded:c.concat(c.padRight(c.fromNumber(c.size(t),{size:32})),...n)}}function D(e,t){const{checksumAddress:s,parameter:n}=t;let o=!1;const r=[];for(let i=0;i<n.components.length;i++){const a=n.components[i],d=Array.isArray(e)?i:a.name,f=B({checksumAddress:s,parameter:a,value:e[d]});r.push(f),f.dynamic&&(o=!0)}return{dynamic:o,encoded:o?A(r):c.concat(...r.map(({encoded:i})=>i))}}function P(e){const t=e.match(/^(.*)\[(\d+)?\]$/);return t?[t[2]?Number(t[2]):null,t[1]]:void 0}function p(e){var n;const{type:t}=e;if(t==="string"||t==="bytes"||t.endsWith("[]"))return!0;if(t==="tuple")return(n=e.components)==null?void 0:n.some(p);const s=P(e.type);return!!(s&&p({...e,type:s[1]}))}exports.decodeAddress=C;exports.decodeArray=I;exports.decodeBool=L;exports.decodeBytes=E;exports.decodeNumber=W;exports.decodeParameter=l;exports.decodeString=O;exports.decodeTuple=k;exports.encode=A;exports.encodeAddress=T;exports.encodeArray=_;exports.encodeBoolean=R;exports.encodeBytes=q;exports.encodeNumber=M;exports.encodeString=$;exports.encodeTuple=D;exports.getArrayComponents=P;exports.hasDynamicChild=p;exports.prepareParameter=B;exports.prepareParameters=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./index273.cjs"),h={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 r({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new n({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new e({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 e({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 a(t,{recursiveReadLimit:i=8192}={}){const s=Object.create(h);return s.bytes=t,s.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),s.positionReadCount=new Map,s.recursiveReadLimit=i,s}class e extends o.BaseError{constructor({offset:i}){super(`Offset \`${i}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"})}}class n extends o.BaseError{constructor({length:i,position:s}){super(`Position \`${s}\` is out of bounds (\`0 < position < ${i}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"})}}class r extends o.BaseError{constructor({count:i,limit:s}){super(`Recursive read limit of \`${s}\` exceeded (recursive read count: \`${i}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"})}}exports.NegativeOffsetError=e;exports.PositionOutOfBoundsError=n;exports.RecursiveReadLimitExceededError=r;exports.create=a;