@coinbase/cdp-hooks 0.0.53 → 0.0.54

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 (51) hide show
  1. package/dist/esm/index223.js +12 -9
  2. package/dist/esm/index224.js +9 -16
  3. package/dist/esm/index225.js +15 -21
  4. package/dist/esm/index226.js +22 -30
  5. package/dist/esm/index227.js +31 -2
  6. package/dist/esm/index228.js +2 -14
  7. package/dist/esm/index229.js +13 -12
  8. package/dist/esm/index230.js +10 -45
  9. package/dist/esm/index231.js +47 -9
  10. package/dist/esm/index232.js +8 -12
  11. package/dist/esm/index233.js +13 -14
  12. package/dist/esm/index234.js +14 -8
  13. package/dist/esm/index235.js +6 -13
  14. package/dist/esm/index236.js +15 -24
  15. package/dist/esm/index237.js +24 -11
  16. package/dist/esm/index238.js +10 -23
  17. package/dist/esm/index239.js +24 -51
  18. package/dist/esm/index240.js +51 -17
  19. package/dist/esm/index241.js +17 -14
  20. package/dist/esm/index242.js +14 -11
  21. package/dist/esm/index243.js +11 -12
  22. package/dist/esm/index261.js +16 -3
  23. package/dist/esm/index262.js +3 -136
  24. package/dist/esm/index263.js +125 -144
  25. package/dist/esm/index264.js +155 -9
  26. package/dist/esm/index265.js +9 -16
  27. package/dist/esm/index266.js +1 -1
  28. package/dist/esm/index267.js +1 -1
  29. package/dist/esm/index27.js +1 -1
  30. package/dist/esm/index277.js +1 -1
  31. package/dist/esm/index278.js +1 -1
  32. package/dist/esm/index282.js +1 -1
  33. package/dist/esm/index284.js +1 -1
  34. package/dist/esm/index30.js +2 -2
  35. package/dist/esm/index31.js +1 -1
  36. package/dist/esm/index32.js +2 -2
  37. package/dist/esm/index33.js +1 -1
  38. package/dist/esm/index34.js +2 -2
  39. package/dist/esm/index35.js +5 -5
  40. package/dist/esm/index36.js +2 -2
  41. package/dist/esm/index43.js +4 -4
  42. package/dist/esm/index53.js +1 -1
  43. package/dist/esm/index54.js +1 -1
  44. package/dist/esm/index59.js +1 -1
  45. package/dist/esm/index67.js +3 -3
  46. package/dist/esm/index68.js +2 -2
  47. package/dist/esm/index71.js +1 -1
  48. package/dist/esm/index72.js +1 -1
  49. package/dist/esm/index79.js +3 -3
  50. package/dist/esm/index82.js +1 -1
  51. package/package.json +3 -3
