@coinbase/cdp-hooks 0.0.24 → 0.0.26

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 (248) hide show
  1. package/README.md +206 -14
  2. package/dist/esm/index10.js +10 -33
  3. package/dist/esm/index100.js +24 -32
  4. package/dist/esm/index101.js +22 -182
  5. package/dist/esm/index102.js +32 -6
  6. package/dist/esm/index103.js +194 -2
  7. package/dist/esm/index104.js +6 -10
  8. package/dist/esm/index105.js +2 -19
  9. package/dist/esm/index106.js +10 -25
  10. package/dist/esm/index107.js +18 -8
  11. package/dist/esm/index108.js +24 -52
  12. package/dist/esm/index109.js +8 -45
  13. package/dist/esm/index11.js +8 -3
  14. package/dist/esm/index110.js +55 -8
  15. package/dist/esm/index111.js +45 -7
  16. package/dist/esm/index112.js +8 -16
  17. package/dist/esm/index113.js +7 -18
  18. package/dist/esm/index114.js +16 -24
  19. package/dist/esm/index115.js +18 -16
  20. package/dist/esm/index116.js +22 -52
  21. package/dist/esm/index117.js +16 -11
  22. package/dist/esm/index118.js +53 -159
  23. package/dist/esm/index119.js +11 -21
  24. package/dist/esm/index12.js +31 -8
  25. package/dist/esm/index120.js +157 -124
  26. package/dist/esm/index121.js +20 -37
  27. package/dist/esm/index122.js +127 -6
  28. package/dist/esm/index123.js +35 -24
  29. package/dist/esm/index124.js +6 -191
  30. package/dist/esm/index125.js +28 -4
  31. package/dist/esm/index126.js +184 -57
  32. package/dist/esm/index127.js +4 -3
  33. package/dist/esm/index128.js +60 -16
  34. package/dist/esm/index129.js +3 -17
  35. package/dist/esm/index13.js +3 -68
  36. package/dist/esm/index130.js +19 -22
  37. package/dist/esm/index131.js +16 -11
  38. package/dist/esm/index132.js +22 -33
  39. package/dist/esm/index133.js +12 -3
  40. package/dist/esm/index134.js +33 -17
  41. package/dist/esm/index135.js +3 -28
  42. package/dist/esm/index136.js +18 -35
  43. package/dist/esm/index137.js +27 -7
  44. package/dist/esm/index138.js +34 -24
  45. package/dist/esm/index139.js +7 -28
  46. package/dist/esm/index14.js +8 -8
  47. package/dist/esm/index140.js +24 -63
  48. package/dist/esm/index141.js +28 -9
  49. package/dist/esm/index142.js +62 -31
  50. package/dist/esm/index143.js +9 -27
  51. package/dist/esm/index144.js +32 -23
  52. package/dist/esm/index145.js +27 -3
  53. package/dist/esm/index146.js +24 -14
  54. package/dist/esm/index147.js +3 -103
  55. package/dist/esm/index148.js +14 -64
  56. package/dist/esm/index149.js +103 -5
  57. package/dist/esm/index15.js +67 -27
  58. package/dist/esm/index150.js +64 -6
  59. package/dist/esm/index151.js +5 -27
  60. package/dist/esm/index152.js +6 -39
  61. package/dist/esm/index153.js +27 -13
  62. package/dist/esm/index154.js +38 -41
  63. package/dist/esm/index155.js +13 -5
  64. package/dist/esm/index156.js +42 -11
  65. package/dist/esm/index157.js +5 -19
  66. package/dist/esm/index158.js +11 -78
  67. package/dist/esm/index159.js +20 -2
  68. package/dist/esm/index16.js +9 -70
  69. package/dist/esm/index160.js +74 -33
  70. package/dist/esm/index161.js +2 -111
  71. package/dist/esm/index162.js +27 -38
  72. package/dist/esm/index163.js +108 -30
  73. package/dist/esm/index164.js +48 -8
  74. package/dist/esm/index165.js +32 -6
  75. package/dist/esm/index166.js +8 -6
  76. package/dist/esm/index167.js +6 -11
  77. package/dist/esm/index168.js +6 -10
  78. package/dist/esm/index169.js +11 -13
  79. package/dist/esm/index17.js +26 -17
  80. package/dist/esm/index170.js +9 -31
  81. package/dist/esm/index171.js +14 -5
  82. package/dist/esm/index172.js +32 -8
  83. package/dist/esm/index173.js +5 -20
  84. package/dist/esm/index174.js +19 -31
  85. package/dist/esm/index175.js +31 -20
  86. package/dist/esm/index176.js +20 -3
  87. package/dist/esm/index177.js +3 -17
  88. package/dist/esm/index178.js +17 -10
  89. package/dist/esm/index179.js +10 -21
  90. package/dist/esm/index18.js +68 -108
  91. package/dist/esm/index180.js +21 -22
  92. package/dist/esm/index181.js +22 -5
  93. package/dist/esm/index182.js +5 -5
  94. package/dist/esm/index183.js +5 -8
  95. package/dist/esm/index184.js +8 -104
  96. package/dist/esm/index185.js +105 -3
  97. package/dist/esm/index186.js +3 -19
  98. package/dist/esm/index187.js +17 -170
  99. package/dist/esm/index188.js +170 -16
  100. package/dist/esm/index189.js +18 -10
  101. package/dist/esm/index19.js +19 -60
  102. package/dist/esm/index190.js +12 -40
  103. package/dist/esm/index191.js +36 -2
  104. package/dist/esm/index192.js +41 -4
  105. package/dist/esm/index193.js +39 -9
  106. package/dist/esm/index194.js +2 -20
  107. package/dist/esm/index195.js +4 -7
  108. package/dist/esm/index196.js +9 -10
  109. package/dist/esm/index197.js +19 -66
  110. package/dist/esm/index198.js +7 -65
  111. package/dist/esm/index199.js +10 -184
  112. package/dist/esm/index20.js +110 -24
  113. package/dist/esm/index200.js +66 -22
  114. package/dist/esm/index201.js +61 -38
  115. package/dist/esm/index202.js +178 -69
  116. package/dist/esm/index203.js +21 -39
  117. package/dist/esm/index204.js +35 -9
  118. package/dist/esm/index205.js +70 -7
  119. package/dist/esm/index206.js +40 -7
  120. package/dist/esm/index207.js +16 -6
  121. package/dist/esm/index208.js +13 -36
  122. package/dist/esm/index209.js +7 -15
  123. package/dist/esm/index21.js +51 -31
  124. package/dist/esm/index210.js +6 -8
  125. package/dist/esm/index211.js +35 -11
  126. package/dist/esm/index212.js +15 -9
  127. package/dist/esm/index213.js +8 -16
  128. package/dist/esm/index214.js +12 -22
  129. package/dist/esm/index215.js +9 -30
  130. package/dist/esm/index216.js +17 -2
  131. package/dist/esm/index217.js +21 -12
  132. package/dist/esm/index218.js +30 -12
  133. package/dist/esm/index219.js +2 -48
  134. package/dist/esm/index22.js +23 -36
  135. package/dist/esm/index220.js +12 -8
  136. package/dist/esm/index221.js +12 -13
  137. package/dist/esm/index222.js +46 -13
  138. package/dist/esm/index223.js +9 -8
  139. package/dist/esm/index224.js +13 -15
  140. package/dist/esm/index225.js +14 -24
  141. package/dist/esm/index226.js +8 -11
  142. package/dist/esm/index227.js +14 -23
  143. package/dist/esm/index228.js +24 -51
  144. package/dist/esm/index229.js +11 -17
  145. package/dist/esm/index23.js +28 -46
  146. package/dist/esm/index230.js +24 -14
  147. package/dist/esm/index231.js +51 -11
  148. package/dist/esm/index232.js +17 -103
  149. package/dist/esm/index233.js +14 -6
  150. package/dist/esm/index234.js +11 -224
  151. package/dist/esm/index235.js +103 -6
  152. package/dist/esm/index236.js +7 -7
  153. package/dist/esm/index237.js +223 -25
  154. package/dist/esm/index238.js +6 -19
  155. package/dist/esm/index239.js +7 -147
  156. package/dist/esm/index24.js +34 -160
  157. package/dist/esm/index240.js +26 -12
  158. package/dist/esm/index241.js +20 -36
  159. package/dist/esm/index242.js +146 -41
  160. package/dist/esm/index245.js +2 -2
  161. package/dist/esm/index248.js +5 -5
  162. package/dist/esm/index249.js +2 -2
  163. package/dist/esm/index25.js +55 -36
  164. package/dist/esm/index251.js +1 -1
  165. package/dist/esm/index253.js +2 -2
  166. package/dist/esm/index254.js +2 -2
  167. package/dist/esm/index255.js +1 -1
  168. package/dist/esm/index256.js +1 -1
  169. package/dist/esm/index26.js +162 -8
  170. package/dist/esm/index260.js +1 -1
  171. package/dist/esm/index27.js +39 -31
  172. package/dist/esm/index28.js +8 -35
  173. package/dist/esm/index29.js +30 -8
  174. package/dist/esm/index30.js +35 -28
  175. package/dist/esm/index31.js +9 -46
  176. package/dist/esm/index32.js +24 -83
  177. package/dist/esm/index33.js +43 -37
  178. package/dist/esm/index34.js +88 -8
  179. package/dist/esm/index35.js +40 -6
  180. package/dist/esm/index36.js +8 -16
  181. package/dist/esm/index37.js +6 -8
  182. package/dist/esm/index38.js +16 -13
  183. package/dist/esm/index39.js +8 -7
  184. package/dist/esm/index40.js +13 -9
  185. package/dist/esm/index41.js +7 -16
  186. package/dist/esm/index42.js +9 -46
  187. package/dist/esm/index43.js +16 -13
  188. package/dist/esm/index44.js +46 -16
  189. package/dist/esm/index45.js +13 -13
  190. package/dist/esm/index46.js +15 -5
  191. package/dist/esm/index47.js +13 -35
  192. package/dist/esm/index48.js +5 -8
  193. package/dist/esm/index49.js +34 -7
  194. package/dist/esm/index50.js +9 -25
  195. package/dist/esm/index51.js +8 -10
  196. package/dist/esm/index52.js +25 -14
  197. package/dist/esm/index53.js +10 -11
  198. package/dist/esm/index54.js +14 -116
  199. package/dist/esm/index55.js +11 -33
  200. package/dist/esm/index56.js +113 -76
  201. package/dist/esm/index57.js +30 -174
  202. package/dist/esm/index58.js +77 -42
  203. package/dist/esm/index59.js +177 -6
  204. package/dist/esm/index6.js +2 -2
  205. package/dist/esm/index60.js +44 -13
  206. package/dist/esm/index61.js +5 -12
  207. package/dist/esm/index62.js +13 -99
  208. package/dist/esm/index63.js +13 -72
  209. package/dist/esm/index64.js +95 -83
  210. package/dist/esm/index65.js +62 -138
  211. package/dist/esm/index66.js +71 -120
  212. package/dist/esm/index67.js +126 -46
  213. package/dist/esm/index68.js +136 -23
  214. package/dist/esm/index69.js +65 -102
  215. package/dist/esm/index7.js +2 -2
  216. package/dist/esm/index70.js +23 -6
  217. package/dist/esm/index71.js +102 -128
  218. package/dist/esm/index72.js +7 -276
  219. package/dist/esm/index73.js +132 -3
  220. package/dist/esm/index74.js +276 -4
  221. package/dist/esm/index75.js +3 -9
  222. package/dist/esm/index76.js +4 -2
  223. package/dist/esm/index77.js +9 -2
  224. package/dist/esm/index78.js +2 -3
  225. package/dist/esm/index79.js +2 -327
  226. package/dist/esm/index8.js +5 -5
  227. package/dist/esm/index80.js +3 -14
  228. package/dist/esm/index81.js +326 -4
  229. package/dist/esm/index82.js +12 -54
  230. package/dist/esm/index83.js +5 -2
  231. package/dist/esm/index84.js +54 -6
  232. package/dist/esm/index85.js +2 -215
  233. package/dist/esm/index86.js +8 -32
  234. package/dist/esm/index87.js +213 -20
  235. package/dist/esm/index88.js +32 -6
  236. package/dist/esm/index89.js +21 -73
  237. package/dist/esm/index9.js +2 -2
  238. package/dist/esm/index90.js +5 -5
  239. package/dist/esm/index91.js +73 -5
  240. package/dist/esm/index92.js +5 -35
  241. package/dist/esm/index93.js +5 -75
  242. package/dist/esm/index94.js +36 -3
  243. package/dist/esm/index95.js +67 -15
  244. package/dist/esm/index96.js +3 -452
  245. package/dist/esm/index97.js +15 -22
  246. package/dist/esm/index98.js +440 -15
  247. package/dist/esm/index99.js +21 -24
  248. package/package.json +3 -3
