@coinbase/cdp-hooks 0.0.21 → 0.0.23

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 (250) hide show
  1. package/README.md +87 -73
  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 +36 -9
  126. package/dist/esm/index212.js +15 -16
  127. package/dist/esm/index213.js +8 -22
  128. package/dist/esm/index214.js +8 -26
  129. package/dist/esm/index215.js +10 -2
  130. package/dist/esm/index216.js +16 -13
  131. package/dist/esm/index217.js +21 -11
  132. package/dist/esm/index218.js +30 -47
  133. package/dist/esm/index219.js +2 -10
  134. package/dist/esm/index22.js +23 -36
  135. package/dist/esm/index220.js +10 -10
  136. package/dist/esm/index221.js +11 -13
  137. package/dist/esm/index222.js +47 -8
  138. package/dist/esm/index223.js +9 -15
  139. package/dist/esm/index224.js +12 -23
  140. package/dist/esm/index225.js +14 -11
  141. package/dist/esm/index226.js +8 -24
  142. package/dist/esm/index227.js +15 -51
  143. package/dist/esm/index228.js +24 -17
  144. package/dist/esm/index229.js +11 -14
  145. package/dist/esm/index23.js +28 -46
  146. package/dist/esm/index230.js +24 -11
  147. package/dist/esm/index231.js +50 -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/index3.js +105 -105
  175. package/dist/esm/index30.js +35 -28
  176. package/dist/esm/index31.js +9 -46
  177. package/dist/esm/index32.js +24 -83
  178. package/dist/esm/index33.js +43 -37
  179. package/dist/esm/index34.js +88 -8
  180. package/dist/esm/index35.js +40 -6
  181. package/dist/esm/index36.js +8 -16
  182. package/dist/esm/index37.js +6 -8
  183. package/dist/esm/index38.js +16 -13
  184. package/dist/esm/index39.js +8 -7
  185. package/dist/esm/index40.js +13 -9
  186. package/dist/esm/index41.js +7 -16
  187. package/dist/esm/index42.js +9 -46
  188. package/dist/esm/index43.js +16 -13
  189. package/dist/esm/index44.js +46 -16
  190. package/dist/esm/index45.js +13 -13
  191. package/dist/esm/index46.js +15 -5
  192. package/dist/esm/index47.js +13 -35
  193. package/dist/esm/index48.js +5 -8
  194. package/dist/esm/index49.js +34 -7
  195. package/dist/esm/index50.js +9 -25
  196. package/dist/esm/index51.js +8 -10
  197. package/dist/esm/index52.js +25 -14
  198. package/dist/esm/index53.js +10 -11
  199. package/dist/esm/index54.js +14 -116
  200. package/dist/esm/index55.js +11 -33
  201. package/dist/esm/index56.js +113 -76
  202. package/dist/esm/index57.js +30 -174
  203. package/dist/esm/index58.js +77 -42
  204. package/dist/esm/index59.js +177 -6
  205. package/dist/esm/index6.js +2 -2
  206. package/dist/esm/index60.js +44 -13
  207. package/dist/esm/index61.js +5 -12
  208. package/dist/esm/index62.js +13 -99
  209. package/dist/esm/index63.js +13 -72
  210. package/dist/esm/index64.js +95 -83
  211. package/dist/esm/index65.js +62 -138
  212. package/dist/esm/index66.js +71 -120
  213. package/dist/esm/index67.js +126 -46
  214. package/dist/esm/index68.js +136 -23
  215. package/dist/esm/index69.js +65 -102
  216. package/dist/esm/index7.js +2 -2
  217. package/dist/esm/index70.js +23 -6
  218. package/dist/esm/index71.js +102 -128
  219. package/dist/esm/index72.js +7 -276
  220. package/dist/esm/index73.js +132 -3
  221. package/dist/esm/index74.js +276 -4
  222. package/dist/esm/index75.js +3 -9
  223. package/dist/esm/index76.js +4 -2
  224. package/dist/esm/index77.js +9 -2
  225. package/dist/esm/index78.js +2 -3
  226. package/dist/esm/index79.js +2 -327
  227. package/dist/esm/index8.js +5 -5
  228. package/dist/esm/index80.js +3 -14
  229. package/dist/esm/index81.js +326 -4
  230. package/dist/esm/index82.js +12 -54
  231. package/dist/esm/index83.js +5 -2
  232. package/dist/esm/index84.js +54 -6
  233. package/dist/esm/index85.js +2 -215
  234. package/dist/esm/index86.js +8 -32
  235. package/dist/esm/index87.js +213 -20
  236. package/dist/esm/index88.js +32 -6
  237. package/dist/esm/index89.js +21 -73
  238. package/dist/esm/index9.js +2 -2
  239. package/dist/esm/index90.js +5 -5
  240. package/dist/esm/index91.js +73 -5
  241. package/dist/esm/index92.js +5 -35
  242. package/dist/esm/index93.js +5 -75
  243. package/dist/esm/index94.js +36 -3
  244. package/dist/esm/index95.js +67 -15
  245. package/dist/esm/index96.js +3 -452
  246. package/dist/esm/index97.js +15 -22
  247. package/dist/esm/index98.js +440 -15
  248. package/dist/esm/index99.js +21 -24
  249. package/dist/types/index.d.ts +22 -19
  250. package/package.json +3 -3
