@coinbase/cdp-hooks 0.0.75 → 0.0.77
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 +199 -5
- package/dist/esm/index.js +38 -32
- package/dist/esm/index10.js +1 -1
- package/dist/esm/index100.js +276 -9
- package/dist/esm/index101.js +3 -2
- package/dist/esm/index102.js +4 -2
- package/dist/esm/index103.js +9 -3
- package/dist/esm/index104.js +2 -327
- package/dist/esm/index105.js +2 -14
- package/dist/esm/index106.js +3 -5
- package/dist/esm/index107.js +299 -28
- package/dist/esm/index108.js +14 -2
- package/dist/esm/index109.js +4 -7
- package/dist/esm/index11.js +1 -1
- package/dist/esm/index110.js +29 -188
- package/dist/esm/index111.js +2 -32
- package/dist/esm/index112.js +7 -21
- package/dist/esm/index113.js +214 -5
- package/dist/esm/index114.js +30 -72
- package/dist/esm/index115.js +21 -5
- package/dist/esm/index116.js +5 -5
- package/dist/esm/index117.js +69 -31
- package/dist/esm/index118.js +5 -75
- package/dist/esm/index119.js +6 -3
- package/dist/esm/index12.js +1 -1
- package/dist/esm/index120.js +28 -16
- package/dist/esm/index121.js +57 -433
- package/dist/esm/index122.js +3 -31
- package/dist/esm/index123.js +17 -20
- package/dist/esm/index124.js +439 -21
- package/dist/esm/index125.js +28 -32
- package/dist/esm/index126.js +18 -185
- package/dist/esm/index127.js +31 -6
- package/dist/esm/index128.js +35 -2
- package/dist/esm/index129.js +189 -8
- package/dist/esm/index13.js +1 -1
- package/dist/esm/index130.js +7 -17
- package/dist/esm/index131.js +2 -28
- package/dist/esm/index132.js +12 -8
- package/dist/esm/index133.js +15 -52
- package/dist/esm/index134.js +23 -41
- package/dist/esm/index135.js +8 -8
- package/dist/esm/index136.js +55 -7
- package/dist/esm/index137.js +44 -15
- package/dist/esm/index138.js +8 -18
- package/dist/esm/index139.js +7 -24
- package/dist/esm/index14.js +1 -1
- package/dist/esm/index140.js +16 -16
- package/dist/esm/index141.js +17 -53
- package/dist/esm/index142.js +22 -9
- package/dist/esm/index143.js +15 -159
- package/dist/esm/index144.js +53 -20
- package/dist/esm/index145.js +11 -127
- package/dist/esm/index146.js +153 -31
- package/dist/esm/index147.js +21 -6
- package/dist/esm/index148.js +127 -27
- package/dist/esm/index149.js +31 -184
- package/dist/esm/index15.js +1 -1
- package/dist/esm/index150.js +7 -4
- package/dist/esm/index151.js +26 -63
- package/dist/esm/index152.js +192 -3
- package/dist/esm/index153.js +4 -21
- package/dist/esm/index154.js +61 -13
- package/dist/esm/index155.js +3 -24
- package/dist/esm/index156.js +20 -11
- package/dist/esm/index157.js +15 -33
- package/dist/esm/index158.js +24 -3
- package/dist/esm/index159.js +11 -18
- package/dist/esm/index16.js +1 -1
- package/dist/esm/index160.js +33 -26
- package/dist/esm/index161.js +3 -36
- package/dist/esm/index162.js +18 -7
- package/dist/esm/index163.js +26 -24
- package/dist/esm/index164.js +34 -27
- package/dist/esm/index165.js +7 -64
- package/dist/esm/index166.js +25 -9
- package/dist/esm/index167.js +28 -33
- package/dist/esm/index168.js +64 -27
- package/dist/esm/index169.js +9 -24
- package/dist/esm/index17.js +36 -5
- package/dist/esm/index170.js +33 -3
- package/dist/esm/index171.js +27 -14
- package/dist/esm/index172.js +24 -103
- package/dist/esm/index173.js +3 -64
- package/dist/esm/index174.js +14 -5
- package/dist/esm/index175.js +103 -6
- package/dist/esm/index176.js +62 -25
- package/dist/esm/index177.js +5 -38
- package/dist/esm/index178.js +6 -13
- package/dist/esm/index179.js +24 -39
- package/dist/esm/index18.js +28 -7
- package/dist/esm/index180.js +38 -5
- package/dist/esm/index181.js +13 -11
- package/dist/esm/index182.js +42 -19
- package/dist/esm/index183.js +5 -78
- package/dist/esm/index184.js +12 -2
- package/dist/esm/index185.js +19 -37
- package/dist/esm/index186.js +73 -105
- package/dist/esm/index187.js +2 -49
- package/dist/esm/index188.js +36 -31
- package/dist/esm/index189.js +110 -8
- package/dist/esm/index19.js +7 -6
- package/dist/esm/index190.js +48 -6
- package/dist/esm/index191.js +32 -6
- package/dist/esm/index192.js +8 -11
- package/dist/esm/index193.js +6 -10
- package/dist/esm/index194.js +6 -13
- package/dist/esm/index195.js +11 -32
- package/dist/esm/index196.js +11 -5
- package/dist/esm/index197.js +13 -8
- package/dist/esm/index198.js +30 -17
- package/dist/esm/index199.js +5 -32
- package/dist/esm/index2.js +2 -2
- package/dist/esm/index20.js +4 -7
- package/dist/esm/index200.js +8 -20
- package/dist/esm/index201.js +19 -3
- package/dist/esm/index202.js +31 -17
- package/dist/esm/index203.js +20 -10
- package/dist/esm/index204.js +3 -21
- package/dist/esm/index205.js +16 -21
- package/dist/esm/index206.js +10 -5
- package/dist/esm/index207.js +21 -5
- package/dist/esm/index208.js +22 -8
- package/dist/esm/index209.js +5 -104
- package/dist/esm/index21.js +5 -5
- package/dist/esm/index210.js +6 -3
- package/dist/esm/index211.js +8 -18
- package/dist/esm/index212.js +99 -166
- package/dist/esm/index213.js +3 -18
- package/dist/esm/index214.js +19 -10
- package/dist/esm/index215.js +171 -38
- package/dist/esm/index216.js +18 -2
- package/dist/esm/index217.js +10 -70
- package/dist/esm/index218.js +37 -33
- package/dist/esm/index219.js +2 -15
- package/dist/esm/index22.js +5 -5
- package/dist/esm/index220.js +70 -2
- package/dist/esm/index221.js +34 -40
- package/dist/esm/index222.js +15 -2
- package/dist/esm/index223.js +40 -4
- package/dist/esm/index224.js +2 -11
- package/dist/esm/index225.js +4 -19
- package/dist/esm/index226.js +10 -7
- package/dist/esm/index227.js +18 -10
- package/dist/esm/index228.js +7 -66
- package/dist/esm/index229.js +9 -63
- package/dist/esm/index23.js +5 -5
- package/dist/esm/index230.js +56 -175
- package/dist/esm/index231.js +63 -20
- package/dist/esm/index232.js +180 -37
- package/dist/esm/index233.js +21 -75
- package/dist/esm/index234.js +22 -20
- package/dist/esm/index235.js +69 -9
- package/dist/esm/index236.js +34 -7
- package/dist/esm/index237.js +16 -7
- package/dist/esm/index238.js +13 -6
- package/dist/esm/index239.js +7 -36
- package/dist/esm/index24.js +6 -55
- package/dist/esm/index240.js +6 -15
- package/dist/esm/index241.js +36 -8
- package/dist/esm/index242.js +15 -12
- package/dist/esm/index243.js +8 -9
- package/dist/esm/index244.js +12 -16
- package/dist/esm/index245.js +9 -22
- package/dist/esm/index246.js +16 -30
- package/dist/esm/index247.js +23 -2
- package/dist/esm/index248.js +30 -13
- package/dist/esm/index249.js +2 -13
- package/dist/esm/index25.js +7 -8
- package/dist/esm/index250.js +13 -47
- package/dist/esm/index251.js +12 -9
- package/dist/esm/index252.js +47 -13
- package/dist/esm/index253.js +9 -14
- package/dist/esm/index254.js +13 -8
- package/dist/esm/index255.js +14 -15
- package/dist/esm/index256.js +8 -24
- package/dist/esm/index257.js +14 -10
- package/dist/esm/index258.js +24 -24
- package/dist/esm/index259.js +11 -51
- package/dist/esm/index26.js +8 -34
- package/dist/esm/index260.js +24 -17
- package/dist/esm/index261.js +48 -11
- package/dist/esm/index262.js +17 -11
- package/dist/esm/index263.js +13 -102
- package/dist/esm/index264.js +11 -5
- package/dist/esm/index265.js +101 -221
- package/dist/esm/index266.js +5 -6
- package/dist/esm/index267.js +224 -7
- package/dist/esm/index268.js +6 -26
- package/dist/esm/index269.js +7 -20
- package/dist/esm/index27.js +57 -18
- package/dist/esm/index270.js +24 -143
- package/dist/esm/index271.js +19 -12
- package/dist/esm/index272.js +145 -35
- package/dist/esm/index273.js +12 -41
- package/dist/esm/index274.js +35 -68
- package/dist/esm/index275.js +41 -3
- package/dist/esm/index276.js +2 -137
- package/dist/esm/index277.js +69 -156
- package/dist/esm/index278.js +134 -7
- package/dist/esm/index279.js +3 -16
- package/dist/esm/index28.js +8 -11
- package/dist/esm/index280.js +140 -98
- package/dist/esm/index281.js +9 -134
- package/dist/esm/index282.js +16 -78
- package/dist/esm/index283.js +114 -2
- package/dist/esm/index284.js +124 -687
- package/dist/esm/index285.js +73 -133
- package/dist/esm/index286.js +2 -43
- package/dist/esm/index287.js +675 -178
- package/dist/esm/index288.js +138 -3
- package/dist/esm/index289.js +40 -63
- package/dist/esm/index29.js +34 -12
- package/dist/esm/index290.js +200 -4
- package/dist/esm/index291.js +3 -40
- package/dist/esm/index292.js +65 -7
- package/dist/esm/index293.js +4 -62
- package/dist/esm/index294.js +33 -70
- package/dist/esm/index295.js +8 -4
- package/dist/esm/index296.js +55 -187
- package/dist/esm/index297.js +61 -47
- package/dist/esm/index298.js +4 -45
- package/dist/esm/index299.js +194 -4
- package/dist/esm/index3.js +1 -1
- package/dist/esm/index30.js +18 -54
- package/dist/esm/index300.js +64 -5
- package/dist/esm/index301.js +45 -2
- package/dist/esm/index302.js +4 -21
- package/dist/esm/index303.js +7 -0
- package/dist/esm/index304.js +4 -0
- package/dist/esm/index305.js +24 -0
- package/dist/esm/index31.js +11 -57
- package/dist/esm/index32.js +12 -56
- package/dist/esm/index33.js +54 -5
- package/dist/esm/index34.js +57 -47
- package/dist/esm/index35.js +56 -33
- package/dist/esm/index36.js +5 -4
- package/dist/esm/index37.js +46 -8
- package/dist/esm/index38.js +31 -67
- package/dist/esm/index39.js +3 -9
- package/dist/esm/index40.js +9 -28
- package/dist/esm/index41.js +68 -70
- package/dist/esm/index42.js +9 -19
- package/dist/esm/index43.js +26 -108
- package/dist/esm/index44.js +70 -60
- package/dist/esm/index45.js +19 -24
- package/dist/esm/index46.js +110 -40
- package/dist/esm/index47.js +57 -34
- package/dist/esm/index48.js +20 -54
- package/dist/esm/index49.js +37 -160
- package/dist/esm/index5.js +3 -3
- package/dist/esm/index50.js +36 -38
- package/dist/esm/index51.js +58 -9
- package/dist/esm/index52.js +161 -29
- package/dist/esm/index53.js +39 -36
- package/dist/esm/index54.js +7 -7
- package/dist/esm/index55.js +30 -28
- package/dist/esm/index56.js +34 -44
- package/dist/esm/index57.js +9 -88
- package/dist/esm/index58.js +26 -37
- package/dist/esm/index59.js +46 -8
- package/dist/esm/index6.js +2 -2
- package/dist/esm/index60.js +88 -6
- package/dist/esm/index61.js +40 -16
- package/dist/esm/index62.js +8 -8
- package/dist/esm/index63.js +6 -13
- package/dist/esm/index64.js +16 -7
- package/dist/esm/index65.js +8 -9
- package/dist/esm/index66.js +13 -16
- package/dist/esm/index67.js +7 -46
- package/dist/esm/index68.js +9 -13
- package/dist/esm/index69.js +15 -15
- package/dist/esm/index7.js +1 -1
- package/dist/esm/index70.js +46 -13
- package/dist/esm/index71.js +13 -6
- package/dist/esm/index72.js +15 -34
- package/dist/esm/index73.js +13 -9
- package/dist/esm/index74.js +5 -7
- package/dist/esm/index75.js +35 -25
- package/dist/esm/index76.js +9 -10
- package/dist/esm/index77.js +7 -13
- package/dist/esm/index78.js +25 -11
- package/dist/esm/index79.js +10 -116
- package/dist/esm/index8.js +2 -2
- package/dist/esm/index80.js +13 -32
- package/dist/esm/index81.js +11 -79
- package/dist/esm/index82.js +108 -169
- package/dist/esm/index83.js +26 -37
- package/dist/esm/index84.js +79 -6
- package/dist/esm/index85.js +177 -13
- package/dist/esm/index86.js +44 -13
- package/dist/esm/index87.js +6 -99
- package/dist/esm/index88.js +13 -72
- package/dist/esm/index89.js +13 -87
- package/dist/esm/index9.js +1 -1
- package/dist/esm/index90.js +93 -142
- package/dist/esm/index91.js +65 -129
- package/dist/esm/index92.js +73 -54
- package/dist/esm/index93.js +148 -23
- package/dist/esm/index94.js +133 -102
- package/dist/esm/index95.js +68 -6
- package/dist/esm/index96.js +23 -131
- package/dist/esm/index97.js +101 -271
- package/dist/esm/index98.js +7 -3
- package/dist/esm/index99.js +132 -4
- package/dist/types/index.d.ts +23 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -787,11 +787,17 @@ function CustomAuthSignIn() {
|
|
|
787
787
|
|
|
788
788
|
### Multi-Factor Authentication (MFA)
|
|
789
789
|
|
|
790
|
-
The CDP SDK provides hooks for implementing Multi-Factor Authentication using
|
|
790
|
+
The CDP SDK provides hooks for implementing Multi-Factor Authentication using two methods:
|
|
791
|
+
- **TOTP (Time-based One-Time Password)**: Users enroll using authenticator apps like Google Authenticator or Authy
|
|
792
|
+
- **SMS**: Users receive verification codes via text message to their phone number
|
|
791
793
|
|
|
792
|
-
|
|
794
|
+
MFA adds an extra layer of security for user accounts and sensitive operations.
|
|
793
795
|
|
|
794
|
-
|
|
796
|
+
> **Important**: Users must be authenticated (signed in) before they can enroll in MFA or perform MFA verification.
|
|
797
|
+
|
|
798
|
+
#### Enroll User in TOTP MFA
|
|
799
|
+
|
|
800
|
+
Use `useInitiateMfaEnrollment` and `useSubmitMfaEnrollment` to enroll a user in TOTP MFA:
|
|
795
801
|
|
|
796
802
|
```tsx lines
|
|
797
803
|
import {
|
|
@@ -882,9 +888,110 @@ function MfaEnrollment() {
|
|
|
882
888
|
}
|
|
883
889
|
```
|
|
884
890
|
|
|
885
|
-
####
|
|
891
|
+
#### Enroll User in SMS MFA
|
|
886
892
|
|
|
887
|
-
Use `
|
|
893
|
+
Use `useInitiateMfaEnrollment` and `useSubmitMfaEnrollment` to enroll a user in SMS MFA:
|
|
894
|
+
|
|
895
|
+
```tsx lines
|
|
896
|
+
import {
|
|
897
|
+
useInitiateMfaEnrollment,
|
|
898
|
+
useSubmitMfaEnrollment,
|
|
899
|
+
useCurrentUser
|
|
900
|
+
} from "@coinbase/cdp-hooks";
|
|
901
|
+
import { useState } from "react";
|
|
902
|
+
|
|
903
|
+
function SmsMfaEnrollment() {
|
|
904
|
+
const { initiateMfaEnrollment } = useInitiateMfaEnrollment();
|
|
905
|
+
const { submitMfaEnrollment } = useSubmitMfaEnrollment();
|
|
906
|
+
const { currentUser } = useCurrentUser();
|
|
907
|
+
const [phoneNumber, setPhoneNumber] = useState("");
|
|
908
|
+
const [mfaCode, setMfaCode] = useState("");
|
|
909
|
+
const [enrollmentInitiated, setEnrollmentInitiated] = useState(false);
|
|
910
|
+
|
|
911
|
+
const handleInitiateEnrollment = async () => {
|
|
912
|
+
try {
|
|
913
|
+
// Step 1: Initiate SMS MFA enrollment (sends OTP to phone)
|
|
914
|
+
const result = await initiateMfaEnrollment({
|
|
915
|
+
mfaMethod: "sms",
|
|
916
|
+
phoneNumber: phoneNumber // E.164 format (e.g., +14155552671)
|
|
917
|
+
});
|
|
918
|
+
|
|
919
|
+
console.log("SMS sent:", result.success);
|
|
920
|
+
setEnrollmentInitiated(true);
|
|
921
|
+
} catch (error) {
|
|
922
|
+
console.error("Failed to initiate SMS MFA enrollment:", error);
|
|
923
|
+
}
|
|
924
|
+
};
|
|
925
|
+
|
|
926
|
+
const handleSubmitEnrollment = async () => {
|
|
927
|
+
try {
|
|
928
|
+
// Step 2: Submit the 6-digit code received via SMS
|
|
929
|
+
const result = await submitMfaEnrollment({
|
|
930
|
+
mfaMethod: "sms",
|
|
931
|
+
mfaCode: mfaCode,
|
|
932
|
+
});
|
|
933
|
+
|
|
934
|
+
console.log("SMS MFA enrolled successfully for user:", result.user.userId);
|
|
935
|
+
console.log("SMS enrollment info:", result.user.mfaMethods?.sms);
|
|
936
|
+
setEnrollmentInitiated(false);
|
|
937
|
+
setPhoneNumber("");
|
|
938
|
+
setMfaCode("");
|
|
939
|
+
} catch (error) {
|
|
940
|
+
console.error("Failed to submit SMS MFA enrollment:", error);
|
|
941
|
+
}
|
|
942
|
+
};
|
|
943
|
+
|
|
944
|
+
if (!currentUser) {
|
|
945
|
+
return <div>Please sign in to enable SMS MFA</div>;
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
return (
|
|
949
|
+
<div>
|
|
950
|
+
<h2>Enable SMS MFA</h2>
|
|
951
|
+
|
|
952
|
+
{!enrollmentInitiated ? (
|
|
953
|
+
<div>
|
|
954
|
+
<input
|
|
955
|
+
type="tel"
|
|
956
|
+
placeholder="Phone number (e.g., +14155552671)"
|
|
957
|
+
value={phoneNumber}
|
|
958
|
+
onChange={(e) => setPhoneNumber(e.target.value)}
|
|
959
|
+
/>
|
|
960
|
+
<button
|
|
961
|
+
onClick={handleInitiateEnrollment}
|
|
962
|
+
disabled={!phoneNumber}
|
|
963
|
+
>
|
|
964
|
+
Send SMS Code
|
|
965
|
+
</button>
|
|
966
|
+
</div>
|
|
967
|
+
) : (
|
|
968
|
+
<div>
|
|
969
|
+
<p>A 6-digit code has been sent to {phoneNumber}</p>
|
|
970
|
+
|
|
971
|
+
<input
|
|
972
|
+
type="text"
|
|
973
|
+
placeholder="Enter 6-digit code"
|
|
974
|
+
value={mfaCode}
|
|
975
|
+
onChange={(e) => setMfaCode(e.target.value)}
|
|
976
|
+
maxLength={6}
|
|
977
|
+
/>
|
|
978
|
+
|
|
979
|
+
<button
|
|
980
|
+
onClick={handleSubmitEnrollment}
|
|
981
|
+
disabled={mfaCode.length !== 6}
|
|
982
|
+
>
|
|
983
|
+
Verify and Enable SMS MFA
|
|
984
|
+
</button>
|
|
985
|
+
</div>
|
|
986
|
+
)}
|
|
987
|
+
</div>
|
|
988
|
+
);
|
|
989
|
+
}
|
|
990
|
+
```
|
|
991
|
+
|
|
992
|
+
#### Verify TOTP MFA for Sensitive Operations
|
|
993
|
+
|
|
994
|
+
Use `useInitiateMfaVerification` and `useSubmitMfaVerification` to verify TOTP MFA for sensitive operations:
|
|
888
995
|
|
|
889
996
|
```tsx lines
|
|
890
997
|
import {
|
|
@@ -969,6 +1076,93 @@ function MfaVerification() {
|
|
|
969
1076
|
}
|
|
970
1077
|
```
|
|
971
1078
|
|
|
1079
|
+
#### Verify SMS MFA for Sensitive Operations
|
|
1080
|
+
|
|
1081
|
+
Use `useInitiateMfaVerification` and `useSubmitMfaVerification` to verify SMS MFA for sensitive operations:
|
|
1082
|
+
|
|
1083
|
+
```tsx lines
|
|
1084
|
+
import {
|
|
1085
|
+
useInitiateMfaVerification,
|
|
1086
|
+
useSubmitMfaVerification,
|
|
1087
|
+
useCurrentUser
|
|
1088
|
+
} from "@coinbase/cdp-hooks";
|
|
1089
|
+
import { useState } from "react";
|
|
1090
|
+
|
|
1091
|
+
function SmsMfaVerification() {
|
|
1092
|
+
const { initiateMfaVerification } = useInitiateMfaVerification();
|
|
1093
|
+
const { submitMfaVerification } = useSubmitMfaVerification();
|
|
1094
|
+
const { currentUser } = useCurrentUser();
|
|
1095
|
+
const [mfaCode, setMfaCode] = useState("");
|
|
1096
|
+
const [verificationInitiated, setVerificationInitiated] = useState(false);
|
|
1097
|
+
|
|
1098
|
+
const handleSensitiveOperation = async () => {
|
|
1099
|
+
try {
|
|
1100
|
+
// Step 1: Initiate SMS MFA verification (sends code to enrolled phone)
|
|
1101
|
+
await initiateMfaVerification({ mfaMethod: "sms" });
|
|
1102
|
+
setVerificationInitiated(true);
|
|
1103
|
+
|
|
1104
|
+
console.log("SMS sent to enrolled phone number. Enter your code.");
|
|
1105
|
+
} catch (error) {
|
|
1106
|
+
console.error("Failed to initiate SMS MFA verification:", error);
|
|
1107
|
+
}
|
|
1108
|
+
};
|
|
1109
|
+
|
|
1110
|
+
const handleVerifyMfa = async () => {
|
|
1111
|
+
try {
|
|
1112
|
+
// Step 2: Submit the 6-digit code from SMS
|
|
1113
|
+
await submitMfaVerification({
|
|
1114
|
+
mfaMethod: "sms",
|
|
1115
|
+
mfaCode: mfaCode,
|
|
1116
|
+
});
|
|
1117
|
+
|
|
1118
|
+
console.log("SMS MFA verified successfully");
|
|
1119
|
+
setVerificationInitiated(false);
|
|
1120
|
+
setMfaCode("");
|
|
1121
|
+
|
|
1122
|
+
// Now proceed with your sensitive operation
|
|
1123
|
+
// e.g., sign a transaction, export private key, etc.
|
|
1124
|
+
} catch (error) {
|
|
1125
|
+
console.error("SMS MFA verification failed:", error);
|
|
1126
|
+
}
|
|
1127
|
+
};
|
|
1128
|
+
|
|
1129
|
+
if (!currentUser) {
|
|
1130
|
+
return <div>Please sign in first</div>;
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
return (
|
|
1134
|
+
<div>
|
|
1135
|
+
<h2>Sensitive Operation (SMS MFA)</h2>
|
|
1136
|
+
|
|
1137
|
+
{!verificationInitiated ? (
|
|
1138
|
+
<button onClick={handleSensitiveOperation}>
|
|
1139
|
+
Perform Sensitive Operation
|
|
1140
|
+
</button>
|
|
1141
|
+
) : (
|
|
1142
|
+
<div>
|
|
1143
|
+
<p>A 6-digit code has been sent to your phone. Enter it to continue:</p>
|
|
1144
|
+
|
|
1145
|
+
<input
|
|
1146
|
+
type="text"
|
|
1147
|
+
placeholder="Enter 6-digit code"
|
|
1148
|
+
value={mfaCode}
|
|
1149
|
+
onChange={(e) => setMfaCode(e.target.value)}
|
|
1150
|
+
maxLength={6}
|
|
1151
|
+
/>
|
|
1152
|
+
|
|
1153
|
+
<button
|
|
1154
|
+
onClick={handleVerifyMfa}
|
|
1155
|
+
disabled={mfaCode.length !== 6}
|
|
1156
|
+
>
|
|
1157
|
+
Verify SMS MFA
|
|
1158
|
+
</button>
|
|
1159
|
+
</div>
|
|
1160
|
+
)}
|
|
1161
|
+
</div>
|
|
1162
|
+
);
|
|
1163
|
+
}
|
|
1164
|
+
```
|
|
1165
|
+
|
|
972
1166
|
#### Check MFA Configuration
|
|
973
1167
|
|
|
974
1168
|
Use `useGetMfaConfig` to check whether MFA is enabled for your project:
|
package/dist/esm/index.js
CHANGED
|
@@ -1,71 +1,77 @@
|
|
|
1
|
-
import { APIError as
|
|
1
|
+
import { APIError as a, OAuth2ProviderType as i } from "@coinbase/cdp-core";
|
|
2
2
|
import { Analytics as e } from "./index2.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { VERSION as o } from "./index3.js";
|
|
5
5
|
import { CDPContext as f, CDPHooksProvider as p } from "./index4.js";
|
|
6
|
-
import { useAuthenticateWithJWT as c, useConfig as x, useCurrentUser as E, useEnforceAuthenticated as
|
|
6
|
+
import { useAuthenticateWithJWT as c, useConfig as x, useCurrentUser as E, useEnforceAuthenticated as d, useEnforceUnauthenticated as l, useEvmAccounts as A, useEvmAddress as g, useEvmSmartAccounts as v, useExportEvmAccount as h, useExportSolanaAccount as I, useGetAccessToken as P, useIsInitialized as k, useIsSignedIn as C, useOAuthState as O, useSendEvmTransaction as T, useSendSolanaTransaction as M, useSendUserOperation as y, useSignEvmHash as U, useSignEvmMessage as L, useSignEvmTransaction as V, useSignEvmTypedData as W, useSignInWithEmail as D, useSignInWithOAuth as G, useSignInWithSms as R, useSignOut as b, useSignSolanaMessage as H, useSignSolanaTransaction as K, useSolanaAccounts as z, useSolanaAddress as F, useVerifyEmailOTP as J, useVerifySmsOTP as N, useWaitForUserOperation as X } from "./index5.js";
|
|
7
7
|
import { useCreateSpendPermission as q } from "./index6.js";
|
|
8
8
|
import { useListSpendPermissions as B } from "./index7.js";
|
|
9
9
|
import { useRevokeSpendPermission as Y } from "./index8.js";
|
|
10
10
|
import { useLinkGoogle as _ } from "./index9.js";
|
|
11
11
|
import { useLinkApple as ee } from "./index10.js";
|
|
12
12
|
import { useLinkSms as re } from "./index11.js";
|
|
13
|
-
import { useLinkEmail as
|
|
13
|
+
import { useLinkEmail as te } from "./index12.js";
|
|
14
14
|
import { useLinkOAuth as ue } from "./index13.js";
|
|
15
|
-
import { useCreateEvmEoaAccount as
|
|
15
|
+
import { useCreateEvmEoaAccount as ie } from "./index14.js";
|
|
16
16
|
import { useCreateEvmSmartAccount as fe } from "./index15.js";
|
|
17
17
|
import { useCreateSolanaAccount as Se } from "./index16.js";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
18
|
+
import { useSendEvmEoaUsdc as xe } from "./index17.js";
|
|
19
|
+
import { useSendEvmSmartAccountUsdc as de } from "./index18.js";
|
|
20
|
+
import { useSendSolanaUsdc as Ae } from "./index19.js";
|
|
21
|
+
import { useX402 as ve } from "./index20.js";
|
|
22
|
+
import { useGetMfaConfig as Ie } from "./index21.js";
|
|
23
|
+
import { useRecordMfaEnrollmentPrompted as ke } from "./index22.js";
|
|
24
|
+
import { useInitiateMfaEnrollment as Oe } from "./index23.js";
|
|
25
|
+
import { useSubmitMfaEnrollment as Me } from "./index24.js";
|
|
26
|
+
import { useInitiateMfaVerification as Ue } from "./index25.js";
|
|
27
|
+
import { useSubmitMfaVerification as Ve } from "./index26.js";
|
|
28
|
+
import { useEvmKeyExportIframe as De, useSolanaKeyExportIframe as Ge } from "./index27.js";
|
|
26
29
|
e.registerPackageVersion("hooks", o);
|
|
27
30
|
export {
|
|
28
|
-
|
|
31
|
+
a as APIError,
|
|
29
32
|
f as CDPContext,
|
|
30
33
|
p as CDPHooksProvider,
|
|
31
|
-
|
|
34
|
+
i as OAuth2ProviderType,
|
|
32
35
|
c as useAuthenticateWithJWT,
|
|
33
36
|
x as useConfig,
|
|
34
|
-
|
|
37
|
+
ie as useCreateEvmEoaAccount,
|
|
35
38
|
fe as useCreateEvmSmartAccount,
|
|
36
39
|
Se as useCreateSolanaAccount,
|
|
37
40
|
q as useCreateSpendPermission,
|
|
38
41
|
E as useCurrentUser,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
d as useEnforceAuthenticated,
|
|
43
|
+
l as useEnforceUnauthenticated,
|
|
44
|
+
A as useEvmAccounts,
|
|
42
45
|
g as useEvmAddress,
|
|
43
|
-
|
|
46
|
+
De as useEvmKeyExportIframe,
|
|
44
47
|
v as useEvmSmartAccounts,
|
|
45
48
|
h as useExportEvmAccount,
|
|
46
49
|
I as useExportSolanaAccount,
|
|
47
50
|
P as useGetAccessToken,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
Ie as useGetMfaConfig,
|
|
52
|
+
Oe as useInitiateMfaEnrollment,
|
|
53
|
+
Ue as useInitiateMfaVerification,
|
|
51
54
|
k as useIsInitialized,
|
|
52
55
|
C as useIsSignedIn,
|
|
53
56
|
ee as useLinkApple,
|
|
54
|
-
|
|
57
|
+
te as useLinkEmail,
|
|
55
58
|
_ as useLinkGoogle,
|
|
56
59
|
ue as useLinkOAuth,
|
|
57
60
|
re as useLinkSms,
|
|
58
61
|
B as useListSpendPermissions,
|
|
59
62
|
O as useOAuthState,
|
|
60
|
-
|
|
63
|
+
ke as useRecordMfaEnrollmentPrompted,
|
|
61
64
|
Y as useRevokeSpendPermission,
|
|
65
|
+
xe as useSendEvmEoaUsdc,
|
|
66
|
+
de as useSendEvmSmartAccountUsdc,
|
|
62
67
|
T as useSendEvmTransaction,
|
|
63
68
|
M as useSendSolanaTransaction,
|
|
69
|
+
Ae as useSendSolanaUsdc,
|
|
64
70
|
y as useSendUserOperation,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
U as useSignEvmHash,
|
|
72
|
+
L as useSignEvmMessage,
|
|
73
|
+
V as useSignEvmTransaction,
|
|
74
|
+
W as useSignEvmTypedData,
|
|
69
75
|
D as useSignInWithEmail,
|
|
70
76
|
G as useSignInWithOAuth,
|
|
71
77
|
R as useSignInWithSms,
|
|
@@ -74,11 +80,11 @@ export {
|
|
|
74
80
|
K as useSignSolanaTransaction,
|
|
75
81
|
z as useSolanaAccounts,
|
|
76
82
|
F as useSolanaAddress,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
83
|
+
Ge as useSolanaKeyExportIframe,
|
|
84
|
+
Me as useSubmitMfaEnrollment,
|
|
85
|
+
Ve as useSubmitMfaVerification,
|
|
80
86
|
J as useVerifyEmailOTP,
|
|
81
87
|
N as useVerifySmsOTP,
|
|
82
88
|
X as useWaitForUserOperation,
|
|
83
|
-
|
|
89
|
+
ve as useX402
|
|
84
90
|
};
|
package/dist/esm/index10.js
CHANGED
package/dist/esm/index100.js
CHANGED
|
@@ -1,11 +1,278 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
const t = [
|
|
2
|
+
{
|
|
3
|
+
inputs: [
|
|
4
|
+
{
|
|
5
|
+
components: [
|
|
6
|
+
{
|
|
7
|
+
name: "target",
|
|
8
|
+
type: "address"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "allowFailure",
|
|
12
|
+
type: "bool"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: "callData",
|
|
16
|
+
type: "bytes"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
name: "calls",
|
|
20
|
+
type: "tuple[]"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
name: "aggregate3",
|
|
24
|
+
outputs: [
|
|
25
|
+
{
|
|
26
|
+
components: [
|
|
27
|
+
{
|
|
28
|
+
name: "success",
|
|
29
|
+
type: "bool"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "returnData",
|
|
33
|
+
type: "bytes"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
name: "returnData",
|
|
37
|
+
type: "tuple[]"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
stateMutability: "view",
|
|
41
|
+
type: "function"
|
|
42
|
+
}
|
|
43
|
+
], s = [
|
|
44
|
+
{
|
|
45
|
+
name: "query",
|
|
46
|
+
type: "function",
|
|
47
|
+
stateMutability: "view",
|
|
48
|
+
inputs: [
|
|
49
|
+
{
|
|
50
|
+
type: "tuple[]",
|
|
51
|
+
name: "queries",
|
|
52
|
+
components: [
|
|
53
|
+
{
|
|
54
|
+
type: "address",
|
|
55
|
+
name: "sender"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
type: "string[]",
|
|
59
|
+
name: "urls"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
type: "bytes",
|
|
63
|
+
name: "data"
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
outputs: [
|
|
69
|
+
{
|
|
70
|
+
type: "bool[]",
|
|
71
|
+
name: "failures"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
type: "bytes[]",
|
|
75
|
+
name: "responses"
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: "HttpError",
|
|
81
|
+
type: "error",
|
|
82
|
+
inputs: [
|
|
83
|
+
{
|
|
84
|
+
type: "uint16",
|
|
85
|
+
name: "status"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
type: "string",
|
|
89
|
+
name: "message"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
], e = [
|
|
94
|
+
{
|
|
95
|
+
inputs: [],
|
|
96
|
+
name: "ResolverNotFound",
|
|
97
|
+
type: "error"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
inputs: [],
|
|
101
|
+
name: "ResolverWildcardNotSupported",
|
|
102
|
+
type: "error"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
inputs: [],
|
|
106
|
+
name: "ResolverNotContract",
|
|
107
|
+
type: "error"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
inputs: [
|
|
111
|
+
{
|
|
112
|
+
name: "returnData",
|
|
113
|
+
type: "bytes"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
name: "ResolverError",
|
|
117
|
+
type: "error"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
inputs: [
|
|
121
|
+
{
|
|
122
|
+
components: [
|
|
123
|
+
{
|
|
124
|
+
name: "status",
|
|
125
|
+
type: "uint16"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: "message",
|
|
129
|
+
type: "string"
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
name: "errors",
|
|
133
|
+
type: "tuple[]"
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
name: "HttpError",
|
|
137
|
+
type: "error"
|
|
138
|
+
}
|
|
139
|
+
], a = [
|
|
140
|
+
...e,
|
|
141
|
+
{
|
|
142
|
+
name: "resolve",
|
|
143
|
+
type: "function",
|
|
144
|
+
stateMutability: "view",
|
|
145
|
+
inputs: [
|
|
146
|
+
{ name: "name", type: "bytes" },
|
|
147
|
+
{ name: "data", type: "bytes" }
|
|
148
|
+
],
|
|
149
|
+
outputs: [
|
|
150
|
+
{ name: "", type: "bytes" },
|
|
151
|
+
{ name: "address", type: "address" }
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
name: "resolve",
|
|
156
|
+
type: "function",
|
|
157
|
+
stateMutability: "view",
|
|
158
|
+
inputs: [
|
|
159
|
+
{ name: "name", type: "bytes" },
|
|
160
|
+
{ name: "data", type: "bytes" },
|
|
161
|
+
{ name: "gateways", type: "string[]" }
|
|
162
|
+
],
|
|
163
|
+
outputs: [
|
|
164
|
+
{ name: "", type: "bytes" },
|
|
165
|
+
{ name: "address", type: "address" }
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
], n = [
|
|
169
|
+
...e,
|
|
170
|
+
{
|
|
171
|
+
name: "reverse",
|
|
172
|
+
type: "function",
|
|
173
|
+
stateMutability: "view",
|
|
174
|
+
inputs: [{ type: "bytes", name: "reverseName" }],
|
|
175
|
+
outputs: [
|
|
176
|
+
{ type: "string", name: "resolvedName" },
|
|
177
|
+
{ type: "address", name: "resolvedAddress" },
|
|
178
|
+
{ type: "address", name: "reverseResolver" },
|
|
179
|
+
{ type: "address", name: "resolver" }
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
name: "reverse",
|
|
184
|
+
type: "function",
|
|
185
|
+
stateMutability: "view",
|
|
186
|
+
inputs: [
|
|
187
|
+
{ type: "bytes", name: "reverseName" },
|
|
188
|
+
{ type: "string[]", name: "gateways" }
|
|
189
|
+
],
|
|
190
|
+
outputs: [
|
|
191
|
+
{ type: "string", name: "resolvedName" },
|
|
192
|
+
{ type: "address", name: "resolvedAddress" },
|
|
193
|
+
{ type: "address", name: "reverseResolver" },
|
|
194
|
+
{ type: "address", name: "resolver" }
|
|
195
|
+
]
|
|
196
|
+
}
|
|
197
|
+
], r = [
|
|
198
|
+
{
|
|
199
|
+
name: "text",
|
|
200
|
+
type: "function",
|
|
201
|
+
stateMutability: "view",
|
|
202
|
+
inputs: [
|
|
203
|
+
{ name: "name", type: "bytes32" },
|
|
204
|
+
{ name: "key", type: "string" }
|
|
205
|
+
],
|
|
206
|
+
outputs: [{ name: "", type: "string" }]
|
|
207
|
+
}
|
|
208
|
+
], p = [
|
|
209
|
+
{
|
|
210
|
+
name: "addr",
|
|
211
|
+
type: "function",
|
|
212
|
+
stateMutability: "view",
|
|
213
|
+
inputs: [{ name: "name", type: "bytes32" }],
|
|
214
|
+
outputs: [{ name: "", type: "address" }]
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
name: "addr",
|
|
218
|
+
type: "function",
|
|
219
|
+
stateMutability: "view",
|
|
220
|
+
inputs: [
|
|
221
|
+
{ name: "name", type: "bytes32" },
|
|
222
|
+
{ name: "coinType", type: "uint256" }
|
|
223
|
+
],
|
|
224
|
+
outputs: [{ name: "", type: "bytes" }]
|
|
225
|
+
}
|
|
226
|
+
], y = [
|
|
227
|
+
{
|
|
228
|
+
inputs: [
|
|
229
|
+
{
|
|
230
|
+
name: "_signer",
|
|
231
|
+
type: "address"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
name: "_hash",
|
|
235
|
+
type: "bytes32"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
name: "_signature",
|
|
239
|
+
type: "bytes"
|
|
240
|
+
}
|
|
241
|
+
],
|
|
242
|
+
stateMutability: "nonpayable",
|
|
243
|
+
type: "constructor"
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
inputs: [
|
|
247
|
+
{
|
|
248
|
+
name: "_signer",
|
|
249
|
+
type: "address"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: "_hash",
|
|
253
|
+
type: "bytes32"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
name: "_signature",
|
|
257
|
+
type: "bytes"
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
outputs: [
|
|
261
|
+
{
|
|
262
|
+
type: "bool"
|
|
263
|
+
}
|
|
264
|
+
],
|
|
265
|
+
stateMutability: "nonpayable",
|
|
266
|
+
type: "function",
|
|
267
|
+
name: "isValidSig"
|
|
268
|
+
}
|
|
269
|
+
];
|
|
8
270
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
271
|
+
p as addressResolverAbi,
|
|
272
|
+
s as batchGatewayAbi,
|
|
273
|
+
t as multicall3Abi,
|
|
274
|
+
r as textResolverAbi,
|
|
275
|
+
a as universalResolverResolveAbi,
|
|
276
|
+
n as universalResolverReverseAbi,
|
|
277
|
+
y as universalSignatureValidatorAbi
|
|
11
278
|
};
|
package/dist/esm/index101.js
CHANGED
package/dist/esm/index102.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
const
|
|
1
|
+
const b = "0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe", f = "0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe", d = "0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572";
|
|
2
2
|
export {
|
|
3
|
-
|
|
3
|
+
b as deploylessCallViaBytecodeBytecode,
|
|
4
|
+
f as deploylessCallViaFactoryBytecode,
|
|
5
|
+
d as universalSignatureValidatorByteCode
|
|
4
6
|
};
|