@@ -1,73 +1,12 @@
1
- import { TimeoutError as m, HttpRequestError as i } from "./index13.js";
2
- import { withTimeout as j } from "./index177.js";
3
- import { stringify as c } from "./index103.js";
4
- import { idCache as y } from "./index211.js";
5
- function E(s, o = {}) {
6
- return {
7
- async request(p) {
8
- const { body: r, onRequest: g = o.onRequest, onResponse: h = o.onResponse, timeout: f = o.timeout ?? 1e4 } = p, u = {
9
- ...o.fetchOptions ?? {},
10
- ...p.fetchOptions ?? {}
11
- }, { headers: l, method: R, signal: q } = u;
12
- try {
13
- const t = await j(async ({ signal: n }) => {
14
- const a = {
15
- ...u,
16
- body: Array.isArray(r) ? c(r.map((d) => ({
17
- jsonrpc: "2.0",
18
- id: d.id ?? y.take(),
19
- ...d
20
- }))) : c({
21
- jsonrpc: "2.0",
22
- id: r.id ?? y.take(),
23
- ...r
24
- }),
25
- headers: {
26
- "Content-Type": "application/json",
27
- ...l
28
- },
29
- method: R || "POST",
30
- signal: q || (f > 0 ? n : null)
31
- }, T = new Request(s, a), w = await g?.(T, a) ?? { ...a, url: s };
32
- return await fetch(w.url ?? s, w);
33
- }, {
34
- errorInstance: new m({ body: r, url: s }),
35
- timeout: f,
36
- signal: !0
37
- });
38
- h && await h(t);
39
- let e;
40
- if (t.headers.get("Content-Type")?.startsWith("application/json"))
41
- e = await t.json();
42
- else {
43
- e = await t.text();
44
- try {
45
- e = JSON.parse(e || "{}");
46
- } catch (n) {
47
- if (t.ok)
48
- throw n;
49
- e = { error: e };
50
- }
51
- }
52
- if (!t.ok)
53
- throw new i({
54
- body: r,
55
- details: c(e.error) || t.statusText,
56
- headers: t.headers,
57
- status: t.status,
58
- url: s
59
- });
60
- return e;
61
- } catch (t) {
62
- throw t instanceof i || t instanceof m ? t : new i({
63
- body: r,
64
- cause: t,
65
- url: s
66
- });
67
- }
68
- }
69
- };
1
+ import { BaseError as r } from "./index84.js";
2
+ class t extends r {
3
+ constructor() {
4
+ super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.", {
5
+ docsPath: "/docs/clients/intro",
6
+ name: "UrlRequiredError"
7
+ });
8
+ }
70
9
  }
