@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.
Files changed (307) hide show
  1. package/README.md +199 -5
  2. package/dist/esm/index.js +38 -32
  3. package/dist/esm/index10.js +1 -1
  4. package/dist/esm/index100.js +276 -9
  5. package/dist/esm/index101.js +3 -2
  6. package/dist/esm/index102.js +4 -2
  7. package/dist/esm/index103.js +9 -3
  8. package/dist/esm/index104.js +2 -327
  9. package/dist/esm/index105.js +2 -14
  10. package/dist/esm/index106.js +3 -5
  11. package/dist/esm/index107.js +299 -28
  12. package/dist/esm/index108.js +14 -2
  13. package/dist/esm/index109.js +4 -7
  14. package/dist/esm/index11.js +1 -1
  15. package/dist/esm/index110.js +29 -188
  16. package/dist/esm/index111.js +2 -32
  17. package/dist/esm/index112.js +7 -21
  18. package/dist/esm/index113.js +214 -5
  19. package/dist/esm/index114.js +30 -72
  20. package/dist/esm/index115.js +21 -5
  21. package/dist/esm/index116.js +5 -5
  22. package/dist/esm/index117.js +69 -31
  23. package/dist/esm/index118.js +5 -75
  24. package/dist/esm/index119.js +6 -3
  25. package/dist/esm/index12.js +1 -1
  26. package/dist/esm/index120.js +28 -16
  27. package/dist/esm/index121.js +57 -433
  28. package/dist/esm/index122.js +3 -31
  29. package/dist/esm/index123.js +17 -20
  30. package/dist/esm/index124.js +439 -21
  31. package/dist/esm/index125.js +28 -32
  32. package/dist/esm/index126.js +18 -185
  33. package/dist/esm/index127.js +31 -6
  34. package/dist/esm/index128.js +35 -2
  35. package/dist/esm/index129.js +189 -8
  36. package/dist/esm/index13.js +1 -1
  37. package/dist/esm/index130.js +7 -17
  38. package/dist/esm/index131.js +2 -28
  39. package/dist/esm/index132.js +12 -8
  40. package/dist/esm/index133.js +15 -52
  41. package/dist/esm/index134.js +23 -41
  42. package/dist/esm/index135.js +8 -8
  43. package/dist/esm/index136.js +55 -7
  44. package/dist/esm/index137.js +44 -15
  45. package/dist/esm/index138.js +8 -18
  46. package/dist/esm/index139.js +7 -24
  47. package/dist/esm/index14.js +1 -1
  48. package/dist/esm/index140.js +16 -16
  49. package/dist/esm/index141.js +17 -53
  50. package/dist/esm/index142.js +22 -9
  51. package/dist/esm/index143.js +15 -159
  52. package/dist/esm/index144.js +53 -20
  53. package/dist/esm/index145.js +11 -127
  54. package/dist/esm/index146.js +153 -31
  55. package/dist/esm/index147.js +21 -6
  56. package/dist/esm/index148.js +127 -27
  57. package/dist/esm/index149.js +31 -184
  58. package/dist/esm/index15.js +1 -1
  59. package/dist/esm/index150.js +7 -4
  60. package/dist/esm/index151.js +26 -63
  61. package/dist/esm/index152.js +192 -3
  62. package/dist/esm/index153.js +4 -21
  63. package/dist/esm/index154.js +61 -13
  64. package/dist/esm/index155.js +3 -24
  65. package/dist/esm/index156.js +20 -11
  66. package/dist/esm/index157.js +15 -33
  67. package/dist/esm/index158.js +24 -3
  68. package/dist/esm/index159.js +11 -18
  69. package/dist/esm/index16.js +1 -1
  70. package/dist/esm/index160.js +33 -26
  71. package/dist/esm/index161.js +3 -36
  72. package/dist/esm/index162.js +18 -7
  73. package/dist/esm/index163.js +26 -24
  74. package/dist/esm/index164.js +34 -27
  75. package/dist/esm/index165.js +7 -64
  76. package/dist/esm/index166.js +25 -9
  77. package/dist/esm/index167.js +28 -33
  78. package/dist/esm/index168.js +64 -27
  79. package/dist/esm/index169.js +9 -24
  80. package/dist/esm/index17.js +36 -5
  81. package/dist/esm/index170.js +33 -3
  82. package/dist/esm/index171.js +27 -14
  83. package/dist/esm/index172.js +24 -103
  84. package/dist/esm/index173.js +3 -64
  85. package/dist/esm/index174.js +14 -5
  86. package/dist/esm/index175.js +103 -6
  87. package/dist/esm/index176.js +62 -25
  88. package/dist/esm/index177.js +5 -38
  89. package/dist/esm/index178.js +6 -13
  90. package/dist/esm/index179.js +24 -39
  91. package/dist/esm/index18.js +28 -7
  92. package/dist/esm/index180.js +38 -5
  93. package/dist/esm/index181.js +13 -11
  94. package/dist/esm/index182.js +42 -19
  95. package/dist/esm/index183.js +5 -78
  96. package/dist/esm/index184.js +12 -2
  97. package/dist/esm/index185.js +19 -37
  98. package/dist/esm/index186.js +73 -105
  99. package/dist/esm/index187.js +2 -49
  100. package/dist/esm/index188.js +36 -31
  101. package/dist/esm/index189.js +110 -8
  102. package/dist/esm/index19.js +7 -6
  103. package/dist/esm/index190.js +48 -6
  104. package/dist/esm/index191.js +32 -6
  105. package/dist/esm/index192.js +8 -11
  106. package/dist/esm/index193.js +6 -10
  107. package/dist/esm/index194.js +6 -13
  108. package/dist/esm/index195.js +11 -32
  109. package/dist/esm/index196.js +11 -5
  110. package/dist/esm/index197.js +13 -8
  111. package/dist/esm/index198.js +30 -17
  112. package/dist/esm/index199.js +5 -32
  113. package/dist/esm/index2.js +2 -2
  114. package/dist/esm/index20.js +4 -7
  115. package/dist/esm/index200.js +8 -20
  116. package/dist/esm/index201.js +19 -3
  117. package/dist/esm/index202.js +31 -17
  118. package/dist/esm/index203.js +20 -10
  119. package/dist/esm/index204.js +3 -21
  120. package/dist/esm/index205.js +16 -21
  121. package/dist/esm/index206.js +10 -5
  122. package/dist/esm/index207.js +21 -5
  123. package/dist/esm/index208.js +22 -8
  124. package/dist/esm/index209.js +5 -104
  125. package/dist/esm/index21.js +5 -5
  126. package/dist/esm/index210.js +6 -3
  127. package/dist/esm/index211.js +8 -18
  128. package/dist/esm/index212.js +99 -166
  129. package/dist/esm/index213.js +3 -18
  130. package/dist/esm/index214.js +19 -10
  131. package/dist/esm/index215.js +171 -38
  132. package/dist/esm/index216.js +18 -2
  133. package/dist/esm/index217.js +10 -70
  134. package/dist/esm/index218.js +37 -33
  135. package/dist/esm/index219.js +2 -15
  136. package/dist/esm/index22.js +5 -5
  137. package/dist/esm/index220.js +70 -2
  138. package/dist/esm/index221.js +34 -40
  139. package/dist/esm/index222.js +15 -2
  140. package/dist/esm/index223.js +40 -4
  141. package/dist/esm/index224.js +2 -11
  142. package/dist/esm/index225.js +4 -19
  143. package/dist/esm/index226.js +10 -7
  144. package/dist/esm/index227.js +18 -10
  145. package/dist/esm/index228.js +7 -66
  146. package/dist/esm/index229.js +9 -63
  147. package/dist/esm/index23.js +5 -5
  148. package/dist/esm/index230.js +56 -175
  149. package/dist/esm/index231.js +63 -20
  150. package/dist/esm/index232.js +180 -37
  151. package/dist/esm/index233.js +21 -75
  152. package/dist/esm/index234.js +22 -20
  153. package/dist/esm/index235.js +69 -9
  154. package/dist/esm/index236.js +34 -7
  155. package/dist/esm/index237.js +16 -7
  156. package/dist/esm/index238.js +13 -6
  157. package/dist/esm/index239.js +7 -36
  158. package/dist/esm/index24.js +6 -55
  159. package/dist/esm/index240.js +6 -15
  160. package/dist/esm/index241.js +36 -8
  161. package/dist/esm/index242.js +15 -12
  162. package/dist/esm/index243.js +8 -9
  163. package/dist/esm/index244.js +12 -16
  164. package/dist/esm/index245.js +9 -22
  165. package/dist/esm/index246.js +16 -30
  166. package/dist/esm/index247.js +23 -2
  167. package/dist/esm/index248.js +30 -13
  168. package/dist/esm/index249.js +2 -13
  169. package/dist/esm/index25.js +7 -8
  170. package/dist/esm/index250.js +13 -47
  171. package/dist/esm/index251.js +12 -9
  172. package/dist/esm/index252.js +47 -13
  173. package/dist/esm/index253.js +9 -14
  174. package/dist/esm/index254.js +13 -8
  175. package/dist/esm/index255.js +14 -15
  176. package/dist/esm/index256.js +8 -24
  177. package/dist/esm/index257.js +14 -10
  178. package/dist/esm/index258.js +24 -24
  179. package/dist/esm/index259.js +11 -51
  180. package/dist/esm/index26.js +8 -34
  181. package/dist/esm/index260.js +24 -17
  182. package/dist/esm/index261.js +48 -11
  183. package/dist/esm/index262.js +17 -11
  184. package/dist/esm/index263.js +13 -102
  185. package/dist/esm/index264.js +11 -5
  186. package/dist/esm/index265.js +101 -221
  187. package/dist/esm/index266.js +5 -6
  188. package/dist/esm/index267.js +224 -7
  189. package/dist/esm/index268.js +6 -26
  190. package/dist/esm/index269.js +7 -20
  191. package/dist/esm/index27.js +57 -18
  192. package/dist/esm/index270.js +24 -143
  193. package/dist/esm/index271.js +19 -12
  194. package/dist/esm/index272.js +145 -35
  195. package/dist/esm/index273.js +12 -41
  196. package/dist/esm/index274.js +35 -68
  197. package/dist/esm/index275.js +41 -3
  198. package/dist/esm/index276.js +2 -137
  199. package/dist/esm/index277.js +69 -156
  200. package/dist/esm/index278.js +134 -7
  201. package/dist/esm/index279.js +3 -16
  202. package/dist/esm/index28.js +8 -11
  203. package/dist/esm/index280.js +140 -98
  204. package/dist/esm/index281.js +9 -134
  205. package/dist/esm/index282.js +16 -78
  206. package/dist/esm/index283.js +114 -2
  207. package/dist/esm/index284.js +124 -687
  208. package/dist/esm/index285.js +73 -133
  209. package/dist/esm/index286.js +2 -43
  210. package/dist/esm/index287.js +675 -178
  211. package/dist/esm/index288.js +138 -3
  212. package/dist/esm/index289.js +40 -63
  213. package/dist/esm/index29.js +34 -12
  214. package/dist/esm/index290.js +200 -4
  215. package/dist/esm/index291.js +3 -40
  216. package/dist/esm/index292.js +65 -7
  217. package/dist/esm/index293.js +4 -62
  218. package/dist/esm/index294.js +33 -70
  219. package/dist/esm/index295.js +8 -4
  220. package/dist/esm/index296.js +55 -187
  221. package/dist/esm/index297.js +61 -47
  222. package/dist/esm/index298.js +4 -45
  223. package/dist/esm/index299.js +194 -4
  224. package/dist/esm/index3.js +1 -1
  225. package/dist/esm/index30.js +18 -54
  226. package/dist/esm/index300.js +64 -5
  227. package/dist/esm/index301.js +45 -2
  228. package/dist/esm/index302.js +4 -21
  229. package/dist/esm/index303.js +7 -0
  230. package/dist/esm/index304.js +4 -0
  231. package/dist/esm/index305.js +24 -0
  232. package/dist/esm/index31.js +11 -57
  233. package/dist/esm/index32.js +12 -56
  234. package/dist/esm/index33.js +54 -5
  235. package/dist/esm/index34.js +57 -47
  236. package/dist/esm/index35.js +56 -33
  237. package/dist/esm/index36.js +5 -4
  238. package/dist/esm/index37.js +46 -8
  239. package/dist/esm/index38.js +31 -67
  240. package/dist/esm/index39.js +3 -9
  241. package/dist/esm/index40.js +9 -28
  242. package/dist/esm/index41.js +68 -70
  243. package/dist/esm/index42.js +9 -19
  244. package/dist/esm/index43.js +26 -108
  245. package/dist/esm/index44.js +70 -60
  246. package/dist/esm/index45.js +19 -24
  247. package/dist/esm/index46.js +110 -40
  248. package/dist/esm/index47.js +57 -34
  249. package/dist/esm/index48.js +20 -54
  250. package/dist/esm/index49.js +37 -160
  251. package/dist/esm/index5.js +3 -3
  252. package/dist/esm/index50.js +36 -38
  253. package/dist/esm/index51.js +58 -9
  254. package/dist/esm/index52.js +161 -29
  255. package/dist/esm/index53.js +39 -36
  256. package/dist/esm/index54.js +7 -7
  257. package/dist/esm/index55.js +30 -28
  258. package/dist/esm/index56.js +34 -44
  259. package/dist/esm/index57.js +9 -88
  260. package/dist/esm/index58.js +26 -37
  261. package/dist/esm/index59.js +46 -8
  262. package/dist/esm/index6.js +2 -2
  263. package/dist/esm/index60.js +88 -6
  264. package/dist/esm/index61.js +40 -16
  265. package/dist/esm/index62.js +8 -8
  266. package/dist/esm/index63.js +6 -13
  267. package/dist/esm/index64.js +16 -7
  268. package/dist/esm/index65.js +8 -9
  269. package/dist/esm/index66.js +13 -16
  270. package/dist/esm/index67.js +7 -46
  271. package/dist/esm/index68.js +9 -13
  272. package/dist/esm/index69.js +15 -15
  273. package/dist/esm/index7.js +1 -1
  274. package/dist/esm/index70.js +46 -13
  275. package/dist/esm/index71.js +13 -6
  276. package/dist/esm/index72.js +15 -34
  277. package/dist/esm/index73.js +13 -9
  278. package/dist/esm/index74.js +5 -7
  279. package/dist/esm/index75.js +35 -25
  280. package/dist/esm/index76.js +9 -10
  281. package/dist/esm/index77.js +7 -13
  282. package/dist/esm/index78.js +25 -11
  283. package/dist/esm/index79.js +10 -116
  284. package/dist/esm/index8.js +2 -2
  285. package/dist/esm/index80.js +13 -32
  286. package/dist/esm/index81.js +11 -79
  287. package/dist/esm/index82.js +108 -169
  288. package/dist/esm/index83.js +26 -37
  289. package/dist/esm/index84.js +79 -6
  290. package/dist/esm/index85.js +177 -13
  291. package/dist/esm/index86.js +44 -13
  292. package/dist/esm/index87.js +6 -99
  293. package/dist/esm/index88.js +13 -72
  294. package/dist/esm/index89.js +13 -87
  295. package/dist/esm/index9.js +1 -1
  296. package/dist/esm/index90.js +93 -142
  297. package/dist/esm/index91.js +65 -129
  298. package/dist/esm/index92.js +73 -54
  299. package/dist/esm/index93.js +148 -23
  300. package/dist/esm/index94.js +133 -102
  301. package/dist/esm/index95.js +68 -6
  302. package/dist/esm/index96.js +23 -131
  303. package/dist/esm/index97.js +101 -271
  304. package/dist/esm/index98.js +7 -3
  305. package/dist/esm/index99.js +132 -4
  306. package/dist/types/index.d.ts +23 -1
  307. 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 TOTP (Time-based One-Time Password). MFA adds an extra layer of security for user accounts and sensitive operations.
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
- #### Enroll User in MFA
794
+ MFA adds an extra layer of security for user accounts and sensitive operations.
793
795
 
