@dynamic-labs-sdk/react-hooks 1.4.0 → 1.6.0

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 (192) hide show
  1. package/dist/exports/index.d.ts +43 -8
  2. package/dist/exports/index.d.ts.map +1 -1
  3. package/dist/foundation/useBaseMutation/index.d.ts +3 -0
  4. package/dist/foundation/useBaseMutation/index.d.ts.map +1 -0
  5. package/dist/foundation/useBaseMutation/useBaseMutation.d.ts +34 -0
  6. package/dist/foundation/useBaseMutation/useBaseMutation.d.ts.map +1 -0
  7. package/dist/foundation/useBaseQuery/index.d.ts +3 -0
  8. package/dist/foundation/useBaseQuery/index.d.ts.map +1 -0
  9. package/dist/foundation/useBaseQuery/useBaseQuery.d.ts +45 -0
  10. package/dist/foundation/useBaseQuery/useBaseQuery.d.ts.map +1 -0
  11. package/dist/foundation/useBaseState/index.d.ts +3 -0
  12. package/dist/foundation/useBaseState/index.d.ts.map +1 -0
  13. package/dist/foundation/useBaseState/useBaseState.d.ts +53 -4
  14. package/dist/foundation/useBaseState/useBaseState.d.ts.map +1 -1
  15. package/dist/hooks/useAuthenticateMfaRecoveryCode/index.d.ts +3 -0
  16. package/dist/hooks/useAuthenticateMfaRecoveryCode/index.d.ts.map +1 -0
  17. package/dist/hooks/useAuthenticateMfaRecoveryCode/useAuthenticateMfaRecoveryCode.d.ts +38 -0
  18. package/dist/hooks/useAuthenticateMfaRecoveryCode/useAuthenticateMfaRecoveryCode.d.ts.map +1 -0
  19. package/dist/hooks/useAuthenticatePasskeyMfa/index.d.ts +3 -0
  20. package/dist/hooks/useAuthenticatePasskeyMfa/index.d.ts.map +1 -0
  21. package/dist/hooks/useAuthenticatePasskeyMfa/useAuthenticatePasskeyMfa.d.ts +34 -0
  22. package/dist/hooks/useAuthenticatePasskeyMfa/useAuthenticatePasskeyMfa.d.ts.map +1 -0
  23. package/dist/hooks/useAuthenticateTotpMfaDevice/index.d.ts +3 -0
  24. package/dist/hooks/useAuthenticateTotpMfaDevice/index.d.ts.map +1 -0
  25. package/dist/hooks/useAuthenticateTotpMfaDevice/useAuthenticateTotpMfaDevice.d.ts +34 -0
  26. package/dist/hooks/useAuthenticateTotpMfaDevice/useAuthenticateTotpMfaDevice.d.ts.map +1 -0
  27. package/dist/hooks/useAvailableWalletProvidersData/index.d.ts +2 -0
  28. package/dist/hooks/useAvailableWalletProvidersData/index.d.ts.map +1 -0
  29. package/dist/hooks/useAvailableWalletProvidersData/useAvailableWalletProvidersData.d.ts +1 -1
  30. package/dist/hooks/useAvailableWalletProvidersData/useAvailableWalletProvidersData.d.ts.map +1 -1
  31. package/dist/hooks/useConsumeMfaToken/index.d.ts +3 -0
  32. package/dist/hooks/useConsumeMfaToken/index.d.ts.map +1 -0
  33. package/dist/hooks/useConsumeMfaToken/useConsumeMfaToken.d.ts +27 -0
  34. package/dist/hooks/useConsumeMfaToken/useConsumeMfaToken.d.ts.map +1 -0
  35. package/dist/hooks/useCreateNewMfaRecoveryCodes/index.d.ts +3 -0
  36. package/dist/hooks/useCreateNewMfaRecoveryCodes/index.d.ts.map +1 -0
  37. package/dist/hooks/useCreateNewMfaRecoveryCodes/useCreateNewMfaRecoveryCodes.d.ts +29 -0
  38. package/dist/hooks/useCreateNewMfaRecoveryCodes/useCreateNewMfaRecoveryCodes.d.ts.map +1 -0
  39. package/dist/hooks/useDeleteMfaDevice/index.d.ts +3 -0
  40. package/dist/hooks/useDeleteMfaDevice/index.d.ts.map +1 -0
  41. package/dist/hooks/useDeleteMfaDevice/useDeleteMfaDevice.d.ts +32 -0
  42. package/dist/hooks/useDeleteMfaDevice/useDeleteMfaDevice.d.ts.map +1 -0
  43. package/dist/hooks/useDeletePasskey/index.d.ts +3 -0
  44. package/dist/hooks/useDeletePasskey/index.d.ts.map +1 -0
  45. package/dist/hooks/useDeletePasskey/useDeletePasskey.d.ts +31 -0
  46. package/dist/hooks/useDeletePasskey/useDeletePasskey.d.ts.map +1 -0
  47. package/dist/hooks/useDeleteUser/index.d.ts +3 -0
  48. package/dist/hooks/useDeleteUser/index.d.ts.map +1 -0
  49. package/dist/hooks/useDeleteUser/useDeleteUser.d.ts +28 -0
  50. package/dist/hooks/useDeleteUser/useDeleteUser.d.ts.map +1 -0
  51. package/dist/hooks/useEvent/index.d.ts +2 -0
  52. package/dist/hooks/useEvent/index.d.ts.map +1 -0
  53. package/dist/hooks/useInitStatus/index.d.ts +2 -0
  54. package/dist/hooks/useInitStatus/index.d.ts.map +1 -0
  55. package/dist/hooks/useInitStatus/useInitStatus.d.ts +1 -1
  56. package/dist/hooks/useInitStatus/useInitStatus.d.ts.map +1 -1
  57. package/dist/hooks/useIsCaptchaRequired/index.d.ts +2 -0
  58. package/dist/hooks/useIsCaptchaRequired/index.d.ts.map +1 -0
  59. package/dist/hooks/useIsCaptchaRequired/useIsCaptchaRequired.d.ts +13 -0
  60. package/dist/hooks/useIsCaptchaRequired/useIsCaptchaRequired.d.ts.map +1 -0
  61. package/dist/hooks/useIsUserMissingMfaAuth/index.d.ts +2 -0
  62. package/dist/hooks/useIsUserMissingMfaAuth/index.d.ts.map +1 -0
  63. package/dist/hooks/useIsUserMissingMfaAuth/useIsUserMissingMfaAuth.d.ts +13 -0
  64. package/dist/hooks/useIsUserMissingMfaAuth/useIsUserMissingMfaAuth.d.ts.map +1 -0
  65. package/dist/hooks/useIsUserOnboardingComplete/index.d.ts +2 -0
  66. package/dist/hooks/useIsUserOnboardingComplete/index.d.ts.map +1 -0
  67. package/dist/hooks/useIsUserOnboardingComplete/useIsUserOnboardingComplete.d.ts +14 -0
  68. package/dist/hooks/useIsUserOnboardingComplete/useIsUserOnboardingComplete.d.ts.map +1 -0
  69. package/dist/hooks/useLogout/index.d.ts +2 -0
  70. package/dist/hooks/useLogout/index.d.ts.map +1 -0
  71. package/dist/hooks/useLogout/useLogout.d.ts +23 -0
  72. package/dist/hooks/useLogout/useLogout.d.ts.map +1 -0
  73. package/dist/hooks/useMfaDevices/index.d.ts +3 -0
  74. package/dist/hooks/useMfaDevices/index.d.ts.map +1 -0
  75. package/dist/hooks/useMfaDevices/useMfaDevices.d.ts +24 -0
  76. package/dist/hooks/useMfaDevices/useMfaDevices.d.ts.map +1 -0
  77. package/dist/hooks/useMfaMethods/index.d.ts +3 -0
  78. package/dist/hooks/useMfaMethods/index.d.ts.map +1 -0
  79. package/dist/hooks/useMfaMethods/useMfaMethods.d.ts +24 -0
  80. package/dist/hooks/useMfaMethods/useMfaMethods.d.ts.map +1 -0
  81. package/dist/hooks/useMfaRecoveryCodes/index.d.ts +3 -0
  82. package/dist/hooks/useMfaRecoveryCodes/index.d.ts.map +1 -0
  83. package/dist/hooks/useMfaRecoveryCodes/useMfaRecoveryCodes.d.ts +23 -0
  84. package/dist/hooks/useMfaRecoveryCodes/useMfaRecoveryCodes.d.ts.map +1 -0
  85. package/dist/hooks/useMultichainTokenBalances/index.d.ts +3 -0
  86. package/dist/hooks/useMultichainTokenBalances/index.d.ts.map +1 -0
  87. package/dist/hooks/useMultichainTokenBalances/useMultichainTokenBalances.d.ts +37 -0
  88. package/dist/hooks/useMultichainTokenBalances/useMultichainTokenBalances.d.ts.map +1 -0
  89. package/dist/hooks/useNativeBalance/index.d.ts +2 -0
  90. package/dist/hooks/useNativeBalance/index.d.ts.map +1 -0
  91. package/dist/hooks/useNativeBalance/useNativeBalance.d.ts +34 -0
  92. package/dist/hooks/useNativeBalance/useNativeBalance.d.ts.map +1 -0
  93. package/dist/hooks/useNetworksData/index.d.ts +2 -0
  94. package/dist/hooks/useNetworksData/index.d.ts.map +1 -0
  95. package/dist/hooks/useNetworksData/useNetworksData.d.ts +1 -2
  96. package/dist/hooks/useNetworksData/useNetworksData.d.ts.map +1 -1
  97. package/dist/hooks/usePasskeys/index.d.ts +3 -0
  98. package/dist/hooks/usePasskeys/index.d.ts.map +1 -0
  99. package/dist/hooks/usePasskeys/usePasskeys.d.ts +23 -0
  100. package/dist/hooks/usePasskeys/usePasskeys.d.ts.map +1 -0
  101. package/dist/hooks/useRegisterPasskey/index.d.ts +3 -0
  102. package/dist/hooks/useRegisterPasskey/index.d.ts.map +1 -0
  103. package/dist/hooks/useRegisterPasskey/useRegisterPasskey.d.ts +31 -0
  104. package/dist/hooks/useRegisterPasskey/useRegisterPasskey.d.ts.map +1 -0
  105. package/dist/hooks/useRegisterTotpMfaDevice/index.d.ts +3 -0
  106. package/dist/hooks/useRegisterTotpMfaDevice/index.d.ts.map +1 -0
  107. package/dist/hooks/useRegisterTotpMfaDevice/useRegisterTotpMfaDevice.d.ts +28 -0
  108. package/dist/hooks/useRegisterTotpMfaDevice/useRegisterTotpMfaDevice.d.ts.map +1 -0
  109. package/dist/hooks/useRegisteredDevices/index.d.ts +3 -0
  110. package/dist/hooks/useRegisteredDevices/index.d.ts.map +1 -0
  111. package/dist/hooks/useRegisteredDevices/useRegisteredDevices.d.ts +25 -0
  112. package/dist/hooks/useRegisteredDevices/useRegisteredDevices.d.ts.map +1 -0
  113. package/dist/hooks/useRemoveWalletAccount/index.d.ts +3 -0
  114. package/dist/hooks/useRemoveWalletAccount/index.d.ts.map +1 -0
  115. package/dist/hooks/useRemoveWalletAccount/useRemoveWalletAccount.d.ts +34 -0
  116. package/dist/hooks/useRemoveWalletAccount/useRemoveWalletAccount.d.ts.map +1 -0
  117. package/dist/hooks/useRevokeRegisteredDevice/index.d.ts +3 -0
  118. package/dist/hooks/useRevokeRegisteredDevice/index.d.ts.map +1 -0
  119. package/dist/hooks/useRevokeRegisteredDevice/useRevokeRegisteredDevice.d.ts +35 -0
  120. package/dist/hooks/useRevokeRegisteredDevice/useRevokeRegisteredDevice.d.ts.map +1 -0
  121. package/dist/hooks/useSendEmailOtp/index.d.ts +3 -0
  122. package/dist/hooks/useSendEmailOtp/index.d.ts.map +1 -0
  123. package/dist/hooks/useSendEmailOtp/useSendEmailOtp.d.ts +34 -0
  124. package/dist/hooks/useSendEmailOtp/useSendEmailOtp.d.ts.map +1 -0
  125. package/dist/hooks/useSendSmsOtp/index.d.ts +3 -0
  126. package/dist/hooks/useSendSmsOtp/index.d.ts.map +1 -0
  127. package/dist/hooks/useSendSmsOtp/useSendSmsOtp.d.ts +36 -0
  128. package/dist/hooks/useSendSmsOtp/useSendSmsOtp.d.ts.map +1 -0
  129. package/dist/hooks/useSessionExpiresAt/index.d.ts +2 -0
  130. package/dist/hooks/useSessionExpiresAt/index.d.ts.map +1 -0
  131. package/dist/hooks/useSessionExpiresAt/useSessionExpiresAt.d.ts +1 -1
  132. package/dist/hooks/useSessionExpiresAt/useSessionExpiresAt.d.ts.map +1 -1
  133. package/dist/hooks/useSetDefaultMfaDevice/index.d.ts +3 -0
  134. package/dist/hooks/useSetDefaultMfaDevice/index.d.ts.map +1 -0
  135. package/dist/hooks/useSetDefaultMfaDevice/useSetDefaultMfaDevice.d.ts +30 -0
  136. package/dist/hooks/useSetDefaultMfaDevice/useSetDefaultMfaDevice.d.ts.map +1 -0
  137. package/dist/hooks/useSignInWithPasskey/index.d.ts +3 -0
  138. package/dist/hooks/useSignInWithPasskey/index.d.ts.map +1 -0
  139. package/dist/hooks/useSignInWithPasskey/useSignInWithPasskey.d.ts +29 -0
  140. package/dist/hooks/useSignInWithPasskey/useSignInWithPasskey.d.ts.map +1 -0
  141. package/dist/hooks/useSignMessage/index.d.ts +3 -0
  142. package/dist/hooks/useSignMessage/index.d.ts.map +1 -0
  143. package/dist/hooks/useSignMessage/useSignMessage.d.ts +37 -0
  144. package/dist/hooks/useSignMessage/useSignMessage.d.ts.map +1 -0
  145. package/dist/hooks/useSwitchActiveNetwork/index.d.ts +3 -0
  146. package/dist/hooks/useSwitchActiveNetwork/index.d.ts.map +1 -0
  147. package/dist/hooks/useSwitchActiveNetwork/useSwitchActiveNetwork.d.ts +36 -0
  148. package/dist/hooks/useSwitchActiveNetwork/useSwitchActiveNetwork.d.ts.map +1 -0
  149. package/dist/hooks/useTokenBalances/index.d.ts +3 -0
  150. package/dist/hooks/useTokenBalances/index.d.ts.map +1 -0
  151. package/dist/hooks/useTokenBalances/useTokenBalances.d.ts +47 -0
  152. package/dist/hooks/useTokenBalances/useTokenBalances.d.ts.map +1 -0
  153. package/dist/hooks/useTransactionHistory/index.d.ts +3 -0
  154. package/dist/hooks/useTransactionHistory/index.d.ts.map +1 -0
  155. package/dist/hooks/useTransactionHistory/useTransactionHistory.d.ts +47 -0
  156. package/dist/hooks/useTransactionHistory/useTransactionHistory.d.ts.map +1 -0
  157. package/dist/hooks/useUnlinkSocialAccount/index.d.ts +3 -0
  158. package/dist/hooks/useUnlinkSocialAccount/index.d.ts.map +1 -0
  159. package/dist/hooks/useUnlinkSocialAccount/useUnlinkSocialAccount.d.ts +35 -0
  160. package/dist/hooks/useUnlinkSocialAccount/useUnlinkSocialAccount.d.ts.map +1 -0
  161. package/dist/hooks/useUpdateUser/index.d.ts +3 -0
  162. package/dist/hooks/useUpdateUser/index.d.ts.map +1 -0
  163. package/dist/hooks/useUpdateUser/useUpdateUser.d.ts +36 -0
  164. package/dist/hooks/useUpdateUser/useUpdateUser.d.ts.map +1 -0
  165. package/dist/hooks/useUser/index.d.ts +2 -0
  166. package/dist/hooks/useUser/index.d.ts.map +1 -0
  167. package/dist/hooks/useUser/useUser.d.ts +1 -1
  168. package/dist/hooks/useUser/useUser.d.ts.map +1 -1
  169. package/dist/hooks/useUserSocialAccounts/index.d.ts +2 -0
  170. package/dist/hooks/useUserSocialAccounts/index.d.ts.map +1 -0
  171. package/dist/hooks/useUserSocialAccounts/useUserSocialAccounts.d.ts +7 -0
  172. package/dist/hooks/useUserSocialAccounts/useUserSocialAccounts.d.ts.map +1 -0
  173. package/dist/hooks/useVerifyOtp/index.d.ts +3 -0
  174. package/dist/hooks/useVerifyOtp/index.d.ts.map +1 -0
  175. package/dist/hooks/useVerifyOtp/useVerifyOtp.d.ts +35 -0
  176. package/dist/hooks/useVerifyOtp/useVerifyOtp.d.ts.map +1 -0
  177. package/dist/hooks/useVerifyWalletAccount/index.d.ts +3 -0
  178. package/dist/hooks/useVerifyWalletAccount/index.d.ts.map +1 -0
  179. package/dist/hooks/useVerifyWalletAccount/useVerifyWalletAccount.d.ts +41 -0
  180. package/dist/hooks/useVerifyWalletAccount/useVerifyWalletAccount.d.ts.map +1 -0
  181. package/dist/hooks/useWalletAccounts/index.d.ts +2 -0
  182. package/dist/hooks/useWalletAccounts/index.d.ts.map +1 -0
  183. package/dist/hooks/useWalletAccounts/useWalletAccounts.d.ts +1 -2
  184. package/dist/hooks/useWalletAccounts/useWalletAccounts.d.ts.map +1 -1
  185. package/dist/index.cjs +1094 -34
  186. package/dist/index.cjs.map +1 -1
  187. package/dist/index.esm.js +1061 -36
  188. package/dist/index.esm.js.map +1 -1
  189. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  190. package/package.json +7 -5
  191. package/dist/hooks/useSocialAccounts/useSocialAccounts.d.ts +0 -7
  192. package/dist/hooks/useSocialAccounts/useSocialAccounts.d.ts.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,11 +1,13 @@