package/README.md CHANGED
@@ -359,13 +359,13 @@ Smart Accounts provide advanced account abstraction features with React hooks.
359
359
 
360
360
  #### Send User Operations
361
361
 
362
- Send user operations from Smart Accounts with support for multiple calls and paymaster sponsorship:
362
+ Send user operations from Smart Accounts with support for multiple calls and paymaster sponsorship. The hook returns a method to execute the user operation and `status`, `data`, and `error` properties to read the result of the user operation:
363
363
 
364
364
  ```tsx
365
365
  import { useSendUserOperation, useCurrentUser } from "@coinbase/cdp-hooks";
366
366
 
367
367
  function SendUserOperation() {
368
- const { sendUserOperation, data } = useSendUserOperation();
368
+ const { sendUserOperation, status, data, error } = useSendUserOperation();
369
369
  const { currentUser } = useCurrentUser();
370
370
 
371
371
  const handleSendUserOperation = async () => {
@@ -392,36 +392,32 @@ function SendUserOperation() {
392
392
 
393
393
  return (
394
394
  <div>
395
- {(() => {
396
- switch (data.status) {
397
- case "idle":
398
- return <p>Ready to send user operation</p>;
399
- case "pending":
400
- return (
401
- <div>
402
- <p>User operation pending...</p>
403
- <p>Hash: {data.hash}</p>
404
- </div>
405
- );
406
- case "success":
407
- return (
408
- <div>
409
- <p>User operation successful!</p>
410
- <p>Transaction Hash: {data.result.transactionHash}</p>
411
- </div>
412
- );
413
- case "error":
414
- return (
415
- <div>
416
- <p>User operation failed</p>
417
- <p>Error: {data.error.message}</p>
418
- </div>
419
- );
420
- }
421
- })()}
395
+ {status === "idle" && <p>Ready to send user operation</p>}
396
+
397
+ {status === "pending" && (
398
+ <div>
399
+ <p>User operation pending...</p>
400
+ {data && <p>User Op Hash: {data.userOpHash}</p>}
401
+ </div>
402
+ )}
403
+
404
+ {status === "success" && data && (
405
+ <div>
406
+ <p>User operation successful!</p>
407
+ <p>Transaction Hash: {data.transactionHash}</p>
408
+ <p>Status: {data.status}</p>
409
+ </div>
410
+ )}
411
+
412
+ {status === "error" && (
413
+ <div>
414
+ <p>User operation failed</p>
415
+ <p>Error: {error?.message}</p>
416
+ </div>
417
+ )}
422
418
 
423
- <button onClick={handleSendUserOperation}>
424
- Send User Operation
419
+ <button onClick={handleSendUserOperation} disabled={status === "pending"}>
420
+ {status === "pending" ? "Sending..." : "Send User Operation"}
425
421
  </button>
426
422
  </div>
427
423
  );
@@ -430,57 +426,75 @@ function SendUserOperation() {
430
426
 
431
427
  #### Track User Operation Status
432
428
 
433
- Use the `useWaitForUserOperation` hook to poll for user operation status and provide real-time updates:
429
+ Use the `useWaitForUserOperation` hook to poll for user operation status and provide real-time updates. This hook immediately fires off a query to get the result of the user operation:
434
430
 
435
431
  ```tsx