794
- Use `useInitiateMfaEnrollment` and `useSubmitMfaEnrollment` to enroll a user in MFA:
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
- #### Verify MFA for Sensitive Operations
891
+ #### Enroll User in SMS MFA
886
892
 
887
- Use `useInitiateMfaVerification` and `useSubmitMfaVerification` to verify MFA for sensitive operations:
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 i, OAuth2ProviderType as a } from "@coinbase/cdp-core";
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 l, useEnforceUnauthenticated as A, useEvmAccounts as d, 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 L, useSignEvmMessage as V, useSignEvmTransaction as W, useSignEvmTypedData as U, 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";
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 se } from "./index12.js";
13
+ import { useLinkEmail as te } from "./index12.js";
14
14
  import { useLinkOAuth as ue } from "./index13.js";
15
- import { useCreateEvmEoaAccount as ae } from "./index14.js";
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 { useX402 as xe } from "./index17.js";
19
- import { useGetMfaConfig as le } from "./index18.js";
20
- import { useRecordMfaEnrollmentPrompted as de } from "./index19.js";
21
- import { useInitiateMfaEnrollment as ve } from "./index20.js";
22
- import { useSubmitMfaEnrollment as Ie } from "./index21.js";
23
- import { useInitiateMfaVerification as ke } from "./index22.js";
24
- import { useSubmitMfaVerification as Oe } from "./index23.js";
25
- import { useEvmKeyExportIframe as Me, useSolanaKeyExportIframe as ye } from "./index24.js";
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
- i as APIError,
31
+ a as APIError,
29
32
  f as CDPContext,