1
1
  let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
2
2
  let _dynamic_labs_sdk_client = require("@dynamic-labs-sdk/client");
3
+ let _tanstack_react_query = require("@tanstack/react-query");
3
4
  let react = require("react");
4
5
  let react_jsx_runtime = require("react/jsx-runtime");
6
+ let _dynamic_labs_sdk_client_core = require("@dynamic-labs-sdk/client/core");
5
7
 
6
8
  //#region package.json
7
9
  var name = "@dynamic-labs-sdk/react-hooks";
8
- var version = "1.4.0";
10
+ var version = "1.6.0";
9
11
 
10
12
  //#endregion
11
13
  //#region src/modules/DynamicContext/DynamicContext.ts
@@ -53,6 +55,341 @@ const useDynamicClient = () => {
53
55
  return client;
54
56
  };
55
57
 
58
+ //#endregion
59
+ //#region src/foundation/useBaseMutation/useBaseMutation.ts
60
+ /**
61
+ * Internal hook that wraps a react-query `useMutation` with the conventions
62
+ * used by every async-write hook in this package:
63
+ *
64
+ * - `mutationFn` receives the resolved `DynamicClient` from context plus
65
+ * the caller-supplied `variables`, and is gated behind
66
+ * `waitForClientInitialized`.
67
+ * - Callers pass `mutateParams` to override any default
68
+ * `UseMutationOptions`, so consumers can wire `onSuccess` / `onError` /
69
+ * etc.
70
+ *
71
+ * Returns the full `useMutation` result — `mutate`, `mutateAsync`, `data`,
72
+ * `error`, `isPending`, `isSuccess`, `reset`, `status`, etc.
73
+ */
74
+ const useBaseMutation = ({ mutationFn, mutateParams }) => {
75
+ const client = useDynamicClient();
76
+ return (0, _tanstack_react_query.useMutation)({
77
+ mutationFn: async (variables) => {
78
+ await (0, _dynamic_labs_sdk_client.waitForClientInitialized)(client);
79
+ return mutationFn({
80
+ client,
81
+ variables
82
+ });
83
+ },
84
+ ...mutateParams
85
+ });
86
+ };
87
+
88
+ //#endregion
89
+ //#region src/hooks/useAuthenticateMfaRecoveryCode/useAuthenticateMfaRecoveryCode.ts
90
+ /**
91
+ * Authenticates the current user with one of their MFA recovery codes.
92
+ *
93
+ * Wraps `authenticateMfaRecoveryCode` from `@dynamic-labs-sdk/client`. Call
94
+ * `mutate({ code })` with a backup recovery code when no registered MFA
95
+ * method is available; the resolved `data` is the MFA authentication
96
+ * response.
97
+ *
98
+ * @example
99
+ * ```tsx
100
+ * const { mutate: authenticateRecoveryCode, isPending } =
101
+ * useAuthenticateMfaRecoveryCode();
102
+ * <button
103
+ * onClick={() => authenticateRecoveryCode({ code })}
104
+ * disabled={isPending}
105
+ * >
106
+ * Use recovery code
107
+ * </button>
108
+ * ```
109
+ */
110
+ const useAuthenticateMfaRecoveryCode = ({ mutateParams } = {}) => useBaseMutation({
111
+ mutateParams,
112
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.authenticateMfaRecoveryCode)(variables, client)
113
+ });
114
+
115
+ //#endregion
116
+ //#region src/hooks/useAuthenticatePasskeyMfa/useAuthenticatePasskeyMfa.ts
117
+ /**
118
+ * Completes an MFA challenge using the current user's passkey.
119
+ *
120
+ * Wraps `authenticatePasskeyMFA` from `@dynamic-labs-sdk/client`. Call
121
+ * `mutate()` to satisfy an MFA step-up with a passkey; the resolved `data`
122
+ * is the MFA verification response.
123
+ *
124
+ * @example
125
+ * ```tsx
126
+ * const { mutate: authenticatePasskeyMfa, isPending } =
127
+ * useAuthenticatePasskeyMfa();
128
+ * <button onClick={() => authenticatePasskeyMfa()} disabled={isPending}>
129
+ * Verify with passkey
130
+ * </button>
131
+ * ```
132
+ */
133
+ const useAuthenticatePasskeyMfa = ({ mutateParams } = {}) => useBaseMutation({
134
+ mutateParams,
135
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.authenticatePasskeyMFA)(variables, client)
136
+ });
137
+
138
+ //#endregion
139
+ //#region src/hooks/useAuthenticateTotpMfaDevice/useAuthenticateTotpMfaDevice.ts
140
+ /**
141
+ * Authenticates the current user with a TOTP code from an authenticator app.
142
+ *
143
+ * Wraps `authenticateTotpMfaDevice` from `@dynamic-labs-sdk/client`. Call
144
+ * `mutate({ code })` with the 6-digit code; the resolved `data` is the MFA
145
+ * authentication response.
146
+ *
147
+ * @example
148
+ * ```tsx
149
+ * const { mutate: authenticateTotp, isPending } = useAuthenticateTotpMfaDevice();
150
+ * <button onClick={() => authenticateTotp({ code })} disabled={isPending}>
151
+ * Verify code
152
+ * </button>
153
+ * ```
154
+ */
155
+ const useAuthenticateTotpMfaDevice = ({ mutateParams } = {}) => useBaseMutation({
156
+ mutateParams,
157
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.authenticateTotpMfaDevice)(variables, client)
158
+ });
159
+
160
+ //#endregion
161
+ //#region src/foundation/useBaseState/useBaseState.ts
162
+ /**
163
+ * Internal hook that bridges Dynamic client event-driven state to React via
164
+ * react-query.
165
+ *
166
+ * - `queryFn` waits for the client to finish initializing (so the first
167
+ * render never sees a half-built client) and then runs `selector`. Init
168
+ * failures surface on `error`.
169
+ * - The supplied `event`(s) invalidate the query whenever they fire — a
170
+ * per-event predicate can narrow this so unrelated fires don't refetch.
171
+ * - Returns the full `useQuery` result so consumers can read every field
172
+ * react-query exposes (`data`, `error`, `isLoading`, `isFetching`,
173
+ * `refetch`, `status`, ...).
174
+ */
175
+ const normalizeEvents = (event) => {
176
+ if (typeof event !== "string") return event;
177
+ const map = {};
178
+ map[event] = true;
179
+ return map;
180
+ };
181
+ /**
182
+ * Per-event subscription wrapper. Extracted from `useBaseState` so the
183
+ * listener generics resolve at the per-event call site rather than as the
184
+ * intersection across all events.
185
+ */
186
+ const subscribeWithPredicate = ({ event, predicate, onMatch }, client) => {
187
+ const listener = (args) => {
188
+ if (predicate === true || predicate(args)) onMatch();
189
+ };
190
+ return (0, _dynamic_labs_sdk_client.onEvent)({
191
+ event,
192
+ listener
193
+ }, client);
194
+ };
195
+ const useBaseState = ({ event, queryKey, queryParams, selector, defaultValue, skipWaitForInit = false }) => {
196
+ const client = useDynamicClient();
197
+ const queryClient = (0, _tanstack_react_query.useQueryClient)();
198
+ /**
199
+ * Normalize the `event` shorthand into an events map. `useMemo` keyed
200
+ * on a stable JSON shape so callers can pass an inline literal each
201
+ * render without churning the event-subscription effect.
202
+ */
203
+ const eventsMapJson = (0, react.useMemo)(() => {
204
+ const map = normalizeEvents(event);
205
+ const sortedKeys = Object.keys(map).sort((a, b) => a.localeCompare(b));
206
+ return JSON.stringify(sortedKeys.map((k) => ({
207
+ event: k,
208
+ predicate: map[k] === true ? "__always__" : "__fn__"
209
+ })));
210
+ }, [event]);
211
+ /**
212
+ * Per-event predicates resolved from the latest render. The effect
213
+ * stays subscribed across re-renders (its deps are stable), so it
214
+ * reads predicates through this ref to pick up the most recent
215
+ * functions a caller passed inline.
216
+ */
217
+ const eventsMapRef = (0, react.useRef)(normalizeEvents(event));
218
+ eventsMapRef.current = normalizeEvents(event);
219
+ /**
220
+ * Stable list of event names the effect needs to subscribe to. Driven
221
+ * by `eventsMapJson` so callers can swap predicate identities each
222
+ * render without re-subscribing.
223
+ */
224
+ const eventNames = (0, react.useMemo)(() => {
225
+ const map = eventsMapRef.current;
226
+ return Object.keys(map).sort((a, b) => a.localeCompare(b));
227
+ }, [eventsMapJson]);
228
+ const fullQueryKey = (0, react.useMemo)(() => [
229
+ "@dynamic-labs-sdk/react-hooks",
230
+ "state",
231
+ ...queryKey
232
+ ], [JSON.stringify(queryKey)]);
233
+ (0, react.useEffect)(() => {
234
+ const core = (0, _dynamic_labs_sdk_client_core.getCore)(client);
235
+ const invalidate = () => {
236
+ queryClient.invalidateQueries({ queryKey: fullQueryKey }).catch((invalidateError) => {
237
+ core.logger.error("[useBaseState] invalidateQueries failed", invalidateError);
238
+ });
239
+ };
240
+ const unsubscribers = eventNames.map((eventName) => subscribeWithPredicate({
241
+ event: eventName,
242
+ onMatch: invalidate,
243
+ predicate: (args) => {
244
+ const predicate = eventsMapRef.current[eventName];
245
+ if (predicate === void 0) return false;
246
+ return predicate === true || predicate(args);
247
+ }
248
+ }, client));
249
+ return () => {
250
+ for (const unsubscribe of unsubscribers) unsubscribe();
251
+ };
252
+ }, [
253
+ client,
254
+ eventNames,
255
+ queryClient,
256
+ fullQueryKey
257
+ ]);
258
+ return (0, _tanstack_react_query.useQuery)({
259
+ ...queryParams,
260
+ placeholderData: defaultValue,
261
+ queryFn: skipWaitForInit ? () => selector(client) : async () => {
262
+ await (0, _dynamic_labs_sdk_client.waitForClientInitialized)(client);
263
+ return selector(client);
264
+ },
265
+ queryKey: fullQueryKey
266
+ });
267
+ };
268
+
269
+ //#endregion
270
+ //#region src/hooks/useAvailableWalletProvidersData/useAvailableWalletProvidersData.ts
271
+ /**
272
+ * Returns the available wallet providers and their data.
273
+ *
274
+ * Re-renders when a wallet provider changes (e.g. network switch).
275
+ */
276
+ const useAvailableWalletProvidersData = () => useBaseState({
277
+ defaultValue: [],
278
+ event: "walletProviderChanged",
279
+ queryKey: ["useAvailableWalletProvidersData"],
280
+ selector: (client) => (0, _dynamic_labs_sdk_client.getAvailableWalletProvidersData)(client)
281
+ });
282
+
283
+ //#endregion
284
+ //#region src/hooks/useConsumeMfaToken/useConsumeMfaToken.ts
285
+ /**
286
+ * Consumes and clears the current MFA token from client state.
287
+ *
288
+ * Wraps `consumeMfaToken` from `@dynamic-labs-sdk/client`. Takes no
289
+ * arguments — call `mutate()` to read the token from a successful MFA
290
+ * authentication and remove it so it can't be reused; the resolved `data`
291
+ * is the consumed token.
292
+ *
293
+ * @example
294
+ * ```tsx
295
+ * const { mutate: consumeMfaToken, data: mfaToken } = useConsumeMfaToken();
296
+ * <button onClick={() => consumeMfaToken()}>Consume MFA token</button>
297
+ * ```
298
+ */
299
+ const useConsumeMfaToken = ({ mutateParams } = {}) => useBaseMutation({
300
+ mutateParams,
301
+ mutationFn: ({ client }) => Promise.resolve((0, _dynamic_labs_sdk_client.consumeMfaToken)(client))
302
+ });
303
+
304
+ //#endregion
305
+ //#region src/hooks/useCreateNewMfaRecoveryCodes/useCreateNewMfaRecoveryCodes.ts
306
+ /**
307
+ * Regenerates the current user's MFA recovery codes.
308
+ *
309
+ * Wraps `createNewMfaRecoveryCodes` from `@dynamic-labs-sdk/client`. Takes
310
+ * no arguments — call `mutate()` to issue a fresh set of codes (invalidating
311
+ * the previous set); the resolved `data` is the new recovery codes.
312
+ *
313
+ * @example
314
+ * ```tsx
315
+ * const { mutate: regenerateCodes, data, isPending } =
316
+ * useCreateNewMfaRecoveryCodes();
317
+ * <button onClick={() => regenerateCodes()} disabled={isPending}>
318
+ * Regenerate recovery codes
319
+ * </button>
320
+ * ```
321
+ */
322
+ const useCreateNewMfaRecoveryCodes = ({ mutateParams } = {}) => useBaseMutation({
323
+ mutateParams,
324
+ mutationFn: ({ client }) => (0, _dynamic_labs_sdk_client.createNewMfaRecoveryCodes)(client)
325
+ });
326
+
327
+ //#endregion
328
+ //#region src/hooks/useDeleteMfaDevice/useDeleteMfaDevice.ts
329
+ /**
330
+ * Deletes one of the current user's MFA devices.
331
+ *
332
+ * Wraps `deleteMfaDevice` from `@dynamic-labs-sdk/client`. Call
333
+ * `mutate({ deviceId })` to remove the device; when no elevated access
334
+ * token is available, also pass `mfaAuthToken`.
335
+ *
336
+ * @example
337
+ * ```tsx
338
+ * const { mutate: deleteDevice, isPending } = useDeleteMfaDevice();
339
+ * <button onClick={() => deleteDevice({ deviceId })} disabled={isPending}>
340
+ * Remove device
341
+ * </button>
342
+ * ```
343
+ */
344
+ const useDeleteMfaDevice = ({ mutateParams } = {}) => useBaseMutation({
345
+ mutateParams,
346
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.deleteMfaDevice)(variables, client)
347
+ });
348
+
349
+ //#endregion
350
+ //#region src/hooks/useDeletePasskey/useDeletePasskey.ts
351
+ /**
352
+ * Deletes one of the current user's passkeys.
353
+ *
354
+ * Wraps `deletePasskey` from `@dynamic-labs-sdk/client`. Call
355
+ * `mutate({ passkeyId })` to remove the passkey; the resolved `data` is
356
+ * `void`.
357
+ *
358
+ * @example
359
+ * ```tsx
360
+ * const { mutate: deletePasskey, isPending } = useDeletePasskey();
361
+ * <button onClick={() => deletePasskey({ passkeyId })} disabled={isPending}>
362
+ * Remove passkey
363
+ * </button>
364
+ * ```
365
+ */
366
+ const useDeletePasskey = ({ mutateParams } = {}) => useBaseMutation({
367
+ mutateParams,
368
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.deletePasskey)(variables, client)
369
+ });
370
+
371
+ //#endregion
372
+ //#region src/hooks/useDeleteUser/useDeleteUser.ts
373
+ /**
374
+ * Permanently deletes the current user's account and logs them out.
375
+ *
376
+ * Wraps `deleteUser` from `@dynamic-labs-sdk/client`. Takes no arguments —
377
+ * call `mutate()` to hard-delete the account; the resolved `data` is `void`.
378
+ * This is destructive and irreversible.
379
+ *
380
+ * @example
381
+ * ```tsx
382
+ * const { mutate: deleteUser, isPending } = useDeleteUser();
383
+ * <button onClick={() => deleteUser()} disabled={isPending}>
384
+ * Delete my account
385
+ * </button>
386
+ * ```
387
+ */
388
+ const useDeleteUser = ({ mutateParams } = {}) => useBaseMutation({
389
+ mutateParams,
390
+ mutationFn: ({ client }) => (0, _dynamic_labs_sdk_client.deleteUser)(client)
391
+ });
392
+
56
393
  //#endregion
