@privy-io/react-auth 3.16.0 → 3.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/dist/cjs/AccountNotFoundScreen-B_Ii7HuZ.js +1 -0
  2. package/dist/cjs/{Address-DTfphH3Q.js → Address-DVa7_frc.js} +1 -1
  3. package/dist/cjs/AffirmativeConsentScreen-B7KmE68B.js +6 -0
  4. package/dist/cjs/AllowlistRejectionScreen-O8KznddG.js +1 -0
  5. package/dist/cjs/AuthenticateWithWalletScreen-C8K-iZIK.js +1 -0
  6. package/dist/cjs/AwaitingEvmToSolBridgingScreen-cOTXpUAv.js +2 -0
  7. package/dist/cjs/AwaitingExternalEthereumTransferScreen-yMOq8AmY.js +2 -0
  8. package/dist/cjs/AwaitingPasswordlessCodeScreen-lFFqycAd.js +103 -0
  9. package/dist/cjs/AwaitingSolToEvmBridgingScreen-DmvP14kc.js +2 -0
  10. package/dist/cjs/{BridgeNetworkSelectionView-xdYr4mxx.js → BridgeNetworkSelectionView-pkX-b3EU.js} +3 -3
  11. package/dist/cjs/CaptchaScreen-C0GEjNbh.js +1 -0
  12. package/dist/cjs/CoinbaseOnrampStatusScreen-yT0aNgm6.js +16 -0
  13. package/dist/cjs/ConnectEmailForm-BBb0J8Qw.js +3 -0
  14. package/dist/cjs/ConnectLedgerScreen-DUt1xIAQ.js +9 -0
  15. package/dist/cjs/ConnectOnlyLandingScreen-DsDH4IPK.js +1 -0
  16. package/dist/cjs/ConnectOnlyStatusScreen-DHifzxdh.js +1 -0
  17. package/dist/cjs/ConnectOrCreateScreen-BUgdLxoo.js +1 -0
  18. package/dist/cjs/{ConnectPhoneForm-BYX8kgCj.js → ConnectPhoneForm-Cz02aWfj.js} +1 -1
  19. package/dist/cjs/{ConnectWalletView-QyJORAZG.js → ConnectWalletView-CWInrfMx.js} +1 -1
  20. package/dist/cjs/ConnectionStatusScreen-BVrAip_u.js +7 -0
  21. package/dist/cjs/CrossAppAuthScreen-BlSprwdt.js +1 -0
  22. package/dist/cjs/{CustomLandingScreenView-Cx9QR2CX.js → CustomLandingScreenView-FFU4u8kB.js} +6 -6
  23. package/dist/cjs/DelegatedActionsConsentScreen-2K48Ywrm.js +1 -0
  24. package/dist/cjs/DelegatedActionsRevokeScreen-AuQpKTzg.js +1 -0
  25. package/dist/cjs/EmbeddedWalletConnectingScreen-C4LTqs6h.js +1 -0
  26. package/dist/cjs/EmbeddedWalletCreatedScreen-C32Uofc9.js +1 -0
  27. package/dist/cjs/{EmbeddedWalletKeyExportScreen-wfa1ho1-.js → EmbeddedWalletKeyExportScreen-SnvHNrgu.js} +4 -4
  28. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-osK2tW68.js +1 -0
  29. package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-DKWmdrJ6.js +1 -0
  30. package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-DqSEVO7w.js +1 -0
  31. package/dist/cjs/{EnrollTotp-BzmjXzYC.js → EnrollTotp-CXMhvYqd.js} +8 -8
  32. package/dist/cjs/ErrorScreen-CPJ98NuU.js +4 -0
  33. package/dist/cjs/{FarcasterConnectStatusScreen-s3pS-ZH-.js → FarcasterConnectStatusScreen-D13iXt7h.js} +5 -5
  34. package/dist/cjs/FarcasterSignerStatusScreen-Bf_kP9J_.js +29 -0
  35. package/dist/cjs/FiatOnrampScreen-BV4GPQv0.js +97 -0
  36. package/dist/cjs/FundSolWalletWithExternalSolanaWallet-85QbPj5Z.js +2 -0
  37. package/dist/cjs/FundWalletMethodHeader-CcRikV5C.js +1 -0
  38. package/dist/cjs/FundWithBankDepositScreen-CETUOydb.js +58 -0
  39. package/dist/cjs/FundingEditAmountScreen-ro3pfZTg.js +1 -0
  40. package/dist/cjs/FundingMethodSelectionScreen-ecxVf53z.js +1 -0
  41. package/dist/cjs/InAppBrowserLoginNotPossible-BaL0j2oh.js +1 -0
  42. package/dist/cjs/InstallWalletScreen-D8WdMq8Y.js +1 -0
  43. package/dist/cjs/LandingScreen-D3EKQEkC.js +1 -0
  44. package/dist/cjs/{LinkConflictScreen-DnHf7IMX.js → LinkConflictScreen-Ch0YDBOh.js} +3 -3
  45. package/dist/cjs/LinkEmailScreen-BiHRv43F.js +1 -0
  46. package/dist/cjs/{LinkPasskeyScreen-CTN6f7yX.js → LinkPasskeyScreen-BkAhVm_K.js} +12 -12
  47. package/dist/cjs/LinkPhoneScreen-SMbGlFFp.js +1 -0
  48. package/dist/cjs/LoginFailedScreen-gThOR4ql.js +1 -0
  49. package/dist/cjs/ManualTransferScreen-C6_MKYQa.js +1 -0
  50. package/dist/cjs/MfaAuthEnrollmentFlowScreen-BGwEDhYM.js +1 -0
  51. package/dist/cjs/MfaAuthVerifyFlowScreen-FkpTmQLM.js +1 -0
  52. package/dist/cjs/MfaEnrollmentFlowScreen-D68k3d6k.js +1 -0
  53. package/dist/cjs/MfaVerifyFlowScreen-DPiE_Oju.js +1 -0
  54. package/dist/cjs/{ModalHeader-CakS8Dcu.js → ModalHeader-DGIBNq1A.js} +1 -1
  55. package/dist/cjs/MoonpayStatusScreen-Bwey-ZFS.js +16 -0
  56. package/dist/cjs/OAuthStatusScreen-DCIvmlua.js +1 -0
  57. package/dist/cjs/PasskeySelectSignupOrLogin-BrsgZDWY.js +1 -0
  58. package/dist/cjs/PasskeyStatusScreen-CRdrwEDq.js +3 -0
  59. package/dist/cjs/PasswordRecoveryScreen-nT66Ca8q.js +20 -0
  60. package/dist/cjs/{QrCode-C-Mk5-26.js → QrCode-Di8xGbem.js} +1 -1
  61. package/dist/cjs/RecoveryOAuthStatusScreen-BC6heUn-.js +1 -0
  62. package/dist/cjs/RecoveryPasswordCreateScreen-D6M_6kN8.js +1 -0
  63. package/dist/cjs/{RecoverySelectionScreen-BAJ1nLeO.js → RecoverySelectionScreen-BDCnVnE6.js} +2 -2
  64. package/dist/cjs/{Screen-Dp9-H_S8.js → Screen-B1vrS1Ly.js} +1 -1
  65. package/dist/cjs/{ScreenLayout-DANQ0V5E.js → ScreenLayout-yf03MRVf.js} +1 -1
  66. package/dist/cjs/SelectSourceAsset-BzCWfa5L.js +112 -0
  67. package/dist/cjs/SetAutomaticRecoveryScreen-CVn23TKd.js +14 -0
  68. package/dist/cjs/{SetWalletPasswordForm-B7bBDQ8N.js → SetWalletPasswordForm-0S2ymSzL.js} +4 -4
  69. package/dist/cjs/{SignRequestScreen-BUvgSx9X.js → SignRequestScreen-CPgU7Wo3.js} +4 -4
  70. package/dist/cjs/{StandardSignAndSendTransactionScreen-CzfhyIDP.js → StandardSignAndSendTransactionScreen-C-E3j4dP.js} +2 -2
  71. package/dist/cjs/TelegramAuthScreen-DiYpzHoT.js +1 -0
  72. package/dist/cjs/{TransactionDetails-BlPOqfEn.js → TransactionDetails-CHdkf5Rb.js} +1 -1
  73. package/dist/cjs/{TransactionErrorView-BpXI1X_G.js → TransactionErrorView-D1Nh7N_d.js} +4 -4
  74. package/dist/cjs/{TransferFromWalletScreen-Ds1sknGn.js → TransferFromWalletScreen-h9tRPXBH.js} +2 -2
  75. package/dist/cjs/{TransferOrBridgeLoadingScreen-CAYUlR4u.js → TransferOrBridgeLoadingScreen-DQZIn6hw.js} +2 -2
  76. package/dist/cjs/UpdateEmailScreen-BY3xMHK8.js +1 -0
  77. package/dist/cjs/UpdatePhoneScreen-ChbBiqBC.js +1 -0
  78. package/dist/cjs/UserLimitReachedScreen-AJZpREqN.js +1 -0
  79. package/dist/cjs/{WalletInfoCard-CRZt0t3t.js → WalletInfoCard-BfZ3_ji-.js} +6 -6
  80. package/dist/cjs/WalletInterstitialScreen-DRz63LSO.js +1 -0
  81. package/dist/cjs/{WalletLink-Cx_Zda0m.js → WalletLink--xpsJ0_X.js} +5 -5
  82. package/dist/cjs/{WalletOverflowButton-cnlzyqcK.js → WalletOverflowButton-B81EzN7L.js} +1 -1
  83. package/dist/cjs/{WarningBanner-COl_Q0K3.js → WarningBanner-DUcGaIpZ.js} +1 -1
  84. package/dist/cjs/abstract-smart-wallets.js +1 -1
  85. package/dist/cjs/{context-BAmjgwZ7.js → context-DTLyrNSs.js} +1 -1
  86. package/dist/cjs/{ethers-D8g2mvSK.js → ethers-DkYZ2n_L.js} +1 -1
  87. package/dist/cjs/extended-chains.js +1 -1
  88. package/dist/cjs/{getErc20Balance-C6ZUC_1B.js → getErc20Balance-CZkdpSqJ.js} +1 -1
  89. package/dist/cjs/{getErc20TokenInfo-DprFN1Dj.js → getErc20TokenInfo-B7OUw6ca.js} +1 -1
  90. package/dist/cjs/{index-BohqOluI.js → index-BbTBzvbB.js} +5 -5
  91. package/dist/cjs/{index-DIKBRogK.js → index-DLnQPdlD.js} +2 -2
  92. package/dist/cjs/index-DVVwP01f.js +1 -0
  93. package/dist/cjs/index.js +1 -1
  94. package/dist/cjs/internal.js +1 -1
  95. package/dist/cjs/privy-context-CqCBaHHR.js +1 -0
  96. package/dist/cjs/{shared-C-w7sNT2.js → shared-BrHBD7Qj.js} +1 -1
  97. package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-DAiUXgPZ.js → shouldProceedtoEmbeddedWalletCreationFlow-By7HZi5X.js} +1 -1
  98. package/dist/cjs/smart-wallets-CXiwZqOu.js +1 -0
  99. package/dist/cjs/smart-wallets.js +1 -1
  100. package/dist/cjs/solana.js +1 -1
  101. package/dist/cjs/{styles-s2f3dL_6.js → styles-BU6XkGeI.js} +4 -4
  102. package/dist/cjs/{to-ui-error-CqnwRcKJ.js → to-ui-error-Bxoctv93.js} +1 -1
  103. package/dist/cjs/ui.js +1 -1
  104. package/dist/cjs/use-export-wallet-B4aMG55I.js +1 -0
  105. package/dist/cjs/use-export-wallet-CJFX3PX0.js +1 -0
  106. package/dist/cjs/{useActiveWallet-CYUR_x0A.js → useActiveWallet-DEJxYDtx.js} +1 -1
  107. package/dist/cjs/{useGetTokenPrice-X3dW0I3y.js → useGetTokenPrice-zMimik1y.js} +1 -1
  108. package/dist/cjs/{useI18n-BsableMs.js → useI18n-CttJorXw.js} +1 -1
  109. package/dist/cjs/usePrivy-B61TDDeF.js +1 -0
  110. package/dist/cjs/{useSolanaRpcClient-BhX1Bzre.js → useSolanaRpcClient-B5g3sWrW.js} +1 -1
  111. package/dist/cjs/{useWalletBalance-CcicA-jd.js → useWalletBalance-BD5uRFtG.js} +1 -1
  112. package/dist/cjs/useWallets-BsO73htS.js +1 -0
  113. package/dist/cjs/useWallets-CAFhVWLf.js +1 -0
  114. package/dist/dts/{events-context-DJ7XN_9I.d.mts → events-context-BXis4NRh.d.mts} +1 -1
  115. package/dist/dts/{events-context-DJ7XN_9I.d.ts → events-context-BXis4NRh.d.ts} +1 -1
  116. package/dist/dts/extended-chains.d.mts +1 -1
  117. package/dist/dts/extended-chains.d.ts +1 -1
  118. package/dist/dts/farcaster.d.mts +1 -1
  119. package/dist/dts/farcaster.d.ts +1 -1
  120. package/dist/dts/index.d.mts +41 -8
  121. package/dist/dts/index.d.ts +41 -8
  122. package/dist/dts/internal.d.mts +1 -1
  123. package/dist/dts/internal.d.ts +1 -1
  124. package/dist/dts/smart-wallets.d.mts +1 -1
  125. package/dist/dts/smart-wallets.d.ts +1 -1
  126. package/dist/dts/solana.d.mts +3 -3
  127. package/dist/dts/solana.d.ts +3 -3
  128. package/dist/dts/{types-CrwMc83t.d.mts → types-Bc9w_mgT.d.mts} +3 -2
  129. package/dist/dts/{types-CrwMc83t.d.ts → types-Bc9w_mgT.d.ts} +3 -2
  130. package/dist/dts/ui.d.mts +1 -1
  131. package/dist/dts/ui.d.ts +1 -1
  132. package/dist/esm/AccountNotFoundScreen-qafr9ivT.mjs +1 -0
  133. package/dist/esm/{Address-Cbulz6Wu.mjs → Address-B99EaiMb.mjs} +1 -1
  134. package/dist/esm/AffirmativeConsentScreen-CIqvK8m6.mjs +6 -0
  135. package/dist/esm/AllowlistRejectionScreen-DU4DWBPE.mjs +1 -0
  136. package/dist/esm/AuthenticateWithWalletScreen-XPD7DrVO.mjs +1 -0
  137. package/dist/esm/AwaitingEvmToSolBridgingScreen-DD0jtqOa.mjs +2 -0
  138. package/dist/esm/AwaitingExternalEthereumTransferScreen-DzTmic9m.mjs +2 -0
  139. package/dist/esm/AwaitingPasswordlessCodeScreen-7QOTS6b-.mjs +103 -0
  140. package/dist/esm/AwaitingSolToEvmBridgingScreen-DYZZooDp.mjs +2 -0
  141. package/dist/esm/{BridgeNetworkSelectionView-nrYQOGZA.mjs → BridgeNetworkSelectionView-CmMVzAX5.mjs} +5 -5
  142. package/dist/esm/CaptchaScreen-DhwS3FJh.mjs +1 -0
  143. package/dist/esm/CoinbaseOnrampStatusScreen-CTrA4xKy.mjs +16 -0
  144. package/dist/esm/ConnectEmailForm-yaDsKJmn.mjs +3 -0
  145. package/dist/esm/ConnectLedgerScreen-O8ZnkCDn.mjs +9 -0
  146. package/dist/esm/ConnectOnlyLandingScreen-BUO28erJ.mjs +1 -0
  147. package/dist/esm/ConnectOnlyStatusScreen-Dy6oAk17.mjs +1 -0
  148. package/dist/esm/ConnectOrCreateScreen-H52RmK3k.mjs +1 -0
  149. package/dist/esm/{ConnectPhoneForm-D8SHd_ge.mjs → ConnectPhoneForm-SXho-ZCl.mjs} +1 -1
  150. package/dist/esm/{ConnectWalletView-By6eXfKl.mjs → ConnectWalletView-mm5nV3qj.mjs} +1 -1
  151. package/dist/esm/ConnectionStatusScreen-XXeNlflJ.mjs +7 -0
  152. package/dist/esm/CrossAppAuthScreen-bAev2vFm.mjs +1 -0
  153. package/dist/esm/{CustomLandingScreenView-Co0nHKPw.mjs → CustomLandingScreenView-e-NPZniC.mjs} +4 -4
  154. package/dist/esm/DelegatedActionsConsentScreen-C2uGvUf3.mjs +1 -0
  155. package/dist/esm/DelegatedActionsRevokeScreen-DIURa5L6.mjs +1 -0
  156. package/dist/esm/EmbeddedWalletConnectingScreen-CznyXfNg.mjs +1 -0
  157. package/dist/esm/EmbeddedWalletCreatedScreen-Vch95Jje.mjs +1 -0
  158. package/dist/esm/EmbeddedWalletKeyExportScreen-kW2-IWjW.mjs +40 -0
  159. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-DtrWxrnI.mjs +1 -0
  160. package/dist/esm/EmbeddedWalletPasswordUpdateScreen-QLodnJ1t.mjs +1 -0
  161. package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-B0gtNXG6.mjs +1 -0
  162. package/dist/esm/{EnrollTotp-nZPSS3Ux.mjs → EnrollTotp-Du2Tjgrx.mjs} +5 -5
  163. package/dist/esm/ErrorScreen-P5oZf9cz.mjs +4 -0
  164. package/dist/esm/{FarcasterConnectStatusScreen-BdwUuSkv.mjs → FarcasterConnectStatusScreen-dpPMJ4I7.mjs} +8 -8
  165. package/dist/esm/FarcasterSignerStatusScreen-COkxl1bH.mjs +28 -0
  166. package/dist/esm/FiatOnrampScreen-Ci0mAJY4.mjs +97 -0
  167. package/dist/esm/FundSolWalletWithExternalSolanaWallet-DW0tS4tS.mjs +1 -0
  168. package/dist/esm/FundWalletMethodHeader-D38FBVVM.mjs +1 -0
  169. package/dist/esm/FundWithBankDepositScreen-Dk_IouhM.mjs +58 -0
  170. package/dist/esm/FundingEditAmountScreen-BLsQoL4e.mjs +1 -0
  171. package/dist/esm/FundingMethodSelectionScreen-OlDe5HS2.mjs +1 -0
  172. package/dist/esm/InAppBrowserLoginNotPossible-BV3tTire.mjs +1 -0
  173. package/dist/esm/InstallWalletScreen-BMmSUe34.mjs +1 -0
  174. package/dist/esm/LandingScreen-B83IEgoc.mjs +1 -0
  175. package/dist/esm/{LinkConflictScreen-DNGVg8dW.mjs → LinkConflictScreen-DNiusVkA.mjs} +3 -3
  176. package/dist/esm/LinkEmailScreen-1OEkvtrp.mjs +1 -0
  177. package/dist/esm/{LinkPasskeyScreen-CTYGeo1r.mjs → LinkPasskeyScreen-CHPataTs.mjs} +5 -5
  178. package/dist/esm/LinkPhoneScreen-DiwKH2Mt.mjs +1 -0
  179. package/dist/esm/LoginFailedScreen-CDmqpAN2.mjs +1 -0
  180. package/dist/esm/ManualTransferScreen-DyN3_kBX.mjs +1 -0
  181. package/dist/esm/MfaAuthEnrollmentFlowScreen-BNV7WReW.mjs +1 -0
  182. package/dist/esm/MfaAuthVerifyFlowScreen-B-ukVyrA.mjs +1 -0
  183. package/dist/esm/MfaEnrollmentFlowScreen-COe5FpFP.mjs +1 -0
  184. package/dist/esm/MfaVerifyFlowScreen-DCIPle0Z.mjs +1 -0
  185. package/dist/esm/{ModalHeader-DfHxv9fE.mjs → ModalHeader-DpkEBdQv.mjs} +1 -1
  186. package/dist/esm/MoonpayStatusScreen-_owltgjZ.mjs +16 -0
  187. package/dist/esm/OAuthStatusScreen-KZmCHc_b.mjs +1 -0
  188. package/dist/esm/PasskeySelectSignupOrLogin-CQ_DHbaT.mjs +1 -0
  189. package/dist/esm/PasskeyStatusScreen-eu3lPB6M.mjs +3 -0
  190. package/dist/esm/PasswordRecoveryScreen-DndhFHx6.mjs +20 -0
  191. package/dist/esm/{QrCode-D4XZQrgi.mjs → QrCode-D-J14re9.mjs} +1 -1
  192. package/dist/esm/RecoveryOAuthStatusScreen-CwCRvxCX.mjs +1 -0
  193. package/dist/esm/RecoveryPasswordCreateScreen-DrRcz4CY.mjs +1 -0
  194. package/dist/esm/{RecoverySelectionScreen-DVBTi436.mjs → RecoverySelectionScreen-CPHkQlGF.mjs} +2 -2
  195. package/dist/esm/{Screen-CDEd4p2a.mjs → Screen-B0u1eY7p.mjs} +3 -3
  196. package/dist/esm/{ScreenLayout-BdRrZJd_.mjs → ScreenLayout-CyK-vOMq.mjs} +1 -1
  197. package/dist/esm/SelectSourceAsset-ac3FApgI.mjs +112 -0
  198. package/dist/esm/{SetAutomaticRecoveryScreen-DBcSNU6R.mjs → SetAutomaticRecoveryScreen-DLY7WHVZ.mjs} +2 -2
  199. package/dist/esm/{SetWalletPasswordForm-DdWjdu2s.mjs → SetWalletPasswordForm-CQWh647N.mjs} +4 -4
  200. package/dist/esm/SignRequestScreen-BYHN19dO.mjs +26 -0
  201. package/dist/esm/{StandardSignAndSendTransactionScreen-DIJRS8NR.mjs → StandardSignAndSendTransactionScreen-5sT-AMvv.mjs} +2 -2
  202. package/dist/esm/TelegramAuthScreen-DATrHQkr.mjs +1 -0
  203. package/dist/esm/{TransactionDetails-Ce_Cnzo2.mjs → TransactionDetails-D9GBw9C3.mjs} +4 -4
  204. package/dist/esm/{TransactionErrorView-JiZmO7NJ.mjs → TransactionErrorView-3qTJ_97m.mjs} +5 -5
  205. package/dist/esm/{TransferFromWalletScreen-ad5b7GV7.mjs → TransferFromWalletScreen-w3c3g8ys.mjs} +2 -2
  206. package/dist/esm/{TransferOrBridgeLoadingScreen-Cwzefd9j.mjs → TransferOrBridgeLoadingScreen-koaJdk-2.mjs} +1 -1
  207. package/dist/esm/UpdateEmailScreen-BKTgKvoR.mjs +1 -0
  208. package/dist/esm/UpdatePhoneScreen-z7-7NbIO.mjs +1 -0
  209. package/dist/esm/UserLimitReachedScreen-BK77vZJo.mjs +1 -0
  210. package/dist/esm/{WalletInfoCard-D2dCT7_H.mjs → WalletInfoCard-hC5PhrNs.mjs} +1 -1
  211. package/dist/esm/WalletInterstitialScreen-DzDGk-y-.mjs +1 -0
  212. package/dist/esm/{WalletLink-DNraFqEC.mjs → WalletLink-sGQdBvAh.mjs} +1 -1
  213. package/dist/esm/{WalletOverflowButton-Cn_nKCBf.mjs → WalletOverflowButton-BrrkHpeZ.mjs} +1 -1
  214. package/dist/esm/{WarningBanner-c8L53pJ2.mjs → WarningBanner-D5LqDt95.mjs} +2 -2
  215. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  216. package/dist/esm/{context-Cw2-86-G.mjs → context-Bj4czVEP.mjs} +1 -1
  217. package/dist/esm/{ethers-5oa3ZKLD.mjs → ethers-BozrzoVi.mjs} +1 -1
  218. package/dist/esm/extended-chains.mjs +1 -1
  219. package/dist/esm/{getErc20Balance-sCX8nL1s.mjs → getErc20Balance-NThD2gHO.mjs} +1 -1
  220. package/dist/esm/{getErc20TokenInfo-CwiO-mOs.mjs → getErc20TokenInfo-BtdscGyJ.mjs} +1 -1
  221. package/dist/esm/index-CuKtz_xL.mjs +12 -0
  222. package/dist/esm/index-DQp_5KKJ.mjs +174 -0
  223. package/dist/esm/index-Ds8yBPhi.mjs +1 -0
  224. package/dist/esm/index.mjs +1 -1
  225. package/dist/esm/internal.mjs +1 -1
  226. package/dist/esm/privy-context-DICqtyyT.mjs +1 -0
  227. package/dist/esm/{shared-Bw0pXSOO.mjs → shared-zCv-_9Pa.mjs} +1 -1
  228. package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-BkTDxfME.mjs → shouldProceedtoEmbeddedWalletCreationFlow-DLpCU-0h.mjs} +1 -1
  229. package/dist/esm/smart-wallets-B8GvSECb.mjs +1 -0
  230. package/dist/esm/smart-wallets.mjs +1 -1
  231. package/dist/esm/solana.mjs +1 -1
  232. package/dist/esm/{styles-D5Jf27-u.mjs → styles-pSKfqjN3.mjs} +15 -15
  233. package/dist/esm/{to-ui-error-DnDY_33E.mjs → to-ui-error-KRq5_d4z.mjs} +2 -2
  234. package/dist/esm/ui.mjs +1 -1
  235. package/dist/esm/use-export-wallet-D1P_g8O0.mjs +1 -0
  236. package/dist/esm/use-export-wallet-DVyBljMT.mjs +1 -0
  237. package/dist/esm/{useActiveWallet-CwS7ik68.mjs → useActiveWallet-DMrO7evY.mjs} +1 -1
  238. package/dist/esm/useGetTokenPrice-N5ZX6Yun.mjs +1 -0
  239. package/dist/esm/{useI18n-bIQlZhkW.mjs → useI18n-BiiKgmqw.mjs} +1 -1
  240. package/dist/esm/usePrivy-DDB15S8o.mjs +1 -0
  241. package/dist/esm/{useSolanaRpcClient-C2WlA-Ah.mjs → useSolanaRpcClient-B--BKNG3.mjs} +1 -1
  242. package/dist/esm/{useWalletBalance-DopZXXwh.mjs → useWalletBalance-C0WFIwSX.mjs} +1 -1
  243. package/dist/esm/useWallets-CJvLEQqE.mjs +1 -0
  244. package/dist/esm/useWallets-CS_W9ciB.mjs +1 -0
  245. package/package.json +5 -5
  246. package/dist/cjs/AccountNotFoundScreen-Bqh-CYrp.js +0 -1
  247. package/dist/cjs/AffirmativeConsentScreen-uogZ44HQ.js +0 -6
  248. package/dist/cjs/AllowlistRejectionScreen-3OKwgh23.js +0 -1
  249. package/dist/cjs/AuthenticateWithWalletScreen-DXy5TnZj.js +0 -1
  250. package/dist/cjs/AwaitingEvmToSolBridgingScreen-DR1RiU-S.js +0 -2
  251. package/dist/cjs/AwaitingExternalEthereumTransferScreen-DgQ9z_ck.js +0 -2
  252. package/dist/cjs/AwaitingPasswordlessCodeScreen-Bah7kXAV.js +0 -103
  253. package/dist/cjs/AwaitingSolToEvmBridgingScreen-HSwPZmzZ.js +0 -2
  254. package/dist/cjs/CaptchaScreen-BLoD3u63.js +0 -1
  255. package/dist/cjs/CoinbaseOnrampStatusScreen-CoSS2KfY.js +0 -16
  256. package/dist/cjs/ConnectEmailForm-BjXzo_T8.js +0 -3
  257. package/dist/cjs/ConnectLedgerScreen-Brfd_c8H.js +0 -9
  258. package/dist/cjs/ConnectOnlyLandingScreen-C41qgoJf.js +0 -1
  259. package/dist/cjs/ConnectOnlyStatusScreen-DPsh3aXI.js +0 -1
  260. package/dist/cjs/ConnectOrCreateScreen-Dpv9J_eC.js +0 -1
  261. package/dist/cjs/ConnectionStatusScreen-DfKCyYnE.js +0 -7
  262. package/dist/cjs/CrossAppAuthScreen-CAmbPQb0.js +0 -1
  263. package/dist/cjs/DelegatedActionsConsentScreen-DOvRMKf-.js +0 -1
  264. package/dist/cjs/DelegatedActionsRevokeScreen-5ecaxQ0D.js +0 -1
  265. package/dist/cjs/EmbeddedWalletConnectingScreen-B31DzW7n.js +0 -1
  266. package/dist/cjs/EmbeddedWalletCreatedScreen-BXEozrA_.js +0 -1
  267. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-DSrn-F5R.js +0 -1
  268. package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-DGlv7LlS.js +0 -1
  269. package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-Byr5dLg5.js +0 -1
  270. package/dist/cjs/ErrorScreen-DJwJwrGn.js +0 -4
  271. package/dist/cjs/FarcasterSignerStatusScreen--CVrZRE9.js +0 -29
  272. package/dist/cjs/FundSolWalletWithExternalSolanaWallet-3Fn4CnSA.js +0 -2
  273. package/dist/cjs/FundWalletMethodHeader-D2fapeXN.js +0 -1
  274. package/dist/cjs/FundWithBankDepositScreen-DUQAuyf5.js +0 -176
  275. package/dist/cjs/FundingEditAmountScreen-B3wEw9xm.js +0 -1
  276. package/dist/cjs/FundingMethodSelectionScreen-ChQNeyi6.js +0 -1
  277. package/dist/cjs/InAppBrowserLoginNotPossible-XFkxHwKR.js +0 -1
  278. package/dist/cjs/InstallWalletScreen-Cp3ZRRYf.js +0 -1
  279. package/dist/cjs/LandingScreen-DwFs0lRf.js +0 -1
  280. package/dist/cjs/LinkEmailScreen-_sfK6ECC.js +0 -1
  281. package/dist/cjs/LinkPhoneScreen-BjMfF3Kz.js +0 -1
  282. package/dist/cjs/LoginFailedScreen-BUnuwN-5.js +0 -1
  283. package/dist/cjs/ManualTransferScreen-D2hHGf6p.js +0 -1
  284. package/dist/cjs/MfaAuthEnrollmentFlowScreen-VFaXkogp.js +0 -1
  285. package/dist/cjs/MfaAuthVerifyFlowScreen-CVBdW4Cw.js +0 -1
  286. package/dist/cjs/MfaEnrollmentFlowScreen-DxkzCr5s.js +0 -1
  287. package/dist/cjs/MfaVerifyFlowScreen-AFZc7liT.js +0 -1
  288. package/dist/cjs/MoonpayStatusScreen-C66Eq4G4.js +0 -16
  289. package/dist/cjs/OAuthStatusScreen-NKl6SLvR.js +0 -1
  290. package/dist/cjs/PasskeySelectSignupOrLogin-D9VfPofR.js +0 -1
  291. package/dist/cjs/PasskeyStatusScreen-CBC-60D2.js +0 -3
  292. package/dist/cjs/PasswordRecoveryScreen-BSUhAJ63.js +0 -20
  293. package/dist/cjs/RecoveryOAuthStatusScreen-y2Z3cphT.js +0 -1
  294. package/dist/cjs/RecoveryPasswordCreateScreen-CoDYHaJk.js +0 -1
  295. package/dist/cjs/SetAutomaticRecoveryScreen-BLiDEmlE.js +0 -14
  296. package/dist/cjs/TelegramAuthScreen-BGB40HSe.js +0 -1
  297. package/dist/cjs/UpdateEmailScreen-Bgn5JxGJ.js +0 -1
  298. package/dist/cjs/UpdatePhoneScreen-DPAxfLv5.js +0 -1
  299. package/dist/cjs/UserLimitReachedScreen-BG8gj4ah.js +0 -1
  300. package/dist/cjs/WalletInterstitialScreen-CBH05HpE.js +0 -1
  301. package/dist/cjs/get-is-unified-wallet-DitrQ4hx.js +0 -1
  302. package/dist/cjs/index-CCY3tkwt.js +0 -1
  303. package/dist/cjs/smart-wallets-BtILJe_K.js +0 -1
  304. package/dist/cjs/use-export-wallet-C6DaLOxp.js +0 -1
  305. package/dist/cjs/use-export-wallet-eDTOzHRt.js +0 -1
  306. package/dist/cjs/usePrivy-CHcu9hX8.js +0 -1
  307. package/dist/cjs/useWallets-CbvzYOqg.js +0 -1
  308. package/dist/cjs/useWallets-Cy6axcvW.js +0 -1
  309. package/dist/esm/AccountNotFoundScreen-BSYd-8_2.mjs +0 -1
  310. package/dist/esm/AffirmativeConsentScreen-C_uGmdSa.mjs +0 -6
  311. package/dist/esm/AllowlistRejectionScreen-DBdNYwS-.mjs +0 -1
  312. package/dist/esm/AuthenticateWithWalletScreen-D-Aw0iYo.mjs +0 -1
  313. package/dist/esm/AwaitingEvmToSolBridgingScreen-BMr5CXgX.mjs +0 -2
  314. package/dist/esm/AwaitingExternalEthereumTransferScreen-aOEMTW-b.mjs +0 -2
  315. package/dist/esm/AwaitingPasswordlessCodeScreen-CjPJ7IMM.mjs +0 -103
  316. package/dist/esm/AwaitingSolToEvmBridgingScreen-xrFngED1.mjs +0 -2
  317. package/dist/esm/CaptchaScreen-BOKElE1r.mjs +0 -1
  318. package/dist/esm/CoinbaseOnrampStatusScreen-CTV5uUn3.mjs +0 -16
  319. package/dist/esm/ConnectEmailForm-Dp85JvZj.mjs +0 -3
  320. package/dist/esm/ConnectLedgerScreen-rxzesP5N.mjs +0 -9
  321. package/dist/esm/ConnectOnlyLandingScreen-CmImF7oZ.mjs +0 -1
  322. package/dist/esm/ConnectOnlyStatusScreen-Bo90w6P9.mjs +0 -1
  323. package/dist/esm/ConnectOrCreateScreen-Dc2VQF-B.mjs +0 -1
  324. package/dist/esm/ConnectionStatusScreen-C_fxSXJ2.mjs +0 -7
  325. package/dist/esm/CrossAppAuthScreen-DU0FD2ep.mjs +0 -1
  326. package/dist/esm/DelegatedActionsConsentScreen-Dr-DeIXC.mjs +0 -1
  327. package/dist/esm/DelegatedActionsRevokeScreen-kXOJxXu-.mjs +0 -1
  328. package/dist/esm/EmbeddedWalletConnectingScreen-tFedaOj3.mjs +0 -1
  329. package/dist/esm/EmbeddedWalletCreatedScreen-DCx4NdAp.mjs +0 -1
  330. package/dist/esm/EmbeddedWalletKeyExportScreen-CVflSsvz.mjs +0 -40
  331. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-vSzXa62f.mjs +0 -1
  332. package/dist/esm/EmbeddedWalletPasswordUpdateScreen-B4szV9Hg.mjs +0 -1
  333. package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-BOBLnE_O.mjs +0 -1
  334. package/dist/esm/ErrorScreen-BGE6wldq.mjs +0 -4
  335. package/dist/esm/FarcasterSignerStatusScreen-C-crikPv.mjs +0 -28
  336. package/dist/esm/FundSolWalletWithExternalSolanaWallet-BX4gYmzv.mjs +0 -1
  337. package/dist/esm/FundWalletMethodHeader-CdXWChwL.mjs +0 -1
  338. package/dist/esm/FundWithBankDepositScreen-HyqTUpLq.mjs +0 -176
  339. package/dist/esm/FundingEditAmountScreen--ffFSUmf.mjs +0 -1
  340. package/dist/esm/FundingMethodSelectionScreen-Djr0jY03.mjs +0 -1
  341. package/dist/esm/InAppBrowserLoginNotPossible-D6wMCuzD.mjs +0 -1
  342. package/dist/esm/InstallWalletScreen-B6VSXUWR.mjs +0 -1
  343. package/dist/esm/LandingScreen-BV0xq-oc.mjs +0 -1
  344. package/dist/esm/LinkEmailScreen-CtMuCZvp.mjs +0 -1
  345. package/dist/esm/LinkPhoneScreen-2nnXZB2B.mjs +0 -1
  346. package/dist/esm/LoginFailedScreen-hHvIsH81.mjs +0 -1
  347. package/dist/esm/ManualTransferScreen-C0xJ3si8.mjs +0 -1
  348. package/dist/esm/MfaAuthEnrollmentFlowScreen-CznUpkq5.mjs +0 -1
  349. package/dist/esm/MfaAuthVerifyFlowScreen-DUmOZHGX.mjs +0 -1
  350. package/dist/esm/MfaEnrollmentFlowScreen-DeoSfYAS.mjs +0 -1
  351. package/dist/esm/MfaVerifyFlowScreen-JJ1crW_8.mjs +0 -1
  352. package/dist/esm/MoonpayStatusScreen-BIzQZK9f.mjs +0 -16
  353. package/dist/esm/OAuthStatusScreen-DhmaZBTY.mjs +0 -1
  354. package/dist/esm/PasskeySelectSignupOrLogin-BmiJnukl.mjs +0 -1
  355. package/dist/esm/PasskeyStatusScreen-BStwA1_J.mjs +0 -3
  356. package/dist/esm/PasswordRecoveryScreen-DyBDQADG.mjs +0 -20
  357. package/dist/esm/RecoveryOAuthStatusScreen-BfcxgkUL.mjs +0 -1
  358. package/dist/esm/RecoveryPasswordCreateScreen-CBfvjxht.mjs +0 -1
  359. package/dist/esm/SignRequestScreen-CxAuntSd.mjs +0 -26
  360. package/dist/esm/TelegramAuthScreen-BRDG8b6x.mjs +0 -1
  361. package/dist/esm/UpdateEmailScreen-C5lQJUiA.mjs +0 -1
  362. package/dist/esm/UpdatePhoneScreen-BwkzWVHl.mjs +0 -1
  363. package/dist/esm/UserLimitReachedScreen-ComDV9kj.mjs +0 -1
  364. package/dist/esm/WalletInterstitialScreen-riBB51NH.mjs +0 -1
  365. package/dist/esm/get-is-unified-wallet-CQc-E5dS.mjs +0 -1
  366. package/dist/esm/index-B5B9f4U9.mjs +0 -12
  367. package/dist/esm/index-Bvw5OxHl.mjs +0 -174
  368. package/dist/esm/index-yxF2V6XY.mjs +0 -1
  369. package/dist/esm/smart-wallets-Dl42tBUP.mjs +0 -1
  370. package/dist/esm/use-export-wallet-Bd5Sg5V-.mjs +0 -1
  371. package/dist/esm/use-export-wallet-NF9h_lS_.mjs +0 -1
  372. package/dist/esm/useGetTokenPrice-oI6b3gPZ.mjs +0 -1
  373. package/dist/esm/usePrivy-DAnfSvB5.mjs +0 -1
  374. package/dist/esm/useWallets-2_uCkhA8.mjs +0 -1
  375. package/dist/esm/useWallets-DpbBw4Vl.mjs +0 -1