30
33
  p as CDPHooksProvider,
31
- a as OAuth2ProviderType,
34
+ i as OAuth2ProviderType,
32
35
  c as useAuthenticateWithJWT,
33
36
  x as useConfig,
34
- ae as useCreateEvmEoaAccount,
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
- l as useEnforceAuthenticated,
40
- A as useEnforceUnauthenticated,
41
- d as useEvmAccounts,
42
+ d as useEnforceAuthenticated,
43
+ l as useEnforceUnauthenticated,
44
+ A as useEvmAccounts,
42
45
  g as useEvmAddress,
43
- Me as useEvmKeyExportIframe,
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
- le as useGetMfaConfig,
49
- ve as useInitiateMfaEnrollment,
50
- ke as useInitiateMfaVerification,
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
- se as useLinkEmail,
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
- de as useRecordMfaEnrollmentPrompted,
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
- L as useSignEvmHash,
66
- V as useSignEvmMessage,
67
- W as useSignEvmTransaction,
68
- U as useSignEvmTypedData,
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
- ye as useSolanaKeyExportIframe,
78
- Ie as useSubmitMfaEnrollment,
79
- Oe as useSubmitMfaVerification,
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
- xe as useX402
89
+ ve as useX402
84
90
  };
@@ -1,5 +1,5 @@
1
1
  import "./index2.js";
