@coinbase/cdp-hooks 0.0.19 → 0.0.21
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 +173 -7
- package/dist/esm/index.js +12 -10
- package/dist/esm/index10.js +32 -3
- package/dist/esm/index100.js +32 -191
- package/dist/esm/index101.js +191 -6
- package/dist/esm/index102.js +9 -2
- package/dist/esm/index103.js +2 -13
- package/dist/esm/index104.js +11 -17
- package/dist/esm/index105.js +13 -22
- package/dist/esm/index106.js +27 -8
- package/dist/esm/index107.js +8 -55
- package/dist/esm/index108.js +50 -40
- package/dist/esm/index109.js +45 -8
- package/dist/esm/index11.js +3 -9
- package/dist/esm/index110.js +8 -7
- package/dist/esm/index111.js +7 -16
- package/dist/esm/index112.js +16 -18
- package/dist/esm/index113.js +18 -24
- package/dist/esm/index114.js +24 -16
- package/dist/esm/index115.js +16 -54
- package/dist/esm/index116.js +53 -10
- package/dist/esm/index117.js +11 -160
- package/dist/esm/index118.js +160 -21
- package/dist/esm/index119.js +21 -127
- package/dist/esm/index12.js +8 -67
- package/dist/esm/index120.js +127 -38
- package/dist/esm/index121.js +38 -6
- package/dist/esm/index122.js +6 -27
- package/dist/esm/index123.js +27 -191
- package/dist/esm/index124.js +192 -4
- package/dist/esm/index125.js +4 -65
- package/dist/esm/index126.js +65 -3
- package/dist/esm/index127.js +3 -21
- package/dist/esm/index128.js +19 -15
- package/dist/esm/index129.js +16 -23
- package/dist/esm/index13.js +66 -7
- package/dist/esm/index130.js +23 -11
- package/dist/esm/index131.js +11 -34
- package/dist/esm/index132.js +35 -3
- package/dist/esm/index133.js +3 -19
- package/dist/esm/index134.js +18 -27
- package/dist/esm/index135.js +25 -33
- package/dist/esm/index136.js +35 -7
- package/dist/esm/index137.js +7 -25
- package/dist/esm/index138.js +20 -23
- package/dist/esm/index139.js +27 -63
- package/dist/esm/index14.js +8 -27
- package/dist/esm/index140.js +64 -9
- package/dist/esm/index141.js +9 -33
- package/dist/esm/index142.js +33 -27
- package/dist/esm/index143.js +26 -23
- package/dist/esm/index144.js +24 -3
- package/dist/esm/index145.js +3 -14
- package/dist/esm/index146.js +14 -103
- package/dist/esm/index147.js +99 -60
- package/dist/esm/index148.js +64 -5
- package/dist/esm/index149.js +5 -6
- package/dist/esm/index15.js +25 -67
- package/dist/esm/index150.js +6 -27
- package/dist/esm/index151.js +27 -39
- package/dist/esm/index152.js +39 -13
- package/dist/esm/index153.js +13 -42
- package/dist/esm/index154.js +42 -5
- package/dist/esm/index155.js +5 -11
- package/dist/esm/index156.js +11 -19
- package/dist/esm/index157.js +18 -77
- package/dist/esm/index158.js +79 -2
- package/dist/esm/index159.js +2 -38
- package/dist/esm/index16.js +68 -17
- package/dist/esm/index160.js +32 -105
- package/dist/esm/index161.js +105 -43
- package/dist/esm/index162.js +47 -31
- package/dist/esm/index163.js +32 -8
- package/dist/esm/index164.js +8 -6
- package/dist/esm/index165.js +6 -6
- package/dist/esm/index166.js +6 -11
- package/dist/esm/index167.js +11 -10
- package/dist/esm/index168.js +10 -13
- package/dist/esm/index169.js +12 -31
- package/dist/esm/index17.js +17 -108
- package/dist/esm/index170.js +33 -5
- package/dist/esm/index171.js +5 -9
- package/dist/esm/index172.js +8 -19
- package/dist/esm/index173.js +19 -31
- package/dist/esm/index174.js +31 -20
- package/dist/esm/index175.js +20 -3
- package/dist/esm/index176.js +3 -17
- package/dist/esm/index177.js +17 -10
- package/dist/esm/index178.js +10 -21
- package/dist/esm/index179.js +21 -22
- package/dist/esm/index18.js +110 -60
- package/dist/esm/index180.js +22 -5
- package/dist/esm/index181.js +5 -5
- package/dist/esm/index182.js +5 -8
- package/dist/esm/index183.js +8 -104
- package/dist/esm/index184.js +105 -3
- package/dist/esm/index185.js +3 -19
- package/dist/esm/index186.js +17 -170
- package/dist/esm/index187.js +170 -16
- package/dist/esm/index188.js +18 -10
- package/dist/esm/index189.js +10 -41
- package/dist/esm/index19.js +56 -20
- package/dist/esm/index190.js +41 -2
- package/dist/esm/index191.js +2 -5
- package/dist/esm/index192.js +4 -10
- package/dist/esm/index193.js +9 -18
- package/dist/esm/index194.js +19 -7
- package/dist/esm/index195.js +7 -11
- package/dist/esm/index196.js +11 -66
- package/dist/esm/index197.js +65 -64
- package/dist/esm/index198.js +60 -180
- package/dist/esm/index199.js +183 -20
- package/dist/esm/index20.js +22 -38
- package/dist/esm/index200.js +21 -41
- package/dist/esm/index201.js +20 -54
- package/dist/esm/index202.js +54 -18
- package/dist/esm/index203.js +34 -10
- package/dist/esm/index204.js +10 -7
- package/dist/esm/index205.js +13 -7
- package/dist/esm/index206.js +7 -6
- package/dist/esm/index207.js +6 -36
- package/dist/esm/index208.js +35 -14
- package/dist/esm/index209.js +15 -8
- package/dist/esm/index21.js +37 -34
- package/dist/esm/index210.js +7 -11
- package/dist/esm/index211.js +3 -3
- package/dist/esm/index212.js +3 -3
- package/dist/esm/index213.js +1 -1
- package/dist/esm/index214.js +2 -2
- package/dist/esm/index216.js +2 -2
- package/dist/esm/index218.js +5 -5
- package/dist/esm/index219.js +2 -2
- package/dist/esm/index22.js +34 -55
- package/dist/esm/index220.js +2 -2
- package/dist/esm/index221.js +1 -1
- package/dist/esm/index223.js +1 -1
- package/dist/esm/index224.js +2 -2
- package/dist/esm/index225.js +3 -3
- package/dist/esm/index226.js +3 -3
- package/dist/esm/index227.js +16 -16
- package/dist/esm/index229.js +2 -2
- package/dist/esm/index23.js +55 -160
- package/dist/esm/index230.js +1 -1
- package/dist/esm/index231.js +11 -102
- package/dist/esm/index232.js +103 -6
- package/dist/esm/index233.js +5 -223
- package/dist/esm/index234.js +224 -6
- package/dist/esm/index235.js +7 -7
- package/dist/esm/index236.js +7 -27
- package/dist/esm/index237.js +25 -18
- package/dist/esm/index238.js +18 -145
- package/dist/esm/index239.js +146 -12
- package/dist/esm/index24.js +156 -32
- package/dist/esm/index240.js +12 -35
- package/dist/esm/index241.js +35 -41
- package/dist/esm/index242.js +41 -68
- package/dist/esm/index243.js +68 -3
- package/dist/esm/index244.js +3 -155
- package/dist/esm/index245.js +134 -7
- package/dist/esm/index246.js +144 -125
- package/dist/esm/index247.js +9 -16
- package/dist/esm/index248.js +16 -113
- package/dist/esm/index249.js +95 -116
- package/dist/esm/index25.js +39 -9
- package/dist/esm/index250.js +126 -70
- package/dist/esm/index251.js +79 -2
- package/dist/esm/index252.js +2 -699
- package/dist/esm/index253.js +685 -126
- package/dist/esm/index254.js +138 -41
- package/dist/esm/index255.js +40 -199
- package/dist/esm/index256.js +198 -62
- package/dist/esm/index257.js +65 -4
- package/dist/esm/index258.js +4 -40
- package/dist/esm/index259.js +40 -7
- package/dist/esm/index26.js +8 -30
- package/dist/esm/index260.js +7 -62
- package/dist/esm/index261.js +57 -72
- package/dist/esm/index262.js +78 -4
- package/dist/esm/index263.js +4 -195
- package/dist/esm/index264.js +183 -52
- package/dist/esm/index265.js +59 -40
- package/dist/esm/index266.js +44 -4
- package/dist/esm/index267.js +5 -5
- package/dist/esm/index268.js +5 -2
- package/dist/esm/index269.js +2 -22
- package/dist/esm/index27.js +21 -26
- package/dist/esm/index270.js +24 -0
- package/dist/esm/index28.js +35 -8
- package/dist/esm/index29.js +8 -28
- package/dist/esm/index3.js +127 -65
- package/dist/esm/index30.js +27 -44
- package/dist/esm/index31.js +44 -86
- package/dist/esm/index32.js +83 -35
- package/dist/esm/index33.js +40 -8
- package/dist/esm/index34.js +7 -5
- package/dist/esm/index35.js +6 -16
- package/dist/esm/index36.js +16 -8
- package/dist/esm/index37.js +8 -13
- package/dist/esm/index38.js +13 -7
- package/dist/esm/index39.js +7 -9
- package/dist/esm/index4.js +33 -17
- package/dist/esm/index40.js +9 -16
- package/dist/esm/index41.js +16 -46
- package/dist/esm/index42.js +46 -13
- package/dist/esm/index43.js +13 -16
- package/dist/esm/index44.js +14 -11
- package/dist/esm/index45.js +13 -6
- package/dist/esm/index46.js +5 -34
- package/dist/esm/index47.js +34 -8
- package/dist/esm/index48.js +8 -7
- package/dist/esm/index49.js +8 -25
- package/dist/esm/index5.js +18 -12
- package/dist/esm/index50.js +25 -10
- package/dist/esm/index51.js +10 -14
- package/dist/esm/index52.js +14 -11
- package/dist/esm/index53.js +11 -116
- package/dist/esm/index54.js +114 -31
- package/dist/esm/index55.js +30 -76
- package/dist/esm/index56.js +78 -176
- package/dist/esm/index57.js +174 -41
- package/dist/esm/index58.js +44 -6
- package/dist/esm/index59.js +5 -12
- package/dist/esm/index6.js +12 -54
- package/dist/esm/index60.js +12 -12
- package/dist/esm/index61.js +13 -99
- package/dist/esm/index62.js +96 -69
- package/dist/esm/index63.js +61 -76
- package/dist/esm/index64.js +74 -135
- package/dist/esm/index65.js +108 -96
- package/dist/esm/index66.js +113 -45
- package/dist/esm/index67.js +68 -23
- package/dist/esm/index68.js +23 -105
- package/dist/esm/index69.js +105 -6
- package/dist/esm/index7.js +54 -58
- package/dist/esm/index70.js +6 -131
- package/dist/esm/index71.js +130 -274
- package/dist/esm/index72.js +276 -3
- package/dist/esm/index73.js +3 -4
- package/dist/esm/index74.js +4 -9
- package/dist/esm/index75.js +9 -2
- package/dist/esm/index76.js +2 -2
- package/dist/esm/index77.js +2 -3
- package/dist/esm/index78.js +3 -327
- package/dist/esm/index79.js +324 -11
- package/dist/esm/index8.js +58 -56
- package/dist/esm/index80.js +13 -4
- package/dist/esm/index81.js +4 -55
- package/dist/esm/index82.js +56 -2
- package/dist/esm/index83.js +2 -8
- package/dist/esm/index84.js +6 -213
- package/dist/esm/index85.js +215 -32
- package/dist/esm/index86.js +32 -22
- package/dist/esm/index87.js +21 -5
- package/dist/esm/index88.js +5 -73
- package/dist/esm/index89.js +73 -5
- package/dist/esm/index9.js +56 -33
- package/dist/esm/index90.js +4 -4
- package/dist/esm/index91.js +5 -35
- package/dist/esm/index92.js +29 -69
- package/dist/esm/index93.js +76 -3
- package/dist/esm/index94.js +3 -24
- package/dist/esm/index95.js +16 -444
- package/dist/esm/index96.js +444 -23
- package/dist/esm/index97.js +24 -20
- package/dist/esm/index98.js +18 -25
- package/dist/esm/index99.js +31 -32
- package/dist/types/index.d.ts +29 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -58,6 +58,27 @@ function App() {
|
|
|
58
58
|
}
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
+
#### Smart Account Configuration
|
|
62
|
+
|
|
63
|
+
You can configure the provider to automatically create Smart Accounts for new users:
|
|
64
|
+
|
|
65
|
+
```tsx
|
|
66
|
+
function App() {
|
|
67
|
+
return (
|
|
68
|
+
<CDPHooksProvider
|
|
69
|
+
config={{
|
|
70
|
+
projectId: "your-project-id",
|
|
71
|
+
createAccountOnLogin: "evm-smart", // Creates Smart Accounts instead of EOAs
|
|
72
|
+
}}
|
|
73
|
+
>
|
|
74
|
+
<App />
|
|
75
|
+
</CDPHooksProvider>
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
* When `createAccountOnLogin` is set to `"evm-smart"`, new users will automatically get both an EOA and a Smart Account.
|
|
81
|
+
|
|
61
82
|
### Sign In a User
|
|
62
83
|
|
|
63
84
|
End user authentication proceeds in two steps:
|
|
@@ -89,7 +110,8 @@ function SignIn() {
|
|
|
89
110
|
});
|
|
90
111
|
|
|
91
112
|
console.log("Signed in user:", user);
|
|
92
|
-
console.log("User EVM address", user.evmAccounts[0]);
|
|
113
|
+
console.log("User EVM address (EOA):", user.evmAccounts[0]);
|
|
114
|
+
console.log("User Smart Account:", user.evmSmartAccounts?.[0]);
|
|
93
115
|
} catch (error) {
|
|
94
116
|
console.error("Sign in failed:", error);
|
|
95
117
|
}
|
|
@@ -120,7 +142,10 @@ function UserInformation() {
|
|
|
120
142
|
<div>
|
|
121
143
|
<h2>User Information</h2>
|
|
122
144
|
<p>User ID: {user.userId}</p>
|
|
123
|
-
<p>EVM Address: {evmAddress}</p>
|
|
145
|
+
<p>EVM Address (EOA): {evmAddress}</p>
|
|
146
|
+
{user.evmSmartAccounts?.[0] && (
|
|
147
|
+
<p>Smart Account: {user.evmSmartAccounts[0]}</p>
|
|
148
|
+
)}
|
|
124
149
|
{ email && <p>EmailAddress: {emailAddress}</p>}
|
|
125
150
|
</div>
|
|
126
151
|
);
|
|
@@ -129,7 +154,15 @@ function UserInformation() {
|
|
|
129
154
|
|
|
130
155
|
### Send a Transaction
|
|
131
156
|
|
|
132
|
-
We support signing and sending a Blockchain transaction in a single action on
|
|
157
|
+
We support signing and sending a Blockchain transaction in a single action on the following networks:
|
|
158
|
+
- Base
|
|
159
|
+
- Base Sepolia
|
|
160
|
+
- Ethereum
|
|
161
|
+
- Ethereum Sepolia
|
|
162
|
+
- Avalanche
|
|
163
|
+
- Arbitrum
|
|
164
|
+
- Optimism
|
|
165
|
+
- Polygon
|
|
133
166
|
|
|
134
167
|
```tsx
|
|
135
168
|
import { useSendEvmTransaction, useEvmAddress } from "@coinbase/cdp-hooks";
|
|
@@ -166,13 +199,13 @@ function SendTransaction() {
|
|
|
166
199
|
}
|
|
167
200
|
```
|
|
168
201
|
|
|
169
|
-
For networks other than
|
|
202
|
+
For networks other than those supported by the CDP APIs, your end user must sign the transaction, and then
|
|
170
203
|
you must broadcast the transaction yourself. This example uses the public client from `viem` to broadcast the transaction.
|
|
171
204
|
|
|
172
205
|
```tsx
|
|
173
206
|
import { useSignEvmTransaction, useEvmAddress } from "@coinbase/cdp-hooks";
|
|
174
207
|
import { http, createPublicClient } from "viem";
|
|
175
|
-
import {
|
|
208
|
+
import { tron } from "viem/chains";
|
|
176
209
|
|
|
177
210
|
function CrossChainTransaction() {
|
|
178
211
|
const { signEvmTransaction: signTransaction } = useSignEvmTransaction();
|
|
@@ -192,14 +225,14 @@ function CrossChainTransaction() {
|
|
|
192
225
|
gas: 21000n,
|
|
193
226
|
maxFeePerGas: 30000000000n,
|
|
194
227
|
maxPriorityFeePerGas: 1000000000n,
|
|
195
|
-
chainId:
|
|
228
|
+
chainId: 728126428, // Tron
|
|
196
229
|
type: "eip1559",
|
|
197
230
|
}
|
|
198
231
|
});
|
|
199
232
|
|
|
200
233
|
// Broadcast using a different client
|
|
201
234
|
const client = createPublicClient({
|
|
202
|
-
chain:
|
|
235
|
+
chain: tron,
|
|
203
236
|
transport: http()
|
|
204
237
|
});
|
|
205
238
|
|
|
@@ -319,3 +352,136 @@ function ExportKey() {
|
|
|
319
352
|
return <button onClick={handleExport}>Export Private Key</button>;
|
|
320
353
|
}
|
|
321
354
|
```
|
|
355
|
+
|
|
356
|
+
### Smart Account Operations
|
|
357
|
+
|
|
358
|
+
Smart Accounts provide advanced account abstraction features with React hooks.
|
|
359
|
+
|
|
360
|
+
#### Send User Operations
|
|
361
|
+
|
|
362
|
+
Send user operations from Smart Accounts with support for multiple calls and paymaster sponsorship:
|
|
363
|
+
|
|
364
|
+
```tsx
|
|
365
|
+
import { useSendUserOperation, useCurrentUser } from "@coinbase/cdp-hooks";
|
|
366
|
+
|
|
367
|
+
function SendUserOperation() {
|
|
368
|
+
const { sendUserOperation, data } = useSendUserOperation();
|
|
369
|
+
const { currentUser } = useCurrentUser();
|
|
370
|
+
|
|
371
|
+
const handleSendUserOperation = async () => {
|
|
372
|
+
const smartAccount = currentUser?.evmSmartAccounts?.[0];
|
|
373
|
+
if (!smartAccount) return;
|
|
374
|
+
|
|
375
|
+
try {
|
|
376
|
+
// This will automatically start tracking the user operation status
|
|
377
|
+
const result = await sendUserOperation({
|
|
378
|
+
evmSmartAccount: smartAccount,
|
|
379
|
+
network: "base-sepolia",
|
|
380
|
+
calls: [{
|
|
381
|
+
to: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
382
|
+
value: 1000000000000000000n,
|
|
383
|
+
data: "0x",
|
|
384
|
+
}],
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
console.log("User Operation Hash:", result.userOperationHash);
|
|
388
|
+
} catch (error) {
|
|
389
|
+
console.error("Failed to send user operation:", error);
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
|
|
393
|
+
return (
|
|
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
|
+
})()}
|
|
422
|
+
|
|
423
|
+
<button onClick={handleSendUserOperation}>
|
|
424
|
+
Send User Operation
|
|
425
|
+
</button>
|
|
426
|
+
</div>
|
|
427
|
+
);
|
|
428
|
+
}
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
#### Track User Operation Status
|
|
432
|
+
|
|
433
|
+
Use the `useWaitForUserOperation` hook to poll for user operation status and provide real-time updates:
|
|
434
|
+
|
|
435
|
+
```tsx
|
|
436
|
+
import { useWaitForUserOperation, useCurrentUser } from "@coinbase/cdp-hooks";
|
|
437
|
+
|
|
438
|
+
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
|
+
};
|
|
449
|
+
|
|
450
|
+
return (
|
|
451
|
+
<div>
|
|
452
|
+
<button onClick={handleWaitForOperation}>
|
|
453
|
+
Wait for User Operation
|
|
454
|
+
</button>
|
|
455
|
+
|
|
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
|
+
})()}
|
|
484
|
+
</div>
|
|
485
|
+
);
|
|
486
|
+
}
|
|
487
|
+
```
|
package/dist/esm/index.js
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
import { APIError as n } from "@coinbase/cdp-core";
|
|
2
|
-
import { CDPContext as i, CDPHooksProvider as
|
|
3
|
-
import { useConfig as o, useCurrentUser as a, useEnforceAuthenticated as m, useEnforceUnauthenticated as E, useEvmAddress as S, useExportEvmAccount as c, useGetAccessToken as
|
|
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";
|
|
4
4
|
export {
|
|
5
5
|
n as APIError,
|
|
6
6
|
i as CDPContext,
|
|
7
|
-
|
|
7
|
+
u as CDPHooksProvider,
|
|
8
8
|
o as useConfig,
|
|
9
9
|
a as useCurrentUser,
|
|
10
10
|
m as useEnforceAuthenticated,
|
|
11
11
|
E as useEnforceUnauthenticated,
|
|
12
12
|
S as useEvmAddress,
|
|
13
13
|
c as useExportEvmAccount,
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
d as useGetAccessToken,
|
|
15
|
+
g as useIsInitialized,
|
|
16
16
|
f as useIsSignedIn,
|
|
17
17
|
v as useSendEvmTransaction,
|
|
18
|
+
p as useSendUserOperation,
|
|
18
19
|
I as useSignEvmHash,
|
|
19
20
|
P as useSignEvmMessage,
|
|
20
21
|
T as useSignEvmTransaction,
|
|
21
22
|
h as useSignEvmTypedData,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
x as useSignInWithEmail,
|
|
24
|
+
A as useSignInWithSms,
|
|
25
|
+
C as useSignOut,
|
|
26
|
+
O as useVerifyEmailOTP,
|
|
27
|
+
U as useVerifySmsOTP,
|
|
28
|
+
l as useWaitForUserOperation
|
|
27
29
|
};
|
package/dist/esm/index10.js
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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) });
|
|
3
32
|
}
|
|
4
33
|
export {
|
|
5
|
-
|
|
34
|
+
O as createClient
|
|
6
35
|
};
|
package/dist/esm/index100.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 "./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
|
|
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
|
};
|