@coinbase/cdp-hooks 0.0.33 → 0.0.35

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 +155 -7
  2. package/dist/esm/index.js +18 -15
  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 +95 -85
  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 +17 -0
  251. package/package.json +3 -3
package/README.md CHANGED
@@ -153,6 +153,27 @@ function App() {
153
153
 
154
154
  * When `createAccountOnLogin` is set to `"evm-smart"`, new users will automatically get both an EOA and a Smart Account.
155
155
 
156
+ #### Solana Configuration
157
+
158
+ You can configure the provider to create Solana accounts for new users:
159
+
160
+ ```tsx lines
161
+ function App() {
162
+ return (
163
+ <CDPHooksProvider
164
+ config={{
165
+ projectId: "your-project-id",
166
+ createAccountOnLogin: "solana", // Creates Solana accounts instead of EVM accounts
167
+ }}
168
+ >
169
+ <App />
170
+ </CDPHooksProvider>
171
+ );
172
+ }
173
+ ```
174
+
175
+ * When `createAccountOnLogin` is set to `"solana"`, new users will automatically get a Solana account instead of EVM accounts.
176
+
156
177
  ### Sign In a User
157
178
 
158
179
  End user authentication proceeds in two steps:
@@ -184,8 +205,17 @@ function SignIn() {
184
205
  });
185
206
 
186
207
  console.log("Signed in user:", user);
187
- console.log("User EVM address (EOA):", user.evmAccounts[0]);
188
- console.log("User Smart Account:", user.evmSmartAccounts?.[0]);
208
+
209
+ // Access different account types based on configuration
210
+ if (user.evmAccounts?.length > 0) {
211
+ console.log("User EVM address (EOA):", user.evmAccounts[0]);
212
+ }
213
+ if (user.evmSmartAccounts?.length > 0) {
214
+ console.log("User Smart Account:", user.evmSmartAccounts[0]);
215
+ }
216
+ if (user.solanaAccounts?.length > 0) {
217
+ console.log("User Solana address:", user.solanaAccounts[0]);
218
+ }
189
219
  } catch (error) {
190
220
  console.error("Sign in failed:", error);
191
221
  }
@@ -334,11 +364,129 @@ function UserInformation() {
334
364
  <div>
335
365
  <h2>User Information</h2>
336
366
  <p>User ID: {user.userId}</p>
337
- <p>EVM Address (EOA): {evmAddress}</p>
338
- {user.evmSmartAccounts?.[0] && (
339
- <p>Smart Account: {user.evmSmartAccounts[0]}</p>
340
- )}
341
- { email && <p>EmailAddress: {emailAddress}</p>}
367
+
368
+ <>
369
+ <p>EVM Address (EOA): {evmAddress}</p>
370
+ {user.evmSmartAccounts?.[0] && (
371
+ <p>Smart Account: {user.evmSmartAccounts[0]}</p>
372
+ )}
373
+ </>
374
+
375
+ {emailAddress && <p>Email Address: {emailAddress}</p>}
376
+ </div>
377
+ );
378
+ }
379
+ ```
380
+
381
+ ### Working with Solana
382
+
383
+ When your application is configured with `createAccountOnLogin: "solana"`, you can use Solana-specific hooks to interact with Solana accounts.
384
+
385
+ #### Access Solana Address
386
+
387
+ Use the `useSolanaAddress` hook to get the user's primary Solana address:
388
+
389
+ ```tsx lines
390
+ import { useSolanaAddress } from "@coinbase/cdp-hooks";
391
+
392
+ function SolanaWallet() {
393
+ const { solanaAddress } = useSolanaAddress();
394
+
395
+ if (!solanaAddress) {
396
+ return <div>No Solana wallet connected</div>;
397
+ }
398
+
399
+ return (
400
+ <div>
401
+ <h3>Your Solana Wallet</h3>
402
+ <p>Address: {solanaAddress}</p>
403
+ </div>
404
+ );
405
+ }
406
+ ```
407
+
408
+ #### Sign a Solana Transaction
409
+
410
+ Use the `useSignSolanaTransaction` hook to sign Solana transactions:
411
+
412
+ ```tsx lines
413
+ import { useSignSolanaTransaction, useSolanaAddress } from "@coinbase/cdp-hooks";
414
+
415
+ function SolanaTransactionSigner() {
416
+ const { signSolanaTransaction } = useSignSolanaTransaction();
417
+ const { solanaAddress } = useSolanaAddress();
418
+
419
+ const handleSignTransaction = async () => {
420
+ if (!solanaAddress) return;
421
+
422
+ try {
423
+ const result = await signSolanaTransaction({
424
+ solanaAccount: solanaAddress,
425
+ transaction: "base64-encoded-solana-transaction" // Your Solana transaction here
426
+ });
427
+
428
+ console.log("Signed Transaction:", result.signedTransaction);
429
+ // The signedTransaction can now be broadcast to the Solana network
430
+ } catch (error) {
431
+ console.error("Failed to sign transaction:", error);
432
+ }
433
+ };
434
+
435
+ if (!solanaAddress) {
436
+ return <div>Please connect your Solana wallet first</div>;
437
+ }
438
+
439
+ return (
440
+ <div>
441
+ <h3>Sign Solana Transaction</h3>
442
+ <button onClick={handleSignTransaction}>
443
+ Sign Transaction
444
+ </button>
445
+ </div>
446
+ );
447
+ }
448
+ ```
449
+
450
+ #### Send a Solana Transaction
451
+
452
+ Use the `useSendSolanaTransaction` hook to sign and send Solana transactions in a single action. This is supported on:
453
+ - Solana Mainnet
454
+ - Solana Devnet
455
+
456
+ ```tsx lines
457
+ import { useSendSolanaTransaction, useSolanaAddress } from "@coinbase/cdp-hooks";
458
+
459
+ function SolanaTransactionSender() {
460
+ const { sendSolanaTransaction } = useSendSolanaTransaction();
461
+ const { solanaAddress } = useSolanaAddress();
462
+
463
+ const handleSendTransaction = async () => {
464
+ if (!solanaAddress) return;
465
+
466
+ try {
467
+ const result = await sendSolanaTransaction({
468
+ solanaAccount: solanaAddress,
469
+ network: "solana-devnet", // or "solana" for mainnet
470
+ transaction: "base64-encoded-solana-transaction" // Your Solana transaction here
471
+ });
472
+
473
+ console.log("Transaction Signature:", result.transactionSignature);
474
+ // The transaction has been broadcast to the Solana network
475
+ } catch (error) {
476
+ console.error("Failed to send transaction:", error);
477
+ }
478
+ };
479
+
480
+ if (!solanaAddress) {
481
+ return <div>Please connect your Solana wallet first</div>;
482
+ }
483
+
484
+ return (
485
+ <div>
486
+ <h3>Send Solana Transaction</h3>
487
+ <button onClick={handleSendTransaction}>
488
+ Send Transaction
489
+ </button>
342
490
  </div>
343
491
  );
344
492
  }
