@coinbase/cdp-hooks 0.0.75 → 0.0.76

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 (125) hide show
  1. package/README.md +199 -5
  2. package/dist/esm/index177.js +3 -3
  3. package/dist/esm/index206.js +2 -2
  4. package/dist/esm/index209.js +2 -2
  5. package/dist/esm/index210.js +1 -1
  6. package/dist/esm/index214.js +3 -3
  7. package/dist/esm/index215.js +40 -38
  8. package/dist/esm/index216.js +2 -2
  9. package/dist/esm/index217.js +4 -69
  10. package/dist/esm/index218.js +10 -34
  11. package/dist/esm/index219.js +18 -13
  12. package/dist/esm/index220.js +8 -2
  13. package/dist/esm/index221.js +10 -39
  14. package/dist/esm/index222.js +67 -2
  15. package/dist/esm/index223.js +65 -4
  16. package/dist/esm/index224.js +184 -9
  17. package/dist/esm/index225.js +20 -17
  18. package/dist/esm/index226.js +42 -7
  19. package/dist/esm/index227.js +75 -10
  20. package/dist/esm/index228.js +40 -66
  21. package/dist/esm/index229.js +15 -64
  22. package/dist/esm/index230.js +12 -184
  23. package/dist/esm/index231.js +7 -22
  24. package/dist/esm/index232.js +6 -42
  25. package/dist/esm/index233.js +36 -76
  26. package/dist/esm/index234.js +15 -40
  27. package/dist/esm/index235.js +8 -16
  28. package/dist/esm/index236.js +12 -13
  29. package/dist/esm/index237.js +9 -7
  30. package/dist/esm/index238.js +16 -6
  31. package/dist/esm/index239.js +22 -36
  32. package/dist/esm/index240.js +30 -15
  33. package/dist/esm/index241.js +2 -9
  34. package/dist/esm/index242.js +13 -12
  35. package/dist/esm/index243.js +12 -9
  36. package/dist/esm/index244.js +46 -15
  37. package/dist/esm/index245.js +8 -21
  38. package/dist/esm/index246.js +13 -30
  39. package/dist/esm/index247.js +15 -2
  40. package/dist/esm/index248.js +8 -13
  41. package/dist/esm/index249.js +15 -12
  42. package/dist/esm/index250.js +24 -47
  43. package/dist/esm/index251.js +11 -9
  44. package/dist/esm/index252.js +24 -13
  45. package/dist/esm/index253.js +50 -13
  46. package/dist/esm/index254.js +15 -6
  47. package/dist/esm/index255.js +14 -15
  48. package/dist/esm/index256.js +11 -24
  49. package/dist/esm/index257.js +103 -11
  50. package/dist/esm/index258.js +5 -24
  51. package/dist/esm/index259.js +222 -50
  52. package/dist/esm/index260.js +6 -17
  53. package/dist/esm/index261.js +7 -15
  54. package/dist/esm/index262.js +26 -11
  55. package/dist/esm/index263.js +18 -102
  56. package/dist/esm/index264.js +145 -5
  57. package/dist/esm/index265.js +12 -223
  58. package/dist/esm/index266.js +36 -7
  59. package/dist/esm/index267.js +41 -6
  60. package/dist/esm/index268.js +37 -25
  61. package/dist/esm/index269.js +2 -20
  62. package/dist/esm/index270.js +69 -145
  63. package/dist/esm/index271.js +35 -13
  64. package/dist/esm/index272.js +15 -36
  65. package/dist/esm/index273.js +2 -42
  66. package/dist/esm/index277.js +3 -3
  67. package/dist/esm/index280.js +5 -5
  68. package/dist/esm/index281.js +4 -4
  69. package/dist/esm/index282.js +1 -1
  70. package/dist/esm/index284.js +2 -2
  71. package/dist/esm/index285.js +2 -2
  72. package/dist/esm/index286.js +1 -1
  73. package/dist/esm/index287.js +1 -1
  74. package/dist/esm/index288.js +65 -3
  75. package/dist/esm/index289.js +4 -65
  76. package/dist/esm/index290.js +40 -4
  77. package/dist/esm/index291.js +7 -40
  78. package/dist/esm/index292.js +62 -7
  79. package/dist/esm/index293.js +72 -57
  80. package/dist/esm/index294.js +4 -78
  81. package/dist/esm/index295.js +195 -4
  82. package/dist/esm/index296.js +3 -194
  83. package/dist/esm/index297.js +2 -2
  84. package/dist/esm/index3.js +1 -1
  85. package/dist/esm/index33.js +2 -2
  86. package/dist/esm/index40.js +1 -1
  87. package/dist/esm/index41.js +1 -1
  88. package/dist/esm/index44.js +3 -3
  89. package/dist/esm/index45.js +2 -2
  90. package/dist/esm/index46.js +3 -3
  91. package/dist/esm/index47.js +2 -2
  92. package/dist/esm/index48.js +3 -3
  93. package/dist/esm/index49.js +6 -6
  94. package/dist/esm/index50.js +2 -2
  95. package/dist/esm/index51.js +1 -1
  96. package/dist/esm/index52.js +1 -1
  97. package/dist/esm/index53.js +1 -1
  98. package/dist/esm/index54.js +1 -1
  99. package/dist/esm/index55.js +1 -1
  100. package/dist/esm/index56.js +1 -1
  101. package/dist/esm/index57.js +4 -4
  102. package/dist/esm/index58.js +1 -1
  103. package/dist/esm/index66.js +1 -1
  104. package/dist/esm/index67.js +2 -2
  105. package/dist/esm/index68.js +1 -1
  106. package/dist/esm/index73.js +1 -1
  107. package/dist/esm/index76.js +1 -1
  108. package/dist/esm/index79.js +1 -1
  109. package/dist/esm/index80.js +1 -1
  110. package/dist/esm/index81.js +3 -3
  111. package/dist/esm/index82.js +2 -2
  112. package/dist/esm/index83.js +1 -1
  113. package/dist/esm/index85.js +1 -1
  114. package/dist/esm/index86.js +1 -1
  115. package/dist/esm/index87.js +3 -3
  116. package/dist/esm/index88.js +3 -3
  117. package/dist/esm/index89.js +3 -3
  118. package/dist/esm/index90.js +3 -3
  119. package/dist/esm/index91.js +3 -3
  120. package/dist/esm/index92.js +3 -3
  121. package/dist/esm/index93.js +3 -3
  122. package/dist/esm/index94.js +1 -1
  123. package/dist/esm/index96.js +1 -1
  124. package/dist/types/index.d.ts +2 -1
  125. package/package.json +3 -3