57
394
  //#region src/hooks/useEvent/useEvent.ts
58
395
  /**
@@ -74,33 +411,237 @@ const useEvent = ({ event, listener }) => {
74
411
  };
75
412
 
76
413
  //#endregion
77
- //#region src/foundation/useBaseState/useBaseState.ts
414
+ //#region src/hooks/useInitStatus/useInitStatus.ts
415
+ /**
416
+ * Returns the current initialization status of the Dynamic client.
417
+ *
418
+ * Possible values: 'uninitialized', 'in-progress', 'finished', 'failed'.
419
+ */
420
+ const useInitStatus = () => useBaseState({
421
+ defaultValue: "uninitialized",
422
+ event: "initStatusChanged",
423
+ queryKey: ["useInitStatus"],
424
+ selector: (client) => client.initStatus,
425
+ skipWaitForInit: true
426
+ });
427
+
428
+ //#endregion
429
+ //#region src/hooks/useIsCaptchaRequired/useIsCaptchaRequired.ts
430
+ /**
431
+ * Returns whether hCaptcha is required by the current project settings.
432
+ *
433
+ * Re-renders whenever project settings change (e.g. after the first
434
+ * settings fetch or a live settings update).
435
+ *
436
+ * Returns `false` whenever project settings have not loaded yet — callers
437
+ * that need to distinguish "still resolving" from "settings loaded, captcha
438
+ * really not required" can read `isPlaceholderData` / `isFetching` on the
439
+ * result.
440
+ */
441
+ const useIsCaptchaRequired = () => useBaseState({
442
+ defaultValue: false,
443
+ event: "projectSettingsChanged",
444
+ queryKey: ["useIsCaptchaRequired"],
445
+ selector: (client) => client.projectSettings === null ? false : (0, _dynamic_labs_sdk_client.isCaptchaRequired)(client)
446
+ });
447
+
448
+ //#endregion
449
+ //#region src/hooks/useIsUserMissingMfaAuth/useIsUserMissingMfaAuth.ts
78
450
  /**
79
- * Internal hook that bridges Dynamic client event-driven state to React.
451
+ * Returns whether the current user still needs to complete additional MFA
452
+ * authentication (i.e. their session scope contains `requiresAdditionalAuth`).
453
+ *
454
+ * Re-renders whenever the user changes (login, logout, scope refresh).
80
455
  *
81
- * Subscribes to a client event and re-derives a snapshot via the selector
82
- * each time the event fires, using useSyncExternalStore for tear-free reads.
456
+ * Returns `false` whenever no user is signed in a signed-out user
457
+ * trivially has nothing pending. Callers that need to distinguish "still
458
+ * resolving" from "really nothing pending" can read `isPlaceholderData` /
459
+ * `isFetching` on the result.
83
460
  */