@@ -1,54 +1,27 @@
1
- import { universalSignatureValidatorAbi as d } from "./index83.js";
2
- import { universalSignatureValidatorByteCode as l } from "./index85.js";
3
- import { CallExecutionError as g } from "./index96.js";
4
- import { encodeDeployData as y } from "./index145.js";
5
- import { getAddress as S } from "./index130.js";
6
- import { isAddressEqual as h } from "./index152.js";
7
- import { isHex as v } from "./index156.js";
8
- import { bytesToHex as x } from "./index120.js";
9
- import { getAction as b } from "./index218.js";
10
- import { isErc6492Signature as A } from "./index166.js";
11
- import { recoverAddress as w } from "./index160.js";
12
- import { serializeErc6492Signature as E } from "./index167.js";
13
- import { serializeSignature as V } from "./index164.js";
14
- import { call as D } from "./index35.js";
15
- import { encodeFunctionData as H } from "./index148.js";
16
- import { hexToBool as z } from "./index153.js";
17
- async function Q(o, p) {
18
- const { address: i, factory: n, factoryData: s, hash: a, signature: r, universalSignatureVerifierAddress: f = o.chain?.contracts?.universalSignatureVerifier?.address, ...m } = p, t = v(r) ? r : typeof r == "object" && "r" in r && "s" in r ? V(r) : x(r), c = await (async () => !n && !s || A(t) ? t : E({
19
- address: n,
20
- data: s,
21
- signature: t
22
- }))();
23
- try {
24
- const e = f ? {
25
- to: f,
26
- data: H({
27
- abi: d,
28
- functionName: "isValidSig",
29
- args: [i, a, c]
30
- }),
31
- ...m
32
- } : {
33
- data: y({
34
- abi: d,
35
- args: [i, a, c],
36
- bytecode: l
37
- }),
38
- ...m
39
- }, { data: u } = await b(o, D, "call")(e);
40
- return z(u ?? "0x0");
41
- } catch (e) {
42
- try {
43
- if (h(S(i), await w({ hash: a, signature: r })))
44
- return !0;
45
- } catch {
46
- }
47
- if (e instanceof g)
48
- return !1;
49
- throw e;
50
- }
1
+ import { from as c, fromAbi as m, NotFoundError as i, getSelector as s } from "./index266.js";
2
+ import { encode as u } from "./index267.js";
3
+ import { concat as d } from "./index264.js";
4
+ function S(o, ...t) {
5
+ const { overloads: r } = o, e = r ? p([o, ...r], o.name, {
6
+ args: t[0]
7
+ }) : o, n = l(e), f = t.length > 0 ? u(e.inputs, t[0]) : void 0;
8
+ return f ? d(n, f) : n;
9
+ }
10
+ function $(o, t = {}) {
11
+ return c(o, t);
12
+ }
13
+ function p(o, t, r) {
14
+ const e = m(o, t, r);
15
+ if (e.type !== "function")
16
+ throw new i({ name: t, type: "function" });
17
+ return e;
18
+ }
19
+ function l(o) {
20
+ return s(o);
51
21
  }
52
22
  export {
53
- Q as verifyHash
23
+ S as encodeData,
24
+ $ as from,
25
+ p as fromAbi,
26
+ l as getSelector
54
27
  };
@@ -1,20 +1,54 @@
1
- function x(e) {
2
- const { scheme: n, statement: t, ...c } = e.match(f)?.groups ?? {}, { chainId: s, expirationTime: i, issuedAt: o, notBefore: r, requestId: a, ...d } = e.match(p)?.groups ?? {}, u = e.split("Resources:")[1]?.split(`
3
- - `).slice(1);
4
- return {
5
- ...c,
6
- ...d,
7
- ...s ? { chainId: Number(s) } : {},
8
- ...i ? { expirationTime: new Date(i) } : {},
9
- ...o ? { issuedAt: new Date(o) } : {},
10
- ...r ? { notBefore: new Date(r) } : {},
11
- ...a ? { requestId: a } : {},
12
- ...u ? { resources: u } : {},
13
- ...n ? { scheme: n } : {},
14
- ...t ? { statement: t } : {}
15
- };
1
+ import { universalSignatureValidatorAbi as d } from "./index83.js";
2
+ import { universalSignatureValidatorByteCode as l } from "./index85.js";
3
+ import { CallExecutionError as g } from "./index96.js";
4
+ import { encodeDeployData as y } from "./index145.js";
5
+ import { getAddress as S } from "./index130.js";
6
+ import { isAddressEqual as h } from "./index152.js";
7
+ import { isHex as v } from "./index156.js";
8
+ import { bytesToHex as x } from "./index120.js";
9
+ import { getAction as b } from "./index218.js";
10
+ import { isErc6492Signature as A } from "./index166.js";
11
+ import { recoverAddress as w } from "./index160.js";
12
+ import { serializeErc6492Signature as E } from "./index167.js";
13
+ import { serializeSignature as V } from "./index164.js";
14
+ import { call as D } from "./index35.js";
15
+ import { encodeFunctionData as H } from "./index148.js";
16
+ import { hexToBool as z } from "./index153.js";
17
+ async function Q(o, p) {
18
+ const { address: i, factory: n, factoryData: s, hash: a, signature: r, universalSignatureVerifierAddress: f = o.chain?.contracts?.universalSignatureVerifier?.address, ...m } = p, t = v(r) ? r : typeof r == "object" && "r" in r && "s" in r ? V(r) : x(r), c = await (async () => !n && !s || A(t) ? t : E({
19
+ address: n,
20
+ data: s,
21
+ signature: t
22
+ }))();
23
+ try {
24
+ const e = f ? {
25
+ to: f,
26
+ data: H({
27
+ abi: d,
28
+ functionName: "isValidSig",
29
+ args: [i, a, c]
30
+ }),
31
+ ...m
32
+ } : {
33
+ data: y({
34
+ abi: d,
35
+ args: [i, a, c],
36
+ bytecode: l
37
+ }),
38
+ ...m
39
+ }, { data: u } = await b(o, D, "call")(e);
40
+ return z(u ?? "0x0");
41
+ } catch (e) {
42
+ try {
43
+ if (h(S(i), await w({ hash: a, signature: r })))
44
+ return !0;
45
+ } catch {
46
+ }
47
+ if (e instanceof g)
48
+ return !1;
49
+ throw e;
50
+ }
16
51
  }
17
- const f = /^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/, p = /(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;
18
52
  export {
19
- x as parseSiweMessage
53
+ Q as verifyHash
20
54
  };
@@ -1,17 +1,20 @@
1
- import { isAddress as f } from "./index142.js";
2
- import { isAddressEqual as o } from "./index152.js";
3
- function l(n) {
4
- const { address: r, domain: s, message: e, nonce: t, scheme: a, time: i = /* @__PURE__ */ new Date() } = n;
5
- if (s && e.domain !== s || t && e.nonce !== t || a && e.scheme !== a || e.expirationTime && i >= e.expirationTime || e.notBefore && i < e.notBefore)
6
- return !1;
7
- try {
8
- if (!e.address || !f(e.address, { strict: !1 }) || r && !o(e.address, r))
9
- return !1;
10
- } catch {
11
- return !1;
12
- }
13
- return !0;
1
+ function x(e) {
2
+ const { scheme: n, statement: t, ...c } = e.match(f)?.groups ?? {}, { chainId: s, expirationTime: i, issuedAt: o, notBefore: r, requestId: a, ...d } = e.match(p)?.groups ?? {}, u = e.split("Resources:")[1]?.split(`
3
+ - `).slice(1);
4
+ return {
5
+ ...c,
6
+ ...d,
7
+ ...s ? { chainId: Number(s) } : {},
8
+ ...i ? { expirationTime: new Date(i) } : {},
9
+ ...o ? { issuedAt: new Date(o) } : {},
10
+ ...r ? { notBefore: new Date(r) } : {},
11
+ ...a ? { requestId: a } : {},
12
+ ...u ? { resources: u } : {},
13
+ ...n ? { scheme: n } : {},
14
+ ...t ? { statement: t } : {}
15
+ };
14
16
  }
17
+ const f = /^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/, p = /(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;
15
18
  export {
16
- l as validateSiweMessage
19
+ x as parseSiweMessage
17
20
  };
@@ -1,14 +1,17 @@
1
- import { LruMap as u } from "./index190.js";
2
- const t = /* @__PURE__ */ new u(8192);
3
- function s(r, { enabled: o = !0, id: e }) {
4
- if (!o || !e)
5
- return r();
6
- if (t.get(e))
7
- return t.get(e);
8
- const n = r().finally(() => t.delete(e));
9
- return t.set(e, n), n;
1
+ import { isAddress as f } from "./index142.js";
2
+ import { isAddressEqual as o } from "./index152.js";
3
+ function l(n) {
4
+ const { address: r, domain: s, message: e, nonce: t, scheme: a, time: i = /* @__PURE__ */ new Date() } = n;
5
+ if (s && e.domain !== s || t && e.nonce !== t || a && e.scheme !== a || e.expirationTime && i >= e.expirationTime || e.notBefore && i < e.notBefore)
6
+ return !1;
7
+ try {
8
+ if (!e.address || !f(e.address, { strict: !1 }) || r && !o(e.address, r))
9
+ return !1;
10
+ } catch {
11
+ return !1;
12
+ }
13
+ return !0;
10
14
  }
11
15
  export {
12
- t as promiseCache,
13
- s as withDedupe
16
+ l as validateSiweMessage
14
17
  };
@@ -1,15 +1,14 @@
1
- function r() {
2
- return {
3
- current: 0,
4
- take() {
5
- return this.current++;
6
- },
7
- reset() {
8
- this.current = 0;
9
- }
10
- };
1
+ import { LruMap as u } from "./index190.js";
2
+ const t = /* @__PURE__ */ new u(8192);
3
+ function s(r, { enabled: o = !0, id: e }) {
4
+ if (!o || !e)
5
+ return r();
6
+ if (t.get(e))
7
+ return t.get(e);
8
+ const n = r().finally(() => t.delete(e));
9
+ return t.set(e, n), n;
11
10
  }
12
- const t = /* @__PURE__ */ r();
13
11
  export {
14
- t as idCache
12
+ t as promiseCache,
13
+ s as withDedupe
15
14
  };
@@ -1,6 +1,19 @@
1
- function n(e) {
2
- return `[${e.slice(2)}]`;
1
+ import { concatHex as i } from "./index124.js";
2
+ import { hexToBytes as m } from "./index119.js";
3
+ import { numberToHex as c } from "./index120.js";
4
+ import { toRlp as d } from "./index165.js";
5
+ import { keccak256 as f } from "./index121.js";
6
+ function b(o) {
7
+ const { chainId: t, nonce: r, to: s } = o, e = o.contractAddress ?? o.address, n = f(i([
8
+ "0x05",
9
+ d([
10
+ t ? c(t) : "0x",
11
+ e,
12
+ r ? c(r) : "0x"
13
+ ])
14
+ ]));
15
+ return s === "bytes" ? m(n) : n;
3
16
  }
4
17
  export {
5
- n as encodeLabelhash
18
+ b as hashAuthorization
6
19
  };
@@ -1,139 +1,6 @@
1
- import { readContract as w } from "./index66.js";
2
- import { EnsAvatarUriResolutionError as d, EnsAvatarInvalidNftUriError as p, EnsAvatarUnsupportedNamespaceError as I, EnsAvatarInvalidMetadataError as y } from "./index110.js";
3
- const v = /(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/, A = /^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/, b = /^data:([a-zA-Z\-/+]*);base64,([^"].*)/, E = /^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;
4
- async function k(e) {
5
- try {
6
- const t = await fetch(e, { method: "HEAD" });
7
- return t.status === 200 ? t.headers.get("content-type")?.startsWith("image/") : !1;
8
- } catch (t) {
9
- return typeof t == "object" && typeof t.response < "u" || !globalThis.hasOwnProperty("Image") ? !1 : new Promise((n) => {
10
- const a = new Image();
11
- a.onload = () => {
12
- n(!0);
13
- }, a.onerror = () => {
14
- n(!1);
15
- }, a.src = e;
16
- });
17
- }
18
- }
19
- function l(e, t) {
20
- return e ? e.endsWith("/") ? e.slice(0, -1) : e : t;
21
- }
22
- function C({ uri: e, gatewayUrls: t }) {
23
- const n = b.test(e);
24
- if (n)
25
- return { uri: e, isOnChain: !0, isEncoded: n };
26
- const a = l(t?.ipfs, "https://ipfs.io"), r = l(t?.arweave, "https://arweave.net"), f = e.match(v), { protocol: i, subpath: c, target: s, subtarget: h = "" } = f?.groups || {}, u = i === "ipns:/" || c === "ipns/", m = i === "ipfs:/" || c === "ipfs/" || A.test(e);
27
- if (e.startsWith("http") && !u && !m) {
28
- let g = e;
29
- return t?.arweave && (g = e.replace(/https:\/\/arweave.net/g, t?.arweave)), { uri: g, isOnChain: !1, isEncoded: !1 };
30
- }
31
- if ((u || m) && s)
32
- return {
33
- uri: `${a}/${u ? "ipns" : "ipfs"}/${s}${h}`,
34
- isOnChain: !1,
35
- isEncoded: !1
36
- };
37
- if (i === "ar:/" && s)
38
- return {
39
- uri: `${r}/${s}${h || ""}`,
40
- isOnChain: !1,
41
- isEncoded: !1
42
- };
43
- let o = e.replace(E, "");
44
- if (o.startsWith("<svg") && (o = `data:image/svg+xml;base64,${btoa(o)}`), o.startsWith("data:") || o.startsWith("{"))
45
- return {
46
- uri: o,
47
- isOnChain: !0,
48
- isEncoded: !1
49
- };
50
- throw new d({ uri: e });
51
- }
52
- function U(e) {
53
- if (typeof e != "object" || !("image" in e) && !("image_url" in e) && !("image_data" in e))
54
- throw new y({ data: e });
55
- return e.image || e.image_url || e.image_data;
56
- }
57
- async function $({ gatewayUrls: e, uri: t }) {
58
- try {
59
- const n = await fetch(t).then((r) => r.json());
60
- return await R({
61
- gatewayUrls: e,
62
- uri: U(n)
63
- });
64
- } catch {
65
- throw new d({ uri: t });
66
- }
67
- }
68
- async function R({ gatewayUrls: e, uri: t }) {
69
- const { uri: n, isOnChain: a } = C({ uri: t, gatewayUrls: e });
70
- if (a || await k(n))
71
- return n;
72
- throw new d({ uri: t });
73
- }
74
- function D(e) {
75
- let t = e;
76
- t.startsWith("did:nft:") && (t = t.replace("did:nft:", "").replace(/_/g, "/"));
77
- const [n, a, r] = t.split("/"), [f, i] = n.split(":"), [c, s] = a.split(":");
78
- if (!f || f.toLowerCase() !== "eip155")
79
- throw new p({ reason: "Only EIP-155 supported" });
80
- if (!i)
81
- throw new p({ reason: "Chain ID not found" });
82
- if (!s)
83
- throw new p({
84
- reason: "Contract address not found"
85
- });
86
- if (!r)
87
- throw new p({ reason: "Token ID not found" });
88
- if (!c)
89
- throw new p({ reason: "ERC namespace not found" });
90
- return {
91
- chainID: Number.parseInt(i),
92
- namespace: c.toLowerCase(),
93
- contractAddress: s,
94
- tokenID: r
95
- };
96
- }
97
- async function O(e, { nft: t }) {
98
- if (t.namespace === "erc721")
99
- return w(e, {
100
- address: t.contractAddress,
101
- abi: [
102
- {
103
- name: "tokenURI",
104
- type: "function",
105
- stateMutability: "view",
106
- inputs: [{ name: "tokenId", type: "uint256" }],
107
- outputs: [{ name: "", type: "string" }]
108
- }
109
- ],
110
- functionName: "tokenURI",
111
- args: [BigInt(t.tokenID)]
112
- });
113
- if (t.namespace === "erc1155")
114
- return w(e, {
115
- address: t.contractAddress,
116
- abi: [
117
- {
118
- name: "uri",
119
- type: "function",
120
- stateMutability: "view",
121
- inputs: [{ name: "_id", type: "uint256" }],
122
- outputs: [{ name: "", type: "string" }]
123
- }
124
- ],
125
- functionName: "uri",
126
- args: [BigInt(t.tokenID)]
127
- });
128
- throw new I({ namespace: t.namespace });
1
+ function n(e) {
2
+ return `[${e.slice(2)}]`;
129
3
  }
130
4
  export {
131
- l as getGateway,
132
- U as getJsonImage,
133
- $ as getMetadataAvatarUri,
134
- O as getNftTokenUri,
135
- k as isImageUri,
136
- R as parseAvatarUri,
137
- D as parseNftUri,
138
- C as resolveAvatarUri
5
+ n as encodeLabelhash
139
6
  };