@@ -1,7 +1,43 @@
1
- const r = "#__bigint";
2
- function g(i, f, n) {
3
- return JSON.stringify(i, (e, t) => typeof t == "bigint" ? t.toString() + r : t, n);
1
+ import { SizeExceedsPaddingSizeError as s, size as i, SliceOffsetOutOfBoundsError as f, SizeOverflowError as p } from "./index277.js";
2
+ function c(t, e) {
3
+ if (i(t) > e)
4
+ throw new p({
5
+ givenSize: i(t),
6
+ maxSize: e
7
+ });
8
+ }
9
+ function S(t, e) {
10
+ if (typeof e == "number" && e > 0 && e > i(t) - 1)
11
+ throw new f({
12
+ offset: e,
13
+ position: "start",
14
+ size: i(t)
15
+ });
16
+ }
17
+ function d(t, e, r) {
18
+ if (typeof e == "number" && typeof r == "number" && i(t) !== r - e)
19
+ throw new f({
20
+ offset: r,
21
+ position: "end",
22
+ size: i(t)
23
+ });
24
+ }
25
+ function u(t, e = {}) {
26
+ const { dir: r, size: n = 32 } = e;
27
+ if (n === 0)
28
+ return t;
29
+ const o = t.replace("0x", "");
30
+ if (o.length > n * 2)
31
+ throw new s({
32
+ size: Math.ceil(o.length / 2),
33
+ targetSize: n,
34
+ type: "Hex"
35
+ });
36
+ return `0x${o[r === "right" ? "padEnd" : "padStart"](n * 2, "0")}`;
4
37
  }
5
38
  export {
6
- g as stringify
39
+ d as assertEndOffset,
40
+ c as assertSize,
41
+ S as assertStartOffset,
42
+ u as pad
7
43
  };
@@ -1,43 +1,10 @@
1
- import { SizeExceedsPaddingSizeError as s, size as i, SliceOffsetOutOfBoundsError as f, SizeOverflowError as p } from "./index277.js";
2
- function c(t, e) {
3
- if (i(t) > e)
4
- throw new p({
5
- givenSize: i(t),
6
- maxSize: e
7
- });
8
- }
9
- function S(t, e) {
10
- if (typeof e == "number" && e > 0 && e > i(t) - 1)
11
- throw new f({
12
- offset: e,
13
- position: "start",
14
- size: i(t)
15
- });
16
- }
17
- function d(t, e, r) {
18
- if (typeof e == "number" && typeof r == "number" && i(t) !== r - e)
19
- throw new f({
20
- offset: r,
21
- position: "end",
22
- size: i(t)
23
- });
24
- }
25
- function u(t, e = {}) {
26
- const { dir: r, size: n = 32 } = e;
27
- if (n === 0)
28
- return t;
29
- const o = t.replace("0x", "");
30
- if (o.length > n * 2)
31
- throw new s({
32
- size: Math.ceil(o.length / 2),
33
- targetSize: n,
34
- type: "Hex"
35
- });
36
- return `0x${o[r === "right" ? "padEnd" : "padStart"](n * 2, "0")}`;
1
+ import { keccak_256 as f } from "./index209.js";
2
+ import { from as m } from "./index297.js";
3
+ import { fromBytes as s } from "./index277.js";
4
+ function p(t, o = {}) {
5
+ const { as: e = typeof t == "string" ? "Hex" : "Bytes" } = o, r = f(m(t));
6
+ return e === "Bytes" ? r : s(r);
37
7
  }
38
8
  export {
39
- d as assertEndOffset,
40
- c as assertSize,
41
- S as assertStartOffset,
42
- u as pad
9
+ p as keccak256
43
10
  };
@@ -1,10 +1,65 @@
1
- import { keccak_256 as f } from "./index209.js";
2
- import { from as m } from "./index297.js";
3
- import { fromBytes as s } from "./index277.js";
4
- function p(t, o = {}) {
5
- const { as: e = typeof t == "string" ? "Hex" : "Bytes" } = o, r = f(m(t));
6
- return e === "Bytes" ? r : s(r);
1
+ import { validate as c } from "./index293.js";
2
+ import { BaseError as f } from "./index288.js";
3
+ function y(r) {
4
+ let i = !0, t = "", e = 0, n = "", o = !1;
5
+ for (let s = 0; s < r.length; s++) {
6
+ const u = r[s];
7
+ if (["(", ")", ","].includes(u) && (i = !0), u === "(" && e++, u === ")" && e--, !!i) {
8
+ if (e === 0) {
9
+ if (u === " " && ["event", "function", "error", ""].includes(n))
10
+ n = "";
11
+ else if (n += u, u === ")") {
12
+ o = !0;
13
+ break;
14
+ }
15
+ continue;
16
+ }
17
+ if (u === " ") {
18
+ r[s - 1] !== "," && t !== "," && t !== ",(" && (t = "", i = !1);
19
+ continue;
20
+ }
21
+ n += u, t += u;
22
+ }
23
+ }
24
+ if (!o)
25
+ throw new f("Unable to normalize signature.");
26
+ return n;
27
+ }
28
+ function l(r, i) {
29
+ const t = typeof r, e = i.type;
30
+ switch (e) {
31
+ case "address":
32
+ return c(r, { strict: !1 });
33
+ case "bool":
34
+ return t === "boolean";
35
+ case "function":
36
+ return t === "string";
37
+ case "string":
38
+ return t === "string";
39
+ default:
40
+ return e === "tuple" && "components" in i ? Object.values(i.components).every((n, o) => l(Object.values(r)[o], n)) : /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(e) ? t === "number" || t === "bigint" : /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(e) ? t === "string" || r instanceof Uint8Array : /[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(e) ? Array.isArray(r) && r.every((n) => l(n, {
41
+ ...i,
42
+ // Pop off `[]` or `[M]` from end of type
43
+ type: e.replace(/(\[[0-9]{0,}\])$/, "")
44
+ })) : !1;
45
+ }
46
+ }
47
+ function a(r, i, t) {
48
+ for (const e in r) {
49
+ const n = r[e], o = i[e];
50
+ if (n.type === "tuple" && o.type === "tuple" && "components" in n && "components" in o)
51
+ return a(n.components, o.components, t[e]);
52
+ const s = [n.type, o.type];
53
+ if (s.includes("address") && s.includes("bytes20") ? !0 : s.includes("address") && s.includes("string") ? c(t[e], {
54
+ strict: !1
55
+ }) : s.includes("address") && s.includes("bytes") ? c(t[e], {
56
+ strict: !1
57
+ }) : !1)
58
+ return s;
59
+ }
7
60
  }
8
61
  export {
9
- p as keccak256
62
+ a as getAmbiguousTypes,
63
+ l as isArgOfType,
64
+ y as normalizeSignature
10
65
  };
@@ -1,65 +1,80 @@
1
- import { validate as c } from "./index294.js";
2
- import { BaseError as f } from "./index289.js";
3
- function y(r) {
4
- let i = !0, t = "", e = 0, n = "", o = !1;
5
- for (let s = 0; s < r.length; s++) {
6
- const u = r[s];
7
- if (["(", ")", ","].includes(u) && (i = !0), u === "(" && e++, u === ")" && e--, !!i) {
8
- if (e === 0) {
9
- if (u === " " && ["event", "function", "error", ""].includes(n))
10
- n = "";
11
- else if (n += u, u === ")") {
12
- o = !0;
13
- break;
14
- }
15
- continue;
16
- }
17
- if (u === " ") {
18
- r[s - 1] !== "," && t !== "," && t !== ",(" && (t = "", i = !1);
19
- continue;
20
- }
21
- n += u, t += u;
22
- }
1
+ import { fromString as d } from "./index297.js";
2
+ import { checksum as o } from "./index300.js";
3
+ import { BaseError as c } from "./index288.js";
4
+ import { keccak256 as f } from "./index291.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()
12
+ });
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()
20
+ });
23
21
  }
24
- if (!o)
25
- throw new f("Unable to normalize signature.");
26
- return n;
27
22
  }