2
- import { useSendHookCallOnce as t } from "./index25.js";
2
+ import { useSendHookCallOnce as t } from "./index28.js";
3
3
  import "react";
4
4
  import { useLinkOAuth as o } from "./index13.js";
5
5
  function u() {
@@ -1,11 +1,278 @@
1
- const e = {
2
- gwei: 9,
3
- wei: 18
4
- }, t = {
5
- ether: -9,
6
- wei: 9
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
- e as etherUnits,
10
- t as gweiUnits
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
  };
@@ -1,4 +1,5 @@
1
- const n = 2n ** 256n - 1n;
1
+ const e = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", s = "0x0000000000000000000000000000000000000000";
2
2
  export {
3
- n as maxUint256
3
+ e as ethAddress,
4
+ s as zeroAddress
4
5
  };
@@ -1,4 +1,6 @@
1
- const c = "0x6492649264926492649264926492649264926492649264926492649264926492";
1
+ const b = "0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe", f = "0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe", d = "0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572";
2
2
  export {
3
- c as erc6492MagicBytes
3
+ b as deploylessCallViaBytecodeBytecode,
4
+ f as deploylessCallViaFactoryBytecode,
5
+ d as universalSignatureValidatorByteCode
4
6
  };
@@ -1,5 +1,11 @@
1
- const e = `Ethereum Signed Message:
2
- `;
1
+ const e = {
2
+ gwei: 9,
3
+ wei: 18
4
+ }, t = {
5
+ ether: -9,
6
+ wei: 9
7
+ };
3
8
  export {
4
- e as presignMessagePrefix
9
+ e as etherUnits,
10
+ t as gweiUnits
5
11
  };