@coinbase/cdp-hooks 0.0.66 → 0.0.68
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 +151 -0
- package/dist/esm/index.js +24 -18
- package/dist/esm/index10.js +1 -1
- package/dist/esm/index100.js +29 -188
- package/dist/esm/index101.js +2 -32
- package/dist/esm/index102.js +7 -21
- package/dist/esm/index103.js +214 -5
- package/dist/esm/index104.js +30 -72
- package/dist/esm/index105.js +21 -5
- package/dist/esm/index106.js +5 -5
- package/dist/esm/index107.js +69 -31
- package/dist/esm/index108.js +5 -75
- package/dist/esm/index109.js +6 -3
- package/dist/esm/index11.js +1 -1
- package/dist/esm/index110.js +28 -16
- package/dist/esm/index111.js +57 -433
- package/dist/esm/index112.js +3 -31
- package/dist/esm/index113.js +17 -20
- package/dist/esm/index114.js +439 -21
- package/dist/esm/index115.js +28 -32
- package/dist/esm/index116.js +18 -185
- package/dist/esm/index117.js +31 -6
- package/dist/esm/index118.js +35 -2
- package/dist/esm/index119.js +189 -8
- package/dist/esm/index12.js +1 -1
- package/dist/esm/index120.js +7 -17
- package/dist/esm/index121.js +2 -28
- package/dist/esm/index122.js +12 -8
- package/dist/esm/index123.js +15 -52
- package/dist/esm/index124.js +23 -41
- package/dist/esm/index125.js +8 -8
- package/dist/esm/index126.js +55 -7
- package/dist/esm/index127.js +44 -15
- package/dist/esm/index128.js +8 -18
- package/dist/esm/index129.js +7 -24
- package/dist/esm/index13.js +1 -1
- package/dist/esm/index130.js +16 -16
- package/dist/esm/index131.js +17 -53
- package/dist/esm/index132.js +22 -9
- package/dist/esm/index133.js +15 -159
- package/dist/esm/index134.js +53 -20
- package/dist/esm/index135.js +11 -127
- package/dist/esm/index136.js +153 -31
- package/dist/esm/index137.js +21 -6
- package/dist/esm/index138.js +127 -27
- package/dist/esm/index139.js +31 -184
- package/dist/esm/index14.js +7 -4
- package/dist/esm/index140.js +7 -4
- package/dist/esm/index141.js +26 -63
- package/dist/esm/index142.js +192 -3
- package/dist/esm/index143.js +4 -21
- package/dist/esm/index144.js +61 -13
- package/dist/esm/index145.js +3 -24
- package/dist/esm/index146.js +20 -11
- package/dist/esm/index147.js +15 -33
- package/dist/esm/index148.js +24 -3
- package/dist/esm/index149.js +11 -18
- package/dist/esm/index15.js +7 -8
- package/dist/esm/index150.js +33 -26
- package/dist/esm/index151.js +3 -36
- package/dist/esm/index152.js +18 -7
- package/dist/esm/index153.js +26 -24
- package/dist/esm/index154.js +34 -27
- package/dist/esm/index155.js +7 -64
- package/dist/esm/index156.js +25 -9
- package/dist/esm/index157.js +28 -33
- package/dist/esm/index158.js +64 -27
- package/dist/esm/index159.js +9 -24
- package/dist/esm/index16.js +8 -34
- package/dist/esm/index160.js +33 -3
- package/dist/esm/index161.js +27 -14
- package/dist/esm/index162.js +24 -103
- package/dist/esm/index163.js +3 -64
- package/dist/esm/index164.js +14 -5
- package/dist/esm/index165.js +103 -6
- package/dist/esm/index166.js +62 -25
- package/dist/esm/index167.js +5 -38
- package/dist/esm/index168.js +6 -13
- package/dist/esm/index169.js +24 -39
- package/dist/esm/index17.js +5 -18
- package/dist/esm/index170.js +38 -5
- package/dist/esm/index171.js +13 -11
- package/dist/esm/index172.js +42 -19
- package/dist/esm/index173.js +5 -78
- package/dist/esm/index174.js +12 -2
- package/dist/esm/index175.js +19 -37
- package/dist/esm/index176.js +73 -105
- package/dist/esm/index177.js +2 -49
- package/dist/esm/index178.js +36 -31
- package/dist/esm/index179.js +110 -8
- package/dist/esm/index18.js +8 -11
- package/dist/esm/index180.js +48 -6
- package/dist/esm/index181.js +32 -6
- package/dist/esm/index182.js +8 -11
- package/dist/esm/index183.js +6 -10
- package/dist/esm/index184.js +6 -13
- package/dist/esm/index185.js +11 -32
- package/dist/esm/index186.js +11 -5
- package/dist/esm/index187.js +13 -8
- package/dist/esm/index188.js +30 -17
- package/dist/esm/index189.js +5 -32
- package/dist/esm/index19.js +34 -12
- package/dist/esm/index190.js +8 -20
- package/dist/esm/index191.js +19 -3
- package/dist/esm/index192.js +31 -17
- package/dist/esm/index193.js +20 -10
- package/dist/esm/index194.js +3 -21
- package/dist/esm/index195.js +16 -21
- package/dist/esm/index196.js +10 -5
- package/dist/esm/index197.js +21 -5
- package/dist/esm/index198.js +22 -8
- package/dist/esm/index199.js +5 -104
- package/dist/esm/index2.js +2 -2
- package/dist/esm/index20.js +18 -54
- package/dist/esm/index200.js +6 -3
- package/dist/esm/index201.js +8 -18
- package/dist/esm/index202.js +99 -166
- package/dist/esm/index203.js +3 -18
- package/dist/esm/index204.js +19 -10
- package/dist/esm/index205.js +171 -38
- package/dist/esm/index206.js +18 -2
- package/dist/esm/index207.js +10 -70
- package/dist/esm/index208.js +37 -33
- package/dist/esm/index209.js +2 -15
- package/dist/esm/index21.js +11 -57
- package/dist/esm/index210.js +69 -40
- package/dist/esm/index211.js +35 -2
- package/dist/esm/index212.js +14 -4
- package/dist/esm/index213.js +39 -9
- package/dist/esm/index214.js +2 -20
- package/dist/esm/index215.js +4 -7
- package/dist/esm/index216.js +9 -10
- package/dist/esm/index217.js +19 -66
- package/dist/esm/index218.js +7 -65
- package/dist/esm/index219.js +10 -184
- package/dist/esm/index22.js +12 -56
- package/dist/esm/index220.js +66 -22
- package/dist/esm/index221.js +61 -38
- package/dist/esm/index222.js +178 -69
- package/dist/esm/index223.js +21 -39
- package/dist/esm/index224.js +35 -9
- package/dist/esm/index225.js +70 -7
- package/dist/esm/index226.js +40 -7
- package/dist/esm/index227.js +16 -6
- package/dist/esm/index228.js +13 -36
- package/dist/esm/index229.js +35 -14
- package/dist/esm/index23.js +54 -5
- package/dist/esm/index230.js +15 -8
- package/dist/esm/index231.js +7 -11
- package/dist/esm/index232.js +7 -9
- package/dist/esm/index233.js +6 -16
- package/dist/esm/index234.js +12 -22
- package/dist/esm/index235.js +9 -30
- package/dist/esm/index236.js +17 -2
- package/dist/esm/index237.js +21 -12
- package/dist/esm/index238.js +30 -12
- package/dist/esm/index239.js +2 -48
- package/dist/esm/index24.js +57 -47
- package/dist/esm/index240.js +12 -8
- package/dist/esm/index241.js +12 -13
- package/dist/esm/index242.js +46 -13
- package/dist/esm/index243.js +9 -8
- package/dist/esm/index244.js +13 -15
- package/dist/esm/index245.js +14 -24
- package/dist/esm/index246.js +8 -11
- package/dist/esm/index247.js +14 -23
- package/dist/esm/index248.js +24 -51
- package/dist/esm/index249.js +11 -17
- package/dist/esm/index25.js +56 -33
- package/dist/esm/index250.js +24 -14
- package/dist/esm/index251.js +51 -11
- package/dist/esm/index252.js +17 -103
- package/dist/esm/index253.js +14 -5
- package/dist/esm/index254.js +11 -223
- package/dist/esm/index255.js +103 -6
- package/dist/esm/index256.js +6 -7
- package/dist/esm/index257.js +222 -25
- package/dist/esm/index258.js +6 -19
- package/dist/esm/index259.js +7 -146
- package/dist/esm/index26.js +5 -4
- package/dist/esm/index260.js +26 -12
- package/dist/esm/index261.js +20 -36
- package/dist/esm/index262.js +145 -41
- package/dist/esm/index263.js +13 -2
- package/dist/esm/index264.js +35 -68
- package/dist/esm/index265.js +41 -3
- package/dist/esm/index266.js +2 -137
- package/dist/esm/index267.js +69 -156
- package/dist/esm/index268.js +3 -9
- package/dist/esm/index269.js +136 -16
- package/dist/esm/index27.js +46 -8
- package/dist/esm/index270.js +140 -98
- package/dist/esm/index271.js +9 -134
- package/dist/esm/index272.js +16 -78
- package/dist/esm/index273.js +114 -2
- package/dist/esm/index274.js +124 -687
- package/dist/esm/index275.js +73 -133
- package/dist/esm/index276.js +2 -43
- package/dist/esm/index277.js +675 -178
- package/dist/esm/index278.js +138 -3
- package/dist/esm/index279.js +40 -63
- package/dist/esm/index28.js +31 -67
- package/dist/esm/index280.js +200 -4
- package/dist/esm/index281.js +3 -40
- package/dist/esm/index282.js +65 -7
- package/dist/esm/index283.js +4 -62
- package/dist/esm/index284.js +33 -70
- package/dist/esm/index285.js +8 -4
- package/dist/esm/index286.js +55 -187
- package/dist/esm/index287.js +61 -47
- package/dist/esm/index288.js +4 -45
- package/dist/esm/index289.js +194 -4
- package/dist/esm/index29.js +3 -9
- package/dist/esm/index290.js +64 -5
- package/dist/esm/index291.js +45 -2
- package/dist/esm/index292.js +4 -21
- package/dist/esm/index293.js +7 -0
- package/dist/esm/index294.js +4 -0
- package/dist/esm/index295.js +24 -0
- package/dist/esm/index3.js +1 -1
- package/dist/esm/index30.js +9 -28
- package/dist/esm/index31.js +68 -70
- package/dist/esm/index32.js +9 -19
- package/dist/esm/index33.js +26 -108
- package/dist/esm/index34.js +70 -60
- package/dist/esm/index35.js +19 -24
- package/dist/esm/index36.js +110 -40
- package/dist/esm/index37.js +57 -34
- package/dist/esm/index38.js +20 -54
- package/dist/esm/index39.js +37 -160
- package/dist/esm/index40.js +36 -38
- package/dist/esm/index41.js +58 -9
- package/dist/esm/index42.js +161 -29
- package/dist/esm/index43.js +39 -36
- package/dist/esm/index44.js +7 -7
- package/dist/esm/index45.js +30 -28
- package/dist/esm/index46.js +34 -44
- package/dist/esm/index47.js +9 -88
- package/dist/esm/index48.js +26 -37
- package/dist/esm/index49.js +46 -8
- package/dist/esm/index5.js +3 -3
- package/dist/esm/index50.js +88 -6
- package/dist/esm/index51.js +40 -16
- package/dist/esm/index52.js +8 -8
- package/dist/esm/index53.js +6 -13
- package/dist/esm/index54.js +16 -7
- package/dist/esm/index55.js +8 -9
- package/dist/esm/index56.js +13 -16
- package/dist/esm/index57.js +7 -46
- package/dist/esm/index58.js +9 -13
- package/dist/esm/index59.js +15 -15
- package/dist/esm/index6.js +2 -2
- package/dist/esm/index60.js +46 -13
- package/dist/esm/index61.js +13 -6
- package/dist/esm/index62.js +15 -34
- package/dist/esm/index63.js +13 -9
- package/dist/esm/index64.js +5 -7
- package/dist/esm/index65.js +35 -25
- package/dist/esm/index66.js +9 -10
- package/dist/esm/index67.js +7 -13
- package/dist/esm/index68.js +25 -11
- package/dist/esm/index69.js +10 -116
- package/dist/esm/index7.js +1 -1
- package/dist/esm/index70.js +13 -32
- package/dist/esm/index71.js +11 -79
- package/dist/esm/index72.js +108 -169
- package/dist/esm/index73.js +26 -37
- package/dist/esm/index74.js +79 -6
- package/dist/esm/index75.js +177 -13
- package/dist/esm/index76.js +44 -13
- package/dist/esm/index77.js +6 -99
- package/dist/esm/index78.js +13 -72
- package/dist/esm/index79.js +13 -87
- package/dist/esm/index8.js +2 -2
- package/dist/esm/index80.js +93 -142
- package/dist/esm/index81.js +65 -129
- package/dist/esm/index82.js +73 -54
- package/dist/esm/index83.js +148 -23
- package/dist/esm/index84.js +133 -102
- package/dist/esm/index85.js +68 -6
- package/dist/esm/index86.js +23 -131
- package/dist/esm/index87.js +101 -271
- package/dist/esm/index88.js +7 -3
- package/dist/esm/index89.js +132 -4
- package/dist/esm/index9.js +1 -1
- package/dist/esm/index90.js +276 -9
- package/dist/esm/index91.js +3 -2
- package/dist/esm/index92.js +4 -2
- package/dist/esm/index93.js +9 -3
- package/dist/esm/index94.js +2 -327
- package/dist/esm/index95.js +2 -14
- package/dist/esm/index96.js +3 -5
- package/dist/esm/index97.js +299 -28
- package/dist/esm/index98.js +14 -2
- package/dist/esm/index99.js +4 -7
- package/dist/types/index.d.ts +18 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -195,6 +195,30 @@ function App() {
|
|
|
195
195
|
|
|
196
196
|
* When `solana.createOnLogin` is set to `true`, new users will automatically get a Solana account instead of EVM accounts.
|
|
197
197
|
|
|
198
|
+
#### Deferred Account Creation
|
|
199
|
+
|
|
200
|
+
You can omit `createOnLogin` entirely to prevent automatic account creation and instead create accounts manually when needed:
|
|
201
|
+
|
|
202
|
+
```tsx lines
|
|
203
|
+
function App() {
|
|
204
|
+
return (
|
|
205
|
+
<CDPHooksProvider
|
|
206
|
+
config={{
|
|
207
|
+
projectId: "your-project-id",
|
|
208
|
+
// No ethereum or solana createOnLogin configuration
|
|
209
|
+
}}
|
|
210
|
+
>
|
|
211
|
+
<App />
|
|
212
|
+
</CDPHooksProvider>
|
|
213
|
+
);
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
When `createOnLogin` is omitted, the SDK will:
|
|
218
|
+
1. Not create any accounts automatically upon user login
|
|
219
|
+
2. Require manual account creation using the account creation hooks (see below)
|
|
220
|
+
3. Give you full control over when and what types of accounts to create
|
|
221
|
+
|
|
198
222
|
### Sign In a User
|
|
199
223
|
|
|
200
224
|
End user authentication proceeds in two steps:
|
|
@@ -699,6 +723,133 @@ function UserInformation() {
|
|
|
699
723
|
}
|
|
700
724
|
```
|
|
701
725
|
|
|
726
|
+
### Create Accounts Manually
|
|
727
|
+
|
|
728
|
+
If you configured your provider without `createOnLogin`, you can manually create accounts for authenticated users when needed using these hooks.
|
|
729
|
+
|
|
730
|
+
#### Create an EOA Account
|
|
731
|
+
|
|
732
|
+
Use the `useCreateEoaAccount` hook to create an EOA (Externally Owned Account) for the current user:
|
|
733
|
+
|
|
734
|
+
```tsx lines
|
|
735
|
+
import { useCreateEoaAccount, useCurrentUser } from "@coinbase/cdp-hooks";
|
|
736
|
+
|
|
737
|
+
function CreateEoaAccount() {
|
|
738
|
+
const { createEoaAccount } = useCreateEoaAccount();
|
|
739
|
+
const { currentUser } = useCurrentUser();
|
|
740
|
+
|
|
741
|
+
const handleCreateAccount = async () => {
|
|
742
|
+
try {
|
|
743
|
+
const evmAddress = await createEoaAccount();
|
|
744
|
+
console.log("Created EOA:", evmAddress);
|
|
745
|
+
// The user object is automatically updated
|
|
746
|
+
} catch (error) {
|
|
747
|
+
console.error("Failed to create EOA:", error);
|
|
748
|
+
}
|
|
749
|
+
};
|
|
750
|
+
|
|
751
|
+
return (
|
|
752
|
+
<button
|
|
753
|
+
onClick={handleCreateAccount}
|
|
754
|
+
disabled={!currentUser || currentUser.evmAccounts?.length > 0}
|
|
755
|
+
>
|
|
756
|
+
Create EOA Account
|
|
757
|
+
</button>
|
|
758
|
+
);
|
|
759
|
+
}
|
|
760
|
+
```
|
|
761
|
+
|
|
762
|
+
**Note:** This will throw an error if the user already has an EOA account.
|
|
763
|
+
|
|
764
|
+
#### Create a Smart Account
|
|
765
|
+
|
|
766
|
+
Use the `useCreateSmartAccount` hook to create a Smart Account for the current user:
|
|
767
|
+
|
|
768
|
+
```tsx lines
|
|
769
|
+
import { useCreateSmartAccount, useCurrentUser } from "@coinbase/cdp-hooks";
|
|
770
|
+
|
|
771
|
+
function CreateSmartAccount() {
|
|
772
|
+
const { createSmartAccount } = useCreateSmartAccount();
|
|
773
|
+
const { currentUser } = useCurrentUser();
|
|
774
|
+
|
|
775
|
+
const handleCreateAccount = async () => {
|
|
776
|
+
try {
|
|
777
|
+
// Create Smart Account (will automatically create EOA first if needed)
|
|
778
|
+
const smartAccountAddress = await createSmartAccount();
|
|
779
|
+
console.log("Created Smart Account:", smartAccountAddress);
|
|
780
|
+
// The user object is automatically updated
|
|
781
|
+
} catch (error) {
|
|
782
|
+
console.error("Failed to create Smart Account:", error);
|
|
783
|
+
}
|
|
784
|
+
};
|
|
785
|
+
|
|
786
|
+
const handleCreateWithSpendPermissions = async () => {
|
|
787
|
+
try {
|
|
788
|
+
// Create Smart Account with spend permissions enabled
|
|
789
|
+
const smartAccountAddress = await createSmartAccount({
|
|
790
|
+
enableSpendPermissions: true
|
|
791
|
+
});
|
|
792
|
+
console.log("Created Smart Account with spend permissions:", smartAccountAddress);
|
|
793
|
+
} catch (error) {
|
|
794
|
+
console.error("Failed to create Smart Account:", error);
|
|
795
|
+
}
|
|
796
|
+
};
|
|
797
|
+
|
|
798
|
+
return (
|
|
799
|
+
<div>
|
|
800
|
+
<button
|
|
801
|
+
onClick={handleCreateAccount}
|
|
802
|
+
disabled={!currentUser || currentUser.evmSmartAccounts?.length > 0}
|
|
803
|
+
>
|
|
804
|
+
Create Smart Account
|
|
805
|
+
</button>
|
|
806
|
+
<button
|
|
807
|
+
onClick={handleCreateWithSpendPermissions}
|
|
808
|
+
disabled={!currentUser || currentUser.evmSmartAccounts?.length > 0}
|
|
809
|
+
>
|
|
810
|
+
Create Smart Account with Spend Permissions
|
|
811
|
+
</button>
|
|
812
|
+
</div>
|
|
813
|
+
);
|
|
814
|
+
}
|
|
815
|
+
```
|
|
816
|
+
|
|
817
|
+
**Note:** This will throw an error if the user already has a Smart Account. If the user doesn't have an EOA, one will be automatically created first to serve as the Smart Account owner.
|
|
818
|
+
|
|
819
|
+
#### Create a Solana Account
|
|
820
|
+
|
|
821
|
+
Use the `useCreateSolanaAccount` hook to create a Solana account for the current user:
|
|
822
|
+
|
|
823
|
+
```tsx lines
|
|
824
|
+
import { useCreateSolanaAccount, useCurrentUser } from "@coinbase/cdp-hooks";
|
|
825
|
+
|
|
826
|
+
function CreateSolanaAccount() {
|
|
827
|
+
const { createSolanaAccount } = useCreateSolanaAccount();
|
|
828
|
+
const { currentUser } = useCurrentUser();
|
|
829
|
+
|
|
830
|
+
const handleCreateAccount = async () => {
|
|
831
|
+
try {
|
|
832
|
+
const solanaAddress = await createSolanaAccount();
|
|
833
|
+
console.log("Created Solana account:", solanaAddress);
|
|
834
|
+
// The user object is automatically updated
|
|
835
|
+
} catch (error) {
|
|
836
|
+
console.error("Failed to create Solana account:", error);
|
|
837
|
+
}
|
|
838
|
+
};
|
|
839
|
+
|
|
840
|
+
return (
|
|
841
|
+
<button
|
|
842
|
+
onClick={handleCreateAccount}
|
|
843
|
+
disabled={!currentUser || currentUser.solanaAccounts?.length > 0}
|
|
844
|
+
>
|
|
845
|
+
Create Solana Account
|
|
846
|
+
</button>
|
|
847
|
+
);
|
|
848
|
+
}
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
**Note:** This will throw an error if the user already has a Solana account.
|
|
852
|
+
|
|
702
853
|
### Working with Solana
|
|
703
854
|
|
|
704
855
|
When your application is configured with `solana: { createOnLogin: true }`, you can use Solana-specific hooks to interact with Solana accounts.
|
package/dist/esm/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { APIError as
|
|
1
|
+
import { APIError as i, OAuth2ProviderType as a } from "@coinbase/cdp-core";
|
|
2
2
|
import { Analytics as e } from "./index2.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { VERSION as s } from "./index3.js";
|
|
5
|
-
import { CDPContext as
|
|
6
|
-
import { useAuthenticateWithJWT as
|
|
5
|
+
import { CDPContext as p, CDPHooksProvider as S } from "./index4.js";
|
|
6
|
+
import { useAuthenticateWithJWT as f, useConfig as E, useCurrentUser as x, useEnforceAuthenticated as d, useEnforceUnauthenticated as g, useEvmAddress as A, useExportEvmAccount as h, useExportSolanaAccount as l, useGetAccessToken as v, useIsInitialized as P, useIsSignedIn as k, useOAuthState as O, useSendEvmTransaction as T, useSendSolanaTransaction as C, useSendUserOperation as I, useSignEvmHash as L, useSignEvmMessage as W, useSignEvmTransaction as y, useSignEvmTypedData as U, useSignInWithEmail as V, useSignInWithOAuth as D, useSignInWithSms as G, useSignOut as H, useSignSolanaMessage as M, useSignSolanaTransaction as R, useSolanaAddress as z, useVerifyEmailOTP as F, useVerifySmsOTP as J, useWaitForUserOperation as N } from "./index5.js";
|
|
7
7
|
import { useCreateSpendPermission as b } from "./index6.js";
|
|
8
8
|
import { useListSpendPermissions as q } from "./index7.js";
|
|
9
9
|
import { useRevokeSpendPermission as B } from "./index8.js";
|
|
@@ -12,25 +12,31 @@ import { useLinkApple as Z } from "./index10.js";
|
|
|
12
12
|
import { useLinkSms as $ } from "./index11.js";
|
|
13
13
|
import { useLinkEmail as se } from "./index12.js";
|
|
14
14
|
import { useLinkOAuth as re } from "./index13.js";
|
|
15
|
-
import {
|
|
15
|
+
import { useCreateEvmEoaAccount as ne } from "./index14.js";
|
|
16
|
+
import { useCreateEvmSmartAccount as ie } from "./index15.js";
|
|
17
|
+
import { useCreateSolanaAccount as me } from "./index16.js";
|
|
18
|
+
import { useX402 as Se } from "./index17.js";
|
|
16
19
|
e.registerPackageVersion("hooks", s);
|
|
17
20
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
i as APIError,
|
|
22
|
+
p as CDPContext,
|
|
23
|
+
S as CDPHooksProvider,
|
|
21
24
|
a as OAuth2ProviderType,
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
f as useAuthenticateWithJWT,
|
|
26
|
+
E as useConfig,
|
|
27
|
+
ne as useCreateEvmEoaAccount,
|
|
28
|
+
ie as useCreateEvmSmartAccount,
|
|
29
|
+
me as useCreateSolanaAccount,
|
|
24
30
|
b as useCreateSpendPermission,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
x as useCurrentUser,
|
|
32
|
+
d as useEnforceAuthenticated,
|
|
33
|
+
g as useEnforceUnauthenticated,
|
|
28
34
|
A as useEvmAddress,
|
|
29
35
|
h as useExportEvmAccount,
|
|
30
36
|
l as useExportSolanaAccount,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
37
|
+
v as useGetAccessToken,
|
|
38
|
+
P as useIsInitialized,
|
|
39
|
+
k as useIsSignedIn,
|
|
34
40
|
Z as useLinkApple,
|
|
35
41
|
se as useLinkEmail,
|
|
36
42
|
Q as useLinkGoogle,
|
|
@@ -40,8 +46,8 @@ export {
|
|
|
40
46
|
O as useOAuthState,
|
|
41
47
|
B as useRevokeSpendPermission,
|
|
42
48
|
T as useSendEvmTransaction,
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
C as useSendSolanaTransaction,
|
|
50
|
+
I as useSendUserOperation,
|
|
45
51
|
L as useSignEvmHash,
|
|
46
52
|
W as useSignEvmMessage,
|
|
47
53
|
y as useSignEvmTransaction,
|
|
@@ -56,5 +62,5 @@ export {
|
|
|
56
62
|
F as useVerifyEmailOTP,
|
|
57
63
|
J as useVerifySmsOTP,
|
|
58
64
|
N as useWaitForUserOperation,
|
|
59
|
-
|
|
65
|
+
Se as useX402
|
|
60
66
|
};
|
package/dist/esm/index10.js
CHANGED
package/dist/esm/index100.js
CHANGED
|
@@ -1,217 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
from: h?.address,
|
|
19
|
-
to: l,
|
|
20
|
-
value: typeof d < "u" && `${P(d)} ${s?.nativeCurrency?.symbol || "ETH"}`,
|
|
21
|
-
data: c,
|
|
22
|
-
gas: a,
|
|
23
|
-
gasPrice: typeof i < "u" && `${p(i)} gwei`,
|
|
24
|
-
maxFeePerGas: typeof r < "u" && `${p(r)} gwei`,
|
|
25
|
-
maxPriorityFeePerGas: typeof t < "u" && `${p(t)} gwei`,
|
|
26
|
-
nonce: n
|
|
27
|
-
});
|
|
28
|
-
f && (g += `
|
|
29
|
-
${x(f)}`), super(e.shortMessage, {
|
|
30
|
-
cause: e,
|
|
31
|
-
docsPath: u,
|
|
32
|
-
metaMessages: [
|
|
33
|
-
...e.metaMessages ? [...e.metaMessages, " "] : [],
|
|
34
|
-
"Raw Call Arguments:",
|
|
35
|
-
g
|
|
36
|
-
].filter(Boolean),
|
|
37
|
-
name: "CallExecutionError"
|
|
38
|
-
}), Object.defineProperty(this, "cause", {
|
|
39
|
-
enumerable: !0,
|
|
40
|
-
configurable: !0,
|
|
41
|
-
writable: !0,
|
|
42
|
-
value: void 0
|
|
43
|
-
}), this.cause = e;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
class G extends m {
|
|
47
|
-
constructor(e, { abi: o, args: u, contractAddress: s, docsPath: c, functionName: a, sender: i }) {
|
|
48
|
-
const r = C({ abi: o, args: u, name: a }), t = r ? v({
|
|
49
|
-
abiItem: r,
|
|
50
|
-
args: u,
|
|
51
|
-
includeFunctionName: !1,
|
|
52
|
-
includeName: !1
|
|
53
|
-
}) : void 0, n = r ? y(r, { includeName: !0 }) : void 0, l = w({
|
|
54
|
-
address: s && O(s),
|
|
55
|
-
function: n,
|
|
56
|
-
args: t && t !== "()" && `${[...Array(a?.length ?? 0).keys()].map(() => " ").join("")}${t}`,
|
|
57
|
-
sender: i
|
|
58
|
-
});
|
|
59
|
-
super(e.shortMessage || `An unknown error occurred while executing the contract function "${a}".`, {
|
|
60
|
-
cause: e,
|
|
61
|
-
docsPath: c,
|
|
62
|
-
metaMessages: [
|
|
63
|
-
...e.metaMessages ? [...e.metaMessages, " "] : [],
|
|
64
|
-
l && "Contract Call:",
|
|
65
|
-
l
|
|
66
|
-
].filter(Boolean),
|
|
67
|
-
name: "ContractFunctionExecutionError"
|
|
68
|
-
}), Object.defineProperty(this, "abi", {
|
|
69
|
-
enumerable: !0,
|
|
70
|
-
configurable: !0,
|
|
71
|
-
writable: !0,
|
|
72
|
-
value: void 0
|
|
73
|
-
}), Object.defineProperty(this, "args", {
|
|
74
|
-
enumerable: !0,
|
|
75
|
-
configurable: !0,
|
|
76
|
-
writable: !0,
|
|
77
|
-
value: void 0
|
|
78
|
-
}), Object.defineProperty(this, "cause", {
|
|
79
|
-
enumerable: !0,
|
|
80
|
-
configurable: !0,
|
|
81
|
-
writable: !0,
|
|
82
|
-
value: void 0
|
|
83
|
-
}), Object.defineProperty(this, "contractAddress", {
|
|
84
|
-
enumerable: !0,
|
|
85
|
-
configurable: !0,
|
|
86
|
-
writable: !0,
|
|
87
|
-
value: void 0
|
|
88
|
-
}), Object.defineProperty(this, "formattedArgs", {
|
|
1
|
+
import { version as o } from "./index101.js";
|
|
2
|
+
let r = {
|
|
3
|
+
getDocsUrl: ({ docsBaseUrl: s, docsPath: t = "", docsSlug: e }) => t ? `${s ?? "https://viem.sh"}${t}${e ? `#${e}` : ""}` : void 0,
|
|
4
|
+
version: `viem@${o}`
|
|
5
|
+
};
|
|
6
|
+
class u extends Error {
|
|
7
|
+
constructor(t, e = {}) {
|
|
8
|
+
const i = e.cause instanceof u ? e.cause.details : e.cause?.message ? e.cause.message : e.details, n = e.cause instanceof u && e.cause.docsPath || e.docsPath, a = r.getDocsUrl?.({ ...e, docsPath: n }), l = [
|
|
9
|
+
t || "An error occurred.",
|
|
10
|
+
"",
|
|
11
|
+
...e.metaMessages ? [...e.metaMessages, ""] : [],
|
|
12
|
+
...a ? [`Docs: ${a}`] : [],
|
|
13
|
+
...i ? [`Details: ${i}`] : [],
|
|
14
|
+
...r.version ? [`Version: ${r.version}`] : []
|
|
15
|
+
].join(`
|
|
16
|
+
`);
|
|
17
|
+
super(l, e.cause ? { cause: e.cause } : void 0), Object.defineProperty(this, "details", {
|
|
89
18
|
enumerable: !0,
|
|
90
19
|
configurable: !0,
|
|
91
20
|
writable: !0,
|
|
92
21
|
value: void 0
|
|
93
|
-
}), Object.defineProperty(this, "
|
|
22
|
+
}), Object.defineProperty(this, "docsPath", {
|
|
94
23
|
enumerable: !0,
|
|
95
24
|
configurable: !0,
|
|
96
25
|
writable: !0,
|
|
97
26
|
value: void 0
|
|
98
|
-
}), Object.defineProperty(this, "
|
|
27
|
+
}), Object.defineProperty(this, "metaMessages", {
|
|
99
28
|
enumerable: !0,
|
|
100
29
|
configurable: !0,
|
|
101
30
|
writable: !0,
|
|
102
31
|
value: void 0
|
|
103
|
-
}),
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
class H extends m {
|
|
107
|
-
constructor({ abi: e, data: o, functionName: u, message: s }) {
|
|
108
|
-
let c, a, i, r;
|
|
109
|
-
if (o && o !== "0x")
|
|
110
|
-
try {
|
|
111
|
-
a = A({ abi: e, data: o });
|
|
112
|
-
const { abiItem: n, errorName: l, args: d } = a;
|
|
113
|
-
if (l === "Error")
|
|
114
|
-
r = d[0];
|
|
115
|
-
else if (l === "Panic") {
|
|
116
|
-
const [f] = d;
|
|
117
|
-
r = $[f];
|
|
118
|
-
} else {
|
|
119
|
-
const f = n ? y(n, { includeName: !0 }) : void 0, h = n && d ? v({
|
|
120
|
-
abiItem: n,
|
|
121
|
-
args: d,
|
|
122
|
-
includeFunctionName: !1,
|
|
123
|
-
includeName: !1
|
|
124
|
-
}) : void 0;
|
|
125
|
-
i = [
|
|
126
|
-
f ? `Error: ${f}` : "",
|
|
127
|
-
h && h !== "()" ? ` ${[...Array(l?.length ?? 0).keys()].map(() => " ").join("")}${h}` : ""
|
|
128
|
-
];
|
|
129
|
-
}
|
|
130
|
-
} catch (n) {
|
|
131
|
-
c = n;
|
|
132
|
-
}
|
|
133
|
-
else s && (r = s);
|
|
134
|
-
let t;
|
|
135
|
-
c instanceof j && (t = c.signature, i = [
|
|
136
|
-
`Unable to decode signature "${t}" as it was not found on the provided ABI.`,
|
|
137
|
-
"Make sure you are using the correct ABI and that the error exists on it.",
|
|
138
|
-
`You can look up the decoded signature here: https://openchain.xyz/signatures?query=${t}.`
|
|
139
|
-
]), super(r && r !== "execution reverted" || t ? [
|
|
140
|
-
`The contract function "${u}" reverted with the following ${t ? "signature" : "reason"}:`,
|
|
141
|
-
r || t
|
|
142
|
-
].join(`
|
|
143
|
-
`) : `The contract function "${u}" reverted.`, {
|
|
144
|
-
cause: c,
|
|
145
|
-
metaMessages: i,
|
|
146
|
-
name: "ContractFunctionRevertedError"
|
|
147
|
-
}), Object.defineProperty(this, "data", {
|
|
32
|
+
}), Object.defineProperty(this, "shortMessage", {
|
|
148
33
|
enumerable: !0,
|
|
149
34
|
configurable: !0,
|
|
150
35
|
writable: !0,
|
|
151
36
|
value: void 0
|
|
152
|
-
}), Object.defineProperty(this, "
|
|
37
|
+
}), Object.defineProperty(this, "version", {
|
|
153
38
|
enumerable: !0,
|
|
154
39
|
configurable: !0,
|
|
155
40
|
writable: !0,
|
|
156
41
|
value: void 0
|
|
157
|
-
}), Object.defineProperty(this, "
|
|
42
|
+
}), Object.defineProperty(this, "name", {
|
|
158
43
|
enumerable: !0,
|
|
159
44
|
configurable: !0,
|
|
160
45
|
writable: !0,
|
|
161
|
-
value:
|
|
162
|
-
}),
|
|
163
|
-
enumerable: !0,
|
|
164
|
-
configurable: !0,
|
|
165
|
-
writable: !0,
|
|
166
|
-
value: void 0
|
|
167
|
-
}), this.data = a, this.raw = o, this.reason = r, this.signature = t;
|
|
46
|
+
value: "BaseError"
|
|
47
|
+
}), this.details = i, this.docsPath = n, this.metaMessages = e.metaMessages, this.name = e.name ?? this.name, this.shortMessage = t, this.version = o;
|
|
168
48
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
constructor({ functionName: e }) {
|
|
172
|
-
super(`The contract function "${e}" returned no data ("0x").`, {
|
|
173
|
-
metaMessages: [
|
|
174
|
-
"This could be due to any of the following:",
|
|
175
|
-
` - The contract does not have the function "${e}",`,
|
|
176
|
-
" - The parameters passed to the contract function may be invalid, or",
|
|
177
|
-
" - The address is not a contract."
|
|
178
|
-
],
|
|
179
|
-
name: "ContractFunctionZeroDataError"
|
|
180
|
-
});
|
|
49
|
+
walk(t) {
|
|
50
|
+
return c(this, t);
|
|
181
51
|
}
|
|
182
52
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
super(`Deployment for counterfactual contract call failed${e ? ` for factory "${e}".` : ""}`, {
|
|
186
|
-
metaMessages: [
|
|
187
|
-
"Please ensure:",
|
|
188
|
-
"- The `factory` is a valid contract deployment factory (ie. Create2 Factory, ERC-4337 Factory, etc).",
|
|
189
|
-
"- The `factoryData` is a valid encoded function call for contract deployment function on the factory."
|
|
190
|
-
],
|
|
191
|
-
name: "CounterfactualDeploymentFailedError"
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
class J extends m {
|
|
196
|
-
constructor({ data: e, message: o }) {
|
|
197
|
-
super(o || "", { name: "RawContractError" }), Object.defineProperty(this, "code", {
|
|
198
|
-
enumerable: !0,
|
|
199
|
-
configurable: !0,
|
|
200
|
-
writable: !0,
|
|
201
|
-
value: 3
|
|
202
|
-
}), Object.defineProperty(this, "data", {
|
|
203
|
-
enumerable: !0,
|
|
204
|
-
configurable: !0,
|
|
205
|
-
writable: !0,
|
|
206
|
-
value: void 0
|
|
207
|
-
}), this.data = e;
|
|
208
|
-
}
|
|
53
|
+
function c(s, t) {
|
|
54
|
+
return t?.(s) ? s : s && typeof s == "object" && "cause" in s && s.cause !== void 0 ? c(s.cause, t) : t ? null : s;
|
|
209
55
|
}
|
|
210
56
|
export {
|
|
211
|
-
|
|
212
|
-
G as ContractFunctionExecutionError,
|
|
213
|
-
H as ContractFunctionRevertedError,
|
|
214
|
-
U as ContractFunctionZeroDataError,
|
|
215
|
-
Y as CounterfactualDeploymentFailedError,
|
|
216
|
-
J as RawContractError
|
|
57
|
+
u as BaseError
|
|
217
58
|
};
|
package/dist/esm/index101.js
CHANGED
|
@@ -1,34 +1,4 @@
|
|
|
1
|
-
const
|
|
2
|
-
1: "An `assert` condition failed.",
|
|
3
|
-
17: "Arithmetic operation resulted in underflow or overflow.",
|
|
4
|
-
18: "Division or modulo by zero (e.g. `5 / 0` or `23 % 0`).",
|
|
5
|
-
33: "Attempted to convert to an invalid type.",
|
|
6
|
-
34: "Attempted to access a storage byte array that is incorrectly encoded.",
|
|
7
|
-
49: "Performed `.pop()` on an empty array",
|
|
8
|
-
50: "Array index is out of bounds.",
|
|
9
|
-
65: "Allocated too much memory or created an array which is too large.",
|
|
10
|
-
81: "Attempted to call a zero-initialized variable of internal function type."
|
|
11
|
-
}, o = {
|
|
12
|
-
inputs: [
|
|
13
|
-
{
|
|
14
|
-
name: "message",
|
|
15
|
-
type: "string"
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
name: "Error",
|
|
19
|
-
type: "error"
|
|
20
|
-
}, t = {
|
|
21
|
-
inputs: [
|
|
22
|
-
{
|
|
23
|
-
name: "reason",
|
|
24
|
-
type: "uint256"
|
|
25
|
-
}
|
|
26
|
-
],
|
|
27
|
-
name: "Panic",
|
|
28
|
-
type: "error"
|
|
29
|
-
};
|
|
1
|
+
const o = "2.33.0";
|
|
30
2
|
export {
|
|
31
|
-
|
|
32
|
-
o as solidityError,
|
|
33
|
-
t as solidityPanic
|
|
3
|
+
o as version
|
|
34
4
|
};
|
package/dist/esm/index102.js
CHANGED
|
@@ -1,24 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function y(n) {
|
|
8
|
-
const { abi: a, data: t } = n, o = e(t, 0, 4);
|
|
9
|
-
if (o === "0x")
|
|
10
|
-
throw new c();
|
|
11
|
-
const r = [...a || [], m, s].find((i) => i.type === "error" && o === u(p(i)));
|
|
12
|
-
if (!r)
|
|
13
|
-
throw new d(o, {
|
|
14
|
-
docsPath: "/docs/contract/decodeErrorResult"
|
|
15
|
-
});
|
|
16
|
-
return {
|
|
17
|
-
abiItem: r,
|
|
18
|
-
args: "inputs" in r && r.inputs && r.inputs.length > 0 ? f(r.inputs, e(t, 4)) : void 0,
|
|
19
|
-
errorName: r.name
|
|
20
|
-
};
|
|
1
|
+
import { BaseError as e } from "./index100.js";
|
|
2
|
+
class d extends e {
|
|
3
|
+
constructor({ blockHash: r, blockNumber: t }) {
|
|
4
|
+
let o = "Block";
|
|
5
|
+
r && (o = `Block at hash "${r}"`), t && (o = `Block at number "${t}"`), super(`${o} could not be found.`, { name: "BlockNotFoundError" });
|
|
6
|
+
}
|
|
21
7
|
}
|
|
22
8
|
export {
|
|
23
|
-
|
|
9
|
+
d as BlockNotFoundError
|
|
24
10
|
};
|