436
- import { useWaitForUserOperation, useCurrentUser } from "@coinbase/cdp-hooks";
432
+ import { useWaitForUserOperation, useState } from "react";
437
433
 
438
434
  function WaitForUserOperation() {
439
- const { waitForUserOperation, data } = useWaitForUserOperation();
440
-
441
- const handleWaitForOperation = () => {
442
- // Start waiting for a specific user operation
443
- waitForUserOperation({
444
- userOperationHash: "0x1234...",
445
- evmSmartAccount: "0x1234567890123456789012345678901234567890",
446
- network: "base-sepolia"
447
- });
448
- };
435
+ const { status, data, error } = useWaitForUserOperation({
436
+ userOperationHash: "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
437
+ evmSmartAccount: "0x1234567890123456789012345678901234567890",
438
+ network: "base-sepolia"
439
+ });
440
+
441
+ return (
442
+ <div>
443
+ {status === "idle" && <p>No user operation being tracked</p>}
444
+
445
+ {status === "pending" && (
446
+ <div>
447
+ <p>User operation pending...</p>
448
+ {data && <p>User Op Hash: {data.userOpHash}</p>}
449
+ </div>
450
+ )}
451
+
452
+ {status === "success" && data && (
453
+ <div>
454
+ <p>User operation successful!</p>
455
+ <p>Transaction Hash: {data.transactionHash}</p>
456
+ <p>Status: {data.status}</p>
457
+ </div>
458
+ )}
459
+
460
+ {status === "error" && (
461
+ <div>
462
+ <p>User operation failed</p>
463
+ <p>Error: {error?.message}</p>
464
+ </div>
465
+ )}
466
+ </div>
467
+ );
468
+ }
469
+ ```
470
+
471
+ #### Conditional Polling
472
+
473
+ You can control when the `useWaitForUserOperation` hook should start polling using the `enabled` parameter:
474
+
475
+ ```tsx
476
+ function ConditionalWaitForUserOperation() {
477
+ const [shouldPoll, setShouldPoll] = useState(false);
478
+
479
+ const { status, data, error } = useWaitForUserOperation({
480
+ userOperationHash: "0x1234...",
481
+ evmSmartAccount: "0x5678...",
482
+ network: "base-sepolia",
483
+ enabled: shouldPoll // Only poll when this is true
484
+ });
449
485
 
450
486
  return (
451
487
  <div>
452
- <button onClick={handleWaitForOperation}>
453
- Wait for User Operation
488
+ <button onClick={() => setShouldPoll(true)}>
489
+ Start Polling
490
+ </button>
491
+ <button onClick={() => setShouldPoll(false)}>
492
+ Stop Polling
454
493
  </button>
455
494
 
456
- {(() => {
457
- switch (data.status) {
458
- case "idle":
459
- return <p>No user operation being tracked</p>;
460
- case "pending":
461
- return (
462
- <div>
463
- <p>User operation pending...</p>
464
- <p>Hash: {data.hash}</p>
465
- </div>
466
- );
467
- case "success":
468
- return (
469
- <div>
470
- <p>User operation successful!</p>
471
- <p>Transaction Hash: {data.result.transactionHash}</p>
472
- <p>Status: {data.result.status}</p>
473
- </div>
474
- );
475
- case "error":
476
- return (
477
- <div>
478
- <p>User operation failed</p>
479
- <p>Error: {data.error.message}</p>
480
- </div>
481
- );
482
- }
483
- })()}
495
+ <p>Status: {status}</p>
496
+ {data && <p>User Operation Status: {data.status}</p>}
497
+ {error && <p>Error: {error.message}</p>}
484
498
  </div>
485
499
  );
486
500
  }