84
- const useBaseState = (eventName, getSnapshot) => {
461
+ const useIsUserMissingMfaAuth = () => useBaseState({
462
+ defaultValue: false,
463
+ event: "userChanged",
464
+ queryKey: ["useIsUserMissingMfaAuth"],
465
+ selector: (client) => client.user === null ? false : (0, _dynamic_labs_sdk_client.isUserMissingMfaAuth)(client)
466
+ });
467
+
468
+ //#endregion
469
+ //#region src/hooks/useIsUserOnboardingComplete/useIsUserOnboardingComplete.ts
470
+ /**
471
+ * Returns whether the current user has completed onboarding (no missing KYC
472
+ * fields, MFA enrollment, or pending recovery-code acknowledgement).
473
+ *
474
+ * Re-renders whenever the user changes (login, logout, profile update) or
475
+ * project settings change (which affects what counts as a missing field).
476
+ *
477
+ * Returns `false` whenever no user is signed in, mirroring the "not yet
478
+ * complete" semantics — callers should use the loading flags on the result
479
+ * (`isPlaceholderData`, `isFetching`) to distinguish "still resolving" from
480
+ * "really not complete".
481
+ */
482
+ const useIsUserOnboardingComplete = () => useBaseState({
483
+ defaultValue: false,
484
+ event: {
485
+ projectSettingsChanged: true,
486
+ userChanged: true
487
+ },
488
+ queryKey: ["useIsUserOnboardingComplete"],
489
+ selector: (client) => client.user === null ? false : (0, _dynamic_labs_sdk_client.isUserOnboardingComplete)(client)
490
+ });
491
+
492
+ //#endregion
493
+ //#region src/hooks/useLogout/useLogout.ts
494
+ /**
495
+ * Logs the current user out.
496
+ *
497
+ * Wraps `logout` from `@dynamic-labs-sdk/client`. Takes no required
498
+ * arguments — call `mutate()` to trigger the logout.
499
+ *
500
+ * @example
501
+ * ```tsx
502
+ * const { mutate: logOut, isPending } = useLogout();
503
+ * <button onClick={() => logOut()} disabled={isPending}>Logout</button>
504
+ * ```
505
+ */
506
+ const useLogout = ({ mutateParams } = {}) => useBaseMutation({
507
+ mutateParams,
508
+ mutationFn: ({ client }) => (0, _dynamic_labs_sdk_client.logout)(client)
509
+ });
510
+
511
+ //#endregion
512
+ //#region src/foundation/useBaseQuery/useBaseQuery.ts
513
+ /**
514
+ * Internal hook that wraps a react-query `useQuery` with the conventions used
515
+ * by every async-read hook in this package:
516
+ *
517
+ * - `queryFn` receives the resolved `DynamicClient` from context, and is
518
+ * gated behind `waitForClientInitialized` so customers never see "client
519
+ * not ready" errors on first render.
520
+ * - Callers pass `queryParams` to override any default `UseQueryOptions`,
521
+ * so consumers can opt into retries / custom staleTime / etc.
522
+ * - Callers pass `enabled: false` (typically derived from whether their
523
+ * pseudo-required arguments are present) to short-circuit fetches.
524
+ *
525
+ * Returns the full `useQuery` result — `data`, `error`, `isLoading`,
526
+ * `isFetching`, `isSuccess`, `refetch`, `status`, etc.
527
+ */
528
+ const useBaseQuery = ({ queryFn, queryKey, queryParams, enabled = true }) => {
85
529
  const client = useDynamicClient();
86
- const valueRef = (0, react.useRef)(getSnapshot(client));
87
- return (0, react.useSyncExternalStore)((onStoreChange) => (0, _dynamic_labs_sdk_client.onEvent)({
88
- event: eventName,
89
- listener: () => {
90
- valueRef.current = getSnapshot(client);
91
- onStoreChange();
92
- }
93
- }, client), () => valueRef.current, () => valueRef.current);
530
+ return (0, _tanstack_react_query.useQuery)({
531
+ queryFn: async () => {
532
+ await (0, _dynamic_labs_sdk_client.waitForClientInitialized)(client);
533
+ return queryFn(client);
534
+ },
535
+ queryKey: (0, react.useMemo)(() => [
536
+ "@dynamic-labs-sdk/react-hooks",
537
+ "query",
538
+ ...queryKey
539
+ ], [queryKey]),
540
+ ...queryParams,
541
+ enabled: enabled && queryParams?.enabled !== false
542
+ });
94
543
  };
95
544
 
96
545
  //#endregion
97
- //#region src/hooks/useInitStatus/useInitStatus.ts
546
+ //#region src/hooks/useMfaDevices/useMfaDevices.ts
98
547
  /**
99
- * Returns the current initialization status of the Dynamic client.
548
+ * Returns the multi-factor authentication devices registered for the
549
+ * current user.
100
550
  *
101
- * Possible values: 'uninitialized', 'in-progress', 'finished', 'failed'.
551
+ * Wraps `getMfaDevices` from `@dynamic-labs-sdk/client`.
552
+ *
553
+ * @example
554
+ * ```tsx
555
+ * const { data: mfaDevices, isLoading, refetch } = useMfaDevices();
556
+ * ```
557
+ */
558
+ const useMfaDevices = ({ queryParams } = {}) => useBaseQuery({
559
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getMfaDevices)(client),
560
+ queryKey: ["useMfaDevices"],
561
+ queryParams
562
+ });
563
+
564
+ //#endregion
565
+ //#region src/hooks/useMfaMethods/useMfaMethods.ts
566
+ /**
567
+ * Returns the multi-factor authentication methods available to the current
568
+ * user.
569
+ *
570
+ * Wraps `getMfaMethods` from `@dynamic-labs-sdk/client`.
571
+ *
572
+ * @example
573
+ * ```tsx
574
+ * const { data: mfaMethods, isLoading, refetch } = useMfaMethods();
575
+ * ```
576
+ */
577
+ const useMfaMethods = ({ queryParams } = {}) => useBaseQuery({
578
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getMfaMethods)(client),
579
+ queryKey: ["useMfaMethods"],
580
+ queryParams
581
+ });
582
+
583
+ //#endregion
584
+ //#region src/hooks/useMfaRecoveryCodes/useMfaRecoveryCodes.ts
585
+ /**
586
+ * Returns the current user's MFA recovery codes.
587
+ *
588
+ * Wraps `getMfaRecoveryCodes` from `@dynamic-labs-sdk/client`.
589
+ *
590
+ * @example
591
+ * ```tsx
592
+ * const { data: recoveryCodes, isLoading, refetch } = useMfaRecoveryCodes();
593
+ * ```
594
+ */
595
+ const useMfaRecoveryCodes = ({ queryParams } = {}) => useBaseQuery({
596
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getMfaRecoveryCodes)(client),
597
+ queryKey: ["useMfaRecoveryCodes"],
598
+ queryParams
599
+ });
600
+
601
+ //#endregion
602
+ //#region src/hooks/useMultichainTokenBalances/useMultichainTokenBalances.ts
603
+ /**
604
+ * Returns token balances across multiple chains, networks, and addresses
605
+ * in a single batched API request.
606
+ *
607
+ * Wraps `getMultichainTokenBalances` from `@dynamic-labs-sdk/client`. The
608
+ * hook stays disabled until `balanceRequest` is defined. Use this for
609
+ * portfolio-style views; for a single account on one chain prefer
610
+ * {@link useTokenBalances}.
611
+ *
612
+ * @example
613
+ * ```tsx
614
+ * const { data, isLoading, refetch } = useMultichainTokenBalances({
615
+ * balanceRequest,
616
+ * });
617
+ * ```
618
+ */
619
+ const useMultichainTokenBalances = ({ balanceRequest, queryParams }) => useBaseQuery({
620
+ enabled: balanceRequest !== void 0,
621
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getMultichainTokenBalances)({ balanceRequest }, client),
622
+ queryKey: ["useMultichainTokenBalances", balanceRequest],
623
+ queryParams
624
+ });
625
+
626
+ //#endregion
627
+ //#region src/hooks/useNativeBalance/useNativeBalance.ts
628
+ /**
629
+ * Returns the native token balance for a wallet account.
630
+ *
631
+ * Calls `getNativeBalance` from `@dynamic-labs-sdk/client`. The hook stays
632
+ * disabled until `walletAccount` is defined.
633
+ *
634
+ * @example
635
+ * ```tsx
636
+ * const { data, isLoading, refetch } = useNativeBalance({ walletAccount });
637
+ * ```
102
638
  */