28
- function l(r, i) {
29
- const t = typeof r, e = i.type;
30
- switch (e) {
31
- case "address":
32
- return c(r, { strict: !1 });
33
- case "bool":
34
- return t === "boolean";
35
- case "function":
36
- return t === "string";
37
- case "string":
38
- return t === "string";
39
- default:
40
- return e === "tuple" && "components" in i ? Object.values(i.components).every((n, o) => l(Object.values(r)[o], n)) : /^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(e) ? t === "number" || t === "bigint" : /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(e) ? t === "string" || r instanceof Uint8Array : /[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(e) ? Array.isArray(r) && r.every((n) => l(n, {
41
- ...i,
42
- // Pop off `[]` or `[M]` from end of type
43
- type: e.replace(/(\[[0-9]{0,}\])$/, "")
44
- })) : !1;
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"
50
+ });
51
+ }
52
+ }
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"
60
+ });
45
61
  }
46
62
  }
47
- function a(r, i, t) {
48
- for (const e in r) {
49
- const n = r[e], o = i[e];
50
- if (n.type === "tuple" && o.type === "tuple" && "components" in n && "components" in o)
51
- return a(n.components, o.components, t[e]);
52
- const s = [n.type, o.type];
53
- if (s.includes("address") && s.includes("bytes20") ? !0 : s.includes("address") && s.includes("string") ? c(t[e], {
54
- strict: !1
55
- }) : s.includes("address") && s.includes("bytes") ? c(t[e], {
56
- strict: !1
57
- }) : !1)
58
- return s;
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"
70
+ });
59
71
  }
