@coinbase/cdp-hooks 0.0.42 → 0.0.44
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.
- package/README.md +71 -0
- package/dist/esm/index.js +18 -16
- package/dist/esm/index10.js +56 -33
- package/dist/esm/index100.js +31 -32
- package/dist/esm/index101.js +32 -191
- package/dist/esm/index102.js +191 -6
- package/dist/esm/index103.js +9 -2
- package/dist/esm/index104.js +2 -13
- package/dist/esm/index105.js +11 -17
- package/dist/esm/index106.js +13 -22
- package/dist/esm/index107.js +27 -8
- package/dist/esm/index108.js +8 -55
- package/dist/esm/index109.js +50 -40
- package/dist/esm/index11.js +32 -3
- package/dist/esm/index110.js +45 -8
- package/dist/esm/index111.js +8 -7
- package/dist/esm/index112.js +7 -16
- package/dist/esm/index113.js +16 -18
- package/dist/esm/index114.js +18 -24
- package/dist/esm/index115.js +24 -16
- package/dist/esm/index116.js +16 -54
- package/dist/esm/index117.js +53 -10
- package/dist/esm/index118.js +11 -160
- package/dist/esm/index119.js +160 -21
- package/dist/esm/index12.js +3 -9
- package/dist/esm/index120.js +21 -127
- package/dist/esm/index121.js +127 -38
- package/dist/esm/index122.js +38 -6
- package/dist/esm/index123.js +6 -27
- package/dist/esm/index124.js +27 -191
- package/dist/esm/index125.js +192 -4
- package/dist/esm/index126.js +4 -65
- package/dist/esm/index127.js +65 -3
- package/dist/esm/index128.js +3 -21
- package/dist/esm/index129.js +19 -15
- package/dist/esm/index13.js +8 -67
- package/dist/esm/index130.js +16 -23
- package/dist/esm/index131.js +23 -11
- package/dist/esm/index132.js +11 -34
- package/dist/esm/index133.js +35 -3
- package/dist/esm/index134.js +3 -19
- package/dist/esm/index135.js +18 -27
- package/dist/esm/index136.js +25 -33
- package/dist/esm/index137.js +35 -7
- package/dist/esm/index138.js +7 -25
- package/dist/esm/index139.js +20 -23
- package/dist/esm/index14.js +66 -7
- package/dist/esm/index140.js +27 -63
- package/dist/esm/index141.js +64 -9
- package/dist/esm/index142.js +9 -33
- package/dist/esm/index143.js +33 -27
- package/dist/esm/index144.js +26 -23
- package/dist/esm/index145.js +24 -3
- package/dist/esm/index146.js +3 -14
- package/dist/esm/index147.js +14 -103
- package/dist/esm/index148.js +99 -60
- package/dist/esm/index149.js +64 -5
- package/dist/esm/index15.js +8 -27
- package/dist/esm/index150.js +5 -6
- package/dist/esm/index151.js +6 -27
- package/dist/esm/index152.js +27 -39
- package/dist/esm/index153.js +39 -13
- package/dist/esm/index154.js +13 -42
- package/dist/esm/index155.js +42 -5
- package/dist/esm/index156.js +5 -11
- package/dist/esm/index157.js +11 -19
- package/dist/esm/index158.js +18 -77
- package/dist/esm/index159.js +79 -2
- package/dist/esm/index16.js +25 -67
- package/dist/esm/index160.js +2 -38
- package/dist/esm/index161.js +32 -105
- package/dist/esm/index162.js +105 -43
- package/dist/esm/index163.js +47 -31
- package/dist/esm/index164.js +32 -8
- package/dist/esm/index165.js +8 -6
- package/dist/esm/index166.js +6 -6
- package/dist/esm/index167.js +6 -11
- package/dist/esm/index168.js +11 -10
- package/dist/esm/index169.js +10 -13
- package/dist/esm/index17.js +68 -17
- package/dist/esm/index170.js +12 -31
- package/dist/esm/index171.js +33 -5
- package/dist/esm/index172.js +5 -9
- package/dist/esm/index173.js +8 -19
- package/dist/esm/index174.js +19 -31
- package/dist/esm/index175.js +31 -20
- package/dist/esm/index176.js +20 -3
- package/dist/esm/index177.js +3 -17
- package/dist/esm/index178.js +17 -10
- package/dist/esm/index179.js +10 -21
- package/dist/esm/index18.js +17 -108
- package/dist/esm/index180.js +21 -22
- package/dist/esm/index181.js +22 -5
- package/dist/esm/index182.js +5 -5
- package/dist/esm/index183.js +5 -8
- package/dist/esm/index184.js +8 -104
- package/dist/esm/index185.js +105 -3
- package/dist/esm/index186.js +3 -19
- package/dist/esm/index187.js +17 -170
- package/dist/esm/index188.js +170 -16
- package/dist/esm/index189.js +18 -10
- package/dist/esm/index19.js +110 -60
- package/dist/esm/index190.js +10 -41
- package/dist/esm/index191.js +41 -2
- package/dist/esm/index192.js +2 -5
- package/dist/esm/index193.js +4 -10
- package/dist/esm/index194.js +9 -18
- package/dist/esm/index195.js +19 -7
- package/dist/esm/index196.js +7 -11
- package/dist/esm/index197.js +11 -66
- package/dist/esm/index198.js +65 -64
- package/dist/esm/index199.js +60 -180
- package/dist/esm/index20.js +56 -20
- package/dist/esm/index200.js +183 -20
- package/dist/esm/index201.js +21 -41
- package/dist/esm/index202.js +20 -54
- package/dist/esm/index203.js +54 -18
- package/dist/esm/index204.js +34 -10
- package/dist/esm/index205.js +10 -7
- package/dist/esm/index206.js +13 -36
- package/dist/esm/index207.js +35 -14
- package/dist/esm/index208.js +15 -8
- package/dist/esm/index209.js +8 -7
- package/dist/esm/index21.js +22 -38
- package/dist/esm/index210.js +7 -6
- package/dist/esm/index211.js +6 -12
- package/dist/esm/index212.js +12 -9
- package/dist/esm/index213.js +9 -16
- package/dist/esm/index214.js +15 -21
- package/dist/esm/index215.js +22 -30
- package/dist/esm/index216.js +31 -2
- package/dist/esm/index217.js +2 -14
- package/dist/esm/index218.js +13 -12
- package/dist/esm/index219.js +10 -45
- package/dist/esm/index22.js +37 -34
- package/dist/esm/index220.js +47 -9
- package/dist/esm/index221.js +8 -12
- package/dist/esm/index222.js +13 -14
- package/dist/esm/index223.js +14 -8
- package/dist/esm/index224.js +6 -13
- package/dist/esm/index225.js +15 -24
- package/dist/esm/index226.js +24 -11
- package/dist/esm/index227.js +10 -23
- package/dist/esm/index228.js +24 -51
- package/dist/esm/index229.js +51 -17
- package/dist/esm/index23.js +34 -55
- package/dist/esm/index230.js +17 -14
- package/dist/esm/index231.js +14 -11
- package/dist/esm/index232.js +11 -103
- package/dist/esm/index233.js +103 -6
- package/dist/esm/index234.js +5 -223
- package/dist/esm/index235.js +224 -6
- package/dist/esm/index236.js +7 -7
- package/dist/esm/index237.js +7 -27
- package/dist/esm/index238.js +25 -18
- package/dist/esm/index239.js +18 -145
- package/dist/esm/index24.js +55 -160
- package/dist/esm/index240.js +146 -12
- package/dist/esm/index241.js +12 -35
- package/dist/esm/index242.js +35 -41
- package/dist/esm/index243.js +41 -68
- package/dist/esm/index244.js +68 -3
- package/dist/esm/index245.js +3 -136
- package/dist/esm/index246.js +125 -144
- package/dist/esm/index247.js +155 -9
- package/dist/esm/index248.js +9 -16
- package/dist/esm/index249.js +16 -113
- package/dist/esm/index25.js +156 -32
- package/dist/esm/index250.js +95 -116
- package/dist/esm/index251.js +126 -70
- package/dist/esm/index252.js +79 -2
- package/dist/esm/index253.js +2 -699
- package/dist/esm/index254.js +685 -126
- package/dist/esm/index255.js +138 -41
- package/dist/esm/index256.js +40 -199
- package/dist/esm/index257.js +198 -62
- package/dist/esm/index258.js +65 -4
- package/dist/esm/index259.js +4 -40
- package/dist/esm/index26.js +39 -9
- package/dist/esm/index260.js +40 -7
- package/dist/esm/index261.js +7 -62
- package/dist/esm/index262.js +57 -72
- package/dist/esm/index263.js +78 -4
- package/dist/esm/index264.js +4 -195
- package/dist/esm/index265.js +183 -52
- package/dist/esm/index266.js +59 -40
- package/dist/esm/index267.js +44 -4
- package/dist/esm/index268.js +5 -5
- package/dist/esm/index269.js +5 -2
- package/dist/esm/index27.js +8 -30
- package/dist/esm/index270.js +2 -22
- package/dist/esm/index271.js +24 -0
- package/dist/esm/index28.js +21 -26
- package/dist/esm/index29.js +35 -8
- package/dist/esm/index3.js +2 -2
- package/dist/esm/index30.js +8 -28
- package/dist/esm/index31.js +27 -44
- package/dist/esm/index32.js +44 -86
- package/dist/esm/index33.js +83 -35
- package/dist/esm/index34.js +40 -8
- package/dist/esm/index35.js +7 -5
- package/dist/esm/index36.js +6 -16
- package/dist/esm/index37.js +16 -8
- package/dist/esm/index38.js +8 -13
- package/dist/esm/index39.js +13 -7
- package/dist/esm/index4.js +22 -33
- package/dist/esm/index40.js +7 -9
- package/dist/esm/index41.js +9 -16
- package/dist/esm/index42.js +16 -46
- package/dist/esm/index43.js +46 -13
- package/dist/esm/index44.js +13 -16
- package/dist/esm/index45.js +14 -11
- package/dist/esm/index46.js +13 -6
- package/dist/esm/index47.js +5 -34
- package/dist/esm/index48.js +34 -8
- package/dist/esm/index49.js +8 -7
- package/dist/esm/index5.js +33 -17
- package/dist/esm/index50.js +8 -25
- package/dist/esm/index51.js +25 -10
- package/dist/esm/index52.js +10 -14
- package/dist/esm/index53.js +14 -11
- package/dist/esm/index54.js +11 -116
- package/dist/esm/index55.js +114 -31
- package/dist/esm/index56.js +30 -76
- package/dist/esm/index57.js +78 -176
- package/dist/esm/index58.js +174 -41
- package/dist/esm/index59.js +44 -6
- package/dist/esm/index6.js +18 -12
- package/dist/esm/index60.js +5 -12
- package/dist/esm/index61.js +12 -12
- package/dist/esm/index62.js +13 -99
- package/dist/esm/index63.js +96 -69
- package/dist/esm/index64.js +61 -76
- package/dist/esm/index65.js +74 -135
- package/dist/esm/index66.js +108 -96
- package/dist/esm/index67.js +113 -45
- package/dist/esm/index68.js +68 -23
- package/dist/esm/index69.js +23 -105
- package/dist/esm/index7.js +12 -54
- package/dist/esm/index70.js +105 -6
- package/dist/esm/index71.js +6 -131
- package/dist/esm/index72.js +130 -274
- package/dist/esm/index73.js +276 -3
- package/dist/esm/index74.js +3 -4
- package/dist/esm/index75.js +4 -9
- package/dist/esm/index76.js +9 -2
- package/dist/esm/index77.js +2 -2
- package/dist/esm/index78.js +2 -3
- package/dist/esm/index79.js +3 -327
- package/dist/esm/index8.js +54 -58
- package/dist/esm/index80.js +324 -11
- package/dist/esm/index81.js +13 -4
- package/dist/esm/index82.js +4 -55
- package/dist/esm/index83.js +56 -2
- package/dist/esm/index84.js +2 -8
- package/dist/esm/index85.js +6 -213
- package/dist/esm/index86.js +215 -32
- package/dist/esm/index87.js +32 -22
- package/dist/esm/index88.js +21 -5
- package/dist/esm/index89.js +5 -73
- package/dist/esm/index9.js +58 -56
- package/dist/esm/index90.js +73 -5
- package/dist/esm/index91.js +4 -4
- package/dist/esm/index92.js +5 -35
- package/dist/esm/index93.js +29 -69
- package/dist/esm/index94.js +76 -3
- package/dist/esm/index95.js +3 -24
- package/dist/esm/index96.js +16 -444
- package/dist/esm/index97.js +444 -23
- package/dist/esm/index98.js +24 -20
- package/dist/esm/index99.js +18 -25
- package/dist/types/index.d.ts +18 -0
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -780,6 +780,77 @@ function ExportSolanaKey() {
|
|
|
780
780
|
|
|
781
781
|
Smart Accounts provide advanced account abstraction features with React hooks.
|
|
782
782
|
|
|
783
|
+
#### Create Spend Permissions
|
|
784
|
+
|
|
785
|
+
Spend permissions allow Smart Accounts to delegate spending authority to other accounts within specified limits and time periods. The `useCreateSpendPermission` hook provides an easy way to create spend permissions with automatic user operation tracking.
|
|
786
|
+
|
|
787
|
+
```tsx lines
|
|
788
|
+
import { useCreateSpendPermission, useCurrentUser } from "@coinbase/cdp-hooks";
|
|
789
|
+
|
|
790
|
+
function CreateSpendPermission() {
|
|
791
|
+
const { createSpendPermission, status, data, error } = useCreateSpendPermission();
|
|
792
|
+
const { currentUser } = useCurrentUser();
|
|
793
|
+
|
|
794
|
+
const handleCreateSpendPermission = async () => {
|
|
795
|
+
try {
|
|
796
|
+
const result = await createSpendPermission({
|
|
797
|
+
network: "base-sepolia",
|
|
798
|
+
spender: "0x742D35Cc6634C0532925a3b8D6Ec6F1C2b9c1E46", // Address that can spend tokens
|
|
799
|
+
token: "usdc", // Token symbol ("eth", "usdc") or contract address
|
|
800
|
+
allowance: "10000000", // 10 USDC (6 decimals)
|
|
801
|
+
periodInDays: 7, // Weekly recurring allowance
|
|
802
|
+
useCdpPaymaster: true, // Use CDP paymaster for gas sponsorship
|
|
803
|
+
});
|
|
804
|
+
|
|
805
|
+
console.log("User Operation Hash:", result.userOperationHash);
|
|
806
|
+
} catch (error) {
|
|
807
|
+
console.error("Failed to create spend permission:", error);
|
|
808
|
+
}
|
|
809
|
+
};
|
|
810
|
+
|
|
811
|
+
return (
|
|
812
|
+
<div>
|
|
813
|
+
{status === "idle" && <p>Ready to create spend permission</p>}
|
|
814
|
+
|
|
815
|
+
{status === "pending" && (
|
|
816
|
+
<div>
|
|
817
|
+
<p>Creating spend permission...</p>
|
|
818
|
+
{data && <p>User Op Hash: {data.userOpHash}</p>}
|
|
819
|
+
</div>
|
|
820
|
+
)}
|
|
821
|
+
|
|
822
|
+
{status === "success" && data && (
|
|
823
|
+
<div>
|
|
824
|
+
<p>Spend permission created successfully!</p>
|
|
825
|
+
<p>Transaction Hash: {data.transactionHash}</p>
|
|
826
|
+
<p>Status: {data.status}</p>
|
|
827
|
+
</div>
|
|
828
|
+
)}
|
|
829
|
+
|
|
830
|
+
{status === "error" && (
|
|
831
|
+
<div>
|
|
832
|
+
<p>Failed to create spend permission</p>
|
|
833
|
+
<p>Error: {error?.message}</p>
|
|
834
|
+
</div>
|
|
835
|
+
)}
|
|
836
|
+
|
|
837
|
+
<button
|
|
838
|
+
onClick={handleCreateSpendPermission}
|
|
839
|
+
disabled={status === "pending" || !currentUser?.evmSmartAccounts?.[0]}
|
|
840
|
+
>
|
|
841
|
+
{status === "pending" ? "Creating..." : "Create Spend Permission"}
|
|
842
|
+
</button>
|
|
843
|
+
</div>
|
|
844
|
+
);
|
|
845
|
+
}
|
|
846
|
+
```
|
|
847
|
+
|
|
848
|
+
The hook automatically:
|
|
849
|
+
- Detects the user's Smart Account (or allows you to specify `evmSmartAccount`)
|
|
850
|
+
- Converts `periodInDays` to seconds
|
|
851
|
+
- Resolves token symbols like "eth" and "usdc" to contract addresses
|
|
852
|
+
- Tracks the user operation status and provides real-time updates
|
|
853
|
+
|
|
783
854
|
#### Send User Operations
|
|
784
855
|
|
|
785
856
|
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:
|
package/dist/esm/index.js
CHANGED
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { APIError as n } from "@coinbase/cdp-core";
|
|
2
|
-
import { CDPContext as
|
|
3
|
-
import { useConfig as i, useCurrentUser as t, useEnforceAuthenticated as S, useEnforceUnauthenticated as
|
|
2
|
+
import { CDPContext as o, CDPHooksProvider as a } from "./index2.js";
|
|
3
|
+
import { useConfig as i, useCurrentUser as t, useEnforceAuthenticated as S, useEnforceUnauthenticated as m, useEvmAddress as c, useExportEvmAccount as d, useExportSolanaAccount as E, useGetAccessToken as g, useIsInitialized as p, useIsSignedIn as f, useSendEvmTransaction as l, useSendSolanaTransaction as v, useSendUserOperation as T, useSignEvmHash as x, useSignEvmMessage as A, useSignEvmTransaction as I, useSignEvmTypedData as P, useSignInWithEmail as C, useSignInWithSms as h, useSignOut as O, useSignSolanaMessage as U, useSignSolanaTransaction as y, useSolanaAddress as D, useVerifyEmailOTP as W, useVerifySmsOTP as k, useWaitForUserOperation as H } from "./index3.js";
|
|
4
|
+
import { useCreateSpendPermission as V } from "./index4.js";
|
|
4
5
|
export {
|
|
5
6
|
n as APIError,
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
o as CDPContext,
|
|
8
|
+
a as CDPHooksProvider,
|
|
8
9
|
i as useConfig,
|
|
10
|
+
V as useCreateSpendPermission,
|
|
9
11
|
t as useCurrentUser,
|
|
10
12
|
S as useEnforceAuthenticated,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
m as useEnforceUnauthenticated,
|
|
14
|
+
c as useEvmAddress,
|
|
15
|
+
d as useExportEvmAccount,
|
|
16
|
+
E as useExportSolanaAccount,
|
|
15
17
|
g as useGetAccessToken,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
p as useIsInitialized,
|
|
19
|
+
f as useIsSignedIn,
|
|
20
|
+
l as useSendEvmTransaction,
|
|
19
21
|
v as useSendSolanaTransaction,
|
|
20
22
|
T as useSendUserOperation,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
x as useSignEvmHash,
|
|
24
|
+
A as useSignEvmMessage,
|
|
25
|
+
I as useSignEvmTransaction,
|
|
24
26
|
P as useSignEvmTypedData,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
C as useSignInWithEmail,
|
|
28
|
+
h as useSignInWithSms,
|
|
27
29
|
O as useSignOut,
|
|
28
30
|
U as useSignSolanaMessage,
|
|
29
31
|
y as useSignSolanaTransaction,
|
package/dist/esm/index10.js
CHANGED
|
@@ -1,35 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
1
|
+
import { chainConfig as a } from "./index190.js";
|
|
2
|
+
import { defineChain as t } from "./index173.js";
|
|
3
|
+
const e = 11155111, r = /* @__PURE__ */ t({
|
|
4
|
+
...a,
|
|
5
|
+
id: 84532,
|
|
6
|
+
network: "base-sepolia",
|
|
7
|
+
name: "Base Sepolia",
|
|
8
|
+
nativeCurrency: { name: "Sepolia Ether", symbol: "ETH", decimals: 18 },
|
|
9
|
+
rpcUrls: {
|
|
10
|
+
default: {
|
|
11
|
+
http: ["https://sepolia.base.org"]
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
blockExplorers: {
|
|
15
|
+
default: {
|
|
16
|
+
name: "Basescan",
|
|
17
|
+
url: "https://sepolia.basescan.org",
|
|
18
|
+
apiUrl: "https://api-sepolia.basescan.org/api"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
contracts: {
|
|
22
|
+
...a.contracts,
|
|
23
|
+
disputeGameFactory: {
|
|
24
|
+
[e]: {
|
|
25
|
+
address: "0xd6E6dBf4F7EA0ac412fD8b65ED297e64BB7a06E1"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
l2OutputOracle: {
|
|
29
|
+
[e]: {
|
|
30
|
+
address: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
portal: {
|
|
34
|
+
[e]: {
|
|
35
|
+
address: "0x49f53e41452c74589e85ca1677426ba426459e85",
|
|
36
|
+
blockCreated: 4446677
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
l1StandardBridge: {
|
|
40
|
+
[e]: {
|
|
41
|
+
address: "0xfd0Bf71F60660E2f608ed56e1659C450eB113120",
|
|
42
|
+
blockCreated: 4446677
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
multicall3: {
|
|
46
|
+
address: "0xca11bde05977b3631167028862be2a173976ca11",
|
|
47
|
+
blockCreated: 1059647
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
testnet: !0,
|
|
51
|
+
sourceId: e
|
|
52
|
+
});
|
|
53
|
+
({
|
|
54
|
+
...r
|
|
55
|
+
});
|
|
33
56
|
export {
|
|
34
|
-
|
|
57
|
+
r as baseSepolia
|
|
35
58
|
};
|
package/dist/esm/index100.js
CHANGED
|
@@ -1,37 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
|
17
|
-
});
|
|
18
|
-
super(e.shortMessage, {
|
|
19
|
-
cause: e,
|
|
20
|
-
docsPath: n,
|
|
1
|
+
import { BaseError as r } from "./index83.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.", {
|
|
21
5
|
metaMessages: [
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
|
|
25
|
-
]
|
|
26
|
-
name: "
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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)}`
|
|
9
|
+
],
|
|
10
|
+
name: "EnsAvatarInvalidMetadataError"
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
class o extends r {
|
|
15
|
+
constructor({ reason: a }) {
|
|
16
|
+
super(`ENS NFT avatar URI is invalid. ${a}`, {
|
|
17
|
+
name: "EnsAvatarInvalidNftUriError"
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
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" });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
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" });
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
31
|
export {
|
|
36
|
-
|
|
32
|
+
s as EnsAvatarInvalidMetadataError,
|
|
33
|
+
o as EnsAvatarInvalidNftUriError,
|
|
34
|
+
i as EnsAvatarUnsupportedNamespaceError,
|
|
35
|
+
n as EnsAvatarUriResolutionError
|
|
37
36
|
};
|
package/dist/esm/index101.js
CHANGED
|
@@ -1,196 +1,37 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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 { formatEther as E } from "./index91.js";
|
|
2
|
+
import { formatGwei as t } from "./index92.js";
|
|
3
|
+
import { BaseError as y } from "./index83.js";
|
|
4
|
+
import { prettyPrint as l } from "./index94.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
|
|
17
|
+
});
|
|
18
|
+
super(e.shortMessage, {
|
|
19
|
+
cause: e,
|
|
20
|
+
docsPath: n,
|
|
96
21
|
metaMessages: [
|
|
97
|
-
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
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"
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
}
|
|
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
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
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
|
-
});
|
|
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;
|
|
181
33
|
}
|
|
182
34
|
}
|
|
183
35
|
export {
|
|
184
|
-
|
|
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
|
|
36
|
+
x as EstimateGasExecutionError
|
|
196
37
|
};
|