103
- const useInitStatus = () => useBaseState("initStatusChanged", (client) => client.initStatus);
639
+ const useNativeBalance = ({ walletAccount, queryParams }) => useBaseQuery({
640
+ enabled: walletAccount !== void 0,
641
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getNativeBalance)({ walletAccount }, client),
642
+ queryKey: ["useNativeBalance", walletAccount?.id],
643
+ queryParams
644
+ });
104
645
 
105
646
  //#endregion
106
647
  //#region src/hooks/useNetworksData/useNetworksData.ts
@@ -109,7 +650,201 @@ const useInitStatus = () => useBaseState("initStatusChanged", (client) => client
109
650
  *
110
651
  * Re-renders when project settings change.
111
652
  */
112
- const useNetworksData = () => useBaseState("projectSettingsChanged", (client) => (0, _dynamic_labs_sdk_client.getNetworksData)(client));
653
+ const useNetworksData = () => useBaseState({
654
+ defaultValue: [],
655
+ event: "projectSettingsChanged",
656
+ queryKey: ["useNetworksData"],
657
+ selector: (client) => (0, _dynamic_labs_sdk_client.getNetworksData)(client)
658
+ });
659
+
660
+ //#endregion
661
+ //#region src/hooks/usePasskeys/usePasskeys.ts
662
+ /**
663
+ * Returns the passkeys registered for the current user.
664
+ *
665
+ * Wraps `getPasskeys` from `@dynamic-labs-sdk/client`.
666
+ *
667
+ * @example
668
+ * ```tsx
669
+ * const { data: passkeys, isLoading, refetch } = usePasskeys();
670
+ * ```
671
+ */
672
+ const usePasskeys = ({ queryParams } = {}) => useBaseQuery({
673
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getPasskeys)(client),
674
+ queryKey: ["usePasskeys"],
675
+ queryParams
676
+ });
677
+
678
+ //#endregion
679
+ //#region src/hooks/useRegisteredDevices/useRegisteredDevices.ts
680
+ /**
681
+ * Returns the devices registered for the current user.
682
+ *
683
+ * Wraps `getRegisteredDevices` from `@dynamic-labs-sdk/client`. Pair with
684
+ * {@link useRevokeRegisteredDevice} to let users revoke a device from the
685
+ * list.
686
+ *
687
+ * @example
688
+ * ```tsx
689
+ * const { data: devices, isLoading, refetch } = useRegisteredDevices();
690
+ * ```
691
+ */
692
+ const useRegisteredDevices = ({ queryParams } = {}) => useBaseQuery({
693
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getRegisteredDevices)(client),
694
+ queryKey: ["useRegisteredDevices"],
695
+ queryParams
696
+ });
697
+
698
+ //#endregion
699
+ //#region src/hooks/useRegisterPasskey/useRegisterPasskey.ts
700
+ /**
701
+ * Registers a new passkey for the current user.
702
+ *
703
+ * Wraps `registerPasskey` from `@dynamic-labs-sdk/client`. Call `mutate()`
704
+ * to prompt the device's WebAuthn flow; the resolved `data` is the
705
+ * registration response.
706
+ *
707
+ * @example
708
+ * ```tsx
709
+ * const { mutate: registerPasskey, isPending } = useRegisterPasskey();
710
+ * <button onClick={() => registerPasskey()} disabled={isPending}>
711
+ * Add passkey
712
+ * </button>
713
+ * ```
714
+ */
715
+ const useRegisterPasskey = ({ mutateParams } = {}) => useBaseMutation({
716
+ mutateParams,
717
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.registerPasskey)(variables, client)
718
+ });
719
+
720
+ //#endregion
721
+ //#region src/hooks/useRegisterTotpMfaDevice/useRegisterTotpMfaDevice.ts
722
+ /**
723
+ * Registers a new TOTP MFA device for the current user.
724
+ *
725
+ * Wraps `registerTotpMfaDevice` from `@dynamic-labs-sdk/client`. Takes no
726
+ * arguments — call `mutate()` to start enrollment; the resolved `data`
727
+ * contains the secret/URI used to render the authenticator QR code.
728
+ *
729
+ * @example
730
+ * ```tsx
731
+ * const { mutate: registerTotp, data, isPending } = useRegisterTotpMfaDevice();
732
+ * <button onClick={() => registerTotp()} disabled={isPending}>
733
+ * Add authenticator app
734
+ * </button>
735
+ * ```
736
+ */
737
+ const useRegisterTotpMfaDevice = ({ mutateParams } = {}) => useBaseMutation({
738
+ mutateParams,
739
+ mutationFn: ({ client }) => (0, _dynamic_labs_sdk_client.registerTotpMfaDevice)(client)
740
+ });
741
+
742
+ //#endregion
743
+ //#region src/hooks/useRemoveWalletAccount/useRemoveWalletAccount.ts
744
+ /**
745
+ * Removes a wallet account from the current user.
746
+ *
747
+ * Wraps `removeWalletAccount` from `@dynamic-labs-sdk/client`. Call
748
+ * `mutate({ walletAccount })` to disconnect/unlink the account; the
749
+ * resolved `data` is `void`.
750
+ *
751
+ * @example
752
+ * ```tsx
753
+ * const { mutate: removeWallet, isPending } = useRemoveWalletAccount();
754
+ * <button
755
+ * onClick={() => removeWallet({ walletAccount })}
756
+ * disabled={isPending}
757
+ * >
758
+ * Remove wallet
759
+ * </button>
760
+ * ```
761
+ */
762
+ const useRemoveWalletAccount = ({ mutateParams } = {}) => useBaseMutation({
763
+ mutateParams,
764
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.removeWalletAccount)(variables, client)
765
+ });
766
+
767
+ //#endregion
768
+ //#region src/hooks/useRevokeRegisteredDevice/useRevokeRegisteredDevice.ts
769
+ /**
770
+ * Revokes a previously registered device.
771
+ *
772
+ * Wraps `revokeRegisteredDevice` from `@dynamic-labs-sdk/client`. Call
773
+ * `mutate({ deviceRegistrationId })` with the id of the device to revoke
774
+ * (e.g. one returned by {@link useRegisteredDevices}); the resolved `data`
775
+ * is `void`.
776
+ *
777
+ * @example
778
+ * ```tsx
779
+ * const { mutate: revokeDevice, isPending } = useRevokeRegisteredDevice();
780
+ * <button
781
+ * onClick={() => revokeDevice({ deviceRegistrationId })}
782
+ * disabled={isPending}
783
+ * >
784
+ * Revoke device
785
+ * </button>
786
+ * ```
787
+ */
788
+ const useRevokeRegisteredDevice = ({ mutateParams } = {}) => useBaseMutation({
789
+ mutateParams,
790
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.revokeRegisteredDevice)(variables, client)
791
+ });
792
+
793
+ //#endregion
794
+ //#region src/hooks/useSendEmailOtp/useSendEmailOtp.ts
795
+ /**
796
+ * Sends a one-time password to an email address.
797
+ *
798
+ * Wraps `sendEmailOTP` from `@dynamic-labs-sdk/client`. Call
799
+ * `mutate({ email })` to dispatch the code; the resolved `data` is the
800
+ * `OTPVerification` payload to hand to {@link useVerifyOtp} once the user
801
+ * enters the code they received.
802
+ *
803
+ * @example
804
+ * ```tsx
805
+ * const { mutate: sendEmailOtp, data: otpVerification, isPending } =
806
+ * useSendEmailOtp();
807
+ * <button
808
+ * onClick={() => sendEmailOtp({ email: 'velma@mystery.inc' })}
809
+ * disabled={isPending}
810
+ * >
811
+ * Email me a code
812
+ * </button>
813
+ * ```
814
+ */
815
+ const useSendEmailOtp = ({ mutateParams } = {}) => useBaseMutation({
816
+ mutateParams,
817
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.sendEmailOTP)(variables, client)
818
+ });
819
+
820
+ //#endregion
821
+ //#region src/hooks/useSendSmsOtp/useSendSmsOtp.ts
822
+ /**
823
+ * Sends a one-time password to a phone number via SMS.
824
+ *
825
+ * Wraps `sendSmsOTP` from `@dynamic-labs-sdk/client`. Call
826
+ * `mutate({ isoCountryCode, phoneNumber })` to dispatch the code; the
827
+ * resolved `data` is the `OTPVerification` payload to hand to
828
+ * {@link useVerifyOtp} once the user enters the code they received.
829
+ *
830
+ * @example
831
+ * ```tsx
832
+ * const { mutate: sendSmsOtp, data: otpVerification, isPending } =
833
+ * useSendSmsOtp();
834
+ * <button
835
+ * onClick={() =>
836
+ * sendSmsOtp({ isoCountryCode: 'US', phoneNumber: '5550100' })
837
+ * }
838
+ * disabled={isPending}
839
+ * >
840
+ * Text me a code
841
+ * </button>
842
+ * ```
843
+ */
844
+ const useSendSmsOtp = ({ mutateParams } = {}) => useBaseMutation({
845
+ mutateParams,
846
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.sendSmsOTP)(variables, client)
847
+ });
113
848
 