@@ -1,20 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/ShieldCheckIcon"),i=require("react"),t=require("styled-components"),s=require("./get-is-unified-wallet-DitrQ4hx.js"),o=require("./ModalHeader-CakS8Dcu.js"),n=require("./Layouts-D3TOcPhm.js"),a=require("./shared-C-w7sNT2.js"),c=require("./index-BohqOluI.js"),l=require("./internal-context-BJv4f_bO.js"),u=require("./Screen-Dp9-H_S8.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@privy-io/are-addresses-equal"),require("./context-BAmjgwZ7.js"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("./useActiveWallet-CYUR_x0A.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-C6DaLOxp.js"),require("./useWallets-Cy6axcvW.js"),require("viem"),require("eventemitter3"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-CHcu9hX8.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("./PrivyPluginContext-DsgaS6n9.js"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("ofetch"),require("js-cookie"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js"),require("./index-ByFhjjzH.js");var h=/*#__PURE__*/d(r);const y={component:()=>{let[r,t]=i.useState(!0),{authenticated:o,user:d}=s.usePrivyContext(),{walletProxy:y,closePrivyModal:j,createAnalyticsEvent:x,client:m}=l.usePrivyInternal(),{navigate:w,data:f,onUserCloseViaDialogOrKeybindRef:g}=s.usePrivyModal(),[b,I]=i.useState(void 0),[S,P]=i.useState(""),[C,k]=i.useState(!1),{entropyId:A,entropyIdVerifier:W,onCompleteNavigateTo:E,onSuccess:R,onFailure:T}=f.recoverWallet,_=(e="User exited before their wallet could be recovered")=>{j({shouldCallAuthOnSuccess:!1}),T("string"==typeof e?new l.PrivyEmbeddedWalletError(e):e)};g.current=_,i.useEffect((()=>{if(!o)return _("User must be authenticated and have a Privy wallet before it can be recovered")}),[o]);/*#__PURE__*/return e.jsxs(u.Screen,{children:[/*#__PURE__*/e.jsx(u.Screen.Header,{icon:h.default,title:"Enter your password",subtitle:"Please provision your account on this new device. To continue, enter your recovery password.",showClose:!0,onClose:_}),/*#__PURE__*/e.jsx(u.Screen.Body,{children:/*#__PURE__*/e.jsx(v,{children:/*#__PURE__*/e.jsxs("div",{children:[/*#__PURE__*/e.jsxs(a.PasswordContainer,{children:[/*#__PURE__*/e.jsx(a.PasswordInput,{type:r?"password":"text",onChange:e=>(e=>{e&&I(e)})(e.target.value),disabled:C,style:{paddingRight:"2.3rem"}}),/*#__PURE__*/e.jsx(a.InputRightIcons,{style:{right:"0.75rem"},children:r?/*#__PURE__*/e.jsx(a.HiddenIcon,{onClick:()=>t(!1)}):/*#__PURE__*/e.jsx(a.ShownIcon,{onClick:()=>t(!0)})})]}),!!S&&/*#__PURE__*/e.jsx(q,{children:S})]})})}),/*#__PURE__*/e.jsxs(u.Screen.Footer,{children:[/*#__PURE__*/e.jsx(u.Screen.HelpText,{children:/*#__PURE__*/e.jsxs(n.StyledCalloutSection,{children:[/*#__PURE__*/e.jsx("h4",{children:"Why is this necessary?"}),/*#__PURE__*/e.jsx("p",{children:"You previously set a password for this wallet. This helps ensure only you can access it"})]})}),/*#__PURE__*/e.jsx(u.Screen.Actions,{children:/*#__PURE__*/e.jsx(p,{loading:C||!y,disabled:!b,onClick:async()=>{k(!0);let e=await m.getAccessToken(),r=s.getPrivyWalletWithAddress(d,A);if(!e||!r||null===b)return _("User must be authenticated and have a Privy wallet before it can be recovered");try{x({eventName:"embedded_wallet_recovery_started",payload:{walletAddress:r.address}}),await(y?.recover({accessToken:e,entropyId:A,entropyIdVerifier:W,recoveryPassword:b})),P(""),E?w(E):j({shouldCallAuthOnSuccess:!1}),R?.(r),x({eventName:"embedded_wallet_recovery_completed",payload:{walletAddress:r.address}})}catch(e){c.errorIndicatesInvalidRecoveryPassword(e)?P("Invalid recovery password, please try again."):P("An error has occurred, please try again.")}finally{k(!1)}},$hideAnimations:!A&&C,children:"Recover your account"})}),/*#__PURE__*/e.jsx(u.Screen.Watermark,{})]})]})}};let v=t.styled.div`
2
- display: flex;
3
- flex-direction: column;
4
- gap: 1.5rem;
5
- `,q=t.styled.div`
6
- line-height: 20px;
7
- height: 20px;
8
- font-size: 13px;
9
- color: var(--privy-color-error);
10
- text-align: left;
11
- margin-top: 0.5rem;
12
- `,p=t.styled(o.PrimaryButton)`
13
- ${({$hideAnimations:e})=>e&&t.css`
14
- && {
15
- // Remove animations because the recoverWallet task on the iframe partially
16
- // blocks the renderer, so the animation stutters and doesn't look good
17
- transition: none;
18
- }
19
- `}
20
- `;exports.PasswordRecoveryScreen=y,exports.default=y;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./ModalHeader-CakS8Dcu.js"),o=require("./ScreenHeader-CgYJ5Fmg.js"),a=require("./context-BAmjgwZ7.js"),i=require("./index-BohqOluI.js"),l=require("./internal-context-BJv4f_bO.js"),n=require("./get-is-unified-wallet-DitrQ4hx.js"),c=require("./paths-DizMb-lU.js"),s=require("./useWallets-Cy6axcvW.js"),d=require("./events-context-Di6--rDg.js"),u=require("./styles-CQnB5gHS.js");async function v({url:e,popup:r,provider:t}){return r.location=e,new Promise(((e,t)=>{function o(){r?.close(),window.removeEventListener("message",a)}function a(r){r.data&&("PRIVY_OAUTH_RESPONSE"===r.data.type&&r.data.stateCode&&r.data.authorizationCode&&(e(r.data),o()),"https://cdn.apple-cloudkit.com"===r.origin&&r.data.ckSession&&(e({type:"PRIVY_OAUTH_RESPONSE",ckWebAuthToken:r.data.ckSession}),o()),"PRIVY_OAUTH_ERROR"===r.data.type&&(t(r.data.error),o()))}window.addEventListener("message",a)}))}async function y({api:e,provider:r,stateCode:t,codeVerifier:o,authorizationCode:a}){if(!a||!t)throw new l.PrivyClientError("[OAuth AuthFlow] Authorization and state codes code must be set prior to calling authenicate.");if("undefined"===a)throw new l.PrivyClientError("User denied confirmation during OAuth flow");try{return(await e.post(c.recoveryOAuthAuthenticatePath,{authorization_code:a,state_code:t,code_verifier:o,provider:r})).access_token}catch(e){let r=l.formatApiError(e);if(r.privyErrorCode)throw new l.PrivyClientError(r.message||"Invalid code during OAuth flow.",void 0,r.privyErrorCode);if("User denied confirmation during OAuth flow"===r.message)throw new l.PrivyClientError("Invalid code during oauth flow.",void 0,l.PrivyErrorCode.OAUTH_USER_DENIED);throw new l.PrivyClientError("Invalid code during OAuth flow.",void 0,l.PrivyErrorCode.UNKNOWN_AUTH_ERROR)}}async function h({api:e,provider:r}){let t=i.createCodeVerifier(),o=i.createStateCode(),a=await i.deriveCodeChallengeFromCodeVerifier(t);try{return"icloud"===r?{url:(await e.post(c.recoveryOAuthInitICloudPath,{client_type:"web"})).url}:{url:(await e.post(c.recoveryOAuthInitPath,{redirect_to:window.location.href,code_challenge:a,state_code:o})).url,codeVerifier:t,stateCode:o,provider:r}}catch(e){throw l.formatApiError(e)}}require("styled-components"),require("./useActiveWallet-CYUR_x0A.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-C6DaLOxp.js"),require("@privy-io/js-sdk-core"),require("eventemitter3"),require("viem/utils"),require("viem"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("tinycolor2"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./usePrivy-CHcu9hX8.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("./PrivyPluginContext-DsgaS6n9.js"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("ofetch"),require("js-cookie"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("@privy-io/are-addresses-equal"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js");let p={"google-drive":{name:"Google Drive",component:u.GoogleDrive},icloud:{name:"iCloud",component:u.AppleICloud}};const w={component:()=>{let{logout:c}=n.usePrivyContext(),{navigate:w,setModalData:E,data:m}=n.usePrivyModal(),{closePrivyModal:C,createAnalyticsEvent:f}=l.usePrivyInternal(),{execute:A}=(()=>{let{client:e,walletProxy:r,refreshSessionAndUser:t}=l.usePrivyInternal(),{data:o}=n.usePrivyModal(),{user:a}=n.usePrivyContext(),c=d.useEmitPrivyEvent(),{create:u}=i.useCreateWalletWithoutFallback();return{execute:async({provider:i,action:d,popup:p,shouldCreateEth:w,shouldCreateSol:E})=>{let m,C;if(!e)throw new l.PrivyClientError("Missing client");function f(r){if(!r&&e)throw e.createAnalyticsEvent({eventName:"recovery_oauth_error",payload:{error:"Unable to open recovery OAuth popup",provider:i}}),new l.PrivyClientError("Recovery OAuth failed")}switch(i){case"google-drive":{let r,t,{url:o,codeVerifier:a,stateCode:n}=await h({api:e.api,provider:i});f(o);try{let a=await v({url:o,popup:p,provider:i});if(r=a.stateCode,t=a.authorizationCode,r!==n)throw e.createAnalyticsEvent({eventName:"possible_phishing_attempt",payload:{provider:i,storedStateCode:n??"",returnedStateCode:r??""}}),new l.PrivyClientError("Unexpected auth flow. This may be a phishing attempt.",void 0,l.PrivyErrorCode.OAUTH_UNEXPECTED)}catch(r){throw e.createAnalyticsEvent({eventName:"recovery_oauth_error",payload:{error:r.toString(),provider:i}}),new l.PrivyClientError("Recovery OAuth failed")}[m,C]=await Promise.all([e.getAccessToken(),y({api:e.api,provider:i,codeVerifier:a,stateCode:r,authorizationCode:t})]);break}case"icloud":{let{url:r}=await h({api:e.api,provider:i});f(r);let{ckWebAuthToken:t}=await v({url:r,popup:p,provider:i});C=t,m=await e.getAccessToken()}}if(!r)throw new l.PrivyClientError("Cannot connect to wallet proxy");if(!m)throw new l.PrivyClientError("Unable to authorize user");switch(d){case"recover":{let t=o?.recoverWallet?.entropyId,a=o?.recoverWallet?.entropyIdVerifier;if(!t||!a)throw new l.PrivyClientError("Recovery OAuth failed");e.createAnalyticsEvent({eventName:"embedded_wallet_recovery_started",payload:{walletAddress:t,recoveryMethod:i}}),await r.recover({accessToken:m,entropyId:t,entropyIdVerifier:a,recoveryAccessToken:C}),e.createAnalyticsEvent({eventName:"embedded_wallet_recovery_completed",payload:{walletAddress:t,recoveryMethod:i}});break}case"create-wallet":{let r;if(e.createAnalyticsEvent({eventName:"embedded_wallet_creation_started"}),w&&E)r=await u({recoveryMethod:i,recoveryAccessToken:C,chainType:"ethereum",walletIndex:0,latestUser:a}),r=await u({chainType:"solana",walletIndex:0,latestUser:r.user});else if(E)r=await u({recoveryMethod:i,recoveryAccessToken:C,chainType:"solana",walletIndex:0,latestUser:a});else{if(!w)throw Error("Invalid args to create wallet");r=await u({recoveryMethod:i,recoveryAccessToken:C,chainType:"ethereum",walletIndex:0,latestUser:a})}if(!r)throw c("createWallet","onError",l.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to create wallet");e.createAnalyticsEvent({eventName:"embedded_wallet_creation_completed",payload:{walletAddress:r.account.address}}),c("createWallet","onSuccess",{wallet:r.account});break}case"set-recovery":{let o=n.getPrivyPrimaryWallet(a);if(!o)throw c("setWalletRecovery","onError",l.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND),Error("Embedded wallet not found");e.createAnalyticsEvent({eventName:"embedded_wallet_set_recovery_started",payload:{walletAddress:o.address,existingRecoveryMethod:o.recoveryMethod,targetRecoveryMethod:i}});let{entropyId:d,entropyIdVerifier:u}=s.getEntropyDetailsForUser(a);await r.setRecovery({accessToken:m,entropyId:d,entropyIdVerifier:u,recoveryMethod:i,recoveryAccessToken:C});let v=n.getPrivyPrimaryWallet(await t());if(!v)throw c("createWallet","onError",l.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to set recovery on wallet");e.createAnalyticsEvent({eventName:"embedded_wallet_set_recovery_completed",payload:{walletAddress:o.address,existingRecoveryMethod:o.recoveryMethod,targetRecoveryMethod:i}}),c("setWalletRecovery","onSuccess",{method:i,wallet:v});break}default:throw new l.PrivyClientError("Unsupported recovery action")}}}})(),[_,g]=r.useState(!1),{provider:P,action:q,isInAccountCreateFlow:x,shouldCreateEth:R,shouldCreateSol:b}=m?.recoveryOAuthStatus,[S,O]=r.useState(void 0),[k,T]=r.useState("create-wallet"===q);if("user-passcode"===P)throw Error("RecoveryOAuthScreen should never be called with a wallet that specifies recoveryMethod: `user-passcode`");let j=p[P].name,I=p[P].component,N=m?.recoverWallet?.onCompleteNavigateTo,U=new i.RunEffectOnce((async(e="create-wallet")=>(T(!0),new Promise(((r,t)=>{setTimeout((async()=>{try{let t=window.open();await A({provider:P,action:e,popup:t,shouldCreateEth:R,shouldCreateSol:b}),g(!0),r()}catch(r){O({message:`${"recover"===e?"Recovery":"Back up"} with ${j} unsuccessful`,detail:"recover"===q?`Please verify that you are selecting the ${j} account associated with your backup.`:"",retryable:!0}),t()}}),0)})))));r.useEffect((()=>{"recover"!==q&&U.execute(x?"create-wallet":"set-recovery")}),[]),r.useEffect((()=>{if(!_)return;let e=setTimeout((()=>{x?(E({createWallet:{onSuccess:()=>{},onFailure:e=>{f({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"RecoveryOAuthScreen"}}),c()},callAuthOnSuccessOnClose:!0,shouldCreateEth:!1,shouldCreateSol:!1}}),w("EmbeddedWalletCreatedScreen")):C({shouldCallAuthOnSuccess:!1})}),a.DEFAULT_SUCCESS_SCREEN_DURATION_MS);return()=>clearTimeout(e)}),[_]);let M=r.useCallback((async()=>{await U.execute("recover"),N?w(N):g(!0)}),[]),W="google-drive"===P?"Google Drive":"Apple iCloud",D=_&&`Successfully ${"recover"===q?"recovered":"backed up"} with ${W}.`||S&&S.message||`${"recover"===q?"Recovering":"Backing up"} with ${W}...`,F=S?S.detail:"";/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(t.ModalHeader,{}),k?/*#__PURE__*/e.jsx(e.Fragment,{children:/*#__PURE__*/e.jsxs(u.RecoveryContainer,{children:[/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:D,icon:/*#__PURE__*/e.jsx(I,{style:{width:"38px",height:"38px"}}),description:F}),S&&S?.retryable?/*#__PURE__*/e.jsx(t.PrimaryButton,{onClick:()=>{i.stripUrlOAuthParamsAndRemoveStateCode(),O(void 0),"create-wallet"===q?U.execute("create-wallet"):M()},disabled:!_&&!S?.retryable,children:"Try again"}):null]})}):/*#__PURE__*/e.jsxs(u.RecoveryContainer,{children:[/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Confirm it's really you",icon:/*#__PURE__*/e.jsx(I,{style:{height:42,width:48}}),description:`To confirm your identity, please log in to ${W} where your account is backed up.`}),/*#__PURE__*/e.jsxs(t.PrimaryButton,{onClick:M,children:["Confirm with ",W]})]}),/*#__PURE__*/e.jsx(t.BlobbyFooter,{})]})}};exports.RecoveryOAuthScreen=w,exports.default=w;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./context-BAmjgwZ7.js"),t=require("./index-BohqOluI.js"),s=require("./internal-context-BJv4f_bO.js"),o=require("./get-is-unified-wallet-DitrQ4hx.js"),a=require("./SetWalletPasswordForm-B7bBDQ8N.js");require("@privy-io/js-sdk-core"),require("tinycolor2"),require("uuid"),require("jose"),require("eventemitter3"),require("./useActiveWallet-CYUR_x0A.js"),require("zustand"),require("styled-components"),require("react-device-detect"),require("./use-export-wallet-C6DaLOxp.js"),require("./useWallets-Cy6axcvW.js"),require("viem"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-CHcu9hX8.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("./PrivyPluginContext-DsgaS6n9.js"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("ofetch"),require("js-cookie"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("@privy-io/are-addresses-equal"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("./Layouts-D3TOcPhm.js"),require("./ModalHeader-CakS8Dcu.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./shared-C-w7sNT2.js"),require("@heroicons/react/24/outline/ArrowPathIcon"),require("@heroicons/react/24/outline/EyeIcon"),require("@heroicons/react/24/outline/EyeSlashIcon"),require("./Checkbox-DzxHC5tk.js"),require("@heroicons/react/24/outline/KeyIcon"),require("@heroicons/react/24/solid/CheckCircleIcon"),require("fast-password-entropy"),require("secure-password-utilities"),require("secure-password-utilities/wordlists"),require("@heroicons/react/24/outline/ArrowDownTrayIcon"),require("@heroicons/react/24/outline/ClipboardDocumentCheckIcon"),require("@heroicons/react/24/outline/DocumentDuplicateIcon"),require("@heroicons/react/24/solid/XCircleIcon"),require("./ScreenHeader-CgYJ5Fmg.js");const u={component:()=>{let{navigate:u,data:n,onUserCloseViaDialogOrKeybindRef:c}=o.usePrivyModal(),l=i.useAppConfig(),[d,q]=r.useState(""),[h,w]=r.useState(!1),[y,p]=r.useState(),[v,m]=r.useState(null),{create:j}=t.useCreateWalletWithoutFallback(),{authenticated:f,user:C}=o.usePrivyContext(),{closePrivyModal:P,isNewUserThisSession:g,initializeWalletProxy:S}=s.usePrivyInternal(),{onSuccess:b,onFailure:x,callAuthOnSuccessOnClose:I,shouldCreateEth:E,shouldCreateSol:W}=n.createWallet,[A,k]=r.useState(null),M=new t.RunEffectOnce((async()=>{try{let e;if(E&&W)e=await j({recoveryMethod:"user-passcode",recoveryPassword:y,chainType:"ethereum",walletIndex:0,latestUser:C}),e=await j({chainType:"solana",walletIndex:0,latestUser:e.user});else if(W)e=await j({recoveryMethod:"user-passcode",recoveryPassword:y,chainType:"solana",walletIndex:0,latestUser:C});else{if(!E)throw Error("Invalid args to create wallet");e=await j({recoveryMethod:"user-passcode",recoveryPassword:y,chainType:"ethereum",walletIndex:0,latestUser:C})}k(e),g?u("EmbeddedWalletCreatedScreen"):(b(e),P({shouldCallAuthOnSuccess:I}))}catch(e){q(e.message)}}));r.useEffect((()=>{v||S(3e4).then((e=>m(e)))}),[v]),r.useEffect((()=>{if(!f||!C)return u("LandingScreen"),void x(Error("User must be authenticated before creating a Privy wallet"))}),[f]),c.current=()=>null;/*#__PURE__*/return e.jsx(a.SetWalletPasswordForm,{config:{initiatedBy:"automatic"},appName:l?.name||"privy",loading:!v,buttonLoading:h,buttonHideAnimations:!A&&h,isResettingPassword:!1,error:d,password:y||"",onClose:()=>{A&&"user-passcode"!==A.account.recoveryMethod?(x(new s.PrivyEmbeddedWalletError("User created a wallet but failed to set a password for it")),P({shouldCallAuthOnSuccess:!1})):A?(b(A),P({shouldCallAuthOnSuccess:I})):(x(new s.PrivyEmbeddedWalletError("User wallet creation failed")),P({shouldCallAuthOnSuccess:!1}))},onPasswordChange:p,onPasswordGenerate:()=>p(a.generatePassphrase()),onSubmit:async()=>(w(!0),M.execute().then((()=>new Promise((e=>setTimeout(e,250))))).finally((()=>w(!1))))})}};exports.EmbeddedWalletPasswordCreateScreen=u,exports.default=u;
@@ -1,14 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/ExclamationTriangleIcon"),t=require("@heroicons/react/24/outline/LockClosedIcon"),o=require("react"),i=require("./get-is-unified-wallet-DitrQ4hx.js"),l=require("./ModalHeader-CakS8Dcu.js"),n=require("styled-components"),s=require("./Subtitle-CR8zM7ZJ.js"),a=require("./Title-ifTy35V5.js"),c=require("./context-BAmjgwZ7.js"),u=require("./internal-context-BJv4f_bO.js"),d=require("./useActiveWallet-CYUR_x0A.js");function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@privy-io/are-addresses-equal"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("ofetch"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-C6DaLOxp.js"),require("./useWallets-Cy6axcvW.js"),require("viem"),require("eventemitter3"),require("viem/utils"),require("./events-context-Di6--rDg.js");var h=/*#__PURE__*/y(r),v=/*#__PURE__*/y(t);const f=n.styled.div`
2
- && {
3
- border-width: 4px;
4
- }
5
-
6
- display: flex;
7
- justify-content: center;
8
- align-items: center;
9
- padding: 1rem;
10
- aspect-ratio: 1;
11
- border-style: solid;
12
- border-color: ${e=>e.$color??"var(--privy-color-accent)"};
13
- border-radius: 50%;
14
- `,g={component:()=>{let{user:r}=i.usePrivyContext(),{client:t,walletProxy:n,refreshSessionAndUser:y,closePrivyModal:g}=u.usePrivyInternal(),j=i.usePrivyModal(),{entropyId:m,entropyIdVerifier:x}=j.data?.recoverWallet,[q,w]=o.useState(!1),[p,S]=o.useState(null),[b,I]=o.useState(null);function T(){if(!q){if(b)return j.data?.setWalletPassword?.onFailure(b),void g();if(!p)return j.data?.setWalletPassword?.onFailure(Error("User exited set recovery flow")),void g()}}j.onUserCloseViaDialogOrKeybindRef.current=T;let W=!(!q&&!p);return b?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:T},"header"),/*#__PURE__*/e.jsx(f,{$color:"var(--privy-color-error)",style:{alignSelf:"center"},children:/*#__PURE__*/e.jsx(h.default,{height:38,width:38,stroke:"var(--privy-color-error)"})}),/*#__PURE__*/e.jsx(a.Title,{style:{marginTop:"0.5rem"},children:"Something went wrong"}),/*#__PURE__*/e.jsx(d.Grow,{style:{minHeight:"2rem"}}),/*#__PURE__*/e.jsx(l.PrimaryButtonWithoutGray,{onClick:()=>I(null),children:"Try again"}),/*#__PURE__*/e.jsx(l.BlobbyFooter,{})]}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(l.ModalHeader,{onClose:T},"header"),/*#__PURE__*/e.jsx(v.default,{style:{width:"3rem",height:"3rem",alignSelf:"center"}}),/*#__PURE__*/e.jsx(a.Title,{style:{marginTop:"0.5rem"},children:"Automatically secure your account"}),/*#__PURE__*/e.jsx(s.Subtitle,{style:{marginTop:"1rem"},children:"When you log into a new device, you’ll only need to authenticate to access your account. Never get logged out if you forget your password."}),/*#__PURE__*/e.jsx(d.Grow,{style:{minHeight:"2rem"}}),/*#__PURE__*/e.jsx(l.PrimaryButtonWithoutGray,{loading:q,disabled:W,onClick:()=>async function(){w(!0);try{let e=await t.getAccessToken(),o=i.getPrivyWalletWithAddress(r,m);if(!e||!n||!o)return;if(!(await n.setRecovery({accessToken:e,entropyId:m,entropyIdVerifier:x,existingRecoveryMethod:o.recoveryMethod,recoveryMethod:"privy"})).entropyId)throw Error("Unable to set recovery on wallet");let l=await y();if(!l)throw Error("Unable to set recovery on wallet");let s=i.getPrivyWalletWithAddress(l,o.address);if(!s)throw Error("Unabled to set recovery on wallet");S(!!l),setTimeout((()=>{j.data?.setWalletPassword?.onSuccess(s),g()}),c.DEFAULT_SUCCESS_SCREEN_DURATION_MS)}catch(e){I(e)}finally{w(!1)}}(),children:p?"Success":"Confirm"}),/*#__PURE__*/e.jsx(l.BlobbyFooter,{})]})}};exports.SetAutomaticRecoveryScreen=g,exports.default=g;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./index-BohqOluI.js"),i=require("./context-BAmjgwZ7.js"),a=require("./internal-context-BJv4f_bO.js"),o=require("./get-is-unified-wallet-DitrQ4hx.js"),s=require("./shouldProceedtoEmbeddedWalletCreationFlow-DAiUXgPZ.js"),u=require("./ScreenLayout-DANQ0V5E.js"),n=require("./telegram-D3O0_F1a.js");require("@privy-io/js-sdk-core"),require("uuid"),require("jose"),require("eventemitter3"),require("./useActiveWallet-CYUR_x0A.js"),require("zustand"),require("styled-components"),require("react-device-detect"),require("./use-export-wallet-C6DaLOxp.js"),require("./useWallets-Cy6axcvW.js"),require("viem"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-CHcu9hX8.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("./PrivyPluginContext-DsgaS6n9.js"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("ofetch"),require("js-cookie"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("@privy-io/are-addresses-equal"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js"),require("tinycolor2"),require("./ModalHeader-CakS8Dcu.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./Screen-Dp9-H_S8.js"),require("./index-ByFhjjzH.js");const l=({success:r,errorMessage:t,onRetry:i})=>{let a=r?"Successfully connected with Telegram":t?t.message:"Verifying connection to Telegram";/*#__PURE__*/return e.jsx(u.ScreenLayout,{title:a,subtitle:r?"You're good to go!":t?t.detail:"Just a few moments more",icon:n.Telegram,iconVariant:"loading",iconLoadingStatus:{success:r,fail:!!t},secondaryCta:t?.retryable&&i?{label:"Retry",onClick:i}:void 0,watermark:!0})},c={component:()=>{let{authenticated:u,logout:n,ready:c,user:d}=o.usePrivyContext(),{setModalData:m,navigate:q,resetNavigation:v,data:y}=o.usePrivyModal(),g=i.useAppConfig(),{initLoginWithTelegram:E,loginWithTelegram:h,updateWallets:S,setReadyToTrue:p,closePrivyModal:A,createAnalyticsEvent:C,getAuthMeta:T}=a.usePrivyInternal(),[f,j]=r.useState(!1),[R,b]=r.useState(void 0),w=t.useCaptcha();async function _(){try{let e=await async function(){let e;if(!u){if(w.enabled&&"error"===w.status)throw new t.CaptchaError(w.error,null,a.PrivyErrorCode.CAPTCHA_FAILURE);return w.enabled&&"success"!==w.status&&(w.execute(),e=await w.waitForResult()),e}}();await h({captchaToken:e}),j(!0),p(!0)}catch(e){if(e?.privyErrorCode===a.PrivyErrorCode.ALLOWLIST_REJECTED)return b(void 0),v(),void q("AllowlistRejectionScreen");if(e?.privyErrorCode===a.PrivyErrorCode.USER_LIMIT_REACHED)return console.error(new a.PrivyUserLimitReachedError(e).toString()),b(void 0),v(),void q("UserLimitReachedScreen");if(e?.privyErrorCode===a.PrivyErrorCode.USER_DOES_NOT_EXIST)return b(void 0),v(),void q("AccountNotFoundScreen");if(e?.privyErrorCode===a.PrivyErrorCode.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return b(void 0),v(),m({accountTransfer:{nonce:e.data?.data?.nonce,account:e.data?.data?.subject,telegramAuthResult:T()?.telegramAuthResult,telegramWebAppData:T()?.telegramWebAppData,displayName:e.data?.data?.account?.displayName,linkMethod:"telegram",embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress}}),void q("LinkConflictScreen");let{retryable:r,detail:i}=t.getTelegramAuthErrorMessage(e);b({retryable:r,detail:i,message:"Authentication failed"})}}r.useEffect((()=>{_()}),[]),r.useEffect((()=>{if(!(c&&u&&f&&d))return;if(g?.legal.requireUsersAcceptTerms&&!d.hasAcceptedTerms){let e=setTimeout((()=>{q("AffirmativeConsentScreen")}),i.DEFAULT_SUCCESS_SCREEN_DURATION_MS);return()=>clearTimeout(e)}if(s.shouldProceedtoEmbeddedWalletCreationFlow(d,g.embeddedWallets)){let e=setTimeout((()=>{m({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),C({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,provider:"telegram",screen:"TelegramAuthScreen"}}),n()},callAuthOnSuccessOnClose:!0}}),q("EmbeddedWalletOnAccountCreateScreen")}),i.DEFAULT_SUCCESS_SCREEN_DURATION_MS);return()=>clearTimeout(e)}S();let e=setTimeout((()=>A({shouldCallAuthOnSuccess:!0,isSuccess:!0})),i.DEFAULT_SUCCESS_SCREEN_DURATION_MS);return()=>clearTimeout(e)}),[c,u,f,d]);/*#__PURE__*/return e.jsx(l,{success:f,errorMessage:R,onRetry:R?.retryable?async()=>{try{b(void 0),y?.telegramAuthModalData?.seamlessAuth||await E(void 0,y?.login?.disableSignup),await _()}catch(e){let{retryable:r,detail:i}=t.getTelegramAuthErrorMessage(e);b({retryable:r,detail:i,message:"Authentication failed"})}}:void 0})},isCaptchaRequired:!0,isShownBeforeReady:!0};exports.TelegramAuthScreen=c,exports.TelegramAuthScreenView=l,exports.default=c;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/EnvelopeIcon"),i=require("./Layouts-D3TOcPhm.js"),t=require("lucide-react"),a=require("react"),s=require("./context-BAmjgwZ7.js"),u=require("./index-BohqOluI.js"),o=require("./internal-context-BJv4f_bO.js"),n=require("./get-is-unified-wallet-DitrQ4hx.js"),l=require("./useActiveWallet-CYUR_x0A.js"),d=require("./use-export-wallet-C6DaLOxp.js"),c=require("./ModalHeader-CakS8Dcu.js"),q=require("./EmailInputForm-Y-nHsEtF.js"),m=require("./ErrorMessage-BfTVyue9.js"),p=require("./ScreenLayout-DANQ0V5E.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("uuid"),require("jose"),require("eventemitter3"),require("./useWallets-Cy6axcvW.js"),require("viem"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-CHcu9hX8.js"),require("./events-context-Di6--rDg.js"),require("@scure/base"),require("zustand"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("./PrivyPluginContext-DsgaS6n9.js"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("ofetch"),require("js-cookie"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("@privy-io/are-addresses-equal"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./Screen-Dp9-H_S8.js"),require("./index-ByFhjjzH.js");var j=/*#__PURE__*/h(r);const v=/*#__PURE__*/a.forwardRef(((r,i)=>{let[q,p]=a.useState(""),[h,j]=a.useState(""),[v,g]=a.useState(!1),{authenticated:w,user:S}=n.usePrivyContext(),{initUpdateEmail:f}=o.usePrivyInternal(),{navigate:E,setModalData:b,currentScreen:k}=n.usePrivyModal(),{enabled:C,token:A}=u.useCaptcha(),P=s.useAppConfig(),M=d.validateEmail(q)&&(P.disablePlusEmails&&q.includes("+")?(h||j("Please enter a valid email address without a '+'."),!1):(h&&j(""),!0)),I=v||!M,U=()=>{!C||A||w?(async e=>{if(!S?.email)throw Error("User is required to have an email address to update it.");g(!0);try{await f({oldAddress:S.email.address,newAddress:q,captchaToken:e}),E("AwaitingPasswordlessCodeScreen")}catch(e){b({errorModalData:{error:e,previousScreen:k||"LandingScreen"}}),E("ErrorScreen")}g(!1)})(A):(b({captchaModalData:{callback:e=>{if(!S?.email)throw Error("User is required to have an email address to update it.");return f({oldAddress:S.email.address,newAddress:q,captchaToken:e})},userIntentRequired:!1,onSuccessNavigateTo:"AwaitingPasswordlessCodeScreen",onErrorNavigateTo:"ErrorScreen"}}),E("CaptchaScreen"))};/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsxs(y,{children:[h&&/*#__PURE__*/e.jsx(m.ErrorMessage,{style:{marginTop:"0.25rem",textAlign:"left"},children:h}),/*#__PURE__*/e.jsxs(x,{$error:!!h,children:[/*#__PURE__*/e.jsx(l.LoginMethodIconWrapper,{children:/*#__PURE__*/e.jsx(t.Mail,{})}),/*#__PURE__*/e.jsx("input",{ref:i,id:"email-input",type:"email",placeholder:"your@email.com",onChange:e=>p(e.target.value),onKeyUp:e=>{"Enter"===e.key&&U()},value:q,autoComplete:"email"}),r.stacked?null:/*#__PURE__*/e.jsx(c.EmbeddedButton,{isSubmitting:v,onClick:U,disabled:I,children:"Submit"})]})]}),r.stacked?/*#__PURE__*/e.jsx(c.PrimaryButton,{loadingText:null,loading:v,disabled:I,onClick:U,style:{width:"100%"},children:"Submit"}):null]})}));let y=q.InputContainerForm,x=q.EmailUpdateForm;const g=({title:r="Update your email",subtitle:t="Add the email address you'd like to use going forward. We'll send you a confirmation code"})=>/*#__PURE__*/e.jsx(p.ScreenLayout,{title:r,subtitle:t,icon:j.default,watermark:!0,children:/*#__PURE__*/e.jsx(i.BottomPusherContainer,{children:/*#__PURE__*/e.jsx(v,{stacked:!0})})}),w={component:()=>/*#__PURE__*/e.jsx(g,{})};exports.UpdateEmailScreen=w,exports.UpdateEmailScreenView=g,exports.default=w;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/PhoneIcon"),t=require("react"),i=require("./ConnectPhoneForm-BYX8kgCj.js"),n=require("./internal-context-BJv4f_bO.js"),o=require("./get-is-unified-wallet-DitrQ4hx.js"),u=require("./ScreenLayout-DANQ0V5E.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("@privy-io/js-sdk-core"),require("./context-BAmjgwZ7.js"),require("tinycolor2"),require("./useActiveWallet-CYUR_x0A.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-C6DaLOxp.js"),require("./useWallets-Cy6axcvW.js"),require("viem"),require("eventemitter3"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("./ModalHeader-CakS8Dcu.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./Chip-C6r7fZiR.js"),require("./LoadingSkeleton-BoyADunQ.js"),require("ofetch"),require("@privy-io/are-addresses-equal"),require("./Screen-Dp9-H_S8.js"),require("./index-ByFhjjzH.js");var s=/*#__PURE__*/a(r);const c=({title:r="Update your phone number",subtitle:n="Add the phone number you'd like to use going forward. We'll send you a confirmation code",onSubmit:o,isSubmitting:a=!1})=>{let[c,l]=t.useState(null);/*#__PURE__*/return e.jsx(u.ScreenLayout,{title:r,subtitle:n,icon:s.default,primaryCta:{label:a?"Submitting":"Update",onClick:async()=>{c?.qualifiedPhoneNumber&&await o(c)},disabled:!c?.isValid||a},watermark:!0,children:/*#__PURE__*/e.jsx(i.ConnectPhoneNumberForm,{onChange:e=>{l(e)},onSubmit:async()=>{},noIncludeSubmitButton:!0,hideRecent:!0})})},l={component:()=>{let{currentScreen:r,data:i,navigate:u,setModalData:a}=o.usePrivyModal(),{user:s}=o.usePrivyContext(),{initUpdatePhone:l}=n.usePrivyInternal(),[d,q]=t.useState(!1);/*#__PURE__*/return e.jsx(c,{onSubmit:async e=>{q(!0);try{if(!s?.phone?.number)throw Error("User is required to have an phone number to update it.");await l(s?.phone?.number,e.qualifiedPhoneNumber),u("AwaitingPasswordlessCodeScreen")}catch(e){a({errorModalData:{error:e,previousScreen:i?.errorModalData?.previousScreen||r||"LinkPhoneScreen"}}),u("ErrorScreen")}finally{q(!1)}},isSubmitting:d})}};exports.UpdatePhoneScreen=l,exports.UpdatePhoneScreenView=c,exports.default=l;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("./get-is-unified-wallet-DitrQ4hx.js"),i=require("./ScreenLayout-DANQ0V5E.js");require("@privy-io/are-addresses-equal"),require("react"),require("./context-BAmjgwZ7.js"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("./internal-context-BJv4f_bO.js"),require("ofetch"),require("./ModalHeader-CakS8Dcu.js"),require("styled-components"),require("./useActiveWallet-CYUR_x0A.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-C6DaLOxp.js"),require("./useWallets-Cy6axcvW.js"),require("viem"),require("eventemitter3"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./Screen-Dp9-H_S8.js"),require("./index-ByFhjjzH.js");const t=({style:r,...i})=>/*#__PURE__*/e.jsx("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"38px",width:"38px",...r},...i,children:/*#__PURE__*/e.jsx("path",{d:"M20 13.6V20M20 26.4H20.016M36 20C36 28.8365 28.8366 36 20 36C11.1635 36 4.00001 28.8365 4.00001 20C4.00001 11.1634 11.1635 3.99999 20 3.99999C28.8366 3.99999 36 11.1634 36 20Z",stroke:"currentColor",strokeWidth:"3.2",strokeLinecap:"round",strokeLinejoin:"round"})}),o=({title:r="Unable to sign in",subtitle:o="This is a test application that has reached its user limit. To allow more users, this app needs to be upgraded to production.",onGoBack:s})=>/*#__PURE__*/e.jsx(i.ScreenLayout,{title:r,subtitle:o,icon:t,iconVariant:"subtle",primaryCta:{label:"Go back",onClick:s},showBack:!0,onBack:s,watermark:!0}),s={component:()=>{let{navigate:i}=r.usePrivyModal();/*#__PURE__*/return e.jsx(o,{onGoBack:()=>{i("LandingScreen")}})}};exports.UserLimitReachedScreen=s,exports.UserLimitReachedScreenView=o,exports.default=s;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("./get-is-unified-wallet-DitrQ4hx.js"),i=require("./ScreenLayout-DANQ0V5E.js");require("@privy-io/are-addresses-equal"),require("./context-BAmjgwZ7.js"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("./internal-context-BJv4f_bO.js"),require("ofetch"),require("./ModalHeader-CakS8Dcu.js"),require("styled-components"),require("./useActiveWallet-CYUR_x0A.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-C6DaLOxp.js"),require("./useWallets-Cy6axcvW.js"),require("viem"),require("eventemitter3"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./Screen-Dp9-H_S8.js"),require("./index-ByFhjjzH.js");const o=({title:t,subtitle:r,buttonText:o,buttonHref:l,isLoading:n=!1,helpText:a,onButtonClick:s})=>/*#__PURE__*/e.jsx(i.ScreenLayout,{title:t,subtitle:r,primaryCta:{label:o,onClick:()=>{l&&window.open(l,"_self"),s?.()},disabled:n},helpText:a,watermark:!0}),l={component:()=>{let{ready:i}=r.usePrivyContext(),{data:l}=r.usePrivyModal(),[n,a]=t.useState(!1);if(!l?.installWalletModalData)throw Error("Wallet data is missing");let{walletConfig:s,connectOnly:u,chainType:c}=l.installWalletModalData,d=s.getMobileRedirect({useUniversalLink:!n,isSolana:"solana"===c,connectOnly:u}),p=s.name.replace(/ wallet/gi,""),q={title:`Redirecting to ${p} Mobile Wallet`,description:`We'll take you to the ${p} Mobile Wallet app to continue your login experience.`,footnote:""};return i&&(q.description=`For the best experience, we'll automatically log you into the ${p} Mobile Wallet in-app browser.`,q.footnote="You can always return here to login via other methods."),n&&(q.title="Still here?",q.description=`You may need to install the ${s.name} mobile app.`,q.footnote=`Once you're done, you can connect with ${s.name} wallet to complete the login.`),/*#__PURE__*/e.jsx(o,{title:q.title,subtitle:q.description,buttonText:n?"Go to App Store":"Continue",buttonHref:d,isLoading:i&&!d,helpText:q.footnote||void 0,onButtonClick:()=>{setTimeout((()=>a(!0)),1e3)}})}};exports.WalletInterstitialScreen=l,exports.WalletInterstitialScreenView=o,exports.default=l;
@@ -1 +0,0 @@
1
- "use strict";var e=require("@privy-io/are-addresses-equal"),t=require("react/jsx-runtime"),i=require("react"),a=require("./context-BAmjgwZ7.js"),r=require("./internal-context-BJv4f_bO.js");function n(e){return"string"==typeof e&&/^custom:[a-zA-Z0-9_-]+$/i.test(e)}function l(e){return e?new Date(1e3*e):null}function s(e,t){return e.slice().sort(((e,t)=>(e.firstVerifiedAt?.getTime()??0)-(t.firstVerifiedAt?.getTime()??0))).find((e=>e.type===t))}const m=e=>e?d(e).find((e=>0===e.walletIndex))??null:null,d=e=>e?o(e,"ethereum"):[],o=(e,t)=>e.linkedAccounts.filter((e=>"wallet"===e.type&&"privy"===e.walletClientType&&!e.imported&&e.chainType===t)),p=e=>e?o(e,"solana"):[],u=e=>e?p(e).find((e=>0===e.walletIndex))??null:null;function c({src:e,...i}){/*#__PURE__*/return t.jsx("img",{src:e,...i,style:{display:"none"}})}const f=/*#__PURE__*/i.createContext({currentScreen:null,lastScreen:null,navigate:r.notImplemented,navigateBack:r.notImplemented,resetNavigation:r.notImplemented,setModalData:r.notImplemented,onUserCloseViaDialogOrKeybindRef:void 0}),_=/*#__PURE__*/i.createContext({ready:!1,authenticated:!1,user:null,walletConnectors:null,connectWallet:r.notImplemented,login:r.notImplemented,connectOrCreateWallet:r.notImplemented,linkEmail:r.notImplemented,linkPhone:r.notImplemented,linkFarcaster:r.notImplemented,linkWallet:r.notImplemented,startCrossAppAuthFlow:r.notImplemented,linkGoogle:r.notImplemented,linkTwitter:r.notImplemented,linkTwitch:r.notImplemented,linkDiscord:r.notImplemented,linkGithub:r.notImplemented,linkSpotify:r.notImplemented,linkInstagram:r.notImplemented,linkTelegram:r.notImplemented,linkTiktok:r.notImplemented,linkLine:r.notImplemented,linkLinkedIn:r.notImplemented,linkApple:r.notImplemented,linkPasskey:r.notImplemented,updateEmail:r.notImplemented,updatePhone:r.notImplemented,logout:r.notImplemented,getAccessToken:r.notImplemented,unlinkEmail:r.notImplemented,unlinkPhone:r.notImplemented,unlinkWallet:r.notImplemented,unlinkGoogle:r.notImplemented,unlinkTwitter:r.notImplemented,unlinkTwitch:r.notImplemented,unlinkDiscord:r.notImplemented,unlinkGithub:r.notImplemented,unlinkSpotify:r.notImplemented,unlinkInstagram:r.notImplemented,unlinkTiktok:r.notImplemented,unlinkLine:r.notImplemented,unlinkLinkedIn:r.notImplemented,unlinkApple:r.notImplemented,unlinkCrossAppAccount:r.notImplemented,unlinkFarcaster:r.notImplemented,unlinkTelegram:r.notImplemented,unlinkPasskey:r.notImplemented,signMessage:r.notImplemented,signTypedData:r.notImplemented,enrollInMfa:r.notImplemented,initEnrollmentWithSms:r.notImplemented,initEnrollmentWithTotp:r.notImplemented,initEnrollmentWithPasskey:r.notImplemented,promptMfa:r.notImplemented,init:r.notImplemented,submitEnrollmentWithSms:r.notImplemented,submitEnrollmentWithTotp:r.notImplemented,submitEnrollmentWithPasskey:r.notImplemented,unenroll:r.notImplemented,submit:r.notImplemented,cancel:r.notImplemented,sendTransaction:r.notImplemented,signTransaction:r.notImplemented,setWalletPassword:r.notImplemented,setWalletRecovery:r.notImplemented,requestFarcasterSignerFromWarpcast:r.notImplemented,getFarcasterSignerPublicKey:r.notImplemented,signFarcasterMessage:r.notImplemented,signMessageWithCrossAppWallet:r.notImplemented,signTypedDataWithCrossAppWallet:r.notImplemented,sendTransactionWithCrossAppWallet:r.notImplemented,signTransactionWithCrossAppWallet:r.notImplemented,isModalOpen:!1,mfaMethods:[]});exports.ModalProvider=e=>{let r=a.useAppConfig(),[n,l]=i.useState(e.initialScreen),s=i.useRef(null);i.useEffect((()=>{e.open||(s.current=null)}),[e.open]),i.useEffect((()=>{s.current=null}),[e.initialScreen]);let m={data:e.data,setModalData:e.setModalData,currentScreen:e.initialScreen,lastScreen:n,navigate:(t,i=!0)=>{e.setInitialScreen(t),i&&l(e.initialScreen)},navigateBack:()=>{e.setInitialScreen(n)},resetNavigation:()=>{e.setInitialScreen(null),l(null)},onUserCloseViaDialogOrKeybindRef:s};/*#__PURE__*/return t.jsxs(f.Provider,{value:m,children:[("string"==typeof r.appearance.logo||"img"===r.appearance.logo?.type)&&/*#__PURE__*/t.jsx(c,{src:"string"==typeof r.appearance.logo?r.appearance.logo:r.appearance.logo.props.src}),e.children]})},exports.PrivyContext=_,exports.convertUserResponseToUser=function(e){if(!e)return null;let t=function(e){let t=[];for(let i of e){let e=i.type;switch(i.type){case"wallet":let a={id:i.id,address:i.address,type:i.type,imported:i.imported,delegated:i.delegated,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at),chainType:i.chain_type,walletClientType:i.wallet_client_type,connectorType:i.connector_type,recoveryMethod:i.recovery_method,walletIndex:i.wallet_index,publicKey:i.public_key};t.push(a);break;case"smart_wallet":let r={address:i.address,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at),smartWalletType:i.smart_wallet_type,smartWalletVersion:i.smart_wallet_version};t.push(r);break;case"cross_app":let s={type:i.type,subject:i.subject,embeddedWallets:i.embedded_wallets,smartWallets:i.smart_wallets,providerApp:{id:i.provider_app_id},firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(s);break;case"email":let m={address:i.address,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(m);break;case"phone":let d={number:i.phoneNumber,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(d);break;case"google_oauth":let o={subject:i.subject,email:i.email,name:i.name,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(o);break;case"spotify_oauth":let p={subject:i.subject,email:i.email,name:i.name,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(p);break;case"instagram_oauth":let u={subject:i.subject,username:i.username,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(u);break;case"twitter_oauth":let c={subject:i.subject,username:i.username,name:i.name,type:i.type,profilePictureUrl:i.profile_picture_url,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(c);break;case"discord_oauth":let f={subject:i.subject,username:i.username,email:i.email,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(f);break;case"github_oauth":let _={subject:i.subject,username:i.username,name:i.name,email:i.email,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(_);break;case"tiktok_oauth":let y={subject:i.subject,username:i.username,name:i.name,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(y);break;case"line_oauth":let h={subject:i.subject,name:i.name,email:i.email,profilePictureUrl:i.profile_picture_url,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(h);break;case"twitch_oauth":let b={subject:i.subject,username:i.username,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(b);break;case"linkedin_oauth":let I={subject:i.subject,name:i.name,email:i.email,vanityName:i.vanity_name,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(I);break;case"apple_oauth":let v={subject:i.subject,email:i.email,type:i.type,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(v);break;case"custom_auth":t.push({type:i.type,customUserId:i.custom_user_id,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)});break;case"farcaster":let k={type:i.type,fid:i.fid,ownerAddress:i.owner_address,displayName:i.display_name,username:i.username,bio:i.bio,pfp:i.profile_picture_url,url:i.homepage_url,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at),signerPublicKey:i.signer_public_key};t.push(k);break;case"passkey":let g={type:i.type,enrolledInMfa:i.enrolled_in_mfa,credentialId:i.credential_id,publicKey:i.public_key,authenticatorName:i.authenticator_name,createdWithDevice:i.created_with_device,createdWithOs:i.created_with_os,createdWithBrowser:i.created_with_browser,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(g);break;case"telegram":let A={type:i.type,telegramUserId:i.telegram_user_id,firstName:i.first_name,lastName:i.last_name,username:i.username,photoUrl:i.photo_url,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(A);break;default:if(n(i.type)){let e={type:i.type,subject:i.subject,name:i.name,username:i.username,email:i.email,profilePictureUrl:i.profile_picture_url,firstVerifiedAt:l(i.first_verified_at),latestVerifiedAt:l(i.latest_verified_at)};t.push(e);break}console.warn(`Unrecognized account type: ${e}. Please consider upgrading the Privy SDK.`)}}return t}(e.linked_accounts),i=s(t,"wallet"),a=s(t,"smart_wallet"),r=s(t,"email"),m=s(t,"phone"),d=s(t,"google_oauth"),o=s(t,"twitter_oauth"),p=s(t,"discord_oauth"),u=s(t,"github_oauth"),c=s(t,"spotify_oauth"),f=s(t,"instagram_oauth"),_=s(t,"tiktok_oauth"),y=s(t,"line_oauth"),h=s(t,"twitch_oauth"),b=s(t,"linkedin_oauth"),I=s(t,"apple_oauth"),v=s(t,"farcaster"),k=s(t,"telegram"),g=e.mfa_methods.map((({type:e,verified_at:t})=>({type:e,verifiedAt:l(t)})));return{id:e.id,createdAt:l(e.created_at),linkedAccounts:t,email:r&&{address:r?.address},phone:m&&{number:m?.number},wallet:i&&{id:i.id,address:i.address,chainType:i.chainType,walletClientType:i.walletClientType,connectorType:i.connectorType,recoveryMethod:i.recoveryMethod,imported:i.imported,delegated:i.delegated,walletIndex:i.walletIndex,publicKey:i.publicKey},smartWallet:a&&{address:a.address,smartWalletType:a.smartWalletType,smartWalletVersion:a.smartWalletVersion},google:d&&{subject:d.subject,email:d.email,name:d.name},twitter:o&&{subject:o.subject,username:o.username,name:o.name,profilePictureUrl:o.profilePictureUrl},discord:p&&{subject:p.subject,username:p.username,email:p.email},github:u&&{subject:u.subject,username:u.username,name:u.name,email:u.email},spotify:c&&{subject:c.subject,email:c.email,name:c.name},instagram:f&&{subject:f.subject,username:f.username},tiktok:_&&{subject:_.subject,username:_.username,name:_.name},line:y&&{subject:y.subject,name:y.name,email:y.email,profilePictureUrl:y.profilePictureUrl},twitch:h&&{subject:h.subject,username:h.username},linkedin:b&&{subject:b.subject,name:b.name,email:b.email,vanityName:b.vanityName},apple:I&&{subject:I.subject,email:I.email},farcaster:v&&{fid:v.fid,ownerAddress:v.ownerAddress,displayName:v.displayName,username:v.username,bio:v.bio,pfp:v.pfp,url:v.url,signerPublicKey:v.signerPublicKey},telegram:k&&{telegramUserId:k.telegramUserId,firstName:k.firstName,lastName:k.lastName,username:k.username,photoUrl:k.photoUrl},delegatedWallets:[],mfaMethods:g.map((e=>e.type)),hasAcceptedTerms:e.has_accepted_terms??!1,isGuest:e.is_guest,customMetadata:e.custom_metadata}},exports.getAllPrivyWalletsForChainType=o,exports.getConnectedWalletWithAddress=(t,i)=>t.find((t=>e.areAddressesEqual(t.address,i)))||null,exports.getImportedPrivyEthereumWallets=e=>(e?.linkedAccounts??[]).filter((e=>"wallet"===e.type&&"privy"===e.walletClientType&&e.imported&&"ethereum"===e.chainType)),exports.getImportedPrivySolanaWallets=e=>(e?.linkedAccounts??[]).filter((e=>"wallet"===e.type&&e.imported&&"privy"===e.walletClientType&&"solana"===e.chainType)),exports.getIsUnifiedWallet=e=>!!e.id&&"privy-v2"===e.recoveryMethod,exports.getPrivyEthereumHDWallets=d,exports.getPrivyEthereumWallet=m,exports.getPrivyPrimaryWallet=e=>m(e)??u(e),exports.getPrivySolanaHDWallets=p,exports.getPrivySolanaWallet=u,exports.getPrivyWalletWithAddress=(t,i)=>t?.linkedAccounts.find((t=>"wallet"===t.type&&"privy"===t.walletClientType&&e.areAddressesEqual(t.address,i)))||null,exports.isCustomOAuthProvider=n,exports.usePrivyContext=()=>i.useContext(_),exports.usePrivyModal=()=>i.useContext(f);
@@ -1 +0,0 @@
1
- "use strict";var e=require("ofetch"),t=require("react"),n=require("./context-BAmjgwZ7.js"),a=require("./internal-context-BJv4f_bO.js"),r=require("./get-is-unified-wallet-DitrQ4hx.js"),o=require("./analytics-C6C_4JmG.js");const u="moonpay";exports.amountToMoonpayAmount=function(e){return parseFloat(e)},exports.usePollMoonpayTransactionStatus=function(i,s=!1){let[c,d]=t.useState(null),{createAnalyticsEvent:l}=a.usePrivyInternal(),{data:y,navigate:A,setModalData:m}=r.usePrivyModal(),f=y?.funding,g=t.useRef(0);return t.useEffect((()=>{let t=setInterval((async()=>{if(i)try{let[a]=await async function(t,a){return e.ofetch(`${a?n.MOONPAY_API_URL_SANDBOX:n.MOONPAY_API_URL}/transactions/ext/${t}`,{query:{apiKey:a?n.MOONPAY_PUBLIC_KEY_SANDBOX:n.MOONPAY_PUBLIC_KEY}})}(i,s),r="waitingAuthorization"===a.status&&"credit_debit_card"===a.paymentMethod?"pending":a.status;if(["failed","completed","awaitingAuthorization"].includes(r)&&(l({eventName:o.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{status:r,provider:u,paymentMethod:a.paymentMethod,cardPaymentType:a.cardPaymentType,currency:a.currency?.code,baseCurrencyAmount:a.baseCurrencyAmount,quoteCurrencyAmount:a.quoteCurrencyAmount,feeAmount:a.feeAmount,extraFeeAmount:a.extraFeeAmount,networkFeeAmount:a.networkFeeAmount,isSandbox:s}}),clearInterval(t)),"failed"===r||"serviceFailure"===r)return m({funding:{...f,errorMessage:"Something went wrong adding funds from Moonpay. Please try again or use another method to fund your wallet."},solanaFundingData:y?.solanaFundingData}),void A("FundingMethodSelectionScreen");d(r)}catch(e){404!==e.response?.status&&(g.current+=1),g.current>=3&&(l({eventName:o.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{status:"serviceFailure",provider:u}}),clearInterval(t),m({funding:{...f,errorMessage:"Something went wrong adding funds from Moonpay. Please try again or use another method to fund your wallet."},solanaFundingData:y?.solanaFundingData}),A("FundingMethodSelectionScreen"))}}),3e3);return()=>clearInterval(t)}),[i,g]),c};
@@ -1 +0,0 @@
1
- "use strict";var e=require("react"),t=require("viem"),r=require("./get-is-unified-wallet-DitrQ4hx.js"),n=require("./context-BAmjgwZ7.js"),a=require("./internal-context-BJv4f_bO.js"),i=require("./useWallets-Cy6axcvW.js"),s=require("./PrivyPluginContext-DsgaS6n9.js"),o=require("./getEmbeddedConnectedWallet-pJd-l936.js"),l=require("permissionless"),c=require("permissionless/accounts"),d=require("permissionless/clients/pimlico"),u=require("viem/account-abstraction"),m=require("@privy-io/js-sdk-core");let p={address:u.entryPoint06Address,version:"0.6"},y={address:u.entryPoint07Address,version:"0.7"},g=({owner:e,smartWalletType:t,smartWalletVersion:r,publicClient:n})=>{switch(t){case m.SAFE:return c.toSafeSmartAccount({client:n,entryPoint:y,owners:[e],version:"1.4.1"});case m.KERNEL:return c.toKernelSmartAccount({client:n,version:"0.3.1",entryPoint:y,useMetaFactory:"optional",owners:[e]});case m.BICONOMY:return c.toBiconomySmartAccount({client:n,owners:[e],entryPoint:p});case m.LIGHT_ACCOUNT:return c.toLightSmartAccount({client:n,entryPoint:p,owner:e,version:"1.1.0"});case m.COINBASE_SMART_WALLET:return async function({client:e,owner:t,version:r}){let[n]=await t.request({method:"eth_accounts"});if(!n)throw Error("Unable to request embedded owner for eth_accounts");return await u.toCoinbaseSmartAccount({client:e,owners:[{type:"local",source:"privy",address:n,sign:async({hash:e})=>await t.request({method:"secp256k1_sign",params:[e]})}],version:r})}({client:n,owner:e,version:r??"1"});case m.THIRDWEB:return c.toThirdwebSmartAccount({client:n,entryPoint:y,owner:e});default:throw Error(`Invalid smart account type: ${t}.`)}};const P=({calls:e,chain:t,maxPriorityFeePerGas:r,maxFeePerGas:n,nonce:a})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:t.id,nonce:a,maxFeePerGas:n,maxPriorityFeePerGas:r}))),h=async({chain:e,paymasterContext:r,account:n,signer:s,user:o,smartWalletsConfig:c,rpcConfig:u,privyAppId:m})=>{if(!(c?.enabled&&o&&n&&s))return;let p=c?.configuredNetworks.find((t=>t.chainId===`eip155:${e.id}`));if(!p)throw new a.PrivyClientError(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let y=o.smartWallet?o.smartWallet.smartWalletType:c.smartWalletType,P=o.smartWallet?o.smartWallet.smartWalletVersion:c.smartWalletVersion,h=i.getJsonRpcEndpointFromChain(e,u,m),f=t.createPublicClient({chain:e,transport:t.http(h)}),I=r??p.paymasterContext,F=await(async({owner:e,smartWalletType:r,smartWalletVersion:n,chain:a,publicClient:i,bundlerUrl:s,paymasterUrl:o,paymasterContext:c})=>{let u=await g({owner:e,smartWalletType:r,publicClient:i,smartWalletVersion:n}),m=d.createPimlicoClient({transport:t.http(s),entryPoint:u.entryPoint}),p=o?d.createPimlicoClient({transport:t.http(o),entryPoint:u.entryPoint}):void 0;return l.createSmartAccountClient({account:u,chain:a,paymaster:p,paymasterContext:c,bundlerTransport:t.http(s),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>s.includes(e))))return await m.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>s.includes(e))))return(await m.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>s.includes(e)))){let[e,t]=await Promise.all([i.getBlock({blockTag:"latest"}),m.request({method:"rundler_maxPriorityFeePerGas",params:[]})]);if(!e.baseFeePerGas||!t)throw Error("Failed to get block or maxPriorityFeePerGasEstimate");return{maxFeePerGas:150n*e.baseFeePerGas/100n+BigInt(t.toString()),maxPriorityFeePerGas:BigInt(t.toString())}}{let e=await i.estimateFeesPerGas(),t=s.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*t/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*t/100n}}}}})})({owner:s,smartWalletType:y,smartWalletVersion:P,chain:e,publicClient:f,paymasterContext:I,...p});if(!F)throw new a.PrivyClientError(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return F};exports.callsToTransactionRequests=P,exports.getSmartWalletClient=h,exports.useSmartWalletsUIWrapper=()=>{let{hideWalletUIs:e,openPrivyModal:t,isHeadlessSigning:n}=a.usePrivyInternal(),{setModalData:l}=r.usePrivyModal(),{user:c}=r.usePrivyContext(),d=s.usePlugins(),u=r.getPrivyEthereumWallet(c),m=!!u&&r.getIsUnifiedWallet(u);return{wrapSmartAccountClientWithUIs:r=>({...r,sendTransaction:async(a,s)=>{let p=[];"calls"in a&&void 0!==a.calls?p=[...a.calls]:"to"in a&&(p=[{to:a.to,value:a.value||BigInt(0),data:a.data||"0x"}]);let y=(await r.prepareUserOperation({calls:p,maxFeePerGas:a.maxFeePerGas,maxPriorityFeePerGas:a.maxPriorityFeePerGas,nonce:a.nonce?BigInt(a.nonce):void 0})).callData,g=d(o.DATA_SUFFIX_PLUGIN_ID);if(g&&(y=g.appendDataSuffix({data:y})),n({showWalletUIs:s?.uiOptions?.showWalletUIs}))return e.current=!0,await r.sendTransaction({callData:y,maxFeePerGas:a.maxFeePerGas,maxPriorityFeePerGas:a.maxPriorityFeePerGas,nonce:a.nonce?BigInt(a.nonce):void 0}).finally((()=>e.current=!1));let h=async()=>{if(!r.paymaster)return!1;let{paymasterData:e,paymasterAndData:t}=await r.prepareUserOperation({calls:p,maxFeePerGas:a.maxFeePerGas,maxPriorityFeePerGas:a.maxPriorityFeePerGas,nonce:a.nonce?BigInt(a.nonce):void 0});return Number(t??e??0)>0};return new Promise((async(n,o)=>{e.current=!0;let{entropyId:d,entropyIdVerifier:g}=i.getEntropyDetailsForUser(c);l({connectWallet:{recoveryMethod:u.recoveryMethod,connectingWalletAddress:u.address,isUnifiedWallet:m,entropyId:d,entropyIdVerifier:g,onCompleteNavigateTo:"SendTransactionScreen",onFailure:()=>{}},sendTransaction:{transactionRequests:P({calls:p,chain:r.chain,maxPriorityFeePerGas:a.maxPriorityFeePerGas,maxFeePerGas:a.maxFeePerGas,nonce:a.nonce?BigInt(a.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:r.account.address,entropyId:d,entropyIdVerifier:g,getIsSponsored:h,signOnly:!1,onConfirm:async()=>r.sendTransaction({callData:y,maxFeePerGas:a.maxFeePerGas,maxPriorityFeePerGas:a.maxPriorityFeePerGas,nonce:a.nonce?BigInt(a.nonce):void 0}),onSuccess:e=>n(e.hash),onFailure:o,uiOptions:s?.uiOptions??{}}}),t("EmbeddedWalletConnectingScreen")})).finally((()=>{e.current=!1}))},signMessage:async(a,s)=>n({showWalletUIs:s?.uiOptions?.showWalletUIs})?(e.current=!0,await r.signMessage(a).finally((()=>e.current=!1))):new Promise((async(n,o)=>{let{entropyId:d,entropyIdVerifier:p}=i.getEntropyDetailsForUser(c);e.current=!0,l({connectWallet:{recoveryMethod:u.recoveryMethod,connectingWalletAddress:u.address,isUnifiedWallet:m,entropyId:d,entropyIdVerifier:p,onCompleteNavigateTo:"SignRequestScreen",onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof a.message?a.message:a.message.raw.toString(),confirmAndSign:()=>r.signMessage(a),onSuccess:e=>n(e),onFailure:o,uiOptions:s?.uiOptions??{}}}),t("EmbeddedWalletConnectingScreen")})).finally((()=>{e.current=!1})),signTypedData:async(a,s)=>n({showWalletUIs:s?.uiOptions?.showWalletUIs})?(e.current=!0,await r.signTypedData(a).finally((()=>e.current=!1))):new Promise((async(n,o)=>{e.current=!0;let{entropyId:d,entropyIdVerifier:p}=i.getEntropyDetailsForUser(c);l({connectWallet:{recoveryMethod:u.recoveryMethod,connectingWalletAddress:u.address,isUnifiedWallet:m,entropyId:d,entropyIdVerifier:p,onCompleteNavigateTo:"SignRequestScreen",onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:a,confirmAndSign:()=>r.signTypedData(a),onSuccess:e=>n(e),onFailure:o,uiOptions:s?.uiOptions??{}}}),t("EmbeddedWalletConnectingScreen")})).finally((()=>{e.current=!1}))})}},exports.useSmartWalletsWrapper=({clientConfig:t,smartWalletsConfig:l})=>{let{hideWalletUIs:c,openPrivyModal:d,appId:u,isHeadlessSigning:m}=a.usePrivyInternal(),p=n.useAppConfig(),{setModalData:y}=r.usePrivyModal(),{user:g}=r.usePrivyContext(),{chains:f}=n.useAppConfig(),I=s.usePlugins(),{chainId:F,clients:w,setChainId:W,chainIdState:x}=(()=>{let t=e.useRef(),[r,n]=e.useState();return{clients:e.useRef({}),setChainId:e=>{t.current=e,n(e)},chainId:t,chainIdState:r}})(),v=f.find((e=>e.id===x)),{wallets:C}=i.useWallets(),G=r.getPrivyEthereumWallet(g),S=o.getEmbeddedConnectedWalletWithAddress(C,G?.address),U=!!G&&r.getIsUnifiedWallet(G),T=e.useCallback((async()=>F.current),[F]),A=e.useCallback((async({id:e})=>{if(!w.current[e]){let r=await h({chain:f.find((t=>t.id===e)),account:G,signer:await(S?.getEthereumProvider()),user:g,paymasterContext:t?.paymasterContext,smartWalletsConfig:l,rpcConfig:p.rpcConfig,privyAppId:u});r&&(w.current[e]=r)}W(e)}),[f,t,C,g,l]);return{wrapSmartAccountClient:e=>{w.current[e.chain.id]=e,x||W(e.chain.id);return{...e,sendTransaction:async(e,t)=>{let r=w.current[F.current];if(!r)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${F.current}) not found`);delete e.account;let n=[];"calls"in e&&void 0!==e.calls?n=[...e.calls]:"to"in e&&(n=[{to:e.to,value:e.value||BigInt(0),data:e.data||"0x"}]);let s=(await r.prepareUserOperation({calls:n,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0})).callData,l=I(o.DATA_SUFFIX_PLUGIN_ID);if(l&&(s=l.appendDataSuffix({data:s})),m({showWalletUIs:t?.uiOptions?.showWalletUIs}))return c.current=!0,await r.sendTransaction({callData:s,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}).finally((()=>c.current=!1));let u=async()=>{let{paymasterAndData:t,paymasterData:a,maxFeePerGas:i,maxPriorityFeePerGas:s}=await r.prepareUserOperation({calls:n,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return 0===Number(i)&&0===Number(s)||Number(t??a??0)>0};return new Promise((async(a,o)=>{c.current=!0;let{entropyId:l,entropyIdVerifier:m}=i.getEntropyDetailsForUser(g);y({connectWallet:{recoveryMethod:G.recoveryMethod,connectingWalletAddress:G.address,isUnifiedWallet:U,entropyId:l,entropyIdVerifier:m,onCompleteNavigateTo:"SendTransactionScreen",onFailure:()=>{}},sendTransaction:{transactionRequests:P({calls:n,chain:r.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:r.account.address,entropyId:l,entropyIdVerifier:m,getIsSponsored:u,signOnly:!1,onConfirm:async()=>r.sendTransaction({callData:s,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),onSuccess:e=>a(e.hash),onFailure:o,uiOptions:t?.uiOptions??{}}}),d("EmbeddedWalletConnectingScreen")})).finally((()=>{c.current=!1}))},signMessage:async(e,t)=>{let r=w.current[F.current];if(!r)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${F.current}) not found`);return m({showWalletUIs:t?.uiOptions?.showWalletUIs})?(c.current=!0,await r.signMessage(e).finally((()=>c.current=!1))):new Promise((async(n,a)=>{let{entropyId:s,entropyIdVerifier:o}=i.getEntropyDetailsForUser(g);c.current=!0,y({connectWallet:{recoveryMethod:G.recoveryMethod,connectingWalletAddress:G.address,isUnifiedWallet:U,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:"SignRequestScreen",onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>r.signMessage(e),onSuccess:e=>n(e),onFailure:a,uiOptions:t?.uiOptions??{}}}),d("EmbeddedWalletConnectingScreen")})).finally((()=>{c.current=!1}))},signTypedData:async(e,t)=>{let r=w.current[F.current];if(!r)throw new a.PrivyClientError(`Smart wallet client for chain (eip155:${F.current}) not found`);return delete e.account,m({showWalletUIs:t?.uiOptions?.showWalletUIs})?(c.current=!0,await r.signTypedData(e).finally((()=>c.current=!1))):new Promise((async(n,a)=>{c.current=!0;let{entropyId:s,entropyIdVerifier:o}=i.getEntropyDetailsForUser(g);y({connectWallet:{recoveryMethod:G.recoveryMethod,connectingWalletAddress:G.address,isUnifiedWallet:U,entropyId:s,entropyIdVerifier:o,onCompleteNavigateTo:"SignRequestScreen",onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>r.signTypedData(e),onSuccess:e=>n(e),onFailure:a,uiOptions:t?.uiOptions??{}}}),d("EmbeddedWalletConnectingScreen")})).finally((()=>{c.current=!1}))},getChainId:T,chain:v,switchChain:A}}}};
@@ -1 +0,0 @@
1
- "use strict";var e=require("./internal-context-BJv4f_bO.js"),t=require("./useWallets-Cy6axcvW.js"),n=require("@privy-io/js-sdk-core"),r=require("eventemitter3"),i=require("./context-BAmjgwZ7.js"),a=require("react/jsx-runtime"),o=require("react"),s=require("viem/utils"),l=require("./get-is-unified-wallet-DitrQ4hx.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=/*#__PURE__*/d(r);const u=e=>e.isApexWallet?"Apex Wallet":e.isAvalanche?"Core Wallet":e.isBackpack?"Backpack":e.isBifrost?"Bifrost Wallet":e.isBitKeep?"BitKeep":e.isBitski?"Bitski":e.isBlockWallet?"BlockWallet":e.isBraveWallet?"Brave Wallet":e.isClover?"Clover":e.isCoin98?"Coin98 Wallet":e.isCoinbaseWallet?"Coinbase Wallet":e.isDawn?"Dawn Wallet":e.isDefiant?"Defiant":e.isDesig?"Desig Wallet":e.isEnkrypt?"Enkrypt":e.isExodus?"Exodus":e.isFordefi?"Fordefi":e.isFrame?"Frame":e.isFrontier?"Frontier Wallet":e.isGamestop?"GameStop Wallet":e.isHaqqWallet?"HAQQ Wallet":e.isHyperPay?"HyperPay Wallet":e.isImToken?"ImToken":e.isHaloWallet?"Halo Wallet":e.isKuCoinWallet?"KuCoin Wallet":e.isMathWallet?"MathWallet":e.isNovaWallet?"Nova Wallet":e.isOkxWallet||e.isOKExWallet?"OKX Wallet":e.isOneInchIOSWallet||e.isOneInchAndroidWallet?"1inch Wallet":e.isOneKey?"OneKey Wallet":e.isOpera?"Opera":e.isPhantom||"isPhantom"in e?"Phantom":e.isPortal?"Ripio Portal":e.isRabby?"Rabby Wallet":e.isRainbow?"Rainbow":e.isSafePal?"SafePal Wallet":e.isStatus?"Status":e.isSubWallet?"SubWallet":e.isTalisman?"Talisman":e.isTally||e.isTaho?"Taho":e.isTokenPocket?"TokenPocket":e.isTokenary?"Tokenary":e.isTrust||e.isTrustWallet?"Trust Wallet":e.isTTWallet?"TTWallet":e.isXDEFI?"XDEFI Wallet":e.isZeal?"Zeal":e.isZerion?"Zerion":e.isMetaMask?"MetaMask":void 0,p=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||"MetaMask"!==u(e))return!1;if(e.providers)for(let t of e.providers)if(!p(t))return!1;return!0},h=(e,t=3,n=4,r="ethereum")=>{if(!e)return"";let i="ethereum"===r?2:0;return t+n+i+3>=e.length?e:`${e.slice(0,i+t)}...${e.slice(e.length-n,e.length)}`},f=e=>new Promise((t=>setTimeout(t,e)));let m="[Privy:Connectors]";function C(e){if(!e||0===Object.keys(e).length)return"";let t=Object.entries(e).filter((([,e])=>null!=e)).map((([e,t])=>`${e}=${String(t)}`));return t.length>0?` (${t.join(", ")})`:""}const w=new class{setEnabled(e){this._enabled=e,e&&this.info("Debug logging enabled")}get enabled(){return this._enabled}debug(e,t){this._enabled&&console.debug(`${m} ${e}${C(t)}`)}info(e,t){this._enabled&&console.info(`${m} ${e}${C(t)}`)}warn(e,t){this._enabled&&console.warn(`${m} ${e}${C(t)}`)}error(e,t,n){if(!this._enabled)return;let r=t instanceof Error?t.message:t?String(t):void 0,i=r?{...n,error:r}:n;console.error(`${m} ${e}${C(i)}`)}connectionStart(e,t,n){this.info("Connection attempt started",{wallet:e,method:t,...n})}connectionSuccess(e,t){this.info("Connection successful",{wallet:e,...t})}connectionFailed(e,t,n){this.error("Connection failed",t,{wallet:e,...n})}connectorInit(e,t,n){this.debug("Connector initialized",{connector:e,wallet:t,...n})}connectorCreated(e,t,n){this.debug("Connector created",{connector:e,wallet:t,...n})}providerEvent(e,t,n){this.debug(`Provider event: ${e}`,{wallet:t,...n})}rpcRequest(e,t,n){this.debug(`RPC request: ${e}`,{wallet:t,...n})}rpcResponse(e,t,n){this.debug(`RPC response: ${e}`,{wallet:t,...n})}constructor(){this._enabled=!1}};class g extends e.PrivyConnectorError{constructor(){super("Wallet timeout"),this.type="wallet_error",w.warn("Wallet request timed out")}}const y=t=>{if(t instanceof e.PrivyConnectorError)return w.debug("Connector error (already formatted)",{error:t.message}),t;if(t?.code){let e=new b(t);return w.debug("Provider RPC error",{code:e.code,error:e.message}),e}let n=t instanceof Error?t.message:String(t);return w.debug("Unknown connector error",{error:n}),new e.PrivyConnectorError("Unknown connector error",t)};class A extends e.PrivyError{constructor(e,t,n){super(e),this.type="provider_error",this.code=t,this.data=n}}class b extends A{constructor(e){super(e.message,e.code,e.data);let t=Object.values(n.ProviderErrors).find((t=>t.eipCode===e.code));this.details=t||n.ProviderErrors.UNKNOWN_ERROR,-32002===e.code&&(e.message?.includes("already pending for origin")?e.message?.includes("wallet_requestPermissions")?this.details=n.ProviderErrors.E32002_CONNECTION_ALREADY_PENDING:this.details=n.ProviderErrors.E32002_REQUEST_ALREADY_PENDING:e.message?.includes("Already processing")&&e.message.includes("eth_requestAccounts")&&(this.details=n.ProviderErrors.E32002_WALLET_LOCKED))}}const E={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0},ERROR_USER_LIMIT_REACHED:{message:"Unable to link",detail:"You've reached the maximum number of linked wallets.",retryable:!1},...n.ProviderErrors};class x{get(e){let t=localStorage.getItem(e);return null===t?void 0:JSON.parse(t)}put(e,t){void 0!==t?localStorage.setItem(e,JSON.stringify(t)):this.del(e)}del(e){localStorage.removeItem(e)}getKeys(){return Object.entries(localStorage).map((([e])=>e))}}var v="undefined"!=typeof window&&window.localStorage?new x:new class{get(e){return this._cache[e]}put(e,t){void 0!==t?this._cache[e]=t:this.del(e)}del(e){delete this._cache[e]}getKeys(){return Object.keys(this._cache)}constructor(){this._cache={}}};class W extends c.default{constructor(e){super(),this.walletClientType=e,this.connected=!1,this.initialized=!1}}const T=()=>{let e=v.get(i.CONNECTIONS_HISTORY_KEY);return e&&Array.isArray(e)&&e.map((e=>(e=>e&&"string"==typeof e.address&&"string"==typeof e.connectorType&&"string"==typeof e.walletClientType&&"number"==typeof e.connectedAt)(e))).every(Boolean)?e:[]};let D=["phantom","glow","solflare","backpack","okx_wallet","walletconnect","mobile_wallet_adapter","jupiter"];function S(e){return e.toLowerCase().split(" ").join("_")}function P(e){return"isWalletConnectSolana"in e&&e.isWalletConnectSolana}function I(e){return["ethereum","solana"].includes(e.chainType)}function M(e){let t=e.replace("eip155:","");if(t)return parseInt(t);throw Error("Chain ID not compatible with CAIP-2 format.")}const F=e=>e.filter((e=>"wallets"===e.method||("exchange"===e.method?"coinbase"===e.provider:"card"===e.method||"payment-request"===e.method?"coinbase"===e.provider||"moonpay"===e.provider:(e.method,!1)))),O={[n.mainnet.id]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[n.sepolia.id]:"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",[n.optimism.id]:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",[n.optimismSepolia.id]:"0x5fd84259d66Cd46123540766Be93DFE6D43130D7",[n.polygon.id]:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",[n.polygonAmoy.id]:"0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",[n.base.id]:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",[n.baseSepolia.id]:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",[n.avalanche.id]:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",[n.avalancheFuji.id]:"0x5425890298aed601595a70ab815c96711a31bc65",[n.arbitrum.id]:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",[n.arbitrumSepolia.id]:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d",[n.hyperEVMMainnet.id]:"0xb88339CB7199b77E23DB6E890353E22632Ba630f",[n.monadMainnet.id]:"0x754704Bc059F8C67012fEd69BC8A327a5aafb603"};exports.ConnectorErrors=E,exports.PrivyProviderRpcError=b,exports.ProviderRpcError=A,exports.SolanaWalletConnector=class extends W{get isInstalled(){return!0}get wallet(){return this._wallet}buildConnectedWallet(){return this._wallet.accounts.map((e=>({type:"solana",provider:new n.ConnectedStandardSolanaWallet({wallet:this._wallet,account:e}),address:e.address,connectedAt:Date.now(),walletClientType:this._wallet.name,connectorType:this.connectorType,imported:!1,meta:{name:this._wallet.name,id:this._wallet.name,icon:this._wallet.icon},isConnected:async()=>this._wallet.accounts.length>0,disconnect:async()=>{await this.disconnect()}})))}async syncAccounts(){this.wallets=this.buildConnectedWallet(),this.emit("walletsUpdated")}get walletBranding(){return{id:P(this.wallet)?"walletconnect_solana":this.wallet.name,name:this.wallet.name,icon:this.wallet.icon}}async initialize(){w.debug("Initializing Solana connector",{wallet:this.walletClientType}),this.subscribeListeners(),await this.syncAccounts(),this.shouldAttemptAutoConnect()&&(w.debug("Attempting Solana auto-connect",{wallet:this.walletClientType}),await(this.wallet.features["standard:connect"]?.connect({silent:!0}).catch((()=>{}))),await this.isConnected()&&(w.debug("Solana auto-connect successful",{wallet:this.walletClientType}),await this.syncAccounts())),this.initialized=!0,this.emit("initialized")}async connect(t){if(w.connectionStart(this.walletClientType,"solana_adapter",{showPrompt:t.showPrompt}),t.showPrompt)try{await this.promptConnection()}catch(t){if(0===this._wallet.accounts.length)throw w.warn("Solana wallet connected but has no accounts",{wallet:this.walletClientType}),new e.PrivyNoSolanaAccountsError;throw w.connectionFailed(this.walletClientType,t,{method:"solana_adapter"}),t}if(!await this.isConnected())throw w.warn("Solana wallet not connected after prompt",{wallet:this.walletClientType}),new e.PrivyNoSolanaAccountsError;await this.syncAccounts();let n=await this.getConnectedWallet();return n&&w.connectionSuccess(this.walletClientType),n}async getConnectedWallet(){return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt))[0]||null}async isConnected(){return this._wallet.accounts.length>0}subscribeListeners(){this._unsubscribeListeners=this.wallet.features["standard:events"]?.on("change",this.onChange)}unsubscribeListeners(){this._unsubscribeListeners?.()}shouldAttemptAutoConnect(){return!(!this.autoConnectEnabled||!D.includes(this.walletClientType))&&("phantom"!==this.walletClientType&&"metamask"!==this.walletClientType.toLowerCase()||T().some((({walletClientType:e})=>"phantom"===e||"metamask"===e.toLowerCase())))}constructor(e,t){super(S(P(e)?"walletconnect_solana":e.name)),this.chainType="solana",this.connectorType="solana_adapter",this.disconnect=async()=>{w.debug("Disconnecting Solana wallet",{wallet:this.walletClientType}),await(this.wallet.features["standard:disconnect"]?.disconnect().catch((e=>{w.error("Error disconnecting Solana wallet",e,{wallet:this.walletClientType})}))),await this.syncAccounts()},this.promptConnection=async()=>{w.debug("Prompting Solana connection",{wallet:this.walletClientType});try{await(this.wallet.features["standard:connect"]?.connect())}catch(e){throw w.connectionFailed(this.walletClientType,e,{method:"solana_adapter"}),y(e)}},this.onChange=()=>{this.syncAccounts()},this._wallet=e,this.autoConnectEnabled=t,this.wallets=[]}},exports.WALLET_CONNECT_LOGO_DATA_URI="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAHdElNRQfoDAIVODUC+w+GAAAGsUlEQVRYw6WXbYwWVxXHf+fOLAtCXYS2QJdIaClipGCTknXXNqBQMVHbfmhItH4Aral+IAEaG03UxJgYKQJGTUxtDWjaxDSNtcZqIGDwpRuW1oYiVqpdpZSlpC3qysu+PHPP3w/3mXnmeXZbPzjJZO7cefn/z/mfe865xlscq3dGDIguGiHLaMQVLja4s87FShcLo5jtApdddnHexUmHIy475JmdUkPRAQMu7gzT4ljnxJpdk0QPmMFkyAKN2OfOFpc2uuh1J3MZDrjAvXmVEQUuoosRxw642FcEG7IoDxiFxNiu8NYE+vcUYIFYRKKs113bXWx2Z34CoQZsVHOiCZ7mopdzdsFhv8NexEgRDHMxUSNREbh1bwNZwBsFblmfu/a4a6AEENYO5i3AOoEWeEUCF4MOOxBDMQAOk99OJALA2u80sBCwWGBZWG/yRwMaCAbBIAsQTJT3gea1OWfNeaPzvjoHEI85rA8ObtB1v7cIdJkIHgkh9AXpocy0LJjIKvB2wPpZB0v3wkrw5jdNEjeYeMhFX3BAyfn2ke9NUrgB9LrrcZcGJFCld4fWNddXbvbWfWzGR6xJFZsBGh0cBh3bBIxIEGTQ3W0h4NuDaSAzyAxCmGq11Vzf5uaa1aG8p+WFtrEYQGwvjICJkAEqvC+YNmcmMlMNvEaCdrcbyUvQAWDTjVuESHObM6cPGWHmzDwLaEtmzG9Z3qF1zUpXmuuZBb1z4bqeNC6f0WE1NtUTwHzEloiy3BvFisy0sYoLlQtT6XW15md2Qf9SY+2Ngfdca/TMSm/9ewz+/Boc/It45h/i4kSTsKw90SQJsPTvjSZbkWemDW7qTRZ0JEYJWSKxZJ7xmf6M224MzMzbX1s8F1YugjtvMg6eErt/4/z1jUrz1rXUKxnZC2zIg2mdBTK1mFUOKC1fOt/48kdzVixIz86Nij+eEacvpJWyZJ5xy7th8VzjjpuMJfMCW58QL73ekXPVlhsyE+vyzFiplJyauEIyrGIquruMq7qTxk+dcB495rzyTzFepCUWLIFv/kBg081Gd55WUk1IDGFTS89K++TDYxddzKnWcbluHd450xgdh7EGrOo1rr868PMTzqWJRGZ2d8oB/xpL33Xnxl2rjeNn4blXRXduzJ4B5y+28kWscAwXl+yeR654FFZPHoUb710YuPeDOUdPO48di1xptKpeEeHqOcYXNwQKGd88EDk3mqxtxPSfGRlsXRtYt8z4ytPOH/7eqpg1Aso7fYKgK4NPrMpYvsC4/poMA34yVJIQC3sCD9yecdsNyaV5yPj6ryJnR1PAvSNP4J+/1cgDfLbfePaMGGtM7Qdyl12WmKOmXgKKAp54vmBRTxfLrjE+tSYjBPjRM5FrrzIeuD2jf2lLzw8vN4JlfPVp581LsO1DgXv7jSzAiXPw/d+JiYLpjsu26Yfjf5O0rF5WoxsNT9G/bX0XKxakmPjlSee6HlizJJXSX7/oRDc+vjKR+f2wODcKd78/gR8/C9uedF44myJxmhh4OY/ipMQyqaWxmjn95TfEroMFOzbkvG+RceeqViPx1Aln1yEnOow1AnffHCpJAJ5/Vex4UvzptZRdY/O/1dJIS/NkcNmR6MTYah6qzseA4TfFtw4UvHBW1bc/O+7sPhwZHYf/jMODh5yfPudVbXj2TAJ/8XxrOZagNamj4Ei2/GNfuyRxh8t6BG2l15up+MIVODEiFr8rcPS0+O6RBF6mrrEGHHtFzOo2Lo7Dl37hvPQ6mNV6R9JYKgnYWcE37K5HlE2OT/5A0udaPUBHH+BQOMzuNsYLuDyZflTW+fTcmJFDHhJhaZqewMuewXDxcDR9IYyPN6Jj+6K4MF2vV8qBtZJScqVRNi6lpGONVJis5mpKi1WbgwsY+zIsBpcR8mzIZfuTRVZrtdu9odrptR/Xx5XONXJqBmCN0P6YMUQq9WJiwt0Je102WHdbpxSqydMObBWYdwDWLVcqcIMYe3NPjg0Ht84od0Ajju1w2XCr9e6QoqM9V23ZtnmI6cfAMMb9AY0YEHdb6oobEh4y3H3Ize6LsmGvN5IdUnhttdQ9UVrfLk/ljWEZ9wXsqAdQk1EA+O22GcgdZTke/bAs3OPY4HSdcB20HhvVtTMu0jmI8ekAhz2IICj2hKpNqI60NcuIRUHEej1quzubXa2tmZhenrfZmv3YYQ9ipDAIgvHptmblccuDjdRcmjFpWbDi/9ycZjZkRbk5jYztai/AUwiUx+qdEQB/m+25i9lxyvbcjrg45Lmd0uT/3p7/Fw6ODf+WO019AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI0LTEyLTAyVDIxOjU2OjQ4KzAwOjAwMVpslgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0xMi0wMlQyMTo1Njo0OCswMDowMEAH1CoAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjQtMTItMDJUMjE6NTY6NTMrMDA6MDDZv6GRAAAAAElFTkSuQmCC",exports.WalletConnect=({style:e,...t})=>{let n=i.useAppConfig();/*#__PURE__*/return a.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"28px",width:"28px",...e},...t,children:[/*#__PURE__*/a.jsx("rect",{width:"28",height:"28",rx:"3",fill:"dark"===n?.appearance.palette.colorScheme?"#3396ff":"#141414"}),/*#__PURE__*/a.jsx("g",{clipPath:"url(#clip0_1765_9946)",children:/*#__PURE__*/a.jsx("path",{d:"M8.09448 10.3941C11.3558 7.20196 16.6442 7.20196 19.9055 10.3941L20.2982 10.7782C20.3369 10.8157 20.3677 10.8606 20.3887 10.9102C20.4097 10.9599 20.4206 11.0132 20.4206 11.0671C20.4206 11.121 20.4097 11.1744 20.3887 11.224C20.3677 11.2737 20.3369 11.3186 20.2982 11.3561L18.9554 12.6702C18.9158 12.7086 18.8628 12.7301 18.8077 12.7301C18.7526 12.7301 18.6996 12.7086 18.66 12.6702L18.1198 12.1415C15.8448 9.91503 12.1557 9.91503 9.88015 12.1415L9.30167 12.7075C9.26207 12.7459 9.20909 12.7673 9.15395 12.7673C9.0988 12.7673 9.04582 12.7459 9.00622 12.7075L7.66346 11.3934C7.62475 11.3559 7.59397 11.3109 7.57295 11.2613C7.55193 11.2117 7.5411 11.1583 7.5411 11.1044C7.5411 11.0505 7.55193 10.9971 7.57295 10.9475C7.59397 10.8979 7.62475 10.8529 7.66346 10.8154L8.09448 10.3941ZM22.6829 13.1115L23.8776 14.2814C23.9163 14.319 23.9471 14.3639 23.9681 14.4135C23.9892 14.4632 24 14.5165 24 14.5704C24 14.6243 23.9892 14.6777 23.9681 14.7273C23.9471 14.777 23.9163 14.8219 23.8776 14.8594L18.4893 20.1332C18.4102 20.2101 18.3042 20.2531 18.1938 20.2531C18.0835 20.2531 17.9775 20.2101 17.8984 20.1332L14.0743 16.3901C14.0545 16.3708 14.0279 16.36 14.0003 16.36C13.9726 16.36 13.9461 16.3708 13.9263 16.3901L10.1021 20.1332C10.023 20.2101 9.91703 20.2531 9.8067 20.2531C9.69636 20.2531 9.59038 20.2101 9.51124 20.1332L4.12236 14.8594C4.08365 14.8219 4.05287 14.777 4.03185 14.7273C4.01083 14.6777 4 14.6243 4 14.5704C4 14.5165 4.01083 14.4632 4.03185 14.4135C4.05287 14.3639 4.08365 14.319 4.12236 14.2814L5.31767 13.1115C5.39678 13.0348 5.50265 12.9919 5.61285 12.9919C5.72305 12.9919 5.82892 13.0348 5.90803 13.1115L9.73216 16.8546C9.75194 16.874 9.7785 16.8848 9.80616 16.8848C9.83381 16.8848 9.86037 16.874 9.88015 16.8546L13.7043 13.1115C13.7834 13.0346 13.8894 12.9916 13.9997 12.9916C14.1101 12.9916 14.216 13.0346 14.2952 13.1115L18.1198 16.8546C18.1396 16.874 18.1662 16.8848 18.1938 16.8848C18.2215 16.8848 18.2481 16.874 18.2678 16.8546L22.092 13.1115C22.1711 13.0346 22.2771 12.9916 22.3874 12.9916C22.4977 12.9916 22.6037 13.0346 22.6829 13.1115Z",fill:"white"})}),/*#__PURE__*/a.jsx("defs",{children:/*#__PURE__*/a.jsx("clipPath",{id:"clip0_1765_9946",children:/*#__PURE__*/a.jsx("rect",{width:"20",height:"12.2531",fill:"white",transform:"translate(4 8)"})})})]})},exports.WalletConnector=W,exports.WalletTimeoutError=g,exports.clamp=function(e,{min:t,max:n}){return Math.min(Math.max(e,t),n)},exports.connectorLogger=w,exports.convert1dTo2dArray=(e,t)=>{let n=e.slice(0),r=[];for(;n.length;)r.push(n.splice(0,t));return r},exports.detectInjectedConnectors=async function({store:e,walletList:t,externalWalletConfig:n,walletChainType:r,timeout:i=3e3}){let a=!1,o=window;return new Promise((s=>{function l(){if(a)return;a=!0,window.removeEventListener("ethereum#initialized",l);let i=e.getProviders();console.debug("Detected injected providers:",i.map((e=>e.info)));let o=[];for(let e of i)t.includes("coinbase_wallet")&&"com.coinbase.wallet"===e.info.rdns||"solana-only"===r&&"app.phantom"===e.info.rdns||o.push({type:e.info.name.toLowerCase().replace(/\s/g,"_"),eip6963InjectedProvider:e});if("solana-only"!==r)for(let e of function(){let e=window,t=e.ethereum;if(!t)return[];let n=[];if(t.providers?.length)for(let e of t.providers)e&&n.push(e);return n.push(e.ethereum),n}()){let t=u(e);if(!i.some((e=>e.info.name===t))){if(p(e,!0)&&!o.find((e=>"metamask"===e.type))){o.push({type:"metamask",legacyInjectedProvider:e});continue}if("Phantom"===t&&!o.find((e=>"phantom"===e.type))){o.push({type:"phantom",legacyInjectedProvider:e});continue}if("Coinbase Wallet"===t&&!o.find((e=>"coinbase_wallet"===e.type&&"smartWalletOnly"!==n.coinbaseWallet?.config?.preference?.options))){o.push({type:"coinbase_wallet",legacyInjectedProvider:e});continue}o.find((e=>"unknown_browser_extension"===e.type))||o.push({type:"unknown_browser_extension",legacyInjectedProvider:e})}}s(o)}o.ethereum?l():(window.addEventListener("ethereum#initialized",l,{once:!0}),setTimeout((()=>{l()}),i))}))},exports.e=function(){try{let e="privy:__session_storage__test",t=new x;return t.put(e,"blobby"),t.del(e),!0}catch(e){return!1}},exports.extractChainIdFromCAIP2=M,exports.filterSupportedOptions=F,exports.formatChainIdToCAIP2=function(e){return`eip155:${String(Number(e))}`},exports.formatConnectorError=y,exports.formatSolanaWalletAddress=(e,t=3,n=4)=>h(e,t,n,"solana"),exports.formatWalletAddress=h,exports.generateTypedDataWithDomainType=e=>{let t={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},n=e.types.EIP712Domain??Object.entries(e.domain).map((([e,n])=>{if(null!=n&&"string"==typeof e&&e in t)return{name:e,type:t[e]}})).filter((e=>void 0!==e));return{...e,types:{...e.types,EIP712Domain:n}}},exports.getBlockExplorer=(t,n)=>{let r=Number(t),i=n.find((e=>e.id===r));if(!i)throw new e.PrivyConnectorError(`Unsupported chainId ${t}`,4901);return i.blockExplorers?.default.url},exports.getJsonRpcEndpoint=(n,r,i,a)=>{let o=Number(n),s=r.find((e=>e.id===o));if(!s)throw new e.PrivyConnectorError(`Unsupported chainId ${n}`,4901);return t.getJsonRpcEndpointFromChain(s,i,a)},exports.invokeUntilSettled=(e,t={})=>{let n=t.delayMs||150,r=t.maxAttempts||270;return new Promise((async(i,a)=>{let o=!1,s=0;for(;!o&&s<r;){if(t.abortSignal?.aborted)return;e().then((e=>{o=!0,i(e)}),((...e)=>{o=!0,a(...e)})),s+=1,await f(n)}o||a(Error("Exceeded max attempts before resolving function"))}))},exports.isCoinbaseWalletInstalled=()=>{let e=window;if(!e.ethereum)return!1;if(e.ethereum.isCoinbaseWallet)return!0;if(e.ethereum.providers)for(let t of e.ethereum.providers)if(t&&t.isCoinbaseWallet)return!0;return!1},exports.isFirstClassChainWallet=I,exports.loadConnectionHistory=T,exports.parseAdditionalSigners=e=>e?.map((e=>({signer_id:e.signerId,override_policy_ids:e.policyIds}))),exports.pollForResult=function(e,{interval:t=100,timeout:n=5e3}={}){return new Promise(((r,i)=>{let a,o=0,s=()=>{o>=n?i("Max attempts reached without result"):(a=e(),o+=t,null==a?setTimeout(s,t):r(a))};s()}))},exports.prepareFundingModalData=({address:t,appConfig:n,fundWalletConfig:r,methodScreen:i,chainIdOverride:a,comingFromSendTransactionScreen:o=!1,onComplete:s,onError:l})=>{let d,c;if(!n.fundingConfig)throw Error("Wallet funding is not enabled");let u=F(n.fundingConfig.options);if(u.length<1)throw Error("Wallet funding is not enabled");d=a||(r?.chain?r.chain.id:M(n.fundingConfig.defaultRecommendedCurrency.chain));let p=n.chains.find((e=>e.id===d));if(!p)throw new e.PrivyClientError(`Funding chain ${d} is not in PrivyProvider chains list`);let h=r?.amount??n.fundingConfig.defaultRecommendedAmount,f=!1;function m(){if(!d)return;let e=O[d];u.find((e=>"wallets"===e.method))&&!e&&console.warn("Attempting to fund with USDC on chain where USDC address is not known. Funding via external wallet will be disabled."),c=e,f=!0}r&&"asset"in r?"USDC"===r.asset?m():"string"!=typeof r.asset&&"erc20"in r.asset&&(f=((e,t)=>e===O[t.id])(c=r.asset.erc20,p)):"USDC"===n.fundingConfig.defaultRecommendedCurrency.asset&&m();let C=r?.defaultFundingMethod;return{chainType:"ethereum",address:t,amount:h,chain:p,erc20Address:c,erc20ContractInfo:f?{symbol:"USDC",decimals:6}:void 0,isUSDC:f,methodScreen:i,supportedOptions:u,comingFromSendTransactionScreen:o,defaultFundingMethod:C,usingDefaultFundingMethod:!!C,preferredCardProvider:r?.card?.preferredProvider,crossChainBridgingEnabled:n.fundingConfig.crossChainBridgingEnabled??!1,solanaChain:"solana:mainnet",uiConfig:r&&"uiConfig"in r?r.uiConfig:void 0,externalSolanaFundingScreen:null,onComplete:s??(()=>{}),onError:l??(()=>{})}},exports.prepareSolanaFundingModalData=function({address:e,fundWalletConfig:t,appConfig:n,comingFromSendTransactionScreen:r,externalSolanaFundingScreen:i,methodScreen:a}){if(!n.fundingConfig)throw Error("Wallet funding is not enabled");let o=F(n.fundingConfig.options);if(o.length<1)throw Error("Wallet funding is not enabled");if("USDC"===t?.asset&&"solana:testnet"===t?.chain)throw Error("USDC funding is not supported on the Solana testnet");let s=t?.amount??n.fundingConfig.defaultRecommendedAmount,l=t?.defaultFundingMethod;return{chainType:"solana",address:e,supportedOptions:o,amount:s,isUSDC:"USDC"===t?.asset,methodScreen:a,comingFromSendTransactionScreen:r,chain:t?.chain||"solana:mainnet",crossChainBridgingEnabled:n.fundingConfig.crossChainBridgingEnabled??!1,defaultFundingMethod:l,preferredCardProvider:t?.card?.preferredProvider,usingDefaultFundingMethod:!!l,uiConfig:t?.uiConfig,externalSolanaFundingScreen:i,onComplete:()=>{},onError:()=>{}}},exports.s=v,exports.sleep=f,exports.splitAtIndex=(e,t)=>{let n=[],r=[];for(let[i,a]of e.entries())i<t?n.push(a):r.push(a);return[n,r]},exports.stripEmoji=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,""),exports.toHex=e=>"string"==typeof e?e:"0x"+e.toString(16),exports.toSolanaWalletClientType=S,exports.useExportWallet=function(){let{user:n,getAccessToken:r}=l.usePrivyContext(),{walletProxy:a,openModal:d,client:c}=e.usePrivyInternal(),{setModalData:u}=l.usePrivyModal(),p=i.useAppConfig();return o.useMemo((()=>({exportWallet:i=>new Promise((async(o,h)=>{if(!n)return void h(Error("User must be authenticated before exporting their Privy wallet"));i&&"target"in i&&i&&(i=void 0);let f=i?.address?l.getPrivyWalletWithAddress(n,i.address):l.getPrivyEthereumWallet(n);if(!f)return void h(new e.PrivyClientError("User must have an embedded wallet."));let m=f.address,{entropyId:C,entropyIdVerifier:w}=t.getEntropyDetailsForUser(n,f),g=l.getIsUnifiedWallet(f);if(!m)return void h(Error("User does not have an HD Ethereum wallet. To export an imported wallet, pass the `address` of the wallet to `exportWallet`."));if(!s.isAddress(m))return void h(Error("Must provide a valid Ethereum address."));let y={recoveryMethod:f.recoveryMethod,connectingWalletAddress:f.address,isUnifiedWallet:g,entropyId:C,entropyIdVerifier:w,onCompleteNavigateTo:"EmbeddedWalletKeyExportScreen",onFailure:h,shouldForceMFA:!0};await r()&&a?I(f)?(u({keyExport:{appId:p.id,appClientId:p.appClientId,origin:c.apiUrl,address:f.address,entropyId:C,entropyIdVerifier:w,hdWalletIndex:f.walletIndex,chainType:f.chainType,walletId:f.id,isUnifiedWallet:g,imported:f.imported,onSuccess:o,onFailure:h,showBackButton:i?.showBackButton},connectWallet:y}),d("EmbeddedWalletConnectingScreen")):h(Error(`Export is not supported for ${f.chainType} wallets`)):h(Error("Must have valid access token."))}))})),[n,r,a,d,c,u,p])},exports.validateEmail=e=>!!String(e).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
@@ -1 +0,0 @@
1
- "use strict";var e=require("./context-BAmjgwZ7.js"),t=require("./events-context-Di6--rDg.js"),n=require("./internal-context-BJv4f_bO.js"),r=require("./get-is-unified-wallet-DitrQ4hx.js"),a=require("./use-export-wallet-C6DaLOxp.js"),i=require("react"),o=require("./useWallets-Cy6axcvW.js");exports.useExportWallet=function(){let{user:t,getAccessToken:l}=r.usePrivyContext(),{walletProxy:s,openModal:d,client:u}=n.usePrivyInternal(),{setModalData:c}=r.usePrivyModal(),p=e.useAppConfig();return i.useMemo((()=>({exportWallet:e=>new Promise((async(i,y)=>{if(!t)return void y(new n.PrivyClientError("User must be authenticated before exporting their Privy wallet"));let f=e?.address?r.getPrivyWalletWithAddress(t,e.address):r.getPrivySolanaWallet(t);if(!f)return void y(new n.PrivyClientError("User must have an embedded wallet."));if(!a.isFirstClassChainWallet(f))return void y(Error(`Export is not supported for ${f.chainType} wallets`));let v=r.getIsUnifiedWallet(f),{entropyId:g,entropyIdVerifier:W}=o.getEntropyDetailsForUser(t,f);await l()?s?(c({connectWallet:{recoveryMethod:f.recoveryMethod,connectingWalletAddress:f.address,isUnifiedWallet:v,entropyId:g,entropyIdVerifier:W,onCompleteNavigateTo:"EmbeddedWalletKeyExportScreen",onFailure:y,shouldForceMFA:!0},keyExport:{appId:p.id,appClientId:p.appClientId,origin:u.apiUrl,address:f.address,entropyId:g,entropyIdVerifier:W,hdWalletIndex:f.walletIndex,chainType:f.chainType,walletId:f.id,isUnifiedWallet:v,imported:f.imported,onSuccess:i,onFailure:y,showBackButton:e?.showBackButton}}),d("EmbeddedWalletConnectingScreen")):y(new n.PrivyClientError("Wallet not ready for export")):y(new n.PrivyClientError("Must have valid access token."))}))})),[t,l,s,d,u,c,p])},exports.useFundWallet=function(i){t.usePrivyEventSubscription("fundSolanaWallet",i);let o=e.useAppConfig(),{openModal:l}=n.usePrivyInternal(),{setModalData:s}=r.usePrivyModal();return{fundWallet:async({address:e,options:t})=>{let n=t?.amount||o.fundingConfig?.defaultRecommendedAmount||"1",r=t?.asset||o.fundingConfig?.defaultRecommendedCurrency.asset||"native-currency",i=t?.chain||"solana:mainnet";s({funding:a.prepareSolanaFundingModalData({address:e,appConfig:o,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...t,amount:n,asset:r,chain:i},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),solanaFundingData:{amount:n,asset:"native-currency"===r?"SOL":"USDC",chain:i,destinationAddress:e,sourceWalletData:void 0}}),l("FundingMethodSelectionScreen")}}};
@@ -1 +0,0 @@
1
- "use strict";var e=require("react-device-detect"),r=require("./internal-context-BJv4f_bO.js"),t=require("react"),n=require("./use-export-wallet-C6DaLOxp.js"),a=require("./get-is-unified-wallet-DitrQ4hx.js"),i=require("./events-context-Di6--rDg.js"),o=require("@privy-io/js-sdk-core"),l=require("./useWallets-Cy6axcvW.js"),s=require("./context-BAmjgwZ7.js");function d(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}let c="WALLETCONNECT_DEEPLINK_CHOICE";function p(e){return e.startsWith("http://")||e.startsWith("https://")}function u(e,r){if(p(e))return y(e,r);let t=e;return t.includes("://")||(t=e.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function y(e,r){if(!p(e))return u(e,r);let t=e;return t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}const E=Symbol("solana-funding-plugin"),v=Symbol("solana-ledger-plugin"),w=(e,{chainType:r,walletIndex:t}={})=>e?.linkedAccounts.filter((e=>!("wallet"!==e.type||"privy"!==e.walletClientType||void 0!==t&&e.walletIndex!==t||void 0!==r&&e.chainType!==r)))??[],h=async({user:e,accessToken:r,proxy:t,refreshSessionAndUser:i,privy:s,appConfig:d,recoverEmbeddedWallet:c,setUser:p,walletIndex:u,chainType:y,recoveryMethod:E,recoveryPassword:v,recoveryAccessToken:h,idempotencyKey:m,additionalSigners:f})=>{if(0===u)if("user-controlled-server-wallets-only"===d.embeddedWallets.mode)await o.create(s,{request:{chain_type:y,additional_signers:f?n.parseAdditionalSigners(f):void 0},headers:m?{"privy-idempotency-key":m}:void 0});else if("ethereum"===y){let n=a.getPrivySolanaWallet(e);n&&await c({address:n.address}),await t.create({accessToken:r,solanaAddress:n?.address,recoveryMethod:E,recoveryPassword:v,recoveryAccessToken:h})}else{if("solana"!==y)throw Error("Invalid input to create wallet");{let n=a.getPrivyEthereumWallet(e);n&&await c({address:n.address}),await t.createSolana({accessToken:r,ethereumAddress:n?.address,recoveryMethod:E,recoveryPassword:v,recoveryAccessToken:h})}}else if("user-controlled-server-wallets-only"===d.embeddedWallets.mode)await o.create(s,{request:{chain_type:y,additional_signers:f?n.parseAdditionalSigners(f):void 0}});else{let{entropyId:n,entropyIdVerifier:a}=l.getEntropyDetailsForUser(e);await c(),await t.addWallet({accessToken:r,entropyId:n,entropyIdVerifier:a,chainType:y,hdWalletIndex:u})}let W=await i(),T=w(W,{chainType:y,walletIndex:u})[0];return p(W),{user:W,account:T}},m=e=>e.reduce(((e,r)=>!e||e.walletIndex<r.walletIndex?r:e),null),f=async({appConfig:e,getAccessToken:t,initializeWalletProxy:n,user:a,privy:i,emitPrivyEvent:o,recoverEmbeddedWallet:l,setModalData:s,openModal:d,setUser:c,options:p,timeoutDuration:u,refreshSessionAndUser:y,chainType:E,idempotencyKey:v,additionalSigners:h})=>{let[f,T]=await Promise.all([n(u),t()]);if(!T||!a)throw o("createWallet","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!f&&e.customAuth?.enabled)throw o("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(h&&"user-controlled-server-wallets-only"!==e.embeddedWallets.mode)throw new r.PrivyClientError("Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");if(p&&"walletIndex"in p&&"number"==typeof p.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw o("createWallet","onError",r.PrivyErrorCode.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return W({accessToken:T,appConfig:e,privy:i,emitPrivyEvent:o,openModal:d,proxy:f,refreshSessionAndUser:y,recoverEmbeddedWallet:l,setModalData:s,user:a,walletIndex:p.walletIndex,chainType:E,setUser:c,additionalSigners:h})}let A=p&&"createAdditional"in p&&p.createAdditional,g=w(a,{chainType:E});if(g[0]&&!A)throw o("createWallet","onError",r.PrivyErrorCode.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return W({accessToken:T,appConfig:e,privy:i,emitPrivyEvent:o,openModal:d,proxy:f,recoverEmbeddedWallet:l,setModalData:s,user:a,walletIndex:(m(g)?.walletIndex??-1)+1,chainType:E,refreshSessionAndUser:y,setUser:c,idempotencyKey:v,additionalSigners:h})};let W=async({accessToken:e,appConfig:t,privy:n,emitPrivyEvent:i,proxy:o,refreshSessionAndUser:l,recoverEmbeddedWallet:s,user:d,walletIndex:c,setModalData:p,openModal:u,chainType:y,setUser:E,idempotencyKey:v,additionalSigners:m})=>{if(c<0)throw i("createWallet","onError",r.PrivyErrorCode.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${c}) is invalid.`);let f=a.getPrivyPrimaryWallet(d);if(c>0&&!f)throw i("createWallet","onError",r.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND),Error("Must have an existing embedded wallet to create an additional wallet.");if(t.embeddedWallets.requireUserOwnedRecoveryOnCreate&&"user-controlled-server-wallets-only"===t.embeddedWallets.mode)throw i("createWallet","onError",r.PrivyErrorCode.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!f&&t.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await T({emitPrivyEvent:i,setModalData:p,openModal:u,chainType:y});let W=w(d,{chainType:y,walletIndex:c})[0];if(W)return{user:d,account:W};if(0===c&&!o)return T({emitPrivyEvent:i,setModalData:p,openModal:u,chainType:y});if(!o)throw i("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return h({appConfig:t,walletIndex:c,chainType:y,user:d,accessToken:e,proxy:o,refreshSessionAndUser:l,privy:n,recoverEmbeddedWallet:s,setUser:E,idempotencyKey:v,additionalSigners:m})},T=async({emitPrivyEvent:e,setModalData:t,openModal:n,chainType:a})=>new Promise(((i,o)=>{t({createWallet:{onSuccess:({user:r,account:t})=>{e("createWallet","onSuccess",{wallet:t}),i({user:r,account:t})},onFailure:t=>{e("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),o(t)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===a,shouldCreateSol:"solana"===a}}),n("EmbeddedWalletOnAccountCreateScreen")}));const A=()=>{let e=s.useAppConfig(),t=i.useEmitPrivyEvent(),{setModalData:n}=a.usePrivyModal(),{initializeWalletProxy:o,recoverEmbeddedWallet:l,setUser:d,openModal:c,refreshSessionAndUser:p,privy:u,client:y}=r.usePrivyInternal();return{create:async({chainType:a,options:i,latestUser:E,idempotencyKey:v})=>{let w=E;if(w||(w=await p()),!w)throw t("createWallet","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await f({appConfig:e,privy:u,getAccessToken:()=>y.getAccessToken(),refreshSessionAndUser:p,initializeWalletProxy:o,user:w,emitPrivyEvent:t,recoverEmbeddedWallet:l,setModalData:n,openModal:c,setUser:d,options:i,timeoutDuration:s.WALLET_PROXY_TIMEOUT,chainType:a,idempotencyKey:v,additionalSigners:i?.signers})}}};function g(e){let{create:r}=A();return i.usePrivyEventSubscription("createWallet",e),{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:t}=await r({chainType:"ethereum",options:e});return t}}}const x=async({emitPrivyEvent:e,getAccessToken:t,initializeWalletProxy:n,refreshSessionAndUser:i,user:o,appConfig:l},{privateKey:s,chainType:d,additionalSigners:c})=>{if(!o)throw e("linkAccount","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r.PrivyClientError("User must be authenticated before linking an account.");let p="user-controlled-server-wallets-only"===l.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===p)throw new r.PrivyClientError("Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");let[u,y]=await Promise.all([t(),n(15e3)]);if(!y||!u)throw e("linkAccount","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r.PrivyClientError("User must be authenticated before linking an account.");let{address:E}=await y.importWallet({privateKey:s,accessToken:u,chainType:d,mode:p,additionalSigners:c}),v=await i(),w="solana"===d?a.getImportedPrivySolanaWallets(v):a.getImportedPrivyEthereumWallets(v),h=w?.find((e=>e.address===E));if(!h)throw e("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:h}),h},P=()=>{let{user:e}=a.usePrivyContext(),{client:n,refreshSessionAndUser:o,initializeWalletProxy:l}=r.usePrivyInternal(),d=i.useEmitPrivyEvent(),c=s.useAppConfig();return{importWallet:t.useCallback((({privateKey:r,additionalSigners:t})=>x({getAccessToken:()=>n.getAccessToken(),user:e,initializeWalletProxy:l,refreshSessionAndUser:o,emitPrivyEvent:d,appConfig:c},{privateKey:r,chainType:"ethereum",additionalSigners:t})),[e,n,o,l,d,c])}};exports.SOLANA_FUNDING_PLUGIN_ID=E,exports.SOLANA_LEDGER_PLUGIN_ID=v,exports.buildTargetUrl=function(t,n){let a=d(n);if(e.isMobile&&e.isAndroid&&a.universalLink)return y(a.universalLink,t);if(a.deepLink)return u(a.deepLink,t);if(a.universalLink)return y(a.universalLink,t);throw new r.PrivyClientError(`Unsupported wallet ${n.id}`)},exports.buildUniversalFallbackUrl=function(e,r){let t=d(r);if(t.universalLink)return y(t.universalLink,e)},exports.createWalletAtIndex=h,exports.deleteWalletConnectDeepLink=function(){try{localStorage.removeItem(c)}catch{}},exports.importWallet=x,exports.openHref=function(e,r){window.open(e,r,"noreferrer noopener")},exports.prepareSiwsMessageWithNonce=({address:e,nonce:r})=>`${window.location.host} wants you to sign in with your Solana account:\n${e}\n\n${`You are proving you own ${e}.`}\n\nURI: ${window.location.origin}\nVersion: 1\nChain ID: mainnet\nNonce: ${r}\nIssued At: ${(new Date).toISOString()}\nResources:\n- https://privy.io`,exports.removeWalletConnectDeepLink=function(){try{localStorage.removeItem(c)}catch{}},exports.setWalletConnectDeepLink=function({href:e,name:r}){try{localStorage.setItem(c,JSON.stringify({href:e,name:r}))}catch{}},exports.useCreateWallet=g,exports.useCreateWalletInternal=A,exports.useImportWallet=P,exports.usePrivy=()=>{let{importWallet:e}=P(),{exportWallet:r}=n.useExportWallet(),{createWallet:i}=g();return{...t.useContext(a.PrivyContext),importWallet:e,createWallet:i,exportWallet:r}};
@@ -1 +0,0 @@
1
- "use strict";var e=require("@solana/kit"),t=require("react"),n=require("@privy-io/js-sdk-core"),i=require("./internal-context-BJv4f_bO.js"),s=require("./get-is-unified-wallet-DitrQ4hx.js"),a=require("./usePrivy-CHcu9hX8.js"),r=require("./useWallets-Cy6axcvW.js"),o=require("eventemitter3"),l=require("@scure/base"),d=require("./context-BAmjgwZ7.js"),c=require("./use-sign-with-user-signer-Cu_6Bx7m.js"),u=require("./useSolanaRpcClient-BhX1Bzre.js"),g=require("./use-export-wallet-C6DaLOxp.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=/*#__PURE__*/h(o);const y=["solana:mainnet","solana:devnet","solana:testnet"];function f(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var v=0,A="__private_"+v+++"__implementation";class w extends p.default{setImplementation(e){f(this,A)[A]=e}async signMessage(e){return f(this,A)[A].signMessage(e)}async signAndSendTransaction(e){return f(this,A)[A].signAndSendTransaction(e)}async signTransaction(e){return f(this,A)[A].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,A,{writable:!0,value:void 0}),f(this,A)[A]=e}}function E(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var T=0;function b(e){return"__private_"+T+++"_"+e}var m=/*#__PURE__*/b("_address"),S=/*#__PURE__*/b("_publicKey"),P=/*#__PURE__*/b("_chains"),O=/*#__PURE__*/b("_features"),W=/*#__PURE__*/b("_label"),I=/*#__PURE__*/b("_icon");class C{get address(){return E(this,m)[m]}get publicKey(){return E(this,S)[S].slice()}get chains(){return E(this,P)[P].slice()}get features(){return E(this,O)[O].slice()}get label(){return E(this,W)[W]}get icon(){return E(this,I)[I]}constructor({address:e,publicKey:t,label:n,icon:i}){Object.defineProperty(this,m,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,O,{writable:!0,value:void 0}),Object.defineProperty(this,W,{writable:!0,value:void 0}),Object.defineProperty(this,I,{writable:!0,value:void 0}),E(this,m)[m]=e,E(this,S)[S]=t,E(this,P)[P]=y,E(this,W)[W]=n,E(this,I)[I]=i,E(this,O)[O]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===C&&Object.freeze(this)}}function _(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var M=0;function j(e){return"__private_"+M+++"_"+e}var F=/*#__PURE__*/j("_listeners"),U=/*#__PURE__*/j("_version"),D=/*#__PURE__*/j("_name"),N=/*#__PURE__*/j("_icon"),B=/*#__PURE__*/j("_injection"),x=/*#__PURE__*/j("_isPrivyWallet"),R=/*#__PURE__*/j("_accounts"),L=/*#__PURE__*/j("_on"),V=/*#__PURE__*/j("_emit"),q=/*#__PURE__*/j("_off"),Q=/*#__PURE__*/j("_connected"),G=/*#__PURE__*/j("_connect"),H=/*#__PURE__*/j("_disconnect"),K=/*#__PURE__*/j("_signMessage"),J=/*#__PURE__*/j("_signAndSendTransaction"),Y=/*#__PURE__*/j("_signTransaction");function k(e,...t){_(this,F)[F][e]?.forEach((e=>e.apply(null,t)))}function Z(e,t){_(this,F)[F][e]=_(this,F)[F][e]?.filter((e=>t!==e))}function z(t,n,i){let s=structuredClone(e.getTransactionDecoder().decode(t)),a=e.address(n);return a in s.signatures&&(s.signatures[a]=i),new Uint8Array(e.getTransactionEncoder().encode(s))}function X(){let{isHeadlessSigning:e,walletProxy:t,initializeWalletProxy:o,recoverEmbeddedWallet:l,openModal:d,privy:g,client:h}=i.usePrivyInternal(),{user:p}=a.usePrivy(),{setModalData:y}=s.usePrivyModal(),{signWithUserSigner:f}=c.useSignWithUserSigner();return{signMessage:({message:a,address:c,options:v})=>new Promise((async(A,w)=>{let E=s.getPrivyWalletWithAddress(p,c);if("privy"!==E?.walletClientType)return void w(new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:T,entropyIdVerifier:b}=r.getEntropyDetailsForUser(p,E),m=s.getIsUnifiedWallet(E),S=u.bufferFrom(a).toString("base64");if(S.length<1)return void w(new i.PrivyClientError("Message must be a non-empty string",void 0,i.PrivyErrorCode.INVALID_MESSAGE));let P=async()=>{let e;if(!p)throw Error("User must be authenticated before signing with a Privy wallet");let i=await h.getAccessToken();if(!i)throw Error("User must be authenticated to use their embedded wallet.");let s=t??await o(15e3);if(!s)throw Error("Failed to initialize embedded wallet proxy.");if(!await l({address:E.address}))throw Error("Unable to connect to wallet");if(m){let t=await n.rpc(g,f,{chain_type:"solana",method:"signMessage",params:{message:S,encoding:"base64"},wallet_id:E.id});if(!t.data||!("signature"in t.data))throw Error("Failed to sign message");e=t.data.signature}else{let{response:t}=await s.rpc({accessToken:i,entropyId:T,entropyIdVerifier:b,chainType:"solana",hdWalletIndex:E.walletIndex??0,requesterAppId:v?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:S}}});e=t.data.signature}return e};if(e({showWalletUIs:v?.uiOptions?.showWalletUIs}))try{let e=await P(),t=new Uint8Array(u.bufferFrom(e,"base64"));A({signature:t})}catch(e){w(e)}else y({signMessage:{method:"solana_signMessage",data:S,confirmAndSign:P,onSuccess:e=>{A({signature:new Uint8Array(u.bufferFrom(e,"base64"))})},onFailure:e=>{w(e)},uiOptions:v?.uiOptions??{}},connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,entropyId:T,entropyIdVerifier:b,isUnifiedWallet:m,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{w(new i.PrivyClientError("Failed to connect to wallet",e,i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR))}}}),d("EmbeddedWalletConnectingScreen")}))}}function $(){let{isHeadlessSigning:e,openModal:t}=i.usePrivyInternal(),{setModalData:n}=s.usePrivyModal(),{signMessage:o}=X(),{user:l}=a.usePrivy();return{signTransaction:async({transaction:a,options:d,chain:c="solana:mainnet",address:g})=>{async function h(e){let{signature:t}=await o({message:u.getTransactionMessageBytes(e),address:g,options:{...d,uiOptions:{...d?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:z(e,g,t)}}return e({showWalletUIs:d?.uiOptions?.showWalletUIs})?h(a):new Promise((async(e,o)=>{let u=s.getPrivyWalletWithAddress(l,g);if("privy"!==u?.walletClientType)return void o(new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:p,entropyIdVerifier:y}=r.getEntropyDetailsForUser(l,u),f=s.getIsUnifiedWallet(u);function v(e){return t=>{t instanceof i.PrivyClientError?o(t):o(new i.PrivyClientError("Failed to connect to wallet",t,e))}}let A={account:u,transaction:a,chain:c,signOnly:!0,uiOptions:d?.uiOptions||{},onConfirm:h,onSuccess:e,onFailure:v(i.PrivyErrorCode.TRANSACTION_FAILURE)};n({connectWallet:{recoveryMethod:u.recoveryMethod,connectingWalletAddress:u.address,entropyId:p,entropyIdVerifier:y,isUnifiedWallet:f,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:v(i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:A}),t("EmbeddedWalletConnectingScreen")}))}}}let ee=new w({signTransaction:i.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:i.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:i.notImplementedWithMessage("signMessage was not injected")}),te=new class{get version(){return _(this,U)[U]}get name(){return _(this,D)[D]}get icon(){return _(this,N)[N]}get chains(){return y.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:_(this,G)[G]},"standard:disconnect":{version:"1.0.0",disconnect:_(this,H)[H]},"standard:events":{version:"1.0.0",on:_(this,L)[L]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:_(this,J)[J]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:_(this,Y)[Y]},"solana:signMessage":{version:"1.0.0",signMessage:_(this,K)[K]},"privy:":{privy:{signMessage:_(this,B)[B].signMessage,signTransaction:_(this,B)[B].signTransaction,signAndSendTransaction:_(this,B)[B].signAndSendTransaction}}}}get accounts(){return _(this,R)[R].slice()}get isPrivyWallet(){return _(this,x)[x]}constructor({name:e,icon:t,version:n,injection:i,wallets:s}){Object.defineProperty(this,V,{value:k}),Object.defineProperty(this,q,{value:Z}),Object.defineProperty(this,F,{writable:!0,value:void 0}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,N,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),_(this,F)[F]={},_(this,L)[L]=(e,t)=>(_(this,F)[F][e]?.push(t)||(_(this,F)[F][e]=[t]),()=>_(this,q)[q](e,t)),_(this,Q)[Q]=e=>{null!=e&&(_(this,R)[R]=e.map((({address:e})=>new C({address:e,publicKey:l.base58.decode(e)})))),_(this,V)[V]("change",{accounts:this.accounts})},_(this,G)[G]=async()=>(_(this,V)[V]("change",{accounts:this.accounts}),{accounts:this.accounts}),_(this,H)[H]=async()=>{_(this,V)[V]("change",{accounts:this.accounts})},_(this,K)[K]=async(...e)=>{let t=[];for(let{account:n,...i}of e){let{signature:e}=await _(this,B)[B].signMessage({...i,address:n.address});t.push({signedMessage:i.message,signature:e})}return t},_(this,J)[J]=async(...e)=>{let t=[];for(let n of e){let{signature:e}=await _(this,B)[B].signAndSendTransaction({...n,transaction:n.transaction,address:n.account.address,chain:n.chain||"solana:mainnet",options:n.options});t.push({signature:e})}return t},_(this,Y)[Y]=async(...e)=>{let t=[];for(let{transaction:n,account:i,options:s,chain:a}of e){let{signedTransaction:e}=await _(this,B)[B].signTransaction({transaction:n,address:i.address,chain:a||"solana:mainnet",options:s});t.push({signedTransaction:e})}return t},_(this,D)[D]=e,_(this,N)[N]=t,_(this,U)[U]=n,_(this,B)[B]=i,_(this,R)[R]=[],_(this,x)[x]=!0,i.on("accountChanged",_(this,Q)[Q],this),_(this,Q)[Q](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:ee});function ne(){let{ready:e}=r.useWallets(),{user:o}=a.usePrivy(),{signMessage:h}=X(),{signTransaction:p}=$(),{signAndSendTransaction:y}=function(){let e=d.useAppConfig(),{isHeadlessSigning:t,openModal:o,privy:h}=i.usePrivyInternal(),{setModalData:p}=s.usePrivyModal(),{signTransaction:y}=$(),f=u.useSolanaRpcClient(),{user:v}=a.usePrivy(),{signWithUserSigner:A}=c.useSignWithUserSigner();return{signAndSendTransaction:async({transaction:a,address:d,chain:c="solana:mainnet",options:w})=>{let E=s.getPrivyWalletWithAddress(v,d);if("privy"!==E?.walletClientType)throw new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND);let T=s.getIsUnifiedWallet(E);async function b(e){if(w?.sponsor)return await(async e=>{if(!T)throw new i.PrivyClientError("Sponsoring transactions is only supported for wallets on the TEE stack",i.PrivyErrorCode.INVALID_DATA);let t=await n.rpc(h,A,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:u.bufferFrom(e).toString("base64"),encoding:"base64"},caip2:`solana:${(await f(c).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:E.id});if(t.data&&"hash"in t.data)return{signature:l.base58.decode(t.data.hash)};throw Error("Failed to sign and send transaction")})(e);let{signedTransaction:t}=await y({transaction:e,address:d,chain:c,options:{...w,uiOptions:{...w?.uiOptions,showWalletUIs:!1}}}),{signature:s}=await f(c).sendAndConfirmTransaction(t);return{signature:s}}return t({showWalletUIs:w?.uiOptions?.showWalletUIs})?b(a):new Promise((async(t,n)=>{let s,l,{entropyId:u,entropyIdVerifier:h}=r.getEntropyDetailsForUser(v,E);function y(e){return t=>{t instanceof i.PrivyClientError?n(t):n(new i.PrivyClientError("Failed to connect to wallet",t,e))}}let f={account:E,transaction:a,chain:c,signOnly:!1,uiOptions:w?.uiOptions||{},onConfirm:b,onSuccess:t,onFailure:y(i.PrivyErrorCode.TRANSACTION_FAILURE),isSponsored:!!w?.sponsor},A={recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,entropyId:u,entropyIdVerifier:h,isUnifiedWallet:T,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(s=g.prepareSolanaFundingModalData({address:d,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...w,asset:"native-currency",chain:c},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),l={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:c,destinationAddress:d,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),p({connectWallet:A,standardSignAndSendTransaction:f,funding:s,solanaFundingData:l}),o("EmbeddedWalletConnectingScreen")}))}}}(),f=t.useMemo((()=>{let e=[...s.getPrivySolanaHDWallets(o).sort(((e,t)=>(e.walletIndex??0)-(t.walletIndex??0)))],t=s.getImportedPrivySolanaWallets(o);return t.length?[...e,...t]:e}),[o]),v=t.useMemo((()=>({signMessage:async({message:e,address:t,options:n})=>await h({message:e,address:t,options:n}),signTransaction:async({transaction:e,address:t,chain:n,options:i})=>await p({transaction:e,address:t,chain:n,options:i}),async signAndSendTransaction({transaction:e,address:t,chain:n,options:i}){let{signature:s}=await y({transaction:e,address:t,chain:n,options:i});return{signature:s}}})),[h,p,y]);return t.useEffect((()=>{ee?.setImplementation(v)}),[v]),t.useEffect((()=>{var t;!e||(t=te.accounts).length===f.length&&t.every(((e,t)=>e.address===f[t]?.address))||ee?.emit("accountChanged",f)}),[e,f]),{ready:e,wallet:te}}function ie(){let{client:e}=i.usePrivyInternal(),{ready:n,wallet:s}=ne(),[a,r]=t.useState([]),[o,l]=t.useState([]);return t.useEffect((()=>{let e=[s,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];l(e);let t=a.flatMap((t=>{let n=()=>l([...e]);return t.on("walletsUpdated",n),{connector:t,off:n}})),n=e.map((t=>t.features["standard:events"]?.on("change",(()=>{l([...e])}))));return()=>{n.forEach((e=>e?.())),t.forEach((({connector:e,off:t})=>e.off("walletsUpdated",t)))}}),[a]),t.useEffect((()=>{r(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let t=()=>{r(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",t),()=>{e.connectors?.off("connectorInitialized",t)}}),[n,e.connectors]),{ready:n,wallets:o}}exports.SOLANA_CHAINS=y,exports.getAddressFromBuffer=function(t){return e.getBase58Decoder().decode(t)},exports.useSolanaStandardWallets=ie,exports.useWallets=function(){let{ready:e,wallets:i}=ie();return{ready:e,wallets:t.useMemo((()=>i.flatMap((e=>e.accounts.map((t=>new n.ConnectedStandardSolanaWallet({wallet:e,account:t})))))),[i])}};
@@ -1 +0,0 @@
1
- "use strict";var r=require("./get-is-unified-wallet-DitrQ4hx.js"),e=require("viem"),t=require("./internal-context-BJv4f_bO.js"),i=require("react");const l=r=>{if("ethereum"===r.chainType)return{entropyId:r.address,entropyIdVerifier:"ethereum-address-verifier"};if("solana"===r.chainType)return{entropyId:r.address,entropyIdVerifier:"solana-address-verifier"};throw Error("Failed to get account entropy details")},n=(r,e,i)=>{let l,n=r.id,o=Number(r.id);if(r.rpcUrls.privyWalletOverride&&r.rpcUrls.privyWalletOverride.http[0])l=r.rpcUrls.privyWalletOverride.http[0];else if(e.rpcUrls&&e.rpcUrls[o])l=e.rpcUrls[o];else if(r.rpcUrls.privy?.http[0]){let e=new URL(r.rpcUrls.privy.http[0]);e.searchParams.append("privyAppId",i),l=e.toString()}else l=r.rpcUrls.public?.http[0]?r.rpcUrls.public.http[0]:r.rpcUrls.default?.http[0];if(!l)throw new t.PrivyConnectorError(`No RPC url found for ${n}`);return l},o=/*#__PURE__*/i.createContext(null);exports.UseWalletsContext=o,exports.getEntropyDetailsForUser=(e,t)=>{if(t?.imported)return l(t);let i=r.getPrivyPrimaryWallet(e);if(!i)throw Error("Failed to find primary wallet");return l(i)},exports.getJsonRpcEndpointFromChain=n,exports.getPublicClient=(r,i,l,o)=>{let p=Number(r),s=i.find((r=>r.id===p));if(!s)throw new t.PrivyConnectorError(`Unsupported chainId ${r}`,4901);return e.createPublicClient({transport:e.http(n(s,l,o.appId)),chain:s})},exports.toEntropyDetailsFromAccount=l,exports.useWallets=function(){let r=i.useContext(o);return null===r?(console.warn("`useWallets` was called outside the PrivyProvider component"),{wallets:[],ready:!1}):r};
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import{HelpCircle as e}from"lucide-react";import{u as o}from"./context-Cw2-86-G.mjs";import{u as i}from"./internal-context-Z-fyxadS.mjs";import{a as r}from"./get-is-unified-wallet-CQc-E5dS.mjs";import{S as a}from"./ScreenLayout-BdRrZJd_.mjs";import"react";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"@privy-io/are-addresses-equal";import"./ModalHeader-DfHxv9fE.mjs";import"styled-components";import"./useActiveWallet-CwS7ik68.mjs";import"zustand";import"react-device-detect";import"./use-export-wallet-Bd5Sg5V-.mjs";import"./useWallets-2_uCkhA8.mjs";import"viem";import"eventemitter3";import"viem/utils";import"./events-context-CI0iqAXA.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-CDEd4p2a.mjs";import"./index-Dq_xe9dz.mjs";const n=({title:o="Account not found",subtitle:i,appName:r="this app",ctaText:n="Try logging in again",onRetry:m})=>/*#__PURE__*/t(a,{title:o,subtitle:i||`Please try logging in again or go to ${r} to create an account.`,icon:e,iconVariant:"warning",primaryCta:{label:n,onClick:m},watermark:!0}),m={component:()=>{let{navigate:e,setModalData:a,data:m}=r(),s=o(),{getAuthMeta:c,client:p}=i();/*#__PURE__*/return t(n,{appName:s?.name,onRetry:()=>{let t=c();a({...m,login:{...m?.login,...t?.disableSignup?{disableSignup:!0}:{}}}),p?.authFlow&&(p.authFlow=void 0),e("LandingScreen")}})}};export{m as AccountNotFoundScreen,n as AccountNotFoundScreenView,m as default};
@@ -1,6 +0,0 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{FileCheck as r,ExternalLink as i}from"lucide-react";import"react";import{styled as o}from"styled-components";import{a as s}from"./ModalHeader-DfHxv9fE.mjs";import{u as a}from"./context-Cw2-86-G.mjs";import{u as n}from"./internal-context-Z-fyxadS.mjs";import{u as m,a as l}from"./get-is-unified-wallet-CQc-E5dS.mjs";import{s as c}from"./shouldProceedtoEmbeddedWalletCreationFlow-BkTDxfME.mjs";import{S as p}from"./ScreenLayout-BdRrZJd_.mjs";import"./useActiveWallet-CwS7ik68.mjs";import"zustand";import"react-device-detect";import"./use-export-wallet-Bd5Sg5V-.mjs";import"./useWallets-2_uCkhA8.mjs";import"viem";import"@privy-io/js-sdk-core";import"eventemitter3";import"viem/utils";import"./events-context-CI0iqAXA.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"tinycolor2";import"ofetch";import"@privy-io/are-addresses-equal";import"./index-Bvw5OxHl.mjs";import"uuid";import"jose";import"@coinbase/wallet-sdk";import"@privy-io/ethereum";import"mipd";import"@privy-io/popup";import"./paths-3HW55qZg.mjs";import"./usePrivy-DAnfSvB5.mjs";import"@scure/base";import"@headlessui/react";import"@walletconnect/ethereum-provider";import"@privy-io/urls";import"./PrivyPluginContext-2QN2dVUw.mjs";import"./getEmbeddedConnectedWallet-JzK4iD-L.mjs";import"js-cookie";import"./frame-uzTmvtww.mjs";import"@privy-io/routes";import"x402/client";import"@privy-io/api-base";import"viem/accounts";import"./use-sign-with-user-signer-Do5Oi_rb.mjs";import"./Screen-CDEd4p2a.mjs";import"./index-Dq_xe9dz.mjs";const d={component:()=>{let{user:t,logout:r}=m(),{onUserCloseViaDialogOrKeybindRef:i,setModalData:o,navigate:s}=l(),p=a(),{acceptTerms:d,closePrivyModal:y,createAnalyticsEvent:v}=n(),h=e=>{e?.preventDefault(),y({shouldCallAuthOnSuccess:!1}),r()};i.current=h;/*#__PURE__*/return e(u,{termsAndConditionsUrl:p?.legal.termsAndConditionsUrl,privacyPolicyUrl:p?.legal.privacyPolicyUrl,onAccept:async e=>{e?.preventDefault(),await d(),t&&c(t,p.embeddedWallets)?(o({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),v({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"AffirmativeConsentScreen"}}),r()},callAuthOnSuccessOnClose:!0}}),s("EmbeddedWalletOnAccountCreateScreen")):y()},onDecline:h})}},u=({termsAndConditionsUrl:o,privacyPolicyUrl:a,onAccept:n,onDecline:m,title:l="One last step",subtitle:c="By signing up, you agree to our terms and privacy policy."})=>/*#__PURE__*/e(p,{title:l,subtitle:c,icon:r,primaryCta:{label:"Accept",onClick:n},secondaryCta:{label:"No thanks",onClick:m},watermark:!0,children:(o||a)&&/*#__PURE__*/t(y,{children:[o&&/*#__PURE__*/t(s,{variant:"muted",href:o,target:"_blank",size:"lg",style:{justifyContent:"space-between"},as:"a",children:["View Terms",/*#__PURE__*/e(i,{width:16,height:16,strokeWidth:2.25})]}),a&&/*#__PURE__*/t(s,{variant:"muted",href:a,target:"_blank",size:"lg",style:{justifyContent:"space-between"},as:"a",children:["View Privacy Policy",/*#__PURE__*/e(i,{width:16,height:16,strokeWidth:2.25})]})]})});let y=o.div`
2
- display: flex;
3
- flex-direction: column;
4
- gap: 12px;
5
- margin-top: var(--screen-space);
6
- `;export{d as AffirmativeConsentScreen,u as AffirmativeConsentScreenView,d as default};
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import{Lock as e}from"lucide-react";import"react";import{u as o}from"./context-Cw2-86-G.mjs";import{a as i}from"./get-is-unified-wallet-CQc-E5dS.mjs";import{S as r}from"./ScreenLayout-BdRrZJd_.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"@privy-io/are-addresses-equal";import"./internal-context-Z-fyxadS.mjs";import"ofetch";import"./ModalHeader-DfHxv9fE.mjs";import"styled-components";import"./useActiveWallet-CwS7ik68.mjs";import"zustand";import"react-device-detect";import"./use-export-wallet-Bd5Sg5V-.mjs";import"./useWallets-2_uCkhA8.mjs";import"viem";import"eventemitter3";import"viem/utils";import"./events-context-CI0iqAXA.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-CDEd4p2a.mjs";import"./index-Dq_xe9dz.mjs";const a=({title:o="You don't have access to this app",subtitle:i="Have you been invited?",ctaText:a="Try another account",ctaLink:n,onCtaClick:m})=>/*#__PURE__*/t(r,{title:o,subtitle:i,icon:e,iconVariant:"warning",primaryCta:{label:a,onClick:()=>{n?window.open(n,"_blank"):m?.()}},watermark:!0}),n={component:()=>{let{navigate:e}=i(),r=o(),n=r?.allowlistConfig.errorTitle||"You don't have access to this app",m=r?.allowlistConfig.errorDetail||"Have you been invited?",c=r?.allowlistConfig.errorCtaText||"Try another account",s=r?.allowlistConfig.errorCtaLink;/*#__PURE__*/return t(a,{title:n,subtitle:m,ctaText:c,ctaLink:s??void 0,onCtaClick:()=>{e("LandingScreen")}})}};export{n as AllowlistRejectionScreen,a as AllowlistRejectionScreenView,n as default};
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useRef as t,useCallback as o}from"react";import{u as r}from"./context-Cw2-86-G.mjs";import{u as n,c as a,b as i}from"./internal-context-Z-fyxadS.mjs";import{a as l}from"./events-context-CI0iqAXA.mjs";import{a as c}from"./get-is-unified-wallet-CQc-E5dS.mjs";import{i as s}from"./ConnectWalletView-By6eXfKl.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"@privy-io/are-addresses-equal";import"@heroicons/react/24/outline";import"@tanstack/react-virtual";import"react-device-detect";import"styled-components";import"./ModalHeader-DfHxv9fE.mjs";import"./useActiveWallet-CwS7ik68.mjs";import"zustand";import"./use-export-wallet-Bd5Sg5V-.mjs";import"./useWallets-2_uCkhA8.mjs";import"viem";import"eventemitter3";import"viem/utils";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./CopyableText-BCytXyJL.mjs";import"lucide-react";import"./Link-DJ5gq9Di.mjs";import"./QrCode-D4XZQrgi.mjs";import"qrcode";import"./EmailInputForm-Dgoii4vf.mjs";import"./ErrorMessage-D8VaAP5m.mjs";import"./useI18n-bIQlZhkW.mjs";import"./WalletCards-DH1rqayz.mjs";import"./Screen-CDEd4p2a.mjs";import"./index-Dq_xe9dz.mjs";const m={component:()=>{let{setWalletConnectionStatus:m,closePrivyModal:p,inProgressAuthFlowRef:u}=n(),{data:d,navigate:C}=c(),W=r(),j=l(),w=d?.externalConnectWallet?.description,E=t(d?.externalConnectWallet?.walletList??W.appearance.walletList),x=t(d?.externalConnectWallet?.walletChainType??W.appearance.walletChainType),f=E.current,v=x.current,h="link"===u.current?void 0:()=>C("LandingScreen");/*#__PURE__*/return e(s,{walletList:f,walletChainType:v,onClose:p,onConnect:o((({connector:e,wallet:t})=>{j("connectWallet","onSuccess",{wallet:t}),m({status:"connected",connectedWallet:t,connector:e,connectError:null,connectRetry:()=>null}),C("ConnectionStatusScreen",!d?.externalConnectWallet?.preSelectedWalletId)}),[m,C,d?.login?.disableSignup,d?.externalConnectWallet?.preSelectedWalletId]),onConnectError:e=>{e instanceof a?(console.warn(e.cause?e.cause:e.message),j("connectWallet","onError",e.privyErrorCode||i.GENERIC_CONNECT_WALLET_ERROR)):(console.warn(e),j("connectWallet","onError",i.UNKNOWN_CONNECT_WALLET_ERROR))},onBack:h,customDescription:w||"",preSelectedWalletId:d?.externalConnectWallet?.preSelectedWalletId,app:W})},isUnauthenticatedScreem:!0};export{m as AuthenticateWithWalletScreen,m as default};
@@ -1,2 +0,0 @@
1
- import{jsxs as e,Fragment as t,jsx as i}from"react/jsx-runtime";import a from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as r,useEffect as n}from"react";import{createWalletClient as o,custom as s,publicActions as d,createPublicClient as c,http as m,formatUnits as l}from"viem";import{addToDefaultChains as u}from"@privy-io/js-sdk-core";import{b as p,c as h,R as g}from"./Layouts-BlFm53ED.mjs";import{B as f}from"./ModalHeader-DfHxv9fE.mjs";import{C as v}from"./ScreenHeader-CHmc4-Lu.mjs";import{t as j}from"./FundWalletMethodHeader-CdXWChwL.mjs";import{N as w}from"./index-Dq_xe9dz.mjs";import{u as y,t as I}from"./context-Cw2-86-G.mjs";import{u as T,a as b,b as C}from"./internal-context-Z-fyxadS.mjs";import{z as S}from"./useActiveWallet-CwS7ik68.mjs";import{a as N}from"./get-is-unified-wallet-CQc-E5dS.mjs";import{u as x}from"./useGetTokenPrice-oI6b3gPZ.mjs";import{u as E,b as k}from"./useWallets-2_uCkhA8.mjs";import{O as A}from"./analytics-mkkvFRju.mjs";import{g as F,t as B,a as L,b as U,c as P,u as M}from"./reservoir-0wfhnc0j.mjs";import{x as W}from"./index-Bvw5OxHl.mjs";import{g as H}from"./getChainName-DjpPdUSc.mjs";import{g as O,a as R}from"./transaction-CnfuREWo.mjs";import{g as q,B as D}from"./BridgeNetworkSelectionView-nrYQOGZA.mjs";import{v as $}from"./use-export-wallet-Bd5Sg5V-.mjs";import{T as _}from"./TransferOrBridgeLoadingScreen-Cwzefd9j.mjs";import"styled-components";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"tinycolor2";import"ofetch";import"zustand";import"react-device-detect";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"@privy-io/are-addresses-equal";import"./useGetSolPrice-DwwjjGbd.mjs";import"uuid";import"jose";import"eventemitter3";import"@coinbase/wallet-sdk";import"@privy-io/ethereum";import"mipd";import"@privy-io/popup";import"./paths-3HW55qZg.mjs";import"./usePrivy-DAnfSvB5.mjs";import"@scure/base";import"@headlessui/react";import"@walletconnect/ethereum-provider";import"@privy-io/urls";import"./PrivyPluginContext-2QN2dVUw.mjs";import"./getEmbeddedConnectedWallet-JzK4iD-L.mjs";import"js-cookie";import"./frame-uzTmvtww.mjs";import"@privy-io/routes";import"x402/client";import"@privy-io/api-base";import"viem/accounts";import"./use-sign-with-user-signer-Do5Oi_rb.mjs";import"./getFormattedUsdFromLamports-B6EqSEho.mjs";import"./getErc20Balance-sCX8nL1s.mjs";import"./Row-C9vrS4Zi.mjs";import"./ErrorMessage-D8VaAP5m.mjs";import"./Value-tcJV9e0L.mjs";import"./LoadingSkeleton-U6-3yFwI.mjs";import"./Subtitle-CV-2yKE4.mjs";import"./Title-BnzYV3Is.mjs";import"@heroicons/react/24/outline/WalletIcon";import"./Chip-D2-wZOHJ.mjs";import"./NetworkIcon-B48ilzF8.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"./shared-FM0rljBt.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"./formatErc20TokenAmount-BuPk9xcy.mjs";import"./ethers-5oa3ZKLD.mjs";import"./styles-D5Jf27-u.mjs";import"./LinkPasskeyScreen-CTYGeo1r.mjs";import"lucide-react";import"./TodoList-CgrU7uwu.mjs";import"./ScreenLayout-BdRrZJd_.mjs";import"./Screen-CDEd4p2a.mjs";import"./InjectedWalletIcon-DLcYOGDj.mjs";import"./Address-Cbulz6Wu.mjs";const V={component:()=>{let V=y(),{rpcConfig:z,appId:G,closePrivyModal:Q,createAnalyticsEvent:K}=T(),{navigate:X,setModalData:Y,data:J}=N(),Z=y(),{wallets:ee}=E(),[te,ie]=r(null),[ae,re]=r(null),[ne,oe]=r([]),[se,de]=r(0),[ce,me]=r(!1),[le,ue]=r(!1),[pe,he]=r(!1),[ge,fe]=r(!1),[ve,je]=r(),[we,ye]=r();if(!J?.funding||"solana"!==J.funding.chainType)throw Error("Invalid funding data");let{address:Ie,chain:Te,connectedWallet:be}=J.funding,[Ce,Se]=r(J.funding.amount),Ne=("ethereum"===be?.type?be:void 0)??ee[0],xe=S(Ne?.walletClientType||"unknown"),Ee=xe?.name||"wallet",[ke,Ae]=r(null);n((()=>{(async()=>{if(!Ne)return;let e=await Ne.getEthereumProvider();Ae(o({account:Ne.address,transport:s(e)}).extend(d))})().catch(console.error)}),[Ne]);let[Fe,Be]=r(0n),Le=O(Fe);n((()=>{let e=V.solanaRpcs[Te];e?W({rpc:e.rpc,address:Ie}).then((e=>Be(BigInt(e)))).catch(console.error):console.warn("Unable to load solana rpc, skipping balance")}),[]);let[Ue,Pe]=r(),{tokenPrice:Me}=x("solana"),{fundingAmountInBaseUnit:We,fundingAmountInUsd:He}=R({amount:Ce,fee:0n,tokenPrice:Me,isUsdc:J.funding.isUSDC});if(n((()=>{(async()=>{if(!ke||!Ne)return;let e=["solana:testnet","solana:devnet"].includes(Te);e&&console.warn("Solana testnets are not supported for bridging");let t=u(Z.chains).filter((({testnet:t})=>!!t===e)),i=(await q({chains:t,address:Ne.address,appId:G,rpcConfig:z})).filter((e=>e.balance>0n));if(i.length<1)return void ie(new b(`Wallet ${$(Ne.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE));i.sort(((e,t)=>Number(t.balance-e.balance)));let a=(await Promise.allSettled(i.map((async e=>({...e,quote:await F({isTestnet:!1,input:B({appId:G,amount:We.toString(),user:Ne.address,recipient:Ie,destinationChainId:U,destinationCurrency:L,originChainId:e.chain.id})})}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(a.length<1)return void ie(new b(`Unable to fetch quotes for bridging. Wallet ${$(Ne.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE));let r=a.map((({quote:e,balance:t,chain:i})=>({bridgeTx:P(e),balance:t,chain:i,isErc20Quote:!1}))).filter((({bridgeTx:e})=>!!e));if(r.length>1)return void oe(r);let n=r.at(0);n?(ue(!0),Pe({data:n.bridgeTx.data,to:n.bridgeTx.to,value:n.bridgeTx.value,chain:n.chain})):ie(new b(`Unable to select bridge option from quotes. Wallet ${$(Ne.address)} does not have enough funds.`,void 0,C.INSUFFICIENT_BALANCE))})().catch(console.error)}),[ke]),n((()=>{(async()=>{let e,t;if(!ke||!Ne||ce||pe||!Ue)return;me(!0);let i=c({chain:Ue.chain,transport:m(k(Ue.chain,z,G))});try{e=await i.prepareTransactionRequest({account:Ne.address,to:Ue.to,chain:Ue.chain,data:Ue.data,value:BigInt(Ue.value??0)})}catch(e){console.error(e),ne.length>1&&re(e.shortMessage??"Something went wrong")}if(e){me(!1),he(!0);try{await ke.switchChain({id:Ue.chain.id})}catch(e){await ke.addChain({chain:Ue.chain}),await ke.switchChain({id:Ue.chain.id})}try{t=await ke.sendTransaction(e)}catch(e){console.error(e),"TransactionExecutionError"===e.name&&(ne.length<1?ie(new b(e.shortMessage,void 0,C.TRANSACTION_FAILURE)):re(e.shortMessage??"Something went wrong"))}if(t)return await ke.waitForTransactionReceipt({hash:t}),le?(ye("pending"),void je(t)):(he(!1),fe(!0),void K({eventName:A,payload:{provider:"external",status:"success",txHash:t,address:Ne.address,chainId:Ue.chain.id,chainType:"ethereum",value:Ue.value?l(BigInt(Ue.value),18):void 0,token:"ETH",destination:Ie,destinationClusterName:"mainnet-beta",destinationChainType:"solana",destinationValue:l(We,9),destinationToken:"SOL"}}));he(!1)}else me(!1)})().catch(console.error)}),[ke,Ue]),M({transactionHash:ve,isTestnet:!1,bridgingStatus:we,setBridgingStatus:ye,onSuccess({transactionHash:e}){ue(!1),fe(!0),K({eventName:A,payload:{provider:"external",status:"success",txHash:e,address:Ne?.address,chainId:Ue?.chain.id,chainType:"ethereum",value:Ue?.value?l(BigInt(Ue.value),18):void 0,token:"ETH",destination:Ie,destinationClusterName:"mainnet-beta",destinationChainType:"solana",destinationValue:l(We,9),destinationToken:"SOL"}})},onFailure({error:e}){ue(!1),ie(e)}}),n((()=>{te&&(Y({funding:J?.funding,solanaFundingData:J?.solanaFundingData,sendTransaction:J?.sendTransaction,errorModalData:{error:te,previousScreen:"TransferFromWalletScreen"}}),X("ErrorScreen",!1))}),[te]),n((()=>{if(!ge)return;let e=setTimeout(Q,I);return()=>clearTimeout(e)}),[ge]),ge/*#__PURE__*/)return e(t,{children:[/*#__PURE__*/i(j,{}),/*#__PURE__*/i(p,{}),/*#__PURE__*/e(h,{children:[/*#__PURE__*/i(a,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/i(v,{title:"Success!",description:`You’ve successfully added ${Ce} SOL to your ${Z.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/i(g,{}),/*#__PURE__*/i(f,{})]});let Oe=ne[se];return ne.length>1&&Oe?/*#__PURE__*/i(D,{displayName:Ee,configuredFundingChain:Te,formattedBalance:Le,fundingAmount:Ce,fundingCurrency:"SOL",fundingAmountInUsd:He,options:ne,selectedOption:Oe,isPreparing:ce,isSubmitting:pe,addressToFund:Ie,fundingWalletAddress:Ne?.address||"",errorMessage:ae,onSubmit:()=>{J.funding?.amount!==Ce?async function(){if(Ne&&Oe)try{let e=await F({isTestnet:!1,input:B({appId:G,amount:We.toString(),user:Ne.address,recipient:Ie,destinationChainId:U,destinationCurrency:L,originChainId:Oe.chain.id})}),t=P(e);if(!t)throw Error("Invalid transaction request");ue(!0),Pe({data:t.data,to:t.to,value:t.value,chain:Oe.chain})}catch(e){console.error(e),ie(new b("Unable to fetch quotes for bridging",e,C.INSUFFICIENT_BALANCE))}}().catch(console.error):Pe({to:Oe.bridgeTx.to,data:Oe.bridgeTx.data,value:Oe.bridgeTx.value,chain:Oe.chain})},onSelect:e=>{e!==se&&(re(null),de(e))},onAmountChange:Se}):pe&&Ne?/*#__PURE__*/i(_,{walletClientType:Ne?.walletClientType||"unknown",displayName:Ee,addressToFund:Ie,isBridging:le,isErc20Flow:!1,chainId:"solana",chainName:H(Te),totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
2
- /*#__PURE__*/e(t,{children:[/*#__PURE__*/i(j,{}),/*#__PURE__*/i(w,{}),/*#__PURE__*/i("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/i(f,{})]})}};export{V as AwaitingEvmToSolBridgingScreen,V as default};
@@ -1,2 +0,0 @@
1
- import{jsxs as e,Fragment as t,jsx as r}from"react/jsx-runtime";import a from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as i,useEffect as n}from"react";import{parseEther as o,createWalletClient as s,custom as d,publicActions as c,createPublicClient as l,http as m,encodeFunctionData as u,formatUnits as p}from"viem";import{addToDefaultChains as h}from"@privy-io/js-sdk-core";import{b as f,c as g,R as v}from"./Layouts-BlFm53ED.mjs";import{B as y}from"./ModalHeader-DfHxv9fE.mjs";import{C}from"./ScreenHeader-CHmc4-Lu.mjs";import{t as I}from"./FundWalletMethodHeader-CdXWChwL.mjs";import{N as w}from"./index-Dq_xe9dz.mjs";import{u as T,t as j}from"./context-Cw2-86-G.mjs";import{u as b,a as E,b as S}from"./internal-context-Z-fyxadS.mjs";import{z as N}from"./useActiveWallet-CwS7ik68.mjs";import{a as A}from"./get-is-unified-wallet-CQc-E5dS.mjs";import{u as x}from"./useGetTokenPrice-oI6b3gPZ.mjs";import{u as k,b as F}from"./useWallets-2_uCkhA8.mjs";import{E as B,a as P}from"./transfer-6YztDh-t.mjs";import{f as M}from"./formatErc20TokenAmount-BuPk9xcy.mjs";import{c as U,a as W,g as L,s as H}from"./ethers-5oa3ZKLD.mjs";import{O as $}from"./analytics-mkkvFRju.mjs";import{t as q,g as D,c as R,u as _}from"./reservoir-0wfhnc0j.mjs";import{y as O}from"./index-Bvw5OxHl.mjs";import{g as Q,B as V}from"./BridgeNetworkSelectionView-nrYQOGZA.mjs";import{g as z}from"./getErc20Balance-sCX8nL1s.mjs";import{v as G}from"./use-export-wallet-Bd5Sg5V-.mjs";import{T as K}from"./TransferOrBridgeLoadingScreen-Cwzefd9j.mjs";import"styled-components";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"tinycolor2";import"ofetch";import"zustand";import"react-device-detect";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"@privy-io/are-addresses-equal";import"./useGetSolPrice-DwwjjGbd.mjs";import"uuid";import"jose";import"eventemitter3";import"@coinbase/wallet-sdk";import"@privy-io/ethereum";import"mipd";import"@privy-io/popup";import"./paths-3HW55qZg.mjs";import"./usePrivy-DAnfSvB5.mjs";import"@scure/base";import"@headlessui/react";import"@walletconnect/ethereum-provider";import"@privy-io/urls";import"./PrivyPluginContext-2QN2dVUw.mjs";import"./getEmbeddedConnectedWallet-JzK4iD-L.mjs";import"js-cookie";import"./frame-uzTmvtww.mjs";import"@privy-io/routes";import"x402/client";import"@privy-io/api-base";import"viem/accounts";import"./use-sign-with-user-signer-Do5Oi_rb.mjs";import"./Row-C9vrS4Zi.mjs";import"./ErrorMessage-D8VaAP5m.mjs";import"./Value-tcJV9e0L.mjs";import"./LoadingSkeleton-U6-3yFwI.mjs";import"./Subtitle-CV-2yKE4.mjs";import"./Title-BnzYV3Is.mjs";import"@heroicons/react/24/outline/WalletIcon";import"./getChainName-DjpPdUSc.mjs";import"./Chip-D2-wZOHJ.mjs";import"./NetworkIcon-B48ilzF8.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"./shared-FM0rljBt.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"./styles-D5Jf27-u.mjs";import"./LinkPasskeyScreen-CTYGeo1r.mjs";import"lucide-react";import"./TodoList-CgrU7uwu.mjs";import"./ScreenLayout-BdRrZJd_.mjs";import"./Screen-CDEd4p2a.mjs";import"./InjectedWalletIcon-DLcYOGDj.mjs";import"./Address-Cbulz6Wu.mjs";const X={component:()=>{let{rpcConfig:X,appId:Y,closePrivyModal:Z,createAnalyticsEvent:J}=b(),{navigate:ee,setModalData:te,data:re}=A(),ae=T(),{wallets:ie}=k(),[ne,oe]=i(!1),[se,de]=i(0n),[ce,le]=i(!1),[me,ue]=i(null),[pe,he]=i(null),[fe,ge]=i([]),[ve,ye]=i(0),[Ce,Ie]=i(!1),[we,Te]=i(!1),[je,be]=i(!1),[Ee,Se]=i(!1),[Ne,Ae]=i(),[xe,ke]=i();if(!re?.funding||"ethereum"!==re.funding.chainType)throw Error("Invalid funding data");let{erc20ContractInfo:Fe,chain:Be,connectedWallet:Pe}=re.funding,Me=re.funding.address,Ue=re.funding.erc20Address,[We,Le]=i(re.funding.amount);n((()=>{Ue&&!Fe&&ue(Error("Unable to fetch token details"))}),[]);let He=!!Ue&&!!Fe,$e=He?BigInt(parseFloat(We)*10**Fe.decimals):o(We),qe=("ethereum"===Pe?.type?Pe:void 0)??ie[0],De=N(qe?.walletClientType||"unknown"),Re=De?.name||"wallet",[_e,Oe]=i(null);n((()=>{(async()=>{if(!qe)return;let e=await qe.getEthereumProvider();Oe(s({account:qe.address,transport:d(e)}).extend(c))})().catch(console.error)}),[qe]);let[Qe,Ve]=i(0n);n((()=>{l({chain:Be,transport:m(F(Be,X,Y))}).getBalance({address:Me}).then(Ve).catch(console.error)}),[]);let[ze,Ge]=i(0n);n((()=>{He&&z({chain:Be,address:Me,appId:Y,rpcConfig:X,erc20Address:Ue}).then((e=>Ge(e.balance))).catch(console.error)}),[]);let{tokenPrice:Ke}=x(Be.id),[Xe,Ye]=i({to:Me,chain:Be,value:$e,data:void 0});n((()=>{(async()=>{let e,t;if(!_e||!qe||Ce||je)return;Ie(!0);let r=l({chain:Xe.chain,transport:m(F(Xe.chain,X,Y))});if(He&&!Xe.data)return await r.simulateContract({address:Ue,chain:Xe.chain,abi:B,functionName:"transfer",args:[Me,$e],account:qe.address}).catch((e=>{if("ContractFunctionZeroDataError"===e?.cause?.name||e?.message?.includes("returned no data"))return r.simulateContract({address:Ue,chain:Xe.chain,abi:P,functionName:"transfer",args:[Me,$e],account:qe.address}).catch((e=>{console.warn("Simulated token transfer failed with error, fetching bridge options.",e)}));console.warn("Simulated token transfer failed with error, fetching bridge options.",e)}))?(Ie(!1),void Ye({to:Ue,chain:Xe.chain,data:u({abi:B,functionName:"transfer",args:[Me,$e]}),value:"0x0"})):(Ie(!1),void le(!0));try{e=await r.prepareTransactionRequest({account:qe.address,to:Xe.to,chain:Xe.chain,data:Xe.data,value:BigInt(Xe.value??0)})}catch(e){if(console.error(e),fe.length>1)he(e.shortMessage??"Something went wrong");else if(we&&0===fe.length)return void ue(new E(`Wallet ${G(qe.address)} does not have enough funds.`,void 0,S.INSUFFICIENT_BALANCE))}if(!e)return Ie(!1),void le(!0);Ie(!1),be(!0),oe(!0),de(e.gas);try{await _e.switchChain({id:Xe.chain.id})}catch(e){await _e.addChain({chain:Xe.chain}),await _e.switchChain({id:Xe.chain.id})}try{t=await _e.sendTransaction(e)}catch(e){if(console.error(e),"TransactionExecutionError"===e.name)if(fe.length<1){let t=e.shortMessage;(e.shortMessage.includes("rejected the request")||e.details.includes("rejected the request"))&&(t="User rejected the request."),ue(new E(t,void 0,S.TRANSACTION_FAILURE))}else he(e.shortMessage??"Something went wrong")}if(t)return await _e.waitForTransactionReceipt({hash:t}),be(!1),we?(Ae(t),void ke("pending")):(Se(!0),te(O(re,"completed",t,qe?.walletClientType,He,Fe,Be)),void J({eventName:$,payload:{provider:"external",status:"success",txHash:t,address:qe.address,chainId:Xe.chain.id,chainType:"ethereum",value:Xe.value?p(BigInt(Xe.value),Fe?.decimals??18):void 0,token:Fe?.symbol??Ue??"ETH",destinationAddress:Me,destinationChainId:Be.id,destinationChainType:"ethereum",destinationValue:$e?p($e,Fe?.decimals??18):void 0,destinationToken:Fe?.symbol??Ue??Be.nativeCurrency.name}}));be(!1)})().catch(console.error)}),[_e,Xe]),n((()=>{(async()=>{if(!ce||!_e||!qe)return;let e=h(ae.chains).filter((e=>e.id!==Be.id&&!!e.testnet==!!Be.testnet));He&&e.unshift(Be);let t=await Q({chains:e,address:qe.address,appId:Y,rpcConfig:X,includeUsdc:re.funding?.isUSDC}),r=He?t.filter((e=>e.balance>0n)):t.filter((e=>e.balance>$e)),a=He&&t.every((e=>0n===e.balance));if(r.length<1)return void ue(new E(a?`Wallet ${G(qe.address)} doesn't have enough funds to cover gas fees. Top up your wallet and try again.`:`Wallet ${G(qe.address)} does not have enough funds.`,void 0,S.INSUFFICIENT_BALANCE));r.sort(((e,t)=>Number(He?(t.erc20Balance??0n)-(e.erc20Balance??0n):t.balance-e.balance)));let i=r.flatMap((e=>{let t=[{...e,isErc20Quote:!1,isTestnet:!!Be.testnet,input:q({appId:Y,amount:$e.toString(),user:qe.address,recipient:Me,destinationChainId:Be.id,destinationCurrency:Ue,originChainId:e.chain.id})}];return He&&Ue&&(e.erc20Balance??0n)>=$e&&t.push({...e,isErc20Quote:!0,isTestnet:!!Be.testnet,input:q({appId:Y,amount:$e.toString(),user:qe.address,recipient:Me,destinationChainId:Be.id,destinationCurrency:Ue,originChainId:e.chain.id,originCurrency:e.erc20Address})}),t})),n=(await Promise.allSettled(i.map((async e=>({...e,quote:await D(e)}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(n.length<1)return void ue(new E(`Wallet ${G(qe.address)} does not have enough funds.`,void 0,S.INSUFFICIENT_BALANCE));let o=n.map((e=>({bridgeTx:R(e.quote),balance:e.balance,chain:e.chain,erc20Balance:e.erc20Balance,isErc20Quote:e.isErc20Quote}))).filter((e=>!!e.bridgeTx));if(o.length>1)return void ge(o);let s=o[0];s?(Te(!0),Ye({data:s.bridgeTx.data,to:s.bridgeTx.to,value:s.bridgeTx.value,chain:s.chain})):ue(new E(`Wallet ${G(qe.address)} does not have enough funds.`,void 0,S.INSUFFICIENT_BALANCE))})().catch(console.error)}),[ce]),_({transactionHash:Ne,isTestnet:!!Be.testnet,bridgingStatus:xe,setBridgingStatus:ke,onSuccess({transactionHash:e}){Te(!1),Se(!0),te(O(re,"completed",e,qe?.walletClientType,He,Fe,Be)),J({eventName:$,payload:{provider:"external",status:"success",txHash:e,address:qe?.address,chainId:Xe.chain.id,chainType:"ethereum",value:Xe.value?p(BigInt(Xe.value),Fe?.decimals??18):void 0,token:Fe?.symbol??Ue??"ETH",destinationAddress:Me,destinationChainId:Be.id,destinationChainType:"ethereum",destinationValue:$e?p($e,Fe?.decimals??18):void 0,destinationToken:Fe?.symbol??Ue??Be.nativeCurrency.name}})},onFailure({error:e}){Te(!1),ue(e)}}),n((()=>{me&&(te({funding:re?.funding,solanaFundingData:re?.solanaFundingData,sendTransaction:re?.sendTransaction,errorModalData:{error:me,previousScreen:"TransferFromWalletScreen"}}),ee("ErrorScreen",!1))}),[me]);let Ze=!He&&Ke?U(We??"0",Ke):void 0,Je=He?se:H([se,$e]),et=Je&&Ke?W(Je,Ke):void 0,tt=Je?L(Je,re?.funding?.erc20Address?re?.funding?.erc20ContractInfo?.symbol||"ETH":re?.funding?.chain.nativeCurrency.symbol||"ETH"):void 0,rt=se&&Ke?W(se,Ke):void 0,at=se?L(se,Be?.nativeCurrency?.symbol||"ETH"):void 0;if(n((()=>{if(!Ee)return;let e=setTimeout(Z,j);return()=>clearTimeout(e)}),[Ee]),Ee/*#__PURE__*/)return e(t,{children:[/*#__PURE__*/r(I,{}),/*#__PURE__*/r(f,{}),/*#__PURE__*/e(g,{children:[/*#__PURE__*/r(a,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/r(C,{title:"Success!",description:`You’ve successfully added ${We} ${He?Fe.symbol:Be.nativeCurrency.symbol} to your ${ae.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/r(v,{}),/*#__PURE__*/r(y,{})]});let it=He?`${M({amount:ze,decimals:Fe.decimals})} ${Fe.symbol}`:L(Qe,Be.nativeCurrency.symbol,3,!0),nt=fe[ve];return fe.length>1&&nt?/*#__PURE__*/r(V,{displayName:Re,configuredFundingChain:Be,erc20ContractInfo:Fe,formattedBalance:it,fundingAmount:We,fundingCurrency:He?Fe.symbol:Be.nativeCurrency.symbol,fundingAmountInUsd:Ze,options:fe,selectedOption:nt,isPreparing:Ce,isSubmitting:je,addressToFund:Me,fundingWalletAddress:qe?.address||"",errorMessage:pe,onSubmit:()=>{re.funding?.amount!==We?async function(){if(qe&&nt)try{let e=await D({isTestnet:!!Be.testnet,input:q({appId:Y,amount:$e.toString(),user:qe.address,recipient:Me,destinationChainId:Be.id,destinationCurrency:Ue,originChainId:nt.chain.id})}),t=R(e);if(!t)throw Error("Invalid transaction request");Te(!0),Ye({data:t.data,to:t.to,value:t.value,chain:nt.chain})}catch(e){console.error(e),ue(new E("Unable to fetch quotes for bridging",e,S.INSUFFICIENT_BALANCE))}}().catch(console.error):Ye({to:nt.bridgeTx.to,data:nt.bridgeTx.data,value:nt.bridgeTx.value,chain:nt.chain})},onSelect:e=>{e!==ve&&(he(null),ye(e))},onAmountChange:Le}):ne&&se&&qe&&re?.funding?/*#__PURE__*/r(K,{walletClientType:qe?.walletClientType||"unknown",displayName:Re,addressToFund:Me,isBridging:we,isErc20Flow:He,totalPriceInUsd:et,totalPriceInNativeCurrency:tt,gasPriceInUsd:rt,gasPriceInNativeCurrency:at,chainId:Be.id,chainName:Be.name}):
2
- /*#__PURE__*/e(t,{children:[/*#__PURE__*/r(I,{}),/*#__PURE__*/r(w,{}),/*#__PURE__*/r("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/r(y,{})]})}};export{X as AwaitingExternalEthereumTransferScreen,X as default};