@@ -1,35 +1,12 @@
1
- import { parseAccount as I } from "./index11.js";
2
- import { uid as M } from "./index12.js";
3
- function O(n) {
4
- const { batch: s, chain: e, ccipRead: u, key: d = "base", name: f = "Base Client", type: m = "base" } = n, o = n.experimental_blockTag ?? (typeof e?.experimental_preconfirmationTime == "number" ? "pending" : void 0), b = e?.blockTime ?? 12e3, p = Math.min(Math.max(Math.floor(b / 2), 500), 4e3), t = n.pollingInterval ?? p, g = n.cacheTime ?? t, x = n.account ? I(n.account) : void 0, { config: h, request: T, value: k } = n.transport({
5
- chain: e,
6
- pollingInterval: t
7
- }), _ = { ...h, ...k }, c = {
8
- account: x,
9
- batch: s,
10
- cacheTime: g,
11
- ccipRead: u,
12
- chain: e,
13
- key: d,
14
- name: f,
15
- pollingInterval: t,
16
- request: T,
17
- transport: _,
18
- type: m,
19
- uid: M(),
20
- ...o ? { experimental_blockTag: o } : {}
21
- };
22
- function i(l) {
23
- return (v) => {
24
- const a = v(l);
25
- for (const y in c)
26
- delete a[y];
27
- const r = { ...l, ...a };
28
- return Object.assign(r, { extend: i(r) });
29
- };
30
- }
31
- return Object.assign(c, { extend: i(c) });
32
- }
1
+ import { contracts as o } from "./index190.js";
2
+ import { formatters as r } from "./index191.js";
3
+ import { serializers as t } from "./index192.js";
4
+ const e = {
5
+ blockTime: 2e3,
6
+ contracts: o,
7
+ formatters: r,
8
+ serializers: t
9
+ };
33
10
  export {
34
- O as createClient
11
+ e as chainConfig
35
12
  };
