@privy-io/react-auth 3.51.0 → 3.51.2

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 (1153) hide show
  1. package/dist/cjs/AccountNotFoundScreen-D6UwVpQs.js +2 -0
  2. package/dist/cjs/AccountNotFoundScreen-D6UwVpQs.js.map +1 -0
  3. package/dist/cjs/AddFundsSelectionScreen-KNEhtRzB.js +8 -0
  4. package/dist/cjs/AddFundsSelectionScreen-KNEhtRzB.js.map +1 -0
  5. package/dist/cjs/Address-DCFJz0tj.js +18 -0
  6. package/dist/cjs/Address-DCFJz0tj.js.map +1 -0
  7. package/dist/cjs/AffirmativeConsentScreen-wOTmYPkN.js +7 -0
  8. package/dist/cjs/AffirmativeConsentScreen-wOTmYPkN.js.map +1 -0
  9. package/dist/cjs/AllowlistRejectionScreen-CXoMtGQc.js +2 -0
  10. package/dist/cjs/AllowlistRejectionScreen-CXoMtGQc.js.map +1 -0
  11. package/dist/cjs/AuthenticateWithWalletScreen-RCpLubVb.js +2 -0
  12. package/dist/cjs/AuthenticateWithWalletScreen-RCpLubVb.js.map +1 -0
  13. package/dist/cjs/AwaitingEvmToSolBridgingScreen-CzSx5iY7.js +3 -0
  14. package/dist/cjs/AwaitingEvmToSolBridgingScreen-CzSx5iY7.js.map +1 -0
  15. package/dist/cjs/AwaitingExternalEthereumTransferScreen-CRIWcQPR.js +3 -0
  16. package/dist/cjs/AwaitingExternalEthereumTransferScreen-CRIWcQPR.js.map +1 -0
  17. package/dist/cjs/AwaitingPasswordlessCodeScreen-Bshk1k0S.js +104 -0
  18. package/dist/cjs/AwaitingPasswordlessCodeScreen-Bshk1k0S.js.map +1 -0
  19. package/dist/cjs/AwaitingSolToEvmBridgingScreen-Cn6qxcAa.js +3 -0
  20. package/dist/cjs/AwaitingSolToEvmBridgingScreen-Cn6qxcAa.js.map +1 -0
  21. package/dist/cjs/BridgeNetworkSelectionView-jTCBD9rN.js +69 -0
  22. package/dist/cjs/BridgeNetworkSelectionView-jTCBD9rN.js.map +1 -0
  23. package/dist/cjs/CaptchaScreen-BoZO2pQo.js +2 -0
  24. package/dist/cjs/CaptchaScreen-BoZO2pQo.js.map +1 -0
  25. package/dist/cjs/CoinbaseOnrampStatusScreen-D7m-a1fU.js +17 -0
  26. package/dist/cjs/CoinbaseOnrampStatusScreen-D7m-a1fU.js.map +1 -0
  27. package/dist/cjs/ConnectEmailForm-OdIWU636.js +4 -0
  28. package/dist/cjs/ConnectEmailForm-OdIWU636.js.map +1 -0
  29. package/dist/cjs/ConnectLedgerScreen-GXLAnLeA.js +10 -0
  30. package/dist/cjs/ConnectLedgerScreen-GXLAnLeA.js.map +1 -0
  31. package/dist/cjs/ConnectOnlyLandingScreen-CPJ0tQeG.js +2 -0
  32. package/dist/cjs/ConnectOnlyLandingScreen-CPJ0tQeG.js.map +1 -0
  33. package/dist/cjs/ConnectOnlyStatusScreen-BQdPUxhi.js +2 -0
  34. package/dist/cjs/ConnectOnlyStatusScreen-BQdPUxhi.js.map +1 -0
  35. package/dist/cjs/ConnectOrCreateScreen-DQsmK25z.js +2 -0
  36. package/dist/cjs/ConnectOrCreateScreen-DQsmK25z.js.map +1 -0
  37. package/dist/cjs/ConnectPhoneForm-Buf0_dZd.js +96 -0
  38. package/dist/cjs/ConnectPhoneForm-Buf0_dZd.js.map +1 -0
  39. package/dist/cjs/ConnectWalletView-B7o8TZW-.js +75 -0
  40. package/dist/cjs/ConnectWalletView-B7o8TZW-.js.map +1 -0
  41. package/dist/cjs/ConnectionStatusScreen-Dq0QmLKt.js +8 -0
  42. package/dist/cjs/ConnectionStatusScreen-Dq0QmLKt.js.map +1 -0
  43. package/dist/cjs/CrossAppAuthScreen-4Yxj7z3M.js +2 -0
  44. package/dist/cjs/CrossAppAuthScreen-4Yxj7z3M.js.map +1 -0
  45. package/dist/cjs/CustomLandingScreenView-C2W4_VmT.js +24 -0
  46. package/dist/cjs/CustomLandingScreenView-C2W4_VmT.js.map +1 -0
  47. package/dist/cjs/DelegatedActionsConsentScreen-CrdX1GPr.js +2 -0
  48. package/dist/cjs/DelegatedActionsConsentScreen-CrdX1GPr.js.map +1 -0
  49. package/dist/cjs/DelegatedActionsRevokeScreen-B1kUhBNB.js +2 -0
  50. package/dist/cjs/DelegatedActionsRevokeScreen-B1kUhBNB.js.map +1 -0
  51. package/dist/cjs/DepositAddressAddressStepView-CeQuHd4N.js +188 -0
  52. package/dist/cjs/DepositAddressAddressStepView-CeQuHd4N.js.map +1 -0
  53. package/dist/cjs/DepositAddressScreen-DlnZwpnq.js +9 -0
  54. package/dist/cjs/DepositAddressScreen-DlnZwpnq.js.map +1 -0
  55. package/dist/cjs/DepositAddressV3Screen-BT5IXMS-.js +2 -0
  56. package/dist/cjs/DepositAddressV3Screen-BT5IXMS-.js.map +1 -0
  57. package/dist/cjs/EmbeddedWalletConnectingScreen-BSTWROX4.js +2 -0
  58. package/dist/cjs/EmbeddedWalletConnectingScreen-BSTWROX4.js.map +1 -0
  59. package/dist/cjs/EmbeddedWalletCreatedScreen-TVVhR1ka.js +2 -0
  60. package/dist/cjs/EmbeddedWalletCreatedScreen-TVVhR1ka.js.map +1 -0
  61. package/dist/cjs/EmbeddedWalletKeyExportScreen-X5O67LAc.js +25 -0
  62. package/dist/cjs/EmbeddedWalletKeyExportScreen-X5O67LAc.js.map +1 -0
  63. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-DyEdq-E9.js +2 -0
  64. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-DyEdq-E9.js.map +1 -0
  65. package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-u2LR6Wwo.js +2 -0
  66. package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-u2LR6Wwo.js.map +1 -0
  67. package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-DtCtlRHY.js +2 -0
  68. package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-DtCtlRHY.js.map +1 -0
  69. package/dist/cjs/EnrollTotp-9t9g3RU7.js +64 -0
  70. package/dist/cjs/EnrollTotp-9t9g3RU7.js.map +1 -0
  71. package/dist/cjs/ErrorScreen-DfSNalzQ.js +5 -0
  72. package/dist/cjs/ErrorScreen-DfSNalzQ.js.map +1 -0
  73. package/dist/cjs/FarcasterConnectStatusScreen-v6RvWhGH.js +77 -0
  74. package/dist/cjs/FarcasterConnectStatusScreen-v6RvWhGH.js.map +1 -0
  75. package/dist/cjs/FarcasterSignerStatusScreen-ClF5T28q.js +30 -0
  76. package/dist/cjs/FarcasterSignerStatusScreen-ClF5T28q.js.map +1 -0
  77. package/dist/cjs/FiatOnrampScreen-CEIedctu.js +579 -0
  78. package/dist/cjs/FiatOnrampScreen-CEIedctu.js.map +1 -0
  79. package/dist/cjs/FundSolWalletWithExternalSolanaWallet-CZzm5m4s.js +3 -0
  80. package/dist/cjs/FundSolWalletWithExternalSolanaWallet-CZzm5m4s.js.map +1 -0
  81. package/dist/cjs/FundWalletMethodHeader-S5EsFSYj.js +2 -0
  82. package/dist/cjs/FundWalletMethodHeader-S5EsFSYj.js.map +1 -0
  83. package/dist/cjs/FundWithBankDepositScreen-MQj1FrYj.js +59 -0
  84. package/dist/cjs/FundWithBankDepositScreen-MQj1FrYj.js.map +1 -0
  85. package/dist/cjs/FundingEditAmountScreen-CKr83IBo.js +2 -0
  86. package/dist/cjs/FundingEditAmountScreen-CKr83IBo.js.map +1 -0
  87. package/dist/cjs/FundingMethodSelectionScreen-r46-Bn09.js +2 -0
  88. package/dist/cjs/FundingMethodSelectionScreen-r46-Bn09.js.map +1 -0
  89. package/dist/cjs/InAppBrowserLoginNotPossible-DTanJ3i7.js +2 -0
  90. package/dist/cjs/InAppBrowserLoginNotPossible-DTanJ3i7.js.map +1 -0
  91. package/dist/cjs/InstallWalletScreen-CmSNJe_0.js +2 -0
  92. package/dist/cjs/InstallWalletScreen-CmSNJe_0.js.map +1 -0
  93. package/dist/cjs/LandingScreen-Crbz1FUT.js +2 -0
  94. package/dist/cjs/LandingScreen-Crbz1FUT.js.map +1 -0
  95. package/dist/cjs/LinkConflictScreen-B_zSMO0L.js +78 -0
  96. package/dist/cjs/LinkConflictScreen-B_zSMO0L.js.map +1 -0
  97. package/dist/cjs/LinkEmailScreen-DtPj2dqa.js +2 -0
  98. package/dist/cjs/LinkEmailScreen-DtPj2dqa.js.map +1 -0
  99. package/dist/cjs/LinkPasskeyScreen-DNnql5je.js +118 -0
  100. package/dist/cjs/LinkPasskeyScreen-DNnql5je.js.map +1 -0
  101. package/dist/cjs/LinkPhoneScreen-BCUnvsFF.js +2 -0
  102. package/dist/cjs/LinkPhoneScreen-BCUnvsFF.js.map +1 -0
  103. package/dist/cjs/LoginFailedScreen-6YUo8JdL.js +2 -0
  104. package/dist/cjs/LoginFailedScreen-6YUo8JdL.js.map +1 -0
  105. package/dist/cjs/ManualTransferScreen-Ba9HxmU9.js +2 -0
  106. package/dist/cjs/ManualTransferScreen-Ba9HxmU9.js.map +1 -0
  107. package/dist/cjs/MfaAuthEnrollmentFlowScreen-Knc5AwxE.js +2 -0
  108. package/dist/cjs/MfaAuthEnrollmentFlowScreen-Knc5AwxE.js.map +1 -0
  109. package/dist/cjs/MfaAuthVerifyFlowScreen-CvQ6Son_.js +2 -0
  110. package/dist/cjs/MfaAuthVerifyFlowScreen-CvQ6Son_.js.map +1 -0
  111. package/dist/cjs/MfaEnrollmentFlowScreen-B7cMLD7z.js +2 -0
  112. package/dist/cjs/MfaEnrollmentFlowScreen-B7cMLD7z.js.map +1 -0
  113. package/dist/cjs/MfaVerifyFlowScreen-sJLViuwT.js +2 -0
  114. package/dist/cjs/MfaVerifyFlowScreen-sJLViuwT.js.map +1 -0
  115. package/dist/cjs/ModalFooter-CUvbSGii.js +40 -0
  116. package/dist/cjs/ModalFooter-CUvbSGii.js.map +1 -0
  117. package/dist/cjs/ModalHeader-C91zDHKW.js +369 -0
  118. package/dist/cjs/ModalHeader-C91zDHKW.js.map +1 -0
  119. package/dist/cjs/MoonpayStatusScreen-BKAespjf.js +17 -0
  120. package/dist/cjs/MoonpayStatusScreen-BKAespjf.js.map +1 -0
  121. package/dist/cjs/OAuthStatusScreen-D-9kiT_c.js +2 -0
  122. package/dist/cjs/OAuthStatusScreen-D-9kiT_c.js.map +1 -0
  123. package/dist/cjs/PasskeySelectSignupOrLogin-D_J28Tlc.js +2 -0
  124. package/dist/cjs/PasskeySelectSignupOrLogin-D_J28Tlc.js.map +1 -0
  125. package/dist/cjs/PasskeyStatusScreen-BBVu-fNB.js +4 -0
  126. package/dist/cjs/PasskeyStatusScreen-BBVu-fNB.js.map +1 -0
  127. package/dist/cjs/PasswordRecoveryScreen-D1zVAr9M.js +21 -0
  128. package/dist/cjs/PasswordRecoveryScreen-D1zVAr9M.js.map +1 -0
  129. package/dist/cjs/QrCode-C29xM8iH.js +17 -0
  130. package/dist/cjs/QrCode-C29xM8iH.js.map +1 -0
  131. package/dist/cjs/RecoveryOAuthStatusScreen-DTXFTTcL.js +2 -0
  132. package/dist/cjs/RecoveryOAuthStatusScreen-DTXFTTcL.js.map +1 -0
  133. package/dist/cjs/RecoveryPasswordCreateScreen-B0Vz0ksF.js +2 -0
  134. package/dist/cjs/RecoveryPasswordCreateScreen-B0Vz0ksF.js.map +1 -0
  135. package/dist/cjs/RecoverySelectionScreen-quQfOHS_.js +8 -0
  136. package/dist/cjs/RecoverySelectionScreen-quQfOHS_.js.map +1 -0
  137. package/dist/cjs/Screen-DnoWy2oX.js +184 -0
  138. package/dist/cjs/Screen-DnoWy2oX.js.map +1 -0
  139. package/dist/cjs/ScreenLayout-B7FJPwpt.js +2 -0
  140. package/dist/cjs/ScreenLayout-B7FJPwpt.js.map +1 -0
  141. package/dist/cjs/SelectSourceAsset-BQP6A1l5.js +141 -0
  142. package/dist/cjs/SelectSourceAsset-BQP6A1l5.js.map +1 -0
  143. package/dist/cjs/SetAutomaticRecoveryScreen-BrzlHEmG.js +15 -0
  144. package/dist/cjs/SetAutomaticRecoveryScreen-BrzlHEmG.js.map +1 -0
  145. package/dist/cjs/SetWalletPasswordForm-Dnn7KYPc.js +13 -0
  146. package/dist/cjs/SetWalletPasswordForm-Dnn7KYPc.js.map +1 -0
  147. package/dist/cjs/SignRequestScreen-D46Y9I2k.js +27 -0
  148. package/dist/cjs/SignRequestScreen-D46Y9I2k.js.map +1 -0
  149. package/dist/cjs/SkeuomorphicDebitCard-B6zXqF5G.js +150 -0
  150. package/dist/cjs/SkeuomorphicDebitCard-B6zXqF5G.js.map +1 -0
  151. package/dist/cjs/StandardSignAndSendTransactionScreen-BTGfatpH.js +21 -0
  152. package/dist/cjs/StandardSignAndSendTransactionScreen-BTGfatpH.js.map +1 -0
  153. package/dist/cjs/TelegramAuthScreen-DzsXsjWo.js +2 -0
  154. package/dist/cjs/TelegramAuthScreen-DzsXsjWo.js.map +1 -0
  155. package/dist/cjs/TransactionDetails-DQ0yjd6V.js +112 -0
  156. package/dist/cjs/TransactionDetails-DQ0yjd6V.js.map +1 -0
  157. package/dist/cjs/TransactionErrorView-MtCn9iN7.js +165 -0
  158. package/dist/cjs/TransactionErrorView-MtCn9iN7.js.map +1 -0
  159. package/dist/cjs/TransferFromWalletScreen-DvI8o9Qk.js +32 -0
  160. package/dist/cjs/TransferFromWalletScreen-DvI8o9Qk.js.map +1 -0
  161. package/dist/cjs/TransferOrBridgeLoadingScreen-CzakGSEm.js +7 -0
  162. package/dist/cjs/TransferOrBridgeLoadingScreen-CzakGSEm.js.map +1 -0
  163. package/dist/cjs/TurnstileWrapper-Dt3bJe1r.js +2 -0
  164. package/dist/cjs/TurnstileWrapper-Dt3bJe1r.js.map +1 -0
  165. package/dist/cjs/UpdateEmailScreen-Cv_H0mbm.js +2 -0
  166. package/dist/cjs/UpdateEmailScreen-Cv_H0mbm.js.map +1 -0
  167. package/dist/cjs/UpdatePhoneScreen-Q7l8yCib.js +2 -0
  168. package/dist/cjs/UpdatePhoneScreen-Q7l8yCib.js.map +1 -0
  169. package/dist/cjs/UserLimitReachedScreen-BUJ1KDkv.js +2 -0
  170. package/dist/cjs/UserLimitReachedScreen-BUJ1KDkv.js.map +1 -0
  171. package/dist/cjs/WalletInfoCard-DgiRiz5X.js +30 -0
  172. package/dist/cjs/WalletInfoCard-DgiRiz5X.js.map +1 -0
  173. package/dist/cjs/WalletInterstitialScreen-B1ytuE3o.js +2 -0
  174. package/dist/cjs/WalletInterstitialScreen-B1ytuE3o.js.map +1 -0
  175. package/dist/cjs/WalletLink-BM_Y2C9k.js +23 -0
  176. package/dist/cjs/WalletLink-BM_Y2C9k.js.map +1 -0
  177. package/dist/cjs/WalletOverflowButton-D26dcJFY.js +2 -0
  178. package/dist/cjs/WalletOverflowButton-D26dcJFY.js.map +1 -0
  179. package/dist/cjs/abstract-smart-wallets.js +1 -1
  180. package/dist/cjs/abstract-smart-wallets.js.map +1 -1
  181. package/dist/cjs/cards.js +38 -38
  182. package/dist/cjs/cards.js.map +1 -1
  183. package/dist/cjs/coinbase-XnZpcicw.js +2 -0
  184. package/dist/cjs/coinbase-XnZpcicw.js.map +1 -0
  185. package/dist/cjs/ethers-D2mV_1mL.js +2 -0
  186. package/dist/cjs/ethers-D2mV_1mL.js.map +1 -0
  187. package/dist/cjs/extended-chains.js +1 -1
  188. package/dist/cjs/extended-chains.js.map +1 -1
  189. package/dist/cjs/get-entropy-details-for-user-C9Lpqh4U.js +2 -0
  190. package/dist/cjs/get-entropy-details-for-user-C9Lpqh4U.js.map +1 -0
  191. package/dist/cjs/getErc20Balance-DOnzrdy7.js +2 -0
  192. package/dist/cjs/getErc20Balance-DOnzrdy7.js.map +1 -0
  193. package/dist/cjs/getErc20TokenInfo-BUP2AEef.js +2 -0
  194. package/dist/cjs/getErc20TokenInfo-BUP2AEef.js.map +1 -0
  195. package/dist/cjs/getUsdcMintAddress-CvOJ1GGX.js +2 -0
  196. package/dist/cjs/getUsdcMintAddress-CvOJ1GGX.js.map +1 -0
  197. package/dist/cjs/index-2O6AKfRh.js +2 -0
  198. package/dist/cjs/index-2O6AKfRh.js.map +1 -0
  199. package/dist/cjs/index-ClKujUnN.js +33 -0
  200. package/dist/cjs/index-ClKujUnN.js.map +1 -0
  201. package/dist/cjs/index-OaB9v9d-.js +13 -0
  202. package/dist/cjs/index-OaB9v9d-.js.map +1 -0
  203. package/dist/cjs/index.js +1 -1
  204. package/dist/cjs/internal.js +1 -1
  205. package/dist/cjs/internal.js.map +1 -1
  206. package/dist/cjs/prepareFundingModalData-j7O8O-ox.js +2 -0
  207. package/dist/cjs/prepareFundingModalData-j7O8O-ox.js.map +1 -0
  208. package/dist/cjs/privy-context-C5ElJwxd.js +2 -0
  209. package/dist/cjs/privy-context-C5ElJwxd.js.map +1 -0
  210. package/dist/cjs/shared-HDj4o_KN.js +194 -0
  211. package/dist/cjs/shared-HDj4o_KN.js.map +1 -0
  212. package/dist/cjs/shouldProceedtoEmbeddedWalletCreationFlow-vXwrjzpn.js +2 -0
  213. package/dist/cjs/shouldProceedtoEmbeddedWalletCreationFlow-vXwrjzpn.js.map +1 -0
  214. package/dist/cjs/simulateTransaction-YfmlFTFg.js +2 -0
  215. package/dist/cjs/simulateTransaction-YfmlFTFg.js.map +1 -0
  216. package/dist/cjs/smart-wallets-DDDxPXXW.js +2 -0
  217. package/dist/cjs/smart-wallets-DDDxPXXW.js.map +1 -0
  218. package/dist/cjs/smart-wallets.js +1 -1
  219. package/dist/cjs/smart-wallets.js.map +1 -1
  220. package/dist/cjs/solana.js +1 -1
  221. package/dist/cjs/solana.js.map +1 -1
  222. package/dist/cjs/styles-CrVMKvru.js +93 -0
  223. package/dist/cjs/styles-CrVMKvru.js.map +1 -0
  224. package/dist/cjs/styles-pSH9Wpn1.js +192 -0
  225. package/dist/cjs/styles-pSH9Wpn1.js.map +1 -0
  226. package/dist/cjs/tempo.js +1 -1
  227. package/dist/cjs/tempo.js.map +1 -1
  228. package/dist/cjs/tempoChains-DcQq2bSf.js +2 -0
  229. package/dist/cjs/tempoChains-DcQq2bSf.js.map +1 -0
  230. package/dist/cjs/to-ui-error-CMHKI0rz.js +5 -0
  231. package/dist/cjs/to-ui-error-CMHKI0rz.js.map +1 -0
  232. package/dist/cjs/toViemAccount-Cj_e3DZt.js +2 -0
  233. package/dist/cjs/toViemAccount-Cj_e3DZt.js.map +1 -0
  234. package/dist/cjs/ui.js +38 -38
  235. package/dist/cjs/ui.js.map +1 -1
  236. package/dist/cjs/use-export-wallet-D5CeeTZ2.js +2 -0
  237. package/dist/cjs/use-export-wallet-D5CeeTZ2.js.map +1 -0
  238. package/dist/cjs/use-headless-crypto-deposit-B8gF-liW.js +2 -0
  239. package/dist/cjs/use-headless-crypto-deposit-B8gF-liW.js.map +1 -0
  240. package/dist/cjs/use-sign-transaction-internal-BaPWIZ4I.js +2 -0
  241. package/dist/cjs/use-sign-transaction-internal-BaPWIZ4I.js.map +1 -0
  242. package/dist/cjs/use-sign-with-user-signer-ENZFGepH.js +2 -0
  243. package/dist/cjs/use-sign-with-user-signer-ENZFGepH.js.map +1 -0
  244. package/dist/cjs/use-unlink-wallet-Cl_qqSvQ.js +2 -0
  245. package/dist/cjs/use-unlink-wallet-Cl_qqSvQ.js.map +1 -0
  246. package/dist/cjs/useActiveWallet-C5tX8Jbs.js +124 -0
  247. package/dist/cjs/useActiveWallet-C5tX8Jbs.js.map +1 -0
  248. package/dist/cjs/useGetTokenPrice-Cv9J9ZID.js +2 -0
  249. package/dist/cjs/useGetTokenPrice-Cv9J9ZID.js.map +1 -0
  250. package/dist/cjs/useI18n-DdEGgpXv.js +2 -0
  251. package/dist/cjs/useI18n-DdEGgpXv.js.map +1 -0
  252. package/dist/cjs/useSendTransaction-gYM4Gugt.js +402 -0
  253. package/dist/cjs/useSendTransaction-gYM4Gugt.js.map +1 -0
  254. package/dist/cjs/useWalletBalance-JJPQ6JPx.js +2 -0
  255. package/dist/cjs/useWalletBalance-JJPQ6JPx.js.map +1 -0
  256. package/dist/cjs/useWallets-CGyyGeOp.js +2 -0
  257. package/dist/cjs/useWallets-CGyyGeOp.js.map +1 -0
  258. package/dist/cjs/useWallets-DKQncwrP.js +2 -0
  259. package/dist/cjs/useWallets-DKQncwrP.js.map +1 -0
  260. package/dist/cjs/wallet-connect-DZ8lZBnZ.js +2 -0
  261. package/dist/cjs/wallet-connect-DZ8lZBnZ.js.map +1 -0
  262. package/dist/cjs/walletconnect-v2-BnwQw7Sh.js +2 -0
  263. package/dist/cjs/walletconnect-v2-BnwQw7Sh.js.map +1 -0
  264. package/dist/dts/events-context-BKZWaODu.d.mts +328 -0
  265. package/dist/dts/events-context-BKZWaODu.d.ts +328 -0
  266. package/dist/dts/extended-chains.d.mts +5 -2
  267. package/dist/dts/extended-chains.d.ts +5 -2
  268. package/dist/dts/farcaster.d.mts +5 -2
  269. package/dist/dts/farcaster.d.ts +5 -2
  270. package/dist/dts/importWallet-BLQLBS0b.d.mts +12 -0
  271. package/dist/dts/importWallet-BLQLBS0b.d.ts +12 -0
  272. package/dist/dts/index.d.mts +1833 -1958
  273. package/dist/dts/index.d.ts +1833 -1958
  274. package/dist/dts/internal.d.mts +7 -5
  275. package/dist/dts/internal.d.ts +7 -5
  276. package/dist/dts/smart-wallets.d.mts +4 -2
  277. package/dist/dts/smart-wallets.d.ts +4 -2
  278. package/dist/dts/solana.d.mts +7 -4
  279. package/dist/dts/solana.d.ts +7 -4
  280. package/dist/dts/tempo.d.mts +6 -3
  281. package/dist/dts/tempo.d.ts +6 -3
  282. package/dist/dts/toViemAccount-BwXso32o.d.mts +27 -0
  283. package/dist/dts/toViemAccount-BwXso32o.d.ts +27 -0
  284. package/dist/dts/types-E5rom0tz.d.mts +5085 -0
  285. package/dist/dts/types-E5rom0tz.d.ts +5085 -0
  286. package/dist/dts/ui.d.mts +6 -4
  287. package/dist/dts/ui.d.ts +6 -4
  288. package/dist/dts/use-headless-crypto-deposit-DFepH_MJ.d.mts +168 -0
  289. package/dist/dts/use-headless-crypto-deposit-DFepH_MJ.d.ts +168 -0
  290. package/dist/dts/useUpdateAccount-00uzwN4z.d.mts +27 -0
  291. package/dist/dts/useUpdateAccount-00uzwN4z.d.ts +27 -0
  292. package/dist/esm/AccountNotFoundScreen-DzAMXYak.mjs +2 -0
  293. package/dist/esm/AccountNotFoundScreen-DzAMXYak.mjs.map +1 -0
  294. package/dist/esm/AddFundsSelectionScreen-172boPup.mjs +8 -0
  295. package/dist/esm/AddFundsSelectionScreen-172boPup.mjs.map +1 -0
  296. package/dist/esm/Address-DKlcs3IK.mjs +18 -0
  297. package/dist/esm/Address-DKlcs3IK.mjs.map +1 -0
  298. package/dist/esm/AffirmativeConsentScreen-BZBGMz5K.mjs +7 -0
  299. package/dist/esm/AffirmativeConsentScreen-BZBGMz5K.mjs.map +1 -0
  300. package/dist/esm/AllowlistRejectionScreen-C_mpjAz2.mjs +2 -0
  301. package/dist/esm/AllowlistRejectionScreen-C_mpjAz2.mjs.map +1 -0
  302. package/dist/esm/AuthenticateWithWalletScreen-DwwD1kCq.mjs +2 -0
  303. package/dist/esm/AuthenticateWithWalletScreen-DwwD1kCq.mjs.map +1 -0
  304. package/dist/esm/AwaitingEvmToSolBridgingScreen-BAYBI0la.mjs +3 -0
  305. package/dist/esm/AwaitingEvmToSolBridgingScreen-BAYBI0la.mjs.map +1 -0
  306. package/dist/esm/AwaitingExternalEthereumTransferScreen-D_58aWF-.mjs +3 -0
  307. package/dist/esm/AwaitingExternalEthereumTransferScreen-D_58aWF-.mjs.map +1 -0
  308. package/dist/esm/AwaitingPasswordlessCodeScreen-Bg_VoZZu.mjs +104 -0
  309. package/dist/esm/AwaitingPasswordlessCodeScreen-Bg_VoZZu.mjs.map +1 -0
  310. package/dist/esm/AwaitingSolToEvmBridgingScreen-C_oPOvJb.mjs +3 -0
  311. package/dist/esm/AwaitingSolToEvmBridgingScreen-C_oPOvJb.mjs.map +1 -0
  312. package/dist/esm/BridgeNetworkSelectionView-8xoINivq.mjs +69 -0
  313. package/dist/esm/BridgeNetworkSelectionView-8xoINivq.mjs.map +1 -0
  314. package/dist/esm/CaptchaScreen-CLQcKT_w.mjs +2 -0
  315. package/dist/esm/CaptchaScreen-CLQcKT_w.mjs.map +1 -0
  316. package/dist/esm/Chip-C49w58Hr.mjs +27 -0
  317. package/dist/esm/Chip-C49w58Hr.mjs.map +1 -0
  318. package/dist/esm/CoinbaseOnrampStatusScreen-DS3NcB0l.mjs +17 -0
  319. package/dist/esm/CoinbaseOnrampStatusScreen-DS3NcB0l.mjs.map +1 -0
  320. package/dist/esm/ConnectEmailForm-BkOOPM5A.mjs +4 -0
  321. package/dist/esm/ConnectEmailForm-BkOOPM5A.mjs.map +1 -0
  322. package/dist/esm/ConnectLedgerScreen-Btro91s1.mjs +10 -0
  323. package/dist/esm/ConnectLedgerScreen-Btro91s1.mjs.map +1 -0
  324. package/dist/esm/ConnectOnlyLandingScreen-yPbfGCXM.mjs +2 -0
  325. package/dist/esm/ConnectOnlyLandingScreen-yPbfGCXM.mjs.map +1 -0
  326. package/dist/esm/ConnectOnlyStatusScreen-CCmg-iwa.mjs +2 -0
  327. package/dist/esm/ConnectOnlyStatusScreen-CCmg-iwa.mjs.map +1 -0
  328. package/dist/esm/ConnectOrCreateScreen-CqhFm1SL.mjs +2 -0
  329. package/dist/esm/ConnectOrCreateScreen-CqhFm1SL.mjs.map +1 -0
  330. package/dist/esm/ConnectPhoneForm-DGFe9Qqd.mjs +96 -0
  331. package/dist/esm/ConnectPhoneForm-DGFe9Qqd.mjs.map +1 -0
  332. package/dist/esm/ConnectWalletView-DiEhAxcU.mjs +75 -0
  333. package/dist/esm/ConnectWalletView-DiEhAxcU.mjs.map +1 -0
  334. package/dist/esm/ConnectionStatusScreen-B2iJXtST.mjs +8 -0
  335. package/dist/esm/ConnectionStatusScreen-B2iJXtST.mjs.map +1 -0
  336. package/dist/esm/CrossAppAuthScreen-L4IYJ4dn.mjs +2 -0
  337. package/dist/esm/CrossAppAuthScreen-L4IYJ4dn.mjs.map +1 -0
  338. package/dist/esm/CustomLandingScreenView-C2nhVufg.mjs +24 -0
  339. package/dist/esm/CustomLandingScreenView-C2nhVufg.mjs.map +1 -0
  340. package/dist/esm/DelegatedActionsConsentScreen-D00p19hl.mjs +2 -0
  341. package/dist/esm/DelegatedActionsConsentScreen-D00p19hl.mjs.map +1 -0
  342. package/dist/esm/DelegatedActionsRevokeScreen-BbW0eyME.mjs +2 -0
  343. package/dist/esm/DelegatedActionsRevokeScreen-BbW0eyME.mjs.map +1 -0
  344. package/dist/esm/DepositAddressAddressStepView-D3qLiA48.mjs +188 -0
  345. package/dist/esm/DepositAddressAddressStepView-D3qLiA48.mjs.map +1 -0
  346. package/dist/esm/DepositAddressScreen-B0hXMwv7.mjs +9 -0
  347. package/dist/esm/DepositAddressScreen-B0hXMwv7.mjs.map +1 -0
  348. package/dist/esm/DepositAddressV3Screen-BXRysmgG.mjs +2 -0
  349. package/dist/esm/DepositAddressV3Screen-BXRysmgG.mjs.map +1 -0
  350. package/dist/esm/EmailInputForm-BBdeNs8i.mjs +125 -0
  351. package/dist/esm/EmailInputForm-BBdeNs8i.mjs.map +1 -0
  352. package/dist/esm/EmbeddedWalletConnectingScreen-D7c5X8bQ.mjs +2 -0
  353. package/dist/esm/EmbeddedWalletConnectingScreen-D7c5X8bQ.mjs.map +1 -0
  354. package/dist/esm/EmbeddedWalletCreatedScreen-wOgqTzew.mjs +2 -0
  355. package/dist/esm/EmbeddedWalletCreatedScreen-wOgqTzew.mjs.map +1 -0
  356. package/dist/esm/EmbeddedWalletKeyExportScreen-CqQYOBch.mjs +25 -0
  357. package/dist/esm/EmbeddedWalletKeyExportScreen-CqQYOBch.mjs.map +1 -0
  358. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-Cfd_FD3l.mjs +2 -0
  359. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-Cfd_FD3l.mjs.map +1 -0
  360. package/dist/esm/EmbeddedWalletPasswordUpdateScreen-iVd_WjrE.mjs +2 -0
  361. package/dist/esm/EmbeddedWalletPasswordUpdateScreen-iVd_WjrE.mjs.map +1 -0
  362. package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-rgxNZr1O.mjs +2 -0
  363. package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-rgxNZr1O.mjs.map +1 -0
  364. package/dist/esm/EnrollTotp-DB66bjyK.mjs +64 -0
  365. package/dist/esm/EnrollTotp-DB66bjyK.mjs.map +1 -0
  366. package/dist/esm/ErrorScreen-CO7ly2mI.mjs +5 -0
  367. package/dist/esm/ErrorScreen-CO7ly2mI.mjs.map +1 -0
  368. package/dist/esm/FarcasterConnectStatusScreen-ByxxlLhM.mjs +76 -0
  369. package/dist/esm/FarcasterConnectStatusScreen-ByxxlLhM.mjs.map +1 -0
  370. package/dist/esm/FarcasterSignerStatusScreen-bOn4-uXp.mjs +29 -0
  371. package/dist/esm/FarcasterSignerStatusScreen-bOn4-uXp.mjs.map +1 -0
  372. package/dist/esm/FiatOnrampScreen-DfRZWvHe.mjs +579 -0
  373. package/dist/esm/FiatOnrampScreen-DfRZWvHe.mjs.map +1 -0
  374. package/dist/esm/FundSolWalletWithExternalSolanaWallet-DHyHCowx.mjs +2 -0
  375. package/dist/esm/FundSolWalletWithExternalSolanaWallet-DHyHCowx.mjs.map +1 -0
  376. package/dist/esm/FundWalletMethodHeader-DprX57mE.mjs +2 -0
  377. package/dist/esm/FundWalletMethodHeader-DprX57mE.mjs.map +1 -0
  378. package/dist/esm/FundWithBankDepositScreen-BVevvXa0.mjs +59 -0
  379. package/dist/esm/FundWithBankDepositScreen-BVevvXa0.mjs.map +1 -0
  380. package/dist/esm/FundingEditAmountScreen-Ds-bwJT2.mjs +2 -0
  381. package/dist/esm/FundingEditAmountScreen-Ds-bwJT2.mjs.map +1 -0
  382. package/dist/esm/FundingMethodSelectionScreen-CCPbZOER.mjs +2 -0
  383. package/dist/esm/FundingMethodSelectionScreen-CCPbZOER.mjs.map +1 -0
  384. package/dist/esm/InAppBrowserLoginNotPossible-CM31kG0R.mjs +2 -0
  385. package/dist/esm/InAppBrowserLoginNotPossible-CM31kG0R.mjs.map +1 -0
  386. package/dist/esm/InstallWalletScreen-BNFy-otn.mjs +2 -0
  387. package/dist/esm/InstallWalletScreen-BNFy-otn.mjs.map +1 -0
  388. package/dist/esm/LandingScreen-C1cunNQD.mjs +2 -0
  389. package/dist/esm/LandingScreen-C1cunNQD.mjs.map +1 -0
  390. package/dist/esm/Layouts-CaU-iybi.mjs +78 -0
  391. package/dist/esm/Layouts-CaU-iybi.mjs.map +1 -0
  392. package/dist/esm/LinkConflictScreen-Ds4zHcYs.mjs +78 -0
  393. package/dist/esm/LinkConflictScreen-Ds4zHcYs.mjs.map +1 -0
  394. package/dist/esm/LinkEmailScreen-BhsMLgtI.mjs +2 -0
  395. package/dist/esm/LinkEmailScreen-BhsMLgtI.mjs.map +1 -0
  396. package/dist/esm/LinkPasskeyScreen-CbLaCS7-.mjs +118 -0
  397. package/dist/esm/LinkPasskeyScreen-CbLaCS7-.mjs.map +1 -0
  398. package/dist/esm/LinkPhoneScreen-CYRxC6IE.mjs +2 -0
  399. package/dist/esm/LinkPhoneScreen-CYRxC6IE.mjs.map +1 -0
  400. package/dist/esm/LoginFailedScreen-BB2dkKmK.mjs +2 -0
  401. package/dist/esm/LoginFailedScreen-BB2dkKmK.mjs.map +1 -0
  402. package/dist/esm/ManualTransferScreen-BRE4jtJr.mjs +2 -0
  403. package/dist/esm/ManualTransferScreen-BRE4jtJr.mjs.map +1 -0
  404. package/dist/esm/MfaAuthEnrollmentFlowScreen-DwjpnulV.mjs +2 -0
  405. package/dist/esm/MfaAuthEnrollmentFlowScreen-DwjpnulV.mjs.map +1 -0
  406. package/dist/esm/MfaAuthVerifyFlowScreen-DHeb7vrj.mjs +2 -0
  407. package/dist/esm/MfaAuthVerifyFlowScreen-DHeb7vrj.mjs.map +1 -0
  408. package/dist/esm/MfaEnrollmentFlowScreen-BAE_hPfV.mjs +2 -0
  409. package/dist/esm/MfaEnrollmentFlowScreen-BAE_hPfV.mjs.map +1 -0
  410. package/dist/esm/MfaVerifyFlowScreen-Bi5HU7Hd.mjs +2 -0
  411. package/dist/esm/MfaVerifyFlowScreen-Bi5HU7Hd.mjs.map +1 -0
  412. package/dist/esm/ModalFooter-tYcWoR7H.mjs +40 -0
  413. package/dist/esm/ModalFooter-tYcWoR7H.mjs.map +1 -0
  414. package/dist/esm/ModalHeader-D_rjVlPi.mjs +369 -0
  415. package/dist/esm/ModalHeader-D_rjVlPi.mjs.map +1 -0
  416. package/dist/esm/MoonpayStatusScreen-XER9eHsq.mjs +17 -0
  417. package/dist/esm/MoonpayStatusScreen-XER9eHsq.mjs.map +1 -0
  418. package/dist/esm/OAuthStatusScreen-BszID0X1.mjs +2 -0
  419. package/dist/esm/OAuthStatusScreen-BszID0X1.mjs.map +1 -0
  420. package/dist/esm/PasskeySelectSignupOrLogin-rrEvFqi-.mjs +2 -0
  421. package/dist/esm/PasskeySelectSignupOrLogin-rrEvFqi-.mjs.map +1 -0
  422. package/dist/esm/PasskeyStatusScreen-DJTWiVCl.mjs +4 -0
  423. package/dist/esm/PasskeyStatusScreen-DJTWiVCl.mjs.map +1 -0
  424. package/dist/esm/PasswordRecoveryScreen-DA_4bFl-.mjs +21 -0
  425. package/dist/esm/PasswordRecoveryScreen-DA_4bFl-.mjs.map +1 -0
  426. package/dist/esm/PinInput-CXvP_1mz.mjs +248 -0
  427. package/dist/esm/PinInput-CXvP_1mz.mjs.map +1 -0
  428. package/dist/esm/QrCode-DOUSXjtB.mjs +17 -0
  429. package/dist/esm/QrCode-DOUSXjtB.mjs.map +1 -0
  430. package/dist/esm/RecoveryOAuthStatusScreen-IK6K05ZE.mjs +2 -0
  431. package/dist/esm/RecoveryOAuthStatusScreen-IK6K05ZE.mjs.map +1 -0
  432. package/dist/esm/RecoveryPasswordCreateScreen-J3WzTAMc.mjs +2 -0
  433. package/dist/esm/RecoveryPasswordCreateScreen-J3WzTAMc.mjs.map +1 -0
  434. package/dist/esm/RecoverySelectionScreen-BUk-4P4C.mjs +8 -0
  435. package/dist/esm/RecoverySelectionScreen-BUk-4P4C.mjs.map +1 -0
  436. package/dist/esm/Row-DqrC-DIv.mjs +12 -0
  437. package/dist/esm/Row-DqrC-DIv.mjs.map +1 -0
  438. package/dist/esm/Screen-Cwe02n7X.mjs +183 -0
  439. package/dist/esm/Screen-Cwe02n7X.mjs.map +1 -0
  440. package/dist/esm/ScreenLayout-BU7l-QJ-.mjs +2 -0
  441. package/dist/esm/ScreenLayout-BU7l-QJ-.mjs.map +1 -0
  442. package/dist/esm/SelectSourceAsset-DlzkqH3C.mjs +141 -0
  443. package/dist/esm/SelectSourceAsset-DlzkqH3C.mjs.map +1 -0
  444. package/dist/esm/SetAutomaticRecoveryScreen-CxwbpfkL.mjs +15 -0
  445. package/dist/esm/SetAutomaticRecoveryScreen-CxwbpfkL.mjs.map +1 -0
  446. package/dist/esm/SetWalletPasswordForm-BMPIqQQc.mjs +13 -0
  447. package/dist/esm/SetWalletPasswordForm-BMPIqQQc.mjs.map +1 -0
  448. package/dist/esm/SignRequestScreen-n3aF36Rr.mjs +27 -0
  449. package/dist/esm/SignRequestScreen-n3aF36Rr.mjs.map +1 -0
  450. package/dist/esm/SkeuomorphicDebitCard-Dqxrn0ja.mjs +150 -0
  451. package/dist/esm/SkeuomorphicDebitCard-Dqxrn0ja.mjs.map +1 -0
  452. package/dist/esm/StandardSignAndSendTransactionScreen-B9TaSOYs.mjs +21 -0
  453. package/dist/esm/StandardSignAndSendTransactionScreen-B9TaSOYs.mjs.map +1 -0
  454. package/dist/esm/Table-MZQMZ2fn.mjs +2 -0
  455. package/dist/esm/Table-MZQMZ2fn.mjs.map +1 -0
  456. package/dist/esm/TelegramAuthScreen-fznKnOML.mjs +2 -0
  457. package/dist/esm/TelegramAuthScreen-fznKnOML.mjs.map +1 -0
  458. package/dist/esm/TransactionDetails-Bj94btuv.mjs +112 -0
  459. package/dist/esm/TransactionDetails-Bj94btuv.mjs.map +1 -0
  460. package/dist/esm/TransactionErrorView-D402_dkI.mjs +165 -0
  461. package/dist/esm/TransactionErrorView-D402_dkI.mjs.map +1 -0
  462. package/dist/esm/TransferFromWalletScreen-EEz-Q8Mn.mjs +32 -0
  463. package/dist/esm/TransferFromWalletScreen-EEz-Q8Mn.mjs.map +1 -0
  464. package/dist/esm/TransferOrBridgeLoadingScreen-CHPKLus2.mjs +7 -0
  465. package/dist/esm/TransferOrBridgeLoadingScreen-CHPKLus2.mjs.map +1 -0
  466. package/dist/esm/TurnstileWrapper-BRVU1U44.mjs +2 -0
  467. package/dist/esm/TurnstileWrapper-BRVU1U44.mjs.map +1 -0
  468. package/dist/esm/UpdateEmailScreen-wwz156h6.mjs +2 -0
  469. package/dist/esm/UpdateEmailScreen-wwz156h6.mjs.map +1 -0
  470. package/dist/esm/UpdatePhoneScreen-BWPGFx1V.mjs +2 -0
  471. package/dist/esm/UpdatePhoneScreen-BWPGFx1V.mjs.map +1 -0
  472. package/dist/esm/UserLimitReachedScreen-Be_9_3f-.mjs +2 -0
  473. package/dist/esm/UserLimitReachedScreen-Be_9_3f-.mjs.map +1 -0
  474. package/dist/esm/WalletInfoCard-Dj-BMS5s.mjs +30 -0
  475. package/dist/esm/WalletInfoCard-Dj-BMS5s.mjs.map +1 -0
  476. package/dist/esm/WalletInterstitialScreen-OGtS3RAg.mjs +2 -0
  477. package/dist/esm/WalletInterstitialScreen-OGtS3RAg.mjs.map +1 -0
  478. package/dist/esm/WalletLink-CwWMbdst.mjs +23 -0
  479. package/dist/esm/WalletLink-CwWMbdst.mjs.map +1 -0
  480. package/dist/esm/WalletOverflowButton-5KLJPMBy.mjs +2 -0
  481. package/dist/esm/WalletOverflowButton-5KLJPMBy.mjs.map +1 -0
  482. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  483. package/dist/esm/abstract-smart-wallets.mjs.map +1 -1
  484. package/dist/esm/cards.mjs +159 -159
  485. package/dist/esm/cards.mjs.map +1 -1
  486. package/dist/esm/coinbase-DZNbkO8w.mjs +2 -0
  487. package/dist/esm/coinbase-DZNbkO8w.mjs.map +1 -0
  488. package/dist/esm/constants-ur3iCbOk.mjs +2 -0
  489. package/dist/esm/constants-ur3iCbOk.mjs.map +1 -0
  490. package/dist/esm/errors-DfUuyeiY.mjs +2 -0
  491. package/dist/esm/errors-DfUuyeiY.mjs.map +1 -0
  492. package/dist/esm/ethers-D90Q86L_.mjs +2 -0
  493. package/dist/esm/ethers-D90Q86L_.mjs.map +1 -0
  494. package/dist/esm/extended-chains.mjs +1 -1
  495. package/dist/esm/extended-chains.mjs.map +1 -1
  496. package/dist/esm/farcaster.mjs +1 -1
  497. package/dist/esm/frame-Cln0O6xJ.mjs +2 -0
  498. package/dist/esm/frame-Cln0O6xJ.mjs.map +1 -0
  499. package/dist/esm/get-entropy-details-for-user-BXg4ZNdm.mjs +2 -0
  500. package/dist/esm/get-entropy-details-for-user-BXg4ZNdm.mjs.map +1 -0
  501. package/dist/esm/getEmbeddedConnectedWallet-CEFrcBv_.mjs +2 -0
  502. package/dist/esm/getEmbeddedConnectedWallet-CEFrcBv_.mjs.map +1 -0
  503. package/dist/esm/getErc20Balance-Z1IqeF74.mjs +2 -0
  504. package/dist/esm/getErc20Balance-Z1IqeF74.mjs.map +1 -0
  505. package/dist/esm/getErc20TokenInfo-Yl4TQc4t.mjs +2 -0
  506. package/dist/esm/getErc20TokenInfo-Yl4TQc4t.mjs.map +1 -0
  507. package/dist/esm/getFormattedUsdFromLamports-BmYfYx64.mjs +2 -0
  508. package/dist/esm/getFormattedUsdFromLamports-BmYfYx64.mjs.map +1 -0
  509. package/dist/esm/getUsdcMintAddress-Drec9L0r.mjs +2 -0
  510. package/dist/esm/getUsdcMintAddress-Drec9L0r.mjs.map +1 -0
  511. package/dist/esm/hooks.mjs +1 -1
  512. package/dist/esm/index-COiOnwSJ.mjs +13 -0
  513. package/dist/esm/index-COiOnwSJ.mjs.map +1 -0
  514. package/dist/esm/index-DHGJ8KCU.mjs +2 -0
  515. package/dist/esm/index-DHGJ8KCU.mjs.map +1 -0
  516. package/dist/esm/index-evgYIM7F.mjs +33 -0
  517. package/dist/esm/index-evgYIM7F.mjs.map +1 -0
  518. package/dist/esm/index.mjs +1 -1
  519. package/dist/esm/internal-context-DQpxkTeh.mjs +2 -0
  520. package/dist/esm/internal-context-DQpxkTeh.mjs.map +1 -0
  521. package/dist/esm/internal.mjs +1 -1
  522. package/dist/esm/internal.mjs.map +1 -1
  523. package/dist/esm/paths-CueWH174.mjs +2 -0
  524. package/dist/esm/paths-CueWH174.mjs.map +1 -0
  525. package/dist/esm/prepareFundingModalData-CCQSmN7p.mjs +2 -0
  526. package/dist/esm/prepareFundingModalData-CCQSmN7p.mjs.map +1 -0
  527. package/dist/esm/privy-context-GCxzrBLW.mjs +2 -0
  528. package/dist/esm/privy-context-GCxzrBLW.mjs.map +1 -0
  529. package/dist/esm/reservoir-BHbLXdLx.mjs +2 -0
  530. package/dist/esm/reservoir-BHbLXdLx.mjs.map +1 -0
  531. package/dist/esm/shared-Bf-bbb7k.mjs +194 -0
  532. package/dist/esm/shared-Bf-bbb7k.mjs.map +1 -0
  533. package/dist/esm/shouldProceedtoEmbeddedWalletCreationFlow-DJM-1ZE1.mjs +2 -0
  534. package/dist/esm/shouldProceedtoEmbeddedWalletCreationFlow-DJM-1ZE1.mjs.map +1 -0
  535. package/dist/esm/simulateTransaction-B6IRUtPA.mjs +2 -0
  536. package/dist/esm/simulateTransaction-B6IRUtPA.mjs.map +1 -0
  537. package/dist/esm/smart-wallets-xAKlByVm.mjs +2 -0
  538. package/dist/esm/smart-wallets-xAKlByVm.mjs.map +1 -0
  539. package/dist/esm/smart-wallets.mjs +1 -1
  540. package/dist/esm/smart-wallets.mjs.map +1 -1
  541. package/dist/esm/solana.mjs +1 -1
  542. package/dist/esm/solana.mjs.map +1 -1
  543. package/dist/esm/styles-BxakkdS2.mjs +75 -0
  544. package/dist/esm/styles-BxakkdS2.mjs.map +1 -0
  545. package/dist/esm/styles-Cajmyc3f.mjs +93 -0
  546. package/dist/esm/styles-Cajmyc3f.mjs.map +1 -0
  547. package/dist/esm/styles-Ci3bmdGZ.mjs +192 -0
  548. package/dist/esm/styles-Ci3bmdGZ.mjs.map +1 -0
  549. package/dist/esm/tempo.mjs +1 -1
  550. package/dist/esm/tempo.mjs.map +1 -1
  551. package/dist/esm/tempoChains-2uJ5F5se.mjs +2 -0
  552. package/dist/esm/tempoChains-2uJ5F5se.mjs.map +1 -0
  553. package/dist/esm/to-ui-error-DwUnecOs.mjs +5 -0
  554. package/dist/esm/to-ui-error-DwUnecOs.mjs.map +1 -0
  555. package/dist/esm/toViemAccount-C8vXqAVG.mjs +2 -0
  556. package/dist/esm/toViemAccount-C8vXqAVG.mjs.map +1 -0
  557. package/dist/esm/transaction-oglazAWT.mjs +2 -0
  558. package/dist/esm/transaction-oglazAWT.mjs.map +1 -0
  559. package/dist/esm/twitter-sIfmeTaW.mjs +2 -0
  560. package/dist/esm/twitter-sIfmeTaW.mjs.map +1 -0
  561. package/dist/esm/ui.mjs +24 -24
  562. package/dist/esm/ui.mjs.map +1 -1
  563. package/dist/esm/use-export-wallet-Cv8HQjda.mjs +2 -0
  564. package/dist/esm/use-export-wallet-Cv8HQjda.mjs.map +1 -0
  565. package/dist/esm/use-headless-crypto-deposit-zxNV-chG.mjs +2 -0
  566. package/dist/esm/use-headless-crypto-deposit-zxNV-chG.mjs.map +1 -0
  567. package/dist/esm/use-sign-transaction-internal-CtNx-Qgy.mjs +2 -0
  568. package/dist/esm/use-sign-transaction-internal-CtNx-Qgy.mjs.map +1 -0
  569. package/dist/esm/use-sign-with-user-signer-B7JuQAkT.mjs +2 -0
  570. package/dist/esm/use-sign-with-user-signer-B7JuQAkT.mjs.map +1 -0
  571. package/dist/esm/use-unlink-wallet-BRkv_zL9.mjs +2 -0
  572. package/dist/esm/use-unlink-wallet-BRkv_zL9.mjs.map +1 -0
  573. package/dist/esm/useActiveWallet-BdvLVgGS.mjs +124 -0
  574. package/dist/esm/useActiveWallet-BdvLVgGS.mjs.map +1 -0
  575. package/dist/esm/useGetSolPrice-U8kMOjRK.mjs +2 -0
  576. package/dist/esm/useGetSolPrice-U8kMOjRK.mjs.map +1 -0
  577. package/dist/esm/useGetTokenPrice-ClzuWUsw.mjs +2 -0
  578. package/dist/esm/useGetTokenPrice-ClzuWUsw.mjs.map +1 -0
  579. package/dist/esm/useI18n-CKP8bFov.mjs +2 -0
  580. package/dist/esm/useI18n-CKP8bFov.mjs.map +1 -0
  581. package/dist/esm/useSendTransaction-BQ0yutCM.mjs +402 -0
  582. package/dist/esm/useSendTransaction-BQ0yutCM.mjs.map +1 -0
  583. package/dist/esm/useWalletBalance-DIJzS70f.mjs +2 -0
  584. package/dist/esm/useWalletBalance-DIJzS70f.mjs.map +1 -0
  585. package/dist/esm/useWallets-B9UcmUgz.mjs +2 -0
  586. package/dist/esm/useWallets-B9UcmUgz.mjs.map +1 -0
  587. package/dist/esm/useWallets-Di6GbiVl.mjs +2 -0
  588. package/dist/esm/useWallets-Di6GbiVl.mjs.map +1 -0
  589. package/dist/esm/wallet-connect-dOthhX1E.mjs +2 -0
  590. package/dist/esm/wallet-connect-dOthhX1E.mjs.map +1 -0
  591. package/dist/esm/walletconnect-registry-DLO3PACH.mjs +2 -0
  592. package/dist/esm/walletconnect-registry-DLO3PACH.mjs.map +1 -0
  593. package/dist/esm/walletconnect-v2-BkymI6XW.mjs +2 -0
  594. package/dist/esm/walletconnect-v2-BkymI6XW.mjs.map +1 -0
  595. package/package.json +7 -6
  596. package/dist/cjs/AccountNotFoundScreen-DWzfDujz.js +0 -2
  597. package/dist/cjs/AccountNotFoundScreen-DWzfDujz.js.map +0 -1
  598. package/dist/cjs/AddFundsSelectionScreen-rhdTs3mB.js +0 -8
  599. package/dist/cjs/AddFundsSelectionScreen-rhdTs3mB.js.map +0 -1
  600. package/dist/cjs/Address-Ckh1AldH.js +0 -18
  601. package/dist/cjs/Address-Ckh1AldH.js.map +0 -1
  602. package/dist/cjs/AffirmativeConsentScreen-DGloRyzv.js +0 -7
  603. package/dist/cjs/AffirmativeConsentScreen-DGloRyzv.js.map +0 -1
  604. package/dist/cjs/AllowlistRejectionScreen-DFYI5j0C.js +0 -2
  605. package/dist/cjs/AllowlistRejectionScreen-DFYI5j0C.js.map +0 -1
  606. package/dist/cjs/AuthenticateWithWalletScreen-Bl5BDs82.js +0 -2
  607. package/dist/cjs/AuthenticateWithWalletScreen-Bl5BDs82.js.map +0 -1
  608. package/dist/cjs/AwaitingEvmToSolBridgingScreen-BGl6E_3n.js +0 -3
  609. package/dist/cjs/AwaitingEvmToSolBridgingScreen-BGl6E_3n.js.map +0 -1
  610. package/dist/cjs/AwaitingExternalEthereumTransferScreen-DnKj9INA.js +0 -3
  611. package/dist/cjs/AwaitingExternalEthereumTransferScreen-DnKj9INA.js.map +0 -1
  612. package/dist/cjs/AwaitingPasswordlessCodeScreen-CuMMIMKN.js +0 -104
  613. package/dist/cjs/AwaitingPasswordlessCodeScreen-CuMMIMKN.js.map +0 -1
  614. package/dist/cjs/AwaitingSolToEvmBridgingScreen-DfqV4oo_.js +0 -3
  615. package/dist/cjs/AwaitingSolToEvmBridgingScreen-DfqV4oo_.js.map +0 -1
  616. package/dist/cjs/BridgeNetworkSelectionView-_ZegXF7U.js +0 -69
  617. package/dist/cjs/BridgeNetworkSelectionView-_ZegXF7U.js.map +0 -1
  618. package/dist/cjs/CaptchaScreen-DOsfdTCf.js +0 -2
  619. package/dist/cjs/CaptchaScreen-DOsfdTCf.js.map +0 -1
  620. package/dist/cjs/CoinbaseOnrampStatusScreen-VbJuH0Go.js +0 -17
  621. package/dist/cjs/CoinbaseOnrampStatusScreen-VbJuH0Go.js.map +0 -1
  622. package/dist/cjs/ConnectEmailForm-DSMkT2XR.js +0 -4
  623. package/dist/cjs/ConnectEmailForm-DSMkT2XR.js.map +0 -1
  624. package/dist/cjs/ConnectLedgerScreen-DiGd2pgo.js +0 -10
  625. package/dist/cjs/ConnectLedgerScreen-DiGd2pgo.js.map +0 -1
  626. package/dist/cjs/ConnectOnlyLandingScreen-ZI2VCrb4.js +0 -2
  627. package/dist/cjs/ConnectOnlyLandingScreen-ZI2VCrb4.js.map +0 -1
  628. package/dist/cjs/ConnectOnlyStatusScreen-lp6fLXwt.js +0 -2
  629. package/dist/cjs/ConnectOnlyStatusScreen-lp6fLXwt.js.map +0 -1
  630. package/dist/cjs/ConnectOrCreateScreen-DZ4zkBjs.js +0 -2
  631. package/dist/cjs/ConnectOrCreateScreen-DZ4zkBjs.js.map +0 -1
  632. package/dist/cjs/ConnectPhoneForm-Bz_Fle0J.js +0 -96
  633. package/dist/cjs/ConnectPhoneForm-Bz_Fle0J.js.map +0 -1
  634. package/dist/cjs/ConnectWalletView-CRHoYLMj.js +0 -75
  635. package/dist/cjs/ConnectWalletView-CRHoYLMj.js.map +0 -1
  636. package/dist/cjs/ConnectionStatusScreen-cGAECV5c.js +0 -8
  637. package/dist/cjs/ConnectionStatusScreen-cGAECV5c.js.map +0 -1
  638. package/dist/cjs/CrossAppAuthScreen-Ay0odDVG.js +0 -2
  639. package/dist/cjs/CrossAppAuthScreen-Ay0odDVG.js.map +0 -1
  640. package/dist/cjs/CustomLandingScreenView-DBPbC1C7.js +0 -24
  641. package/dist/cjs/CustomLandingScreenView-DBPbC1C7.js.map +0 -1
  642. package/dist/cjs/DelegatedActionsConsentScreen-BfKIrlPH.js +0 -2
  643. package/dist/cjs/DelegatedActionsConsentScreen-BfKIrlPH.js.map +0 -1
  644. package/dist/cjs/DelegatedActionsRevokeScreen-Bf47NI4f.js +0 -2
  645. package/dist/cjs/DelegatedActionsRevokeScreen-Bf47NI4f.js.map +0 -1
  646. package/dist/cjs/DepositAddressAddressStepView-DwBLEsiu.js +0 -188
  647. package/dist/cjs/DepositAddressAddressStepView-DwBLEsiu.js.map +0 -1
  648. package/dist/cjs/DepositAddressScreen-CSuiKwm7.js +0 -9
  649. package/dist/cjs/DepositAddressScreen-CSuiKwm7.js.map +0 -1
  650. package/dist/cjs/DepositAddressV3Screen-B9pG5rJX.js +0 -2
  651. package/dist/cjs/DepositAddressV3Screen-B9pG5rJX.js.map +0 -1
  652. package/dist/cjs/EmbeddedWalletConnectingScreen-QsEulg6y.js +0 -2
  653. package/dist/cjs/EmbeddedWalletConnectingScreen-QsEulg6y.js.map +0 -1
  654. package/dist/cjs/EmbeddedWalletCreatedScreen-BNz79quQ.js +0 -2
  655. package/dist/cjs/EmbeddedWalletCreatedScreen-BNz79quQ.js.map +0 -1
  656. package/dist/cjs/EmbeddedWalletKeyExportScreen-B6nlfnIz.js +0 -25
  657. package/dist/cjs/EmbeddedWalletKeyExportScreen-B6nlfnIz.js.map +0 -1
  658. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-CUq8Vppw.js +0 -2
  659. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-CUq8Vppw.js.map +0 -1
  660. package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-CXKQm5Ed.js +0 -2
  661. package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-CXKQm5Ed.js.map +0 -1
  662. package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-C5JIyEN5.js +0 -2
  663. package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-C5JIyEN5.js.map +0 -1
  664. package/dist/cjs/EnrollTotp-IxLErCnQ.js +0 -64
  665. package/dist/cjs/EnrollTotp-IxLErCnQ.js.map +0 -1
  666. package/dist/cjs/ErrorScreen-C1tB41wa.js +0 -5
  667. package/dist/cjs/ErrorScreen-C1tB41wa.js.map +0 -1
  668. package/dist/cjs/FarcasterConnectStatusScreen-CJIwnvG7.js +0 -77
  669. package/dist/cjs/FarcasterConnectStatusScreen-CJIwnvG7.js.map +0 -1
  670. package/dist/cjs/FarcasterSignerStatusScreen-CjFVp4dG.js +0 -30
  671. package/dist/cjs/FarcasterSignerStatusScreen-CjFVp4dG.js.map +0 -1
  672. package/dist/cjs/FiatOnrampScreen-D3bIrS3W.js +0 -579
  673. package/dist/cjs/FiatOnrampScreen-D3bIrS3W.js.map +0 -1
  674. package/dist/cjs/FundSolWalletWithExternalSolanaWallet-DLrbV45q.js +0 -3
  675. package/dist/cjs/FundSolWalletWithExternalSolanaWallet-DLrbV45q.js.map +0 -1
  676. package/dist/cjs/FundWalletMethodHeader-Cv9WOkuD.js +0 -2
  677. package/dist/cjs/FundWalletMethodHeader-Cv9WOkuD.js.map +0 -1
  678. package/dist/cjs/FundWithBankDepositScreen-DdB1hS50.js +0 -59
  679. package/dist/cjs/FundWithBankDepositScreen-DdB1hS50.js.map +0 -1
  680. package/dist/cjs/FundingEditAmountScreen-B76Mk0kw.js +0 -2
  681. package/dist/cjs/FundingEditAmountScreen-B76Mk0kw.js.map +0 -1
  682. package/dist/cjs/FundingMethodSelectionScreen-CC4YOwT9.js +0 -2
  683. package/dist/cjs/FundingMethodSelectionScreen-CC4YOwT9.js.map +0 -1
  684. package/dist/cjs/InAppBrowserLoginNotPossible-vg09F3_Z.js +0 -2
  685. package/dist/cjs/InAppBrowserLoginNotPossible-vg09F3_Z.js.map +0 -1
  686. package/dist/cjs/InstallWalletScreen-CcwRxt4d.js +0 -2
  687. package/dist/cjs/InstallWalletScreen-CcwRxt4d.js.map +0 -1
  688. package/dist/cjs/LandingScreen-E7qTk-uI.js +0 -2
  689. package/dist/cjs/LandingScreen-E7qTk-uI.js.map +0 -1
  690. package/dist/cjs/LinkConflictScreen-DWz_rY_a.js +0 -78
  691. package/dist/cjs/LinkConflictScreen-DWz_rY_a.js.map +0 -1
  692. package/dist/cjs/LinkEmailScreen-DJaAC-he.js +0 -2
  693. package/dist/cjs/LinkEmailScreen-DJaAC-he.js.map +0 -1
  694. package/dist/cjs/LinkPasskeyScreen-uZT_hAwd.js +0 -118
  695. package/dist/cjs/LinkPasskeyScreen-uZT_hAwd.js.map +0 -1
  696. package/dist/cjs/LinkPhoneScreen-C4Gfeuhj.js +0 -2
  697. package/dist/cjs/LinkPhoneScreen-C4Gfeuhj.js.map +0 -1
  698. package/dist/cjs/LoginFailedScreen-B7gosWUC.js +0 -2
  699. package/dist/cjs/LoginFailedScreen-B7gosWUC.js.map +0 -1
  700. package/dist/cjs/ManualTransferScreen-DBS12JJS.js +0 -2
  701. package/dist/cjs/ManualTransferScreen-DBS12JJS.js.map +0 -1
  702. package/dist/cjs/MfaAuthEnrollmentFlowScreen-BE6p0tql.js +0 -2
  703. package/dist/cjs/MfaAuthEnrollmentFlowScreen-BE6p0tql.js.map +0 -1
  704. package/dist/cjs/MfaAuthVerifyFlowScreen-BAm3UuYA.js +0 -2
  705. package/dist/cjs/MfaAuthVerifyFlowScreen-BAm3UuYA.js.map +0 -1
  706. package/dist/cjs/MfaEnrollmentFlowScreen-BE-pW_Cj.js +0 -2
  707. package/dist/cjs/MfaEnrollmentFlowScreen-BE-pW_Cj.js.map +0 -1
  708. package/dist/cjs/MfaVerifyFlowScreen-UtccFvR4.js +0 -2
  709. package/dist/cjs/MfaVerifyFlowScreen-UtccFvR4.js.map +0 -1
  710. package/dist/cjs/ModalFooter-BbzJuQiF.js +0 -40
  711. package/dist/cjs/ModalFooter-BbzJuQiF.js.map +0 -1
  712. package/dist/cjs/ModalHeader-BUbgfO0l.js +0 -369
  713. package/dist/cjs/ModalHeader-BUbgfO0l.js.map +0 -1
  714. package/dist/cjs/MoonpayStatusScreen-Bb7j_FN9.js +0 -17
  715. package/dist/cjs/MoonpayStatusScreen-Bb7j_FN9.js.map +0 -1
  716. package/dist/cjs/OAuthStatusScreen-BOmQzQZU.js +0 -2
  717. package/dist/cjs/OAuthStatusScreen-BOmQzQZU.js.map +0 -1
  718. package/dist/cjs/PasskeySelectSignupOrLogin-CZxtZLiT.js +0 -2
  719. package/dist/cjs/PasskeySelectSignupOrLogin-CZxtZLiT.js.map +0 -1
  720. package/dist/cjs/PasskeyStatusScreen-o1SQ2zKG.js +0 -4
  721. package/dist/cjs/PasskeyStatusScreen-o1SQ2zKG.js.map +0 -1
  722. package/dist/cjs/PasswordRecoveryScreen-DWtrMdJ6.js +0 -21
  723. package/dist/cjs/PasswordRecoveryScreen-DWtrMdJ6.js.map +0 -1
  724. package/dist/cjs/QrCode-3pPiU2wV.js +0 -17
  725. package/dist/cjs/QrCode-3pPiU2wV.js.map +0 -1
  726. package/dist/cjs/RecoveryOAuthStatusScreen-BmyR-9_2.js +0 -2
  727. package/dist/cjs/RecoveryOAuthStatusScreen-BmyR-9_2.js.map +0 -1
  728. package/dist/cjs/RecoveryPasswordCreateScreen-Hf3r5jKG.js +0 -2
  729. package/dist/cjs/RecoveryPasswordCreateScreen-Hf3r5jKG.js.map +0 -1
  730. package/dist/cjs/RecoverySelectionScreen-qxaDGOSO.js +0 -8
  731. package/dist/cjs/RecoverySelectionScreen-qxaDGOSO.js.map +0 -1
  732. package/dist/cjs/Screen-qFaGOvbN.js +0 -184
  733. package/dist/cjs/Screen-qFaGOvbN.js.map +0 -1
  734. package/dist/cjs/ScreenLayout-BBqo5fsB.js +0 -2
  735. package/dist/cjs/ScreenLayout-BBqo5fsB.js.map +0 -1
  736. package/dist/cjs/SelectSourceAsset-D2OPK-kI.js +0 -141
  737. package/dist/cjs/SelectSourceAsset-D2OPK-kI.js.map +0 -1
  738. package/dist/cjs/SetAutomaticRecoveryScreen-D-sJ4Pus.js +0 -15
  739. package/dist/cjs/SetAutomaticRecoveryScreen-D-sJ4Pus.js.map +0 -1
  740. package/dist/cjs/SetWalletPasswordForm-BxJ5Hnzf.js +0 -13
  741. package/dist/cjs/SetWalletPasswordForm-BxJ5Hnzf.js.map +0 -1
  742. package/dist/cjs/SignRequestScreen-4x8M70Qe.js +0 -27
  743. package/dist/cjs/SignRequestScreen-4x8M70Qe.js.map +0 -1
  744. package/dist/cjs/SkeuomorphicDebitCard-Cx7tUgwx.js +0 -150
  745. package/dist/cjs/SkeuomorphicDebitCard-Cx7tUgwx.js.map +0 -1
  746. package/dist/cjs/SolanaWalletConnector-B-zVzAVx.js +0 -2
  747. package/dist/cjs/SolanaWalletConnector-B-zVzAVx.js.map +0 -1
  748. package/dist/cjs/StandardSignAndSendTransactionScreen-CcM4sNRI.js +0 -21
  749. package/dist/cjs/StandardSignAndSendTransactionScreen-CcM4sNRI.js.map +0 -1
  750. package/dist/cjs/TelegramAuthScreen-CEKJNxLo.js +0 -2
  751. package/dist/cjs/TelegramAuthScreen-CEKJNxLo.js.map +0 -1
  752. package/dist/cjs/TransactionDetails-DavlQIyL.js +0 -112
  753. package/dist/cjs/TransactionDetails-DavlQIyL.js.map +0 -1
  754. package/dist/cjs/TransactionErrorView-BL19qpdn.js +0 -165
  755. package/dist/cjs/TransactionErrorView-BL19qpdn.js.map +0 -1
  756. package/dist/cjs/TransferFromWalletScreen-8bl4wgGQ.js +0 -32
  757. package/dist/cjs/TransferFromWalletScreen-8bl4wgGQ.js.map +0 -1
  758. package/dist/cjs/TransferOrBridgeLoadingScreen-sL4IRS7r.js +0 -7
  759. package/dist/cjs/TransferOrBridgeLoadingScreen-sL4IRS7r.js.map +0 -1
  760. package/dist/cjs/TurnstileWrapper-sd-HnI-1.js +0 -2
  761. package/dist/cjs/TurnstileWrapper-sd-HnI-1.js.map +0 -1
  762. package/dist/cjs/UpdateEmailScreen-CcfZCE8B.js +0 -2
  763. package/dist/cjs/UpdateEmailScreen-CcfZCE8B.js.map +0 -1
  764. package/dist/cjs/UpdatePhoneScreen-EraVoNCa.js +0 -2
  765. package/dist/cjs/UpdatePhoneScreen-EraVoNCa.js.map +0 -1
  766. package/dist/cjs/UserLimitReachedScreen-0Vld7Gdl.js +0 -2
  767. package/dist/cjs/UserLimitReachedScreen-0Vld7Gdl.js.map +0 -1
  768. package/dist/cjs/WalletInfoCard-fNt5ylKM.js +0 -30
  769. package/dist/cjs/WalletInfoCard-fNt5ylKM.js.map +0 -1
  770. package/dist/cjs/WalletInterstitialScreen-DoRUDUWB.js +0 -2
  771. package/dist/cjs/WalletInterstitialScreen-DoRUDUWB.js.map +0 -1
  772. package/dist/cjs/WalletLink-ciq0c_ge.js +0 -23
  773. package/dist/cjs/WalletLink-ciq0c_ge.js.map +0 -1
  774. package/dist/cjs/WalletOverflowButton-BqpMrfE3.js +0 -2
  775. package/dist/cjs/WalletOverflowButton-BqpMrfE3.js.map +0 -1
  776. package/dist/cjs/coinbase-5RFtJveU.js +0 -2
  777. package/dist/cjs/coinbase-5RFtJveU.js.map +0 -1
  778. package/dist/cjs/ethers-MiA2x8y2.js +0 -2
  779. package/dist/cjs/ethers-MiA2x8y2.js.map +0 -1
  780. package/dist/cjs/get-entropy-details-for-user-CROWNXJE.js +0 -2
  781. package/dist/cjs/get-entropy-details-for-user-CROWNXJE.js.map +0 -1
  782. package/dist/cjs/getErc20Balance-BAE1FTgj.js +0 -2
  783. package/dist/cjs/getErc20Balance-BAE1FTgj.js.map +0 -1
  784. package/dist/cjs/getErc20TokenInfo-C1sLxM-W.js +0 -2
  785. package/dist/cjs/getErc20TokenInfo-C1sLxM-W.js.map +0 -1
  786. package/dist/cjs/getPublicClient-CrkRktPd.js +0 -2
  787. package/dist/cjs/getPublicClient-CrkRktPd.js.map +0 -1
  788. package/dist/cjs/getUsdcMintAddress-D4F8Bdos.js +0 -2
  789. package/dist/cjs/getUsdcMintAddress-D4F8Bdos.js.map +0 -1
  790. package/dist/cjs/guards-Be3h1l16.js +0 -2
  791. package/dist/cjs/guards-Be3h1l16.js.map +0 -1
  792. package/dist/cjs/index-BWDdCGe_.js +0 -34
  793. package/dist/cjs/index-BWDdCGe_.js.map +0 -1
  794. package/dist/cjs/index-DdWCn0ji.js +0 -13
  795. package/dist/cjs/index-DdWCn0ji.js.map +0 -1
  796. package/dist/cjs/index-zwM8IPE7.js +0 -2
  797. package/dist/cjs/index-zwM8IPE7.js.map +0 -1
  798. package/dist/cjs/logger-DhLN0uxv.js +0 -2
  799. package/dist/cjs/logger-DhLN0uxv.js.map +0 -1
  800. package/dist/cjs/modal-context-B_XXHDOv.js +0 -2
  801. package/dist/cjs/modal-context-B_XXHDOv.js.map +0 -1
  802. package/dist/cjs/pkce-BiwOfku1.js +0 -2
  803. package/dist/cjs/pkce-BiwOfku1.js.map +0 -1
  804. package/dist/cjs/privy-context-DsyxVZlv.js +0 -2
  805. package/dist/cjs/privy-context-DsyxVZlv.js.map +0 -1
  806. package/dist/cjs/shared-ChcRxyxu.js +0 -194
  807. package/dist/cjs/shared-ChcRxyxu.js.map +0 -1
  808. package/dist/cjs/shouldProceedtoEmbeddedWalletCreationFlow-JseeQTpT.js +0 -2
  809. package/dist/cjs/shouldProceedtoEmbeddedWalletCreationFlow-JseeQTpT.js.map +0 -1
  810. package/dist/cjs/simulateTransaction-Diy1wD9N.js +0 -2
  811. package/dist/cjs/simulateTransaction-Diy1wD9N.js.map +0 -1
  812. package/dist/cjs/smart-wallets-B8loHiO0.js +0 -2
  813. package/dist/cjs/smart-wallets-B8loHiO0.js.map +0 -1
  814. package/dist/cjs/storage-Aiya4i4j.js +0 -2
  815. package/dist/cjs/storage-Aiya4i4j.js.map +0 -1
  816. package/dist/cjs/styles-DU5U1DOg.js +0 -93
  817. package/dist/cjs/styles-DU5U1DOg.js.map +0 -1
  818. package/dist/cjs/styles-gLR3AMgc.js +0 -192
  819. package/dist/cjs/styles-gLR3AMgc.js.map +0 -1
  820. package/dist/cjs/to-ui-error-jZsRcW4d.js +0 -5
  821. package/dist/cjs/to-ui-error-jZsRcW4d.js.map +0 -1
  822. package/dist/cjs/toViemAccount-C6hv0FJt.js +0 -2
  823. package/dist/cjs/toViemAccount-C6hv0FJt.js.map +0 -1
  824. package/dist/cjs/transformOptionsToCamelCase-BVX5fwqO.js +0 -2
  825. package/dist/cjs/transformOptionsToCamelCase-BVX5fwqO.js.map +0 -1
  826. package/dist/cjs/use-export-wallet-CBcx2HKD.js +0 -2
  827. package/dist/cjs/use-export-wallet-CBcx2HKD.js.map +0 -1
  828. package/dist/cjs/use-headless-crypto-deposit-BFttjCyg.js +0 -2
  829. package/dist/cjs/use-headless-crypto-deposit-BFttjCyg.js.map +0 -1
  830. package/dist/cjs/use-sign-with-user-signer-CN7WQvF4.js +0 -2
  831. package/dist/cjs/use-sign-with-user-signer-CN7WQvF4.js.map +0 -1
  832. package/dist/cjs/use-unlink-wallet-Cl7EkDNz.js +0 -2
  833. package/dist/cjs/use-unlink-wallet-Cl7EkDNz.js.map +0 -1
  834. package/dist/cjs/useActiveWallet-BArHRtzy.js +0 -124
  835. package/dist/cjs/useActiveWallet-BArHRtzy.js.map +0 -1
  836. package/dist/cjs/useGetTokenPrice-B6sSz4CS.js +0 -2
  837. package/dist/cjs/useGetTokenPrice-B6sSz4CS.js.map +0 -1
  838. package/dist/cjs/useI18n-C3Fjsf8P.js +0 -2
  839. package/dist/cjs/useI18n-C3Fjsf8P.js.map +0 -1
  840. package/dist/cjs/useSendTransaction-BrJ3sXqs.js +0 -402
  841. package/dist/cjs/useSendTransaction-BrJ3sXqs.js.map +0 -1
  842. package/dist/cjs/useWalletBalance-VIaO75rj.js +0 -2
  843. package/dist/cjs/useWalletBalance-VIaO75rj.js.map +0 -1
  844. package/dist/cjs/useWallets-kkWgF60s.js +0 -2
  845. package/dist/cjs/useWallets-kkWgF60s.js.map +0 -1
  846. package/dist/cjs/wallet-connect-ccexMfEw.js +0 -2
  847. package/dist/cjs/wallet-connect-ccexMfEw.js.map +0 -1
  848. package/dist/cjs/walletconnect-v2-C3hk2XeJ.js +0 -2
  849. package/dist/cjs/walletconnect-v2-C3hk2XeJ.js.map +0 -1
  850. package/dist/dts/events-context-CfPf4Khg.d.mts +0 -328
  851. package/dist/dts/events-context-CfPf4Khg.d.ts +0 -328
  852. package/dist/dts/importWallet-BrYNRo1v.d.mts +0 -12
  853. package/dist/dts/importWallet-BrYNRo1v.d.ts +0 -12
  854. package/dist/dts/toViemAccount-B4MB_imJ.d.mts +0 -27
  855. package/dist/dts/toViemAccount-B4MB_imJ.d.ts +0 -27
  856. package/dist/dts/types-Bz_bVOEe.d.mts +0 -2840
  857. package/dist/dts/types-Bz_bVOEe.d.ts +0 -2840
  858. package/dist/dts/use-headless-crypto-deposit-DnTCCMq5.d.mts +0 -172
  859. package/dist/dts/use-headless-crypto-deposit-DnTCCMq5.d.ts +0 -172
  860. package/dist/dts/useUpdateAccount-CEQ8ue0m.d.mts +0 -27
  861. package/dist/dts/useUpdateAccount-CEQ8ue0m.d.ts +0 -27
  862. package/dist/esm/AccountNotFoundScreen-B9SpFYv_.mjs +0 -2
  863. package/dist/esm/AccountNotFoundScreen-B9SpFYv_.mjs.map +0 -1
  864. package/dist/esm/AddFundsSelectionScreen-Cp50npgE.mjs +0 -8
  865. package/dist/esm/AddFundsSelectionScreen-Cp50npgE.mjs.map +0 -1
  866. package/dist/esm/Address-CBktSMl6.mjs +0 -18
  867. package/dist/esm/Address-CBktSMl6.mjs.map +0 -1
  868. package/dist/esm/AffirmativeConsentScreen-DEl3TU_w.mjs +0 -7
  869. package/dist/esm/AffirmativeConsentScreen-DEl3TU_w.mjs.map +0 -1
  870. package/dist/esm/AllowlistRejectionScreen-0bBWesbd.mjs +0 -2
  871. package/dist/esm/AllowlistRejectionScreen-0bBWesbd.mjs.map +0 -1
  872. package/dist/esm/AuthenticateWithWalletScreen-D7Uwj82Z.mjs +0 -2
  873. package/dist/esm/AuthenticateWithWalletScreen-D7Uwj82Z.mjs.map +0 -1
  874. package/dist/esm/AwaitingEvmToSolBridgingScreen-c32ov3ip.mjs +0 -3
  875. package/dist/esm/AwaitingEvmToSolBridgingScreen-c32ov3ip.mjs.map +0 -1
  876. package/dist/esm/AwaitingExternalEthereumTransferScreen-BiwlPWW_.mjs +0 -3
  877. package/dist/esm/AwaitingExternalEthereumTransferScreen-BiwlPWW_.mjs.map +0 -1
  878. package/dist/esm/AwaitingPasswordlessCodeScreen-Chki3FL-.mjs +0 -104
  879. package/dist/esm/AwaitingPasswordlessCodeScreen-Chki3FL-.mjs.map +0 -1
  880. package/dist/esm/AwaitingSolToEvmBridgingScreen-Bz20PRm3.mjs +0 -3
  881. package/dist/esm/AwaitingSolToEvmBridgingScreen-Bz20PRm3.mjs.map +0 -1
  882. package/dist/esm/BridgeNetworkSelectionView-DgcnQYMN.mjs +0 -69
  883. package/dist/esm/BridgeNetworkSelectionView-DgcnQYMN.mjs.map +0 -1
  884. package/dist/esm/CaptchaScreen-BYX-6oWZ.mjs +0 -2
  885. package/dist/esm/CaptchaScreen-BYX-6oWZ.mjs.map +0 -1
  886. package/dist/esm/Chip-CZKIKt9K.mjs +0 -27
  887. package/dist/esm/Chip-CZKIKt9K.mjs.map +0 -1
  888. package/dist/esm/CoinbaseOnrampStatusScreen-pYO_08_W.mjs +0 -17
  889. package/dist/esm/CoinbaseOnrampStatusScreen-pYO_08_W.mjs.map +0 -1
  890. package/dist/esm/ConnectEmailForm-DLNaf6Z3.mjs +0 -4
  891. package/dist/esm/ConnectEmailForm-DLNaf6Z3.mjs.map +0 -1
  892. package/dist/esm/ConnectLedgerScreen-BFbarRqQ.mjs +0 -10
  893. package/dist/esm/ConnectLedgerScreen-BFbarRqQ.mjs.map +0 -1
  894. package/dist/esm/ConnectOnlyLandingScreen-C_Cj7t_7.mjs +0 -2
  895. package/dist/esm/ConnectOnlyLandingScreen-C_Cj7t_7.mjs.map +0 -1
  896. package/dist/esm/ConnectOnlyStatusScreen-CwRooSlQ.mjs +0 -2
  897. package/dist/esm/ConnectOnlyStatusScreen-CwRooSlQ.mjs.map +0 -1
  898. package/dist/esm/ConnectOrCreateScreen-DN1ZbRmk.mjs +0 -2
  899. package/dist/esm/ConnectOrCreateScreen-DN1ZbRmk.mjs.map +0 -1
  900. package/dist/esm/ConnectPhoneForm-ClF_-AmS.mjs +0 -96
  901. package/dist/esm/ConnectPhoneForm-ClF_-AmS.mjs.map +0 -1
  902. package/dist/esm/ConnectWalletView-DqlFHVld.mjs +0 -75
  903. package/dist/esm/ConnectWalletView-DqlFHVld.mjs.map +0 -1
  904. package/dist/esm/ConnectionStatusScreen-CZQwhq_w.mjs +0 -8
  905. package/dist/esm/ConnectionStatusScreen-CZQwhq_w.mjs.map +0 -1
  906. package/dist/esm/CrossAppAuthScreen-Bwi02hBW.mjs +0 -2
  907. package/dist/esm/CrossAppAuthScreen-Bwi02hBW.mjs.map +0 -1
  908. package/dist/esm/CustomLandingScreenView-BQmEkvwE.mjs +0 -24
  909. package/dist/esm/CustomLandingScreenView-BQmEkvwE.mjs.map +0 -1
  910. package/dist/esm/DelegatedActionsConsentScreen-B8wb-loW.mjs +0 -2
  911. package/dist/esm/DelegatedActionsConsentScreen-B8wb-loW.mjs.map +0 -1
  912. package/dist/esm/DelegatedActionsRevokeScreen-B_Lcd8qO.mjs +0 -2
  913. package/dist/esm/DelegatedActionsRevokeScreen-B_Lcd8qO.mjs.map +0 -1
  914. package/dist/esm/DepositAddressAddressStepView-CoDv_wVP.mjs +0 -188
  915. package/dist/esm/DepositAddressAddressStepView-CoDv_wVP.mjs.map +0 -1
  916. package/dist/esm/DepositAddressScreen-B0oVCK9j.mjs +0 -9
  917. package/dist/esm/DepositAddressScreen-B0oVCK9j.mjs.map +0 -1
  918. package/dist/esm/DepositAddressV3Screen-Y0EuaPNy.mjs +0 -2
  919. package/dist/esm/DepositAddressV3Screen-Y0EuaPNy.mjs.map +0 -1
  920. package/dist/esm/EmailInputForm-Cqo1mda8.mjs +0 -125
  921. package/dist/esm/EmailInputForm-Cqo1mda8.mjs.map +0 -1
  922. package/dist/esm/EmbeddedWalletConnectingScreen-2ILXAv-b.mjs +0 -2
  923. package/dist/esm/EmbeddedWalletConnectingScreen-2ILXAv-b.mjs.map +0 -1
  924. package/dist/esm/EmbeddedWalletCreatedScreen-BFJGQJcL.mjs +0 -2
  925. package/dist/esm/EmbeddedWalletCreatedScreen-BFJGQJcL.mjs.map +0 -1
  926. package/dist/esm/EmbeddedWalletKeyExportScreen-XmwnltCH.mjs +0 -25
  927. package/dist/esm/EmbeddedWalletKeyExportScreen-XmwnltCH.mjs.map +0 -1
  928. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-D_rdyWRS.mjs +0 -2
  929. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-D_rdyWRS.mjs.map +0 -1
  930. package/dist/esm/EmbeddedWalletPasswordUpdateScreen-DRFPH900.mjs +0 -2
  931. package/dist/esm/EmbeddedWalletPasswordUpdateScreen-DRFPH900.mjs.map +0 -1
  932. package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-BZ8jbnus.mjs +0 -2
  933. package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-BZ8jbnus.mjs.map +0 -1
  934. package/dist/esm/EnrollTotp-UjpOYfL0.mjs +0 -64
  935. package/dist/esm/EnrollTotp-UjpOYfL0.mjs.map +0 -1
  936. package/dist/esm/ErrorScreen-9sAVKzUM.mjs +0 -5
  937. package/dist/esm/ErrorScreen-9sAVKzUM.mjs.map +0 -1
  938. package/dist/esm/FarcasterConnectStatusScreen-6lZrTuhf.mjs +0 -76
  939. package/dist/esm/FarcasterConnectStatusScreen-6lZrTuhf.mjs.map +0 -1
  940. package/dist/esm/FarcasterSignerStatusScreen-DgSIM98B.mjs +0 -29
  941. package/dist/esm/FarcasterSignerStatusScreen-DgSIM98B.mjs.map +0 -1
  942. package/dist/esm/FiatOnrampScreen-BDUH98EG.mjs +0 -579
  943. package/dist/esm/FiatOnrampScreen-BDUH98EG.mjs.map +0 -1
  944. package/dist/esm/FundSolWalletWithExternalSolanaWallet-BXhNEqwg.mjs +0 -2
  945. package/dist/esm/FundSolWalletWithExternalSolanaWallet-BXhNEqwg.mjs.map +0 -1
  946. package/dist/esm/FundWalletMethodHeader-gK9RpR64.mjs +0 -2
  947. package/dist/esm/FundWalletMethodHeader-gK9RpR64.mjs.map +0 -1
  948. package/dist/esm/FundWithBankDepositScreen-DIbTqwpW.mjs +0 -59
  949. package/dist/esm/FundWithBankDepositScreen-DIbTqwpW.mjs.map +0 -1
  950. package/dist/esm/FundingEditAmountScreen-CKcjfwrj.mjs +0 -2
  951. package/dist/esm/FundingEditAmountScreen-CKcjfwrj.mjs.map +0 -1
  952. package/dist/esm/FundingMethodSelectionScreen-CRHFZ0jR.mjs +0 -2
  953. package/dist/esm/FundingMethodSelectionScreen-CRHFZ0jR.mjs.map +0 -1
  954. package/dist/esm/InAppBrowserLoginNotPossible-BXumAgFS.mjs +0 -2
  955. package/dist/esm/InAppBrowserLoginNotPossible-BXumAgFS.mjs.map +0 -1
  956. package/dist/esm/InstallWalletScreen-1fx_bmef.mjs +0 -2
  957. package/dist/esm/InstallWalletScreen-1fx_bmef.mjs.map +0 -1
  958. package/dist/esm/LandingScreen-Bs3G-hCE.mjs +0 -2
  959. package/dist/esm/LandingScreen-Bs3G-hCE.mjs.map +0 -1
  960. package/dist/esm/Layouts-BMRfo5hw.mjs +0 -78
  961. package/dist/esm/Layouts-BMRfo5hw.mjs.map +0 -1
  962. package/dist/esm/LinkConflictScreen-D46-4FwZ.mjs +0 -78
  963. package/dist/esm/LinkConflictScreen-D46-4FwZ.mjs.map +0 -1
  964. package/dist/esm/LinkEmailScreen-CQqiCWdn.mjs +0 -2
  965. package/dist/esm/LinkEmailScreen-CQqiCWdn.mjs.map +0 -1
  966. package/dist/esm/LinkPasskeyScreen-dXxvUq98.mjs +0 -118
  967. package/dist/esm/LinkPasskeyScreen-dXxvUq98.mjs.map +0 -1
  968. package/dist/esm/LinkPhoneScreen-Cw5y4N6W.mjs +0 -2
  969. package/dist/esm/LinkPhoneScreen-Cw5y4N6W.mjs.map +0 -1
  970. package/dist/esm/LoginFailedScreen-Cs56GPLx.mjs +0 -2
  971. package/dist/esm/LoginFailedScreen-Cs56GPLx.mjs.map +0 -1
  972. package/dist/esm/ManualTransferScreen-BIGIgqND.mjs +0 -2
  973. package/dist/esm/ManualTransferScreen-BIGIgqND.mjs.map +0 -1
  974. package/dist/esm/MfaAuthEnrollmentFlowScreen-CCqOIsfc.mjs +0 -2
  975. package/dist/esm/MfaAuthEnrollmentFlowScreen-CCqOIsfc.mjs.map +0 -1
  976. package/dist/esm/MfaAuthVerifyFlowScreen-BFyCF99D.mjs +0 -2
  977. package/dist/esm/MfaAuthVerifyFlowScreen-BFyCF99D.mjs.map +0 -1
  978. package/dist/esm/MfaEnrollmentFlowScreen-Di5YNENZ.mjs +0 -2
  979. package/dist/esm/MfaEnrollmentFlowScreen-Di5YNENZ.mjs.map +0 -1
  980. package/dist/esm/MfaVerifyFlowScreen-B6u70dcW.mjs +0 -2
  981. package/dist/esm/MfaVerifyFlowScreen-B6u70dcW.mjs.map +0 -1
  982. package/dist/esm/ModalFooter-Z_ey7Y1m.mjs +0 -40
  983. package/dist/esm/ModalFooter-Z_ey7Y1m.mjs.map +0 -1
  984. package/dist/esm/ModalHeader-CKp8o2fU.mjs +0 -369
  985. package/dist/esm/ModalHeader-CKp8o2fU.mjs.map +0 -1
  986. package/dist/esm/MoonpayStatusScreen-DvAxwYbj.mjs +0 -17
  987. package/dist/esm/MoonpayStatusScreen-DvAxwYbj.mjs.map +0 -1
  988. package/dist/esm/OAuthStatusScreen-G-IbjJv-.mjs +0 -2
  989. package/dist/esm/OAuthStatusScreen-G-IbjJv-.mjs.map +0 -1
  990. package/dist/esm/PasskeySelectSignupOrLogin-DVYvHm4K.mjs +0 -2
  991. package/dist/esm/PasskeySelectSignupOrLogin-DVYvHm4K.mjs.map +0 -1
  992. package/dist/esm/PasskeyStatusScreen-BxpAQoU3.mjs +0 -4
  993. package/dist/esm/PasskeyStatusScreen-BxpAQoU3.mjs.map +0 -1
  994. package/dist/esm/PasswordRecoveryScreen-CjVUmcG3.mjs +0 -21
  995. package/dist/esm/PasswordRecoveryScreen-CjVUmcG3.mjs.map +0 -1
  996. package/dist/esm/PinInput-DbZ0b1i1.mjs +0 -248
  997. package/dist/esm/PinInput-DbZ0b1i1.mjs.map +0 -1
  998. package/dist/esm/QrCode-DxVwYjF5.mjs +0 -17
  999. package/dist/esm/QrCode-DxVwYjF5.mjs.map +0 -1
  1000. package/dist/esm/RecoveryOAuthStatusScreen-EOUZJ1L2.mjs +0 -2
  1001. package/dist/esm/RecoveryOAuthStatusScreen-EOUZJ1L2.mjs.map +0 -1
  1002. package/dist/esm/RecoveryPasswordCreateScreen-CAEeC-r0.mjs +0 -2
  1003. package/dist/esm/RecoveryPasswordCreateScreen-CAEeC-r0.mjs.map +0 -1
  1004. package/dist/esm/RecoverySelectionScreen-pp7SjGIM.mjs +0 -8
  1005. package/dist/esm/RecoverySelectionScreen-pp7SjGIM.mjs.map +0 -1
  1006. package/dist/esm/Row-C9vrS4Zi.mjs +0 -12
  1007. package/dist/esm/Row-C9vrS4Zi.mjs.map +0 -1
  1008. package/dist/esm/Screen-Vc5UlMFL.mjs +0 -183
  1009. package/dist/esm/Screen-Vc5UlMFL.mjs.map +0 -1
  1010. package/dist/esm/ScreenLayout-Cgw3TtUo.mjs +0 -2
  1011. package/dist/esm/ScreenLayout-Cgw3TtUo.mjs.map +0 -1
  1012. package/dist/esm/SelectSourceAsset-BaW0tqMm.mjs +0 -141
  1013. package/dist/esm/SelectSourceAsset-BaW0tqMm.mjs.map +0 -1
  1014. package/dist/esm/SetAutomaticRecoveryScreen-DKULUoyp.mjs +0 -15
  1015. package/dist/esm/SetAutomaticRecoveryScreen-DKULUoyp.mjs.map +0 -1
  1016. package/dist/esm/SetWalletPasswordForm-BNBGyZa3.mjs +0 -13
  1017. package/dist/esm/SetWalletPasswordForm-BNBGyZa3.mjs.map +0 -1
  1018. package/dist/esm/SignRequestScreen-DvO5b9v-.mjs +0 -27
  1019. package/dist/esm/SignRequestScreen-DvO5b9v-.mjs.map +0 -1
  1020. package/dist/esm/SkeuomorphicDebitCard-DRKjLEi0.mjs +0 -150
  1021. package/dist/esm/SkeuomorphicDebitCard-DRKjLEi0.mjs.map +0 -1
  1022. package/dist/esm/SolanaWalletConnector-DP0mkpPf.mjs +0 -2
  1023. package/dist/esm/SolanaWalletConnector-DP0mkpPf.mjs.map +0 -1
  1024. package/dist/esm/StandardSignAndSendTransactionScreen-BGdsq5HJ.mjs +0 -21
  1025. package/dist/esm/StandardSignAndSendTransactionScreen-BGdsq5HJ.mjs.map +0 -1
  1026. package/dist/esm/Table-BYZc06y7.mjs +0 -2
  1027. package/dist/esm/Table-BYZc06y7.mjs.map +0 -1
  1028. package/dist/esm/TelegramAuthScreen-CWgfsijm.mjs +0 -2
  1029. package/dist/esm/TelegramAuthScreen-CWgfsijm.mjs.map +0 -1
  1030. package/dist/esm/TransactionDetails-BNc8EcA9.mjs +0 -112
  1031. package/dist/esm/TransactionDetails-BNc8EcA9.mjs.map +0 -1
  1032. package/dist/esm/TransactionErrorView-ahqVL_yY.mjs +0 -165
  1033. package/dist/esm/TransactionErrorView-ahqVL_yY.mjs.map +0 -1
  1034. package/dist/esm/TransferFromWalletScreen-Bn762Cbs.mjs +0 -32
  1035. package/dist/esm/TransferFromWalletScreen-Bn762Cbs.mjs.map +0 -1
  1036. package/dist/esm/TransferOrBridgeLoadingScreen-75hxYxY5.mjs +0 -7
  1037. package/dist/esm/TransferOrBridgeLoadingScreen-75hxYxY5.mjs.map +0 -1
  1038. package/dist/esm/TurnstileWrapper-B0ryM3kV.mjs +0 -2
  1039. package/dist/esm/TurnstileWrapper-B0ryM3kV.mjs.map +0 -1
  1040. package/dist/esm/UpdateEmailScreen-CC8z4BMK.mjs +0 -2
  1041. package/dist/esm/UpdateEmailScreen-CC8z4BMK.mjs.map +0 -1
  1042. package/dist/esm/UpdatePhoneScreen-DAbd8Y90.mjs +0 -2
  1043. package/dist/esm/UpdatePhoneScreen-DAbd8Y90.mjs.map +0 -1
  1044. package/dist/esm/UserLimitReachedScreen-DL9hbFa5.mjs +0 -2
  1045. package/dist/esm/UserLimitReachedScreen-DL9hbFa5.mjs.map +0 -1
  1046. package/dist/esm/WalletInfoCard-DN5EJsI1.mjs +0 -30
  1047. package/dist/esm/WalletInfoCard-DN5EJsI1.mjs.map +0 -1
  1048. package/dist/esm/WalletInterstitialScreen-Br_YJJfQ.mjs +0 -2
  1049. package/dist/esm/WalletInterstitialScreen-Br_YJJfQ.mjs.map +0 -1
  1050. package/dist/esm/WalletLink-BK7xQj-S.mjs +0 -23
  1051. package/dist/esm/WalletLink-BK7xQj-S.mjs.map +0 -1
  1052. package/dist/esm/WalletOverflowButton-Ck_sBjXW.mjs +0 -2
  1053. package/dist/esm/WalletOverflowButton-Ck_sBjXW.mjs.map +0 -1
  1054. package/dist/esm/coinbase-C_174MqN.mjs +0 -2
  1055. package/dist/esm/coinbase-C_174MqN.mjs.map +0 -1
  1056. package/dist/esm/constants-D3o1hEux.mjs +0 -2
  1057. package/dist/esm/constants-D3o1hEux.mjs.map +0 -1
  1058. package/dist/esm/errors-BQ3N-RVt.mjs +0 -2
  1059. package/dist/esm/errors-BQ3N-RVt.mjs.map +0 -1
  1060. package/dist/esm/ethers-zTjbodk5.mjs +0 -2
  1061. package/dist/esm/ethers-zTjbodk5.mjs.map +0 -1
  1062. package/dist/esm/frame-CzIkml29.mjs +0 -2
  1063. package/dist/esm/frame-CzIkml29.mjs.map +0 -1
  1064. package/dist/esm/get-entropy-details-for-user-BoHuHklb.mjs +0 -2
  1065. package/dist/esm/get-entropy-details-for-user-BoHuHklb.mjs.map +0 -1
  1066. package/dist/esm/getEmbeddedConnectedWallet-CM6cDQCS.mjs +0 -2
  1067. package/dist/esm/getEmbeddedConnectedWallet-CM6cDQCS.mjs.map +0 -1
  1068. package/dist/esm/getErc20Balance-jXNpFf0N.mjs +0 -2
  1069. package/dist/esm/getErc20Balance-jXNpFf0N.mjs.map +0 -1
  1070. package/dist/esm/getErc20TokenInfo-BNTrzLMP.mjs +0 -2
  1071. package/dist/esm/getErc20TokenInfo-BNTrzLMP.mjs.map +0 -1
  1072. package/dist/esm/getFormattedUsdFromLamports-CQLJQZzJ.mjs +0 -2
  1073. package/dist/esm/getFormattedUsdFromLamports-CQLJQZzJ.mjs.map +0 -1
  1074. package/dist/esm/getPublicClient-39RNz8yA.mjs +0 -2
  1075. package/dist/esm/getPublicClient-39RNz8yA.mjs.map +0 -1
  1076. package/dist/esm/getUsdcMintAddress-C28SljRU.mjs +0 -2
  1077. package/dist/esm/getUsdcMintAddress-C28SljRU.mjs.map +0 -1
  1078. package/dist/esm/guards-DZc6JJJZ.mjs +0 -2
  1079. package/dist/esm/guards-DZc6JJJZ.mjs.map +0 -1
  1080. package/dist/esm/index-CaWn8tEz.mjs +0 -34
  1081. package/dist/esm/index-CaWn8tEz.mjs.map +0 -1
  1082. package/dist/esm/index-D47Zkokl.mjs +0 -2
  1083. package/dist/esm/index-D47Zkokl.mjs.map +0 -1
  1084. package/dist/esm/index-DWKEyW_g.mjs +0 -13
  1085. package/dist/esm/index-DWKEyW_g.mjs.map +0 -1
  1086. package/dist/esm/internal-context-dfitw7Ot.mjs +0 -2
  1087. package/dist/esm/internal-context-dfitw7Ot.mjs.map +0 -1
  1088. package/dist/esm/logger-CsXm3oIv.mjs +0 -2
  1089. package/dist/esm/logger-CsXm3oIv.mjs.map +0 -1
  1090. package/dist/esm/modal-context-B9hh9Xpt.mjs +0 -2
  1091. package/dist/esm/modal-context-B9hh9Xpt.mjs.map +0 -1
  1092. package/dist/esm/paths-D5yr69aj.mjs +0 -2
  1093. package/dist/esm/paths-D5yr69aj.mjs.map +0 -1
  1094. package/dist/esm/pkce-Co6Y1xY-.mjs +0 -2
  1095. package/dist/esm/pkce-Co6Y1xY-.mjs.map +0 -1
  1096. package/dist/esm/privy-context-D_jO1TWW.mjs +0 -2
  1097. package/dist/esm/privy-context-D_jO1TWW.mjs.map +0 -1
  1098. package/dist/esm/reservoir-x-nGuZkT.mjs +0 -2
  1099. package/dist/esm/reservoir-x-nGuZkT.mjs.map +0 -1
  1100. package/dist/esm/shared-CZj36XbG.mjs +0 -194
  1101. package/dist/esm/shared-CZj36XbG.mjs.map +0 -1
  1102. package/dist/esm/shouldProceedtoEmbeddedWalletCreationFlow-DJJc76nd.mjs +0 -2
  1103. package/dist/esm/shouldProceedtoEmbeddedWalletCreationFlow-DJJc76nd.mjs.map +0 -1
  1104. package/dist/esm/simulateTransaction-D6eezyyr.mjs +0 -2
  1105. package/dist/esm/simulateTransaction-D6eezyyr.mjs.map +0 -1
  1106. package/dist/esm/smart-wallets-Bl2I3n4e.mjs +0 -2
  1107. package/dist/esm/smart-wallets-Bl2I3n4e.mjs.map +0 -1
  1108. package/dist/esm/storage-Ufl800Ne.mjs +0 -2
  1109. package/dist/esm/storage-Ufl800Ne.mjs.map +0 -1
  1110. package/dist/esm/styles-BlgKRcjh.mjs +0 -192
  1111. package/dist/esm/styles-BlgKRcjh.mjs.map +0 -1
  1112. package/dist/esm/styles-CbA1lSUS.mjs +0 -93
  1113. package/dist/esm/styles-CbA1lSUS.mjs.map +0 -1
  1114. package/dist/esm/styles-DVyDvTdj.mjs +0 -75
  1115. package/dist/esm/styles-DVyDvTdj.mjs.map +0 -1
  1116. package/dist/esm/to-ui-error-C26h8wzt.mjs +0 -5
  1117. package/dist/esm/to-ui-error-C26h8wzt.mjs.map +0 -1
  1118. package/dist/esm/toViemAccount-BQS52mmk.mjs +0 -2
  1119. package/dist/esm/toViemAccount-BQS52mmk.mjs.map +0 -1
  1120. package/dist/esm/transaction-CLaic3AD.mjs +0 -2
  1121. package/dist/esm/transaction-CLaic3AD.mjs.map +0 -1
  1122. package/dist/esm/transformOptionsToCamelCase-BffvSXnC.mjs +0 -2
  1123. package/dist/esm/transformOptionsToCamelCase-BffvSXnC.mjs.map +0 -1
  1124. package/dist/esm/twitter-BoAxhlj6.mjs +0 -2
  1125. package/dist/esm/twitter-BoAxhlj6.mjs.map +0 -1
  1126. package/dist/esm/use-export-wallet-DGlVY09e.mjs +0 -2
  1127. package/dist/esm/use-export-wallet-DGlVY09e.mjs.map +0 -1
  1128. package/dist/esm/use-headless-crypto-deposit-Hs-csfiY.mjs +0 -2
  1129. package/dist/esm/use-headless-crypto-deposit-Hs-csfiY.mjs.map +0 -1
  1130. package/dist/esm/use-sign-with-user-signer-hah-g8XO.mjs +0 -2
  1131. package/dist/esm/use-sign-with-user-signer-hah-g8XO.mjs.map +0 -1
  1132. package/dist/esm/use-unlink-wallet-0W73Ie1c.mjs +0 -2
  1133. package/dist/esm/use-unlink-wallet-0W73Ie1c.mjs.map +0 -1
  1134. package/dist/esm/useActiveWallet-BxlsUWvi.mjs +0 -124
  1135. package/dist/esm/useActiveWallet-BxlsUWvi.mjs.map +0 -1
  1136. package/dist/esm/useGetSolPrice-x7gfUIHJ.mjs +0 -2
  1137. package/dist/esm/useGetSolPrice-x7gfUIHJ.mjs.map +0 -1
  1138. package/dist/esm/useGetTokenPrice-RETX0Stv.mjs +0 -2
  1139. package/dist/esm/useGetTokenPrice-RETX0Stv.mjs.map +0 -1
  1140. package/dist/esm/useI18n-BfEuWTAv.mjs +0 -2
  1141. package/dist/esm/useI18n-BfEuWTAv.mjs.map +0 -1
  1142. package/dist/esm/useSendTransaction-BXaxj3-y.mjs +0 -402
  1143. package/dist/esm/useSendTransaction-BXaxj3-y.mjs.map +0 -1
  1144. package/dist/esm/useWalletBalance-CZnP5f_f.mjs +0 -2
  1145. package/dist/esm/useWalletBalance-CZnP5f_f.mjs.map +0 -1
  1146. package/dist/esm/useWallets-DrhruOac.mjs +0 -2
  1147. package/dist/esm/useWallets-DrhruOac.mjs.map +0 -1
  1148. package/dist/esm/wallet-connect-BzRVZr0q.mjs +0 -2
  1149. package/dist/esm/wallet-connect-BzRVZr0q.mjs.map +0 -1
  1150. package/dist/esm/walletconnect-registry-xxG8XLCb.mjs +0 -2
  1151. package/dist/esm/walletconnect-registry-xxG8XLCb.mjs.map +0 -1
  1152. package/dist/esm/walletconnect-v2-DFS-r2vG.mjs +0 -2
  1153. package/dist/esm/walletconnect-v2-DFS-r2vG.mjs.map +0 -1
@@ -1,2144 +1,1997 @@
1
- import { m as MfaSubmitArgs, c as UserRecoveryMethod, S as SessionSignerInput, E as EthereumRpcRequestType, n as SolanaRpcRequestType, o as EthereumRpcResponseType, p as SolanaRpcResponseType, q as PrivyFarcasterSignerInitResponse, r as EIP1193Provider, s as EntropyIdVerifier$1, H as HDWalletWithMetadata, u as RequestArguments, v as WalletConnector, B as BaseConnectedEthereumWallet, w as PrivyProxyProvider, x as WalletClientType, y as ConnectedWalletMetadata, z as PrivyClientConfig, A as SetBaseAccountSdkType, D as WalletListEntry, G as AppConfig, I as BaseConnectedWallet, J as ConnectorType, k as SolanaWalletConnector, U as User, K as ConnectWalletModalOptions, N as LoginModalOptions, i as CreateWalletOptions, W as Wallet, Q as SetWalletRecoveryOptions, g as SignMessageModalUIOptions, T as SignTypedDataParams, M as MfaMethod, V as UnsignedTransactionRequest, f as SendTransactionModalUIOptions, X as FundWalletConfig, C as ConnectedWallet, O as OAuthTokens, Y as CrossAppProviderDetails, Z as MoonpaySignRequest, _ as MoonpaySignResponse, $ as SiwsMessageType, L as LoginMethod, a0 as ExternalWalletMetadata, a1 as TelegramAuthResult, a2 as TelegramWebAppData, a3 as OAuthUserInfo, a4 as OAuthFlowState, a5 as LoginWithCode, a6 as OtpFlowState, a7 as PasskeyFlowState, a8 as SiweFlowState, a as LinkedAccountWithMetadata, a9 as BridgeProviders, aa as FundingResult, ab as BaseAccountSdkType, ac as UnsignedTransactionRequestWithChainId, ad as BaseConnectedWalletType, b as BaseConnectedSolanaWallet, ae as SignerInput, af as WalletWithMetadata, ag as TelegramAuthFlowState } from './types-Bz_bVOEe.mjs';
2
- export { ah as Apple, ai as AppleOAuthWithMetadata, aj as ContractUIOptions, ak as CrossAppAccount, al as CrossAppAccountWithMetadata, am as Discord, an as DiscordOAuthWithMetadata, ao as Email, ap as EmailWithMetadata, aq as Farcaster, ar as FarcasterWithMetadata, as as FundingStatus, at as Github, au as GithubOAuthWithMetadata, av as Google, aw as GoogleOAuthWithMetadata, ax as Line, ay as LineOAuthWithMetadata, az as LinkedAccountType, aA as LinkedIn, aB as LinkedInOAuthWithMetadata, aC as LoginMethodOrderOption, aD as MessageTypes, aE as MoonpayCurrencyCode, aF as MoonpayPaymentMethod, aG as NativeFundingConfig, aH as NonEmptyArray, aI as Passkey, aJ as PasskeyWithMetadata, aK as Phone, aL as PhoneWithMetadata, aM as PriceDisplayOptions, P as PrivyErrorCode, aN as PrivyI18nStrings, aO as Quantity, aP as SiwsFlowState, aQ as SmartWallet, aR as Telegram, aS as TelegramWithMetadata, aT as Tiktok, aU as TiktokOAuthWithMetadata, aV as TransactionLog, aW as TransactionReceipt, aX as TransactionUIOptions, aY as Twitter, aZ as TwitterOAuthWithMetadata, a_ as TypedMessage, a$ as createCrossTabUserSyncPlugin, b0 as createWalletCreationOnLoginPlugin } from './types-Bz_bVOEe.mjs';
1
+ import { n as WalletConnector, o as SetBaseAccountSdkType, p as WalletListEntry, A as AppConfig, q as BaseConnectedWallet, r as ConnectorType, l as SolanaWalletConnector, s as MobileWalletConfig, U as User$1, O as OAuthTokens, u as CrossAppProviderDetails, v as MoonpaySignRequest, w as MoonpaySignResponse, x as PrivyFarcasterSignerInitResponse, y as SiwsMessageType, L as LoginMethod, E as ExternalWalletMetadata, T as TelegramAuthResult, z as TelegramWebAppData, D as OAuthUserInfo, G as WalletConnectionState, H as MfaSubmitArgs, I as PrivyError, J as OpenPrivyModalFn, B as BaseConnectedEthereumWallet, a as LinkedAccountWithMetadata, K as PasskeyFlowState, N as EmbeddedWalletProxy, Q as RecoverEmbeddedWalletOpts, V as FundWalletConfig, X as FundingResult, Y as OtpFlowState, Z as SiweFlowState, _ as BaseAccountSdkType, $ as ConnectWalletModalOptions, a0 as LoginModalOptions, j as CreateWalletOptions, W as Wallet, a1 as SetWalletRecoveryOptions, g as SignMessageModalUIOptions, a2 as SignTypedDataParams, M as MfaMethod, a3 as UnsignedTransactionRequest, f as SendTransactionModalUIOptions, a4 as EIP1193Provider, a5 as EntropyIdVerifier, a6 as HDWalletWithMetadata, a7 as RequestArguments, a8 as PrivyProxyProvider, a9 as WalletClientType, aa as ConnectedWalletMetadata, ab as PrivyClientConfig, C as ConnectedWallet, ac as PrivyIframeErrorTypesType, ad as OAuthFlowState, ae as LoginWithCode, af as BankDepositSupportedFiatCurrency, ag as BridgeProviders, h as SupportedFiatCurrency, S as SessionSignerInput, ah as UnsignedTransactionRequestWithChainId, ai as BaseConnectedWalletType, b as BaseConnectedSolanaWallet, aj as SignerInput, ak as WalletWithMetadata, al as TelegramAuthFlowState } from './types-E5rom0tz.mjs';
2
+ export { am as Apple, an as AppleOAuthWithMetadata, ao as ContractUIOptions, ap as CrossAppAccount, aq as CrossAppAccountWithMetadata, ar as Discord, as as DiscordOAuthWithMetadata, at as Email, au as EmailWithMetadata, av as Farcaster, aw as FarcasterWithMetadata, ax as FundingStatus, ay as Github, az as GithubOAuthWithMetadata, aA as Google, aB as GoogleOAuthWithMetadata, aC as Line, aD as LineOAuthWithMetadata, aE as LinkedAccountType, aF as LinkedIn, aG as LinkedInOAuthWithMetadata, aH as LoginMethodOrderOption, aI as MessageTypes, aJ as MoonpayCurrencyCode, aK as MoonpayPaymentMethod, aL as NativeFundingConfig, aM as NonEmptyArray, aN as Passkey, aO as PasskeyWithMetadata, aP as Phone, aQ as PhoneWithMetadata, aR as PriceDisplayOptions, P as PrivyErrorCode, aS as PrivyI18nStrings, aT as Quantity, aU as SiwsFlowState, aV as SmartWallet, aW as Telegram, aX as TelegramWithMetadata, aY as Tiktok, aZ as TiktokOAuthWithMetadata, a_ as TransactionLog, a$ as TransactionReceipt, b0 as TransactionUIOptions, b1 as Twitter, b2 as TwitterOAuthWithMetadata, b3 as TypedMessage, b4 as createCrossTabUserSyncPlugin, b5 as createWalletCreationOnLoginPlugin } from './types-E5rom0tz.mjs';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { TurnstileProps } from '@marsidev/react-turnstile';
5
5
  import EventEmitter from 'eventemitter3';
6
6
  import { Store, EIP6963ProviderDetail } from 'mipd';
7
- import Privy, { Chain, RpcConfig, CookieWriteBehavior, GenerateAuthorizationSignatureInput, GenerateAuthorizationSignatureOutput, UpdateWalletInput } from '@privy-io/js-sdk-core';
7
+ import Privy, { RpcConfig, Chain, CookieWriteBehavior, rpc, GenerateAuthorizationSignatureInput, GenerateAuthorizationSignatureOutput, UpdateWalletInput } from '@privy-io/js-sdk-core';
8
8
  export { CookieWriteBehavior, CreateCryptoDepositAccountInput, CreateCryptoDepositAccountResponse, CryptoDepositAccountQuote, CryptoDepositAccountQuoteInput, CryptoDepositAsset, CryptoDepositAssetFilter, DepositAddressOrder, DepositAddressQuote, DepositConfig, GetCryptoDepositAccountNextOrderInput, GetCryptoDepositAccountNextOrderResponse, GetCryptoDepositAccountOrderInput, GetCryptoDepositAccountOrderResponse, DEFAULT_SUPPORTED_CHAINS as SUPPORTED_CHAINS, UpdateWalletInput, addPrivyRpcToChain, addRpcUrlOverrideToChain, createDataSuffixPlugin as dataSuffix } from '@privy-io/js-sdk-core';
9
9
  import * as _privy_io_api_types from '@privy-io/api-types';
10
- import { FirstClassChainType, PasskeyAuthenticateInput, OAuthProviderID, SmartWalletType, CustomOAuthProviderID, User as User$1, CoinbaseOnRampInitInput, CoinbaseOnRampInitResponse, CoinbaseOnRampStatusResponse, TransactionScanningRequestBody, TransactionScanningResponseBody, FiatOnrampEnvironment, SignatureOptions, TransferRequestBody, Wallets } from '@privy-io/api-types';
10
+ import { SmartWalletType, CustomOAuthProviderID, User, OAuthProviderID, CoinbaseOnRampInitInput, CoinbaseOnRampInitResponse, CoinbaseOnRampStatusResponse, TransactionScanningRequestBody, TransactionScanningResponseBody, SignatureOptions, FiatOnrampEnvironment, TransferRequestBody, Wallets } from '@privy-io/api-types';
11
11
  export { OAuthProviderID as OAuthProviderType } from '@privy-io/api-types';
12
- import * as viem from 'viem';
13
- import { createPublicClient, HttpTransport, Address, RpcSchema } from 'viem';
14
12
  import * as react from 'react';
15
- import { MouseEvent } from 'react';
13
+ import { Dispatch, SetStateAction, MutableRefObject, MouseEvent } from 'react';
14
+ import { StrictUnsignedTransactionRequestWithChainId } from '@privy-io/ethereum';
15
+ import { FetchOptions } from 'ofetch';
16
16
  import * as _simplewebauthn_browser from '@simplewebauthn/browser';
17
17
  import { PublicKeyCredentialRequestOptionsJSON } from '@simplewebauthn/browser';
18
- import { FetchOptions } from 'ofetch';
19
- import { P as PrivyEvents } from './events-context-CfPf4Khg.mjs';
20
- export { C as CallbackError } from './events-context-CfPf4Khg.mjs';
21
- export { u as useUpdateAccount } from './useUpdateAccount-CEQ8ue0m.mjs';
22
- import { B as BankDepositSupportedFiatCurrency, S as SupportedFiatCurrency, F as FiatOnrampPaymentMethodHint, i as FiatOnrampProviderHint, j as FundResult } from './use-headless-crypto-deposit-DnTCCMq5.mjs';
23
- export { A as AddFundsCryptoOptions, k as AddFundsDestination, l as AddFundsFiatOptions, m as AddFundsMethod, n as AddFundsOptions, o as AddFundsResult, p as DepositAddressModalErrorCode, D as DepositFundsCryptoOptions, a as DepositFundsDestination, b as DepositFundsFiatOptions, c as DepositFundsOptions, d as DepositFundsResult, q as UseAddFundsResult, U as UseDepositAddressResult, e as UseDepositFundsResult, f as UseHeadlessCryptoDepositResult, r as useAddFunds, u as useDepositAddress, g as useDepositFunds, h as useHeadlessCryptoDeposit } from './use-headless-crypto-deposit-DnTCCMq5.mjs';
24
- import { I as ImportWalletInput } from './importWallet-BrYNRo1v.mjs';
18
+ import * as viem from 'viem';
19
+ import { createPublicClient, HttpTransport, Address, RpcSchema } from 'viem';
20
+ import { P as PrivyEvents } from './events-context-BKZWaODu.mjs';
21
+ export { C as CallbackError } from './events-context-BKZWaODu.mjs';
22
+ export { u as useUpdateAccount } from './useUpdateAccount-00uzwN4z.mjs';
23
+ import { F as FiatOnrampPaymentMethodHint, i as FiatOnrampProviderHint, j as FundResult } from './use-headless-crypto-deposit-DFepH_MJ.mjs';
24
+ export { A as AddFundsCryptoOptions, k as AddFundsDestination, l as AddFundsFiatOptions, m as AddFundsMethod, n as AddFundsOptions, o as AddFundsResult, p as DepositAddressModalErrorCode, D as DepositFundsCryptoOptions, a as DepositFundsDestination, b as DepositFundsFiatOptions, c as DepositFundsOptions, d as DepositFundsResult, q as UseAddFundsResult, U as UseDepositAddressResult, e as UseDepositFundsResult, f as UseHeadlessCryptoDepositResult, r as useAddFunds, u as useDepositAddress, g as useDepositFunds, h as useHeadlessCryptoDeposit } from './use-headless-crypto-deposit-DFepH_MJ.mjs';
25
+ import { I as ImportWalletInput } from './importWallet-BLQLBS0b.mjs';
25
26
  import { PaymentRequirementsSelector } from 'x402/client';
26
27
  import { X402Config } from 'x402/types';
27
- export { P as PrivyViemAccount, t as toViemAccount } from './toViemAccount-B4MB_imJ.mjs';
28
+ export { P as PrivyViemAccount, t as toViemAccount } from './toViemAccount-BwXso32o.mjs';
28
29
  import '@coinbase/wallet-sdk';
29
30
  import '@solana/kit';
30
31
  import '@base-org/account';
31
32
  import '@wallet-standard/base';
32
33
  import '@solana/wallet-standard-features';
33
34
  import '@wallet-standard/features';
34
- import '@privy-io/ethereum';
35
+ import 'styled-components/dist/types';
36
+ import 'styled-components';
35
37
  import 'viem/accounts';
36
38
  import 'viem/tempo';
37
39
 
38
- type BaseProxyRequest = {
39
- accessToken: string;
40
- } & Partial<MfaSubmitArgs>;
41
- type EntropyIdVerifier = 'ethereum-address-verifier' | 'solana-address-verifier';
42
- type BaseWalletsRequestData = BaseProxyRequest & {
43
- chainType: 'ethereum' | 'solana' | 'bitcoin-taproot' | 'bitcoin-segwit';
44
- };
45
- type CreateSignerRequestDataType = BaseProxyRequest & {
46
- /** Optional: the user-specified recovery password */
47
- recoveryPassword?: string;
48
- /** Optional: the recovery method to be used for the created wallet */
49
- recoveryMethod?: UserRecoveryMethod;
50
- /** Optional: in the case of cloud recovery, the access token to be used to communicated with the cloud provider (eg Google) */
51
- recoveryAccessToken?: string;
52
- /** Optional: override the recoverySecret, only for use when we need to store recovery secrets in cloud storage outside of the iframe (eg native) */
53
- recoverySecretOverride?: string;
54
- /** Optional: override the iCloudRecordName, only for use when we need to store recovery secrets in cloud storage outside of the iframe (eg native) */
55
- iCloudRecordNameOverride?: string;
56
- };
57
- type CreateSignerResponseDataType = {
58
- publicKey: string;
59
- };
60
- type WalletsCreateRequestDataType = BaseWalletsRequestData & {
61
- /** Optional: the user-specified recovery password */
62
- recoveryPassword?: string;
63
- /** Optional: the recovery method to be used for the created wallet */
64
- recoveryMethod?: UserRecoveryMethod;
65
- /** Optional: in the case of cloud recovery, the access token to be used to communicated with the cloud provider (eg Google) */
66
- recoveryAccessToken?: string;
67
- /** Optional: override the recoverySecret, only for use when we need to store recovery secrets in cloud storage outside of the iframe (eg native) */
68
- recoverySecretOverride?: string;
69
- /** Optional: override the iCloudRecordName, only for use when we need to store recovery secrets in cloud storage outside of the iframe (eg native) */
70
- iCloudRecordNameOverride?: string;
71
- };
72
- type WalletsCreateResponseDataType = {
73
- address: string;
74
- };
75
- type UserSignerSignRequestDataType = BaseProxyRequest & {
76
- /** The message to be signed */
77
- message: string;
78
- /** For cross-app requests, the app ID of the requester app */
79
- requesterAppId?: string | null;
80
- };
81
- type UserSignerSignResponseDataType = {
82
- /** The signature */
83
- signature: string;
84
- };
85
- type WalletsAddRequestDataType = BaseWalletsRequestData & {
86
- /**
87
- * Key with which to look up the existing entropy
88
- */
89
- entropyId: string;
90
- /**
91
- * Source of the `entropyId` property. This field determines how the entropyId will
92
- * be used. Possible values include:
93
- * - ethereum-address-verifier: the entropyId is the address of the Ethereum wallet derived
94
- * at index 0 for this entropy
95
- * - solana-address-verifier: the entropyId is a the address of the Solana wallet derived
96
- * at index 0 for this entropy
97
- *
98
- * When this field is a wallet address, we can verify reconstitution was successful by
99
- * deriving the specified wallet and comparing the address to the `entropyId`
100
- */
101
- entropyIdVerifier: EntropyIdVerifier;
102
- /**
103
- * The HD node index at which to create a wallet. Must be >= 1 AND equal to the next
104
- * index in the sequence, since the primary wallet is created at index 0.
105
- */
106
- hdWalletIndex: number;
107
- };
108
- type WalletsAddResponseDataType = {
109
- address: string;
110
- };
111
- type WalletsSetRecoveryBaseRequestDataType = BaseWalletsRequestData & {
112
- /**
113
- * Key with which to look up the existing entropy
114
- */
115
- entropyId: string;
116
- /**
117
- * Source of the `entropyId` property. This field determines how the entropyId will
118
- * be used. Possible values include:
119
- * - ethereum-address-verifier: the entropyId is the address of the Ethereum wallet derived
120
- * at index 0 for this entropy
121
- * - solana-address-verifier: the entropyId is a the address of the Solana wallet derived
122
- * at index 0 for this entropy
123
- *
124
- * When this field is a wallet address, we can verify reconstitution was successful by
125
- * deriving the specified wallet and comparing the address to the `entropyId`
126
- */
127
- entropyIdVerifier: EntropyIdVerifier;
128
- existingRecoveryMethod?: UserRecoveryMethod;
129
- };
130
- type WalletsSetRecoveryPasswordDataType = WalletsSetRecoveryBaseRequestDataType & {
131
- recoveryMethod: 'user-passcode';
132
- recoveryPassword: string;
133
- };
134
- type WalletsSetRecoveryGoogleDriveDataType = WalletsSetRecoveryBaseRequestDataType & {
135
- recoveryMethod: 'google-drive';
136
- recoveryAccessToken: string;
137
- };
138
- type WalletsSetRecoveryICloudDataType = WalletsSetRecoveryBaseRequestDataType & {
139
- recoveryMethod: 'icloud';
140
- recoveryAccessToken: string;
141
- };
142
- type WalletsSetRecoveryICloudNativeDataType = WalletsSetRecoveryBaseRequestDataType & {
143
- recoveryMethod: 'icloud-native';
144
- recoverySecretOverride: string;
145
- iCloudRecordNameOverride: string;
146
- };
147
- type WalletsSetRecoveryRequestDataType = Omit<WalletsSetRecoveryPasswordDataType, 'chainType'> | Omit<WalletsSetRecoveryGoogleDriveDataType, 'chainType'> | Omit<WalletsSetRecoveryICloudDataType, 'chainType'> | Omit<WalletsSetRecoveryICloudNativeDataType, 'chainType'>;
148
- type WalletsSetRecoveryResponseDataType = {
149
- entropyId: string;
150
- /**
151
- * Source of the `entropyId` property. This field determines how the entropyId will
152
- * be used. Possible values include:
153
- * - ethereum-address-verifier: the entropyId is the address of the Ethereum wallet derived
154
- * at index 0 for this entropy
155
- * - solana-address-verifier: the entropyId is a the address of the Solana wallet derived
156
- * at index 0 for this entropy
157
- *
158
- * When this field is a wallet address, we can verify reconstitution was successful by
159
- * deriving the specified wallet and comparing the address to the `entropyId`
160
- */
161
- entropyIdVerifier: EntropyIdVerifier;
162
- recoveryMethod: WalletsSetRecoveryRequestDataType['recoveryMethod'];
163
- };
164
- type WalletsConnectRequestDataType = BaseProxyRequest & {
165
- /**
166
- * Key with which to look up the existing entropy
167
- */
168
- entropyId: string;
169
- /**
170
- * Source of the key with which to look up the existing entropy
171
- */
172
- entropyIdVerifier: EntropyIdVerifier;
173
- };
174
- type WalletsConnectResponseDataType = {
175
- entropyId: string;
176
- };
177
- type WalletsRecoverRequestDataType = BaseProxyRequest & {
178
- /**
179
- * Key with which to look up the existing entropy
180
- */
181
- entropyId: string;
182
- /**
183
- * Source of the `entropyId` property. This field determines how the entropyId will
184
- * be used. Possible values include:
185
- * - ethereum-address-verifier: the entropyId is the address of the Ethereum wallet derived
186
- * at index 0 for this entropy
187
- * - solana-address-verifier: the entropyId is a the address of the Solana wallet derived
188
- * at index 0 for this entropy
189
- *
190
- * When this field is a wallet address, we can verify reconstitution was successful by
191
- * deriving the specified wallet and comparing the address to the `entropyId`
192
- */
193
- entropyIdVerifier: EntropyIdVerifier;
194
- /** Optional: the user-specified recovery password */
195
- recoveryPassword?: string;
196
- /** Optional: the recovery encryption key */
197
- recoveryKey?: string;
198
- /** Optional: in the case of cloud recovery, the access token to be used to communicated with the cloud provider (eg Google) */
199
- recoveryAccessToken?: string;
200
- /** Optional: override the recoverySecret, only for use when we need to retrieve recovery secrets in cloud storage outside of the iframe (eg native) */
201
- recoverySecretOverride?: string;
202
- };
203
- type WalletsRecoverResponseDataType = {
204
- entropyId: string;
205
- };
206
- type WalletsRpcEthereumRequestDataType = {
207
- chainType: 'ethereum';
208
- request: EthereumRpcRequestType;
209
- };
210
- type WalletsRpcSolanaRequestDataType = {
211
- chainType: 'solana';
212
- request: SolanaRpcRequestType;
213
- };
214
- type WalletsRpcBitcoinRequestDataType = {
215
- chainType: 'bitcoin-taproot' | 'bitcoin-segwit';
216
- request: unknown;
217
- };
218
- type WalletsRpcRequestDataType = BaseWalletsRequestData & {
219
- /**
220
- * Key with which to look up the existing entropy
221
- */
222
- entropyId: string;
223
- /**
224
- * Source of the `entropyId` property. This field determines how the entropyId will
225
- * be used. Possible values include:
226
- * - ethereum-address-verifier: the entropyId is the address of the Ethereum wallet derived
227
- * at index 0 for this entropy
228
- * - solana-address-verifier: the entropyId is a the address of the Solana wallet derived
229
- * at index 0 for this entropy
230
- *
231
- * When this field is a wallet address, we can verify reconstitution was successful by
232
- * deriving the specified wallet and comparing the address to the `entropyId`
233
- */
234
- entropyIdVerifier: EntropyIdVerifier;
235
- /**
236
- * The HD node index of the wallet to use for this request.
237
- */
238
- hdWalletIndex: number;
239
- /** For cross-app requests, the app ID of the requester app */
240
- requesterAppId?: string | null;
241
- } & (WalletsRpcEthereumRequestDataType | WalletsRpcSolanaRequestDataType | WalletsRpcBitcoinRequestDataType);
242
- type WalletsRpcEthereumResponseDataType = {
243
- chainType: 'ethereum';
244
- response: EthereumRpcResponseType;
245
- };
246
- type WalletsRpcSolanaResponseDataType = {
247
- chainType: 'solana';
248
- response: SolanaRpcResponseType;
249
- };
250
- type WalletsRpcBitcoinResponseDataType = {
251
- chainType: 'bitcoin-taproot' | 'bitcoin-segwit';
252
- response: unknown;
253
- };
254
- type WalletsRpcResponseDataType = {
255
- address: string;
256
- } & (WalletsRpcEthereumResponseDataType | WalletsRpcSolanaResponseDataType | WalletsRpcBitcoinResponseDataType);
257
- type BaseWalletCreateRequestDataType = {
258
- accessToken: string;
259
- /** Optional idempotency key for automatic wallet creation */
260
- idempotencyKey?: string;
261
- };
262
- type BaseWalletCreateWithUserControlledRecoveryDataType = {
263
- recoveryPassword?: string;
264
- recoveryMethod?: UserRecoveryMethod;
265
- recoveryAccessToken?: string;
266
- };
267
- type EthereumWalletCreateRequestDataType = BaseWalletCreateRequestDataType & BaseWalletCreateWithUserControlledRecoveryDataType & {
268
- /**
269
- * If a user has an existing Solana embedded wallet when creating the Ethereum wallet, that address
270
- * MUST be passed in this field. Our iframe will use this address to derive the Ethereum embedded wallet from the
271
- * same entropy as the Solana wallet.
272
- *
273
- * If no address is passed here, our iframe assumes that the user has no existing Solana wallet and will create
274
- * a new set of entropy for Ethereum.
275
- */
276
- solanaAddress?: string;
277
- };
278
- type WalletCreateResponseDataType = {
279
- address: string;
280
- };
281
- type SolanaWalletCreateRequestDataType = BaseWalletCreateRequestDataType & BaseWalletCreateWithUserControlledRecoveryDataType & {
282
- /**
283
- * If a user has an existing Ethereum embedded wallet when creating the Solana embedded wallet, that address
284
- * MUST be passed in this field. Our iframe will use this address to derive the Solana embedded wallet from the
285
- * same entropy as the Ethereum wallet.
286
- *
287
- * If no address is passed here, our iframe assumes that the user has no existing Ethereum wallet and will create
288
- * a new set of entropy for Solana.
289
- */
290
- ethereumAddress?: string;
291
- };
292
- type SolanaWalletCreateResponseDataType = {
293
- publicKey: string;
294
- };
295
- type WalletsImportRequestDataType = BaseWalletsRequestData & {
296
- privateKey: string;
297
- chainType: 'ethereum' | 'solana';
298
- mode: 'tee' | 'on-device';
299
- additionalSigners?: SessionSignerInput;
300
- };
301
- type WalletsImportResponseDataType = {
302
- address: string;
303
- };
304
- /** Request data for importing a wallet from a BIP-39 seed phrase. TEE execution only. */
305
- type WalletsImportSeedPhraseRequestDataType = BaseWalletsRequestData & {
306
- mnemonic: string;
307
- chainType: 'ethereum' | 'solana';
308
- additionalSigners?: SessionSignerInput;
309
- };
310
- type WalletsImportSeedPhraseResponseDataType = {
40
+ type CustomMetadataType = User['custom_metadata'];
41
+ interface ResponseEmailAccount {
42
+ type: 'email';
311
43
  address: string;
312
- };
313
- type MfaVerifyRequestDataType = {
314
- accessToken: string;
315
- };
316
- type MfaVerifyResponseDataType = Record<string, never>;
317
- type MfaInitEnrollmentRequestDataType = {
318
- accessToken: string;
319
- method: 'sms';
320
- phoneNumber: string;
321
- } | {
322
- accessToken: string;
323
- method: 'totp';
324
- };
325
- type MfaInitEnrollmentResponseDataType = {
326
- method: string;
327
- secret?: string;
328
- authUrl?: string;
329
- };
330
- type MfaSubmitEnrollmentRequestDataType = {
331
- accessToken: string;
332
- method: 'sms';
333
- code: string;
44
+ verified_at: number;
45
+ first_verified_at: number | null;
46
+ latest_verified_at: number | null;
47
+ }
48
+ interface ResponsePhoneAccount {
49
+ type: 'phone';
334
50
  phoneNumber: string;
335
- } | {
336
- accessToken: string;
337
- method: 'totp';
338
- code: string;
339
- } | {
340
- accessToken: string;
341
- method: 'passkey';
342
- credentialIds: string[];
343
- removeForLogin?: boolean;
344
- };
345
- type MfaSubmitEnrollmentResponseDataType = Record<string, never>;
346
- type MfaUnenrollRequestDataType = {
347
- accessToken: string;
348
- method: 'sms' | 'totp';
349
- };
350
- type MfaUnenrollResponseDataType = Record<string, never>;
351
- type MfaClearRequestDataType = {
352
- userId: string;
353
- };
354
- type MfaClearResponseDataType = Record<string, never>;
355
- type AuthUnlinkPasskeyRequestDataType = {
356
- accessToken: string;
357
- credentialId: string;
358
- removeAsMfa?: boolean;
359
- };
360
- type AuthUnlinkPasskeyResponseDataType = Record<string, never>;
361
- type FarcasterSignerInitRequestDataType = {
362
- address: string;
363
- hdWalletIndex: number | null;
364
- accessToken: string;
365
- mfaCode: string | PasskeyAuthenticateInput['authenticator_response'] | null;
366
- mfaMethod: string | null;
367
- relyingParty: string;
368
- };
369
- type FarcasterSignerInitResponseDataType = PrivyFarcasterSignerInitResponse;
370
- type FarcasterSignRequestDataType = {
371
- address: string;
372
- hdWalletIndex: number | null;
373
- accessToken: string;
374
- mfaCode: string | PasskeyAuthenticateInput['authenticator_response'] | null;
375
- mfaMethod: string | null;
376
- relyingParty: string;
377
- payload: {
378
- hash: string;
379
- };
380
- fid: bigint;
381
- };
382
- type FarcasterSignResponseDataType = {
383
- hash: string;
384
- signature: string;
385
- };
386
- type RootWalletForDelegation = {
387
- /** Address of the root wallet for the entropy being delegated. */
51
+ verified_at: number;
52
+ first_verified_at: number | null;
53
+ latest_verified_at: number | null;
54
+ }
55
+ interface BaseResponseWalletAccount {
56
+ id: string | null;
57
+ type: 'wallet';
388
58
  address: string;
389
- /** Chain type of the root wallet for the entropy being delegated. */
390
- chainType: FirstClassChainType;
391
- /** Whether or not the root wallet for the entropy being delegated is imported. */
392
59
  imported: boolean;
393
- };
394
- type DelegatedWallet = {
395
- /** Address for a wallet to delegate. */
396
- address: string;
397
- /** Chain type for a wallet to delegate. */
398
- chainType: FirstClassChainType;
399
- /** HD index for the wallet to delegate. */
400
- walletIndex: number;
401
- };
402
- type DelegatedActionsConsentRequestDataType = {
403
- /** Access token for the user */
404
- accessToken: string;
405
- /** Root wallet to delegate, which is the wallet at HD index 0 for the entropy. */
406
- rootWallet: RootWalletForDelegation;
407
- /** Wallets to delegate, whose entropy is the same as `rootWallet`'s. */
408
- delegatedWallets: DelegatedWallet[];
409
- };
410
- type DelegatedActionsConsentResponseDataType = {
411
- success: boolean;
412
- };
413
- declare const PrivyIframeErrorTypes: readonly ["error", "invalid_request_arguments", "wallet_not_on_device", "invalid_recovery_pin", "insufficient_funds", "missing_or_invalid_mfa", "mfa_verification_max_attempts_reached", "mfa_timeout", "twilio_verification_failed"];
414
- type PrivyIframeErrorTypesType = (typeof PrivyIframeErrorTypes)[number];
415
- interface EmbeddedWalletProxy {
416
- createSigner: (data: CreateSignerRequestDataType) => Promise<CreateSignerResponseDataType>;
417
- signWithUserSigner: (data: UserSignerSignRequestDataType) => Promise<UserSignerSignResponseDataType>;
418
- createWallet: (data: WalletsCreateRequestDataType) => Promise<WalletsCreateResponseDataType>;
419
- addWallet: (data: WalletsAddRequestDataType) => Promise<WalletsAddResponseDataType>;
420
- importWallet: (data: WalletsImportRequestDataType) => Promise<WalletsImportResponseDataType>;
421
- importSeedPhrase: (data: WalletsImportSeedPhraseRequestDataType) => Promise<WalletsImportSeedPhraseResponseDataType>;
422
- setRecovery: (data: WalletsSetRecoveryRequestDataType) => Promise<WalletsSetRecoveryResponseDataType>;
423
- connect: (data: WalletsConnectRequestDataType) => Promise<WalletsConnectResponseDataType>;
424
- recover: (data: WalletsRecoverRequestDataType) => Promise<WalletsRecoverResponseDataType>;
425
- rpc(data: WalletsRpcRequestDataType & {
426
- chainType: 'ethereum';
427
- }): Promise<WalletsRpcResponseDataType & {
428
- chainType: 'ethereum';
429
- }>;
430
- rpc(data: WalletsRpcRequestDataType & {
431
- chainType: 'solana';
432
- }): Promise<WalletsRpcResponseDataType & {
433
- chainType: 'solana';
434
- }>;
435
- rpc(data: WalletsRpcRequestDataType & {
436
- chainType: 'bitcoin-taproot';
437
- }): Promise<WalletsRpcResponseDataType & {
438
- chainType: 'bitcoin-taproot';
439
- }>;
440
- rpc(data: WalletsRpcRequestDataType & {
441
- chainType: 'bitcoin-segwit';
442
- }): Promise<WalletsRpcResponseDataType & {
443
- chainType: 'bitcoin-segwit';
444
- }>;
445
- /** @deprecated */
446
- create: (data: EthereumWalletCreateRequestDataType) => Promise<WalletCreateResponseDataType>;
447
- /** @deprecated */
448
- createSolana: (data: SolanaWalletCreateRequestDataType) => Promise<SolanaWalletCreateResponseDataType>;
449
- createDelegatedAction: (data: DelegatedActionsConsentRequestDataType) => Promise<DelegatedActionsConsentResponseDataType>;
450
- verifyMfa: (data: MfaVerifyRequestDataType) => Promise<MfaVerifyResponseDataType>;
451
- initEnrollMfa: (data: MfaInitEnrollmentRequestDataType) => Promise<MfaInitEnrollmentResponseDataType>;
452
- submitEnrollMfa: (data: MfaSubmitEnrollmentRequestDataType) => Promise<MfaSubmitEnrollmentResponseDataType>;
453
- unenrollMfa: (data: MfaUnenrollRequestDataType) => Promise<MfaUnenrollResponseDataType>;
454
- clearMfa: (data: MfaClearRequestDataType) => Promise<MfaClearResponseDataType>;
455
- unlinkPasskeyAccount(data: AuthUnlinkPasskeyRequestDataType): Promise<AuthUnlinkPasskeyResponseDataType>;
456
- initFarcasterSigner: (data: FarcasterSignerInitRequestDataType) => Promise<FarcasterSignerInitResponseDataType>;
457
- signFarcasterMessage: (data: FarcasterSignRequestDataType) => Promise<FarcasterSignResponseDataType>;
60
+ delegated: boolean;
61
+ user_can_sign?: boolean;
62
+ chain_type: 'ethereum' | 'solana';
63
+ wallet_index: number | null;
64
+ wallet_client_type?: string;
65
+ connector_type?: string;
66
+ recovery_method?: 'privy' | 'user-passcode';
67
+ public_key?: string;
68
+ verified_at: number;
69
+ first_verified_at: number | null;
70
+ latest_verified_at: number | null;
458
71
  }
459
-
460
- type PublicClient = ReturnType<typeof createPublicClient<HttpTransport, Chain, Address, RpcSchema>>;
461
-
462
- declare class Embedded1193Provider extends EventEmitter implements EIP1193Provider {
463
- walletProxy: EmbeddedWalletProxy;
464
- /** Address of the embedded wallet that this provider corresponds to. */
465
- address: string;
466
- publicClient: PublicClient;
467
- chainId: number;
468
- rpcConfig: RpcConfig;
469
- chains: Chain[];
470
- rpcTimeoutDuration: number;
471
- appId: string;
472
- /** Address of the user's embedded wallet at HD index 0. This is required to make RPC requests to the iframe. */
473
- entropyId: string;
474
- /**
475
- * Source of the `entropyId` property. This field determines how the entropyId will
476
- * be used. Possible values include:
477
- * - ethereum-address-verifier: the entropyId is the address of the Ethereum wallet derived
478
- * at index 0 for this entropy
479
- * - solana-address-verifier: the entropyId is a the address of the Solana wallet derived
480
- * at index 0 for this entropy
481
- *
482
- * When this field is a wallet address, we can verify reconstitution was successful by
483
- * deriving the specified wallet and comparing the address to the `entropyId`
484
- */
485
- entropyIdVerifier: EntropyIdVerifier$1;
486
- /**
487
- * HD index of the embedded wallet that this provider corresponds to, if this is an HD wallet. This is required to make RPC
488
- * requests to the iframe. If this is an imported wallet, the `walletIndex` is defined as 0 (and is handled as such by the iframe).
489
- */
490
- walletIndex: number;
491
- /** The wallet account object for the wallet that this provider corresponds to. */
492
- walletAccount?: HDWalletWithMetadata;
493
- /** The Privy client instance from the core library. */
494
- privyClient?: Privy;
495
- constructor({ walletProxy, address, entropyId, entropyIdVerifier, rpcConfig, chains, appId, chainId, walletIndex, privyClient, walletAccount, }: {
496
- walletProxy: EmbeddedWalletProxy;
497
- address: string;
498
- entropyId: string;
499
- entropyIdVerifier: EntropyIdVerifier$1;
500
- rpcConfig: RpcConfig;
501
- chains: Chain[];
502
- appId: string;
503
- chainId: number;
504
- walletIndex: number;
505
- privyClient?: Privy;
506
- walletAccount?: HDWalletWithMetadata;
507
- });
508
- handleSendTransaction(args: RequestArguments): Promise<string>;
509
- private handleSignTransaction;
510
- private handleSignTempoTransaction;
511
- private handleSwitchEthereumChain;
512
- private handlePersonalSign;
513
- private handleSignedTypedData;
514
- private handleEstimateGas;
515
- request(args: RequestArguments): Promise<unknown>;
516
- private handleWalletApiRequest;
72
+ interface ResponseEthereumAccount extends BaseResponseWalletAccount {
73
+ chain_type: 'ethereum';
517
74
  }
518
-
519
- declare abstract class EthereumWalletConnector extends WalletConnector {
520
- wallets: BaseConnectedEthereumWallet[];
521
- chains: Chain[];
522
- defaultChain: Chain;
523
- rpcConfig: RpcConfig;
524
- rpcTimeoutDuration: number;
525
- chainType: "ethereum";
526
- abstract proxyProvider: PrivyProxyProvider | Embedded1193Provider;
527
- constructor(walletClientType: WalletClientType, chains: Chain[], defaultChain: Chain, rpcConfig: RpcConfig);
528
- /**
529
- * Builds a connected wallet object to be exposed to the developer. This object
530
- * contains the address, chainId, and a few helper methods.
531
- *
532
- * Provider methods share the PrivyProxyProvider instance. This means that multiple
533
- * wallets may share the same provider if one wallet was disconnected and another
534
- * wallet was connected.
535
- *
536
- * A wallet is considered connected if it is present in the wallets array and is
537
- * in a connected state.
538
- */
539
- buildConnectedWallet(address: string, chainId: string, meta: ConnectedWalletMetadata, imported: boolean): BaseConnectedEthereumWallet;
540
- /**
541
- * Sync all accounts available via the provider if the wallet is connected.
542
- *
543
- * @param prefetchedAccounts - pass in an accounts array from eth_accounts if already fetched to avoid a repeated call
544
- */
545
- syncAccounts(prefetchedAccounts?: string[]): Promise<void>;
546
- /**
547
- * Get the most recently connected wallet.
548
- */
549
- getConnectedWallet(): Promise<BaseConnectedEthereumWallet | null>;
550
- /**
551
- * As a proxy for "connected", we call eth_accounts and consider the client
552
- * connected if at least one account is returned.
553
- */
554
- isConnected(): Promise<boolean>;
555
- /**
556
- * Perform personal_sign with the user's wallet.
557
- *
558
- * @param {string} message The message to sign.
559
- * @returns {string} The resulting signature.
560
- */
561
- sign(message: string): Promise<string>;
562
- protected onAccountsChanged: (accounts: string[]) => void;
563
- protected onChainChanged: (chainId: string) => void;
564
- protected onDisconnect: () => void;
565
- protected onConnect: () => Promise<void>;
566
- subscribeListeners(): void;
567
- unsubscribeListeners(): void;
75
+ interface ResponseSolanaAccount extends BaseResponseWalletAccount {
76
+ chain_type: 'solana';
568
77
  }
569
-
570
- type MobileWalletConfig = {
571
- client: WalletClientType;
572
- name: string;
573
- isInstalled: boolean;
574
- installLink: string;
575
- chainTypes: Array<'ethereum' | 'solana'>;
576
- getMobileRedirect: (args: {
577
- useUniversalLink: boolean;
578
- isSolana: boolean;
579
- connectOnly: boolean;
580
- }) => string | undefined;
581
- };
582
-
583
- /**
584
- * Properties to initialize the {@link PrivyProvider}.
585
- */
586
- interface PrivyProviderProps {
587
- /** Your Privy App ID, which can be retrieved from the Privy dashboard. */
588
- appId: string;
589
- /** Your Privy App Client ID, which can be retrieved from the Privy dashboard. */
590
- clientId?: string;
591
- /**
592
- * Client configuration options.
593
- * Values here will override their server-configuration counterparts.
594
- */
595
- config?: PrivyClientConfig;
596
- /**
597
- * Override the URL of the Privy API, which is 'https://auth.privy.io' by default.
598
- * For development and testing use only.
599
- * @experimental
600
- */
601
- apiUrl?: string;
602
- /**
603
- * @ignore
604
- * @class
605
- */
606
- children: React.ReactNode;
78
+ interface ResponseSmartWalletAccount {
79
+ type: 'smart_wallet';
80
+ address: string;
81
+ smart_wallet_type: SmartWalletType;
82
+ smart_wallet_version?: string;
83
+ verified_at: number;
84
+ first_verified_at: number | null;
85
+ latest_verified_at: number | null;
607
86
  }
608
-
609
- /**
610
- * Passes the Privy authentication context to your React components.
611
- *
612
- * This should wrap any components that will to use the Privy SDK via the {@link usePrivy} hook. As an example:
613
- *
614
- * ```typescript
615
- * // At your application root (e.g. `_app.tsx` in NextJS):
616
- * import {PrivyProvider} from '@privy-io/react-auth';
617
- *
618
- * <PrivyProvider appId="APP_ID_FROM_DASHBOARD" onSuccess={() => console.log('Success!')}>
619
- * <Component {...pageProps} />
620
- * </PrivyProvider>
621
- * ```
622
- *
623
- */
624
- declare const PrivyProvider: ({ config, ...props }: PrivyProviderProps) => React.JSX.Element;
625
-
626
- /**
627
- * Provider-agnostic captcha props that work across both Turnstile and hCaptcha.
628
- *
629
- * Note: Some callbacks may not be supported by all providers:
630
- * - `onUnsupported`: Only supported by Turnstile (browser compatibility check)
631
- */
632
- type CaptchaProps = Partial<Pick<TurnstileProps, 'onUnsupported' | 'onError' | 'onSuccess' | 'onExpire'>> & {
633
- delayedExecution?: boolean;
634
- };
635
-
636
- /**
637
- * Used to render an invisible captcha alongside important forms
638
- *
639
- * Notes:
640
- * - **Only for internal use, or use with headless SDK** _(the Privy modal handles captchas internally with this component)_
641
- * - Only one `<Captcha />` should be rendered at a time, since it injects/removes a global script
642
- * - the state of the captcha workflow can be accessed using `useCaptcha`
643
- * - wrapper around [marsidev/react-turnstile](https://github.com/marsidev/react-turnstile), _accepts same [props](https://docs.page/marsidev/react-turnstile/props)_
644
- */
645
- declare const Captcha: (props: CaptchaProps) => react_jsx_runtime.JSX.Element | null;
646
-
647
- interface ConnectorManagerEvents {
648
- walletsUpdated(): void;
649
- connectorInitialized(): void;
87
+ interface ResponseFarcasterAccount {
88
+ type: 'farcaster';
89
+ fid: number;
90
+ owner_address: string;
91
+ username: string | null;
92
+ display_name: string | null;
93
+ bio: string | null;
94
+ profile_picture_url: string | null;
95
+ homepage_url: string | null;
96
+ verified_at: number;
97
+ first_verified_at: number | null;
98
+ latest_verified_at: number | null;
99
+ signer_public_key: string | null;
650
100
  }
651
- declare class ConnectorManager extends EventEmitter<ConnectorManagerEvents> {
652
- walletConnectors: WalletConnector[];
653
- initialized: boolean;
654
- setBaseAccountSdk: SetBaseAccountSdkType;
655
- private storedConnections;
656
- private privyAppId;
657
- private walletConnectCloudProjectId;
658
- private rpcConfig;
659
- private chains;
660
- private defaultChain;
661
- private store;
662
- private walletList;
663
- private shouldEnforceDefaultChainOnConnect;
664
- private privyAppName;
665
- private walletChainType;
666
- private externalWalletConfig;
667
- /**
668
- * Promise that resolves when Ethereum WalletConnect initialization completes.
669
- * Used to serialize WalletConnect initialization (Ethereum before Solana) to prevent
670
- * the "WalletConnect Core already initialized" race condition that causes session loss.
671
- */
672
- private ethereumWalletConnectInitPromise;
673
- /**
674
- * In-flight `createEthereumWalletConnector` builds, keyed by `connectorType:walletClientType`.
675
- * Building a connector now awaits a dynamic `import()`, so without this, two concurrent calls
676
- * for the same wallet can both miss the `findWalletConnector` existing-connector check and each
677
- * construct and register their own connector.
678
- */
679
- private pendingConnectorBuilds;
680
- constructor(privyAppId: string, walletConnectCloudProjectId: string, rpcConfig: RpcConfig, chains: Chain[], defaultChain: Chain, store: Store, walletList: WalletListEntry[], shouldEnforceDefaultChainOnConnect: boolean, externalWalletConfig: AppConfig['externalWallets'], privyAppName: string, setBaseAccountSdk: SetBaseAccountSdkType, walletChainType?: 'ethereum-and-solana' | 'ethereum-only' | 'solana-only', connectorsDebugLogs?: boolean);
681
- /**
682
- * The core wallets array that is exposed to developers. It builds
683
- * the wallets away with the following logic:
684
- *
685
- * 1. Flatten all wallets from all connectors
686
- * 2. Sorted by connectedAt
687
- */
688
- get wallets(): BaseConnectedWallet[];
689
- /**
690
- * Helper function to find a wallet connector by connector type and wallet client type.
691
- */
692
- findWalletConnector(connectorType: ConnectorType, walletClientType: string, address?: string): EthereumWalletConnector | null;
693
- /**
694
- * Helper function to find a solana wallet connector by connector type and wallet client type.
695
- */
696
- findSolanaWalletConnector(walletClientType: string): SolanaWalletConnector | null;
697
- /**
698
- * Creates a new wallet connector for the given connector type and wallet client type.
699
- * If a connector already exists, it will be returned instead.
700
- */
701
- private initEthereumWalletConnect;
702
- createEthereumWalletConnector({ connectorType, walletClientType, providers, walletConfig, }: {
703
- connectorType: ConnectorType;
704
- walletClientType: string;
705
- providers?: {
706
- eip6963InjectedProvider?: EIP6963ProviderDetail;
707
- legacyInjectedProvider?: any;
708
- };
709
- walletConfig?: MobileWalletConfig;
710
- }): Promise<EthereumWalletConnector | null>;
101
+ interface ResponseOAuthGoogle {
102
+ type: 'google_oauth';
103
+ subject: string;
104
+ email: string;
105
+ name: string | null;
106
+ verified_at: number;
107
+ first_verified_at: number | null;
108
+ latest_verified_at: number | null;
711
109
  }
712
-
713
- /**
714
- * Allows you to manage the user's current authentication state and access their linked accounts.
715
- * You can access the fields and methods documented here via the {@link usePrivy} hook.
716
- */
717
- interface PrivyInterface {
718
- /**
719
- * Check whether the `PrivyProvider` is ready to be used. You should wait for this to
720
- * be true before using values such as `authenticated` and `user`.
721
- */
722
- ready: boolean;
723
- /**
724
- * True if the user is authenticated, false otherwise.
725
- *
726
- * You should always check that `ready` is true before using this value. Otherwise,
727
- * the value may outdated while the Privy client fetches fresh tokens.
728
- *
729
- */
730
- authenticated: boolean;
731
- /**
732
- * The user object, or null if the user is not authenticated.
733
- */
734
- user: User | null;
735
- /**
736
- * Any error encountered during SDK initialization.
737
- */
738
- error: Error | null;
739
- /**
740
- * Opens the Privy modal and prompts the user to connect a wallet.
741
- * @param options.description {React.ReactNode} (optional) custom description for the connect wallet modal
742
- */
743
- connectWallet: (options?: ConnectWalletModalOptions | MouseEvent<any, any>) => void;
744
- /**
745
- * Opens the Privy login modal and prompts the user to login.
746
- * @param options.loginMethods {LoginMethod[]} custom login methods to display in the login modal. This will overwrite the value provider to the client config.
747
- * @param options.prefill {PrefillLoginOptions} prefill the login modal with the provided email or phone number.
748
- */
749
- login: (options?: LoginModalOptions | MouseEvent<any, any>) => void;
750
- /**
751
- * Opens the Privy login modal and prompts the user to login or connect a wallet.
752
- */
753
- connectOrCreateWallet: () => void;
754
- /**
755
- * For users who are authenticated, opens the Privy modal and prompts the user to link an email.
756
- * This will open the Privy Modal which will guide the user through this action.
757
- */
758
- linkEmail: () => void;
759
- /**
760
- * For users who are authenticated, opens the Privy modal and prompts the user to link a phone number.
761
- * This will open the Privy Modal which will guide the user through this action.
762
- */
763
- linkPhone: () => void;
764
- /**
765
- * For users who are authenticated, opens the Privy modal and prompts the user to link a wallet.
766
- * This will open the Privy Modal which will guide the user through this action.
767
- * @param options.description {React.ReactNode} (optional) custom description for the link wallet modal
768
- * @param options.walletChainType {'ethereum-and-solana' | 'ethereum-only' | 'solana-only'} (optional) wallet chain type to filter the wallet options
769
- */
770
- linkWallet: (options?: ConnectWalletModalOptions | MouseEvent<any, any>) => void;
771
- /**
772
- * For users who are authenticated, opens the Privy modal and prompts the user to link a Farcaster account.
773
- * This will open the Privy Modal which will guide the user through this action.
774
- */
775
- linkFarcaster: () => void;
776
- /**
777
- * For users who are authenticated, prompts the user to link a Google OAuth account.
778
- * This will directly initiate the OAuth flow for Google.
779
- */
780
- linkGoogle: () => void;
781
- /**
782
- * For users who are authenticated, prompts the user to link a Twitter OAuth account
783
- * This will directly initiate the OAuth flow for Twitter.
784
- */
785
- linkTwitter: () => void;
110
+ interface ResponseOAuthTwitter {
111
+ type: 'twitter_oauth';
112
+ subject: string;
113
+ username: string | null;
114
+ name: string | null;
115
+ profile_picture_url: string | null;
116
+ verified_at: number;
117
+ first_verified_at: number | null;
118
+ latest_verified_at: number | null;
119
+ }
120
+ interface ResponseOAuthDiscord {
121
+ type: 'discord_oauth';
122
+ subject: string;
123
+ username: string | null;
124
+ email: string | null;
125
+ verified_at: number;
126
+ first_verified_at: number | null;
127
+ latest_verified_at: number | null;
128
+ }
129
+ interface ResponseOAuthGithub {
130
+ type: 'github_oauth';
131
+ subject: string;
132
+ username: string | null;
133
+ name: string | null;
134
+ email: string | null;
135
+ verified_at: number;
136
+ first_verified_at: number | null;
137
+ latest_verified_at: number | null;
138
+ }
139
+ interface ResponseOAuthSpotify {
140
+ type: 'spotify_oauth';
141
+ subject: string;
142
+ email: string | null;
143
+ name: string | null;
144
+ verified_at: number;
145
+ first_verified_at: number | null;
146
+ latest_verified_at: number | null;
147
+ }
148
+ interface ResponseOAuthInstagram {
149
+ type: 'instagram_oauth';
150
+ subject: string;
151
+ username: string | null;
152
+ verified_at: number;
153
+ first_verified_at: number | null;
154
+ latest_verified_at: number | null;
155
+ }
156
+ interface ResponseOAuthTiktok {
157
+ type: 'tiktok_oauth';
158
+ subject: string;
159
+ username: string | null;
160
+ name: string | null;
161
+ verified_at: number;
162
+ first_verified_at: number | null;
163
+ latest_verified_at: number | null;
164
+ }
165
+ interface ResponseOAuthLine {
166
+ type: 'line_oauth';
167
+ subject: string;
168
+ name: string | null;
169
+ email: string | null;
170
+ profile_picture_url: string | null;
171
+ verified_at: number;
172
+ first_verified_at: number | null;
173
+ latest_verified_at: number | null;
174
+ }
175
+ interface ResponseOAuthTwitch {
176
+ type: 'twitch_oauth';
177
+ subject: string;
178
+ username: string | null;
179
+ verified_at: number;
180
+ first_verified_at: number | null;
181
+ latest_verified_at: number | null;
182
+ }
183
+ interface ResponseOAuthLinkedIn {
184
+ type: 'linkedin_oauth';
185
+ subject: string;
186
+ name: string | null;
187
+ email: string | null;
188
+ vanity_name: string | null;
189
+ verified_at: number;
190
+ first_verified_at: number | null;
191
+ latest_verified_at: number | null;
192
+ }
193
+ interface ResponseOAuthApple {
194
+ type: 'apple_oauth';
195
+ subject: string;
196
+ email: string;
197
+ verified_at: number;
198
+ first_verified_at: number | null;
199
+ latest_verified_at: number | null;
200
+ }
201
+ interface ResponseOAuthCustom {
202
+ type: CustomOAuthProviderID;
203
+ subject: string;
204
+ name: string | null;
205
+ username: string | null;
206
+ email: string | null;
207
+ profile_picture_url: string | null;
208
+ verified_at: number;
209
+ first_verified_at: number | null;
210
+ latest_verified_at: number | null;
211
+ }
212
+ interface ResponseCustomJwtAccount {
213
+ type: 'custom_auth';
214
+ custom_user_id: string;
215
+ verified_at: number;
216
+ first_verified_at: number | null;
217
+ latest_verified_at: number | null;
218
+ }
219
+ interface ResponsePasskeyAccount {
220
+ type: 'passkey';
221
+ credential_id: string;
222
+ public_key?: string;
223
+ enrolled_in_mfa: boolean;
224
+ authenticator_name?: string;
225
+ created_with_device?: string;
226
+ created_with_os?: string;
227
+ created_with_browser?: string;
228
+ verified_at: number;
229
+ first_verified_at: number | null;
230
+ latest_verified_at: number | null;
231
+ }
232
+ interface ResponseTelegramAccount {
233
+ type: 'telegram';
234
+ telegram_user_id: string;
235
+ first_name: string | null;
236
+ last_name: string | null;
237
+ username: string | null;
238
+ photo_url: string | null;
239
+ first_verified_at: number | null;
240
+ latest_verified_at: number | null;
241
+ }
242
+ interface ResponseCrossAppAccount {
243
+ type: 'cross_app';
244
+ subject: string;
245
+ embedded_wallets: {
246
+ address: string;
247
+ }[];
248
+ smart_wallets: {
249
+ address: string;
250
+ }[];
251
+ provider_app_id: string;
252
+ verified_at: number;
253
+ first_verified_at: number | null;
254
+ latest_verified_at: number | null;
255
+ }
256
+ type LinkedAccountsResponseType = Array<ResponseEmailAccount | ResponsePhoneAccount | ResponseEthereumAccount | ResponseSmartWalletAccount | ResponseSolanaAccount | ResponseOAuthGoogle | ResponseOAuthTwitter | ResponseOAuthDiscord | ResponseOAuthGithub | ResponseOAuthSpotify | ResponseOAuthInstagram | ResponseOAuthTiktok | ResponseOAuthLine | ResponseOAuthTwitch | ResponseOAuthLinkedIn | ResponseOAuthApple | ResponseOAuthCustom | ResponseCustomJwtAccount | ResponseFarcasterAccount | ResponsePasskeyAccount | ResponseTelegramAccount | ResponseCrossAppAccount>;
257
+ interface ResponseSmsMfaMethod {
258
+ type: 'sms';
259
+ verified_at: number;
260
+ }
261
+ interface ResponseTotpMfaMethod {
262
+ type: 'totp';
263
+ verified_at: number;
264
+ }
265
+ interface ResponsePasskeyMfaMethod {
266
+ type: 'passkey';
267
+ verified_at: number;
268
+ }
269
+ type LinkedMfaMethodsResponseType = Array<ResponseSmsMfaMethod | ResponseTotpMfaMethod | ResponsePasskeyMfaMethod>;
270
+ interface GetCurrentUserResponse {
271
+ id: string;
272
+ is_guest: boolean;
273
+ created_at: number;
274
+ linked_accounts: LinkedAccountsResponseType;
275
+ mfa_methods: LinkedMfaMethodsResponseType;
276
+ has_accepted_terms: boolean;
277
+ oauth_tokens?: {
278
+ provider: string;
279
+ access_token: string;
280
+ access_token_expires_in_seconds?: number;
281
+ refresh_token?: string;
282
+ refresh_token_expires_in_seconds?: number;
283
+ scopes?: string[];
284
+ };
285
+ custom_metadata?: CustomMetadataType;
286
+ }
287
+
288
+ /**
289
+ * Valid /session and <>/authenticate calls will respond with a token
290
+ * as well as a valid user object for streamlining.
291
+ */
292
+ interface ValidSessionResponse {
293
+ user: GetCurrentUserResponse;
294
+ token: string;
295
+ privy_access_token: string | null;
296
+ refresh_token: string | null;
297
+ identity_token?: string;
298
+ is_new_user?: boolean;
299
+ session_update_action?: 'set' | 'ignore' | 'clear';
300
+ oauth_tokens?: {
301
+ provider: string;
302
+ access_token: string;
303
+ access_token_expires_in_seconds?: number;
304
+ refresh_token?: string;
305
+ refresh_token_expires_in_seconds?: number;
306
+ scopes?: string[];
307
+ };
308
+ }
309
+
310
+ type AuthMeta = {
311
+ [key: string]: any;
312
+ };
313
+ /**
314
+ * An auth flow is an encapsulation of the business logic required for a given
315
+ * authentication process. It requires at least one definitive `authenticate`
316
+ * method that does the final token handshaking with the API, but may also
317
+ * include any number of methods/API calls necessary to set up the state (e.g.
318
+ * sending an email before being able to do a passwordless code login)
319
+ */
320
+ interface AuthFlow {
321
+ api?: Http;
786
322
  /**
787
- * For users who are authenticated, prompts the user to link a Twitch OAuth account
788
- * This will directly initiate the OAuth flow for Twitch.
323
+ * Any meta information necessary for the auth flow, that may also need to be
324
+ * shared out to things like frontend components for displaying state of the
325
+ * auth flow
789
326
  */
790
- linkTwitch: () => void;
327
+ meta: AuthMeta;
791
328
  /**
792
- * For users who are authenticated, prompts the user to link Discord OAuth account
793
- * This will directly initiate the OAuth flow for Discord.
329
+ * Handles the API authentication call(s) to log users in.
330
+ * Any preconditions must be addressed prior to calling
794
331
  */
795
- linkDiscord: () => void;
332
+ authenticate(): Promise<ValidSessionResponse>;
796
333
  /**
797
- * For users who are authenticated, prompts the user to link Github OAuth account
798
- * This will directly initiate the OAuth flow for Github.
334
+ * Handles the API link call(s) to link new user accounts.
335
+ * Requires user to already be logged in when called.
336
+ * Any preconditions must be addressed prior to calling
799
337
  */
800
- linkGithub: () => void;
338
+ link(): Promise<GetCurrentUserResponse>;
339
+ }
340
+
341
+ interface ConnectorManagerEvents {
342
+ walletsUpdated(): void;
343
+ connectorInitialized(): void;
344
+ }
345
+ declare class ConnectorManager extends EventEmitter<ConnectorManagerEvents> {
346
+ walletConnectors: WalletConnector[];
347
+ initialized: boolean;
348
+ setBaseAccountSdk: SetBaseAccountSdkType;
349
+ private storedConnections;
350
+ private privyAppId;
351
+ private walletConnectCloudProjectId;
352
+ private rpcConfig;
353
+ private chains;
354
+ private defaultChain;
355
+ private store;
356
+ private walletList;
357
+ private shouldEnforceDefaultChainOnConnect;
358
+ private privyAppName;
359
+ private walletChainType;
360
+ private externalWalletConfig;
801
361
  /**
802
- * For users who are authenticated, prompts the user to link Spotify OAuth account
803
- * This will directly initiate the OAuth flow for Spotify.
362
+ * Promise that resolves when Ethereum WalletConnect initialization completes.
363
+ * Used to serialize WalletConnect initialization (Ethereum before Solana) to prevent
364
+ * the "WalletConnect Core already initialized" race condition that causes session loss.
804
365
  */
805
- linkSpotify: () => void;
366
+ private ethereumWalletConnectInitPromise;
806
367
  /**
807
- * For users who are authenticated, prompts the user to link Instagram OAuth account
808
- * This will directly initiate the OAuth flow for Instagram.
368
+ * In-flight `createEthereumWalletConnector` builds, keyed by `connectorType:walletClientType`.
369
+ * Building a connector now awaits a dynamic `import()`, so without this, two concurrent calls
370
+ * for the same wallet can both miss the `findWalletConnector` existing-connector check and each
371
+ * construct and register their own connector.
809
372
  */
810
- linkInstagram: () => void;
373
+ private pendingConnectorBuilds;
374
+ constructor(privyAppId: string, walletConnectCloudProjectId: string, rpcConfig: RpcConfig, chains: Chain[], defaultChain: Chain, store: Store, walletList: WalletListEntry[], shouldEnforceDefaultChainOnConnect: boolean, externalWalletConfig: AppConfig['externalWallets'], privyAppName: string, setBaseAccountSdk: SetBaseAccountSdkType, walletChainType?: 'ethereum-and-solana' | 'ethereum-only' | 'solana-only', connectorsDebugLogs?: boolean);
811
375
  /**
812
- * For users who are authenticated, prompts the user to link Tiktok OAuth account
813
- * This will directly initiate the OAuth flow for Tiktok.
376
+ * The core wallets array that is exposed to developers. It builds
377
+ * the wallets away with the following logic:
378
+ *
379
+ * 1. Flatten all wallets from all connectors
380
+ * 2. Sorted by connectedAt
814
381
  */
815
- linkTiktok: () => void;
382
+ get wallets(): BaseConnectedWallet[];
816
383
  /**
817
- * For users who are authenticated, prompts the user to link Line OAuth account
818
- * This will directly initiate the OAuth flow for Line.
384
+ * Helper function to find a wallet connector by connector type and wallet client type.
819
385
  */
820
- linkLine: () => void;
386
+ findWalletConnector(connectorType: ConnectorType, walletClientType: string, address?: string): EthereumWalletConnector | null;
821
387
  /**
822
- * For users who are authenticated, prompts the user to link LinkedIn OAuth account
823
- * This will directly initiate the OAuth flow for LinkedIn.
388
+ * Helper function to find a solana wallet connector by connector type and wallet client type.
824
389
  */
825
- linkLinkedIn: () => void;
390
+ findSolanaWalletConnector(walletClientType: string): SolanaWalletConnector | null;
826
391
  /**
827
- * For users who are authenticated, prompts the user to link Apple OAuth account
828
- * This will directly initiate the OAuth flow for Apple.
392
+ * Creates a new wallet connector for the given connector type and wallet client type.
393
+ * If a connector already exists, it will be returned instead.
829
394
  */
830
- linkApple: () => void;
395
+ private initEthereumWalletConnect;
396
+ createEthereumWalletConnector({ connectorType, walletClientType, providers, walletConfig, }: {
397
+ connectorType: ConnectorType;
398
+ walletClientType: string;
399
+ providers?: {
400
+ eip6963InjectedProvider?: EIP6963ProviderDetail;
401
+ legacyInjectedProvider?: any;
402
+ };
403
+ walletConfig?: MobileWalletConfig;
404
+ }): Promise<EthereumWalletConnector | null>;
405
+ }
406
+
407
+ /**
408
+ * The Privy client performs operations against the Privy API.
409
+ *
410
+ * ```typescript
411
+ * import {PrivyClient} from '@privy-io/react-auth';
412
+ * ```
413
+ *
414
+ * This should not be directly used by developers at the moment,
415
+ * so we doc-ignore it.
416
+ * @ignore
417
+ *
418
+ */
419
+ declare class PrivyClient {
420
+ #private;
421
+ private appId;
422
+ private appClientId?;
423
+ private session;
424
+ private timeout;
425
+ api: Http;
426
+ clientAnalyticsId: string | null;
427
+ useServerCookies: boolean;
428
+ cookieWriteBehavior: CookieWriteBehavior | undefined;
429
+ apiUrl: string;
430
+ fallbackApiUrl: string;
431
+ authFlow?: AuthFlow;
432
+ connectors?: ConnectorManager;
433
+ onStoreCustomerAccessToken?: ((token: string | null) => void) | undefined;
434
+ onDeleteCustomerAccessToken?: (() => void) | undefined;
831
435
  /**
832
- * For users who are authenticated, prompts the user to link a Passkey account
833
- * This will open the Privy Modal which will guide the user through this action.
834
- *
835
- * @param options.name Optional passkey name used when linking
436
+ * Creates a new Privy client.
437
+ * @param apiUrl - The URL of the Privy API
438
+ * @param appId - The app id from your dashboard
439
+ * @param appClientId - The app client id from your dashboard
440
+ * @param timeout - Time in milliseconds after which to timeout requests to the API
836
441
  */
837
- linkPasskey: (options?: {
838
- name?: string;
839
- }) => void;
442
+ constructor({ apiUrl, appId, appClientId, timeout, cookieWriteBehavior, }: {
443
+ apiUrl?: string;
444
+ appId: string;
445
+ appClientId?: string;
446
+ timeout?: number;
447
+ cookieWriteBehavior?: CookieWriteBehavior;
448
+ });
840
449
  /**
841
- * For users who are authenticated, prompts the user to link a Telegram account
842
- * This will directly initiate the auth flow for Telegram.
843
- * @param options.launchParams.initDataRaw {string} (optional) Raw data retrieved from an authenticated Telegram session. Used to link a Telegram account seamlessly.
844
-
450
+ * ConnectorManager initialization is deferred because the input parameter may be overridden by the server
451
+ * config. We can set this once and only once. If it is set twice, event listeners will be created
452
+ * on the first ConnectorManager and are not re-created.
845
453
  */
846
- linkTelegram: (options?: {
847
- launchParams: {
848
- initDataRaw?: string;
454
+ initializeConnectorManager({ walletConnectCloudProjectId, rpcConfig, chains, defaultChain, store, walletList, shouldEnforceDefaultChainOnConnect, externalWalletConfig, appName, walletChainType, setBaseAccountSdk, connectorsDebugLogs, }: {
455
+ walletConnectCloudProjectId: string;
456
+ rpcConfig: RpcConfig;
457
+ chains: Chain[];
458
+ defaultChain: Chain;
459
+ store: Store;
460
+ walletList: WalletListEntry[];
461
+ shouldEnforceDefaultChainOnConnect: boolean;
462
+ externalWalletConfig: AppConfig['externalWallets'];
463
+ appName: string;
464
+ walletChainType: 'ethereum-and-solana' | 'ethereum-only' | 'solana-only';
465
+ setBaseAccountSdk: SetBaseAccountSdkType;
466
+ connectorsDebugLogs: boolean;
467
+ }): void;
468
+ generateApi(): Http;
469
+ /**
470
+ * In the case of cookie-based auth, re-initialize the http client with the custom api url.
471
+ * @param customApiUrl the custom api url to use for cookie-based authFlow
472
+ */
473
+ updateApiUrl(customApiUrl?: string | null): void;
474
+ authenticate(): Promise<{
475
+ user: User$1 | null;
476
+ isNewUser?: boolean;
477
+ oAuthTokens?: OAuthTokens;
478
+ }>;
479
+ link(): Promise<{
480
+ user: User$1 | null;
481
+ oAuthTokens: OAuthTokens | undefined;
482
+ }>;
483
+ storeProviderAccessToken(appId: string, providerAccessToken: string | null): void;
484
+ getProviderAccessToken(appId: string): string | null;
485
+ logout(): Promise<void>;
486
+ clearProviderAcccessTokens(user: User$1): void;
487
+ startAuthFlow<T extends AuthFlow>(authFlow: T): T;
488
+ initMfaSmsVerification(): Promise<void>;
489
+ initMfaPasskeyVerification(): Promise<{
490
+ rpId: string | undefined;
491
+ challenge: string;
492
+ allowCredentials: {
493
+ id: string;
494
+ type: "public-key";
495
+ transports: AuthenticatorTransport[];
496
+ }[];
497
+ timeout: number | undefined;
498
+ extensions: {
499
+ appid: string | undefined;
500
+ credProps: boolean | undefined;
501
+ hmacCreateSecret: boolean | undefined;
849
502
  };
850
- }) => void;
503
+ userVerification: UserVerificationRequirement;
504
+ }>;
505
+ _cachedProviderAppDetails: Record<string, CrossAppProviderDetails>;
506
+ getCrossAppProviderDetails(appId: string): Promise<CrossAppProviderDetails | undefined>;
507
+ acceptTerms(): Promise<User$1>;
508
+ unlinkEmail(address: string): Promise<User$1>;
509
+ unlinkPhone(phoneNumber: string): Promise<User$1>;
510
+ unlinkEthereumWallet(address: string): Promise<User$1>;
511
+ unlinkSolanaWallet(address: string): Promise<User$1>;
512
+ unlinkOAuth(provider: OAuthProviderID | `privy:${string}`, subject: string): Promise<User$1>;
513
+ unlinkFarcaster(fid: number): Promise<User$1>;
514
+ unlinkTelegram(telegramUserId: string): Promise<User$1>;
515
+ revokeDelegatedWallet(): Promise<void>;
516
+ createAnalyticsEvent({ eventName, payload, timestamp, options, }: {
517
+ eventName: string;
518
+ payload?: {
519
+ [key: string]: any;
520
+ };
521
+ timestamp?: Date;
522
+ options?: {
523
+ keepAlive?: boolean;
524
+ };
525
+ }): Promise<void>;
526
+ signMoonpayOnRampUrl(signRequestData: MoonpaySignRequest): Promise<MoonpaySignResponse>;
527
+ initCoinbaseOnRamp(input: CoinbaseOnRampInitInput): Promise<CoinbaseOnRampInitResponse>;
528
+ getCoinbaseOnRampStatus({ partnerUserId, }: {
529
+ partnerUserId: string;
530
+ }): Promise<CoinbaseOnRampStatusResponse>;
531
+ /** DATA METHODS */
851
532
  /**
852
- * For users who are authenticated, prompts the user to link an OAuth account.
853
- * Accepts any OAuth provider including built-in providers (e.g. 'google', 'twitter')
854
- * and custom OAuth providers (e.g. 'custom:my-provider').
855
- * This will directly initiate the OAuth flow for the given provider.
533
+ * Fetches the currently authenticated user from the API or
534
+ * returns null if the user is not authenticated.
856
535
  *
857
- * @param options.provider The OAuth provider to link
536
+ * This will refresh the user's access token and rotate
537
+ * the refresh token if needed.
538
+ *
539
+ * @returns Promise<User | null>
858
540
  */
859
- linkOAuth: (options: {
860
- provider: OAuthProviderID;
861
- }) => void;
541
+ getAuthenticatedUser(): Promise<User$1 | null>;
862
542
  /**
863
- * @deprecated Use the `useUpdateEmail` hook from `@privy-io/react-auth/ui` for Privy UI, or from `@privy-io/react-auth` for headless flows.
543
+ * #PATBeforeCAT
544
+ * Returns the appropriate access token for use in authentication with the Privy API.
864
545
  *
865
- * For users who are authenticated and have already linked an email address, prompts the user to update their email address.
866
- * This will open the Privy Modal which will guide the user through this action.
546
+ * Should not be exposed or passed to the developer.
867
547
  *
548
+ * @param options See {@link _getToken}
868
549
  */
869
- updateEmail: () => void;
550
+ getAccessToken(options?: {
551
+ disableAutoRefresh?: boolean;
552
+ }): Promise<string | null>;
870
553
  /**
871
- * @deprecated Use the `useUpdatePhone` hook from `@privy-io/react-auth/ui` for Privy UI, or from `@privy-io/react-auth` for headless flows.
554
+ * Grab the customer access token for the currently logged in user.
872
555
  *
873
- * For users who are authenticated and have already linked a phone number, prompts the user to update their phone number.
874
- * This will open the Privy Modal which will guide the user through this action.
556
+ * @param options See {@link _getToken}
875
557
  */
876
- updatePhone: () => void;
558
+ getCustomerAccessToken(options?: {
559
+ disableAutoRefresh?: boolean;
560
+ }): Promise<string | null>;
877
561
  /**
878
- * Log the current user out and clears their authentication state. `authenticated` will become false, `user` will become null, and the Privy Auth tokens will be deleted from the browser's local storage.
562
+ * Grab the Privy access token for the currently logged in user.
879
563
  *
880
- * You may await this call to take an action once logout is complete (e.g. redirecting to a specific page).
564
+ * @param options See {@link _getToken}
881
565
  */
882
- logout: () => Promise<void>;
566
+ private getPrivyAccessToken;
883
567
  /**
884
- * Get the Privy access token ([JWT](https://jwt.io/)) for an authenticated user. Returns null for an unauthenticated user.
885
- *
886
- * You may use this token to authorize requests sent from your frontend, and can validate it in your backend against your app's Privy verification key.
568
+ * Grab the requested access token for the currently logged in user. Verifies that the
569
+ * token has a valid signature, was issued by 'privy.io', and corresponds to the
570
+ * current app ID. If no valid token is found, this method will force a logout and return null.
887
571
  *
888
- * This will automatically attempt to refresh the session if the token is expired or about to expire.
572
+ * If the token is expired or expiring soon, this will attempt to
573
+ * first refresh the access token to ensure that the token is active. You can
574
+ * disable this behavior using `disableAutoRefresh`, although it is not
575
+ * recommended.
889
576
  *
890
- * @returns Promise for the user's access token as a string if they are authenticated, null if they are unauthenticated.
577
+ * @param tokenType
578
+ * @param disableAutoRefresh not recommended - optionally disable automatic
579
+ * token refresh when the token is expired or expiring soon
891
580
  */
892
- getAccessToken: () => Promise<string | null>;
581
+ private _getToken;
582
+ getUsdTokenPrice(chain: Chain): Promise<number | undefined>;
583
+ getUsdPriceForSol(): Promise<number | undefined>;
584
+ getSplTokenMetadata({ mintAddress, cluster, }: {
585
+ mintAddress: string;
586
+ cluster: 'devnet' | 'testnet' | 'mainnet-beta';
587
+ }): Promise<{
588
+ name: string;
589
+ symbol: string;
590
+ decimals: number;
591
+ } | undefined>;
592
+ requestFarcasterSignerStatus(publicKey: string): Promise<PrivyFarcasterSignerInitResponse>;
893
593
  /**
894
- * @deprecated Use the `useUnlinkEmail` hook instead.
895
- *
896
- * Unlink an email account from a user, by passing the email address. Note that you can only unlink an email account if the user has at least one other account.
594
+ * Headless method to authenticate a smart wallet via the Sign-In with Ethereum spec.
897
595
  *
898
- * @param address {string} email address to be unlinked
899
- * @returns Promise for the {@link User} object after the provided email has been unlinked
596
+ * @returns The user object.
900
597
  */
901
- unlinkEmail: (address: string) => Promise<User>;
598
+ linkSmartWallet({ message, signature, smartWalletType, smartWalletVersion, }: {
599
+ message: string;
600
+ signature: string;
601
+ smartWalletType: SmartWalletType;
602
+ smartWalletVersion?: string;
603
+ }): Promise<User$1>;
902
604
  /**
903
- * @deprecated Use the `useUnlinkPhone` hook instead.
904
- *
905
- * Unlink a phone account from a user, by passing the phone number. Note that you can only unlink a phone account if the user has at least one other account.
605
+ * Headless method to link a new wallet via the Sign-In with Ethereum spec.
906
606
  *
907
- * @param phoneNumber {string} phone number to be unlinked
908
- * @returns Promise for the {@link User} object after the provided phone number has been unlinked
607
+ * @returns The user object.
909
608
  */
910
- unlinkPhone: (phoneNumber: string) => Promise<User>;
609
+ linkWithSiwe({ message, signature, chainId, walletClientType, connectorType, }: {
610
+ message: string;
611
+ signature: string;
612
+ chainId: string;
613
+ walletClientType?: string;
614
+ connectorType?: string;
615
+ }): Promise<User$1>;
911
616
  /**
912
- * @deprecated Use the `useUnlinkWallet` hook instead.
913
- *
914
- * Unlink a wallet account from a user, by passing the public address. Note that you can only unlink a wallet account if the user has at least one other account.
915
- * If the unlinked wallet was the active one, and more wallets are linked to the user, then we attempt to make the most recently linked wallet active.
617
+ * Authenticates with Privy via the Sign-In with Solana spec and returns a User object.
916
618
  *
917
- * @param address {string} wallet address to be unlinked
918
- * @returns Promise for the {@link User} object after the provided wallet has been unlinked
619
+ * @param params - Authentication parameters
620
+ * @returns User object and new user flag
919
621
  */
920
- unlinkWallet: (address: string) => Promise<User>;
622
+ authenticateWithSiws({ message, signature, walletClientType, connectorType, mode, messageType, }: {
623
+ message: string;
624
+ signature: string;
625
+ walletClientType?: string;
626
+ connectorType?: string;
627
+ mode: 'no-signup' | 'login-or-sign-up';
628
+ messageType: SiwsMessageType;
629
+ }): Promise<{
630
+ user: User$1;
631
+ isNewUser: boolean;
632
+ }>;
921
633
  /**
922
- * @deprecated Use the `useUnlinkOAuth` hook instead.
923
- *
924
- * Unlink a Google social account from a user, by passing the google subject ID. Note that you can only unlink a social account if the user has at least one other account.
925
634
  *
926
- * @param subject {string} google account's subject ID
927
- * @returns Promise for the {@link User} object after the provided Google account has been unlinked
928
635
  */
929
- unlinkGoogle: (subject: string) => Promise<User>;
636
+ sendAccountTransferRequest({ nonce, account, accountType, externalWalletMetadata, telegramAuthResult, telegramWebAppData, farcasterEmbeddedAddress, oAuthUserInfo, }: {
637
+ nonce: string;
638
+ account: string;
639
+ accountType: LoginMethod;
640
+ externalWalletMetadata?: ExternalWalletMetadata;
641
+ telegramAuthResult?: TelegramAuthResult;
642
+ telegramWebAppData?: TelegramWebAppData;
643
+ farcasterEmbeddedAddress?: string;
644
+ oAuthUserInfo?: OAuthUserInfo;
645
+ }): Promise<User$1>;
930
646
  /**
931
- * @deprecated Use the `useUnlinkOAuth` hook instead.
932
- *
933
- * Unlink a Twitter social account from a user, by passing the twitter subject ID. Note that you can only unlink a social account if the user has at least one other account.
647
+ * Headless method to link a new wallet via the Sign-In with Solana spec.
934
648
  *
935
- * @param subject {string} twitter account's subject ID
936
- * @returns Promise for the {@link User} object after the provided Twitter account has been unlinked
649
+ * @returns The user object.
937
650
  */
938
- unlinkTwitter: (subject: string) => Promise<User>;
651
+ linkWithSiws({ message, signature, walletClientType, connectorType, messageType, }: {
652
+ message: string;
653
+ signature: string;
654
+ walletClientType?: string;
655
+ connectorType?: string;
656
+ messageType: SiwsMessageType;
657
+ }): Promise<User$1>;
658
+ updateUserAndIdToken(): Promise<User$1>;
659
+ scanTransaction(request: TransactionScanningRequestBody): Promise<TransactionScanningResponseBody>;
660
+ }
661
+ declare function getIdentityToken(): Promise<string | null>;
662
+
663
+ interface DefaultsType {
664
+ baseURL: string;
665
+ timeout: number;
666
+ }
667
+ /**
668
+ * A raw http handler for making requests to the Privy API. It requires a Session
669
+ * object, which is used for fetching and including any tokens that are required
670
+ * for requests.
671
+ *
672
+ * Should not be used for external requests, as we attach a good deal of metadata to requests.
673
+ */
674
+ declare class Http {
675
+ fallbackApiUrl: string;
676
+ private appId;
677
+ private appClientId?;
678
+ private client;
679
+ private defaults;
680
+ private sdkVersion;
681
+ private baseFetch;
682
+ private clientAnalyticsId;
683
+ constructor({ appId, appClientId, client, defaults, }: {
684
+ appId: string;
685
+ appClientId?: string;
686
+ client: PrivyClient;
687
+ defaults: DefaultsType;
688
+ });
689
+ get<T = any>(path: string, config?: FetchOptions<'json'>): Promise<T>;
690
+ post<T = any, D = any>(path: string, data?: D, config?: FetchOptions<'json'>): Promise<T>;
691
+ delete<T = any>(path: string, config?: FetchOptions<'json'>): Promise<T>;
692
+ }
693
+
694
+ interface OAuthFlowMeta {
695
+ provider: OAuthProviderID;
696
+ authorizationCode?: string;
697
+ stateCode?: string;
698
+ captchaToken?: string;
699
+ withPrivyUi: boolean;
700
+ disableSignup: boolean;
701
+ customOAuthRedirectUrl?: string;
702
+ }
703
+
704
+ interface InternalPrivyInterface {
705
+ setAuthenticated: (authenticated: boolean) => void;
706
+ setUser: (user: User$1 | null) => void;
707
+ setIsNewUser: Dispatch<SetStateAction<boolean>>;
708
+ isNewUserThisSession: boolean;
709
+ walletConnectionStatus: WalletConnectionState | null;
710
+ setWalletConnectionStatus: Dispatch<SetStateAction<WalletConnectionState>>;
711
+ connectors: WalletConnector[];
712
+ rpcConfig: RpcConfig;
713
+ showFiatPrices: boolean;
714
+ chains: Chain[];
715
+ clientAnalyticsId: string | null;
716
+ appId: string;
717
+ pendingTransaction: StrictUnsignedTransactionRequestWithChainId | null;
718
+ nativeTokenSymbolForChainId: (chainId: number) => string | undefined;
719
+ mfaPromise?: MutableRefObject<{
720
+ resolve: (args: MfaSubmitArgs) => void;
721
+ reject: (error: PrivyError) => void;
722
+ } | null>;
723
+ getAuthMeta: () => AuthMeta | undefined;
724
+ getAuthFlow: () => AuthFlow | undefined;
939
725
  /**
940
- * @deprecated Use the `useUnlinkOAuth` hook instead.
941
- *
942
- * Unlink a Twitch social account from a user, by passing the Twitch subject ID. Note that you can only unlink a social account if the user has at least one other account.
943
- *
944
- * @param subject {string} twitch account's subject ID
945
- * @returns Promise for the {@link User} object after the provided Twitch account has been unlinked
726
+ * Privy client object from core lib
946
727
  */
947
- unlinkTwitch: (subject: string) => Promise<User>;
728
+ privy: Privy;
948
729
  /**
949
- * @deprecated Use the `useUnlinkOAuth` hook instead.
950
- *
951
- * Unlink a Discord social account from a user, by passing the discord subject ID. Note that you can only unlink a social account if the user has at least one other account.
952
- *
953
- * @param subject {string} discord account's subject ID
954
- * @returns Promise for the {@link User} object after the provided Discord account has been unlinked
730
+ * Legacy privy client object
955
731
  */
956
- unlinkDiscord: (subject: string) => Promise<User>;
732
+ client: PrivyClient;
733
+ closePrivyModal: (options?: {
734
+ shouldCallAuthOnSuccess: boolean;
735
+ isSuccess?: boolean;
736
+ }) => Promise<void>;
737
+ openPrivyModal: OpenPrivyModalFn;
738
+ connectWallet: (connector: WalletConnector, walletClientType?: string) => Promise<void>;
739
+ initLoginWithWallet: (wallet: BaseConnectedEthereumWallet, captchaToken?: string, disableSignup?: boolean, messageType?: SiwsMessageType) => Promise<void>;
740
+ loginWithWallet: () => Promise<void>;
741
+ initLoginWithFarcaster: (captchaToken?: string, disableSignup?: boolean) => Promise<void>;
742
+ loginWithFarcaster: () => Promise<void>;
743
+ loginWithCode: (code: string) => Promise<{
744
+ user: User$1;
745
+ isNewUser: boolean;
746
+ wasAlreadyAuthenticated: boolean;
747
+ linkedAccount: LinkedAccountWithMetadata | null;
748
+ }>;
749
+ initLoginWithEmail: ({ email, withPrivyUi, captchaToken, disableSignup, }: {
750
+ email: string;
751
+ withPrivyUi: boolean;
752
+ captchaToken?: string;
753
+ disableSignup?: boolean;
754
+ }) => Promise<void>;
755
+ initUpdateEmail: ({ oldAddress, newAddress, captchaToken, }: {
756
+ oldAddress: string;
757
+ newAddress: string;
758
+ captchaToken?: string;
759
+ }) => Promise<void>;
760
+ initLoginWithSms: ({ phoneNumber, captchaToken, disableSignup, withPrivyUi, }: {
761
+ phoneNumber: string;
762
+ captchaToken?: string;
763
+ disableSignup?: boolean;
764
+ withPrivyUi: boolean;
765
+ }) => Promise<void>;
766
+ initUpdatePhone: (oldPhoneNumber: string, newPhoneNumber: string, captchaToken?: string) => Promise<void>;
767
+ resendEmailCode: () => Promise<void>;
768
+ resendSmsCode: () => Promise<void>;
769
+ initLoginWithHeadlessOAuth: (provider: OAuthProviderID, captchaToken?: string, disableSignup?: boolean) => Promise<void>;
770
+ loginWithHeadlessOAuth: (oAuthMeta: OAuthFlowMeta) => Promise<User$1 | undefined>;
771
+ crossAppAuthFlow: (o: {
772
+ appId: string;
773
+ popup: Window | null;
774
+ action: 'link' | 'login';
775
+ disableSignup?: boolean;
776
+ }) => Promise<User$1>;
777
+ initLoginWithOAuth: (provider: OAuthProviderID, captchaToken?: string, disableSignup?: boolean) => Promise<void>;
778
+ initLoginWithTelegram: (captchaToken?: string, disableSignup?: boolean, intent?: 'login' | 'link') => Promise<void>;
779
+ loginWithTelegram: (opts?: {
780
+ captchaToken?: string;
781
+ intent?: 'login' | 'link';
782
+ }) => Promise<{
783
+ user: User$1;
784
+ isNewUser: boolean;
785
+ wasAlreadyAuthenticated: boolean;
786
+ loginAccount: LinkedAccountWithMetadata | null;
787
+ }>;
788
+ generateSiweMessage: ({ address, chainId, captchaToken, }: {
789
+ address: string;
790
+ chainId: string;
791
+ captchaToken?: string;
792
+ }) => Promise<string>;
793
+ generateSiweMessageForSmartWallet: ({ address, chainId, }: {
794
+ address: string;
795
+ chainId: string;
796
+ }) => Promise<string>;
797
+ linkSmartWallet: ({ message, signature, smartWalletType, smartWalletVersion, }: {
798
+ message: string;
799
+ signature: string;
800
+ smartWalletType: SmartWalletType;
801
+ smartWalletVersion?: string;
802
+ }) => Promise<void>;
803
+ loginWithSiwe: ({ message, signature, disableSignup, captchaToken, walletClientType, connectorType, }: {
804
+ message: string;
805
+ signature: string;
806
+ disableSignup?: boolean;
807
+ captchaToken?: string;
808
+ walletClientType?: string;
809
+ connectorType?: string;
810
+ }) => Promise<{
811
+ user: User$1;
812
+ isNewUser: boolean;
813
+ }>;
814
+ linkWithSiwe: ({ message, signature, chainId, walletClientType, connectorType, }: {
815
+ message: string;
816
+ signature: string;
817
+ chainId: string;
818
+ walletClientType?: string;
819
+ connectorType?: string;
820
+ }) => Promise<{
821
+ user: User$1;
822
+ linkedAccount: LinkedAccountWithMetadata | null;
823
+ }>;
824
+ loginWithOAuth: (provider: OAuthProviderID) => Promise<OAuthTokens | undefined>;
825
+ passkeyAuthState: PasskeyFlowState;
826
+ setPasskeyAuthState: Dispatch<SetStateAction<PasskeyFlowState>>;
827
+ initSignupWithPasskey: ({ captchaToken, withPrivyUi, }: {
828
+ captchaToken?: string;
829
+ withPrivyUi: boolean;
830
+ }) => Promise<void>;
831
+ signupWithPasskey: () => Promise<{
832
+ user: User$1;
833
+ isNewUser: boolean;
834
+ wasAlreadyAuthenticated: boolean;
835
+ loginAccount: LinkedAccountWithMetadata | null;
836
+ }>;
837
+ initLoginWithPasskey: ({ captchaToken, withPrivyUi, }: {
838
+ captchaToken?: string;
839
+ withPrivyUi: boolean;
840
+ }) => Promise<void>;
841
+ loginWithPasskey: (opts?: {
842
+ credentialIds?: string[];
843
+ }) => Promise<{
844
+ user: User$1;
845
+ isNewUser: boolean;
846
+ wasAlreadyAuthenticated: boolean;
847
+ loginAccount: LinkedAccountWithMetadata | null;
848
+ }>;
849
+ initLinkWithPasskey: () => Promise<void>;
850
+ linkWithPasskey: (options?: {
851
+ name?: string;
852
+ }) => Promise<User$1 | null>;
853
+ /**
854
+ * Internal function to retrieve and refresh the session and user object via calling the /sessions endpoint.
855
+ * TODO: Replace uses with client.updateUserAndIdentityToken if the session does not have to be refreshed.
856
+ */
857
+ refreshSessionAndUser: () => Promise<User$1 | null>;
858
+ walletProxy: EmbeddedWalletProxy | null;
859
+ createAnalyticsEvent: PrivyClient['createAnalyticsEvent'];
860
+ acceptTerms: PrivyClient['acceptTerms'];
861
+ getUsdTokenPrice: PrivyClient['getUsdTokenPrice'];
862
+ getUsdPriceForSol: PrivyClient['getUsdPriceForSol'];
863
+ getSplTokenMetadata: PrivyClient['getSplTokenMetadata'];
864
+ recoverEmbeddedWallet: (opts?: RecoverEmbeddedWalletOpts) => Promise<boolean>;
865
+ updateWallets: () => void;
866
+ fundWallet: (address: string, fundWalletConfig?: FundWalletConfig) => Promise<FundingResult>;
867
+ openModal: OpenPrivyModalFn;
868
+ delegateWallet: ({ address, chainType, showDelegationUIs, }: {
869
+ address: string;
870
+ chainType: 'solana' | 'ethereum';
871
+ /** Whether delegation should be headful (showWalletUIs: true) or headless (showWalletUIs: false) */
872
+ showDelegationUIs: boolean;
873
+ }) => Promise<void>;
874
+ revokeDelegatedWallets: ({ showDelegationUIs, }: {
875
+ /** Whether delegation should be headful (showWalletUIs: true) or headless (showWalletUIs: false) */
876
+ showDelegationUIs: boolean;
877
+ }) => Promise<void>;
957
878
  /**
958
- * @deprecated Use the `useUnlinkOAuth` hook instead.
879
+ * Updates the `ready` returned by `usePrivy` to be true, and resolves
880
+ * any pending `login` promise that is waiting for `ready` to be true.
959
881
  *
960
- * Unlink a Github social account from a user, by passing the github subject ID. Note that you can only unlink a social account if the user has at least one other account.
882
+ * This is a method in the internal context to allow us to update `ready`
883
+ * (state variable in `PrivyProvider`) from any screen, such as the OAuth
884
+ * status screen.
961
885
  *
962
- * @param subject {string} github account's subject ID
963
- * @returns Promise for the {@link User} object after the provided Github account has been unlinked
886
+ * @param isAuthenticated - Whether the user is authenticated - necessary for showing modal
887
+ * decisions since ready and authenticated get set in the same tick
964
888
  */
965
- unlinkGithub: (subject: string) => Promise<User>;
889
+ setReadyToTrue: (isAuthenticated: boolean) => void;
890
+ requestFarcasterSignerStatus: (publicKey: string) => Promise<PrivyFarcasterSignerInitResponse>;
966
891
  /**
967
- * @deprecated Use the `useUnlinkOAuth` hook instead.
968
- *
969
- * Unlink a Spotify social account from a user, by passing the spotify subject ID. Note that you can only unlink a social account if the user has at least one other account.
970
- *
971
- * @param subject {string} spotify account's subject ID
972
- * @returns Promise for the {@link User} object after the provided Spotify account has been unlinked
892
+ * @deprecated in favor of connectBaseAccount
893
+ * Prompts the user to connect their Coinbase Smart Wallet headlessly.
973
894
  */
974
- unlinkSpotify: (subject: string) => Promise<User>;
895
+ connectCoinbaseSmartWallet: () => Promise<void>;
975
896
  /**
976
- * @deprecated Use the `useUnlinkOAuth` hook instead.
977
- *
978
- * Unlink a Instagram social account from a user, by passing the instagram subject ID. Note that you can only unlink a social account if the user has at least one other account.
979
- *
980
- * @param subject {string} instagram account's subject ID
981
- * @returns Promise for the {@link User} object after the provided Instagram account has been unlinked
897
+ * Prompts the user to connect their Base Account headlessly.
982
898
  */
983
- unlinkInstagram: (subject: string) => Promise<User>;
899
+ connectBaseAccount: () => Promise<void>;
984
900
  /**
985
- * @deprecated Use the `useUnlinkOAuth` hook instead.
986
901
  *
987
- * Unlink a Tiktok social account from a user, by passing the tiktok subject ID. Note that you can only unlink a social account if the user has at least one other account.
988
- *
989
- * @param subject {string} tiktok account's subject ID
990
- * @returns Promise for the {@link User} object after the provided Tiktok account has been unlinked
902
+ * Allows for an account linked to another user to be transferred to the current user as a login method.
903
+ * If the account was the only one linked to the previous user, that user will then be deleted after the account transfer.
991
904
  */
992
- unlinkTiktok: (subject: string) => Promise<User>;
905
+ initiateAccountTransfer: ({ nonce, account, accountType, externalWalletMetadata, telegramAuthResult, telegramWebAppData, farcasterEmbeddedAddress, oAuthUserInfo, }: {
906
+ nonce: string;
907
+ account: string;
908
+ accountType: LoginMethod;
909
+ externalWalletMetadata?: ExternalWalletMetadata;
910
+ telegramAuthResult?: TelegramAuthResult;
911
+ telegramWebAppData?: TelegramWebAppData;
912
+ farcasterEmbeddedAddress?: string;
913
+ oAuthUserInfo?: OAuthUserInfo;
914
+ }) => Promise<User$1>;
993
915
  /**
994
- * @deprecated Use the `useUnlinkOAuth` hook instead.
995
- *
996
- * Unlink a Line social account from a user, by passing the line subject ID. Note that you can only unlink a social account if the user has at least one other account.
997
- *
998
- * @param subject {string} line account's subject ID
999
- * @returns Promise for the {@link User} object after the provided Line account has been unlinked
916
+ * Used to track the current signMessage flow for the purposes of determining if we should
917
+ * show the smart wallet signature prompt
1000
918
  */
1001
- unlinkLine: (subject: string) => Promise<User>;
919
+ hideWalletUIs: MutableRefObject<boolean>;
1002
920
  /**
1003
- * @deprecated Use the `useUnlinkOAuth` hook instead.
1004
- *
1005
- * Unlink a LinkedIn social account from a user, by passing the linkedin subject ID. Note that you can only unlink a social account if the user has at least one other account.
1006
- *
1007
- * @param subject {string} linkedin account's subject ID
1008
- * @returns Promise for the {@link User} object after the provided LinkedIn account has been unlinked
921
+ * State of the Email auth headless flow
1009
922
  */
1010
- unlinkLinkedIn: (subject: string) => Promise<User>;
923
+ emailOtpState: OtpFlowState;
1011
924
  /**
1012
- * @deprecated Use the `useUnlinkOAuth` hook instead.
1013
- *
1014
- * Unlink a Apple social account from a user, by passing the apple subject ID. Note that you can only unlink a social account if the user has at least one other account.
1015
- *
1016
- * @param subject {string} apple account's subject ID
1017
- * @returns Promise for the {@link User} object after the provided Apple account has been unlinked
925
+ * Set state of the Email and SMS headless flows
1018
926
  */
1019
- unlinkApple: (subject: string) => Promise<User>;
927
+ setEmailOtpState: Dispatch<SetStateAction<OtpFlowState>>;
1020
928
  /**
1021
- * Unlink a cross-app account from a user, by passing the apple subject ID. Note that you can only unlink this account if the user has at least one other account.
1022
- *
1023
- * @param subject {string} apple account's subject ID
1024
- * @returns Promise for the {@link User} object after the provided cross-app account has been unlinked
929
+ * State of the Email auth headless flow
1025
930
  */
1026
- unlinkCrossAppAccount: ({ subject }: {
1027
- subject: string;
1028
- }) => Promise<User>;
931
+ smsOtpState: OtpFlowState;
1029
932
  /**
1030
- * @deprecated Use the `useUnlinkFarcaster` hook instead.
1031
- *
1032
- * Unlink a Farcaster account from a user, by passing the FID. Note that you can only unlink a phone account if the user has at least one other account.
1033
- *
1034
- * @param fid {number} Farcaster ID
1035
- * @returns Promise for the {@link User} object after the provided Farcaster account has been unlinked
933
+ * Set state of the Sms and SMS headless flows
1036
934
  */
1037
- unlinkFarcaster: (fid: number) => Promise<User>;
935
+ setSmsOtpState: Dispatch<SetStateAction<OtpFlowState>>;
1038
936
  /**
1039
- * @deprecated Use the `useUnlinkTelegram` hook instead.
1040
- *
1041
- * Unlink a Telegram account from a user, by passing the Telegram subject ID. Note that you can only unlink a social account if the user has at least one other account.
1042
- *
1043
- * @param telegramUserId {string} Telegram user ID of the linked account
1044
- * @returns Promise for the {@link User} object after the provided Telegram account has been unlinked
937
+ * State of the headless SIWE flows
1045
938
  */
1046
- unlinkTelegram: (telegramUserId: string) => Promise<User>;
939
+ siweState: SiweFlowState;
1047
940
  /**
1048
- * Unlink a Passkey account from a user, by passing the credential ID. Note that you can only unlink a passkey account if the user has at least one other account.
1049
- *
1050
- * @param credentialId {string} Passkey Credential ID
1051
- * @returns Promise for the {@link User} object after the provided passkey account has been unlinked
941
+ * Set state of the headless SIWE flows
1052
942
  */
1053
- unlinkPasskey: (credentialId: string) => Promise<User>;
943
+ setSiweState: Dispatch<SetStateAction<SiweFlowState>>;
944
+ isHeadlessSigning: ({ showWalletUIs }: {
945
+ showWalletUIs?: boolean;
946
+ }) => boolean;
947
+ inProgressAuthFlowRef: MutableRefObject<'login' | 'link' | 'update' | 'connect-or-create' | null>;
948
+ inProgressLoginOrLinkMethodRef: MutableRefObject<LoginMethod | null>;
949
+ baseAccountSdk: BaseAccountSdkType | undefined;
950
+ setBaseAccountSdk: Dispatch<SetStateAction<BaseAccountSdkType | undefined>>;
951
+ }
952
+
953
+ /**
954
+ * Allows you to manage the user's current authentication state and access their linked accounts.
955
+ * You can access the fields and methods documented here via the {@link usePrivy} hook.
956
+ */
957
+ interface PrivyInterface {
1054
958
  /**
1055
- * Unlink an OAuth account from a user, by passing the provider and subject ID.
1056
- * Accepts any OAuth provider including built-in providers (e.g. 'google', 'twitter')
1057
- * and custom OAuth providers (e.g. 'custom:my-provider').
1058
- * Note that you can only unlink an account if the user has at least one other account.
1059
- *
1060
- * @param options.provider The OAuth provider to unlink
1061
- * @param options.subject The provider's subject ID for the account
1062
- * @returns Promise for the {@link User} object after the account has been unlinked
959
+ * Check whether the `PrivyProvider` is ready to be used. You should wait for this to
960
+ * be true before using values such as `authenticated` and `user`.
1063
961
  */
1064
- unlinkOAuth: (options: {
1065
- provider: OAuthProviderID;
1066
- subject: string;
1067
- }) => Promise<User>;
962
+ ready: boolean;
1068
963
  /**
1069
- * Creates an embedded wallet for the current user.
1070
- *
1071
- * This method will error if the user already has an embedded wallet or if they
1072
- * exit in the middle of the flow.
1073
- *
1074
- * If the `config.embeddedWallets.requireUserOwnedRecoveryOnCreate` property is set to true,
1075
- * this will prompt the user to complete a recovery flow to secure the recovery
1076
- * share of their embedded wallet.
964
+ * True if the user is authenticated, false otherwise.
1077
965
  *
1078
- * Otherwise (the default), Privy will secure the recovery share, and the embedded wallet
1079
- * will be created without showing any UIs to the user.
966
+ * You should always check that `ready` is true before using this value. Otherwise,
967
+ * the value may outdated while the Privy client fetches fresh tokens.
1080
968
  *
1081
- * @returns Promise for the {@link Wallet} object for the newly created embedded wallet
1082
969
  */
1083
- createWallet: (options?: CreateWalletOptions | MouseEvent<any, any>) => Promise<Wallet>;
970
+ authenticated: boolean;
1084
971
  /**
1085
- * @deprecated. Use `setWalletRecovery` instead.
1086
- *
1087
- * Set (or reset) a password on a wallet.
1088
- *
1089
- * This method will error if the user does not have an embedded wallet or if the user exits in the middle of the flow.
1090
- *
1091
- * @returns Promise for the {@link Wallet} object for the updated embedded wallet
972
+ * The user object, or null if the user is not authenticated.
1092
973
  */
1093
- setWalletPassword: () => Promise<Wallet>;
974
+ user: User$1 | null;
1094
975
  /**
1095
- * Prompt the user to enable wallet recovery. Current recovery options include password, Google Drive, and iCloud.
1096
- *
1097
- * This method will error if the user does not have an embedded wallet, if the user's
1098
- * embedded wallet already has a cloud-based recovery set, or if the user exits in the middle of the flow.
1099
- *
1100
- * @returns Promise for the {@link Wallet} object for the updated embedded wallet
976
+ * Any error encountered during SDK initialization.
1101
977
  */
1102
- setWalletRecovery: (o?: SetWalletRecoveryOptions) => Promise<Wallet>;
978
+ error: Error | null;
1103
979
  /**
1104
- * Prompts a user to sign a message using their embedded wallet using EIP-191's `personal_sign`
1105
- * method (0x45).
1106
- *
1107
- * This method will error if the user is not authenticated or does not have an embedded wallet.
1108
- *
1109
- * If the `config.embeddedWallets.showWalletUIs` property is set to false, the signature will
1110
- * be computed without prompting the user. Otherwise (the default), Privy will show the user a modal
1111
- * to prompt them for a signature. This can be customized via the {@link SignMessageModalUIOptions}.
1112
- *
1113
- * @param input.message {string} message to be signed
1114
- * @param options.uiOptions {@link SignMessageModalUIOptions} (optional) UI options to customize the signature prompt modal
1115
- * @param options.address {optional} address for the embedded wallet signing the message. You should ONLY set this parameter if using imported
1116
- * embedded wallets or multiple HD embedded wallets for the same user. Defaults to the user's embedded wallet at HD index 0.
1117
- * @returns Promise for the signature as a string
980
+ * Opens the Privy modal and prompts the user to connect a wallet.
981
+ * @param options.description {React.ReactNode} (optional) custom description for the connect wallet modal
1118
982
  */
1119
- signMessage: (input: {
1120
- message: string;
1121
- }, options?: {
1122
- uiOptions?: SignMessageModalUIOptions;
1123
- address?: string;
1124
- }) => Promise<{
1125
- signature: string;
1126
- }>;
983
+ connectWallet: (options?: ConnectWalletModalOptions | MouseEvent<any, any>) => void;
1127
984
  /**
1128
- * Prompts a user to sign a message using their embedded wallet using EIP-712's `eth_signTypedData_v4`.
1129
- *
1130
- * This method will error if the user is not authenticated or does not have an embedded wallet.
1131
- *
1132
- * @param input {SignTypedDataParams} typed data payload to be signed
1133
- * @param options.uiOptions {@link SignMessageModalUIOptions} (optional) UI options to customize the signature prompt modal
1134
- * @param options.address {optional} address for the embedded wallet signing the message. You should ONLY set this parameter if using imported
1135
- * embedded wallets or multiple HD embedded wallets for the same user. Defaults to the user's embedded wallet at HD index 0.
1136
- * @returns Promise for the signature as a string
985
+ * Opens the Privy login modal and prompts the user to login.
986
+ * @param options.loginMethods {LoginMethod[]} custom login methods to display in the login modal. This will overwrite the value provider to the client config.
987
+ * @param options.prefill {PrefillLoginOptions} prefill the login modal with the provided email or phone number.
1137
988
  */
1138
- signTypedData: (input: SignTypedDataParams, options?: {
1139
- uiOptions?: SignMessageModalUIOptions;
1140
- address?: string;
1141
- }) => Promise<{
1142
- signature: string;
1143
- }>;
989
+ login: (options?: LoginModalOptions | MouseEvent<any, any>) => void;
1144
990
  /**
1145
- * Function to control the visibility of the enrollment modal.
1146
- *
1147
- * @param show {boolean} controls the visibility of the enrollment modal.
1148
- * @returns Promise for opening the enrollment modal.
991
+ * Opens the Privy login modal and prompts the user to login or connect a wallet.
1149
992
  */
1150
- enrollInMfa: (show?: boolean) => void;
993
+ connectOrCreateWallet: () => void;
1151
994
  /**
1152
- * Initiate the enrollment flow for MFA for the current user.
1153
- *
1154
- * @param mfaMethod {@link MfaMethod} The MFA method to enroll for the current user.
1155
- * @param meta {@link {phoneNumber: string}} The meta data needed to complete the MFA flow.
1156
- * @returns Promise for enrolling the current user with the chosen MFA method.
995
+ * For users who are authenticated, opens the Privy modal and prompts the user to link an email.
996
+ * This will open the Privy Modal which will guide the user through this action.
1157
997
  */
1158
- initEnrollmentWithSms: (meta: {
1159
- phoneNumber: string;
1160
- }) => Promise<void>;
998
+ linkEmail: () => void;
1161
999
  /**
1162
- * Initiate the enrollment flow for TOTP MFA for the current user.
1163
- *
1164
- * @returns {@link {secret: string; authUrl: string}} The TOTP Auth Url is used to encode
1165
- * into a QR Code for the user to scane.
1000
+ * For users who are authenticated, opens the Privy modal and prompts the user to link a phone number.
1001
+ * This will open the Privy Modal which will guide the user through this action.
1166
1002
  */
1167
- initEnrollmentWithTotp: () => Promise<{
1168
- secret: string;
1169
- authUrl: string;
1170
- }>;
1003
+ linkPhone: () => void;
1171
1004
  /**
1172
- * Initiate the enrollment flow for Passkey MFA for the current user.
1173
- *
1174
- * @returns {@link void} The TOTP Auth Url is used to encode
1175
- * into a QR Code for the user to scane.
1005
+ * For users who are authenticated, opens the Privy modal and prompts the user to link a wallet.
1006
+ * This will open the Privy Modal which will guide the user through this action.
1007
+ * @param options.description {React.ReactNode} (optional) custom description for the link wallet modal
1008
+ * @param options.walletChainType {'ethereum-and-solana' | 'ethereum-only' | 'solana-only'} (optional) wallet chain type to filter the wallet options
1176
1009
  */
1177
- initEnrollmentWithPasskey: () => Promise<void>;
1010
+ linkWallet: (options?: ConnectWalletModalOptions | MouseEvent<any, any>) => void;
1178
1011
  /**
1179
- * Submit the MFA code to complete SMS enrollment process.
1180
- *
1181
- * @param meta {@link {phoneNumber: string; mfaCode: string}} The MFA code and phone number to submit.
1182
- * @returns Promise for the MFA code submission.
1012
+ * For users who are authenticated, opens the Privy modal and prompts the user to link a Farcaster account.
1013
+ * This will open the Privy Modal which will guide the user through this action.
1183
1014
  */
1184
- submitEnrollmentWithSms: (meta: {
1185
- phoneNumber: string;
1186
- mfaCode: string;
1187
- }) => Promise<void>;
1015
+ linkFarcaster: () => void;
1188
1016
  /**
1189
- * Submit the MFA code to complete TOTP enrollment process.
1190
- *
1191
- * @param meta {@link {mfaCode: string}} The MFA code.
1192
- * @returns Promise for the MFA code submission.
1017
+ * For users who are authenticated, prompts the user to link a Google OAuth account.
1018
+ * This will directly initiate the OAuth flow for Google.
1193
1019
  */
1194
- submitEnrollmentWithTotp: (meta: {
1195
- mfaCode: string;
1196
- }) => Promise<void>;
1020
+ linkGoogle: () => void;
1197
1021
  /**
1198
- * Submit the passkey to complete the enrollment process.
1199
- *
1200
- * @param meta {@link {credentialIds: string[]}} The passkey credentialIds to enroll in MFA.
1201
- * @param options.removeForLogin (optional) If false, unenrolled passkeys will be kept linked to the user.
1202
- * @returns Promise for the MFA code submission.
1022
+ * For users who are authenticated, prompts the user to link a Twitter OAuth account
1023
+ * This will directly initiate the OAuth flow for Twitter.
1203
1024
  */
1204
- submitEnrollmentWithPasskey: (input: {
1205
- credentialIds: string[];
1206
- }, options?: {
1207
- removeForLogin?: boolean;
1208
- }) => Promise<void>;
1025
+ linkTwitter: () => void;
1209
1026
  /**
1210
- * Triggers the MFA verification flow if the user has an MFA method enrolled.
1211
- *
1212
- * @returns Promise for triggering the MFA verification flow.
1027
+ * For users who are authenticated, prompts the user to link a Twitch OAuth account
1028
+ * This will directly initiate the OAuth flow for Twitch.
1213
1029
  */
1214
- promptMfa: () => Promise<void>;
1030
+ linkTwitch: () => void;
1215
1031
  /**
1216
- * Initiate the MFA flow for the current user.
1217
- *
1218
- * @param mfaMethod {@link MfaMethod} The available MFA method to trigger for the current user.
1219
- * @returns Promise for sending the MFA code to the user's device.
1032
+ * For users who are authenticated, prompts the user to link Discord OAuth account
1033
+ * This will directly initiate the OAuth flow for Discord.
1220
1034
  */
1221
- init: (mfaMethod: MfaMethod) => Promise<void | PublicKeyCredentialRequestOptionsJSON>;
1035
+ linkDiscord: () => void;
1222
1036
  /**
1223
- * Submit the MFA code for the current user. This will attempt to complete the MFA flow.
1224
- *
1225
- * This will reject if:
1226
- * - The verification attempt failed
1227
- * - The max number of verification attempts has been reached
1228
- * - The MFA attempt timed out
1229
- *
1230
- * These errors can be caught and handled accordingly using the error helpers `errorIndicatesMfaVerificationFailed`,
1231
- * `errorIndicatesMaxMfaRetries`, `errorIndicatesMfaTimeout` exported from 'react-auth'.
1232
- *
1233
- * @param method {@link MfaMethod} The MFA method to be used.
1234
- * @param mfaCode {string} The MFA code to submit.
1235
- * @returns Promise for the MFA code submission.
1037
+ * For users who are authenticated, prompts the user to link Github OAuth account
1038
+ * This will directly initiate the OAuth flow for Github.
1236
1039
  */
1237
- submit: (mfaMethod: MfaMethod, mfaCode: string | PublicKeyCredentialRequestOptionsJSON) => Promise<void>;
1040
+ linkGithub: () => void;
1238
1041
  /**
1239
- * Cancel the MFA flow for the current user. If there is no pending MFA verification,
1240
- * this function is a no-op.
1241
- *
1242
- * Call this method instead of `submit` when a user has been prompted for
1243
- * MFA but decides to exit the flow.
1244
- *
1245
- * @returns void.
1042
+ * For users who are authenticated, prompts the user to link Spotify OAuth account
1043
+ * This will directly initiate the OAuth flow for Spotify.
1246
1044
  */
1247
- cancel: () => void;
1045
+ linkSpotify: () => void;
1248
1046
  /**
1249
- * Remove the MFA method for the current user.
1250
- *
1251
- * @param method {@link MfaMethod} The MFA method to remove for the current user.
1252
- * @param options.removeForLogin (optional) If false, unenrolled passkeys will be kept linked to the user.
1253
- * @returns Promise for removing the MFA method for the current user.
1047
+ * For users who are authenticated, prompts the user to link Instagram OAuth account
1048
+ * This will directly initiate the OAuth flow for Instagram.
1254
1049
  */
1255
- unenroll: (method: MfaMethod, options?: {
1256
- removeForLogin?: boolean;
1257
- }) => Promise<void>;
1050
+ linkInstagram: () => void;
1258
1051
  /**
1259
- * Clears the cached MFA token. Call this when you want to require fresh MFA
1260
- * verification on the user's next action — for example, after a period of inactivity.
1261
- *
1262
- * @returns Promise that resolves once the cached token has been cleared.
1052
+ * For users who are authenticated, prompts the user to link Tiktok OAuth account
1053
+ * This will directly initiate the OAuth flow for Tiktok.
1263
1054
  */
1264
- clear: () => Promise<void>;
1055
+ linkTiktok: () => void;
1265
1056
  /**
1266
- * Prompts a user to send a transaction using their embedded wallet.
1267
- *
1268
- * This method will error if the user is not authenticated or does not have an ethereum embedded wallet.
1269
- *
1270
- * If no `chainId` is specified as part of the {@link UnsignedTransactionRequest}, Privy will default
1271
- * to the embedded wallet's current chain ID.
1272
- *
1273
- * If the `config.embeddedWallets.showWalletUIs` property is set to false, the wallet will
1274
- * attempt to send the transaction without prompting the user. Otherwise (the default), Privy
1275
- * will show the user a modal to have them confirm the transaction. This can be customized via
1276
- * the {@link SendTransactionModalUIOptions}.
1277
- *
1278
- * @param input {@link UnsignedTransactionRequest} transaction to be sent
1279
- * @param options.uiOptions {@link SendTransactionModalUIOptions} (optional) UI options to customize the transaction request modal
1280
- * @param options.fundWalletConfig {@link FundWalletConfig} (optional) Funding configuration to specify chain and funding amount (if enabled), in the case of insufficient funds
1281
- * @param options.address {optional} address for the embedded wallet signing the message. You should ONLY set this parameter if using imported
1282
- * embedded wallets or multiple HD embedded wallets for the same user. Defaults to the user's embedded wallet at HD index 0.
1283
- * @returns Promise for the transaction's hash as a hexadecimal string
1057
+ * For users who are authenticated, prompts the user to link Line OAuth account
1058
+ * This will directly initiate the OAuth flow for Line.
1284
1059
  */
1285
- sendTransaction: (input: UnsignedTransactionRequest, options?: {
1286
- sponsor?: boolean;
1287
- uiOptions?: SendTransactionModalUIOptions;
1288
- fundWalletConfig?: FundWalletConfig;
1289
- address?: string;
1290
- }) => Promise<{
1291
- hash: `0x${string}`;
1292
- }>;
1060
+ linkLine: () => void;
1293
1061
  /**
1294
- * Prompts a user to sign a transaction using their embedded wallet.
1062
+ * For users who are authenticated, prompts the user to link LinkedIn OAuth account
1063
+ * This will directly initiate the OAuth flow for LinkedIn.
1064
+ */
1065
+ linkLinkedIn: () => void;
1066
+ /**
1067
+ * For users who are authenticated, prompts the user to link Apple OAuth account
1068
+ * This will directly initiate the OAuth flow for Apple.
1069
+ */
1070
+ linkApple: () => void;
1071
+ /**
1072
+ * For users who are authenticated, prompts the user to link a Passkey account
1073
+ * This will open the Privy Modal which will guide the user through this action.
1295
1074
  *
1296
- * This method will error if the user is not authenticated or does not have an ethereum embedded wallet.
1075
+ * @param options.name Optional passkey name used when linking
1076
+ */
1077
+ linkPasskey: (options?: {
1078
+ name?: string;
1079
+ }) => void;
1080
+ /**
1081
+ * For users who are authenticated, prompts the user to link a Telegram account
1082
+ * This will directly initiate the auth flow for Telegram.
1083
+ * @param options.launchParams.initDataRaw {string} (optional) Raw data retrieved from an authenticated Telegram session. Used to link a Telegram account seamlessly.
1084
+
1085
+ */
1086
+ linkTelegram: (options?: {
1087
+ launchParams: {
1088
+ initDataRaw?: string;
1089
+ };
1090
+ }) => void;
1091
+ /**
1092
+ * For users who are authenticated, prompts the user to link an OAuth account.
1093
+ * Accepts any OAuth provider including built-in providers (e.g. 'google', 'twitter')
1094
+ * and custom OAuth providers (e.g. 'custom:my-provider').
1095
+ * This will directly initiate the OAuth flow for the given provider.
1297
1096
  *
1298
- * If no `chainId` is specified as part of the {@link UnsignedTransactionRequest}, Privy will default
1299
- * to the embedded wallet's current chain ID.
1097
+ * @param options.provider The OAuth provider to link
1098
+ */
1099
+ linkOAuth: (options: {
1100
+ provider: OAuthProviderID;
1101
+ }) => void;
1102
+ /**
1103
+ * @deprecated Use the `useUpdateEmail` hook from `@privy-io/react-auth/ui` for Privy UI, or from `@privy-io/react-auth` for headless flows.
1300
1104
  *
1301
- * If the `config.embeddedWallets.showWalletUIs` property is set to false, the wallet will
1302
- * attempt to sign the transaction without prompting the user. Otherwise (the default), Privy
1303
- * will show the user a modal to have them confirm the transaction. This can be customized via
1304
- * the {@link SendTransactionModalUIOptions}.
1105
+ * For users who are authenticated and have already linked an email address, prompts the user to update their email address.
1106
+ * This will open the Privy Modal which will guide the user through this action.
1305
1107
  *
1306
- * @param input {@link UnsignedTransactionRequest} transaction to be signed
1307
- * @param options.uiOptions {@link SendTransactionModalUIOptions} (optional) UI options to customize the transaction request modal
1308
- * @param options.address {optional} address for the embedded wallet signing the message. You should ONLY set this parameter if using imported
1309
- * embedded wallets or multiple HD embedded wallets for the same user. Defaults to the user's embedded wallet at HD index 0.
1310
- * @returns Promise for the signature as a hexadecimal string
1311
1108
  */
1312
- signTransaction: (input: UnsignedTransactionRequest, options?: {
1313
- uiOptions?: SendTransactionModalUIOptions;
1314
- address?: string;
1315
- }) => Promise<{
1316
- signature: `0x${string}`;
1317
- }>;
1109
+ updateEmail: () => void;
1318
1110
  /**
1319
- * @deprecated use the `useExportWallet` hook instead
1111
+ * @deprecated Use the `useUpdatePhone` hook from `@privy-io/react-auth/ui` for Privy UI, or from `@privy-io/react-auth` for headless flows.
1320
1112
  *
1321
- * Shows the user a Privy modal, from which they can copy their Ethereum embedded wallet's private
1322
- * key or seed phrase for easy export to another wallet client (e.g. MetaMask). The private key is loaded
1323
- * on an iframe running on a separate domain from your app, meaning your app cannot access it.
1113
+ * For users who are authenticated and have already linked a phone number, prompts the user to update their phone number.
1114
+ * This will open the Privy Modal which will guide the user through this action.
1115
+ */
1116
+ updatePhone: () => void;
1117
+ /**
1118
+ * Log the current user out and clears their authentication state. `authenticated` will become false, `user` will become null, and the Privy Auth tokens will be deleted from the browser's local storage.
1324
1119
  *
1325
- * This method will error if the user is not authenticated or does not have an embedded wallet.
1326
- * @param options {@link {address: string}} (optional) Ethereum wallet address to export the private key for
1327
- * @returns Promise that resolves once the user exits the modal
1120
+ * You may await this call to take an action once logout is complete (e.g. redirecting to a specific page).
1328
1121
  */
1329
- exportWallet: (options?: {
1330
- address: string;
1331
- } | MouseEvent<any, any>) => Promise<void>;
1122
+ logout: () => Promise<void>;
1332
1123
  /**
1333
- * Check whether the Privy Modal is visible.
1124
+ * Get the Privy access token ([JWT](https://jwt.io/)) for an authenticated user. Returns null for an unauthenticated user.
1125
+ *
1126
+ * You may use this token to authorize requests sent from your frontend, and can validate it in your backend against your app's Privy verification key.
1127
+ *
1128
+ * This will automatically attempt to refresh the session if the token is expired or about to expire.
1129
+ *
1130
+ * @returns Promise for the user's access token as a string if they are authenticated, null if they are unauthenticated.
1334
1131
  */
1335
- isModalOpen: boolean;
1132
+ getAccessToken: () => Promise<string | null>;
1336
1133
  /**
1337
- * The available mfa methods of this App
1134
+ * @deprecated Use the `useUnlinkEmail` hook instead.
1135
+ *
1136
+ * Unlink an email account from a user, by passing the email address. Note that you can only unlink an email account if the user has at least one other account.
1137
+ *
1138
+ * @param address {string} email address to be unlinked
1139
+ * @returns Promise for the {@link User} object after the provided email has been unlinked
1338
1140
  */
1339
- mfaMethods: MfaMethod[];
1340
- }
1341
-
1342
- /**
1343
- * Allows you to manage the user's currently connected wallets.
1344
- * You can access the fields and methods documented here via the {@link useWallets} hook.
1345
- */
1346
- interface UseWalletsInterface {
1141
+ unlinkEmail: (address: string) => Promise<User$1>;
1347
1142
  /**
1348
- * The user's connected wallets.
1143
+ * @deprecated Use the `useUnlinkPhone` hook instead.
1144
+ *
1145
+ * Unlink a phone account from a user, by passing the phone number. Note that you can only unlink a phone account if the user has at least one other account.
1146
+ *
1147
+ * @param phoneNumber {string} phone number to be unlinked
1148
+ * @returns Promise for the {@link User} object after the provided phone number has been unlinked
1349
1149
  */
1350
- wallets: ConnectedWallet[];
1150
+ unlinkPhone: (phoneNumber: string) => Promise<User$1>;
1351
1151
  /**
1352
- * Whether the wallets are ready to be used.
1152
+ * @deprecated Use the `useUnlinkWallet` hook instead.
1153
+ *
1154
+ * Unlink a wallet account from a user, by passing the public address. Note that you can only unlink a wallet account if the user has at least one other account.
1155
+ * If the unlinked wallet was the active one, and more wallets are linked to the user, then we attempt to make the most recently linked wallet active.
1156
+ *
1157
+ * @param address {string} wallet address to be unlinked
1158
+ * @returns Promise for the {@link User} object after the provided wallet has been unlinked
1353
1159
  */
1354
- ready: boolean;
1355
- }
1356
- declare function useWallets(): UseWalletsInterface;
1357
-
1358
- /**
1359
- * [React Hook](https://reactjs.org/docs/hooks-intro.html) that allows you to manage the user's current authentication state and access their linked accounts.
1360
- *
1361
- * You should use this hook to access the Privy SDK from within your React components and custom hooks.
1362
- */
1363
- declare const usePrivy: () => PrivyInterface;
1364
-
1365
- /**
1366
- * Returns the core Privy client configured by the nearest provider.
1367
- *
1368
- * @experimental This hook and the exposed client API may change in a minor version.
1369
- */
1370
- declare const usePrivyClient_experimental: () => Privy;
1371
-
1372
- type RecoverParams = {
1373
- recoveryMethod: 'recovery-encryption-key';
1374
- recoveryKey: string;
1375
- };
1376
- interface UseRecoverEmbeddedWalletInterface {
1160
+ unlinkWallet: (address: string) => Promise<User$1>;
1377
1161
  /**
1378
- * An async method to recover the embedded wallets.
1162
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1379
1163
  *
1380
- * @param params The parameters with which to recover the embedded wallets.
1381
- * @returns A promise that resolves when the embedded wallets have been recovered.
1164
+ * Unlink a Google social account from a user, by passing the google subject ID. Note that you can only unlink a social account if the user has at least one other account.
1165
+ *
1166
+ * @param subject {string} google account's subject ID
1167
+ * @returns Promise for the {@link User} object after the provided Google account has been unlinked
1382
1168
  */
1383
- recover: (params: RecoverParams) => Promise<void>;
1384
- }
1385
- /**
1386
- * Hook to recover the user's embedded wallets headlessly.
1387
- *
1388
- * @returns An object with a `recover` method that allows you to recover the embedded wallets.
1389
- */
1390
- declare const useRecoverEmbeddedWallet: () => UseRecoverEmbeddedWalletInterface;
1391
-
1392
- /**
1393
- * Use this hook to execute the MFA flow with Privy.
1394
- *
1395
- * @returns promptMfa - prompts the user to complete MFA verification
1396
- * @returns init - starts the MFA verification flow
1397
- * @returns submit - completes the MFA verification flow
1398
- * @returns cancel - cancels the MFA verification flow
1399
- * @returns mfaMethods - list of all available mfa methods
1400
- *
1401
- * @example
1402
- * // MFA flow
1403
- *
1404
- * const MFAModal = ({ mfaMethods, isOpen, setIsOpen }: Props) => {
1405
- * const {init, submit, cancel} = useMfa();
1406
- * const [selectedMethod, setSelectedMethod] = useState(null)
1407
- * const [mfaCode, setMfaCode] = useState('')
1408
- *
1409
- * const handleClose = () => {
1410
- * cancel();
1411
- * setIsOpen(false);
1412
- * };
1413
- *
1414
- * return (
1415
- * <Modal isOpen={isOpen} onClose={handleClose}>
1416
- * {selectedMethod && (
1417
- * <button
1418
- * onClick={async () => {
1419
- * await submit(selectedMethod, mfaCode)
1420
- * setSelectedMethod(null)
1421
- * setIsOpen(false)
1422
- * }}
1423
- * />
1424
- * )}
1425
- * {mfaMethods.map(method => (
1426
- * <button
1427
- * onClick={async () => {
1428
- * await init(method);
1429
- * setSelectedMethod(method)
1430
- * }}
1431
- * >
1432
- * Choose {method} for MFA
1433
- * </button>
1434
- * ))}
1435
- * </Modal>
1436
- * )
1437
- * };
1438
- *
1439
- * @example
1440
- * // Error handling
1441
- *
1442
- * import {
1443
- * errorIndicatesMfaVerificationFailed,
1444
- * errorIndicatesMfaTimeout,
1445
- * errorIndicatesMaxMfaRetries
1446
- * } from '@privy-io/react-auth';
1447
- * const {submit} = useMfa();
1448
- * const [errorState, setErrorState] = useState<string | null>(null);
1449
- *
1450
- * <button
1451
- * onClick={async () => {
1452
- * try {
1453
- * await submit('sms', '<user-mfa-code>');
1454
- * }
1455
- * catch (e) {
1456
- * if (errorIndicatesMfaVerificationFailed(e)) {
1457
- * setErrorState('Verification failed, resubmit.')
1458
- * }
1459
- * else if (errorIndicatesMaxMfaRetries(e)) {
1460
- * setErrorState('Max attempts reached, re-initialize MFA.')
1461
- * }
1462
- * else if (errorIndicatesMfaTimeout(e)) {
1463
- * setErrorState('Timeout reached, re-initialize MFA.')
1464
- * }
1465
- * }
1466
- * }}
1467
- * >
1468
- * {errorState ?? 'Verify SMS MFA Code'}
1469
- * </button>
1470
- *
1471
- */
1472
- declare function useMfa(): {
1473
- promptMfa: () => Promise<void>;
1474
- init: (mfaMethod: MfaMethod) => Promise<void | _simplewebauthn_browser.PublicKeyCredentialRequestOptionsJSON>;
1475
- submit: (mfaMethod: MfaMethod, mfaCode: string | _simplewebauthn_browser.PublicKeyCredentialRequestOptionsJSON) => Promise<void>;
1476
- cancel: () => void;
1477
- clear: () => Promise<void>;
1478
- mfaMethods: ("sms" | "totp" | "passkey")[];
1479
- };
1480
-
1481
- /**
1482
- * Use this hook to enroll a user in MFA
1483
- *
1484
- * @returns initEnrollmentWithSms - starts the MFA enrollment flow for SMS
1485
- * @returns initEnrollmentWithTotp - starts the MFA enrollment flow for TOTP
1486
- * @returns submitEnrollmentWithSms - completes the MFA enrollment flow for SMS
1487
- * @returns submitEnrollmentWithTotp - completes the MFA enrollment flow for TOTP
1488
- * @returns unenrollWithSms - unenrolls the SMS MFA method
1489
- * @returns unenrollWithTotp - unenrolls the TOTP MFA method
1490
- * @returns showMfaEnrollmentModal - opens the MFA enrollment modal
1491
- * @returns closeMfaEnrollmentModal - closes the MFA enrollment modal
1492
- *
1493
- * @example
1494
- * const {unenrollWithSms} = useMfaEnrollment();
1495
- *
1496
- * <button
1497
- * onClick={() => {
1498
- * unenrollWithSms();
1499
- * }}
1500
- * >
1501
- * Unenroll in SMS MFA
1502
- * </button>
1503
- *
1504
- * @example
1505
- * const {unenrollWithTotp} = useMfaEnrollment();
1506
- *
1507
- * <button
1508
- * onClick={() => {
1509
- * unenrollWithTotp();
1510
- * }}
1511
- * >
1512
- * Unenroll in TOTP MFA
1513
- * </button>
1514
- */
1515
- declare function useMfaEnrollment(): {
1516
- initEnrollmentWithSms: (meta: {
1517
- phoneNumber: string;
1518
- }) => Promise<void>;
1519
- initEnrollmentWithTotp: () => Promise<{
1520
- secret: string;
1521
- authUrl: string;
1522
- }>;
1523
- initEnrollmentWithPasskey: () => Promise<void>;
1524
- submitEnrollmentWithSms: (meta: {
1525
- phoneNumber: string;
1526
- mfaCode: string;
1527
- }) => Promise<void>;
1528
- submitEnrollmentWithTotp: (meta: {
1529
- mfaCode: string;
1530
- }) => Promise<void>;
1531
- submitEnrollmentWithPasskey: (input: {
1532
- credentialIds: string[];
1169
+ unlinkGoogle: (subject: string) => Promise<User$1>;
1170
+ /**
1171
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1172
+ *
1173
+ * Unlink a Twitter social account from a user, by passing the twitter subject ID. Note that you can only unlink a social account if the user has at least one other account.
1174
+ *
1175
+ * @param subject {string} twitter account's subject ID
1176
+ * @returns Promise for the {@link User} object after the provided Twitter account has been unlinked
1177
+ */
1178
+ unlinkTwitter: (subject: string) => Promise<User$1>;
1179
+ /**
1180
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1181
+ *
1182
+ * Unlink a Twitch social account from a user, by passing the Twitch subject ID. Note that you can only unlink a social account if the user has at least one other account.
1183
+ *
1184
+ * @param subject {string} twitch account's subject ID
1185
+ * @returns Promise for the {@link User} object after the provided Twitch account has been unlinked
1186
+ */
1187
+ unlinkTwitch: (subject: string) => Promise<User$1>;
1188
+ /**
1189
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1190
+ *
1191
+ * Unlink a Discord social account from a user, by passing the discord subject ID. Note that you can only unlink a social account if the user has at least one other account.
1192
+ *
1193
+ * @param subject {string} discord account's subject ID
1194
+ * @returns Promise for the {@link User} object after the provided Discord account has been unlinked
1195
+ */
1196
+ unlinkDiscord: (subject: string) => Promise<User$1>;
1197
+ /**
1198
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1199
+ *
1200
+ * Unlink a Github social account from a user, by passing the github subject ID. Note that you can only unlink a social account if the user has at least one other account.
1201
+ *
1202
+ * @param subject {string} github account's subject ID
1203
+ * @returns Promise for the {@link User} object after the provided Github account has been unlinked
1204
+ */
1205
+ unlinkGithub: (subject: string) => Promise<User$1>;
1206
+ /**
1207
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1208
+ *
1209
+ * Unlink a Spotify social account from a user, by passing the spotify subject ID. Note that you can only unlink a social account if the user has at least one other account.
1210
+ *
1211
+ * @param subject {string} spotify account's subject ID
1212
+ * @returns Promise for the {@link User} object after the provided Spotify account has been unlinked
1213
+ */
1214
+ unlinkSpotify: (subject: string) => Promise<User$1>;
1215
+ /**
1216
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1217
+ *
1218
+ * Unlink a Instagram social account from a user, by passing the instagram subject ID. Note that you can only unlink a social account if the user has at least one other account.
1219
+ *
1220
+ * @param subject {string} instagram account's subject ID
1221
+ * @returns Promise for the {@link User} object after the provided Instagram account has been unlinked
1222
+ */
1223
+ unlinkInstagram: (subject: string) => Promise<User$1>;
1224
+ /**
1225
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1226
+ *
1227
+ * Unlink a Tiktok social account from a user, by passing the tiktok subject ID. Note that you can only unlink a social account if the user has at least one other account.
1228
+ *
1229
+ * @param subject {string} tiktok account's subject ID
1230
+ * @returns Promise for the {@link User} object after the provided Tiktok account has been unlinked
1231
+ */
1232
+ unlinkTiktok: (subject: string) => Promise<User$1>;
1233
+ /**
1234
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1235
+ *
1236
+ * Unlink a Line social account from a user, by passing the line subject ID. Note that you can only unlink a social account if the user has at least one other account.
1237
+ *
1238
+ * @param subject {string} line account's subject ID
1239
+ * @returns Promise for the {@link User} object after the provided Line account has been unlinked
1240
+ */
1241
+ unlinkLine: (subject: string) => Promise<User$1>;
1242
+ /**
1243
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1244
+ *
1245
+ * Unlink a LinkedIn social account from a user, by passing the linkedin subject ID. Note that you can only unlink a social account if the user has at least one other account.
1246
+ *
1247
+ * @param subject {string} linkedin account's subject ID
1248
+ * @returns Promise for the {@link User} object after the provided LinkedIn account has been unlinked
1249
+ */
1250
+ unlinkLinkedIn: (subject: string) => Promise<User$1>;
1251
+ /**
1252
+ * @deprecated Use the `useUnlinkOAuth` hook instead.
1253
+ *
1254
+ * Unlink a Apple social account from a user, by passing the apple subject ID. Note that you can only unlink a social account if the user has at least one other account.
1255
+ *
1256
+ * @param subject {string} apple account's subject ID
1257
+ * @returns Promise for the {@link User} object after the provided Apple account has been unlinked
1258
+ */
1259
+ unlinkApple: (subject: string) => Promise<User$1>;
1260
+ /**
1261
+ * Unlink a cross-app account from a user, by passing the apple subject ID. Note that you can only unlink this account if the user has at least one other account.
1262
+ *
1263
+ * @param subject {string} apple account's subject ID
1264
+ * @returns Promise for the {@link User} object after the provided cross-app account has been unlinked
1265
+ */
1266
+ unlinkCrossAppAccount: ({ subject }: {
1267
+ subject: string;
1268
+ }) => Promise<User$1>;
1269
+ /**
1270
+ * @deprecated Use the `useUnlinkFarcaster` hook instead.
1271
+ *
1272
+ * Unlink a Farcaster account from a user, by passing the FID. Note that you can only unlink a phone account if the user has at least one other account.
1273
+ *
1274
+ * @param fid {number} Farcaster ID
1275
+ * @returns Promise for the {@link User} object after the provided Farcaster account has been unlinked
1276
+ */
1277
+ unlinkFarcaster: (fid: number) => Promise<User$1>;
1278
+ /**
1279
+ * @deprecated Use the `useUnlinkTelegram` hook instead.
1280
+ *
1281
+ * Unlink a Telegram account from a user, by passing the Telegram subject ID. Note that you can only unlink a social account if the user has at least one other account.
1282
+ *
1283
+ * @param telegramUserId {string} Telegram user ID of the linked account
1284
+ * @returns Promise for the {@link User} object after the provided Telegram account has been unlinked
1285
+ */
1286
+ unlinkTelegram: (telegramUserId: string) => Promise<User$1>;
1287
+ /**
1288
+ * Unlink a Passkey account from a user, by passing the credential ID. Note that you can only unlink a passkey account if the user has at least one other account.
1289
+ *
1290
+ * @param credentialId {string} Passkey Credential ID
1291
+ * @returns Promise for the {@link User} object after the provided passkey account has been unlinked
1292
+ */
1293
+ unlinkPasskey: (credentialId: string) => Promise<User$1>;
1294
+ /**
1295
+ * Unlink an OAuth account from a user, by passing the provider and subject ID.
1296
+ * Accepts any OAuth provider including built-in providers (e.g. 'google', 'twitter')
1297
+ * and custom OAuth providers (e.g. 'custom:my-provider').
1298
+ * Note that you can only unlink an account if the user has at least one other account.
1299
+ *
1300
+ * @param options.provider The OAuth provider to unlink
1301
+ * @param options.subject The provider's subject ID for the account
1302
+ * @returns Promise for the {@link User} object after the account has been unlinked
1303
+ */
1304
+ unlinkOAuth: (options: {
1305
+ provider: OAuthProviderID;
1306
+ subject: string;
1307
+ }) => Promise<User$1>;
1308
+ /**
1309
+ * Creates an embedded wallet for the current user.
1310
+ *
1311
+ * This method will error if the user already has an embedded wallet or if they
1312
+ * exit in the middle of the flow.
1313
+ *
1314
+ * If the `config.embeddedWallets.requireUserOwnedRecoveryOnCreate` property is set to true,
1315
+ * this will prompt the user to complete a recovery flow to secure the recovery
1316
+ * share of their embedded wallet.
1317
+ *
1318
+ * Otherwise (the default), Privy will secure the recovery share, and the embedded wallet
1319
+ * will be created without showing any UIs to the user.
1320
+ *
1321
+ * @returns Promise for the {@link Wallet} object for the newly created embedded wallet
1322
+ */
1323
+ createWallet: (options?: CreateWalletOptions | MouseEvent<any, any>) => Promise<Wallet>;
1324
+ /**
1325
+ * @deprecated. Use `setWalletRecovery` instead.
1326
+ *
1327
+ * Set (or reset) a password on a wallet.
1328
+ *
1329
+ * This method will error if the user does not have an embedded wallet or if the user exits in the middle of the flow.
1330
+ *
1331
+ * @returns Promise for the {@link Wallet} object for the updated embedded wallet
1332
+ */
1333
+ setWalletPassword: () => Promise<Wallet>;
1334
+ /**
1335
+ * Prompt the user to enable wallet recovery. Current recovery options include password, Google Drive, and iCloud.
1336
+ *
1337
+ * This method will error if the user does not have an embedded wallet, if the user's
1338
+ * embedded wallet already has a cloud-based recovery set, or if the user exits in the middle of the flow.
1339
+ *
1340
+ * @returns Promise for the {@link Wallet} object for the updated embedded wallet
1341
+ */
1342
+ setWalletRecovery: (o?: SetWalletRecoveryOptions) => Promise<Wallet>;
1343
+ /**
1344
+ * Prompts a user to sign a message using their embedded wallet using EIP-191's `personal_sign`
1345
+ * method (0x45).
1346
+ *
1347
+ * This method will error if the user is not authenticated or does not have an embedded wallet.
1348
+ *
1349
+ * If the `config.embeddedWallets.showWalletUIs` property is set to false, the signature will
1350
+ * be computed without prompting the user. Otherwise (the default), Privy will show the user a modal
1351
+ * to prompt them for a signature. This can be customized via the {@link SignMessageModalUIOptions}.
1352
+ *
1353
+ * @param input.message {string} message to be signed
1354
+ * @param options.uiOptions {@link SignMessageModalUIOptions} (optional) UI options to customize the signature prompt modal
1355
+ * @param options.address {optional} address for the embedded wallet signing the message. You should ONLY set this parameter if using imported
1356
+ * embedded wallets or multiple HD embedded wallets for the same user. Defaults to the user's embedded wallet at HD index 0.
1357
+ * @returns Promise for the signature as a string
1358
+ */
1359
+ signMessage: (input: {
1360
+ message: string;
1533
1361
  }, options?: {
1534
- removeForLogin?: boolean;
1535
- }) => Promise<void>;
1536
- unenrollWithSms: () => Promise<void>;
1537
- unenrollWithTotp: () => Promise<void>;
1538
- unenrollWithPasskey: (options?: {
1539
- removeForLogin?: boolean;
1540
- }) => Promise<void>;
1541
- showMfaEnrollmentModal: () => void;
1542
- closeMfaEnrollmentModal: () => void;
1543
- };
1544
-
1545
- declare class PrivyIframeError extends Error {
1546
- type: PrivyIframeErrorTypesType;
1547
- constructor(type: PrivyIframeErrorTypesType, message: string);
1548
- }
1549
- declare function errorIndicatesMfaTimeout(error: unknown): error is PrivyIframeError;
1550
- declare function errorIndicatesMfaVerificationFailed(error: unknown): error is PrivyIframeError;
1551
- declare function errorIndicatesMaxMfaRetries(error: unknown): error is PrivyIframeError;
1552
-
1553
- declare const VERSION = "__VERSION__";
1554
-
1555
- type CustomMetadataType = User$1['custom_metadata'];
1556
- interface ResponseEmailAccount {
1557
- type: 'email';
1558
- address: string;
1559
- verified_at: number;
1560
- first_verified_at: number | null;
1561
- latest_verified_at: number | null;
1562
- }
1563
- interface ResponsePhoneAccount {
1564
- type: 'phone';
1565
- phoneNumber: string;
1566
- verified_at: number;
1567
- first_verified_at: number | null;
1568
- latest_verified_at: number | null;
1569
- }
1570
- interface BaseResponseWalletAccount {
1571
- id: string | null;
1572
- type: 'wallet';
1573
- address: string;
1574
- imported: boolean;
1575
- delegated: boolean;
1576
- user_can_sign?: boolean;
1577
- chain_type: 'ethereum' | 'solana';
1578
- wallet_index: number | null;
1579
- wallet_client_type?: string;
1580
- connector_type?: string;
1581
- recovery_method?: 'privy' | 'user-passcode';
1582
- public_key?: string;
1583
- verified_at: number;
1584
- first_verified_at: number | null;
1585
- latest_verified_at: number | null;
1586
- }
1587
- interface ResponseEthereumAccount extends BaseResponseWalletAccount {
1588
- chain_type: 'ethereum';
1589
- }
1590
- interface ResponseSolanaAccount extends BaseResponseWalletAccount {
1591
- chain_type: 'solana';
1592
- }
1593
- interface ResponseSmartWalletAccount {
1594
- type: 'smart_wallet';
1595
- address: string;
1596
- smart_wallet_type: SmartWalletType;
1597
- smart_wallet_version?: string;
1598
- verified_at: number;
1599
- first_verified_at: number | null;
1600
- latest_verified_at: number | null;
1601
- }
1602
- interface ResponseFarcasterAccount {
1603
- type: 'farcaster';
1604
- fid: number;
1605
- owner_address: string;
1606
- username: string | null;
1607
- display_name: string | null;
1608
- bio: string | null;
1609
- profile_picture_url: string | null;
1610
- homepage_url: string | null;
1611
- verified_at: number;
1612
- first_verified_at: number | null;
1613
- latest_verified_at: number | null;
1614
- signer_public_key: string | null;
1615
- }
1616
- interface ResponseOAuthGoogle {
1617
- type: 'google_oauth';
1618
- subject: string;
1619
- email: string;
1620
- name: string | null;
1621
- verified_at: number;
1622
- first_verified_at: number | null;
1623
- latest_verified_at: number | null;
1624
- }
1625
- interface ResponseOAuthTwitter {
1626
- type: 'twitter_oauth';
1627
- subject: string;
1628
- username: string | null;
1629
- name: string | null;
1630
- profile_picture_url: string | null;
1631
- verified_at: number;
1632
- first_verified_at: number | null;
1633
- latest_verified_at: number | null;
1634
- }
1635
- interface ResponseOAuthDiscord {
1636
- type: 'discord_oauth';
1637
- subject: string;
1638
- username: string | null;
1639
- email: string | null;
1640
- verified_at: number;
1641
- first_verified_at: number | null;
1642
- latest_verified_at: number | null;
1643
- }
1644
- interface ResponseOAuthGithub {
1645
- type: 'github_oauth';
1646
- subject: string;
1647
- username: string | null;
1648
- name: string | null;
1649
- email: string | null;
1650
- verified_at: number;
1651
- first_verified_at: number | null;
1652
- latest_verified_at: number | null;
1653
- }
1654
- interface ResponseOAuthSpotify {
1655
- type: 'spotify_oauth';
1656
- subject: string;
1657
- email: string | null;
1658
- name: string | null;
1659
- verified_at: number;
1660
- first_verified_at: number | null;
1661
- latest_verified_at: number | null;
1662
- }
1663
- interface ResponseOAuthInstagram {
1664
- type: 'instagram_oauth';
1665
- subject: string;
1666
- username: string | null;
1667
- verified_at: number;
1668
- first_verified_at: number | null;
1669
- latest_verified_at: number | null;
1670
- }
1671
- interface ResponseOAuthTiktok {
1672
- type: 'tiktok_oauth';
1673
- subject: string;
1674
- username: string | null;
1675
- name: string | null;
1676
- verified_at: number;
1677
- first_verified_at: number | null;
1678
- latest_verified_at: number | null;
1679
- }
1680
- interface ResponseOAuthLine {
1681
- type: 'line_oauth';
1682
- subject: string;
1683
- name: string | null;
1684
- email: string | null;
1685
- profile_picture_url: string | null;
1686
- verified_at: number;
1687
- first_verified_at: number | null;
1688
- latest_verified_at: number | null;
1689
- }
1690
- interface ResponseOAuthTwitch {
1691
- type: 'twitch_oauth';
1692
- subject: string;
1693
- username: string | null;
1694
- verified_at: number;
1695
- first_verified_at: number | null;
1696
- latest_verified_at: number | null;
1697
- }
1698
- interface ResponseOAuthLinkedIn {
1699
- type: 'linkedin_oauth';
1700
- subject: string;
1701
- name: string | null;
1702
- email: string | null;
1703
- vanity_name: string | null;
1704
- verified_at: number;
1705
- first_verified_at: number | null;
1706
- latest_verified_at: number | null;
1707
- }
1708
- interface ResponseOAuthApple {
1709
- type: 'apple_oauth';
1710
- subject: string;
1711
- email: string;
1712
- verified_at: number;
1713
- first_verified_at: number | null;
1714
- latest_verified_at: number | null;
1715
- }
1716
- interface ResponseOAuthCustom {
1717
- type: CustomOAuthProviderID;
1718
- subject: string;
1719
- name: string | null;
1720
- username: string | null;
1721
- email: string | null;
1722
- profile_picture_url: string | null;
1723
- verified_at: number;
1724
- first_verified_at: number | null;
1725
- latest_verified_at: number | null;
1726
- }
1727
- interface ResponseCustomJwtAccount {
1728
- type: 'custom_auth';
1729
- custom_user_id: string;
1730
- verified_at: number;
1731
- first_verified_at: number | null;
1732
- latest_verified_at: number | null;
1733
- }
1734
- interface ResponsePasskeyAccount {
1735
- type: 'passkey';
1736
- credential_id: string;
1737
- public_key?: string;
1738
- enrolled_in_mfa: boolean;
1739
- authenticator_name?: string;
1740
- created_with_device?: string;
1741
- created_with_os?: string;
1742
- created_with_browser?: string;
1743
- verified_at: number;
1744
- first_verified_at: number | null;
1745
- latest_verified_at: number | null;
1746
- }
1747
- interface ResponseTelegramAccount {
1748
- type: 'telegram';
1749
- telegram_user_id: string;
1750
- first_name: string | null;
1751
- last_name: string | null;
1752
- username: string | null;
1753
- photo_url: string | null;
1754
- first_verified_at: number | null;
1755
- latest_verified_at: number | null;
1756
- }
1757
- interface ResponseCrossAppAccount {
1758
- type: 'cross_app';
1759
- subject: string;
1760
- embedded_wallets: {
1761
- address: string;
1762
- }[];
1763
- smart_wallets: {
1764
- address: string;
1765
- }[];
1766
- provider_app_id: string;
1767
- verified_at: number;
1768
- first_verified_at: number | null;
1769
- latest_verified_at: number | null;
1770
- }
1771
- type LinkedAccountsResponseType = Array<ResponseEmailAccount | ResponsePhoneAccount | ResponseEthereumAccount | ResponseSmartWalletAccount | ResponseSolanaAccount | ResponseOAuthGoogle | ResponseOAuthTwitter | ResponseOAuthDiscord | ResponseOAuthGithub | ResponseOAuthSpotify | ResponseOAuthInstagram | ResponseOAuthTiktok | ResponseOAuthLine | ResponseOAuthTwitch | ResponseOAuthLinkedIn | ResponseOAuthApple | ResponseOAuthCustom | ResponseCustomJwtAccount | ResponseFarcasterAccount | ResponsePasskeyAccount | ResponseTelegramAccount | ResponseCrossAppAccount>;
1772
- interface ResponseSmsMfaMethod {
1773
- type: 'sms';
1774
- verified_at: number;
1775
- }
1776
- interface ResponseTotpMfaMethod {
1777
- type: 'totp';
1778
- verified_at: number;
1779
- }
1780
- interface ResponsePasskeyMfaMethod {
1781
- type: 'passkey';
1782
- verified_at: number;
1783
- }
1784
- type LinkedMfaMethodsResponseType = Array<ResponseSmsMfaMethod | ResponseTotpMfaMethod | ResponsePasskeyMfaMethod>;
1785
- interface GetCurrentUserResponse {
1786
- id: string;
1787
- is_guest: boolean;
1788
- created_at: number;
1789
- linked_accounts: LinkedAccountsResponseType;
1790
- mfa_methods: LinkedMfaMethodsResponseType;
1791
- has_accepted_terms: boolean;
1792
- oauth_tokens?: {
1793
- provider: string;
1794
- access_token: string;
1795
- access_token_expires_in_seconds?: number;
1796
- refresh_token?: string;
1797
- refresh_token_expires_in_seconds?: number;
1798
- scopes?: string[];
1799
- };
1800
- custom_metadata?: CustomMetadataType;
1801
- }
1802
-
1803
- interface DefaultsType {
1804
- baseURL: string;
1805
- timeout: number;
1806
- }
1807
- /**
1808
- * A raw http handler for making requests to the Privy API. It requires a Session
1809
- * object, which is used for fetching and including any tokens that are required
1810
- * for requests.
1811
- *
1812
- * Should not be used for external requests, as we attach a good deal of metadata to requests.
1813
- */
1814
- declare class Http {
1815
- fallbackApiUrl: string;
1816
- private appId;
1817
- private appClientId?;
1818
- private client;
1819
- private defaults;
1820
- private sdkVersion;
1821
- private baseFetch;
1822
- private clientAnalyticsId;
1823
- constructor({ appId, appClientId, client, defaults, }: {
1824
- appId: string;
1825
- appClientId?: string;
1826
- client: PrivyClient;
1827
- defaults: DefaultsType;
1828
- });
1829
- get<T = any>(path: string, config?: FetchOptions<'json'>): Promise<T>;
1830
- post<T = any, D = any>(path: string, data?: D, config?: FetchOptions<'json'>): Promise<T>;
1831
- delete<T = any>(path: string, config?: FetchOptions<'json'>): Promise<T>;
1832
- }
1833
-
1834
- /**
1835
- * Valid /session and <>/authenticate calls will respond with a token
1836
- * as well as a valid user object for streamlining.
1837
- */
1838
- interface ValidSessionResponse {
1839
- user: GetCurrentUserResponse;
1840
- token: string;
1841
- privy_access_token: string | null;
1842
- refresh_token: string | null;
1843
- identity_token?: string;
1844
- is_new_user?: boolean;
1845
- session_update_action?: 'set' | 'ignore' | 'clear';
1846
- oauth_tokens?: {
1847
- provider: string;
1848
- access_token: string;
1849
- access_token_expires_in_seconds?: number;
1850
- refresh_token?: string;
1851
- refresh_token_expires_in_seconds?: number;
1852
- scopes?: string[];
1853
- };
1854
- }
1855
-
1856
- type AuthMeta = {
1857
- [key: string]: any;
1858
- };
1859
- /**
1860
- * An auth flow is an encapsulation of the business logic required for a given
1861
- * authentication process. It requires at least one definitive `authenticate`
1862
- * method that does the final token handshaking with the API, but may also
1863
- * include any number of methods/API calls necessary to set up the state (e.g.
1864
- * sending an email before being able to do a passwordless code login)
1865
- */
1866
- interface AuthFlow {
1867
- api?: Http;
1362
+ uiOptions?: SignMessageModalUIOptions;
1363
+ address?: string;
1364
+ }) => Promise<{
1365
+ signature: string;
1366
+ }>;
1367
+ /**
1368
+ * Prompts a user to sign a message using their embedded wallet using EIP-712's `eth_signTypedData_v4`.
1369
+ *
1370
+ * This method will error if the user is not authenticated or does not have an embedded wallet.
1371
+ *
1372
+ * @param input {SignTypedDataParams} typed data payload to be signed
1373
+ * @param options.uiOptions {@link SignMessageModalUIOptions} (optional) UI options to customize the signature prompt modal
1374
+ * @param options.address {optional} address for the embedded wallet signing the message. You should ONLY set this parameter if using imported
1375
+ * embedded wallets or multiple HD embedded wallets for the same user. Defaults to the user's embedded wallet at HD index 0.
1376
+ * @returns Promise for the signature as a string
1377
+ */
1378
+ signTypedData: (input: SignTypedDataParams, options?: {
1379
+ uiOptions?: SignMessageModalUIOptions;
1380
+ address?: string;
1381
+ }) => Promise<{
1382
+ signature: string;
1383
+ }>;
1384
+ /**
1385
+ * Function to control the visibility of the enrollment modal.
1386
+ *
1387
+ * @param show {boolean} controls the visibility of the enrollment modal.
1388
+ * @returns Promise for opening the enrollment modal.
1389
+ */
1390
+ enrollInMfa: (show?: boolean) => void;
1868
1391
  /**
1869
- * Any meta information necessary for the auth flow, that may also need to be
1870
- * shared out to things like frontend components for displaying state of the
1871
- * auth flow
1392
+ * Initiate the enrollment flow for MFA for the current user.
1393
+ *
1394
+ * @param mfaMethod {@link MfaMethod} The MFA method to enroll for the current user.
1395
+ * @param meta {@link {phoneNumber: string}} The meta data needed to complete the MFA flow.
1396
+ * @returns Promise for enrolling the current user with the chosen MFA method.
1872
1397
  */
1873
- meta: AuthMeta;
1398
+ initEnrollmentWithSms: (meta: {
1399
+ phoneNumber: string;
1400
+ }) => Promise<void>;
1874
1401
  /**
1875
- * Handles the API authentication call(s) to log users in.
1876
- * Any preconditions must be addressed prior to calling
1402
+ * Initiate the enrollment flow for TOTP MFA for the current user.
1403
+ *
1404
+ * @returns {@link {secret: string; authUrl: string}} The TOTP Auth Url is used to encode
1405
+ * into a QR Code for the user to scane.
1877
1406
  */
1878
- authenticate(): Promise<ValidSessionResponse>;
1407
+ initEnrollmentWithTotp: () => Promise<{
1408
+ secret: string;
1409
+ authUrl: string;
1410
+ }>;
1879
1411
  /**
1880
- * Handles the API link call(s) to link new user accounts.
1881
- * Requires user to already be logged in when called.
1882
- * Any preconditions must be addressed prior to calling
1412
+ * Initiate the enrollment flow for Passkey MFA for the current user.
1413
+ *
1414
+ * @returns {@link void} The TOTP Auth Url is used to encode
1415
+ * into a QR Code for the user to scane.
1883
1416
  */
1884
- link(): Promise<GetCurrentUserResponse>;
1417
+ initEnrollmentWithPasskey: () => Promise<void>;
1418
+ /**
1419
+ * Submit the MFA code to complete SMS enrollment process.
1420
+ *
1421
+ * @param meta {@link {phoneNumber: string; mfaCode: string}} The MFA code and phone number to submit.
1422
+ * @returns Promise for the MFA code submission.
1423
+ */
1424
+ submitEnrollmentWithSms: (meta: {
1425
+ phoneNumber: string;
1426
+ mfaCode: string;
1427
+ }) => Promise<void>;
1428
+ /**
1429
+ * Submit the MFA code to complete TOTP enrollment process.
1430
+ *
1431
+ * @param meta {@link {mfaCode: string}} The MFA code.
1432
+ * @returns Promise for the MFA code submission.
1433
+ */
1434
+ submitEnrollmentWithTotp: (meta: {
1435
+ mfaCode: string;
1436
+ }) => Promise<void>;
1437
+ /**
1438
+ * Submit the passkey to complete the enrollment process.
1439
+ *
1440
+ * @param meta {@link {credentialIds: string[]}} The passkey credentialIds to enroll in MFA.
1441
+ * @param options.removeForLogin (optional) If false, unenrolled passkeys will be kept linked to the user.
1442
+ * @returns Promise for the MFA code submission.
1443
+ */
1444
+ submitEnrollmentWithPasskey: (input: {
1445
+ credentialIds: string[];
1446
+ }, options?: {
1447
+ removeForLogin?: boolean;
1448
+ }) => Promise<void>;
1449
+ /**
1450
+ * Triggers the MFA verification flow if the user has an MFA method enrolled.
1451
+ *
1452
+ * @returns Promise for triggering the MFA verification flow.
1453
+ */
1454
+ promptMfa: () => Promise<void>;
1455
+ /**
1456
+ * Initiate the MFA flow for the current user.
1457
+ *
1458
+ * @param mfaMethod {@link MfaMethod} The available MFA method to trigger for the current user.
1459
+ * @returns Promise for sending the MFA code to the user's device.
1460
+ */
1461
+ init: (mfaMethod: MfaMethod) => Promise<void | PublicKeyCredentialRequestOptionsJSON>;
1462
+ /**
1463
+ * Submit the MFA code for the current user. This will attempt to complete the MFA flow.
1464
+ *
1465
+ * This will reject if:
1466
+ * - The verification attempt failed
1467
+ * - The max number of verification attempts has been reached
1468
+ * - The MFA attempt timed out
1469
+ *
1470
+ * These errors can be caught and handled accordingly using the error helpers `errorIndicatesMfaVerificationFailed`,
1471
+ * `errorIndicatesMaxMfaRetries`, `errorIndicatesMfaTimeout` exported from 'react-auth'.
1472
+ *
1473
+ * @param method {@link MfaMethod} The MFA method to be used.
1474
+ * @param mfaCode {string} The MFA code to submit.
1475
+ * @returns Promise for the MFA code submission.
1476
+ */
1477
+ submit: (mfaMethod: MfaMethod, mfaCode: string | PublicKeyCredentialRequestOptionsJSON) => Promise<void>;
1478
+ /**
1479
+ * Cancel the MFA flow for the current user. If there is no pending MFA verification,
1480
+ * this function is a no-op.
1481
+ *
1482
+ * Call this method instead of `submit` when a user has been prompted for
1483
+ * MFA but decides to exit the flow.
1484
+ *
1485
+ * @returns void.
1486
+ */
1487
+ cancel: () => void;
1488
+ /**
1489
+ * Remove the MFA method for the current user.
1490
+ *
1491
+ * @param method {@link MfaMethod} The MFA method to remove for the current user.
1492
+ * @param options.removeForLogin (optional) If false, unenrolled passkeys will be kept linked to the user.
1493
+ * @returns Promise for removing the MFA method for the current user.
1494
+ */
1495
+ unenroll: (method: MfaMethod, options?: {
1496
+ removeForLogin?: boolean;
1497
+ }) => Promise<void>;
1498
+ /**
1499
+ * Clears the cached MFA token. Call this when you want to require fresh MFA
1500
+ * verification on the user's next action — for example, after a period of inactivity.
1501
+ *
1502
+ * @returns Promise that resolves once the cached token has been cleared.
1503
+ */
1504
+ clear: () => Promise<void>;
1505
+ /**
1506
+ * Prompts a user to send a transaction using their embedded wallet.
1507
+ *
1508
+ * This method will error if the user is not authenticated or does not have an ethereum embedded wallet.
1509
+ *
1510
+ * If no `chainId` is specified as part of the {@link UnsignedTransactionRequest}, Privy will default
1511
+ * to the embedded wallet's current chain ID.
1512
+ *
1513
+ * If the `config.embeddedWallets.showWalletUIs` property is set to false, the wallet will
1514
+ * attempt to send the transaction without prompting the user. Otherwise (the default), Privy
1515
+ * will show the user a modal to have them confirm the transaction. This can be customized via
1516
+ * the {@link SendTransactionModalUIOptions}.
1517
+ *
1518
+ * @param input {@link UnsignedTransactionRequest} transaction to be sent
1519
+ * @param options.uiOptions {@link SendTransactionModalUIOptions} (optional) UI options to customize the transaction request modal
1520
+ * @param options.fundWalletConfig {@link FundWalletConfig} (optional) Funding configuration to specify chain and funding amount (if enabled), in the case of insufficient funds
1521
+ * @param options.address {optional} address for the embedded wallet signing the message. You should ONLY set this parameter if using imported
1522
+ * embedded wallets or multiple HD embedded wallets for the same user. Defaults to the user's embedded wallet at HD index 0.
1523
+ * @returns Promise for the transaction's hash as a hexadecimal string
1524
+ */
1525
+ sendTransaction: (input: UnsignedTransactionRequest, options?: {
1526
+ sponsor?: boolean;
1527
+ uiOptions?: SendTransactionModalUIOptions;
1528
+ fundWalletConfig?: FundWalletConfig;
1529
+ address?: string;
1530
+ }) => Promise<{
1531
+ hash: `0x${string}`;
1532
+ }>;
1533
+ /**
1534
+ * Prompts a user to sign a transaction using their embedded wallet.
1535
+ *
1536
+ * This method will error if the user is not authenticated or does not have an ethereum embedded wallet.
1537
+ *
1538
+ * If no `chainId` is specified as part of the {@link UnsignedTransactionRequest}, Privy will default
1539
+ * to the embedded wallet's current chain ID.
1540
+ *
1541
+ * If the `config.embeddedWallets.showWalletUIs` property is set to false, the wallet will
1542
+ * attempt to sign the transaction without prompting the user. Otherwise (the default), Privy
1543
+ * will show the user a modal to have them confirm the transaction. This can be customized via
1544
+ * the {@link SendTransactionModalUIOptions}.
1545
+ *
1546
+ * @param input {@link UnsignedTransactionRequest} transaction to be signed
1547
+ * @param options.uiOptions {@link SendTransactionModalUIOptions} (optional) UI options to customize the transaction request modal
1548
+ * @param options.address {optional} address for the embedded wallet signing the message. You should ONLY set this parameter if using imported
1549
+ * embedded wallets or multiple HD embedded wallets for the same user. Defaults to the user's embedded wallet at HD index 0.
1550
+ * @returns Promise for the signature as a hexadecimal string
1551
+ */
1552
+ signTransaction: (input: UnsignedTransactionRequest, options?: {
1553
+ uiOptions?: SendTransactionModalUIOptions;
1554
+ address?: string;
1555
+ }) => Promise<{
1556
+ signature: `0x${string}`;
1557
+ }>;
1558
+ /**
1559
+ * @deprecated use the `useExportWallet` hook instead
1560
+ *
1561
+ * Shows the user a Privy modal, from which they can copy their Ethereum embedded wallet's private
1562
+ * key or seed phrase for easy export to another wallet client (e.g. MetaMask). The private key is loaded
1563
+ * on an iframe running on a separate domain from your app, meaning your app cannot access it.
1564
+ *
1565
+ * This method will error if the user is not authenticated or does not have an embedded wallet.
1566
+ * @param options {@link {address: string}} (optional) Ethereum wallet address to export the private key for
1567
+ * @returns Promise that resolves once the user exits the modal
1568
+ */
1569
+ exportWallet: (options?: {
1570
+ address: string;
1571
+ } | MouseEvent<any, any>) => Promise<void>;
1572
+ /**
1573
+ * Check whether the Privy Modal is visible.
1574
+ */
1575
+ isModalOpen: boolean;
1576
+ /**
1577
+ * The available mfa methods of this App
1578
+ */
1579
+ mfaMethods: MfaMethod[];
1885
1580
  }
1886
1581
 
1887
- /**
1888
- * The Privy client performs operations against the Privy API.
1889
- *
1890
- * ```typescript
1891
- * import {PrivyClient} from '@privy-io/react-auth';
1892
- * ```
1893
- *
1894
- * This should not be directly used by developers at the moment,
1895
- * so we doc-ignore it.
1896
- * @ignore
1897
- *
1898
- */
1899
- declare class PrivyClient {
1900
- #private;
1901
- private appId;
1902
- private appClientId?;
1903
- private session;
1904
- private timeout;
1905
- api: Http;
1906
- clientAnalyticsId: string | null;
1907
- useServerCookies: boolean;
1908
- cookieWriteBehavior: CookieWriteBehavior | undefined;
1909
- apiUrl: string;
1910
- fallbackApiUrl: string;
1911
- authFlow?: AuthFlow;
1912
- connectors?: ConnectorManager;
1913
- onStoreCustomerAccessToken?: ((token: string | null) => void) | undefined;
1914
- onDeleteCustomerAccessToken?: (() => void) | undefined;
1582
+ type PublicClient = ReturnType<typeof createPublicClient<HttpTransport, Chain, Address, RpcSchema>>;
1583
+
1584
+ declare class Embedded1193Provider extends EventEmitter implements EIP1193Provider {
1585
+ walletProxy: EmbeddedWalletProxy;
1586
+ /** Address of the embedded wallet that this provider corresponds to. */
1587
+ address: string;
1588
+ publicClient: PublicClient;
1915
1589
  /**
1916
- * Creates a new Privy client.
1917
- * @param apiUrl - The URL of the Privy API
1918
- * @param appId - The app id from your dashboard
1919
- * @param appClientId - The app client id from your dashboard
1920
- * @param timeout - Time in milliseconds after which to timeout requests to the API
1590
+ * Set while the client for a Tempo chain waits on the lazily loaded Tempo chain definitions.
1591
+ * Until it settles, `publicClient` is unset (right after construction) or still the previous
1592
+ * chain's client. `request` awaits it, so handlers never see that state.
1593
+ */
1594
+ private publicClientReady?;
1595
+ chainId: number;
1596
+ rpcConfig: RpcConfig;
1597
+ chains: Chain[];
1598
+ rpcTimeoutDuration: number;
1599
+ appId: string;
1600
+ /** Address of the user's embedded wallet at HD index 0. This is required to make RPC requests to the iframe. */
1601
+ entropyId: string;
1602
+ /**
1603
+ * Source of the `entropyId` property. This field determines how the entropyId will
1604
+ * be used. Possible values include:
1605
+ * - ethereum-address-verifier: the entropyId is the address of the Ethereum wallet derived
1606
+ * at index 0 for this entropy
1607
+ * - solana-address-verifier: the entropyId is a the address of the Solana wallet derived
1608
+ * at index 0 for this entropy
1609
+ *
1610
+ * When this field is a wallet address, we can verify reconstitution was successful by
1611
+ * deriving the specified wallet and comparing the address to the `entropyId`
1921
1612
  */
1922
- constructor({ apiUrl, appId, appClientId, timeout, cookieWriteBehavior, }: {
1923
- apiUrl?: string;
1924
- appId: string;
1925
- appClientId?: string;
1926
- timeout?: number;
1927
- cookieWriteBehavior?: CookieWriteBehavior;
1928
- });
1613
+ entropyIdVerifier: EntropyIdVerifier;
1929
1614
  /**
1930
- * ConnectorManager initialization is deferred because the input parameter may be overridden by the server
1931
- * config. We can set this once and only once. If it is set twice, event listeners will be created
1932
- * on the first ConnectorManager and are not re-created.
1615
+ * HD index of the embedded wallet that this provider corresponds to, if this is an HD wallet. This is required to make RPC
1616
+ * requests to the iframe. If this is an imported wallet, the `walletIndex` is defined as 0 (and is handled as such by the iframe).
1933
1617
  */
1934
- initializeConnectorManager({ walletConnectCloudProjectId, rpcConfig, chains, defaultChain, store, walletList, shouldEnforceDefaultChainOnConnect, externalWalletConfig, appName, walletChainType, setBaseAccountSdk, connectorsDebugLogs, }: {
1935
- walletConnectCloudProjectId: string;
1618
+ walletIndex: number;
1619
+ /** The wallet account object for the wallet that this provider corresponds to. */
1620
+ walletAccount?: HDWalletWithMetadata;
1621
+ /** The Privy client instance from the core library. */
1622
+ privyClient?: Privy;
1623
+ private walletRpc;
1624
+ private handlers;
1625
+ constructor({ walletProxy, address, entropyId, entropyIdVerifier, rpcConfig, chains, appId, chainId, walletIndex, privyClient, walletAccount, walletRpc: invokeWalletRpc, handlers, }: {
1626
+ walletProxy: EmbeddedWalletProxy;
1627
+ address: string;
1628
+ entropyId: string;
1629
+ entropyIdVerifier: EntropyIdVerifier;
1936
1630
  rpcConfig: RpcConfig;
1937
1631
  chains: Chain[];
1938
- defaultChain: Chain;
1939
- store: Store;
1940
- walletList: WalletListEntry[];
1941
- shouldEnforceDefaultChainOnConnect: boolean;
1942
- externalWalletConfig: AppConfig['externalWallets'];
1943
- appName: string;
1944
- walletChainType: 'ethereum-and-solana' | 'ethereum-only' | 'solana-only';
1945
- setBaseAccountSdk: SetBaseAccountSdkType;
1946
- connectorsDebugLogs: boolean;
1947
- }): void;
1948
- generateApi(): Http;
1632
+ appId: string;
1633
+ chainId: number;
1634
+ walletIndex: number;
1635
+ privyClient?: Privy;
1636
+ walletAccount?: HDWalletWithMetadata;
1637
+ walletRpc?: typeof rpc;
1638
+ handlers: EmbeddedWalletHandlers;
1639
+ });
1640
+ handleSendTransaction(args: RequestArguments): Promise<string>;
1641
+ private handleSignTransaction;
1642
+ private handleSignTempoTransaction;
1643
+ private handleSwitchEthereumChain;
1949
1644
  /**
1950
- * In the case of cookie-based auth, re-initialize the http client with the custom api url.
1951
- * @param customApiUrl the custom api url to use for cookie-based authFlow
1645
+ * Rebuild `publicClient` for the current chain. Tempo chains need their definitions loaded
1646
+ * first, so the client is built asynchronously and `publicClientReady` is set until then.
1952
1647
  */
1953
- updateApiUrl(customApiUrl?: string | null): void;
1954
- authenticate(): Promise<{
1955
- user: User | null;
1956
- isNewUser?: boolean;
1957
- oAuthTokens?: OAuthTokens;
1958
- }>;
1959
- link(): Promise<{
1960
- user: User | null;
1961
- oAuthTokens: OAuthTokens | undefined;
1962
- }>;
1963
- storeProviderAccessToken(appId: string, providerAccessToken: string | null): void;
1964
- getProviderAccessToken(appId: string): string | null;
1965
- logout(): Promise<void>;
1966
- clearProviderAcccessTokens(user: User): void;
1967
- startAuthFlow<T extends AuthFlow>(authFlow: T): T;
1968
- initMfaSmsVerification(): Promise<void>;
1969
- initMfaPasskeyVerification(): Promise<{
1970
- rpId: string | undefined;
1971
- challenge: string;
1972
- allowCredentials: {
1973
- id: string;
1974
- type: "public-key";
1975
- transports: AuthenticatorTransport[];
1976
- }[];
1977
- timeout: number | undefined;
1978
- extensions: {
1979
- appid: string | undefined;
1980
- credProps: boolean | undefined;
1981
- hmacCreateSecret: boolean | undefined;
1982
- };
1983
- userVerification: UserVerificationRequirement;
1984
- }>;
1985
- _cachedProviderAppDetails: Record<string, CrossAppProviderDetails>;
1986
- getCrossAppProviderDetails(appId: string): Promise<CrossAppProviderDetails | undefined>;
1987
- acceptTerms(): Promise<User>;
1988
- unlinkEmail(address: string): Promise<User>;
1989
- unlinkPhone(phoneNumber: string): Promise<User>;
1990
- unlinkEthereumWallet(address: string): Promise<User>;
1991
- unlinkSolanaWallet(address: string): Promise<User>;
1992
- unlinkOAuth(provider: OAuthProviderID | `privy:${string}`, subject: string): Promise<User>;
1993
- unlinkFarcaster(fid: number): Promise<User>;
1994
- unlinkTelegram(telegramUserId: string): Promise<User>;
1995
- revokeDelegatedWallet(): Promise<void>;
1996
- createAnalyticsEvent({ eventName, payload, timestamp, options, }: {
1997
- eventName: string;
1998
- payload?: {
1999
- [key: string]: any;
2000
- };
2001
- timestamp?: Date;
2002
- options?: {
2003
- keepAlive?: boolean;
2004
- };
2005
- }): Promise<void>;
2006
- signMoonpayOnRampUrl(signRequestData: MoonpaySignRequest): Promise<MoonpaySignResponse>;
2007
- initCoinbaseOnRamp(input: CoinbaseOnRampInitInput): Promise<CoinbaseOnRampInitResponse>;
2008
- getCoinbaseOnRampStatus({ partnerUserId, }: {
2009
- partnerUserId: string;
2010
- }): Promise<CoinbaseOnRampStatusResponse>;
2011
- /** DATA METHODS */
1648
+ private updatePublicClient;
1649
+ private handlePersonalSign;
1650
+ private handleSignedTypedData;
1651
+ private handleEstimateGas;
1652
+ request(args: RequestArguments): Promise<unknown>;
1653
+ private handleWalletApiRequest;
1654
+ }
1655
+ type EmbeddedWalletHandlers = Pick<PrivyInterface, 'signMessage' | 'signTransaction' | 'sendTransaction'> & Pick<InternalPrivyInterface, 'recoverEmbeddedWallet'> & {
1656
+ signTypedData: (input: SignTypedDataParams, options?: EmbeddedSignTypedDataOptions) => ReturnType<PrivyInterface['signTypedData']>;
1657
+ };
1658
+ type EmbeddedSignTypedDataOptions = NonNullable<Parameters<PrivyInterface['signTypedData']>[1]> & {
1659
+ signatureOptions?: SignatureOptions;
1660
+ caip2?: string;
1661
+ };
1662
+
1663
+ declare abstract class EthereumWalletConnector extends WalletConnector {
1664
+ wallets: BaseConnectedEthereumWallet[];
1665
+ chains: Chain[];
1666
+ defaultChain: Chain;
1667
+ rpcConfig: RpcConfig;
1668
+ rpcTimeoutDuration: number;
1669
+ chainType: "ethereum";
1670
+ abstract proxyProvider: PrivyProxyProvider | Embedded1193Provider;
1671
+ constructor(walletClientType: WalletClientType, chains: Chain[], defaultChain: Chain, rpcConfig: RpcConfig);
2012
1672
  /**
2013
- * Fetches the currently authenticated user from the API or
2014
- * returns null if the user is not authenticated.
1673
+ * Builds a connected wallet object to be exposed to the developer. This object
1674
+ * contains the address, chainId, and a few helper methods.
2015
1675
  *
2016
- * This will refresh the user's access token and rotate
2017
- * the refresh token if needed.
1676
+ * Provider methods share the PrivyProxyProvider instance. This means that multiple
1677
+ * wallets may share the same provider if one wallet was disconnected and another
1678
+ * wallet was connected.
2018
1679
  *
2019
- * @returns Promise<User | null>
1680
+ * A wallet is considered connected if it is present in the wallets array and is
1681
+ * in a connected state.
2020
1682
  */
2021
- getAuthenticatedUser(): Promise<User | null>;
1683
+ buildConnectedWallet(address: string, chainId: string, meta: ConnectedWalletMetadata, imported: boolean): BaseConnectedEthereumWallet;
2022
1684
  /**
2023
- * #PATBeforeCAT
2024
- * Returns the appropriate access token for use in authentication with the Privy API.
2025
- *
2026
- * Should not be exposed or passed to the developer.
1685
+ * Sync all accounts available via the provider if the wallet is connected.
2027
1686
  *
2028
- * @param options See {@link _getToken}
1687
+ * @param prefetchedAccounts - pass in an accounts array from eth_accounts if already fetched to avoid a repeated call
2029
1688
  */
2030
- getAccessToken(options?: {
2031
- disableAutoRefresh?: boolean;
2032
- }): Promise<string | null>;
1689
+ syncAccounts(prefetchedAccounts?: string[]): Promise<void>;
2033
1690
  /**
2034
- * Grab the customer access token for the currently logged in user.
2035
- *
2036
- * @param options See {@link _getToken}
1691
+ * Get the most recently connected wallet.
2037
1692
  */
2038
- getCustomerAccessToken(options?: {
2039
- disableAutoRefresh?: boolean;
2040
- }): Promise<string | null>;
1693
+ getConnectedWallet(): Promise<BaseConnectedEthereumWallet | null>;
2041
1694
  /**
2042
- * Grab the Privy access token for the currently logged in user.
2043
- *
2044
- * @param options See {@link _getToken}
1695
+ * As a proxy for "connected", we call eth_accounts and consider the client
1696
+ * connected if at least one account is returned.
2045
1697
  */
2046
- private getPrivyAccessToken;
1698
+ isConnected(): Promise<boolean>;
2047
1699
  /**
2048
- * Grab the requested access token for the currently logged in user. Verifies that the
2049
- * token has a valid signature, was issued by 'privy.io', and corresponds to the
2050
- * current app ID. If no valid token is found, this method will force a logout and return null.
2051
- *
2052
- * If the token is expired or expiring soon, this will attempt to
2053
- * first refresh the access token to ensure that the token is active. You can
2054
- * disable this behavior using `disableAutoRefresh`, although it is not
2055
- * recommended.
1700
+ * Perform personal_sign with the user's wallet.
2056
1701
  *
2057
- * @param tokenType
2058
- * @param disableAutoRefresh not recommended - optionally disable automatic
2059
- * token refresh when the token is expired or expiring soon
1702
+ * @param {string} message The message to sign.
1703
+ * @returns {string} The resulting signature.
2060
1704
  */
2061
- private _getToken;
2062
- getUsdTokenPrice(chain: Chain): Promise<number | undefined>;
2063
- getUsdPriceForSol(): Promise<number | undefined>;
2064
- getSplTokenMetadata({ mintAddress, cluster, }: {
2065
- mintAddress: string;
2066
- cluster: 'devnet' | 'testnet' | 'mainnet-beta';
2067
- }): Promise<{
2068
- name: string;
2069
- symbol: string;
2070
- decimals: number;
2071
- } | undefined>;
2072
- requestFarcasterSignerStatus(publicKey: string): Promise<PrivyFarcasterSignerInitResponse>;
1705
+ sign(message: string): Promise<string>;
1706
+ protected onAccountsChanged: (accounts: string[]) => void;
1707
+ protected onChainChanged: (chainId: string) => void;
1708
+ protected onDisconnect: () => void;
1709
+ protected onConnect: () => Promise<void>;
1710
+ subscribeListeners(): void;
1711
+ unsubscribeListeners(): void;
1712
+ }
1713
+
1714
+ /**
1715
+ * Properties to initialize the {@link PrivyProvider}.
1716
+ */
1717
+ interface PrivyProviderProps {
1718
+ /** Your Privy App ID, which can be retrieved from the Privy dashboard. */
1719
+ appId: string;
1720
+ /** Your Privy App Client ID, which can be retrieved from the Privy dashboard. */
1721
+ clientId?: string;
1722
+ /**
1723
+ * Client configuration options.
1724
+ * Values here will override their server-configuration counterparts.
1725
+ */
1726
+ config?: PrivyClientConfig;
1727
+ /**
1728
+ * Override the URL of the Privy API, which is 'https://auth.privy.io' by default.
1729
+ * For development and testing use only.
1730
+ * @experimental
1731
+ */
1732
+ apiUrl?: string;
1733
+ /**
1734
+ * @ignore
1735
+ * @class
1736
+ */
1737
+ children: React.ReactNode;
1738
+ }
1739
+
1740
+ /**
1741
+ * Passes the Privy authentication context to your React components.
1742
+ *
1743
+ * This should wrap any components that will to use the Privy SDK via the {@link usePrivy} hook. As an example:
1744
+ *
1745
+ * ```typescript
1746
+ * // At your application root (e.g. `_app.tsx` in NextJS):
1747
+ * import {PrivyProvider} from '@privy-io/react-auth';
1748
+ *
1749
+ * <PrivyProvider appId="APP_ID_FROM_DASHBOARD" onSuccess={() => console.log('Success!')}>
1750
+ * <Component {...pageProps} />
1751
+ * </PrivyProvider>
1752
+ * ```
1753
+ *
1754
+ */
1755
+ declare const PrivyProvider: ({ config, ...props }: PrivyProviderProps) => React.JSX.Element;
1756
+
1757
+ /**
1758
+ * Provider-agnostic captcha props that work across both Turnstile and hCaptcha.
1759
+ *
1760
+ * Note: Some callbacks may not be supported by all providers:
1761
+ * - `onUnsupported`: Only supported by Turnstile (browser compatibility check)
1762
+ */
1763
+ type CaptchaProps = Partial<Pick<TurnstileProps, 'onUnsupported' | 'onError' | 'onSuccess' | 'onExpire'>> & {
1764
+ delayedExecution?: boolean;
1765
+ };
1766
+
1767
+ /**
1768
+ * Used to render an invisible captcha alongside important forms
1769
+ *
1770
+ * Notes:
1771
+ * - **Only for internal use, or use with headless SDK** _(the Privy modal handles captchas internally with this component)_
1772
+ * - Only one `<Captcha />` should be rendered at a time, since it injects/removes a global script
1773
+ * - the state of the captcha workflow can be accessed using `useCaptcha`
1774
+ * - wrapper around [marsidev/react-turnstile](https://github.com/marsidev/react-turnstile), _accepts same [props](https://docs.page/marsidev/react-turnstile/props)_
1775
+ */
1776
+ declare const Captcha: (props: CaptchaProps) => react_jsx_runtime.JSX.Element | null;
1777
+
1778
+ /**
1779
+ * Allows you to manage the user's currently connected wallets.
1780
+ * You can access the fields and methods documented here via the {@link useWallets} hook.
1781
+ */
1782
+ interface UseWalletsInterface {
2073
1783
  /**
2074
- * Headless method to authenticate a smart wallet via the Sign-In with Ethereum spec.
2075
- *
2076
- * @returns The user object.
1784
+ * The user's connected wallets.
2077
1785
  */
2078
- linkSmartWallet({ message, signature, smartWalletType, smartWalletVersion, }: {
2079
- message: string;
2080
- signature: string;
2081
- smartWalletType: SmartWalletType;
2082
- smartWalletVersion?: string;
2083
- }): Promise<User>;
1786
+ wallets: ConnectedWallet[];
2084
1787
  /**
2085
- * Headless method to link a new wallet via the Sign-In with Ethereum spec.
2086
- *
2087
- * @returns The user object.
1788
+ * Whether the wallets are ready to be used.
2088
1789
  */
2089
- linkWithSiwe({ message, signature, chainId, walletClientType, connectorType, }: {
2090
- message: string;
2091
- signature: string;
2092
- chainId: string;
2093
- walletClientType?: string;
2094
- connectorType?: string;
2095
- }): Promise<User>;
1790
+ ready: boolean;
1791
+ }
1792
+ declare function useWallets(): UseWalletsInterface;
1793
+
1794
+ /**
1795
+ * [React Hook](https://reactjs.org/docs/hooks-intro.html) that allows you to manage the user's current authentication state and access their linked accounts.
1796
+ *
1797
+ * You should use this hook to access the Privy SDK from within your React components and custom hooks.
1798
+ */
1799
+ declare const usePrivy: () => PrivyInterface;
1800
+
1801
+ /**
1802
+ * Returns the core Privy client configured by the nearest provider.
1803
+ *
1804
+ * @experimental This hook and the exposed client API may change in a minor version.
1805
+ */
1806
+ declare const usePrivyClient_experimental: () => Privy;
1807
+
1808
+ type RecoverParams = {
1809
+ recoveryMethod: 'recovery-encryption-key';
1810
+ recoveryKey: string;
1811
+ };
1812
+ interface UseRecoverEmbeddedWalletInterface {
2096
1813
  /**
2097
- * Authenticates with Privy via the Sign-In with Solana spec and returns a User object.
1814
+ * An async method to recover the embedded wallets.
2098
1815
  *
2099
- * @param params - Authentication parameters
2100
- * @returns User object and new user flag
1816
+ * @param params The parameters with which to recover the embedded wallets.
1817
+ * @returns A promise that resolves when the embedded wallets have been recovered.
2101
1818
  */
2102
- authenticateWithSiws({ message, signature, walletClientType, connectorType, mode, messageType, }: {
2103
- message: string;
2104
- signature: string;
2105
- walletClientType?: string;
2106
- connectorType?: string;
2107
- mode: 'no-signup' | 'login-or-sign-up';
2108
- messageType: SiwsMessageType;
2109
- }): Promise<{
2110
- user: User;
2111
- isNewUser: boolean;
1819
+ recover: (params: RecoverParams) => Promise<void>;
1820
+ }
1821
+ /**
1822
+ * Hook to recover the user's embedded wallets headlessly.
1823
+ *
1824
+ * @returns An object with a `recover` method that allows you to recover the embedded wallets.
1825
+ */
1826
+ declare const useRecoverEmbeddedWallet: () => UseRecoverEmbeddedWalletInterface;
1827
+
1828
+ /**
1829
+ * Use this hook to execute the MFA flow with Privy.
1830
+ *
1831
+ * @returns promptMfa - prompts the user to complete MFA verification
1832
+ * @returns init - starts the MFA verification flow
1833
+ * @returns submit - completes the MFA verification flow
1834
+ * @returns cancel - cancels the MFA verification flow
1835
+ * @returns mfaMethods - list of all available mfa methods
1836
+ *
1837
+ * @example
1838
+ * // MFA flow
1839
+ *
1840
+ * const MFAModal = ({ mfaMethods, isOpen, setIsOpen }: Props) => {
1841
+ * const {init, submit, cancel} = useMfa();
1842
+ * const [selectedMethod, setSelectedMethod] = useState(null)
1843
+ * const [mfaCode, setMfaCode] = useState('')
1844
+ *
1845
+ * const handleClose = () => {
1846
+ * cancel();
1847
+ * setIsOpen(false);
1848
+ * };
1849
+ *
1850
+ * return (
1851
+ * <Modal isOpen={isOpen} onClose={handleClose}>
1852
+ * {selectedMethod && (
1853
+ * <button
1854
+ * onClick={async () => {
1855
+ * await submit(selectedMethod, mfaCode)
1856
+ * setSelectedMethod(null)
1857
+ * setIsOpen(false)
1858
+ * }}
1859
+ * />
1860
+ * )}
1861
+ * {mfaMethods.map(method => (
1862
+ * <button
1863
+ * onClick={async () => {
1864
+ * await init(method);
1865
+ * setSelectedMethod(method)
1866
+ * }}
1867
+ * >
1868
+ * Choose {method} for MFA
1869
+ * </button>
1870
+ * ))}
1871
+ * </Modal>
1872
+ * )
1873
+ * };
1874
+ *
1875
+ * @example
1876
+ * // Error handling
1877
+ *
1878
+ * import {
1879
+ * errorIndicatesMfaVerificationFailed,
1880
+ * errorIndicatesMfaTimeout,
1881
+ * errorIndicatesMaxMfaRetries
1882
+ * } from '@privy-io/react-auth';
1883
+ * const {submit} = useMfa();
1884
+ * const [errorState, setErrorState] = useState<string | null>(null);
1885
+ *
1886
+ * <button
1887
+ * onClick={async () => {
1888
+ * try {
1889
+ * await submit('sms', '<user-mfa-code>');
1890
+ * }
1891
+ * catch (e) {
1892
+ * if (errorIndicatesMfaVerificationFailed(e)) {
1893
+ * setErrorState('Verification failed, resubmit.')
1894
+ * }
1895
+ * else if (errorIndicatesMaxMfaRetries(e)) {
1896
+ * setErrorState('Max attempts reached, re-initialize MFA.')
1897
+ * }
1898
+ * else if (errorIndicatesMfaTimeout(e)) {
1899
+ * setErrorState('Timeout reached, re-initialize MFA.')
1900
+ * }
1901
+ * }
1902
+ * }}
1903
+ * >
1904
+ * {errorState ?? 'Verify SMS MFA Code'}
1905
+ * </button>
1906
+ *
1907
+ */
1908
+ declare function useMfa(): {
1909
+ promptMfa: () => Promise<void>;
1910
+ init: (mfaMethod: MfaMethod) => Promise<void | _simplewebauthn_browser.PublicKeyCredentialRequestOptionsJSON>;
1911
+ submit: (mfaMethod: MfaMethod, mfaCode: string | _simplewebauthn_browser.PublicKeyCredentialRequestOptionsJSON) => Promise<void>;
1912
+ cancel: () => void;
1913
+ clear: () => Promise<void>;
1914
+ mfaMethods: ("sms" | "totp" | "passkey")[];
1915
+ };
1916
+
1917
+ /**
1918
+ * Use this hook to enroll a user in MFA
1919
+ *
1920
+ * @returns initEnrollmentWithSms - starts the MFA enrollment flow for SMS
1921
+ * @returns initEnrollmentWithTotp - starts the MFA enrollment flow for TOTP
1922
+ * @returns submitEnrollmentWithSms - completes the MFA enrollment flow for SMS
1923
+ * @returns submitEnrollmentWithTotp - completes the MFA enrollment flow for TOTP
1924
+ * @returns unenrollWithSms - unenrolls the SMS MFA method
1925
+ * @returns unenrollWithTotp - unenrolls the TOTP MFA method
1926
+ * @returns showMfaEnrollmentModal - opens the MFA enrollment modal
1927
+ * @returns closeMfaEnrollmentModal - closes the MFA enrollment modal
1928
+ * @returns cancelEnrollment - cancels pending enrollment and rejects waiting wallet actions
1929
+ *
1930
+ * Successful enrollment submission resumes wallet actions waiting for managed or custom enrollment.
1931
+ * Failed submissions leave those actions pending so the user can try again.
1932
+ *
1933
+ * @example
1934
+ * const {unenrollWithSms} = useMfaEnrollment();
1935
+ *
1936
+ * <button
1937
+ * onClick={() => {
1938
+ * unenrollWithSms();
1939
+ * }}
1940
+ * >
1941
+ * Unenroll in SMS MFA
1942
+ * </button>
1943
+ *
1944
+ * @example
1945
+ * const {unenrollWithTotp} = useMfaEnrollment();
1946
+ *
1947
+ * <button
1948
+ * onClick={() => {
1949
+ * unenrollWithTotp();
1950
+ * }}
1951
+ * >
1952
+ * Unenroll in TOTP MFA
1953
+ * </button>
1954
+ */
1955
+ declare const useMfaEnrollment: () => {
1956
+ unenrollWithSms: () => Promise<void>;
1957
+ unenrollWithTotp: () => Promise<void>;
1958
+ unenrollWithPasskey: (options?: {
1959
+ removeForLogin?: boolean;
1960
+ }) => Promise<void>;
1961
+ showMfaEnrollmentModal: () => Promise<void>;
1962
+ closeMfaEnrollmentModal: () => Promise<void>;
1963
+ initEnrollmentWithSms: (meta: {
1964
+ phoneNumber: string;
1965
+ }) => Promise<void>;
1966
+ initEnrollmentWithTotp: () => Promise<{
1967
+ secret: string;
1968
+ authUrl: string;
2112
1969
  }>;
2113
- /**
2114
- *
2115
- */
2116
- sendAccountTransferRequest({ nonce, account, accountType, externalWalletMetadata, telegramAuthResult, telegramWebAppData, farcasterEmbeddedAddress, oAuthUserInfo, }: {
2117
- nonce: string;
2118
- account: string;
2119
- accountType: LoginMethod;
2120
- externalWalletMetadata?: ExternalWalletMetadata;
2121
- telegramAuthResult?: TelegramAuthResult;
2122
- telegramWebAppData?: TelegramWebAppData;
2123
- farcasterEmbeddedAddress?: string;
2124
- oAuthUserInfo?: OAuthUserInfo;
2125
- }): Promise<User>;
2126
- /**
2127
- * Headless method to link a new wallet via the Sign-In with Solana spec.
2128
- *
2129
- * @returns The user object.
2130
- */
2131
- linkWithSiws({ message, signature, walletClientType, connectorType, messageType, }: {
2132
- message: string;
2133
- signature: string;
2134
- walletClientType?: string;
2135
- connectorType?: string;
2136
- messageType: SiwsMessageType;
2137
- }): Promise<User>;
2138
- updateUserAndIdToken(): Promise<User>;
2139
- scanTransaction(request: TransactionScanningRequestBody): Promise<TransactionScanningResponseBody>;
1970
+ initEnrollmentWithPasskey: () => Promise<void>;
1971
+ submitEnrollmentWithSms: (meta: {
1972
+ phoneNumber: string;
1973
+ mfaCode: string;
1974
+ }) => Promise<void>;
1975
+ submitEnrollmentWithTotp: (meta: {
1976
+ mfaCode: string;
1977
+ }) => Promise<void>;
1978
+ submitEnrollmentWithPasskey: (input: {
1979
+ credentialIds: string[];
1980
+ }, options?: {
1981
+ removeForLogin?: boolean;
1982
+ }) => Promise<void>;
1983
+ cancelEnrollment: () => void;
1984
+ };
1985
+
1986
+ declare class PrivyIframeError extends Error {
1987
+ type: PrivyIframeErrorTypesType;
1988
+ constructor(type: PrivyIframeErrorTypesType, message: string);
2140
1989
  }
2141
- declare function getIdentityToken(): Promise<string | null>;
1990
+ declare function errorIndicatesMfaTimeout(error: unknown): error is PrivyIframeError;
1991
+ declare function errorIndicatesMfaVerificationFailed(error: unknown): error is PrivyIframeError;
1992
+ declare function errorIndicatesMaxMfaRetries(error: unknown): error is PrivyIframeError;
1993
+
1994
+ declare const VERSION = "__VERSION__";
2142
1995
 
2143
1996
  declare function getCustomerAccessToken(): Promise<string | null>;
2144
1997
 
@@ -2183,7 +2036,7 @@ interface UseLoginWithFarcasterV2Interface {
2183
2036
  * @returns A promise that resolves to the authenticated Privy user.
2184
2037
  */
2185
2038
  login: (input: LoginWithFarcasterV2Input) => Promise<{
2186
- user: User;
2039
+ user: User$1;
2187
2040
  }>;
2188
2041
  }
2189
2042
  /**
@@ -2215,7 +2068,7 @@ declare function useIdentityToken(): {
2215
2068
  */
2216
2069
  declare function useAcceptTerms(): {
2217
2070
  acceptTerms: () => Promise<{
2218
- user: User;
2071
+ user: User$1;
2219
2072
  }>;
2220
2073
  };
2221
2074
 
@@ -2413,7 +2266,7 @@ type UseLinkEmail = {
2413
2266
  * @returns a Promise resolving to the updated user, or rejects if there was an error.
2414
2267
  */
2415
2268
  linkWithCode: (o: LoginWithCode) => Promise<{
2416
- user: User;
2269
+ user: User$1;
2417
2270
  }>;
2418
2271
  /**
2419
2272
  * The current state of the link email flow.
@@ -2586,7 +2439,7 @@ type UseLinkPhone = {
2586
2439
  * @returns a Promise resolving to the updated user, or rejects if there was an error.
2587
2440
  */
2588
2441
  linkWithCode: (o: LoginWithCode) => Promise<{
2589
- user: User;
2442
+ user: User$1;
2590
2443
  }>;
2591
2444
  /**
2592
2445
  * The current state of the link phone flow.
@@ -2701,7 +2554,7 @@ type UseLoginWithSiwe = {
2701
2554
  disableSignup?: boolean;
2702
2555
  walletClientType?: string;
2703
2556
  connectorType?: string;
2704
- }) => Promise<User>;
2557
+ }) => Promise<User$1>;
2705
2558
  /**
2706
2559
  * The current state of the SIWE link operation
2707
2560
  */
@@ -2754,7 +2607,7 @@ type UseLoginWithSiws = {
2754
2607
  walletClientType?: string;
2755
2608
  connectorType?: string;
2756
2609
  messageType?: SiwsMessageType;
2757
- }) => Promise<User>;
2610
+ }) => Promise<User$1>;
2758
2611
  };
2759
2612
  declare const useLoginWithSiws: () => UseLoginWithSiws;
2760
2613
 
@@ -2802,7 +2655,7 @@ type UseLinkWithSiws = {
2802
2655
  connectorType?: string;
2803
2656
  messageType?: SiwsMessageType;
2804
2657
  }) => Promise<{
2805
- user: User;
2658
+ user: User$1;
2806
2659
  linkedAccount: LinkedAccountWithMetadata | null;
2807
2660
  }>;
2808
2661
  };
@@ -2826,9 +2679,9 @@ declare function useSignTransaction(): {
2826
2679
  };
2827
2680
 
2828
2681
  /**
2829
- * Use this hook to register your app's logic for prompting users to complete MFA.
2830
- * When a user is required to complete MFA in order to use their embedded wallet,
2831
- * Privy will invoke the logic you register here to have the user complete MFA.
2682
+ * Use this hook to register your app's logic for MFA verification and enrollment.
2683
+ * When a user must verify or enroll in MFA to use their embedded wallet,
2684
+ * Privy will invoke the corresponding callback registered here.
2832
2685
  * This hook should be mounted somewhere towards the root of your application tree
2833
2686
  * so that it can handle MFA required events from the entire application.
2834
2687
  *
@@ -2838,6 +2691,15 @@ declare function useSignTransaction(): {
2838
2691
  * whenever the user is required to complete MFA. Pass in a function that will prompt
2839
2692
  * your user to complete MFA with Privy (using `useMfa`) and only returns once
2840
2693
  * MFA has been completed.
2694
+ * @param callbacks.onMfaEnrollmentRequired Privy will invoke this callback when a wallet
2695
+ * action requires MFA enrollment, including when automatic prompts are disabled with
2696
+ * `mfa.noPromptOnMfaRequired`. Use `useMfaEnrollment` to enroll the user with custom UI.
2697
+ * The wallet action stays pending until enrollment succeeds, then retries once.
2698
+ * Call `cancelEnrollment` when the user cancels. Concurrent actions share the enrollment
2699
+ * request, which is canceled after five minutes or when the user logs out.
2700
+ * Disabling automatic prompts without registering this callback does not fail the wallet action
2701
+ * immediately. It remains pending until the five-minute timeout.
2702
+ * The callback opens UI; its return value is not awaited.
2841
2703
  * @param callbacks.onError {@link PrivyEvents} Privy will invoke this callback whenever
2842
2704
  * there is an error in the MFA flow. Use this callback to define logic around how
2843
2705
  * you'd like to handle these errors (e.g. showing a UI to the user).
@@ -2861,7 +2723,20 @@ declare function useSignTransaction(): {
2861
2723
  * setIsOpen={setIsMfaDialogOpen}
2862
2724
  * />
2863
2725
  *
2864
- * See `useMfa` for how to execute the MFA flow within Privy in your App.
2726
+ * @example
2727
+ * // With mfa.noPromptOnMfaRequired enabled, open your custom enrollment UI.
2728
+ * const {submitEnrollmentWithTotp, cancelEnrollment} = useMfaEnrollment();
2729
+ * useRegisterMfaListener({
2730
+ * onMfaRequired: ({mfaMethods}) => {
2731
+ * setMfaMethods(mfaMethods);
2732
+ * setIsMfaDialogOpen(true);
2733
+ * },
2734
+ * onMfaEnrollmentRequired: () => setIsEnrollmentDialogOpen(true),
2735
+ * });
2736
+ * // In the dialog, submitEnrollmentWithTotp({mfaCode}) completes enrollment
2737
+ * // and resumes the waiting wallet action. Call cancelEnrollment() to cancel it.
2738
+ *
2739
+ * See `useMfa` for verification and `useMfaEnrollment` for enrollment.
2865
2740
  */
2866
2741
  declare function useRegisterMfaListener(callbacks: PrivyEvents['configureMfa']): void;
2867
2742
 
@@ -2935,7 +2810,7 @@ interface UseUpdateEmailInterface {
2935
2810
  verifyCode: (input: {
2936
2811
  code: string;
2937
2812
  }) => Promise<{
2938
- user: User;
2813
+ user: User$1;
2939
2814
  } | undefined>;
2940
2815
  }
2941
2816
  /**
@@ -2965,7 +2840,7 @@ interface UseUpdatePhoneInterface {
2965
2840
  verifyCode: (input: {
2966
2841
  code: string;
2967
2842
  }) => Promise<{
2968
- user: User;
2843
+ user: User$1;
2969
2844
  } | undefined>;
2970
2845
  }
2971
2846
  /**
@@ -3248,7 +3123,7 @@ interface UseImportSeedPhraseInterface {
3248
3123
  * @returns The refreshed user, including the imported wallet, and the imported wallet
3249
3124
  */
3250
3125
  importSeedPhrase: (input: ImportSeedPhraseInput) => Promise<{
3251
- user: User;
3126
+ user: User$1;
3252
3127
  wallet: Wallet;
3253
3128
  }>;
3254
3129
  }
@@ -3288,7 +3163,7 @@ interface UseCrossAppAccountsInterface {
3288
3163
  */
3289
3164
  loginWithCrossAppAccount: (options: {
3290
3165
  appId: string;
3291
- }) => Promise<User>;
3166
+ }) => Promise<User$1>;
3292
3167
  /**
3293
3168
  * Prompts an authenticated user to link their account from another Privy app.
3294
3169
  * Once linked, you can request signatures and transactions from their embedded wallet
@@ -3300,7 +3175,7 @@ interface UseCrossAppAccountsInterface {
3300
3175
  */
3301
3176
  linkCrossAppAccount: (options: {
3302
3177
  appId: string;
3303
- }) => Promise<User>;
3178
+ }) => Promise<User$1>;
3304
3179
  /**
3305
3180
  * Unlinks a cross-app account from the current user. The user must have at least
3306
3181
  * one other linked account.
@@ -3311,7 +3186,7 @@ interface UseCrossAppAccountsInterface {
3311
3186
  */
3312
3187
  unlinkCrossAppAccount: (options: {
3313
3188
  subject: string;
3314
- }) => Promise<User>;
3189
+ }) => Promise<User$1>;
3315
3190
  /**
3316
3191
  * Signs a message with a cross-app embedded wallet. Opens a popup on the provider
3317
3192
  * app where the user approves the signature.
@@ -3385,7 +3260,7 @@ declare function useSendTransaction(callbacks?: PrivyEvents['sendTransaction']):
3385
3260
  * @returns createGuestAccount - {@link createGuestAccount} creates a guest account
3386
3261
  */
3387
3262
  declare function useGuestAccounts(): {
3388
- createGuestAccount: () => Promise<User>;
3263
+ createGuestAccount: () => Promise<User$1>;
3389
3264
  };
3390
3265
 
3391
3266
  /**
@@ -3514,7 +3389,7 @@ declare function useSignTypedData(callbacks?: PrivyEvents['signTypedData']): {
3514
3389
  * @param options - Configuration options for the wrapped fetch
3515
3390
  * @param options.walletAddress - Optional: The address of the Privy wallet to use. Defaults to first connected wallet.
3516
3391
  * @param options.fetch - The fetch function to wrap (typically globalThis.fetch)
3517
- * @param options.maxValue - Maximum allowed payment amount in base units (default: 100000 = 0.1 USDC)
3392
+ * @param options.maxValue - Maximum selected-token amount in base units (default: 100000 = 0.1 USDC)
3518
3393
  * @param options.allowedAssets - Map of network to allowed asset addresses. Defaults to USDC on supported networks. Set to `null` to disable asset validation (not recommended).
3519
3394
  * @param options.paymentRequirementsSelector - Function to select payment requirements from 402 response
3520
3395
  * @param options.config - Optional x402 configuration
@@ -3580,7 +3455,7 @@ interface UseUnlinkOAuthInterface {
3580
3455
  unlink: (opts: {
3581
3456
  provider: OAuthProviderID;
3582
3457
  subject: string;
3583
- }) => Promise<User>;
3458
+ }) => Promise<User$1>;
3584
3459
  }
3585
3460
  /**
3586
3461
  * Use this hook to unlink an OAuth account from the current user.
@@ -3600,7 +3475,7 @@ declare const useUnlinkOAuth: () => UseUnlinkOAuthInterface;
3600
3475
  declare const useUnlinkEmail: () => {
3601
3476
  unlink: ({ address }: {
3602
3477
  address: string;
3603
- }) => Promise<User>;
3478
+ }) => Promise<User$1>;
3604
3479
  };
3605
3480
 
3606
3481
  /**
@@ -3611,7 +3486,7 @@ declare const useUnlinkEmail: () => {
3611
3486
  declare const useUnlinkPhone: () => {
3612
3487
  unlink: ({ phoneNumber }: {
3613
3488
  phoneNumber: string;
3614
- }) => Promise<User>;
3489
+ }) => Promise<User$1>;
3615
3490
  };
3616
3491
 
3617
3492
  /**
@@ -3625,7 +3500,7 @@ declare const useUnlinkPhone: () => {
3625
3500
  declare const useUnlinkWallet: () => {
3626
3501
  unlink: ({ address }: {
3627
3502
  address: string;
3628
- }) => Promise<User>;
3503
+ }) => Promise<User$1>;
3629
3504
  };
3630
3505
 
3631
3506
  /**
@@ -3636,7 +3511,7 @@ declare const useUnlinkWallet: () => {
3636
3511
  declare const useUnlinkFarcaster: () => {
3637
3512
  unlink: ({ fid }: {
3638
3513
  fid: number;
3639
- }) => Promise<User>;
3514
+ }) => Promise<User$1>;
3640
3515
  };
3641
3516
 
3642
3517
  /**
@@ -3647,7 +3522,7 @@ declare const useUnlinkFarcaster: () => {
3647
3522
  declare const useUnlinkTelegram: () => {
3648
3523
  unlink: ({ telegramUserId }: {
3649
3524
  telegramUserId: string;
3650
- }) => Promise<User>;
3525
+ }) => Promise<User$1>;
3651
3526
  };
3652
3527
 
3653
3528
  /**
@@ -3661,7 +3536,7 @@ declare const useUnlinkTelegram: () => {
3661
3536
  declare const useUnlinkPasskey: () => {
3662
3537
  unlink: ({ credentialId }: {
3663
3538
  credentialId: string;
3664
- }) => Promise<User>;
3539
+ }) => Promise<User$1>;
3665
3540
  };
3666
3541
 
3667
3542
  /**
@@ -3760,7 +3635,7 @@ type OnJwtAuthStateChange = () => void;
3760
3635
  type UnsubscribeFromJwtAuth = () => void;
3761
3636
  type SubscribeToJwtAuth = (onJwtAuthStateChange: OnJwtAuthStateChange) => UnsubscribeFromJwtAuth;
3762
3637
  type OnAuthenticatedEvent = {
3763
- user: User;
3638
+ user: User$1;
3764
3639
  isNewUser: boolean;
3765
3640
  };
3766
3641
  interface UseSyncJwtBasedAuthStateInput {
@@ -3883,7 +3758,7 @@ type UseLinkJwtAccount = {
3883
3758
  * @returns The user and the linked account.
3884
3759
  */
3885
3760
  linkWithCustomJwt: (jwt: string) => Promise<{
3886
- user: User;
3761
+ user: User$1;
3887
3762
  }>;
3888
3763
  /**
3889
3764
  * The current state of the JWT account linkage flow.
@@ -3986,7 +3861,7 @@ interface UseSessionSignersInterface {
3986
3861
  address: string;
3987
3862
  signers: SessionSignerInput;
3988
3863
  }) => Promise<{
3989
- user: User;
3864
+ user: User$1;
3990
3865
  }>;
3991
3866
  /**
3992
3867
  * @deprecated in favor of removeSigners
@@ -3998,7 +3873,7 @@ interface UseSessionSignersInterface {
3998
3873
  removeSessionSigners: ({ address }: {
3999
3874
  address: string;
4000
3875
  }) => Promise<{
4001
- user: User;
3876
+ user: User$1;
4002
3877
  }>;
4003
3878
  }
4004
3879
  /**
@@ -4022,7 +3897,7 @@ interface UseSignersInterface {
4022
3897
  address: string;
4023
3898
  signers: SignerInput;
4024
3899
  }) => Promise<{
4025
- user: User;
3900
+ user: User$1;
4026
3901
  }>;
4027
3902
  /**
4028
3903
  * Removes all signers from a wallet.
@@ -4033,7 +3908,7 @@ interface UseSignersInterface {
4033
3908
  removeSigners: ({ address }: {
4034
3909
  address: string;
4035
3910
  }) => Promise<{
4036
- user: User;
3911
+ user: User$1;
4037
3912
  }>;
4038
3913
  }
4039
3914
  declare const useSigners: () => UseSignersInterface;
@@ -4107,8 +3982,8 @@ declare const useWalletActions: () => UseWalletActionsInterface;
4107
3982
  * refreshUser - method used to update the user object and identity token in the client
4108
3983
  */
4109
3984
  declare const useUser: () => {
4110
- user: User | null;
4111
- refreshUser: () => Promise<User>;
3985
+ user: User$1 | null;
3986
+ refreshUser: () => Promise<User$1>;
4112
3987
  };
4113
3988
 
4114
3989
  type EncryptedWalletKey = {
@@ -4232,5 +4107,5 @@ declare const useMigrateWallets: () => {
4232
4107
  }>;
4233
4108
  };
4234
4109
 
4235
- export { BaseConnectedEthereumWallet, BaseConnectedSolanaWallet, BaseConnectedWallet, BaseConnectedWalletType, Captcha, ConnectWalletModalOptions, ConnectedWallet, ConnectorManager, EIP1193Provider, EthereumWalletConnector, FiatOnrampPaymentMethodHint, FiatOnrampProviderHint, FundWalletConfig, FundingResult, LinkedAccountWithMetadata, LoginModal, LoginModalOptions, LoginWithCode, MfaMethod, OAuthFlowState, OAuthTokens, OtpFlowState, PasskeyFlowState, PrivyClient, PrivyClientConfig, PrivyEvents, PrivyModal, PrivyProvider, SendTransactionModalUIOptions, SignMessageModalUIOptions, SignTypedDataParams, SiweFlowState, TelegramAuthFlowState, UnsignedTransactionRequest, User, VERSION, Wallet, WalletConnector, WalletListEntry, WalletWithMetadata, errorIndicatesMaxMfaRetries, errorIndicatesMfaTimeout, errorIndicatesMfaVerificationFailed, getCustomerAccessToken as getAccessToken, getEmbeddedConnectedWallet, getIdentityToken, useAcceptTerms, useActiveWallet, useAuthorizationSignature, useBaseAccountSdk, useConnectBaseAccount, useConnectCoinbaseSmartWallet, useConnectOrCreateWallet, useConnectWallet, useCreateWallet, useCrossAppAccounts, useCustomAuth, useDelegatedActions, useExportWallet, useFarcasterSigner, useFiatOnramp, useFundWallet, useFundWalletWithBankDeposit, useGetAccessTokenForProvider, useGetFarcasterSignerPublicKey, useGetWalletPrivateKey, useGuestAccounts, useHeadlessDelegatedActions, useIdentityToken, useImportSeedPhrase, useImportWallet, useLinkAccount, useLinkEmail, useLinkJwtAccount, useLinkPhone, useLinkWithOAuth, useLinkWithPasskey, useLinkWithSiwe, useLinkWithSiws, useLogin, useLoginWithEmail, useLoginWithFarcasterV2, useLoginWithOAuth, useLoginWithPasskey, useLoginWithSiwe, useLoginWithSiws, useLoginWithSms, useLoginWithTelegram, useLogout, useMfa, useMfaEnrollment, useMigrateWallets, useModalStatus, useOAuthTokens, usePrivy, usePrivyClient_experimental, useRecoverEmbeddedWallet, useRegisterMfaListener, useRequestFarcasterSigner, useSendTransaction, useSessionSigners, useSetWalletRecovery, useSign7702Authorization, useSignFarcasterMessage, useSignMessage, useSignTransaction, useSignTypedData, useSigners, useSignupWithPasskey, useSubscribeToJwtAuthWithFlag, useSyncJwtBasedAuthState, useToken, useTransfer, useUnlinkEmail, useUnlinkFarcaster, useUnlinkOAuth, useUnlinkPasskey, useUnlinkPhone, useUnlinkTelegram, useUnlinkWallet, useUpdateEmail, useUpdatePhone, useUpdateWallet, useUser, useWalletActions, useWallets, useX402Fetch };
4110
+ export { BaseConnectedEthereumWallet, BaseConnectedSolanaWallet, BaseConnectedWallet, BaseConnectedWalletType, Captcha, ConnectWalletModalOptions, ConnectedWallet, ConnectorManager, EIP1193Provider, EthereumWalletConnector, FiatOnrampPaymentMethodHint, FiatOnrampProviderHint, FundWalletConfig, FundingResult, LinkedAccountWithMetadata, LoginModal, LoginModalOptions, LoginWithCode, MfaMethod, OAuthFlowState, OAuthTokens, OtpFlowState, PasskeyFlowState, PrivyClient, PrivyClientConfig, PrivyEvents, PrivyModal, PrivyProvider, SendTransactionModalUIOptions, SignMessageModalUIOptions, SignTypedDataParams, SiweFlowState, TelegramAuthFlowState, UnsignedTransactionRequest, User$1 as User, VERSION, Wallet, WalletConnector, WalletListEntry, WalletWithMetadata, errorIndicatesMaxMfaRetries, errorIndicatesMfaTimeout, errorIndicatesMfaVerificationFailed, getCustomerAccessToken as getAccessToken, getEmbeddedConnectedWallet, getIdentityToken, useAcceptTerms, useActiveWallet, useAuthorizationSignature, useBaseAccountSdk, useConnectBaseAccount, useConnectCoinbaseSmartWallet, useConnectOrCreateWallet, useConnectWallet, useCreateWallet, useCrossAppAccounts, useCustomAuth, useDelegatedActions, useExportWallet, useFarcasterSigner, useFiatOnramp, useFundWallet, useFundWalletWithBankDeposit, useGetAccessTokenForProvider, useGetFarcasterSignerPublicKey, useGetWalletPrivateKey, useGuestAccounts, useHeadlessDelegatedActions, useIdentityToken, useImportSeedPhrase, useImportWallet, useLinkAccount, useLinkEmail, useLinkJwtAccount, useLinkPhone, useLinkWithOAuth, useLinkWithPasskey, useLinkWithSiwe, useLinkWithSiws, useLogin, useLoginWithEmail, useLoginWithFarcasterV2, useLoginWithOAuth, useLoginWithPasskey, useLoginWithSiwe, useLoginWithSiws, useLoginWithSms, useLoginWithTelegram, useLogout, useMfa, useMfaEnrollment, useMigrateWallets, useModalStatus, useOAuthTokens, usePrivy, usePrivyClient_experimental, useRecoverEmbeddedWallet, useRegisterMfaListener, useRequestFarcasterSigner, useSendTransaction, useSessionSigners, useSetWalletRecovery, useSign7702Authorization, useSignFarcasterMessage, useSignMessage, useSignTransaction, useSignTypedData, useSigners, useSignupWithPasskey, useSubscribeToJwtAuthWithFlag, useSyncJwtBasedAuthState, useToken, useTransfer, useUnlinkEmail, useUnlinkFarcaster, useUnlinkOAuth, useUnlinkPasskey, useUnlinkPhone, useUnlinkTelegram, useUnlinkWallet, useUpdateEmail, useUpdatePhone, useUpdateWallet, useUser, useWalletActions, useWallets, useX402Fetch };
4236
4111
  export type { CrossAppTransactionOptions, CrossAppWalletOptions, CustomAuthFlowState, EncryptedWalletKey, JwtAuthFlowState, LinkWithOAuthInput, PrivyInterface, PrivyProviderProps, SendCodeToEmail, SendCodeToLinkEmail, SendCodeToLinkPhone, SendCodeToSms, UseAuthorizationSignatureInterface, UseBaseAccountSdkInterface, UseConnectBaseAccountInterface, UseConnectCoinbaseSmartWalletInterface, UseCrossAppAccountsInterface, UseCustomAuth, UseDelegatedActionsInterface, UseFundWalletInterface, UseGetAccessTokenForProvider, UseGetWalletPrivateKeyInterface, UseImportSeedPhraseInterface, UseImportWalletInterface, UseLinkEmail, UseLinkJwtAccount, UseLinkPhone, UseLinkWithOAuth, UseLinkWithPasskey, UseLinkWithSiws, UseLoginWithEmail, UseLoginWithPasskey, UseLoginWithSiws, UseLoginWithSms, UseLoginWithTelegram, UseOAuthTokens, UseRecoverEmbeddedWalletInterface, UseSessionSignersInterface, UseSignersInterface, UseSignupWithPasskey, UseSubscribeToJwtAuthWithFlagInput, UseSyncJwtBasedAuthStateInput, UseSyncJwtBasedAuthStateInterface, UseTransferInterface, UseUnlinkOAuthInterface, UseUpdateEmailInterface, UseUpdatePhoneInterface, UseUpdateWalletInterface, UseWalletActionsInterface, UseWalletsInterface, UseX402Fetch, WrapFetchWithPayment };