114
849
  //#endregion
115
850
  //#region src/hooks/useSessionExpiresAt/useSessionExpiresAt.ts
@@ -118,16 +853,229 @@ const useNetworksData = () => useBaseState("projectSettingsChanged", (client) =>
118
853
  *
119
854
  * Re-renders when the user changes (which includes session updates).
120
855
  */
121
- const useSessionExpiresAt = () => useBaseState("userChanged", (client) => client.sessionExpiresAt);
856
+ const useSessionExpiresAt = () => useBaseState({
857
+ defaultValue: null,
858
+ event: "userChanged",
859
+ queryKey: ["useSessionExpiresAt"],
860
+ selector: (client) => client.sessionExpiresAt
861
+ });
122
862
 
123
863
  //#endregion
124
- //#region src/hooks/useSocialAccounts/useSocialAccounts.ts
864
+ //#region src/hooks/useSetDefaultMfaDevice/useSetDefaultMfaDevice.ts
125
865
  /**
126
- * Returns the current user's linked social accounts.
866
+ * Sets the current user's default MFA device.
127
867
  *
128
- * Re-renders when the user changes.
868
+ * Wraps `setDefaultMfaDevice` from `@dynamic-labs-sdk/client`. Call
869
+ * `mutate({ deviceId })` to designate the device used for MFA challenges.
870
+ *
871
+ * @example
872
+ * ```tsx
873
+ * const { mutate: setDefaultDevice, isPending } = useSetDefaultMfaDevice();
874
+ * <button onClick={() => setDefaultDevice({ deviceId })} disabled={isPending}>
875
+ * Make default
876
+ * </button>
877
+ * ```
878
+ */
879
+ const useSetDefaultMfaDevice = ({ mutateParams } = {}) => useBaseMutation({
880
+ mutateParams,
881
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.setDefaultMfaDevice)(variables, client)
882
+ });
883
+
884
+ //#endregion
885
+ //#region src/hooks/useSignInWithPasskey/useSignInWithPasskey.ts
886
+ /**
887
+ * Signs the user in with a previously registered passkey.
888
+ *
889
+ * Wraps `signInWithPasskey` from `@dynamic-labs-sdk/client`. Call `mutate()`
890
+ * to start the WebAuthn authentication; the resolved `data` is the
891
+ * authentication response.
892
+ *
893
+ * @example
894
+ * ```tsx
895
+ * const { mutate: signInWithPasskey, isPending } = useSignInWithPasskey();
896
+ * <button onClick={() => signInWithPasskey()} disabled={isPending}>
897
+ * Sign in with passkey
898
+ * </button>
899
+ * ```
900
+ */
901
+ const useSignInWithPasskey = ({ mutateParams } = {}) => useBaseMutation({
902
+ mutateParams,
903
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.signInWithPasskey)(variables, client)
904
+ });
905
+
906
+ //#endregion
907
+ //#region src/hooks/useSignMessage/useSignMessage.ts
908
+ /**
909
+ * Signs an arbitrary message with a wallet account.
910
+ *
911
+ * Wraps `signMessage` from `@dynamic-labs-sdk/client`. Call
912
+ * `mutate({ walletAccount, message })` to trigger the signature flow —
913
+ * the wallet provider will prompt the user via its native UI.
914
+ *
915
+ * @example
916
+ * ```tsx
917
+ * const { mutate: signMessage, data, isPending } = useSignMessage();
918
+ * <button
919
+ * onClick={() => signMessage({ message: 'gm', walletAccount })}
920
+ * disabled={isPending}
921
+ * >
922
+ * Sign
923
+ * </button>
924
+ * ```
925
+ */
926
+ const useSignMessage = ({ mutateParams } = {}) => useBaseMutation({
927
+ mutateParams,
928
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.signMessage)(variables, client)
929
+ });
930
+
931
+ //#endregion
932
+ //#region src/hooks/useSwitchActiveNetwork/useSwitchActiveNetwork.ts
933
+ /**
934
+ * Switches the active network for a wallet account.
935
+ *
936
+ * Wraps `switchActiveNetwork` from `@dynamic-labs-sdk/client`. Call
937
+ * `mutate({ networkId, walletAccount })` to request the switch — the
938
+ * wallet provider may prompt the user to approve adding/changing the
939
+ * chain via its native UI.
940
+ *
941
+ * @example
942
+ * ```tsx
943
+ * const { mutate: switchNetwork, isPending } = useSwitchActiveNetwork();
944
+ * <button
945
+ * onClick={() => switchNetwork({ networkId: 1, walletAccount })}
946
+ * disabled={isPending}
947
+ * >
948
+ * Switch to Ethereum
949
+ * </button>
950
+ * ```
951
+ */
952
+ const useSwitchActiveNetwork = ({ mutateParams } = {}) => useBaseMutation({
953
+ mutateParams,
954
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.switchActiveNetwork)(variables, client)
955
+ });
956
+
957
+ //#endregion
958
+ //#region src/hooks/useTokenBalances/useTokenBalances.ts
959
+ /**
960
+ * Returns the ERC-20-style token balances for a wallet account on a single
961
+ * chain.
962
+ *
963
+ * Wraps `getTokenBalances` from `@dynamic-labs-sdk/client`. The hook stays
964
+ * disabled until `walletAccount` is defined.
965
+ *
966
+ * For native-only balance use {@link useNativeBalance}; for a multi-chain
967
+ * portfolio use {@link useMultichainTokenBalances}.
968
+ *
969
+ * @example
970
+ * ```tsx
971
+ * const { data, isLoading, refetch } = useTokenBalances({ walletAccount });
972
+ * ```
129
973
  */