71
10
  export {
72
- E as getHttpRpcClient
11
+ t as UrlRequiredError
73
12
  };
@@ -1,40 +1,81 @@
1
- import { versionedHashVersionKzg as a } from "./index159.js";
2
- import { BaseError as s } from "./index82.js";
3
- class t extends s {
4
- constructor({ maxSize: e, size: r }) {
5
- super("Blob size is too large.", {
6
- metaMessages: [`Max: ${e} bytes`, `Given: ${r} bytes`],
7
- name: "BlobSizeTooLargeError"
8
- });
9
- }
1
+ import { versionedHashVersionKzg as c } from "./index161.js";
2
+ import { maxUint256 as m } from "./index78.js";
3
+ import { InvalidAddressError as s } from "./index106.js";
4
+ import { BaseError as h } from "./index84.js";
5
+ import { EmptyBlobError as P, InvalidVersionedHashSizeError as p, InvalidVersionedHashVersionError as x } from "./index162.js";
6
+ import { InvalidChainIdError as n } from "./index99.js";
7
+ import { FeeCapTooHighError as w, TipAboveFeeCapError as E } from "./index103.js";
8
+ import { isAddress as f } from "./index133.js";
9
+ import { size as F } from "./index83.js";
10
+ import { slice as I } from "./index123.js";
11
+ import { hexToNumber as G } from "./index144.js";
12
+ function C(t) {
13
+ const { authorizationList: e } = t;
14
+ if (e)
15
+ for (const o of e) {
16
+ const { chainId: r } = o, i = o.address;
17
+ if (!f(i))
18
+ throw new s({ address: i });
19
+ if (r < 0)
20
+ throw new n({ chainId: r });
21
+ }
22
+ d(t);
10
23
  }
11
- class d extends s {
12
- constructor() {
13
- super("Blob data must not be empty.", { name: "EmptyBlobError" });
24
+ function L(t) {
25
+ const { blobVersionedHashes: e } = t;
26
+ if (e) {
27
+ if (e.length === 0)
28
+ throw new P();
29
+ for (const o of e) {
30
+ const r = F(o), i = G(I(o, 0, 1));
31
+ if (r !== 32)
32
+ throw new p({ hash: o, size: r });
33
+ if (i !== c)
34
+ throw new x({
35
+ hash: o,
36
+ version: i
37
+ });
38
+ }
14
39
  }
40
+ d(t);
15
41
  }
16
- class l extends s {
17
- constructor({ hash: e, size: r }) {
18
- super(`Versioned hash "${e}" size is invalid.`, {
19
- metaMessages: ["Expected: 32", `Received: ${r}`],
20
- name: "InvalidVersionedHashSizeError"
21
- });
22
- }
42
+ function d(t) {
43
+ const { chainId: e, maxPriorityFeePerGas: o, maxFeePerGas: r, to: i } = t;
44
+ if (e <= 0)
45
+ throw new n({ chainId: e });
46
+ if (i && !f(i))
47
+ throw new s({ address: i });
48
+ if (r && r > m)
49
+ throw new w({ maxFeePerGas: r });
50
+ if (o && r && o > r)
51
+ throw new E({ maxFeePerGas: r, maxPriorityFeePerGas: o });
23
52
  }
24
- class c extends s {
25
- constructor({ hash: e, version: r }) {
26
- super(`Versioned hash "${e}" version is invalid.`, {
27
- metaMessages: [
28
- `Expected: ${a}`,
29
- `Received: ${r}`
30
- ],
31
- name: "InvalidVersionedHashVersionError"
32
- });
33
- }
53
+ function B(t) {
54
+ const { chainId: e, maxPriorityFeePerGas: o, gasPrice: r, maxFeePerGas: i, to: a } = t;
55
+ if (e <= 0)
56
+ throw new n({ chainId: e });
57
+ if (a && !f(a))
58
+ throw new s({ address: a });
59
+ if (o || i)
60
+ throw new h("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");
61
+ if (r && r > m)
62
+ throw new w({ maxFeePerGas: r });
63
+ }
64
+ function K(t) {
65
+ const { chainId: e, maxPriorityFeePerGas: o, gasPrice: r, maxFeePerGas: i, to: a } = t;
66
+ if (a && !f(a))
67
+ throw new s({ address: a });
68
+ if (typeof e < "u" && e <= 0)
69
+ throw new n({ chainId: e });
70
+ if (o || i)
71
+ throw new h("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");
72
+ if (r && r > m)
73
+ throw new w({ maxFeePerGas: r });
34
74
  }
35
75
  export {
36
- t as BlobSizeTooLargeError,
37
- d as EmptyBlobError,
38
- l as InvalidVersionedHashSizeError,
39
- c as InvalidVersionedHashVersionError
76
+ d as assertTransactionEIP1559,
77
+ B as assertTransactionEIP2930,
78
+ L as assertTransactionEIP4844,
79
+ C as assertTransactionEIP7702,
80
+ K as assertTransactionLegacy
40
81
  };
@@ -1,113 +1,4 @@
1
- import { call as h } from "./index24.js";
2
- import { OffchainLookupSenderMismatchError as w, OffchainLookupError as b, OffchainLookupResponseMalformedError as k } from "./index162.js";
3
- import { HttpRequestError as m } from "./index13.js";
4
- import { decodeErrorResult as g } from "./index87.js";
5
- import { encodeAbiParameters as q } from "./index124.js";
6
- import { isAddressEqual as E } from "./index141.js";
7
- import { concat as L } from "./index113.js";
8
- import { isHex as O } from "./index145.js";
9
- import { localBatchGatewayUrl as R, localBatchGatewayRequest as x } from "./index163.js";
10
- import { stringify as S } from "./index103.js";
11
- const I = "0x556f1830", T = {
12
- name: "OffchainLookup",
13
- type: "error",
14
- inputs: [
15
- {
16
- name: "sender",
17
- type: "address"
18
- },
19
- {
20
- name: "urls",
21
- type: "string[]"
22
- },
23
- {
24
- name: "callData",
25
- type: "bytes"
26
- },
27
- {
28
- name: "callbackFunction",
29
- type: "bytes4"
30
- },
31
- {
32
- name: "extraData",
33
- type: "bytes"
34
- }
35
- ]
36
- };
37
- async function J(c, { blockNumber: i, blockTag: p, data: a, to: o }) {
38
- const { args: n } = g({
39
- data: a,
40
- abi: [T]
41
- }), [r, s, f, e, t] = n, { ccipRead: u } = c, d = u && typeof u?.request == "function" ? u.request : A;
42
- try {
43
- if (!E(o, r))
44
- throw new w({ sender: r, to: o });
45
- const l = s.includes(R) ? await x({
46
- data: f,
47
- ccipRequest: d
48
- }) : await d({ data: f, sender: r, urls: s }), { data: y } = await h(c, {
49
- blockNumber: i,
50
- blockTag: p,
51
- data: L([
52
- e,
53
- q([{ type: "bytes" }, { type: "bytes" }], [l, t])
54
- ]),
55
- to: o
56
- });
57
- return y;
58
- } catch (l) {
59
- throw new b({
60
- callbackSelector: e,
61
- cause: l,
62
- data: a,
63
- extraData: t,
64
- sender: r,
65
- urls: s
66
- });
67
- }
68
- }
69
- async function A({ data: c, sender: i, urls: p }) {
70
- let a = new Error("An unknown error occurred.");
71
- for (let o = 0; o < p.length; o++) {
72
- const n = p[o], r = n.includes("{data}") ? "GET" : "POST", s = r === "POST" ? { data: c, sender: i } : void 0, f = r === "POST" ? { "Content-Type": "application/json" } : {};
73
- try {
74
- const e = await fetch(n.replace("{sender}", i.toLowerCase()).replace("{data}", c), {
75
- body: JSON.stringify(s),
76
- headers: f,
77
- method: r
78
- });
79
- let t;
80
- if (e.headers.get("Content-Type")?.startsWith("application/json") ? t = (await e.json()).data : t = await e.text(), !e.ok) {
81
- a = new m({
82
- body: s,
83
- details: t?.error ? S(t.error) : e.statusText,
84
- headers: e.headers,
85
- status: e.status,
86
- url: n
87
- });
88
- continue;
89
- }
90
- if (!O(t)) {
91
- a = new k({
92
- result: t,
93
- url: n
94
- });
95
- continue;
96
- }
97
- return t;
98
- } catch (e) {
99
- a = new m({
100
- body: s,
101
- details: e.message,
102
- url: n
103
- });
104
- }
105
- }
106
- throw a;
107
- }
1
+ const e = 1;
108
2
  export {
109
- A as ccipRequest,
110
- J as offchainLookup,
111
- T as offchainLookupAbiItem,
112
- I as offchainLookupSignature
3
+ e as versionedHashVersionKzg
113
4
  };
@@ -1,51 +1,40 @@
1
- import { stringify as m } from "./index103.js";
2
- import { BaseError as a } from "./index82.js";
3
- import { getUrl as t } from "./index94.js";
4
- class l extends a {
5
- constructor({ callbackSelector: r, cause: e, data: n, extraData: f, sender: c, urls: o }) {
6
- super(e.shortMessage || "An error occurred while fetching for an offchain result.", {
7
- cause: e,
8
- metaMessages: [
9
- ...e.metaMessages || [],
10
- e.metaMessages?.length ? "" : [],
11
- "Offchain Gateway Call:",
12
- o && [
13
- " Gateway URL(s):",
14
- ...o.map((d) => ` ${t(d)}`)
15
- ],
16
- ` Sender: ${c}`,
17
- ` Data: ${n}`,
18
- ` Callback selector: ${r}`,
19
- ` Extra data: ${f}`
20
- ].flat(),
21
- name: "OffchainLookupError"
1
+ import { versionedHashVersionKzg as a } from "./index161.js";
2
+ import { BaseError as s } from "./index84.js";
3
+ class t extends s {
4
+ constructor({ maxSize: e, size: r }) {
5
+ super("Blob size is too large.", {
6
+ metaMessages: [`Max: ${e} bytes`, `Given: ${r} bytes`],
7
+ name: "BlobSizeTooLargeError"
22
8
  });
23
9
  }
24
10
  }
25
- class u extends a {
26
- constructor({ result: r, url: e }) {
27
- super("Offchain gateway response is malformed. Response data must be a hex value.", {
28
- metaMessages: [
29
- `Gateway URL: ${t(e)}`,
30
- `Response: ${m(r)}`
31
- ],
32
- name: "OffchainLookupResponseMalformedError"
11
+ class d extends s {
12
+ constructor() {
13
+ super("Blob data must not be empty.", { name: "EmptyBlobError" });
14
+ }
15
+ }
16
+ class l extends s {
17
+ constructor({ hash: e, size: r }) {
18
+ super(`Versioned hash "${e}" size is invalid.`, {
19
+ metaMessages: ["Expected: 32", `Received: ${r}`],
20
+ name: "InvalidVersionedHashSizeError"
33
21
  });
34
22
  }
35
23
  }
36
- class g extends a {
37
- constructor({ sender: r, to: e }) {
38
- super("Reverted sender address does not match target contract address (`to`).", {
24
+ class c extends s {
25
+ constructor({ hash: e, version: r }) {
26
+ super(`Versioned hash "${e}" version is invalid.`, {
39
27
  metaMessages: [
40
- `Contract address: ${e}`,
41
- `OffchainLookup sender address: ${r}`
28
+ `Expected: ${a}`,
29
+ `Received: ${r}`
42
30
  ],
43
- name: "OffchainLookupSenderMismatchError"
31
+ name: "InvalidVersionedHashVersionError"
44
32
  });
45
33
  }
46
34
  }
47
35
  export {
48
- l as OffchainLookupError,
49
- u as OffchainLookupResponseMalformedError,
50
- g as OffchainLookupSenderMismatchError
36
+ t as BlobSizeTooLargeError,
37
+ d as EmptyBlobError,
38
+ l as InvalidVersionedHashSizeError,
39
+ c as InvalidVersionedHashVersionError
51
40
  };
@@ -1,35 +1,113 @@
1
- import { batchGatewayAbi as o } from "./index72.js";
2
- import { solidityError as l } from "./index86.js";
3
- import { decodeFunctionData as f } from "./index129.js";
4
- import { encodeErrorResult as n } from "./index135.js";
5
- import { encodeFunctionResult as p } from "./index139.js";
6
- const d = "x-batch-gateway:true";
7
- async function g(t) {
8
- const { data: i, ccipRequest: c } = t, { args: [u] } = f({ abi: o, data: i }), e = [], s = [];
9
- return await Promise.all(u.map(async (r, a) => {
10
- try {
11
- s[a] = r.urls.includes(d) ? await g({ data: r.data, ccipRequest: c }) : await c(r), e[a] = !1;
12
- } catch (m) {
13
- e[a] = !0, s[a] = h(m);
1
+ import { call as h } from "./index26.js";
2
+ import { OffchainLookupSenderMismatchError as w, OffchainLookupError as b, OffchainLookupResponseMalformedError as k } from "./index164.js";
3
+ import { HttpRequestError as m } from "./index15.js";
4
+ import { decodeErrorResult as g } from "./index89.js";
5
+ import { encodeAbiParameters as q } from "./index126.js";
6
+ import { isAddressEqual as E } from "./index143.js";
7
+ import { concat as L } from "./index115.js";
8
+ import { isHex as O } from "./index147.js";
9
+ import { localBatchGatewayUrl as R, localBatchGatewayRequest as x } from "./index165.js";
10
+ import { stringify as S } from "./index105.js";
11
+ const I = "0x556f1830", T = {
12
+ name: "OffchainLookup",
13
+ type: "error",
14
+ inputs: [
15
+ {
16
+ name: "sender",
17
+ type: "address"
18
+ },
19
+ {
20
+ name: "urls",
21
+ type: "string[]"
22
+ },
23
+ {
24
+ name: "callData",
25
+ type: "bytes"
26
+ },
27
+ {
28
+ name: "callbackFunction",
29
+ type: "bytes4"
30
+ },
31
+ {
32
+ name: "extraData",
33
+ type: "bytes"
14
34
  }
15
- })), p({
16
- abi: o,
17
- functionName: "query",
18
- result: [e, s]
19
- });
35
+ ]
36
+ };
37
+ async function J(c, { blockNumber: i, blockTag: p, data: a, to: o }) {
38
+ const { args: n } = g({
39
+ data: a,
40
+ abi: [T]
41
+ }), [r, s, f, e, t] = n, { ccipRead: u } = c, d = u && typeof u?.request == "function" ? u.request : A;
42
+ try {
43
+ if (!E(o, r))
44
+ throw new w({ sender: r, to: o });
45
+ const l = s.includes(R) ? await x({
46
+ data: f,
47
+ ccipRequest: d
48
+ }) : await d({ data: f, sender: r, urls: s }), { data: y } = await h(c, {
49
+ blockNumber: i,
50
+ blockTag: p,
51
+ data: L([
52
+ e,
53
+ q([{ type: "bytes" }, { type: "bytes" }], [l, t])
54
+ ]),
55
+ to: o
56
+ });
57
+ return y;
58
+ } catch (l) {
59
+ throw new b({
60
+ callbackSelector: e,
61
+ cause: l,
62
+ data: a,
63
+ extraData: t,
64
+ sender: r,
65
+ urls: s
66
+ });
67
+ }
20
68
  }
21
- function h(t) {
22
- return t.name === "HttpRequestError" && t.status ? n({
23
- abi: o,
24
- errorName: "HttpError",
25
- args: [t.status, t.shortMessage]
26
- }) : n({
27
- abi: [l],
28
- errorName: "Error",
29
- args: ["shortMessage" in t ? t.shortMessage : t.message]
30
- });
69
+ async function A({ data: c, sender: i, urls: p }) {
70
+ let a = new Error("An unknown error occurred.");
71
+ for (let o = 0; o < p.length; o++) {
72
+ const n = p[o], r = n.includes("{data}") ? "GET" : "POST", s = r === "POST" ? { data: c, sender: i } : void 0, f = r === "POST" ? { "Content-Type": "application/json" } : {};
73
+ try {
74
+ const e = await fetch(n.replace("{sender}", i.toLowerCase()).replace("{data}", c), {
75
+ body: JSON.stringify(s),
76
+ headers: f,
77
+ method: r
78
+ });
79
+ let t;
80
+ if (e.headers.get("Content-Type")?.startsWith("application/json") ? t = (await e.json()).data : t = await e.text(), !e.ok) {
81
+ a = new m({
82
+ body: s,
83
+ details: t?.error ? S(t.error) : e.statusText,
84
+ headers: e.headers,
85
+ status: e.status,
86
+ url: n
87
+ });
88
+ continue;
89
+ }
90
+ if (!O(t)) {
91
+ a = new k({
92
+ result: t,
93
+ url: n
94
+ });
95
+ continue;
96
+ }
97
+ return t;
98
+ } catch (e) {
99
+ a = new m({
100
+ body: s,
101
+ details: e.message,
102
+ url: n
103
+ });
104
+ }
105
+ }
106
+ throw a;
31
107
  }
32
108
  export {
33
- g as localBatchGatewayRequest,
34
- d as localBatchGatewayUrl
109
+ A as ccipRequest,
110
+ J as offchainLookup,
111
+ T as offchainLookupAbiItem,
112
+ I as offchainLookupSignature
35
113
  };
@@ -1,11 +1,51 @@
1
- import { hexToBytes as i } from "./index108.js";
2
- import { bytesToHex as f } from "./index109.js";
3
- function y(o) {
4
- const { kzg: s } = o, n = o.to ?? (typeof o.blobs[0] == "string" ? "hex" : "bytes"), m = typeof o.blobs[0] == "string" ? o.blobs.map((t) => i(t)) : o.blobs, b = [];
5
- for (const t of m)
6
- b.push(Uint8Array.from(s.blobToKzgCommitment(t)));
7
- return n === "bytes" ? b : b.map((t) => f(t));
1
+ import { stringify as m } from "./index105.js";
2
+ import { BaseError as a } from "./index84.js";
3
+ import { getUrl as t } from "./index96.js";
4
+ class l extends a {
5
+ constructor({ callbackSelector: r, cause: e, data: n, extraData: f, sender: c, urls: o }) {
6
+ super(e.shortMessage || "An error occurred while fetching for an offchain result.", {
7
+ cause: e,
8
+ metaMessages: [
9
+ ...e.metaMessages || [],
10
+ e.metaMessages?.length ? "" : [],
11
+ "Offchain Gateway Call:",
12
+ o && [
13
+ " Gateway URL(s):",
14
+ ...o.map((d) => ` ${t(d)}`)
15
+ ],
16
+ ` Sender: ${c}`,
17
+ ` Data: ${n}`,
18
+ ` Callback selector: ${r}`,
19
+ ` Extra data: ${f}`
20
+ ].flat(),
21
+ name: "OffchainLookupError"
22
+ });
23
+ }
24
+ }
25
+ class u extends a {
26
+ constructor({ result: r, url: e }) {
27
+ super("Offchain gateway response is malformed. Response data must be a hex value.", {
28
+ metaMessages: [
29
+ `Gateway URL: ${t(e)}`,
30
+ `Response: ${m(r)}`
31
+ ],
32
+ name: "OffchainLookupResponseMalformedError"
33
+ });
34
+ }
35
+ }
36
+ class g extends a {
37
+ constructor({ sender: r, to: e }) {
38
+ super("Reverted sender address does not match target contract address (`to`).", {
39
+ metaMessages: [
40
+ `Contract address: ${e}`,
41
+ `OffchainLookup sender address: ${r}`
42
+ ],
43
+ name: "OffchainLookupSenderMismatchError"
44
+ });
45
+ }
8
46
  }
9
47
  export {
10
- y as blobsToCommitments
48
+ l as OffchainLookupError,
49
+ u as OffchainLookupResponseMalformedError,
50
+ g as OffchainLookupSenderMismatchError
11
51
  };
@@ -1,9 +1,35 @@
1
- import { bytesToHex as i } from "./index109.js";
2
- import { sha256 as m } from "./index166.js";
3
- function f(t) {
4
- const { commitment: e, version: s = 1 } = t, n = t.to ?? (typeof e == "string" ? "hex" : "bytes"), o = m(e);
5
- return o.set([s], 0), n === "bytes" ? o : i(o);
1
+ import { batchGatewayAbi as o } from "./index74.js";
2
+ import { solidityError as l } from "./index88.js";
3
+ import { decodeFunctionData as f } from "./index131.js";
4
+ import { encodeErrorResult as n } from "./index137.js";
5
+ import { encodeFunctionResult as p } from "./index141.js";
6
+ const d = "x-batch-gateway:true";
7
+ async function g(t) {
8
+ const { data: i, ccipRequest: c } = t, { args: [u] } = f({ abi: o, data: i }), e = [], s = [];
9
+ return await Promise.all(u.map(async (r, a) => {
10
+ try {
11
+ s[a] = r.urls.includes(d) ? await g({ data: r.data, ccipRequest: c }) : await c(r), e[a] = !1;
12
+ } catch (m) {
13
+ e[a] = !0, s[a] = h(m);
14
+ }
15
+ })), p({
16
+ abi: o,
17
+ functionName: "query",
18
+ result: [e, s]
19
+ });
20
+ }
21
+ function h(t) {
22
+ return t.name === "HttpRequestError" && t.status ? n({
23
+ abi: o,
24
+ errorName: "HttpError",
25
+ args: [t.status, t.shortMessage]
26
+ }) : n({
27
+ abi: [l],
28
+ errorName: "Error",
29
+ args: ["shortMessage" in t ? t.shortMessage : t.message]
30
+ });
6
31
  }
7
32
  export {
8
- f as commitmentToVersionedHash
33
+ g as localBatchGatewayRequest,
34
+ d as localBatchGatewayUrl
9
35
  };
@@ -1,9 +1,11 @@
1
- import { sha256 as o } from "./index185.js";
2
- import { isHex as s } from "./index145.js";
3
- import { toBytes as r } from "./index108.js";
4
- function p(t, i) {
5
- return o(s(t, { strict: !1 }) ? r(t) : t);
1
+ import { hexToBytes as i } from "./index110.js";
2
+ import { bytesToHex as f } from "./index111.js";
3
+ function y(o) {
4
+ const { kzg: s } = o, n = o.to ?? (typeof o.blobs[0] == "string" ? "hex" : "bytes"), m = typeof o.blobs[0] == "string" ? o.blobs.map((t) => i(t)) : o.blobs, b = [];
5
+ for (const t of m)
6
+ b.push(Uint8Array.from(s.blobToKzgCommitment(t)));
7
+ return n === "bytes" ? b : b.map((t) => f(t));
6
8
  }
7
9
  export {
8
- p as sha256
10
+ y as blobsToCommitments
9
11
  };