@@ -1,37 +1,29 @@
1
- import { formatEther as E } from "./index90.js";
2
- import { formatGwei as t } from "./index91.js";
3
- import { BaseError as y } from "./index82.js";
4
- import { prettyPrint as l } from "./index93.js";
5
- class x extends y {
6
- constructor(e, { account: a, docsPath: n, chain: m, data: f, gas: u, gasPrice: r, maxFeePerGas: o, maxPriorityFeePerGas: s, nonce: d, to: p, value: i }) {
7
- const g = l({
8
- from: a?.address,
9
- to: p,
10
- value: typeof i < "u" && `${E(i)} ${m?.nativeCurrency?.symbol || "ETH"}`,
11
- data: f,
12
- gas: u,
13
- gasPrice: typeof r < "u" && `${t(r)} gwei`,
14
- maxFeePerGas: typeof o < "u" && `${t(o)} gwei`,
15
- maxPriorityFeePerGas: typeof s < "u" && `${t(s)} gwei`,
16
- nonce: d
1
+ import { BaseError as o } from "./index84.js";
2
+ class i extends o {
3
+ constructor({ max: e, min: r, signed: s, size: a, value: t }) {
4
+ super(`Number "${t}" is not in safe ${a ? `${a * 8}-bit ${s ? "signed" : "unsigned"} ` : ""}integer range ${e ? `(${r} to ${e})` : `(above ${r})`}`, { name: "IntegerOutOfRangeError" });
5
+ }
6
+ }
7
+ class u extends o {
8
+ constructor(e) {
9
+ super(`Bytes value "${e}" is not a valid boolean. The bytes array must contain a single byte of either a 0 or 1 value.`, {
10
+ name: "InvalidBytesBooleanError"
17
11
  });
18
- super(e.shortMessage, {
19
- cause: e,
20
- docsPath: n,
21
- metaMessages: [
22
- ...e.metaMessages ? [...e.metaMessages, " "] : [],
23
- "Estimate Gas Arguments:",
24
- g
25
- ].filter(Boolean),
26
- name: "EstimateGasExecutionError"
27
- }), Object.defineProperty(this, "cause", {
28
- enumerable: !0,
29
- configurable: !0,
30
- writable: !0,
31
- value: void 0
32
- }), this.cause = e;
12
+ }
13
+ }
14
+ class c extends o {
15
+ constructor(e) {
16
+ super(`Hex value "${e}" is not a valid boolean. The hex value must be "0x0" (false) or "0x1" (true).`, { name: "InvalidHexBooleanError" });
17
+ }
18
+ }
19
+ class v extends o {
20
+ constructor({ givenSize: e, maxSize: r }) {
21
+ super(`Size cannot exceed ${r} bytes. Given size: ${e} bytes.`, { name: "SizeOverflowError" });
33
22
  }
34
23
  }
35
24
  export {
36
- x as EstimateGasExecutionError
25
+ i as IntegerOutOfRangeError,
26
+ u as InvalidBytesBooleanError,
27
+ c as InvalidHexBooleanError,
28
+ v as SizeOverflowError
37
29
  };
@@ -1,196 +1,36 @@
1
- import { formatGwei as a } from "./index91.js";
2
- import { BaseError as t } from "./index82.js";
3
- class s extends t {
4
- constructor({ cause: r, message: e } = {}) {
5
- const n = e?.replace("execution reverted: ", "")?.replace("execution reverted", "");
6
- super(`Execution reverted ${n ? `with reason: ${n}` : "for an unknown reason"}.`, {
7
- cause: r,
8
- name: "ExecutionRevertedError"
9
- });
10
- }
11
- }
12
- Object.defineProperty(s, "code", {
13
- enumerable: !0,
14
- configurable: !0,
15
- writable: !0,
16
- value: 3
17
- });
18
- Object.defineProperty(s, "nodeMessage", {
19
- enumerable: !0,
20
- configurable: !0,
21
- writable: !0,
22
- value: /execution reverted/
23
- });
24
- class c extends t {
25
- constructor({ cause: r, maxFeePerGas: e } = {}) {
26
- super(`The fee cap (\`maxFeePerGas\`${e ? ` = ${a(e)} gwei` : ""}) cannot be higher than the maximum allowed value (2^256-1).`, {
27
- cause: r,
28
- name: "FeeCapTooHighError"
29
- });
30
- }
31
- }
32
- Object.defineProperty(c, "nodeMessage", {
33
- enumerable: !0,
34
- configurable: !0,
35
- writable: !0,
36
- value: /max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/
37
- });
38
- class i extends t {
39
- constructor({ cause: r, maxFeePerGas: e } = {}) {
40
- super(`The fee cap (\`maxFeePerGas\`${e ? ` = ${a(e)}` : ""} gwei) cannot be lower than the block base fee.`, {
41
- cause: r,
42
- name: "FeeCapTooLowError"
43
- });
44
- }
45
- }
46
- Object.defineProperty(i, "nodeMessage", {
47
- enumerable: !0,
48
- configurable: !0,
49
- writable: !0,
50
- value: /max fee per gas less than block base fee|fee cap less than block base fee|transaction is outdated/
51
- });
52
- class u extends t {
53
- constructor({ cause: r, nonce: e } = {}) {
54
- super(`Nonce provided for the transaction ${e ? `(${e}) ` : ""}is higher than the next one expected.`, { cause: r, name: "NonceTooHighError" });
55
- }
56
- }
57
- Object.defineProperty(u, "nodeMessage", {
58
- enumerable: !0,
59
- configurable: !0,
60
- writable: !0,
61
- value: /nonce too high/
62
- });
63
- class l extends t {
64
- constructor({ cause: r, nonce: e } = {}) {
65
- super([
66
- `Nonce provided for the transaction ${e ? `(${e}) ` : ""}is lower than the current nonce of the account.`,
67
- "Try increasing the nonce or find the latest nonce with `getTransactionCount`."
68
- ].join(`
69
- `), { cause: r, name: "NonceTooLowError" });
70
- }
71
- }
72
- Object.defineProperty(l, "nodeMessage", {
73
- enumerable: !0,
74
- configurable: !0,
75
- writable: !0,
76
- value: /nonce too low|transaction already imported|already known/
77
- });
78
- class d extends t {
79
- constructor({ cause: r, nonce: e } = {}) {
80
- super(`Nonce provided for the transaction ${e ? `(${e}) ` : ""}exceeds the maximum allowed nonce.`, { cause: r, name: "NonceMaxValueError" });
81
- }
82
- }
83
- Object.defineProperty(d, "nodeMessage", {
84
- enumerable: !0,
85
- configurable: !0,
86
- writable: !0,
87
- value: /nonce has max value/
88
- });
89
- class h extends t {
90
- constructor({ cause: r } = {}) {
91
- super([
92
- "The total cost (gas * gas fee + value) of executing this transaction exceeds the balance of the account."
93
- ].join(`
94
- `), {
95
- cause: r,
1
+ import { BaseError as r } from "./index84.js";
2
+ class s extends r {
3
+ constructor({ data: a }) {
4
+ super("Unable to extract image from metadata. The metadata may be malformed or invalid.", {
96
5
  metaMessages: [
97
- "This error could arise when the account does not have enough funds to:",
98
- " - pay for the total gas fee,",
99
- " - pay for the value to send.",
100
- " ",
101
- "The cost of the transaction is calculated as `gas * gas fee + value`, where:",
102
- " - `gas` is the amount of gas needed for transaction to execute,",
103
- " - `gas fee` is the gas fee,",
104
- " - `value` is the amount of ether to send to the recipient."
6
+ "- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.",
7
+ "",
8
+ `Provided data: ${JSON.stringify(a)}`
105
9
  ],
106
- name: "InsufficientFundsError"
10
+ name: "EnsAvatarInvalidMetadataError"
107
11
  });
108
12
  }
109
13
  }
110
- Object.defineProperty(h, "nodeMessage", {
111
- enumerable: !0,
112
- configurable: !0,
113
- writable: !0,
114
- value: /insufficient funds|exceeds transaction sender account balance/
115
- });
116
- class f extends t {
117
- constructor({ cause: r, gas: e } = {}) {
118
- super(`The amount of gas ${e ? `(${e}) ` : ""}provided for the transaction exceeds the limit allowed for the block.`, {
119
- cause: r,
120
- name: "IntrinsicGasTooHighError"
14
+ class o extends r {
15
+ constructor({ reason: a }) {
16
+ super(`ENS NFT avatar URI is invalid. ${a}`, {
17
+ name: "EnsAvatarInvalidNftUriError"
121
18
  });
122
19
  }
123
20
  }
124
- Object.defineProperty(f, "nodeMessage", {
125
- enumerable: !0,
126
- configurable: !0,
127
- writable: !0,
128
- value: /intrinsic gas too high|gas limit reached/
129
- });
130
- class p extends t {
131
- constructor({ cause: r, gas: e } = {}) {
132
- super(`The amount of gas ${e ? `(${e}) ` : ""}provided for the transaction is too low.`, {
133
- cause: r,
134
- name: "IntrinsicGasTooLowError"
135
- });
21
+ class n extends r {
22
+ constructor({ uri: a }) {
23
+ super(`Unable to resolve ENS avatar URI "${a}". The URI may be malformed, invalid, or does not respond with a valid image.`, { name: "EnsAvatarUriResolutionError" });
136
24
  }
137
25
  }
138
- Object.defineProperty(p, "nodeMessage", {
139
- enumerable: !0,
140
- configurable: !0,
141
- writable: !0,
142
- value: /intrinsic gas too low/
143
- });
144
- class g extends t {
145
- constructor({ cause: r }) {
146
- super("The transaction type is not supported for this chain.", {
147
- cause: r,
148
- name: "TransactionTypeNotSupportedError"
149
- });
150
- }
151
- }
152
- Object.defineProperty(g, "nodeMessage", {
153
- enumerable: !0,
154
- configurable: !0,
155
- writable: !0,
156
- value: /transaction type not valid/
157
- });
158
- class b extends t {
159
- constructor({ cause: r, maxPriorityFeePerGas: e, maxFeePerGas: n } = {}) {
160
- super([
161
- `The provided tip (\`maxPriorityFeePerGas\`${e ? ` = ${a(e)} gwei` : ""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n ? ` = ${a(n)} gwei` : ""}).`
162
- ].join(`
163
- `), {
164
- cause: r,
165
- name: "TipAboveFeeCapError"
166
- });
167
- }
168
- }
169
- Object.defineProperty(b, "nodeMessage", {
170
- enumerable: !0,
171
- configurable: !0,
172
- writable: !0,
173
- value: /max priority fee per gas higher than max fee per gas|tip higher than fee cap/
174
- });
175
- class x extends t {
176
- constructor({ cause: r }) {
177
- super(`An error occurred while executing: ${r?.shortMessage}`, {
178
- cause: r,
179
- name: "UnknownNodeError"
180
- });
26
+ class i extends r {
27
+ constructor({ namespace: a }) {
28
+ super(`ENS NFT avatar namespace "${a}" is not supported. Must be "erc721" or "erc1155".`, { name: "EnsAvatarUnsupportedNamespaceError" });
181
29
  }
182
30
  }
183
31
  export {
184
- s as ExecutionRevertedError,
185
- c as FeeCapTooHighError,
186
- i as FeeCapTooLowError,
187
- h as InsufficientFundsError,
188
- f as IntrinsicGasTooHighError,
189
- p as IntrinsicGasTooLowError,
190
- d as NonceMaxValueError,
191
- u as NonceTooHighError,
192
- l as NonceTooLowError,
193
- b as TipAboveFeeCapError,
194
- g as TransactionTypeNotSupportedError,
195
- x as UnknownNodeError
32
+ s as EnsAvatarInvalidMetadataError,
33
+ o as EnsAvatarInvalidNftUriError,
34
+ i as EnsAvatarUnsupportedNamespaceError,
35
+ n as EnsAvatarUriResolutionError
196
36
  };
@@ -1,11 +1,37 @@
1
- import { BaseError as e } from "./index82.js";
2
- class p extends e {
3
- constructor(r) {
4
- super(`Filter type "${r}" is not supported.`, {
5
- name: "FilterTypeNotSupportedError"
1
+ import { formatEther as E } from "./index92.js";
2
+ import { formatGwei as t } from "./index93.js";
3
+ import { BaseError as y } from "./index84.js";
4
+ import { prettyPrint as l } from "./index95.js";
5
+ class x extends y {
6
+ constructor(e, { account: a, docsPath: n, chain: m, data: f, gas: u, gasPrice: r, maxFeePerGas: o, maxPriorityFeePerGas: s, nonce: d, to: p, value: i }) {
7
+ const g = l({
8
+ from: a?.address,
9
+ to: p,
10
+ value: typeof i < "u" && `${E(i)} ${m?.nativeCurrency?.symbol || "ETH"}`,
11
+ data: f,
12
+ gas: u,
13
+ gasPrice: typeof r < "u" && `${t(r)} gwei`,
14
+ maxFeePerGas: typeof o < "u" && `${t(o)} gwei`,
15
+ maxPriorityFeePerGas: typeof s < "u" && `${t(s)} gwei`,
16
+ nonce: d
6
17
  });
18
+ super(e.shortMessage, {
19
+ cause: e,
20
+ docsPath: n,
21
+ metaMessages: [
22
+ ...e.metaMessages ? [...e.metaMessages, " "] : [],
23
+ "Estimate Gas Arguments:",
24
+ g
25
+ ].filter(Boolean),
26
+ name: "EstimateGasExecutionError"
27
+ }), Object.defineProperty(this, "cause", {
28
+ enumerable: !0,
29
+ configurable: !0,
30
+ writable: !0,
31
+ value: void 0
32
+ }), this.cause = e;
7
33
  }
8
34
  }
9
35
  export {
10
- p as FilterTypeNotSupportedError
36
+ x as EstimateGasExecutionError
11
37
  };