130
- const useSocialAccounts = () => useBaseState("userChanged", (client) => (0, _dynamic_labs_sdk_client.getUserSocialAccounts)(client));
974
+ const useTokenBalances = ({ walletAccount, queryParams, ...rest }) => useBaseQuery({
975
+ enabled: walletAccount !== void 0,
976
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getTokenBalances)({
977
+ walletAccount,
978
+ ...rest
979
+ }, client),
980
+ queryKey: [
981
+ "useTokenBalances",
982
+ walletAccount?.id,
983
+ rest
984
+ ],
985
+ queryParams
986
+ });
987
+
988
+ //#endregion
989
+ //#region src/hooks/useTransactionHistory/useTransactionHistory.ts
990
+ /**
991
+ * Returns the transaction history for a given wallet address, chain, and
992
+ * network.
993
+ *
994
+ * Wraps `getTransactionHistory` from `@dynamic-labs-sdk/client`. The hook
995
+ * stays disabled until `address`, `chain`, and `networkId` are all
996
+ * defined. Pagination is driven by `offset` — callers can swap in a new
997
+ * `offset` to fetch the next page (each unique key produces its own cache
998
+ * entry).
999
+ *
1000
+ * @example
1001
+ * ```tsx
1002
+ * const { data, isLoading, refetch } = useTransactionHistory({
1003
+ * address,
1004
+ * chain,
1005
+ * networkId,
1006
+ * });
1007
+ * ```
1008
+ */
1009
+ const useTransactionHistory = ({ address, chain, networkId, queryParams, ...rest }) => useBaseQuery({
1010
+ enabled: address !== void 0 && chain !== void 0 && networkId !== void 0,
1011
+ queryFn: (client) => (0, _dynamic_labs_sdk_client.getTransactionHistory)({
1012
+ address,
1013
+ chain,
1014
+ networkId,
1015
+ ...rest
1016
+ }, client),
1017
+ queryKey: [
1018
+ "useTransactionHistory",
1019
+ address,
1020
+ chain,
1021
+ networkId,
1022
+ rest
1023
+ ],
1024
+ queryParams
1025
+ });
1026
+
1027
+ //#endregion
1028
+ //#region src/hooks/useUnlinkSocialAccount/useUnlinkSocialAccount.ts
1029
+ /**
1030
+ * Unlinks a social account from the current user.
1031
+ *
1032
+ * Wraps `unlinkSocialAccount` from `@dynamic-labs-sdk/client`. Call
1033
+ * `mutate({ verifiedCredentialId })` with the id of the social credential
1034
+ * to remove (e.g. from {@link useUserSocialAccounts}); the resolved `data`
1035
+ * is the updated `VerifyResponse`.
1036
+ *
1037
+ * @example
1038
+ * ```tsx
1039
+ * const { mutate: unlinkSocial, isPending } = useUnlinkSocialAccount();
1040
+ * <button
1041
+ * onClick={() => unlinkSocial({ verifiedCredentialId })}
1042
+ * disabled={isPending}
1043
+ * >
1044
+ * Disconnect
1045
+ * </button>
1046
+ * ```
1047
+ */
1048
+ const useUnlinkSocialAccount = ({ mutateParams } = {}) => useBaseMutation({
1049
+ mutateParams,
1050
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.unlinkSocialAccount)(variables, client)
1051
+ });
1052
+
1053
+ //#endregion
1054
+ //#region src/hooks/useUpdateUser/useUpdateUser.ts
1055
+ /**
1056
+ * Updates the current user's profile information.
1057
+ *
1058
+ * Wraps `updateUser` from `@dynamic-labs-sdk/client`. Call
1059
+ * `mutate({ userFields })` to push the new values; if a sensitive field
1060
+ * (email, phone) changed the resolved `data` will contain an
1061
+ * `OTPVerification` payload the caller needs to follow up on, otherwise
1062
+ * `data` is `undefined`.
1063
+ *
1064
+ * @example
1065
+ * ```tsx
1066
+ * const { mutate: updateUser, data: otp, isPending } = useUpdateUser();
1067
+ * <button
1068
+ * onClick={() => updateUser({ userFields: { firstName: 'Velma' } })}
1069
+ * disabled={isPending}
1070
+ * >
1071
+ * Save
1072
+ * </button>
1073
+ * ```
1074
+ */
1075
+ const useUpdateUser = ({ mutateParams } = {}) => useBaseMutation({
1076
+ mutateParams,
1077
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.updateUser)(variables, client)
1078
+ });
131
1079
 
132
1080
  //#endregion
133
1081
  //#region src/hooks/useUser/useUser.ts