package/dist/esm/index.js CHANGED
@@ -1,29 +1,32 @@
1
1
  import { APIError as n } from "@coinbase/cdp-core";
2
2
  import { CDPContext as i, CDPHooksProvider as u } from "./index2.js";
3
- import { useConfig as o, useCurrentUser as a, useEnforceAuthenticated as m, useEnforceUnauthenticated as E, useEvmAddress as S, useExportEvmAccount as c, useGetAccessToken as d, useIsInitialized as g, useIsSignedIn as f, useSendEvmTransaction as v, useSendUserOperation as p, useSignEvmHash as I, useSignEvmMessage as P, useSignEvmTransaction as T, useSignEvmTypedData as h, useSignInWithEmail as x, useSignInWithSms as A, useSignOut as C, useVerifyEmailOTP as O, useVerifySmsOTP as U, useWaitForUserOperation as l } from "./index3.js";
3
+ import { useConfig as o, useCurrentUser as t, useEnforceAuthenticated as S, useEnforceUnauthenticated as m, useEvmAddress as d, useExportEvmAccount as E, useGetAccessToken as c, useIsInitialized as g, useIsSignedIn as f, useSendEvmTransaction as v, useSendSolanaTransaction as T, useSendUserOperation as p, useSignEvmHash as I, useSignEvmMessage as l, useSignEvmTransaction as A, useSignEvmTypedData as P, useSignInWithEmail as h, useSignInWithSms as x, useSignOut as C, useSignSolanaTransaction as O, useSolanaAddress as U, useVerifyEmailOTP as y, useVerifySmsOTP as D, useWaitForUserOperation as W } from "./index3.js";
4
4
  export {
5
5
  n as APIError,
6
6
  i as CDPContext,
7
7
  u as CDPHooksProvider,
8
8
  o as useConfig,
9
- a as useCurrentUser,
10
- m as useEnforceAuthenticated,
11
- E as useEnforceUnauthenticated,
12
- S as useEvmAddress,
13
- c as useExportEvmAccount,
14
- d as useGetAccessToken,
9
+ t as useCurrentUser,
10
+ S as useEnforceAuthenticated,
11
+ m as useEnforceUnauthenticated,
12
+ d as useEvmAddress,
13
+ E as useExportEvmAccount,
14
+ c as useGetAccessToken,
15
15
  g as useIsInitialized,
16
16
  f as useIsSignedIn,
17
17
  v as useSendEvmTransaction,
18
+ T as useSendSolanaTransaction,
18
19
  p as useSendUserOperation,
19
20
  I as useSignEvmHash,
20
- P as useSignEvmMessage,
21
- T as useSignEvmTransaction,
22
- h as useSignEvmTypedData,
23
- x as useSignInWithEmail,
24
- A as useSignInWithSms,
21
+ l as useSignEvmMessage,
22
+ A as useSignEvmTransaction,
23
+ P as useSignEvmTypedData,
24
+ h as useSignInWithEmail,
25
+ x as useSignInWithSms,
25
26
  C as useSignOut,
26
- O as useVerifyEmailOTP,
27
- U as useVerifySmsOTP,
28
- l as useWaitForUserOperation
27
+ O as useSignSolanaTransaction,
28
+ U as useSolanaAddress,
29
+ y as useVerifyEmailOTP,
30
+ D as useVerifySmsOTP,
31
+ W as useWaitForUserOperation
29
32
  };
@@ -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
  };