@coinbase/cdp-hooks 0.0.36 → 0.0.37

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 (251) hide show
  1. package/README.md +84 -5
  2. package/dist/esm/index.js +25 -23
  3. package/dist/esm/index10.js +10 -33
  4. package/dist/esm/index100.js +24 -32
  5. package/dist/esm/index101.js +22 -182
  6. package/dist/esm/index102.js +32 -6
  7. package/dist/esm/index103.js +194 -2
  8. package/dist/esm/index104.js +6 -10
  9. package/dist/esm/index105.js +2 -19
  10. package/dist/esm/index106.js +10 -25
  11. package/dist/esm/index107.js +18 -8
  12. package/dist/esm/index108.js +24 -52
  13. package/dist/esm/index109.js +8 -45
  14. package/dist/esm/index11.js +8 -3
  15. package/dist/esm/index110.js +55 -8
  16. package/dist/esm/index111.js +45 -7
  17. package/dist/esm/index112.js +8 -16
  18. package/dist/esm/index113.js +7 -18
  19. package/dist/esm/index114.js +16 -24
  20. package/dist/esm/index115.js +18 -16
  21. package/dist/esm/index116.js +22 -52
  22. package/dist/esm/index117.js +16 -11
  23. package/dist/esm/index118.js +53 -159
  24. package/dist/esm/index119.js +11 -21
  25. package/dist/esm/index12.js +31 -8
  26. package/dist/esm/index120.js +157 -124
  27. package/dist/esm/index121.js +20 -37
  28. package/dist/esm/index122.js +127 -6
  29. package/dist/esm/index123.js +35 -24
  30. package/dist/esm/index124.js +6 -191
  31. package/dist/esm/index125.js +28 -4
  32. package/dist/esm/index126.js +184 -57
  33. package/dist/esm/index127.js +4 -3
  34. package/dist/esm/index128.js +60 -16
  35. package/dist/esm/index129.js +3 -17
  36. package/dist/esm/index13.js +3 -68
  37. package/dist/esm/index130.js +19 -22
  38. package/dist/esm/index131.js +16 -11
  39. package/dist/esm/index132.js +22 -33
  40. package/dist/esm/index133.js +12 -3
  41. package/dist/esm/index134.js +33 -17
  42. package/dist/esm/index135.js +3 -28
  43. package/dist/esm/index136.js +18 -35
  44. package/dist/esm/index137.js +27 -7
  45. package/dist/esm/index138.js +34 -24
  46. package/dist/esm/index139.js +7 -28
  47. package/dist/esm/index14.js +8 -8
  48. package/dist/esm/index140.js +24 -63
  49. package/dist/esm/index141.js +28 -9
  50. package/dist/esm/index142.js +62 -31
  51. package/dist/esm/index143.js +9 -27
  52. package/dist/esm/index144.js +32 -23
  53. package/dist/esm/index145.js +27 -3
  54. package/dist/esm/index146.js +24 -14
  55. package/dist/esm/index147.js +3 -103
  56. package/dist/esm/index148.js +14 -64
  57. package/dist/esm/index149.js +103 -5
  58. package/dist/esm/index15.js +67 -27
  59. package/dist/esm/index150.js +64 -6
  60. package/dist/esm/index151.js +5 -27
  61. package/dist/esm/index152.js +6 -39
  62. package/dist/esm/index153.js +27 -13
  63. package/dist/esm/index154.js +38 -41
  64. package/dist/esm/index155.js +13 -5
  65. package/dist/esm/index156.js +42 -11
  66. package/dist/esm/index157.js +5 -19
  67. package/dist/esm/index158.js +11 -78
  68. package/dist/esm/index159.js +20 -2
  69. package/dist/esm/index16.js +9 -70
  70. package/dist/esm/index160.js +74 -33
  71. package/dist/esm/index161.js +2 -111
  72. package/dist/esm/index162.js +27 -38
  73. package/dist/esm/index163.js +108 -30
  74. package/dist/esm/index164.js +48 -8
  75. package/dist/esm/index165.js +32 -6
  76. package/dist/esm/index166.js +8 -6
  77. package/dist/esm/index167.js +6 -11
  78. package/dist/esm/index168.js +6 -10
  79. package/dist/esm/index169.js +11 -13
  80. package/dist/esm/index17.js +26 -17
  81. package/dist/esm/index170.js +9 -31
  82. package/dist/esm/index171.js +14 -5
  83. package/dist/esm/index172.js +32 -8
  84. package/dist/esm/index173.js +5 -20
  85. package/dist/esm/index174.js +19 -31
  86. package/dist/esm/index175.js +31 -20
  87. package/dist/esm/index176.js +20 -3
  88. package/dist/esm/index177.js +3 -17
  89. package/dist/esm/index178.js +17 -10
  90. package/dist/esm/index179.js +10 -21
  91. package/dist/esm/index18.js +68 -108
  92. package/dist/esm/index180.js +21 -22
  93. package/dist/esm/index181.js +22 -5
  94. package/dist/esm/index182.js +5 -5
  95. package/dist/esm/index183.js +5 -8
  96. package/dist/esm/index184.js +8 -104
  97. package/dist/esm/index185.js +105 -3
  98. package/dist/esm/index186.js +3 -19
  99. package/dist/esm/index187.js +17 -170
  100. package/dist/esm/index188.js +170 -16
  101. package/dist/esm/index189.js +18 -10
  102. package/dist/esm/index19.js +19 -60
  103. package/dist/esm/index190.js +12 -40
  104. package/dist/esm/index191.js +36 -2
  105. package/dist/esm/index192.js +41 -4
  106. package/dist/esm/index193.js +39 -9
  107. package/dist/esm/index194.js +2 -20
  108. package/dist/esm/index195.js +4 -7
  109. package/dist/esm/index196.js +9 -10
  110. package/dist/esm/index197.js +19 -66
  111. package/dist/esm/index198.js +7 -65
  112. package/dist/esm/index199.js +10 -184
  113. package/dist/esm/index20.js +110 -24
  114. package/dist/esm/index200.js +66 -22
  115. package/dist/esm/index201.js +61 -38
  116. package/dist/esm/index202.js +178 -69
  117. package/dist/esm/index203.js +21 -39
  118. package/dist/esm/index204.js +35 -9
  119. package/dist/esm/index205.js +70 -7
  120. package/dist/esm/index206.js +40 -7
  121. package/dist/esm/index207.js +16 -6
  122. package/dist/esm/index208.js +13 -36
  123. package/dist/esm/index209.js +7 -15
  124. package/dist/esm/index21.js +51 -31
  125. package/dist/esm/index210.js +6 -8
  126. package/dist/esm/index211.js +35 -11
  127. package/dist/esm/index212.js +15 -9
  128. package/dist/esm/index213.js +8 -16
  129. package/dist/esm/index214.js +12 -22
  130. package/dist/esm/index215.js +9 -30
  131. package/dist/esm/index216.js +17 -2
  132. package/dist/esm/index217.js +21 -12
  133. package/dist/esm/index218.js +30 -12
  134. package/dist/esm/index219.js +2 -48
  135. package/dist/esm/index22.js +23 -36
  136. package/dist/esm/index220.js +12 -8
  137. package/dist/esm/index221.js +12 -13
  138. package/dist/esm/index222.js +46 -13
  139. package/dist/esm/index223.js +9 -8
  140. package/dist/esm/index224.js +13 -15
  141. package/dist/esm/index225.js +14 -24
  142. package/dist/esm/index226.js +8 -11
  143. package/dist/esm/index227.js +14 -23
  144. package/dist/esm/index228.js +24 -51
  145. package/dist/esm/index229.js +11 -17
  146. package/dist/esm/index23.js +28 -46
  147. package/dist/esm/index230.js +24 -14
  148. package/dist/esm/index231.js +51 -11
  149. package/dist/esm/index232.js +17 -103
  150. package/dist/esm/index233.js +14 -6
  151. package/dist/esm/index234.js +11 -224
  152. package/dist/esm/index235.js +103 -6
  153. package/dist/esm/index236.js +7 -7
  154. package/dist/esm/index237.js +223 -25
  155. package/dist/esm/index238.js +6 -19
  156. package/dist/esm/index239.js +7 -147
  157. package/dist/esm/index24.js +34 -160
  158. package/dist/esm/index240.js +26 -12
  159. package/dist/esm/index241.js +20 -36
  160. package/dist/esm/index242.js +146 -41
  161. package/dist/esm/index245.js +2 -2
  162. package/dist/esm/index248.js +5 -5
  163. package/dist/esm/index249.js +2 -2
  164. package/dist/esm/index25.js +55 -36
  165. package/dist/esm/index251.js +1 -1
  166. package/dist/esm/index253.js +2 -2
  167. package/dist/esm/index254.js +2 -2
  168. package/dist/esm/index255.js +1 -1
  169. package/dist/esm/index256.js +1 -1
  170. package/dist/esm/index26.js +162 -8
  171. package/dist/esm/index260.js +1 -1
  172. package/dist/esm/index27.js +39 -31
  173. package/dist/esm/index28.js +8 -35
  174. package/dist/esm/index29.js +30 -8
  175. package/dist/esm/index3.js +75 -73
  176. package/dist/esm/index30.js +35 -28
  177. package/dist/esm/index31.js +9 -46
  178. package/dist/esm/index32.js +24 -83
  179. package/dist/esm/index33.js +43 -37
  180. package/dist/esm/index34.js +88 -8
  181. package/dist/esm/index35.js +40 -6
  182. package/dist/esm/index36.js +8 -16
  183. package/dist/esm/index37.js +6 -8
  184. package/dist/esm/index38.js +16 -13
  185. package/dist/esm/index39.js +8 -7
  186. package/dist/esm/index40.js +13 -9
  187. package/dist/esm/index41.js +7 -16
  188. package/dist/esm/index42.js +9 -46
  189. package/dist/esm/index43.js +16 -13
  190. package/dist/esm/index44.js +46 -16
  191. package/dist/esm/index45.js +13 -13
  192. package/dist/esm/index46.js +15 -5
  193. package/dist/esm/index47.js +13 -35
  194. package/dist/esm/index48.js +5 -8
  195. package/dist/esm/index49.js +34 -7
  196. package/dist/esm/index50.js +9 -25
  197. package/dist/esm/index51.js +8 -10
  198. package/dist/esm/index52.js +25 -14
  199. package/dist/esm/index53.js +10 -11
  200. package/dist/esm/index54.js +14 -116
  201. package/dist/esm/index55.js +11 -33
  202. package/dist/esm/index56.js +113 -76
  203. package/dist/esm/index57.js +30 -174
  204. package/dist/esm/index58.js +77 -42
  205. package/dist/esm/index59.js +177 -6
  206. package/dist/esm/index6.js +2 -2
  207. package/dist/esm/index60.js +44 -13
  208. package/dist/esm/index61.js +5 -12
  209. package/dist/esm/index62.js +13 -99
  210. package/dist/esm/index63.js +13 -72
  211. package/dist/esm/index64.js +95 -83
  212. package/dist/esm/index65.js +62 -138
  213. package/dist/esm/index66.js +71 -120
  214. package/dist/esm/index67.js +126 -46
  215. package/dist/esm/index68.js +136 -23
  216. package/dist/esm/index69.js +65 -102
  217. package/dist/esm/index7.js +2 -2
  218. package/dist/esm/index70.js +23 -6
  219. package/dist/esm/index71.js +102 -128
  220. package/dist/esm/index72.js +7 -276
  221. package/dist/esm/index73.js +132 -3
  222. package/dist/esm/index74.js +276 -4
  223. package/dist/esm/index75.js +3 -9
  224. package/dist/esm/index76.js +4 -2
  225. package/dist/esm/index77.js +9 -2
  226. package/dist/esm/index78.js +2 -3
  227. package/dist/esm/index79.js +2 -327
  228. package/dist/esm/index8.js +5 -5
  229. package/dist/esm/index80.js +3 -14
  230. package/dist/esm/index81.js +326 -4
  231. package/dist/esm/index82.js +12 -54
  232. package/dist/esm/index83.js +5 -2
  233. package/dist/esm/index84.js +54 -6
  234. package/dist/esm/index85.js +2 -215
  235. package/dist/esm/index86.js +8 -32
  236. package/dist/esm/index87.js +213 -20
  237. package/dist/esm/index88.js +32 -6
  238. package/dist/esm/index89.js +21 -73
  239. package/dist/esm/index9.js +2 -2
  240. package/dist/esm/index90.js +5 -5
  241. package/dist/esm/index91.js +73 -5
  242. package/dist/esm/index92.js +5 -35
  243. package/dist/esm/index93.js +5 -75
  244. package/dist/esm/index94.js +36 -3
  245. package/dist/esm/index95.js +67 -15
  246. package/dist/esm/index96.js +3 -452
  247. package/dist/esm/index97.js +15 -22
  248. package/dist/esm/index98.js +440 -15
  249. package/dist/esm/index99.js +21 -24
  250. package/dist/types/index.d.ts +16 -0
  251. 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
  };