@@ -136,25 +1084,102 @@ const useSocialAccounts = () => useBaseState("userChanged", (client) => (0, _dyn
136
1084
  *
137
1085
  * Re-renders when the user changes (login, logout, profile update).
138
1086
  */
139
- const useUser = () => useBaseState("userChanged", (client) => client.user);
1087
+ const useUser = () => useBaseState({
1088
+ defaultValue: null,
1089
+ event: "userChanged",
1090
+ queryKey: ["useUser"],
1091
+ selector: (client) => client.user
1092
+ });
140
1093
 
141
1094
  //#endregion
142
- //#region src/hooks/useWalletAccounts/useWalletAccounts.ts
1095
+ //#region src/hooks/useUserSocialAccounts/useUserSocialAccounts.ts
143
1096
  /**
144
- * Returns all wallet accounts connected to the current user.
1097
+ * Returns the current user's linked social accounts.
145
1098
  *
146
- * Re-renders when wallet accounts change (connect, disconnect, verify).
1099
+ * Re-renders when the user changes.
147
1100
  */
148
- const useWalletAccounts = () => useBaseState("walletAccountsChanged", (client) => (0, _dynamic_labs_sdk_client.getWalletAccounts)(client));
1101
+ const useUserSocialAccounts = () => useBaseState({
1102
+ defaultValue: [],
1103
+ event: "userChanged",
1104
+ queryKey: ["useUserSocialAccounts"],
1105
+ selector: (client) => (0, _dynamic_labs_sdk_client.getUserSocialAccounts)(client)
1106
+ });
149
1107
 
150
1108
  //#endregion
151
- //#region src/hooks/useAvailableWalletProvidersData/useAvailableWalletProvidersData.ts
1109
+ //#region src/hooks/useVerifyOtp/useVerifyOtp.ts
152
1110
  /**
153
- * Returns the available wallet providers and their data.
1111
+ * Verifies a one-time password the user received via email or SMS.
154
1112
  *
155
- * Re-renders when a wallet provider changes (e.g. network switch).
1113
+ * Wraps `verifyOTP` from `@dynamic-labs-sdk/client`. Call
1114
+ * `mutate({ otpVerification, verificationToken })` with the
1115
+ * `OTPVerification` returned by {@link useSendEmailOtp} /
1116
+ * {@link useSendSmsOtp} and the code the user entered. A single hook
1117
+ * covers both flows — `verifyOTP` resolves sign-in vs. user-update
1118
+ * internally based on the current session.
1119
+ *
1120
+ * @example
1121
+ * ```tsx
1122
+ * const { mutate: verifyOtp, isPending } = useVerifyOtp();
1123
+ * <button
1124
+ * onClick={() => verifyOtp({ otpVerification, verificationToken: code })}
1125
+ * disabled={isPending}
1126
+ * >
1127
+ * Verify
1128
+ * </button>
1129
+ * ```
156
1130
  */
157
- const useAvailableWalletProvidersData = () => useBaseState("walletProviderChanged", (client) => (0, _dynamic_labs_sdk_client.getAvailableWalletProvidersData)(client));
1131
+ const useVerifyOtp = ({ mutateParams } = {}) => useBaseMutation({
1132
+ mutateParams,
1133
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.verifyOTP)(variables, client)
1134
+ });
1135
+
1136
+ //#endregion
1137
+ //#region src/hooks/useVerifyWalletAccount/useVerifyWalletAccount.ts
1138
+ /**
1139
+ * Verifies ownership of a wallet account and adds it to the user's profile.
1140
+ *
1141
+ * Wraps `verifyWalletAccount` from `@dynamic-labs-sdk/client`. Call
1142
+ * `mutate({ walletAccount })` to trigger the verification flow — the
1143
+ * wallet provider will prompt the user to sign a proof-of-ownership
1144
+ * message. On success, `data` resolves to the verified
1145
+ * {@link WalletAccount}.
1146
+ *
1147
+ * Throws `WalletAccountAlreadyVerifiedError` if the wallet is already
1148
+ * verified, or `WalletAlreadyLinkedToAnotherUserError` if the wallet is
1149
+ * linked to a different user — both surface through `error`.
1150
+ *
1151
+ * @example
1152
+ * ```tsx
1153
+ * const { mutate: verifyWalletAccount, isPending } = useVerifyWalletAccount();
1154
+ * <button
1155
+ * onClick={() => verifyWalletAccount({ walletAccount })}
1156
+ * disabled={isPending}
1157
+ * >
1158
+ * Verify
1159
+ * </button>
1160
+ * ```
1161
+ */
1162
+ const useVerifyWalletAccount = ({ mutateParams } = {}) => useBaseMutation({
1163
+ mutateParams,
1164
+ mutationFn: ({ client, variables }) => (0, _dynamic_labs_sdk_client.verifyWalletAccount)(variables, client)
1165
+ });
1166
+
1167
+ //#endregion
1168
+ //#region src/hooks/useWalletAccounts/useWalletAccounts.ts
1169
+ /**
1170
+ * Returns all wallet accounts connected to the current user.
1171
+ *
1172
+ * Re-renders when wallet accounts change (connect, disconnect, verify).
1173
+ */
1174
+ const useWalletAccounts = () => useBaseState({
1175
+ defaultValue: [],
1176
+ event: {
1177
+ userChanged: true,
1178
+ walletAccountsChanged: true
1179
+ },
1180
+ queryKey: ["useWalletAccounts"],
1181
+ selector: (client) => (0, _dynamic_labs_sdk_client.getWalletAccounts)(client)
1182
+ });
158
1183
 
159
1184
  //#endregion
160
1185
  //#region src/exports/index.ts
@@ -162,13 +1187,48 @@ const useAvailableWalletProvidersData = () => useBaseState("walletProviderChange
162
1187
 
163
1188
  //#endregion
164
1189
  exports.DynamicProvider = DynamicProvider;
1190
+ exports.useAuthenticateMfaRecoveryCode = useAuthenticateMfaRecoveryCode;
1191
+ exports.useAuthenticatePasskeyMfa = useAuthenticatePasskeyMfa;
1192
+ exports.useAuthenticateTotpMfaDevice = useAuthenticateTotpMfaDevice;
165
1193
  exports.useAvailableWalletProvidersData = useAvailableWalletProvidersData;
1194
+ exports.useConsumeMfaToken = useConsumeMfaToken;
1195
+ exports.useCreateNewMfaRecoveryCodes = useCreateNewMfaRecoveryCodes;
1196
+ exports.useDeleteMfaDevice = useDeleteMfaDevice;
1197
+ exports.useDeletePasskey = useDeletePasskey;
1198
+ exports.useDeleteUser = useDeleteUser;
166
1199
  exports.useDynamicClient = useDynamicClient;
167
1200
  exports.useEvent = useEvent;
168
1201
  exports.useInitStatus = useInitStatus;
1202
+ exports.useIsCaptchaRequired = useIsCaptchaRequired;
1203
+ exports.useIsUserMissingMfaAuth = useIsUserMissingMfaAuth;
1204
+ exports.useIsUserOnboardingComplete = useIsUserOnboardingComplete;
1205
+ exports.useLogout = useLogout;
1206
+ exports.useMfaDevices = useMfaDevices;
1207
+ exports.useMfaMethods = useMfaMethods;
1208
+ exports.useMfaRecoveryCodes = useMfaRecoveryCodes;
1209
+ exports.useMultichainTokenBalances = useMultichainTokenBalances;
1210
+ exports.useNativeBalance = useNativeBalance;
169
1211
  exports.useNetworksData = useNetworksData;
1212
+ exports.usePasskeys = usePasskeys;
1213
+ exports.useRegisterPasskey = useRegisterPasskey;
1214
+ exports.useRegisterTotpMfaDevice = useRegisterTotpMfaDevice;
1215
+ exports.useRegisteredDevices = useRegisteredDevices;
1216
+ exports.useRemoveWalletAccount = useRemoveWalletAccount;
1217
+ exports.useRevokeRegisteredDevice = useRevokeRegisteredDevice;
1218
+ exports.useSendEmailOtp = useSendEmailOtp;
1219
+ exports.useSendSmsOtp = useSendSmsOtp;
170
1220
  exports.useSessionExpiresAt = useSessionExpiresAt;
171
- exports.useSocialAccounts = useSocialAccounts;
1221
+ exports.useSetDefaultMfaDevice = useSetDefaultMfaDevice;
1222
+ exports.useSignInWithPasskey = useSignInWithPasskey;
1223
+ exports.useSignMessage = useSignMessage;
1224
+ exports.useSwitchActiveNetwork = useSwitchActiveNetwork;
1225
+ exports.useTokenBalances = useTokenBalances;
1226
+ exports.useTransactionHistory = useTransactionHistory;
1227
+ exports.useUnlinkSocialAccount = useUnlinkSocialAccount;
1228
+ exports.useUpdateUser = useUpdateUser;
172
1229
  exports.useUser = useUser;
1230
+ exports.useUserSocialAccounts = useUserSocialAccounts;
1231
+ exports.useVerifyOtp = useVerifyOtp;
1232
+ exports.useVerifyWalletAccount = useVerifyWalletAccount;
173
1233
  exports.useWalletAccounts = useWalletAccounts;
174
1234
  //# sourceMappingURL=index.cjs.map