60
72
  }
61
73
  export {
62
- a as getAmbiguousTypes,
63
- l as isArgOfType,
64
- y as normalizeSignature
74
+ i as InvalidAddressError,
75
+ p as InvalidChecksumError,
76
+ h as InvalidInputError,
77
+ u as assert,
78
+ m as checksum,
79
+ k as validate
65
80
  };
@@ -1,80 +1,6 @@
1
- import { fromString as d } from "./index297.js";
2
- import { checksum as o } from "./index300.js";
3
- import { BaseError as c } from "./index289.js";
4
- import { keccak256 as f } from "./index292.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()
12
- });
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()
20
- });
21
- }
22
- }
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"
50
- });
51
- }
52
- }
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"
60
- });
61
- }
62
- }
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"
70
- });
71
- }
72
- }
1
+ const e = /^(.*)\[([0-9]*)\]$/, t = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/, n = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;
73
2
  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
3
+ e as arrayRegex,
4
+ t as bytesRegex,
5
+ n as integerRegex
80
6
  };
@@ -1,6 +1,197 @@
1
- const e = /^(.*)\[([0-9]*)\]$/, t = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/, n = /^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;
1
+ import { InvalidTypeError as g, InvalidArrayError as b, ArrayLengthMismatchError as w, BytesSizeMismatchError as z } from "./index281.js";
2
+ import { assert as x } from "./index293.js";
3
+ import { BaseError as S } from "./index288.js";
4
+ import { size as d, fromNumber as f, concat as p, padLeft as h, fromBoolean as A, IntegerOutOfRangeError as E, padRight as y, fromString as I, slice as B } from "./index277.js";
5
+ import { integerRegex as L } from "./index294.js";
6
+ function q({ checksumAddress: e, parameters: n, values: r }) {
7
+ const t = [];
8
+ for (let o = 0; o < n.length; o++)
9
+ t.push(u({
10
+ checksumAddress: e,
11
+ parameter: n[o],
12
+ value: r[o]
13
+ }));
14
+ return t;
15
+ }
16
+ function u({ checksumAddress: e = !1, parameter: n, value: r }) {
17
+ const t = n, o = k(t.type);
18
+ if (o) {
19
+ const [i, c] = o;
20
+ return P(r, {
21
+ checksumAddress: e,
22
+ length: i,
23
+ parameter: {
24
+ ...t,
25
+ type: c
26
+ }
27
+ });
28
+ }
29
+ if (t.type === "tuple")
30
+ return R(r, {
31
+ checksumAddress: e,
32
+ parameter: t
33
+ });
34
+ if (t.type === "address")
35
+ return N(r, {
36
+ checksum: e
37
+ });
38
+ if (t.type === "bool")
39
+ return C(r);
40
+ if (t.type.startsWith("uint") || t.type.startsWith("int")) {
41
+ const i = t.type.startsWith("int"), [, , c = "256"] = L.exec(t.type) ?? [];
42
+ return M(r, {
43
+ signed: i,
44
+ size: Number(c)
45
+ });
46
+ }
47
+ if (t.type.startsWith("bytes"))
48
+ return $(r, { type: t.type });
49
+ if (t.type === "string")
50
+ return W(r);
51
+ throw new g(t.type);
52
+ }
53
+ function l(e) {
54
+ let n = 0;
55
+ for (let i = 0; i < e.length; i++) {
56
+ const { dynamic: c, encoded: s } = e[i];
57
+ c ? n += 32 : n += d(s);
58
+ }
59
+ const r = [], t = [];
60
+ let o = 0;
61
+ for (let i = 0; i < e.length; i++) {
62
+ const { dynamic: c, encoded: s } = e[i];
63
+ c ? (r.push(f(n + o, { size: 32 })), t.push(s), o += d(s)) : r.push(s);
64
+ }
65
+ return p(...r, ...t);
66
+ }
67
+ function N(e, n) {
68
+ const { checksum: r = !1 } = n;
69
+ return x(e, { strict: r }), {
70
+ dynamic: !1,
71
+ encoded: h(e.toLowerCase())
72
+ };
73
+ }
74
+ function P(e, n) {
75
+ const { checksumAddress: r, length: t, parameter: o } = n, i = t === null;
76
+ if (!Array.isArray(e))
77
+ throw new b(e);
78
+ if (!i && e.length !== t)
79
+ throw new w({
80
+ expectedLength: t,
81
+ givenLength: e.length,
82
+ type: `${o.type}[${t}]`
83
+ });
84
+ let c = !1;
85
+ const s = [];
86
+ for (let a = 0; a < e.length; a++) {
87
+ const m = u({
88
+ checksumAddress: r,
89
+ parameter: o,
90
+ value: e[a]
91
+ });
92
+ m.dynamic && (c = !0), s.push(m);
93
+ }
94
+ if (i || c) {
95
+ const a = l(s);
96
+ if (i) {
97
+ const m = f(s.length, { size: 32 });
98
+ return {
99
+ dynamic: !0,
100
+ encoded: s.length > 0 ? p(m, a) : m
101
+ };
102
+ }
103
+ if (c)
104
+ return { dynamic: !0, encoded: a };
105
+ }
106
+ return {
107
+ dynamic: !1,
108
+ encoded: p(...s.map(({ encoded: a }) => a))
109
+ };
110
+ }
111
+ function $(e, { type: n }) {
112
+ const [, r] = n.split("bytes"), t = d(e);
113
+ if (!r) {
114
+ let o = e;
115
+ return t % 32 !== 0 && (o = y(o, Math.ceil((e.length - 2) / 2 / 32) * 32)), {
116
+ dynamic: !0,
117
+ encoded: p(h(f(t, { size: 32 })), o)
118
+ };
119
+ }
120
+ if (t !== Number.parseInt(r))
121
+ throw new z({
122
+ expectedSize: Number.parseInt(r),
123
+ value: e
124
+ });
125
+ return { dynamic: !1, encoded: y(e) };
126
+ }
127
+ function C(e) {
128
+ if (typeof e != "boolean")
129
+ throw new S(`Invalid boolean value: "${e}" (type: ${typeof e}). Expected: \`true\` or \`false\`.`);
130
+ return { dynamic: !1, encoded: h(A(e)) };
131
+ }
132
+ function M(e, { signed: n, size: r }) {
133
+ if (typeof r == "number") {
134
+ const t = 2n ** (BigInt(r) - (n ? 1n : 0n)) - 1n, o = n ? -t - 1n : 0n;
135
+ if (e > t || e < o)
136
+ throw new E({
137
+ max: t.toString(),
138
+ min: o.toString(),
139
+ signed: n,
140
+ size: r / 8,
141
+ value: e.toString()
142
+ });
143
+ }
144
+ return {
145
+ dynamic: !1,
146
+ encoded: f(e, {
147
+ size: 32,
148
+ signed: n
149
+ })
150
+ };
151
+ }
152
+ function W(e) {
153
+ const n = I(e), r = Math.ceil(d(n) / 32), t = [];
154
+ for (let o = 0; o < r; o++)
155
+ t.push(y(B(n, o * 32, (o + 1) * 32)));
156
+ return {
157
+ dynamic: !0,
158
+ encoded: p(y(f(d(n), { size: 32 })), ...t)
159
+ };
160
+ }
161
+ function R(e, n) {
162
+ const { checksumAddress: r, parameter: t } = n;
163
+ let o = !1;
164
+ const i = [];
165
+ for (let c = 0; c < t.components.length; c++) {
166
+ const s = t.components[c], a = Array.isArray(e) ? c : s.name, m = u({
167
+ checksumAddress: r,
168
+ parameter: s,
169
+ value: e[a]
170
+ });
171
+ i.push(m), m.dynamic && (o = !0);
172
+ }
173
+ return {
174
+ dynamic: o,
175
+ encoded: o ? l(i) : p(...i.map(({ encoded: c }) => c))
176
+ };
177
+ }
178
+ function k(e) {
179
+ const n = e.match(/^(.*)\[(\d+)?\]$/);
180
+ return n ? (
181
+ // Return `null` if the array is dynamic.
182
+ [n[2] ? Number(n[2]) : null, n[1]]
183
+ ) : void 0;
184
+ }
2
185
  export {
3
- e as arrayRegex,
4
- t as bytesRegex,
5
- n as integerRegex
186
+ l as encode,
187
+ N as encodeAddress,
188
+ P as encodeArray,
189
+ C as encodeBoolean,
190
+ $ as encodeBytes,
191
+ M as encodeNumber,
192
+ W as encodeString,
193
+ R as encodeTuple,
194
+ k as getArrayComponents,
195
+ u as prepareParameter,
196
+ q as prepareParameters
6
197
  };