@privy-io/react-auth 3.11.0 → 3.11.1-beta-20260121203903

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 (254) hide show
  1. package/dist/cjs/{AccountNotFoundScreen-BgbWqFBz.js → AccountNotFoundScreen-RZUQmQIk.js} +1 -1
  2. package/dist/cjs/{Address-DiSm2l-W.js → Address-DvOcxlUo.js} +1 -1
  3. package/dist/cjs/{AffirmativeConsentScreen-frUX4n9j.js → AffirmativeConsentScreen-DLWcVEb0.js} +1 -1
  4. package/dist/cjs/{AllowlistRejectionScreen-CZ4wDXU2.js → AllowlistRejectionScreen-D4SmR-eM.js} +1 -1
  5. package/dist/cjs/{AuthenticateWithWalletScreen-CoV6Cepf.js → AuthenticateWithWalletScreen-BWzZT5MI.js} +1 -1
  6. package/dist/cjs/{AwaitingEvmToSolBridgingScreen-5qv5Urz2.js → AwaitingEvmToSolBridgingScreen-k97fI9em.js} +1 -1
  7. package/dist/cjs/AwaitingExternalEthereumTransferScreen-m4IWTGam.js +2 -0
  8. package/dist/cjs/{AwaitingPasswordlessCodeScreen-DrgaEVkD.js → AwaitingPasswordlessCodeScreen-BpPFuyVa.js} +1 -1
  9. package/dist/cjs/{AwaitingSolToEvmBridgingScreen-CQAxGoKP.js → AwaitingSolToEvmBridgingScreen-DPrRf-se.js} +1 -1
  10. package/dist/cjs/{BridgeNetworkSelectionView-Bd-ehyqP.js → BridgeNetworkSelectionView-pqZH6aEP.js} +1 -1
  11. package/dist/cjs/{CaptchaScreen-Csab6OjG.js → CaptchaScreen-nno_DeVo.js} +1 -1
  12. package/dist/cjs/{CoinbaseOnrampStatusScreen-Dsc8OMxP.js → CoinbaseOnrampStatusScreen-Fit_-mUl.js} +1 -1
  13. package/dist/cjs/{ConnectEmailForm-BaLVG2V3.js → ConnectEmailForm-CvpXHbvm.js} +1 -1
  14. package/dist/cjs/{ConnectLedgerScreen-cPU7ad2m.js → ConnectLedgerScreen-nBnIQH_E.js} +1 -1
  15. package/dist/cjs/{ConnectOnlyLandingScreen-Br3hNEVI.js → ConnectOnlyLandingScreen-DYyltRDK.js} +1 -1
  16. package/dist/cjs/{ConnectOnlyStatusScreen-CwYbJV03.js → ConnectOnlyStatusScreen-CNydKxL3.js} +1 -1
  17. package/dist/cjs/{ConnectOrCreateScreen-C5n4aoBd.js → ConnectOrCreateScreen-CEYOMLS0.js} +1 -1
  18. package/dist/cjs/{ConnectPhoneForm-grT6QJKW.js → ConnectPhoneForm-n0Ir63YF.js} +1 -1
  19. package/dist/cjs/{ConnectWalletView-acXo09ry.js → ConnectWalletView-C5RUSkYw.js} +1 -1
  20. package/dist/cjs/{ConnectionStatusScreen-DvxCQtND.js → ConnectionStatusScreen-D66HjJ9d.js} +1 -1
  21. package/dist/cjs/{CrossAppAuthScreen-BZrqdowY.js → CrossAppAuthScreen-BlAAnv4P.js} +1 -1
  22. package/dist/cjs/{CustomLandingScreenView-DQhD7H-Y.js → CustomLandingScreenView-Bb3HFp04.js} +1 -1
  23. package/dist/cjs/{DelegatedActionsConsentScreen-aa3stKge.js → DelegatedActionsConsentScreen-BwFIgwlL.js} +1 -1
  24. package/dist/cjs/{DelegatedActionsRevokeScreen-C4dyQxew.js → DelegatedActionsRevokeScreen-hYJVAMSG.js} +1 -1
  25. package/dist/cjs/{EmbeddedWalletConnectingScreen-B2sIDKrU.js → EmbeddedWalletConnectingScreen-AHB8rY4q.js} +1 -1
  26. package/dist/cjs/{EmbeddedWalletCreatedScreen-Dq73pt9b.js → EmbeddedWalletCreatedScreen-DHAatfd0.js} +1 -1
  27. package/dist/cjs/{EmbeddedWalletKeyExportScreen-BTB0EbJJ.js → EmbeddedWalletKeyExportScreen-CV925NJl.js} +1 -1
  28. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-7a79-vYL.js +1 -0
  29. package/dist/cjs/{EmbeddedWalletPasswordUpdateScreen-BBoSpChs.js → EmbeddedWalletPasswordUpdateScreen-DjKQJpbm.js} +1 -1
  30. package/dist/cjs/{EmbeddedWalletPasswordUpdateSplashScreen-CLaYjxpz.js → EmbeddedWalletPasswordUpdateSplashScreen-Cv5jWZxV.js} +1 -1
  31. package/dist/cjs/{EnrollTotp-D6ocCn4v.js → EnrollTotp-Dj3Dsvm_.js} +1 -1
  32. package/dist/cjs/{ErrorScreen-C2xSdkYC.js → ErrorScreen-CZPWuczS.js} +1 -1
  33. package/dist/cjs/{FarcasterConnectStatusScreen-DvVyh8zU.js → FarcasterConnectStatusScreen-DUYhOO7b.js} +1 -1
  34. package/dist/cjs/{FarcasterSignerStatusScreen-kIG2AKFp.js → FarcasterSignerStatusScreen-jWhFgNOH.js} +1 -1
  35. package/dist/cjs/{FundSolWalletWithExternalSolanaWallet-B2U_lFvw.js → FundSolWalletWithExternalSolanaWallet-BSgvqB70.js} +1 -1
  36. package/dist/cjs/{FundWalletMethodHeader-CfHXgc0M.js → FundWalletMethodHeader-DQK9y0aY.js} +1 -1
  37. package/dist/cjs/FundingEditAmountScreen-DvNnAP2W.js +1 -0
  38. package/dist/cjs/{FundingMethodSelectionScreen-CBjGLXbZ.js → FundingMethodSelectionScreen-CalOUo0B.js} +1 -1
  39. package/dist/cjs/{InAppBrowserLoginNotPossible-CIG8bv6d.js → InAppBrowserLoginNotPossible-BDiHa7jI.js} +1 -1
  40. package/dist/cjs/{InstallWalletScreen-B2vD26WT.js → InstallWalletScreen-BJnzGz4d.js} +1 -1
  41. package/dist/cjs/{LandingScreen-BEYwefB2.js → LandingScreen-C1x4_p_d.js} +1 -1
  42. package/dist/cjs/{LinkConflictScreen-CgR1CRSp.js → LinkConflictScreen-C6x_ncim.js} +1 -1
  43. package/dist/cjs/{LinkEmailScreen-aoilMVGp.js → LinkEmailScreen-AjVtqBaA.js} +1 -1
  44. package/dist/cjs/{LinkPasskeyScreen-CMBY4_3D.js → LinkPasskeyScreen-DMRGlud1.js} +1 -1
  45. package/dist/cjs/{LinkPhoneScreen-BuspORFm.js → LinkPhoneScreen-DD21Qmod.js} +1 -1
  46. package/dist/cjs/{LoginFailedScreen-rbFVmsvC.js → LoginFailedScreen-CIpe87NH.js} +1 -1
  47. package/dist/cjs/{ManualTransferScreen-COoRzSz6.js → ManualTransferScreen-CyJYfUlU.js} +1 -1
  48. package/dist/cjs/{MfaAuthEnrollmentFlowScreen-_ncbAR0l.js → MfaAuthEnrollmentFlowScreen-DzngmyLo.js} +1 -1
  49. package/dist/cjs/{MfaAuthVerifyFlowScreen--2tpPZkF.js → MfaAuthVerifyFlowScreen-CBOzaSAc.js} +1 -1
  50. package/dist/cjs/{MfaEnrollmentFlowScreen-Bn7kOj-x.js → MfaEnrollmentFlowScreen-55tEmBJh.js} +1 -1
  51. package/dist/cjs/{MfaVerifyFlowScreen-CjXrt1xv.js → MfaVerifyFlowScreen-DaIPQR72.js} +1 -1
  52. package/dist/cjs/{ModalHeader-HFJct04e.js → ModalHeader-LSXkaXcl.js} +1 -1
  53. package/dist/cjs/{MoonpayStatusScreen-BYVEV6Hl.js → MoonpayStatusScreen-D_q2vNSj.js} +1 -1
  54. package/dist/cjs/{OAuthStatusScreen-Yyaxj4Os.js → OAuthStatusScreen-Q32YT7Xd.js} +1 -1
  55. package/dist/cjs/{PasskeySelectSignupOrLogin-DnuQecC6.js → PasskeySelectSignupOrLogin-QWZDah9B.js} +1 -1
  56. package/dist/cjs/{PasskeyStatusScreen-i0ui7oVt.js → PasskeyStatusScreen-Btu1z-Db.js} +1 -1
  57. package/dist/cjs/{PasswordRecoveryScreen-eges-du_.js → PasswordRecoveryScreen-DBi0pol-.js} +1 -1
  58. package/dist/cjs/{QrCode-B0wOoW1E.js → QrCode-B5AlIfrN.js} +1 -1
  59. package/dist/cjs/RecoveryOAuthStatusScreen-COSwnkwr.js +1 -0
  60. package/dist/cjs/RecoveryPasswordCreateScreen-DBXYtHzz.js +1 -0
  61. package/dist/cjs/{RecoverySelectionScreen-CwLucuiD.js → RecoverySelectionScreen-CMaje15b.js} +1 -1
  62. package/dist/cjs/{Screen-M6XQZTd0.js → Screen-C4gtVIB2.js} +1 -1
  63. package/dist/cjs/{ScreenLayout-DND5buhY.js → ScreenLayout-COH0TK8Y.js} +1 -1
  64. package/dist/cjs/{SetAutomaticRecoveryScreen-DuRPXhP0.js → SetAutomaticRecoveryScreen-D5Hw8eNe.js} +1 -1
  65. package/dist/cjs/{SetWalletPasswordForm-D0eEjP-u.js → SetWalletPasswordForm-BIaXMtEl.js} +1 -1
  66. package/dist/cjs/{SignRequestScreen-LGzYoSpD.js → SignRequestScreen-BZ4eapC7.js} +1 -1
  67. package/dist/cjs/{StandardSignAndSendTransactionScreen-dtePWf7A.js → StandardSignAndSendTransactionScreen-r2GXb1G6.js} +1 -1
  68. package/dist/cjs/{TelegramAuthScreen-BOQRRBD-.js → TelegramAuthScreen-9wKUQlkU.js} +1 -1
  69. package/dist/cjs/{TransactionDetails-CoviBGbu.js → TransactionDetails-COpAbn2x.js} +1 -1
  70. package/dist/cjs/{TransactionErrorView-CZIADuCd.js → TransactionErrorView-0GIGeFK2.js} +1 -1
  71. package/dist/cjs/{TransferFromWalletScreen-CAvZpFHU.js → TransferFromWalletScreen-DWZP1uGW.js} +1 -1
  72. package/dist/cjs/{TransferOrBridgeLoadingScreen-rCuYNou5.js → TransferOrBridgeLoadingScreen-CkIL1XXz.js} +2 -2
  73. package/dist/cjs/{UpdateEmailScreen-BRl0rLXi.js → UpdateEmailScreen-DvH9-lSu.js} +1 -1
  74. package/dist/cjs/{UpdatePhoneScreen-mByXtOCY.js → UpdatePhoneScreen-DRed5FbH.js} +1 -1
  75. package/dist/cjs/{UserLimitReachedScreen-CjNxv9xy.js → UserLimitReachedScreen-BqYIFksV.js} +1 -1
  76. package/dist/cjs/{WalletInfoCard-wDKvmmsx.js → WalletInfoCard-CiGIQ_Ui.js} +1 -1
  77. package/dist/cjs/{WalletInterstitialScreen-BW-Ju9PU.js → WalletInterstitialScreen-Lj5ftT4Q.js} +1 -1
  78. package/dist/cjs/{WalletLink-Dglkazqd.js → WalletLink-Dj3bs71e.js} +1 -1
  79. package/dist/cjs/{WalletOverflowButton-BAZ96Q1e.js → WalletOverflowButton-CqqjQnq9.js} +1 -1
  80. package/dist/cjs/abstract-smart-wallets.js +1 -1
  81. package/dist/cjs/context-wZdgWZUB.js +1 -0
  82. package/dist/cjs/{ethers-O1Nyjl84.js → ethers-CKQdyx7W.js} +1 -1
  83. package/dist/cjs/extended-chains.js +1 -1
  84. package/dist/cjs/farcaster.js +1 -1
  85. package/dist/cjs/{frame-B14fp9oC.js → frame-Oz7volks.js} +1 -1
  86. package/dist/cjs/{get-is-unified-wallet--p0rdEtP.js → get-is-unified-wallet-ibtz66iD.js} +1 -1
  87. package/dist/cjs/{getErc20Balance-DknCauCO.js → getErc20Balance-CN3JMVjF.js} +1 -1
  88. package/dist/cjs/{getErc20TokenInfo-CBduyYx4.js → getErc20TokenInfo-DxDd_HN6.js} +1 -1
  89. package/dist/cjs/{getPublicClient-CGlodIp_.js → getPublicClient-BsmZyCGX.js} +1 -1
  90. package/dist/cjs/{index-BmQlwyOF.js → index-BQkbc-uV.js} +1 -1
  91. package/dist/cjs/{index-B-V647xG.js → index-mNjkTRbF.js} +4 -4
  92. package/dist/cjs/{index-Dnijyzka.js → index-wMbil80w.js} +1 -1
  93. package/dist/cjs/index.js +1 -1
  94. package/dist/cjs/{internal-context-NWsAL807.js → internal-context-BJv4f_bO.js} +1 -1
  95. package/dist/cjs/internal.js +1 -1
  96. package/dist/cjs/{prepareFundingModalData-BADfvap9.js → prepareFundingModalData-DUhgT6Y0.js} +1 -1
  97. package/dist/cjs/{reservoir-CQGyEBb7.js → reservoir-Bx0HQwbb.js} +1 -1
  98. package/dist/cjs/{shared-CJn0wmyB.js → shared-C7aAS5SO.js} +1 -1
  99. package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-DwKYEqJV.js → shouldProceedtoEmbeddedWalletCreationFlow-CwtJGqzM.js} +1 -1
  100. package/dist/cjs/{smart-wallets-BxSjnmxi.js → smart-wallets-B-fEYiIl.js} +1 -1
  101. package/dist/cjs/smart-wallets.js +1 -1
  102. package/dist/cjs/solana.js +1 -1
  103. package/dist/cjs/{styles-Dg1qQgOa.js → styles-DH0Tsq0O.js} +1 -1
  104. package/dist/cjs/{to-ui-error-CnjmH8us.js → to-ui-error-ByzUez1b.js} +1 -1
  105. package/dist/cjs/transfer-B1Y_9LWi.js +1 -0
  106. package/dist/cjs/ui.js +1 -1
  107. package/dist/cjs/{use-export-wallet-no3ZWIW-.js → use-export-wallet-Be7AipzS.js} +1 -1
  108. package/dist/cjs/{use-sign-with-user-signer-BcAsQTGF.js → use-sign-with-user-signer-Cu_6Bx7m.js} +1 -1
  109. package/dist/cjs/{useActiveWallet-Wp8zv7qb.js → useActiveWallet-D9GOotll.js} +1 -1
  110. package/dist/cjs/{useGetSolPrice-C986iVoO.js → useGetSolPrice-Ca32VAbF.js} +1 -1
  111. package/dist/cjs/{useGetTokenPrice-BkD8eOWh.js → useGetTokenPrice-CoEf4JSB.js} +1 -1
  112. package/dist/cjs/{useI18n-J8z0zLWw.js → useI18n-Dqwophu1.js} +1 -1
  113. package/dist/cjs/{usePrivy-BM1sYNel.js → usePrivy-BhaLJaKF.js} +1 -1
  114. package/dist/cjs/{useSolanaRpcClient-CLYG-Dxk.js → useSolanaRpcClient-DxLm7cuH.js} +1 -1
  115. package/dist/cjs/{useWalletBalance-BVb8F3RO.js → useWalletBalance-DI8AY31i.js} +1 -1
  116. package/dist/cjs/{useWallets-20ZeTYCD.js → useWallets-DCGyh9dN.js} +1 -1
  117. package/dist/cjs/{useWallets-DEyFRWD0.js → useWallets-DoT0AQ3s.js} +1 -1
  118. package/dist/esm/{AccountNotFoundScreen-Q-gvf1Fn.mjs → AccountNotFoundScreen-CI0D4ySi.mjs} +1 -1
  119. package/dist/esm/{Address-BGlhcEcA.mjs → Address-C4fukiNP.mjs} +1 -1
  120. package/dist/esm/{AffirmativeConsentScreen-CLQuUvfP.mjs → AffirmativeConsentScreen-efWx6UzN.mjs} +1 -1
  121. package/dist/esm/{AllowlistRejectionScreen-CA0r2B2G.mjs → AllowlistRejectionScreen-BXMajVbe.mjs} +1 -1
  122. package/dist/esm/{AuthenticateWithWalletScreen-CJ0PGjN8.mjs → AuthenticateWithWalletScreen-B7IBRpcP.mjs} +1 -1
  123. package/dist/esm/{AwaitingEvmToSolBridgingScreen-BCl9wYAA.mjs → AwaitingEvmToSolBridgingScreen-cxBOftrF.mjs} +1 -1
  124. package/dist/esm/AwaitingExternalEthereumTransferScreen-CgZPJxNW.mjs +2 -0
  125. package/dist/esm/{AwaitingPasswordlessCodeScreen-BV79QlfB.mjs → AwaitingPasswordlessCodeScreen-pIPldPkU.mjs} +1 -1
  126. package/dist/esm/{AwaitingSolToEvmBridgingScreen-BAWOxcgh.mjs → AwaitingSolToEvmBridgingScreen-BJc0jK3s.mjs} +1 -1
  127. package/dist/esm/{BridgeNetworkSelectionView-T2-4Tr4k.mjs → BridgeNetworkSelectionView-DjURqgXj.mjs} +1 -1
  128. package/dist/esm/{CaptchaScreen-BpGtWd73.mjs → CaptchaScreen-DZhOLCO9.mjs} +1 -1
  129. package/dist/esm/{CoinbaseOnrampStatusScreen-0Uex7DsA.mjs → CoinbaseOnrampStatusScreen-CY3MKXAS.mjs} +1 -1
  130. package/dist/esm/{ConnectEmailForm-DjET3G-q.mjs → ConnectEmailForm-NcyqdOJE.mjs} +1 -1
  131. package/dist/esm/{ConnectLedgerScreen-CQFzXuWK.mjs → ConnectLedgerScreen-BCbXSUmJ.mjs} +1 -1
  132. package/dist/esm/{ConnectOnlyLandingScreen-BHXmw89v.mjs → ConnectOnlyLandingScreen-DDKT7Q7k.mjs} +1 -1
  133. package/dist/esm/{ConnectOnlyStatusScreen-CrK4PC6t.mjs → ConnectOnlyStatusScreen-CYq-frYL.mjs} +1 -1
  134. package/dist/esm/ConnectOrCreateScreen-cJAfQx-J.mjs +1 -0
  135. package/dist/esm/{ConnectPhoneForm-CYfqSIAI.mjs → ConnectPhoneForm-DjqZxuB-.mjs} +1 -1
  136. package/dist/esm/{ConnectWalletView-CduRtfEz.mjs → ConnectWalletView-CGp7rFXq.mjs} +1 -1
  137. package/dist/esm/{ConnectionStatusScreen-KrobwyOT.mjs → ConnectionStatusScreen-CWFkg5OC.mjs} +1 -1
  138. package/dist/esm/{CrossAppAuthScreen-BOKIMDhq.mjs → CrossAppAuthScreen-DqRTKCRF.mjs} +1 -1
  139. package/dist/esm/{CustomLandingScreenView-BcDpTdY_.mjs → CustomLandingScreenView-BxPTSEZL.mjs} +1 -1
  140. package/dist/esm/{DelegatedActionsConsentScreen-B7RhRjIf.mjs → DelegatedActionsConsentScreen-Dgg2-1Sn.mjs} +1 -1
  141. package/dist/esm/{DelegatedActionsRevokeScreen-C5V6mhCq.mjs → DelegatedActionsRevokeScreen-CztqU_Oo.mjs} +1 -1
  142. package/dist/esm/{EmbeddedWalletConnectingScreen-C9Fw9Ret.mjs → EmbeddedWalletConnectingScreen-B4sUIif5.mjs} +1 -1
  143. package/dist/esm/EmbeddedWalletCreatedScreen-Djv6kWAI.mjs +1 -0
  144. package/dist/esm/{EmbeddedWalletKeyExportScreen-DxbOABYY.mjs → EmbeddedWalletKeyExportScreen-BqozBh7H.mjs} +1 -1
  145. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-DWvW9eRs.mjs +1 -0
  146. package/dist/esm/{EmbeddedWalletPasswordUpdateScreen-B25GzXZc.mjs → EmbeddedWalletPasswordUpdateScreen-BoQ-HdCR.mjs} +1 -1
  147. package/dist/esm/{EmbeddedWalletPasswordUpdateSplashScreen-Cu_NA9L6.mjs → EmbeddedWalletPasswordUpdateSplashScreen-B6k6GRZN.mjs} +1 -1
  148. package/dist/esm/{EnrollTotp-CXZmaa4A.mjs → EnrollTotp-CukCif6j.mjs} +1 -1
  149. package/dist/esm/{ErrorScreen-DLsfgpC9.mjs → ErrorScreen-BACrlbnT.mjs} +1 -1
  150. package/dist/esm/{FarcasterConnectStatusScreen-ng3F34Zy.mjs → FarcasterConnectStatusScreen-BmATusyA.mjs} +1 -1
  151. package/dist/esm/{FarcasterSignerStatusScreen-C19Go4EG.mjs → FarcasterSignerStatusScreen-CWjyzBwk.mjs} +1 -1
  152. package/dist/esm/{FundSolWalletWithExternalSolanaWallet-DpBJNLZJ.mjs → FundSolWalletWithExternalSolanaWallet-BvQrkL0k.mjs} +1 -1
  153. package/dist/esm/{FundWalletMethodHeader-CI5afzwL.mjs → FundWalletMethodHeader-AiS18uZn.mjs} +1 -1
  154. package/dist/esm/{FundingEditAmountScreen-DVwlwSMh.mjs → FundingEditAmountScreen-kKwJ8dz8.mjs} +1 -1
  155. package/dist/esm/{FundingMethodSelectionScreen-BEXU_dRV.mjs → FundingMethodSelectionScreen-Cywf8FMW.mjs} +1 -1
  156. package/dist/esm/{InAppBrowserLoginNotPossible-fdO06E7f.mjs → InAppBrowserLoginNotPossible-DfscY-nj.mjs} +1 -1
  157. package/dist/esm/{InstallWalletScreen-BTCkqOY-.mjs → InstallWalletScreen-CCT-Qs7e.mjs} +1 -1
  158. package/dist/esm/LandingScreen-BKw0C3-6.mjs +1 -0
  159. package/dist/esm/{LinkConflictScreen-CEU67LFR.mjs → LinkConflictScreen-ppQfc4uC.mjs} +1 -1
  160. package/dist/esm/{LinkEmailScreen-frIcyTMB.mjs → LinkEmailScreen-3fD1dFMW.mjs} +1 -1
  161. package/dist/esm/{LinkPasskeyScreen-DJveInKu.mjs → LinkPasskeyScreen-CUdvQeqw.mjs} +1 -1
  162. package/dist/esm/{LinkPhoneScreen-DoNf-oO4.mjs → LinkPhoneScreen-avo8CmrK.mjs} +1 -1
  163. package/dist/esm/{LoginFailedScreen-g2jT2Kyc.mjs → LoginFailedScreen-CqOzzZaq.mjs} +1 -1
  164. package/dist/esm/{ManualTransferScreen-Cc1Y8Jih.mjs → ManualTransferScreen-BE_WaxS9.mjs} +1 -1
  165. package/dist/esm/{MfaAuthEnrollmentFlowScreen-O3_CYjp9.mjs → MfaAuthEnrollmentFlowScreen-D8kccFQA.mjs} +1 -1
  166. package/dist/esm/{MfaAuthVerifyFlowScreen-T7Rg8uvy.mjs → MfaAuthVerifyFlowScreen-Cb9DZ4gN.mjs} +1 -1
  167. package/dist/esm/{MfaEnrollmentFlowScreen-Bz72-m4D.mjs → MfaEnrollmentFlowScreen-99fSY8g-.mjs} +1 -1
  168. package/dist/esm/{MfaVerifyFlowScreen-C_vKdC1M.mjs → MfaVerifyFlowScreen-o_Yfo0QH.mjs} +1 -1
  169. package/dist/esm/{ModalHeader-D5psNgrf.mjs → ModalHeader-BAGwTwiB.mjs} +1 -1
  170. package/dist/esm/{MoonpayStatusScreen-B8KZWDvr.mjs → MoonpayStatusScreen-Cg4mZfRC.mjs} +2 -2
  171. package/dist/esm/{OAuthStatusScreen-BqifArEf.mjs → OAuthStatusScreen-UdobH4WP.mjs} +1 -1
  172. package/dist/esm/{PasskeySelectSignupOrLogin-BnluBsvm.mjs → PasskeySelectSignupOrLogin-xct1rtzo.mjs} +1 -1
  173. package/dist/esm/{PasskeyStatusScreen-DNO05Efn.mjs → PasskeyStatusScreen-DYsvVX3i.mjs} +1 -1
  174. package/dist/esm/{PasswordRecoveryScreen-B7NJ3m5d.mjs → PasswordRecoveryScreen-B9EHvANs.mjs} +1 -1
  175. package/dist/esm/{QrCode-Bp7vKyXB.mjs → QrCode-CT_CXG3e.mjs} +1 -1
  176. package/dist/esm/RecoveryOAuthStatusScreen-DNfp6fRv.mjs +1 -0
  177. package/dist/esm/RecoveryPasswordCreateScreen-CtisV6Qu.mjs +1 -0
  178. package/dist/esm/{RecoverySelectionScreen-ePxeHUj1.mjs → RecoverySelectionScreen-BzhQF-en.mjs} +2 -2
  179. package/dist/esm/{Screen-q8npRQhQ.mjs → Screen-Dv092amM.mjs} +1 -1
  180. package/dist/esm/{ScreenLayout-DIdy7nhJ.mjs → ScreenLayout-DG_XRElR.mjs} +1 -1
  181. package/dist/esm/{SetAutomaticRecoveryScreen-CVl0jRLW.mjs → SetAutomaticRecoveryScreen-Cc5MVRbR.mjs} +1 -1
  182. package/dist/esm/{SetWalletPasswordForm-B55ZeX-5.mjs → SetWalletPasswordForm-D3-A_JVl.mjs} +1 -1
  183. package/dist/esm/{SignRequestScreen-DsHKzR1x.mjs → SignRequestScreen-DXUaMZ6j.mjs} +1 -1
  184. package/dist/esm/{StandardSignAndSendTransactionScreen-BuT88OVq.mjs → StandardSignAndSendTransactionScreen-DuuDN9Sp.mjs} +1 -1
  185. package/dist/esm/{TelegramAuthScreen-DQ63cPv-.mjs → TelegramAuthScreen-ByE57dqV.mjs} +1 -1
  186. package/dist/esm/{TransactionDetails-DB8AH1mq.mjs → TransactionDetails-BnKb_enO.mjs} +1 -1
  187. package/dist/esm/{TransactionErrorView-CkMh0sTl.mjs → TransactionErrorView-BEWZNGyq.mjs} +1 -1
  188. package/dist/esm/{TransferFromWalletScreen-rtFkHQRz.mjs → TransferFromWalletScreen-CHxSLdSM.mjs} +2 -2
  189. package/dist/esm/{TransferOrBridgeLoadingScreen-BZTN__SI.mjs → TransferOrBridgeLoadingScreen-mLHBuB78.mjs} +1 -1
  190. package/dist/esm/{UpdateEmailScreen-sALtnLLN.mjs → UpdateEmailScreen-Ckp4zEBP.mjs} +1 -1
  191. package/dist/esm/{UpdatePhoneScreen-DKfVISn1.mjs → UpdatePhoneScreen-CBJdvtlX.mjs} +1 -1
  192. package/dist/esm/{UserLimitReachedScreen-BoinP76r.mjs → UserLimitReachedScreen-Csq5lFOZ.mjs} +1 -1
  193. package/dist/esm/{WalletInfoCard-BtliVaf0.mjs → WalletInfoCard-DKxQTgDG.mjs} +1 -1
  194. package/dist/esm/{WalletInterstitialScreen-jn7VehvZ.mjs → WalletInterstitialScreen-TrxS1y6N.mjs} +1 -1
  195. package/dist/esm/{WalletLink-foFywOfy.mjs → WalletLink-Dqy4DrLT.mjs} +1 -1
  196. package/dist/esm/{WalletOverflowButton-DWdepzzi.mjs → WalletOverflowButton-CF8zOlXL.mjs} +1 -1
  197. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  198. package/dist/esm/context-C7FGpzoq.mjs +1 -0
  199. package/dist/esm/{ethers-TpFbevgv.mjs → ethers-jrpF9vqa.mjs} +1 -1
  200. package/dist/esm/extended-chains.mjs +1 -1
  201. package/dist/esm/farcaster.mjs +1 -1
  202. package/dist/esm/{frame-CwE9r3cT.mjs → frame-uzTmvtww.mjs} +1 -1
  203. package/dist/esm/{get-is-unified-wallet-CvIzjbW7.mjs → get-is-unified-wallet-DKm2LBUt.mjs} +1 -1
  204. package/dist/esm/{getErc20Balance-CaKjNAs9.mjs → getErc20Balance-DA4dGV9O.mjs} +1 -1
  205. package/dist/esm/{getErc20TokenInfo-BFoeg5F6.mjs → getErc20TokenInfo-CxatSwzi.mjs} +1 -1
  206. package/dist/esm/{getPublicClient-A9RSftUZ.mjs → getPublicClient-B4uPLKn-.mjs} +1 -1
  207. package/dist/esm/{index-DEy_pO5S.mjs → index-BLPxiHb2.mjs} +1 -1
  208. package/dist/esm/index-DNLZMnCG.mjs +174 -0
  209. package/dist/esm/{index-DieEhruj.mjs → index-RTEGzREl.mjs} +1 -1
  210. package/dist/esm/index.mjs +1 -1
  211. package/dist/esm/{internal-context-e-Eni5bG.mjs → internal-context-Z-fyxadS.mjs} +1 -1
  212. package/dist/esm/internal.mjs +1 -1
  213. package/dist/esm/{prepareFundingModalData-CRrWM52E.mjs → prepareFundingModalData-BHVs3Cx-.mjs} +1 -1
  214. package/dist/esm/{reservoir-kvLjIrEo.mjs → reservoir-0wfhnc0j.mjs} +1 -1
  215. package/dist/esm/{shared-JeLSzCHD.mjs → shared-BjYW7t-U.mjs} +1 -1
  216. package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-D0uaMzCB.mjs → shouldProceedtoEmbeddedWalletCreationFlow-Ir-axYfm.mjs} +1 -1
  217. package/dist/esm/{smart-wallets-XRilJC8w.mjs → smart-wallets-BcApWuwL.mjs} +1 -1
  218. package/dist/esm/smart-wallets.mjs +1 -1
  219. package/dist/esm/solana.mjs +1 -1
  220. package/dist/esm/{styles-CaJCyFB5.mjs → styles-C12iVD4I.mjs} +1 -1
  221. package/dist/esm/{to-ui-error-l1Vm31qE.mjs → to-ui-error-GnZ5qhQ4.mjs} +1 -1
  222. package/dist/esm/{transfer-CMPmjPsM.mjs → transfer-6YztDh-t.mjs} +1 -1
  223. package/dist/esm/ui.mjs +1 -1
  224. package/dist/esm/{use-export-wallet-D-0qOhlZ.mjs → use-export-wallet-D2afU6Pi.mjs} +1 -1
  225. package/dist/esm/{use-sign-with-user-signer-eEm9Olt_.mjs → use-sign-with-user-signer-Do5Oi_rb.mjs} +1 -1
  226. package/dist/esm/{useActiveWallet-RUYo4pXO.mjs → useActiveWallet-CT7uncGy.mjs} +2 -2
  227. package/dist/esm/{useGetSolPrice-Cfm8o9C5.mjs → useGetSolPrice-DwwjjGbd.mjs} +1 -1
  228. package/dist/esm/{useGetTokenPrice-C1-pGMgN.mjs → useGetTokenPrice-CInz9y-l.mjs} +1 -1
  229. package/dist/esm/{useI18n-CD7HCIxK.mjs → useI18n-_trTURSX.mjs} +1 -1
  230. package/dist/esm/usePrivy-DXv-y-86.mjs +1 -0
  231. package/dist/esm/{useSolanaRpcClient-C55AFEgY.mjs → useSolanaRpcClient-BPnbGqxB.mjs} +1 -1
  232. package/dist/esm/{useWalletBalance-CkNw6kj0.mjs → useWalletBalance-CRXiZUj2.mjs} +1 -1
  233. package/dist/esm/{useWallets-BkIu5vyx.mjs → useWallets-Cs7YKcaR.mjs} +1 -1
  234. package/dist/esm/{useWallets-O-mGV40Z.mjs → useWallets-DnyWQdit.mjs} +1 -1
  235. package/package.json +7 -7
  236. package/dist/cjs/AwaitingExternalEthereumTransferScreen-DVUwVgck.js +0 -2
  237. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-1TcX3o8K.js +0 -1
  238. package/dist/cjs/FundingEditAmountScreen-CzTSH2dC.js +0 -1
  239. package/dist/cjs/RecoveryOAuthStatusScreen-lyldMRwo.js +0 -1
  240. package/dist/cjs/RecoveryPasswordCreateScreen-Cb83wfAF.js +0 -1
  241. package/dist/cjs/context-B8VkgLLk.js +0 -1
  242. package/dist/cjs/transfer-Cit146vy.js +0 -1
  243. package/dist/cjs/use-create-wallet-without-fallback-B3AnOM0l.js +0 -1
  244. package/dist/esm/AwaitingExternalEthereumTransferScreen-PysgS8Qt.mjs +0 -2
  245. package/dist/esm/ConnectOrCreateScreen-BrRb6sNR.mjs +0 -1
  246. package/dist/esm/EmbeddedWalletCreatedScreen-keGjjfu4.mjs +0 -1
  247. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-B7blEQwB.mjs +0 -1
  248. package/dist/esm/LandingScreen-BYYtxc3M.mjs +0 -1
  249. package/dist/esm/RecoveryOAuthStatusScreen-C0tnlfv2.mjs +0 -1
  250. package/dist/esm/RecoveryPasswordCreateScreen-BgT7udfA.mjs +0 -1
  251. package/dist/esm/context-Bu4xmqpC.mjs +0 -1
  252. package/dist/esm/index-ygZBlWlm.mjs +0 -174
  253. package/dist/esm/use-create-wallet-without-fallback-BLN3_KXw.mjs +0 -1
  254. package/dist/esm/usePrivy-Bn7q4pcu.mjs +0 -1
@@ -1,4 +1,4 @@
1
- import{useEffect as e,useState as t,createContext as n,useContext as i,useMemo as a,useCallback as r}from"react";import{create as l}from"zustand";import{u as o,n as s,o as c,p as d}from"./context-Bu4xmqpC.mjs";import{styled as h,css as p}from"styled-components";import{jsx as u,jsxs as m}from"react/jsx-runtime";import*as w from"react-device-detect";import{c as f,u as y,f as g,d as b,S as v}from"./prepareFundingModalData-CRrWM52E.mjs";import{u as x}from"./events-context-CI0iqAXA.mjs";import{isAddress as k}from"viem";import{getAddress as C,toHex as _}from"viem/utils";import{P as T,u as P}from"./internal-context-e-Eni5bG.mjs";import{a as W}from"./getPublicClient-A9RSftUZ.mjs";import{P as z}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{u as $}from"./useWallets-BkIu5vyx.mjs";const S=l((()=>({listings:[],loading:!1}))),I=S.setState,j=e=>S.getState().listings.find((({slug:t})=>N(t)===N(e))),E=e=>{let t;try{t=new URL(e).hostname}catch(e){return}return S.getState().listings.find((({homepage:e})=>{let n;try{n=new URL(e).hostname}catch(e){return!1}return t.includes(n)}))},D=(t=!0)=>{let n=o(),i=S((e=>e.listings)),a=S((e=>e.loading)),r=!!i.length;return e((()=>{t&&!r&&(I({listings:[],loading:!0}),(async e=>{let t=new URL("v3/wallets","https://explorer-api.walletconnect.com");t.searchParams.append("projectId",e);let n=await fetch(t);return n.ok?Object.values((await n.json()).listings).sort((({slug:e},{slug:t})=>"rainbow"===e&&"metamask"===t?1:"metamask"===e||"rainbow"===e?-1:1)):(console.debug(`Failed to fetch WalletConnect listings: ${await n.text().catch((()=>"No response."))}`),[])})(n.walletConnectCloudProjectId).then((e=>I({listings:e,loading:!1}))).catch((e=>{console.error(e),I({listings:[],loading:!1})})))}),[t,r,n.walletConnectCloudProjectId]),{listings:i,loading:a}},O=e=>{let{listings:t}=D();return t.find((({slug:t})=>N(t)===N(e)))};function N(e){return"cryptocom"===e?"cryptocom-defi":"binance"===e?"binance-defi":e.replace(/[-_]wallet$/,"")}function M(e){return["wallet_connect","backpack","binance","binanceus","bitget_wallet","bybit_wallet","cryptocom","haha_wallet","jupiter","metamask","okx_wallet","phantom","rabby_wallet","rainbow","ronin_wallet","safe","solflare","uniswap","zerion","kraken_wallet"].some((t=>e?.includes(t)))}const A=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,L=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||"MetaMask"!==A(e))return!1;if(e.providers)for(let t of e.providers)if(!L(t))return!1;return!0},F=()=>{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},B=(e,t)=>{let n=[],i=[];for(let[a,r]of e.entries())a<t?n.push(r):i.push(r);return[n,i]},U=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,}))$/),R=(e,t)=>{let n=e.slice(0),i=[];for(;n.length;)i.push(n.splice(0,t));return i},q=(e,t=3,n=4,i="ethereum")=>{if(!e)return"";let a="ethereum"===i?2:0;return t+n+a+3>=e.length?e:`${e.slice(0,a+t)}...${e.slice(e.length-n,e.length)}`},K=(e,t=3,n=4)=>q(e,t,n,"solana"),H=e=>new Promise((t=>setTimeout(t,e)));function Z(e,{interval:t=100,timeout:n=5e3}={}){return new Promise(((i,a)=>{let r,l=0,o=()=>{l>=n?a("Max attempts reached without result"):(r=e(),l+=t,null==r?setTimeout(o,t):i(r))};o()}))}const X=(e,t={})=>{let n=t.delayMs||150,i=t.maxAttempts||270;return new Promise((async(a,r)=>{let l=!1,o=0;for(;!l&&o<i;){if(t.abortSignal?.aborted)return;e().then((e=>{l=!0,a(e)}),((...e)=>{l=!0,r(...e)})),o+=1,await H(n)}l||r(Error("Exceeded max attempts before resolving function"))}))},G=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,""),J=e=>"string"==typeof e?e:"0x"+e.toString(16);async function Q({store:e,walletList:t,externalWalletConfig:n,walletChainType:i,timeout:a=3e3}){let r=!1,l=window;return new Promise((o=>{function s(){if(r)return;r=!0,window.removeEventListener("ethereum#initialized",s);let a=e.getProviders();console.debug("Detected injected providers:",a.map((e=>e.info)));let l=[];for(let e of a)t.includes("coinbase_wallet")&&"com.coinbase.wallet"===e.info.rdns||"solana-only"===i&&"app.phantom"===e.info.rdns||l.push({type:e.info.name.toLowerCase().replace(/\s/g,"_"),eip6963InjectedProvider:e});if("solana-only"!==i)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=A(e);if(!a.some((e=>e.info.name===t))){if(L(e,!0)&&!l.find((e=>"metamask"===e.type))){l.push({type:"metamask",legacyInjectedProvider:e});continue}if("Phantom"===t&&!l.find((e=>"phantom"===e.type))){l.push({type:"phantom",legacyInjectedProvider:e});continue}if("Coinbase Wallet"===t&&!l.find((e=>"coinbase_wallet"===e.type&&"smartWalletOnly"!==n.coinbaseWallet?.config?.preference?.options))){l.push({type:"coinbase_wallet",legacyInjectedProvider:e});continue}l.find((e=>"unknown_browser_extension"===e.type))||l.push({type:"unknown_browser_extension",legacyInjectedProvider:e})}}o(l)}l.ethereum?s():(window.addEventListener("ethereum#initialized",s,{once:!0}),setTimeout((()=>{s()}),a))}))}function V(e){return`eip155:${String(Number(e))}`}const Y=(e,t,n,i)=>{let a=Number(e),r=t.find((e=>e.id===a));if(!r)throw new T(`Unsupported chainId ${e}`,4901);return W(r,n,i)},ee=(e,t)=>{let n=Number(e),i=t.find((e=>e.id===n));if(!i)throw new T(`Unsupported chainId ${e}`,4901);return i.blockExplorers?.default.url},te=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}}};function ne(e,{min:t,max:n}){return Math.min(Math.max(e,t),n)}const ie=e=>e?.map((e=>({signer_id:e.signerId,override_policy_ids:e.policyIds})));function ae(e){return"ethereum"===e.type}function re(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],a=t[n];if(i?.address!==a?.address||i&&a&&ae(i)&&ae(a)&&i?.chainId!==a?.chainId||i?.connectorType!==a?.connectorType||i?.connectedAt!==a?.connectedAt||i?.walletClientType!==a?.walletClientType||i?.isConnected!==a?.isConnected||i?.linked!==a?.linked)return!1}return!0}const le=(e,t)=>e.rpcTimeouts&&e.rpcTimeouts[t]||s;function oe(e){return"ethereum"===e.chainType}class se extends f{buildConnectedWallet(e,t,n,i){let a=async()=>!!this.wallets.find((t=>C(t.address)===C(e)));return{type:"ethereum",address:C(e),chainId:t,meta:n,imported:i,switchChain:async n=>{let i,r;if(!a)throw new T("Wallet is not currently connected.");let l=this.wallets.find((t=>C(t.address)===C(e)))?.chainId;if(!l)throw new T("Unable to determine current chainId.");if("number"==typeof n?(i=`0x${n.toString(16)}`,r=n):(i=n,r=Number(n)),l===V(i))return;let o=this.chains.find((e=>e.id===r));if(!o)throw new T(`Unsupported chainId: ${n}`);let s=async()=>{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:i}]})};try{return await s()}catch(e){if(((e,t)=>{switch(t){case"coinbase_wallet":case"base_account":return e.message.includes("addEthereumChain");case"rabby_wallet":return e.message.includes("Unrecognized chain ID");default:return 4902===e.code||e.message?.includes("4902")}})(e,this.walletClientType))return"rabby_wallet"===this.walletClientType&&await H(300),await this.proxyProvider.request({method:"wallet_addEthereumChain",params:[{chainId:i,chainName:o.name,nativeCurrency:o.nativeCurrency,rpcUrls:[o.rpcUrls.default?.http[0]??""],blockExplorerUrls:[o.blockExplorers?.default.url??""]}]}),s();if("rainbow"===this.walletClientType&&e.message?.includes("wallet_switchEthereumChain"))throw new T(`Rainbow does not support the chainId ${t}`);throw e}},connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:a,getEthereumProvider:async()=>{if(!await a())throw new T("Wallet is not currently connected.");return this.proxyProvider},sign:async e=>{if(!await a())throw new T("Wallet is not currently connected.");return await this.sign(e)},disconnect:()=>{this.disconnect()}}}async syncAccounts(e){let t,n=e;try{if(void 0===n){let e=await X((()=>this.proxyProvider.request({method:"eth_accounts"})),{maxAttempts:10,delayMs:500});console.debug(`eth_accounts for ${this.walletClientType}:`,e),Array.isArray(e)&&(n=e)}}catch(e){console.debug("Wallet did not respond to eth_accounts. Defaulting to prefetched accounts.",e)}if(!n||!Array.isArray(n)||n.length<=0||!n[0])return;let i=n[0];if(!k(i))return void console.warn(`Invalid ethereum address reported by ${this.walletClientType}: ${i}`);let a=C(i),r=[];if("privy"===this.walletClientType){let e=y.get(c(a));this.chains.find((t=>t.id===Number(e)))||(y.del(c(a)),e=null),t=e||`0x${this.defaultChain.id.toString(16)}`;try{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}catch(e){console.warn(`Unable to switch embedded wallet to chain ID ${t} on initialization`)}}else try{let e=await X((()=>this.proxyProvider.request({method:"eth_chainId"})),{maxAttempts:10,delayMs:500});if(console.debug(`eth_chainId for ${this.walletClientType}:`,e),"string"==typeof e)t=e;else{if("number"!=typeof e)throw Error("Invalid chainId returned from provider");t=`0x${e.toString(16)}`}}catch(e){console.warn(`Failed to get chainId from provider, defaulting to ${d}`,e),t=d}let l=V(t);if(!r.find((e=>C(e.address)===a))){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};r.push(this.buildConnectedWallet(C(i),l,e,"embedded_imported"===this.connectorType))}re(r,this.wallets)||(this.wallets=r,this.emit("walletsUpdated"))}async getConnectedWallet(){let e=await this.proxyProvider.request({method:"eth_accounts"});return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt)).find((t=>e.find((e=>C(e)===C(t.address)))))||null}async isConnected(){let e=await this.proxyProvider.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}async sign(e){return await this.connect({showPrompt:!1}),this.proxyProvider.request({method:"personal_sign",params:[_(e),this.wallets[0]?.address]})}subscribeListeners(){this.proxyProvider.on("accountsChanged",this.onAccountsChanged),this.proxyProvider.on("chainChanged",this.onChainChanged),this.proxyProvider.on("disconnect",this.onDisconnect),this.proxyProvider.on("connect",this.onConnect)}unsubscribeListeners(){this.proxyProvider.removeListener("accountsChanged",this.onAccountsChanged),this.proxyProvider.removeListener("chainChanged",this.onChainChanged),this.proxyProvider.removeListener("disconnect",this.onDisconnect),this.proxyProvider.removeListener("connect",this.onConnect)}constructor(e,t,n,i){super(e),this.chainType="ethereum",this.onAccountsChanged=e=>{0===e.length?this.onDisconnect():this.syncAccounts(e)},this.onChainChanged=e=>{this.wallets.forEach((t=>{t.chainId=V(e),"privy"===this.walletClientType&&y.put(c(t.address),e)})),this.emit("walletsUpdated")},this.onDisconnect=()=>{this.connected=!1,this.wallets=[],this.emit("walletsUpdated")},this.onConnect=async()=>{"base_account"===this.connectorType&&this.connected||(this.connected=!0,"coinbase_wallet"===this.connectorType&&await H(500),this.syncAccounts())},this.wallets=[],this.walletClientType=e,this.chains=t,this.defaultChain=n,this.rpcConfig=i,this.rpcTimeoutDuration=le(i,e),this.connected=!1,this.initialized=!1}}class ce{on(e,t){if(this.walletProvider)return this.walletProvider.on(e,t);this._subscriptions.push({eventName:e,listener:t})}async request(e){if(!this.walletProvider)throw new T(`A wallet request of type ${e.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(e),this.walletTimeout()]).catch((e=>{throw g(e)}))}constructor(e,t){this.removeListener=(e,t)=>{if(this.walletProvider)try{return this.walletProvider.removeListener(e,t)}catch(e){console.warn("Unable to remove wallet provider listener")}},this.walletTimeout=(e=new b,t=this.rpcTimeoutDuration)=>new Promise(((n,i)=>setTimeout((()=>{i(e)}),t))),this.setWalletProvider=e=>{this.walletProvider&&this._subscriptions.forEach((e=>{this.removeListener(e.eventName,e.listener)})),this.walletProvider=e,this._subscriptions.forEach((e=>{this.walletProvider?.on(e.eventName,e.listener)}))},this.walletProvider=e,this.rpcTimeoutDuration=t||s,this._subscriptions=[]}}const de=n=>{let[i,a]=t("auto");return e((()=>{let e=new ResizeObserver((e=>{a(e[0]?.contentRect.height??"auto")}));return n.current&&e.observe(n.current),()=>{n.current&&e.unobserve(n.current)}}),[n.current]),i},he=h.div`
1
+ import{useEffect as e,useState as t,createContext as n,useContext as i,useMemo as a,useCallback as r}from"react";import{create as l}from"zustand";import{u as o,n as s,o as c,p as d}from"./context-C7FGpzoq.mjs";import{styled as h,css as p}from"styled-components";import{jsx as u,jsxs as m}from"react/jsx-runtime";import*as w from"react-device-detect";import{c as f,u as y,f as g,d as b,S as v}from"./prepareFundingModalData-BHVs3Cx-.mjs";import{u as x}from"./events-context-CI0iqAXA.mjs";import{isAddress as k}from"viem";import{getAddress as C,toHex as _}from"viem/utils";import{P as T,u as P}from"./internal-context-Z-fyxadS.mjs";import{a as W}from"./getPublicClient-B4uPLKn-.mjs";import{P as z}from"./get-is-unified-wallet-DKm2LBUt.mjs";import{u as $}from"./useWallets-Cs7YKcaR.mjs";const S=l((()=>({listings:[],loading:!1}))),I=S.setState,j=e=>S.getState().listings.find((({slug:t})=>N(t)===N(e))),E=e=>{let t;try{t=new URL(e).hostname}catch(e){return}return S.getState().listings.find((({homepage:e})=>{let n;try{n=new URL(e).hostname}catch(e){return!1}return t.includes(n)}))},D=(t=!0)=>{let n=o(),i=S((e=>e.listings)),a=S((e=>e.loading)),r=!!i.length;return e((()=>{t&&!r&&(I({listings:[],loading:!0}),(async e=>{let t=new URL("v3/wallets","https://explorer-api.walletconnect.com");t.searchParams.append("projectId",e);let n=await fetch(t);return n.ok?Object.values((await n.json()).listings).sort((({slug:e},{slug:t})=>"rainbow"===e&&"metamask"===t?1:"metamask"===e||"rainbow"===e?-1:1)):(console.debug(`Failed to fetch WalletConnect listings: ${await n.text().catch((()=>"No response."))}`),[])})(n.walletConnectCloudProjectId).then((e=>I({listings:e,loading:!1}))).catch((e=>{console.error(e),I({listings:[],loading:!1})})))}),[t,r,n.walletConnectCloudProjectId]),{listings:i,loading:a}},O=e=>{let{listings:t}=D();return t.find((({slug:t})=>N(t)===N(e)))};function N(e){return"cryptocom"===e?"cryptocom-defi":"binance"===e?"binance-defi":e.replace(/[-_]wallet$/,"")}function M(e){return["wallet_connect","backpack","binance","binanceus","bitget_wallet","bybit_wallet","cryptocom","haha_wallet","jupiter","metamask","okx_wallet","phantom","rabby_wallet","rainbow","ronin_wallet","safe","solflare","uniswap","zerion","kraken_wallet"].some((t=>e?.includes(t)))}const A=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,L=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||"MetaMask"!==A(e))return!1;if(e.providers)for(let t of e.providers)if(!L(t))return!1;return!0},F=()=>{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},B=(e,t)=>{let n=[],i=[];for(let[a,r]of e.entries())a<t?n.push(r):i.push(r);return[n,i]},U=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,}))$/),R=(e,t)=>{let n=e.slice(0),i=[];for(;n.length;)i.push(n.splice(0,t));return i},q=(e,t=3,n=4,i="ethereum")=>{if(!e)return"";let a="ethereum"===i?2:0;return t+n+a+3>=e.length?e:`${e.slice(0,a+t)}...${e.slice(e.length-n,e.length)}`},K=(e,t=3,n=4)=>q(e,t,n,"solana"),H=e=>new Promise((t=>setTimeout(t,e)));function Z(e,{interval:t=100,timeout:n=5e3}={}){return new Promise(((i,a)=>{let r,l=0,o=()=>{l>=n?a("Max attempts reached without result"):(r=e(),l+=t,null==r?setTimeout(o,t):i(r))};o()}))}const X=(e,t={})=>{let n=t.delayMs||150,i=t.maxAttempts||270;return new Promise((async(a,r)=>{let l=!1,o=0;for(;!l&&o<i;){if(t.abortSignal?.aborted)return;e().then((e=>{l=!0,a(e)}),((...e)=>{l=!0,r(...e)})),o+=1,await H(n)}l||r(Error("Exceeded max attempts before resolving function"))}))},G=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,""),J=e=>"string"==typeof e?e:"0x"+e.toString(16);async function Q({store:e,walletList:t,externalWalletConfig:n,walletChainType:i,timeout:a=3e3}){let r=!1,l=window;return new Promise((o=>{function s(){if(r)return;r=!0,window.removeEventListener("ethereum#initialized",s);let a=e.getProviders();console.debug("Detected injected providers:",a.map((e=>e.info)));let l=[];for(let e of a)t.includes("coinbase_wallet")&&"com.coinbase.wallet"===e.info.rdns||"solana-only"===i&&"app.phantom"===e.info.rdns||l.push({type:e.info.name.toLowerCase().replace(/\s/g,"_"),eip6963InjectedProvider:e});if("solana-only"!==i)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=A(e);if(!a.some((e=>e.info.name===t))){if(L(e,!0)&&!l.find((e=>"metamask"===e.type))){l.push({type:"metamask",legacyInjectedProvider:e});continue}if("Phantom"===t&&!l.find((e=>"phantom"===e.type))){l.push({type:"phantom",legacyInjectedProvider:e});continue}if("Coinbase Wallet"===t&&!l.find((e=>"coinbase_wallet"===e.type&&"smartWalletOnly"!==n.coinbaseWallet?.config?.preference?.options))){l.push({type:"coinbase_wallet",legacyInjectedProvider:e});continue}l.find((e=>"unknown_browser_extension"===e.type))||l.push({type:"unknown_browser_extension",legacyInjectedProvider:e})}}o(l)}l.ethereum?s():(window.addEventListener("ethereum#initialized",s,{once:!0}),setTimeout((()=>{s()}),a))}))}function V(e){return`eip155:${String(Number(e))}`}const Y=(e,t,n,i)=>{let a=Number(e),r=t.find((e=>e.id===a));if(!r)throw new T(`Unsupported chainId ${e}`,4901);return W(r,n,i)},ee=(e,t)=>{let n=Number(e),i=t.find((e=>e.id===n));if(!i)throw new T(`Unsupported chainId ${e}`,4901);return i.blockExplorers?.default.url},te=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}}};function ne(e,{min:t,max:n}){return Math.min(Math.max(e,t),n)}const ie=e=>e?.map((e=>({signer_id:e.signerId,override_policy_ids:e.policyIds})));function ae(e){return"ethereum"===e.type}function re(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],a=t[n];if(i?.address!==a?.address||i&&a&&ae(i)&&ae(a)&&i?.chainId!==a?.chainId||i?.connectorType!==a?.connectorType||i?.connectedAt!==a?.connectedAt||i?.walletClientType!==a?.walletClientType||i?.isConnected!==a?.isConnected||i?.linked!==a?.linked)return!1}return!0}const le=(e,t)=>e.rpcTimeouts&&e.rpcTimeouts[t]||s;function oe(e){return"ethereum"===e.chainType}class se extends f{buildConnectedWallet(e,t,n,i){let a=async()=>!!this.wallets.find((t=>C(t.address)===C(e)));return{type:"ethereum",address:C(e),chainId:t,meta:n,imported:i,switchChain:async n=>{let i,r;if(!a)throw new T("Wallet is not currently connected.");let l=this.wallets.find((t=>C(t.address)===C(e)))?.chainId;if(!l)throw new T("Unable to determine current chainId.");if("number"==typeof n?(i=`0x${n.toString(16)}`,r=n):(i=n,r=Number(n)),l===V(i))return;let o=this.chains.find((e=>e.id===r));if(!o)throw new T(`Unsupported chainId: ${n}`);let s=async()=>{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:i}]})};try{return await s()}catch(e){if(((e,t)=>{switch(t){case"coinbase_wallet":case"base_account":return e.message.includes("addEthereumChain");case"rabby_wallet":return e.message.includes("Unrecognized chain ID");default:return 4902===e.code||e.message?.includes("4902")}})(e,this.walletClientType))return"rabby_wallet"===this.walletClientType&&await H(300),await this.proxyProvider.request({method:"wallet_addEthereumChain",params:[{chainId:i,chainName:o.name,nativeCurrency:o.nativeCurrency,rpcUrls:[o.rpcUrls.default?.http[0]??""],blockExplorerUrls:[o.blockExplorers?.default.url??""]}]}),s();if("rainbow"===this.walletClientType&&e.message?.includes("wallet_switchEthereumChain"))throw new T(`Rainbow does not support the chainId ${t}`);throw e}},connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:a,getEthereumProvider:async()=>{if(!await a())throw new T("Wallet is not currently connected.");return this.proxyProvider},sign:async e=>{if(!await a())throw new T("Wallet is not currently connected.");return await this.sign(e)},disconnect:()=>{this.disconnect()}}}async syncAccounts(e){let t,n=e;try{if(void 0===n){let e=await X((()=>this.proxyProvider.request({method:"eth_accounts"})),{maxAttempts:10,delayMs:500});console.debug(`eth_accounts for ${this.walletClientType}:`,e),Array.isArray(e)&&(n=e)}}catch(e){console.debug("Wallet did not respond to eth_accounts. Defaulting to prefetched accounts.",e)}if(!n||!Array.isArray(n)||n.length<=0||!n[0])return;let i=n[0];if(!k(i))return void console.warn(`Invalid ethereum address reported by ${this.walletClientType}: ${i}`);let a=C(i),r=[];if("privy"===this.walletClientType){let e=y.get(c(a));this.chains.find((t=>t.id===Number(e)))||(y.del(c(a)),e=null),t=e||`0x${this.defaultChain.id.toString(16)}`;try{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}catch(e){console.warn(`Unable to switch embedded wallet to chain ID ${t} on initialization`)}}else try{let e=await X((()=>this.proxyProvider.request({method:"eth_chainId"})),{maxAttempts:10,delayMs:500});if(console.debug(`eth_chainId for ${this.walletClientType}:`,e),"string"==typeof e)t=e;else{if("number"!=typeof e)throw Error("Invalid chainId returned from provider");t=`0x${e.toString(16)}`}}catch(e){console.warn(`Failed to get chainId from provider, defaulting to ${d}`,e),t=d}let l=V(t);if(!r.find((e=>C(e.address)===a))){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};r.push(this.buildConnectedWallet(C(i),l,e,"embedded_imported"===this.connectorType))}re(r,this.wallets)||(this.wallets=r,this.emit("walletsUpdated"))}async getConnectedWallet(){let e=await this.proxyProvider.request({method:"eth_accounts"});return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt)).find((t=>e.find((e=>C(e)===C(t.address)))))||null}async isConnected(){let e=await this.proxyProvider.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}async sign(e){return await this.connect({showPrompt:!1}),this.proxyProvider.request({method:"personal_sign",params:[_(e),this.wallets[0]?.address]})}subscribeListeners(){this.proxyProvider.on("accountsChanged",this.onAccountsChanged),this.proxyProvider.on("chainChanged",this.onChainChanged),this.proxyProvider.on("disconnect",this.onDisconnect),this.proxyProvider.on("connect",this.onConnect)}unsubscribeListeners(){this.proxyProvider.removeListener("accountsChanged",this.onAccountsChanged),this.proxyProvider.removeListener("chainChanged",this.onChainChanged),this.proxyProvider.removeListener("disconnect",this.onDisconnect),this.proxyProvider.removeListener("connect",this.onConnect)}constructor(e,t,n,i){super(e),this.chainType="ethereum",this.onAccountsChanged=e=>{0===e.length?this.onDisconnect():this.syncAccounts(e)},this.onChainChanged=e=>{this.wallets.forEach((t=>{t.chainId=V(e),"privy"===this.walletClientType&&y.put(c(t.address),e)})),this.emit("walletsUpdated")},this.onDisconnect=()=>{this.connected=!1,this.wallets=[],this.emit("walletsUpdated")},this.onConnect=async()=>{"base_account"===this.connectorType&&this.connected||(this.connected=!0,"coinbase_wallet"===this.connectorType&&await H(500),this.syncAccounts())},this.wallets=[],this.walletClientType=e,this.chains=t,this.defaultChain=n,this.rpcConfig=i,this.rpcTimeoutDuration=le(i,e),this.connected=!1,this.initialized=!1}}class ce{on(e,t){if(this.walletProvider)return this.walletProvider.on(e,t);this._subscriptions.push({eventName:e,listener:t})}async request(e){if(!this.walletProvider)throw new T(`A wallet request of type ${e.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(e),this.walletTimeout()]).catch((e=>{throw g(e)}))}constructor(e,t){this.removeListener=(e,t)=>{if(this.walletProvider)try{return this.walletProvider.removeListener(e,t)}catch(e){console.warn("Unable to remove wallet provider listener")}},this.walletTimeout=(e=new b,t=this.rpcTimeoutDuration)=>new Promise(((n,i)=>setTimeout((()=>{i(e)}),t))),this.setWalletProvider=e=>{this.walletProvider&&this._subscriptions.forEach((e=>{this.removeListener(e.eventName,e.listener)})),this.walletProvider=e,this._subscriptions.forEach((e=>{this.walletProvider?.on(e.eventName,e.listener)}))},this.walletProvider=e,this.rpcTimeoutDuration=t||s,this._subscriptions=[]}}const de=n=>{let[i,a]=t("auto");return e((()=>{let e=new ResizeObserver((e=>{a(e[0]?.contentRect.height??"auto")}));return n.current&&e.observe(n.current),()=>{n.current&&e.unobserve(n.current)}}),[n.current]),i},he=h.div`
2
2
  text-align: left;
3
3
  flex-grow: 1;
4
4
  `,pe=h.div`
@@ -182,4 +182,4 @@ import{useEffect as e,useState as t,createContext as n,useContext as i,useMemo a
182
182
  /* Override default Loader to match button transitions */
183
183
  transition: border-color 200ms ease;
184
184
  }
185
- `;const $e=["metamask","phantom","brave_wallet","rainbow","uniswap_wallet_extension","uniswap_extension","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","crypto.com_wallet_extension","crypto.com_onchain","binance","bitget_wallet","coinbase_wallet","coinbase_smart_wallet","base_account","metamask","trust","safe","rainbow","uniswap","zerion","argent","spot","omni","cryptocom","blockchain","safepal","bitget_wallet","zengo","1inch","binance","exodus","mew_wallet","alphawallet","keyring_pro","mathwallet","unstoppable","obvious","ambire","internet_money_wallet","coin98","abc_wallet","arculus_wallet","haha","cling_wallet","broearn","copiosa","burrito_wallet","enjin_wallet","plasma_wallet","avacus","bee","pitaka","pltwallet","minerva","kryptogo","prema","slingshot","kriptonio","timeless","secux","bitizen","blocto","okx_wallet","safemoon","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","privy","unknown","phantom","solflare","glow","backpack","jupiter","mobile_wallet_adapter"],Se=Object.freeze({phantom:{client:"phantom",name:"Phantom",installLink:w.isFirefox?"https://addons.mozilla.org/en-US/firefox/addon/phantom-app/":"https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa?hl=en",chainTypes:["ethereum","solana"],get isInstalled(){if("phantom"in window){let e=window;if(e?.phantom?.ethereum?.isPhantom&&e?.phantom?.ethereum?.chainId||e?.phantom?.solana?.isPhantom)return!0}return!1},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"phantom://":"https://phantom.app/ul/"}browse/${i}?ref=${i}`}},solflare:{client:"solflare",name:"Solflare",installLink:w.isFirefox?"https://addons.mozilla.org/es/firefox/addon/solflare-wallet/":"https://chromewebstore.google.com/detail/solflare-wallet/bhhhlbepdkbapadjdnnojkbgioiodbic",chainTypes:["solana"],get isInstalled(){return"solflare"in window&&!!window?.solflare?.isSolflare},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"solflare://ul/v1/":"https://solflare.com/ul/v1/"}browse/${i}?ref=${i}`}},jupiter:{client:"jupiter",name:"Jupiter Wallet",installLink:"https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh",chainTypes:["solana"],get isInstalled(){return"jupiter"in window&&!!window?.jupiter?.isJupiter},getMobileRedirect({isSolana:e,connectOnly:t}){let n=je({client:this.client,isSolana:e,connectOnly:t});return`jupjupjup://jup.ag/browse/${n}?ref=${n}`}},backpack:{client:"backpack",name:"Backpack",installLink:"https://chromewebstore.google.com/detail/backpack/aflkmfhebedbjioipglgcbcmnbpgliof",chainTypes:["ethereum","solana"],get isInstalled(){return!(!("backpack"in window)||!window?.backpack?.ethereum?.isBackpack&&!window?.backpack?.solana?.isBackpack)},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"backpack://ul/v1/":"https://backpack.app/ul/v1/"}browse/${i}?ref=${i}`}},okx_wallet:{client:"okx_wallet",name:"OKX Wallet",installLink:"https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",chainTypes:["ethereum","solana"],get isInstalled(){return"okxwallet"in window&&!!window?.okxwallet?.isOkxWallet},getMobileRedirect({isSolana:e,connectOnly:t}){return`okx://wallet/dapp/url?dappUrl=${je({client:this.client,isSolana:e,connectOnly:t})}`}}});function Ie({connectorType:e,walletClientType:t}){for(let n of $e)if(e===n||t===n)return Se[n]}function je({client:e,isSolana:t,connectOnly:n}){let i=new URL(window.location.href);return i.searchParams.set("privy_connector",t?"solana_adapter":"injected"),i.searchParams.set("privy_wallet_client",e),i.searchParams.set("privy_connect_only",String(n)),encodeURIComponent(i.href.replace(/\/$/g,""))}class Ee extends v{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the SolanaNullConnector")}constructor({id:e,name:t,icon:n}){super({name:t},!1),this.connectorType="null",this.proxyProvider=new ce(void 0,s),this.disconnect=async()=>{throw Error("disconnect called for an uninstalled wallet via the SolanaNullConnector")},this.promptConnection=async()=>{throw Error("promptConnection called for an uninstalled wallet via the SolanaNullConnector")},this.id=e,this.name=t,this.icon=n}}function De(e){return"solana"===e.chainType}function Oe(e){return"solana"===e.type}let Ne=/*#__PURE__*/n({});const Me=({children:n})=>{let i=o(),[a,r]=t({});return x("login",{onComplete:({loginAccount:e})=>{e&&"passkey"!==e.type&&"cross_app"!==e.type&&("wallet"!==e.type||"privy"!==e.walletClientType)&&(y.put(Ae(i.id),e.type),"wallet"===e.type?(y.put(Le(i.id),e.walletClientType),y.put(Fe(i.id),e.chainType),r({accountType:e.type,walletClientType:e.walletClientType,chainType:e.chainType})):(y.del(Le(i.id)),y.del(Fe(i.id)),r({accountType:e.type})))}}),e((()=>{if(!i.id)return;let e=y.get(Ae(i.id)),t=y.get(Le(i.id)),n=y.get(Fe(i.id));e&&r("wallet"===e?{accountType:e,walletClientType:t,chainType:n}:{accountType:e})}),[i.id]),/*#__PURE__*/u(Ne.Provider,{value:a,children:n})};let Ae=e=>`privy:${e}:recent-login-method`,Le=e=>`privy:${e}:recent-login-wallet-client`,Fe=e=>`privy:${e}:recent-login-chain-type`;const Be=()=>i(Ne);class Ue extends se{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the EthereumNullConnector")}disconnect(){throw Error("disconnect called for an uninstalled wallet via the EthereumNullConnector")}promptConnection(e){throw Error(`promptConnection called for an uninstalled wallet via the EthereumNullConnector for ${e}`)}constructor({id:e,name:t,icon:n,walletClientType:i,defaultChain:a}){super(i,[],a,{}),this.connectorType="null",this.proxyProvider=new ce(void 0,s),this.id=e,this.name=t,this.icon=n}}const Re=({...e})=>/*#__PURE__*/m("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",...e,children:[/*#__PURE__*/u("rect",{width:"32",height:"32",rx:"6",fill:"#121314"}),/*#__PURE__*/u("g",{transform:"translate(4, 4)",children:/*#__PURE__*/m("svg",{width:"24",height:"24",viewBox:"0 0 318.6 318.6",children:[/*#__PURE__*/u("style",{children:".s1{stroke-linecap:round;stroke-linejoin:round}.s2{fill:#e4761b;stroke:#e4761b}.s3{fill:#f6851b;stroke:#f6851b}"}),/*#__PURE__*/u("path",{fill:"#e2761b",stroke:"#e2761b",className:"s1",d:"m274.1 35.5-99.5 73.9L193 65.8z"}),/*#__PURE__*/u("path",{d:"m44.4 35.5 98.7 74.6-17.5-44.3zm193.9 171.3-26.5 40.6 56.7 15.6 16.3-55.3zm-204.4.9L50.1 263l56.7-15.6-26.5-40.6z",className:"s1 s2"}),/*#__PURE__*/u("path",{d:"m103.6 138.2-15.8 23.9 56.3 2.5-2-60.5zm111.3 0-39-34.8-1.3 61.2 56.2-2.5zM106.8 247.4l33.8-16.5-29.2-22.8zm71.1-16.5 33.9 16.5-4.7-39.3z",className:"s1 s2"}),/*#__PURE__*/u("path",{fill:"#d7c1b3",stroke:"#d7c1b3",className:"s1",d:"m211.8 247.4-33.9-16.5 2.7 22.1-.3 9.3zm-105 0 31.5 14.9-.2-9.3 2.5-22.1z"}),/*#__PURE__*/u("path",{fill:"#233447",stroke:"#233447",className:"s1",d:"m138.8 193.5-28.2-8.3 19.9-9.1zm40.9 0 8.3-17.4 20 9.1z"}),/*#__PURE__*/u("path",{fill:"#cd6116",stroke:"#cd6116",className:"s1",d:"m106.8 247.4 4.8-40.6-31.3.9zM207 206.8l4.8 40.6 26.5-39.7zm23.8-44.7-56.2 2.5 5.2 28.9 8.3-17.4 20 9.1zm-120.2 23.1 20-9.1 8.2 17.4 5.3-28.9-56.3-2.5z"}),/*#__PURE__*/u("path",{fill:"#e4751f",stroke:"#e4751f",className:"s1",d:"m87.8 162.1 23.6 46-.8-22.9zm120.3 23.1-1 22.9 23.7-46zm-64-20.6-5.3 28.9 6.6 34.1 1.5-44.9zm30.5 0-2.7 18 1.2 45 6.7-34.1z"}),/*#__PURE__*/u("path",{d:"m179.8 193.5-6.7 34.1 4.8 3.3 29.2-22.8 1-22.9zm-69.2-8.3.8 22.9 29.2 22.8 4.8-3.3-6.6-34.1z",className:"s3"}),/*#__PURE__*/u("path",{fill:"#c0ad9e",stroke:"#c0ad9e",className:"s1",d:"m180.3 262.3.3-9.3-2.5-2.2h-37.7l-2.3 2.2.2 9.3-31.5-14.9 11 9 22.3 15.5h38.3l22.4-15.5 11-9z"}),/*#__PURE__*/u("path",{fill:"#161616",stroke:"#161616",className:"s1",d:"m177.9 230.9-4.8-3.3h-27.7l-4.8 3.3-2.5 22.1 2.3-2.2h37.7l2.5 2.2z"}),/*#__PURE__*/u("path",{fill:"#763d16",stroke:"#763d16",className:"s1",d:"m278.3 114.2 8.5-40.8-12.7-37.9-96.2 71.4 37 31.3 52.3 15.3 11.6-13.5-5-3.6 8-7.3-6.2-4.8 8-6.1zM31.8 73.4l8.5 40.8-5.4 4 8 6.1-6.1 4.8 8 7.3-5 3.6 11.5 13.5 52.3-15.3 37-31.3-96.2-71.4z"}),/*#__PURE__*/u("path",{d:"m267.2 153.5-52.3-15.3 15.9 23.9-23.7 46 31.2-.4h46.5zm-163.6-15.3-52.3 15.3-17.4 54.2h46.4l31.1.4-23.6-46zm71 26.4 3.3-57.7 15.2-41.1h-67.5l15 41.1 3.5 57.7 1.2 18.2.1 44.8h27.7l.2-44.8z",className:"s3"})]})})]});function qe(e){let{login:t}=i(z);return x("login",e),{login:t}}function Ke(e){let{logout:t}=i(z);return x("logout",e),{logout:t}}function He(e){let{connectWallet:t}=i(z);return x("connectWallet",e),{connectWallet:t}}const Ze=e=>{x("fundWallet",e);let{fundWallet:t}=P();return{fundWallet:({address:e,options:n})=>t(e,n)}},Xe=l((()=>({isModalOpen:!1,resolvers:null})));let Ge=l((()=>({})));const Je=(e,t)=>Ge((n=>n[e]?.[t])),Qe=(e,t,n)=>{Ge.setState((i=>({[e]:{...i[e],[t]:n}})))},Ve=async()=>{let e,t,n=new Promise(((n,i)=>{e=n,t=i}));return Ge.setState({}),Xe.setState({isModalOpen:!0,resolvers:{resolve:e,reject:t}}),await n},Ye=()=>{let e=Xe.getState().resolvers;e||console.warn("useActiveWalletStore: Called close while modal was not open"),Xe.setState({isModalOpen:!1}),e?.resolve({wallet:Xe.getState().wallet})},et=({address:e,client:t,appId:n})=>{let i=`${t}:${e}`;n&&y.put(nt(n),i),Xe.setState({wallet:i})},tt=()=>Xe((e=>e.isModalOpen)),nt=e=>`privy:${e}:active-wallet-connection`,it=()=>{let t=o(),{wallets:n}=$(),{connectors:i}=P(),l=a((()=>i.filter(De).flatMap((e=>e.wallets))),[i]),s=Xe((e=>e.wallet));e((()=>{if(!t.id)return;let e=y.get(nt(t.id));Xe.setState({wallet:e})}),[t.id]);let c=a((()=>{if(!s)return;let[,e]=s.split(":");return n.find((t=>t.address===e))||l.find((t=>t.address===e))}),[s,n,l]),d=a((()=>c?"ethereum"===c.type?c.chainId:"solana":void 0),[c]);return{connect:async e=>{e?.reset&&(y.del(nt(t.id)),Xe.setState({wallet:void 0}));let{wallet:i}=await Ve();if(!i)return{};let[,a]=i.split(":"),r=n.find((e=>e.address===a));if(r)return{wallet:r,network:r.chainId};let o=l.find((e=>e.address===a));return o?{wallet:o,network:"solana"}:{}},setActiveWallet:r((e=>{et({address:e.address,client:e.walletClientType,appId:t.id})}),[t.id]),wallet:c,network:d}};export{fe as $,He as A,Ze as B,it as C,q as D,se as E,Be as F,We as G,be as H,Je as I,Qe as J,et as K,Te as L,Re as M,tt as N,Ye as O,ce as P,O as Q,Me as R,Ee as S,F as T,ye as U,ge as V,ve as W,xe as X,he as Y,me as Z,B as _,Y as a,pe as a0,U as a1,ne as a2,R as a3,ke as a4,ee as a5,K as a6,Pe as a7,ue as a8,j as b,le as c,D as d,M as e,ae as f,E as g,V as h,X as i,re as j,H as k,Oe as l,te as m,Ie as n,Q as o,Z as p,Se as q,oe as r,G as s,J as t,de as u,De as v,Ue as w,ie as x,qe as y,Ke as z};
185
+ `;const $e=["metamask","phantom","brave_wallet","rainbow","uniswap_wallet_extension","uniswap_extension","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","crypto.com_wallet_extension","crypto.com_onchain","binance","bitget_wallet","coinbase_wallet","coinbase_smart_wallet","base_account","metamask","trust","safe","rainbow","uniswap","zerion","argent","spot","omni","cryptocom","blockchain","safepal","bitget_wallet","zengo","1inch","binance","exodus","mew_wallet","alphawallet","keyring_pro","mathwallet","unstoppable","obvious","ambire","internet_money_wallet","coin98","abc_wallet","arculus_wallet","haha","cling_wallet","broearn","copiosa","burrito_wallet","enjin_wallet","plasma_wallet","avacus","bee","pitaka","pltwallet","minerva","kryptogo","prema","slingshot","kriptonio","timeless","secux","bitizen","blocto","okx_wallet","safemoon","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","privy","unknown","phantom","solflare","glow","backpack","jupiter","mobile_wallet_adapter"],Se=Object.freeze({phantom:{client:"phantom",name:"Phantom",installLink:w.isFirefox?"https://addons.mozilla.org/en-US/firefox/addon/phantom-app/":"https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa?hl=en",chainTypes:["ethereum","solana"],get isInstalled(){if("phantom"in window){let e=window;if(e?.phantom?.ethereum?.isPhantom&&e?.phantom?.ethereum?.chainId||e?.phantom?.solana?.isPhantom)return!0}return!1},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"phantom://":"https://phantom.app/ul/"}browse/${i}?ref=${i}`}},solflare:{client:"solflare",name:"Solflare",installLink:w.isFirefox?"https://addons.mozilla.org/es/firefox/addon/solflare-wallet/":"https://chromewebstore.google.com/detail/solflare-wallet/bhhhlbepdkbapadjdnnojkbgioiodbic",chainTypes:["solana"],get isInstalled(){return"solflare"in window&&!!window?.solflare?.isSolflare},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"solflare://ul/v1/":"https://solflare.com/ul/v1/"}browse/${i}?ref=${i}`}},jupiter:{client:"jupiter",name:"Jupiter Wallet",installLink:"https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh",chainTypes:["solana"],get isInstalled(){return"jupiter"in window&&!!window?.jupiter?.isJupiter},getMobileRedirect({isSolana:e,connectOnly:t}){let n=je({client:this.client,isSolana:e,connectOnly:t});return`jupjupjup://jup.ag/browse/${n}?ref=${n}`}},backpack:{client:"backpack",name:"Backpack",installLink:"https://chromewebstore.google.com/detail/backpack/aflkmfhebedbjioipglgcbcmnbpgliof",chainTypes:["ethereum","solana"],get isInstalled(){return!(!("backpack"in window)||!window?.backpack?.ethereum?.isBackpack&&!window?.backpack?.solana?.isBackpack)},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"backpack://ul/v1/":"https://backpack.app/ul/v1/"}browse/${i}?ref=${i}`}},okx_wallet:{client:"okx_wallet",name:"OKX Wallet",installLink:"https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",chainTypes:["ethereum","solana"],get isInstalled(){return"okxwallet"in window&&!!window?.okxwallet?.isOkxWallet},getMobileRedirect({isSolana:e,connectOnly:t}){return`okx://wallet/dapp/url?dappUrl=${je({client:this.client,isSolana:e,connectOnly:t})}`}}});function Ie({connectorType:e,walletClientType:t}){for(let n of $e)if(e===n||t===n)return Se[n]}function je({client:e,isSolana:t,connectOnly:n}){let i=new URL(window.location.href);return i.searchParams.set("privy_connector",t?"solana_adapter":"injected"),i.searchParams.set("privy_wallet_client",e),i.searchParams.set("privy_connect_only",String(n)),encodeURIComponent(i.href.replace(/\/$/g,""))}class Ee extends v{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the SolanaNullConnector")}constructor({id:e,name:t,icon:n}){super({name:t},!1),this.connectorType="null",this.proxyProvider=new ce(void 0,s),this.disconnect=async()=>{throw Error("disconnect called for an uninstalled wallet via the SolanaNullConnector")},this.promptConnection=async()=>{throw Error("promptConnection called for an uninstalled wallet via the SolanaNullConnector")},this.id=e,this.name=t,this.icon=n}}function De(e){return"solana"===e.chainType}function Oe(e){return"solana"===e.type}let Ne=/*#__PURE__*/n({});const Me=({children:n})=>{let i=o(),[a,r]=t({});return x("login",{onComplete:({loginAccount:e})=>{e&&"passkey"!==e.type&&"cross_app"!==e.type&&("wallet"!==e.type||"privy"!==e.walletClientType)&&(y.put(Ae(i.id),e.type),"wallet"===e.type?(y.put(Le(i.id),e.walletClientType),y.put(Fe(i.id),e.chainType),r({accountType:e.type,walletClientType:e.walletClientType,chainType:e.chainType})):(y.del(Le(i.id)),y.del(Fe(i.id)),r({accountType:e.type})))}}),e((()=>{if(!i.id)return;let e=y.get(Ae(i.id)),t=y.get(Le(i.id)),n=y.get(Fe(i.id));e&&r("wallet"===e?{accountType:e,walletClientType:t,chainType:n}:{accountType:e})}),[i.id]),/*#__PURE__*/u(Ne.Provider,{value:a,children:n})};let Ae=e=>`privy:${e}:recent-login-method`,Le=e=>`privy:${e}:recent-login-wallet-client`,Fe=e=>`privy:${e}:recent-login-chain-type`;const Be=()=>i(Ne);class Ue extends se{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the EthereumNullConnector")}disconnect(){throw Error("disconnect called for an uninstalled wallet via the EthereumNullConnector")}promptConnection(e){throw Error(`promptConnection called for an uninstalled wallet via the EthereumNullConnector for ${e}`)}constructor({id:e,name:t,icon:n,walletClientType:i,defaultChain:a}){super(i,[],a,{}),this.connectorType="null",this.proxyProvider=new ce(void 0,s),this.id=e,this.name=t,this.icon=n}}const Re=({...e})=>/*#__PURE__*/m("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",...e,children:[/*#__PURE__*/u("rect",{width:"32",height:"32",rx:"6",fill:"#121314"}),/*#__PURE__*/u("g",{transform:"translate(4, 4)",children:/*#__PURE__*/m("svg",{width:"24",height:"24",viewBox:"0 0 318.6 318.6",children:[/*#__PURE__*/u("style",{children:".s1{stroke-linecap:round;stroke-linejoin:round}.s2{fill:#e4761b;stroke:#e4761b}.s3{fill:#f6851b;stroke:#f6851b}"}),/*#__PURE__*/u("path",{fill:"#e2761b",stroke:"#e2761b",className:"s1",d:"m274.1 35.5-99.5 73.9L193 65.8z"}),/*#__PURE__*/u("path",{d:"m44.4 35.5 98.7 74.6-17.5-44.3zm193.9 171.3-26.5 40.6 56.7 15.6 16.3-55.3zm-204.4.9L50.1 263l56.7-15.6-26.5-40.6z",className:"s1 s2"}),/*#__PURE__*/u("path",{d:"m103.6 138.2-15.8 23.9 56.3 2.5-2-60.5zm111.3 0-39-34.8-1.3 61.2 56.2-2.5zM106.8 247.4l33.8-16.5-29.2-22.8zm71.1-16.5 33.9 16.5-4.7-39.3z",className:"s1 s2"}),/*#__PURE__*/u("path",{fill:"#d7c1b3",stroke:"#d7c1b3",className:"s1",d:"m211.8 247.4-33.9-16.5 2.7 22.1-.3 9.3zm-105 0 31.5 14.9-.2-9.3 2.5-22.1z"}),/*#__PURE__*/u("path",{fill:"#233447",stroke:"#233447",className:"s1",d:"m138.8 193.5-28.2-8.3 19.9-9.1zm40.9 0 8.3-17.4 20 9.1z"}),/*#__PURE__*/u("path",{fill:"#cd6116",stroke:"#cd6116",className:"s1",d:"m106.8 247.4 4.8-40.6-31.3.9zM207 206.8l4.8 40.6 26.5-39.7zm23.8-44.7-56.2 2.5 5.2 28.9 8.3-17.4 20 9.1zm-120.2 23.1 20-9.1 8.2 17.4 5.3-28.9-56.3-2.5z"}),/*#__PURE__*/u("path",{fill:"#e4751f",stroke:"#e4751f",className:"s1",d:"m87.8 162.1 23.6 46-.8-22.9zm120.3 23.1-1 22.9 23.7-46zm-64-20.6-5.3 28.9 6.6 34.1 1.5-44.9zm30.5 0-2.7 18 1.2 45 6.7-34.1z"}),/*#__PURE__*/u("path",{d:"m179.8 193.5-6.7 34.1 4.8 3.3 29.2-22.8 1-22.9zm-69.2-8.3.8 22.9 29.2 22.8 4.8-3.3-6.6-34.1z",className:"s3"}),/*#__PURE__*/u("path",{fill:"#c0ad9e",stroke:"#c0ad9e",className:"s1",d:"m180.3 262.3.3-9.3-2.5-2.2h-37.7l-2.3 2.2.2 9.3-31.5-14.9 11 9 22.3 15.5h38.3l22.4-15.5 11-9z"}),/*#__PURE__*/u("path",{fill:"#161616",stroke:"#161616",className:"s1",d:"m177.9 230.9-4.8-3.3h-27.7l-4.8 3.3-2.5 22.1 2.3-2.2h37.7l2.5 2.2z"}),/*#__PURE__*/u("path",{fill:"#763d16",stroke:"#763d16",className:"s1",d:"m278.3 114.2 8.5-40.8-12.7-37.9-96.2 71.4 37 31.3 52.3 15.3 11.6-13.5-5-3.6 8-7.3-6.2-4.8 8-6.1zM31.8 73.4l8.5 40.8-5.4 4 8 6.1-6.1 4.8 8 7.3-5 3.6 11.5 13.5 52.3-15.3 37-31.3-96.2-71.4z"}),/*#__PURE__*/u("path",{d:"m267.2 153.5-52.3-15.3 15.9 23.9-23.7 46 31.2-.4h46.5zm-163.6-15.3-52.3 15.3-17.4 54.2h46.4l31.1.4-23.6-46zm71 26.4 3.3-57.7 15.2-41.1h-67.5l15 41.1 3.5 57.7 1.2 18.2.1 44.8h27.7l.2-44.8z",className:"s3"})]})})]});function qe(e){let{login:t}=i(z);return x("login",e),{login:t}}function Ke(e){let{logout:t}=i(z);return x("logout",e),{logout:t}}function He(e){let{connectWallet:t}=i(z);return x("connectWallet",e),{connectWallet:t}}const Ze=e=>{x("fundWallet",e);let{fundWallet:t}=P();return{fundWallet:({address:e,options:n})=>t(e,n)}},Xe=l((()=>({isModalOpen:!1,resolvers:null})));let Ge=l((()=>({})));const Je=(e,t)=>Ge((n=>n[e]?.[t])),Qe=(e,t,n)=>{Ge.setState((i=>({[e]:{...i[e],[t]:n}})))},Ve=async()=>{let e,t,n=new Promise(((n,i)=>{e=n,t=i}));return Ge.setState({}),Xe.setState({isModalOpen:!0,resolvers:{resolve:e,reject:t}}),await n},Ye=()=>{let e=Xe.getState().resolvers;e||console.warn("useActiveWalletStore: Called close while modal was not open"),Xe.setState({isModalOpen:!1}),e?.resolve({wallet:Xe.getState().wallet})},et=({address:e,client:t,appId:n})=>{let i=`${t}:${e}`;n&&y.put(nt(n),i),Xe.setState({wallet:i})},tt=()=>Xe((e=>e.isModalOpen)),nt=e=>`privy:${e}:active-wallet-connection`,it=()=>{let t=o(),{wallets:n}=$(),{connectors:i}=P(),l=a((()=>i.filter(De).flatMap((e=>e.wallets))),[i]),s=Xe((e=>e.wallet));e((()=>{if(!t.id)return;let e=y.get(nt(t.id));Xe.setState({wallet:e})}),[t.id]);let c=a((()=>{if(!s)return;let[,e]=s.split(":");return n.find((t=>t.address===e))||l.find((t=>t.address===e))}),[s,n,l]),d=a((()=>c?"ethereum"===c.type?c.chainId:"solana":void 0),[c]);return{connect:async e=>{e?.reset&&(y.del(nt(t.id)),Xe.setState({wallet:void 0}));let{wallet:i}=await Ve();if(!i)return{};let[,a]=i.split(":"),r=n.find((e=>e.address===a));if(r)return{wallet:r,network:r.chainId};let o=l.find((e=>e.address===a));return o?{wallet:o,network:"solana"}:{}},setActiveWallet:r((e=>{et({address:e.address,client:e.walletClientType,appId:t.id})}),[t.id]),wallet:c,network:d}};export{fe as $,He as A,Ze as B,it as C,q as D,se as E,Be as F,We as G,be as H,Je as I,Qe as J,et as K,Te as L,Re as M,tt as N,Ye as O,ce as P,O as Q,Me as R,Ee as S,F as T,ye as U,ge as V,ve as W,xe as X,he as Y,me as Z,B as _,Y as a,pe as a0,U as a1,ne as a2,R as a3,ke as a4,ee as a5,K as a6,Pe as a7,ue as a8,j as b,le as c,D as d,M as e,ae as f,E as g,re as h,X as i,te as j,H as k,V as l,Ie as m,Oe as n,Q as o,Z as p,Se as q,oe as r,G as s,J as t,de as u,De as v,Ue as w,ie as x,qe as y,Ke as z};
@@ -1 +1 @@
1
- import{useState as r,useEffect as e}from"react";import{u as o}from"./internal-context-e-Eni5bG.mjs";const t=({enabled:t=!0}={})=>{let{showFiatPrices:i,getUsdPriceForSol:a}=o(),[c,l]=r(!0),[s,n]=r(void 0),[d,f]=r(void 0);return e((()=>{(async()=>{if(i&&t)try{l(!0);let r=await a();r?f(r):n(Error("Unable to fetch SOL price"))}catch(r){n(r)}finally{l(!1)}else l(!1)})()}),[]),{solPrice:d,isSolPriceLoading:c,solPriceError:s}};export{t as u};
1
+ import{useState as r,useEffect as e}from"react";import{u as o}from"./internal-context-Z-fyxadS.mjs";const t=({enabled:t=!0}={})=>{let{showFiatPrices:i,getUsdPriceForSol:a}=o(),[c,l]=r(!0),[s,n]=r(void 0),[d,f]=r(void 0);return e((()=>{(async()=>{if(i&&t)try{l(!0);let r=await a();r?f(r):n(Error("Unable to fetch SOL price"))}catch(r){n(r)}finally{l(!1)}else l(!1)})()}),[]),{solPrice:d,isSolPriceLoading:c,solPriceError:s}};export{t as u};
@@ -1 +1 @@
1
- import{useState as r,useEffect as e}from"react";import{addToDefaultChains as o}from"@privy-io/js-sdk-core";import{s as i}from"./context-Bu4xmqpC.mjs";import{u as n}from"./internal-context-e-Eni5bG.mjs";import{u as t}from"./useGetSolPrice-Cfm8o9C5.mjs";function c(c){let{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:l}=(t=>{let{showFiatPrices:c,getUsdTokenPrice:a,chains:s}=n(),[l,P]=r(!0),[d,k]=r(void 0),[m,f]=r(void 0);return e((()=>{t||=i;let r=o(s).find((r=>r.id===Number(t)));(async()=>{if(c){if(!r)return P(!1),void k(Error(`Unable to fetch token price on chain id ${t}`));try{P(!0);let e=await a(r);e?f(e):k(Error(`Unable to fetch token price on chain id ${r.id}`))}catch(r){k(r)}finally{P(!1)}}else P(!1)})()}),[t]),{tokenPrice:m,isTokenPriceLoading:l,tokenPriceError:d}})("solana"===c?-1:c),{solPrice:P,isSolPriceLoading:d,solPriceError:k}=t({enabled:"solana"===c});return"solana"===c?{tokenPrice:P,isTokenPriceLoading:d,tokenPriceError:k}:{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:l}}export{c as u};
1
+ import{useState as r,useEffect as e}from"react";import{addToDefaultChains as o}from"@privy-io/js-sdk-core";import{s as i}from"./context-C7FGpzoq.mjs";import{u as n}from"./internal-context-Z-fyxadS.mjs";import{u as t}from"./useGetSolPrice-DwwjjGbd.mjs";function c(c){let{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:l}=(t=>{let{showFiatPrices:c,getUsdTokenPrice:a,chains:s}=n(),[l,P]=r(!0),[d,k]=r(void 0),[m,f]=r(void 0);return e((()=>{t||=i;let r=o(s).find((r=>r.id===Number(t)));(async()=>{if(c){if(!r)return P(!1),void k(Error(`Unable to fetch token price on chain id ${t}`));try{P(!0);let e=await a(r);e?f(e):k(Error(`Unable to fetch token price on chain id ${r.id}`))}catch(r){k(r)}finally{P(!1)}}else P(!1)})()}),[t]),{tokenPrice:m,isTokenPriceLoading:l,tokenPriceError:d}})("solana"===c?-1:c),{solPrice:P,isSolPriceLoading:d,solPriceError:k}=t({enabled:"solana"===c});return"solana"===c?{tokenPrice:P,isTokenPriceLoading:d,tokenPriceError:k}:{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:l}}export{c as u};
@@ -1 +1 @@
1
- import{u as e}from"./context-Bu4xmqpC.mjs";const t={"connectionStatus.successfullyConnected":"Successfully connected with {walletName}","connectionStatus.errorTitle":"{errorMessage}","connectionStatus.connecting":"Connecting","connectionStatus.connectOneWallet":"For the best experience, connect only one wallet at a time.","connectionStatus.checkOtherWindows":"Don't see your wallet? Check your other browser windows.","connectionStatus.stillHere":"Still here?","connectionStatus.tryConnectingAgain":"Try connecting again","connectionStatus.or":"or","connectionStatus.useDifferentLink":"use this different link","connectWallet.connectYourWallet":"Connect a wallet","connectWallet.waitingForWallet":"Waiting for {walletName}","connectWallet.connectToAccount":"Connect a wallet to your {appName} account","connectWallet.installAndConnect":"To connect to {walletName}, install and open the app. Then confirm the connection when prompted.","connectWallet.tryConnectingAgain":"Please try connecting again.","connectWallet.openInApp":"Open in app","connectWallet.copyLink":"Copy link","connectWallet.retry":"Retry","connectWallet.searchPlaceholder":"Search through {count} wallets","connectWallet.noWalletsFound":"No wallets found. Try another search.","connectWallet.lastUsed":"Last used","connectWallet.selectYourWallet":"Select your wallet","connectWallet.selectNetwork":"Select network","connectWallet.goToWallet":"Go to {walletName} to continue","connectWallet.scanToConnect":"Scan code to connect to {walletName}","connectWallet.openOrInstall":"Open or install {walletName}"};function n(){let n=e();return{t:(e,o)=>function(e,n,o){let c=n?.[e]??t[e];return o&&0!==Object.keys(o).length?c.replace(/\{(\w+)\}/g,((e,t)=>o[t]??e)):c}(e,n.intl.textLocalization,o)}}export{n as u};
1
+ import{u as e}from"./context-C7FGpzoq.mjs";const t={"connectionStatus.successfullyConnected":"Successfully connected with {walletName}","connectionStatus.errorTitle":"{errorMessage}","connectionStatus.connecting":"Connecting","connectionStatus.connectOneWallet":"For the best experience, connect only one wallet at a time.","connectionStatus.checkOtherWindows":"Don't see your wallet? Check your other browser windows.","connectionStatus.stillHere":"Still here?","connectionStatus.tryConnectingAgain":"Try connecting again","connectionStatus.or":"or","connectionStatus.useDifferentLink":"use this different link","connectWallet.connectYourWallet":"Connect a wallet","connectWallet.waitingForWallet":"Waiting for {walletName}","connectWallet.connectToAccount":"Connect a wallet to your {appName} account","connectWallet.installAndConnect":"To connect to {walletName}, install and open the app. Then confirm the connection when prompted.","connectWallet.tryConnectingAgain":"Please try connecting again.","connectWallet.openInApp":"Open in app","connectWallet.copyLink":"Copy link","connectWallet.retry":"Retry","connectWallet.searchPlaceholder":"Search through {count} wallets","connectWallet.noWalletsFound":"No wallets found. Try another search.","connectWallet.lastUsed":"Last used","connectWallet.selectYourWallet":"Select your wallet","connectWallet.selectNetwork":"Select network","connectWallet.goToWallet":"Go to {walletName} to continue","connectWallet.scanToConnect":"Scan code to connect to {walletName}","connectWallet.openOrInstall":"Open or install {walletName}"};function n(){let n=e();return{t:(e,o)=>function(e,n,o){let c=n?.[e]??t[e];return o&&0!==Object.keys(o).length?c.replace(/\{(\w+)\}/g,((e,t)=>o[t]??e)):c}(e,n.intl.textLocalization,o)}}export{n as u};
@@ -0,0 +1 @@
1
+ import{isMobile as e}from"react-device-detect";import{a as r,b as t,u as a}from"./internal-context-Z-fyxadS.mjs";import{jsx as n}from"react/jsx-runtime";import{useContext as o,createContext as i,useEffect as l,useRef as s,useCallback as d}from"react";import{d as c,c as u,g as p,a as y,k as E,f as m,u as w,P as f}from"./get-is-unified-wallet-DKm2LBUt.mjs";import{a as h,u as v}from"./events-context-CI0iqAXA.mjs";import{create as T}from"@privy-io/js-sdk-core";import{g as W}from"./useWallets-Cs7YKcaR.mjs";import{u as A,W as g}from"./context-C7FGpzoq.mjs";function D(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}function U(t,a){let n=D(a);if(e&&n.universalLink)return L(n.universalLink,t);if(n.deepLink)return b(n.deepLink,t);if(n.universalLink)return L(n.universalLink,t);throw new r(`Unsupported wallet ${a.id}`)}function I(e,r){let t=D(r);if(t.universalLink)return L(t.universalLink,e)}let S="WALLETCONNECT_DEEPLINK_CHOICE";function x(){try{localStorage.removeItem(S)}catch{}}function k({href:e,name:r}){try{localStorage.setItem(S,JSON.stringify({href:e,name:r}))}catch{}}function _(){try{localStorage.removeItem(S)}catch{}}function M(e){return e.startsWith("http://")||e.startsWith("https://")}function b(e,r){if(M(e))return L(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 L(e,r){if(!M(e))return b(e,r);let t=e;return t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function C(e,r){window.open(e,r,"noreferrer noopener")}const P=({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`;let R=/*#__PURE__*/i({plugins:{current:{}}});const N=({children:e})=>{let r=s({});/*#__PURE__*/return n(R.Provider,{value:{plugins:r},children:e})},O=(...e)=>{let{plugins:r}=o(R);l((()=>{for(let t of e)r.current[t.id]=t;return()=>{for(let t of e)delete r.current[t.id]}}),[r])},$=()=>{let{plugins:e}=o(R);return d((r=>e.current[r]),[e])},B=Symbol("solana-funding-plugin"),K=Symbol("solana-ledger-plugin"),j=(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)))??[],z=async({user:e,accessToken:r,proxy:t,refreshSessionAndUser:a,privy:n,appConfig:o,recoverEmbeddedWallet:i,setUser:l,walletIndex:s,chainType:d,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})=>{if(0===s)if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await T(n,{request:{chain_type:d}});else if("ethereum"===d){let a=c(e);a&&await i({address:a.address}),await t.create({accessToken:r,solanaAddress:a?.address,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})}else{if("solana"!==d)throw Error("Invalid input to create wallet");{let a=u(e);a&&await i({address:a.address}),await t.createSolana({accessToken:r,ethereumAddress:a?.address,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})}}else if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await T(n,{request:{chain_type:d}});else{let{entropyId:a,entropyIdVerifier:n}=W(e);await i(),await t.addWallet({accessToken:r,entropyId:a,entropyIdVerifier:n,chainType:d,hdWalletIndex:s})}let m=await a(),w=j(m,{chainType:d,walletIndex:s})[0];return l(m),{user:m,account:w}},F=e=>e.reduce(((e,r)=>!e||e.walletIndex<r.walletIndex?r:e),null);let H=async({accessToken:e,appConfig:r,privy:a,emitPrivyEvent:n,proxy:o,refreshSessionAndUser:i,recoverEmbeddedWallet:l,user:s,walletIndex:d,setModalData:c,openModal:u,chainType:y,setUser:E})=>{if(d<0)throw n("createWallet","onError",t.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${d}) is invalid.`);let m=p(s);if(d>0&&!m)throw n("createWallet","onError",t.EMBEDDED_WALLET_NOT_FOUND),Error("Must have an existing embedded wallet to create an additional wallet.");if(r.embeddedWallets.requireUserOwnedRecoveryOnCreate&&"user-controlled-server-wallets-only"===r.embeddedWallets.mode)throw n("createWallet","onError",t.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!m&&r.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await q({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});let w=j(s,{chainType:y,walletIndex:d})[0];if(w)return{user:s,account:w};if(0===d&&!o)return q({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});if(!o)throw n("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return z({appConfig:r,walletIndex:d,chainType:y,user:s,accessToken:e,proxy:o,refreshSessionAndUser:i,privy:a,recoverEmbeddedWallet:l,setUser:E})},q=async({emitPrivyEvent:e,setModalData:r,openModal:a,chainType:n})=>new Promise(((o,i)=>{r({createWallet:{onSuccess:({user:r,account:t})=>{e("createWallet","onSuccess",{wallet:t}),o({user:r,account:t})},onFailure:r=>{e("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),i(r)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===n,shouldCreateSol:"solana"===n}}),a("EmbeddedWalletOnAccountCreateScreen")}));const V=()=>{let e=A(),r=h(),{setModalData:n}=y(),{initializeWalletProxy:o,recoverEmbeddedWallet:i,setUser:l,openModal:s,refreshSessionAndUser:d,privy:c,client:u}=a();return{create:async({chainType:a,options:p,latestUser:y})=>{let E=y;if(E||(E=await d()),!E)throw r("createWallet","onError",t.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await(async({appConfig:e,getAccessToken:r,initializeWalletProxy:a,user:n,privy:o,emitPrivyEvent:i,recoverEmbeddedWallet:l,setModalData:s,openModal:d,setUser:c,options:u,timeoutDuration:p,refreshSessionAndUser:y,chainType:E})=>{let[m,w]=await Promise.all([a(p),r()]);if(!w||!n)throw i("createWallet","onError",t.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!m&&e.customAuth?.enabled)throw i("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(u&&"walletIndex"in u&&"number"==typeof u.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw i("createWallet","onError",t.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return H({accessToken:w,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:m,refreshSessionAndUser:y,recoverEmbeddedWallet:l,setModalData:s,user:n,walletIndex:u.walletIndex,chainType:E,setUser:c})}let f=u&&"createAdditional"in u&&u.createAdditional,h=j(n,{chainType:E});if(h[0]&&!f)throw i("createWallet","onError",t.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return H({accessToken:w,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:m,recoverEmbeddedWallet:l,setModalData:s,user:n,walletIndex:(F(h)?.walletIndex??-1)+1,chainType:E,refreshSessionAndUser:y,setUser:c})})({appConfig:e,privy:c,getAccessToken:()=>u.getAccessToken(),refreshSessionAndUser:d,initializeWalletProxy:o,user:E,emitPrivyEvent:r,recoverEmbeddedWallet:i,setModalData:n,openModal:s,setUser:l,options:p,timeoutDuration:g,chainType:a})}}};function Y(e){let{create:r}=V();return v("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 J=async({emitPrivyEvent:e,getAccessToken:a,initializeWalletProxy:n,refreshSessionAndUser:o,user:i,appConfig:l},{privateKey:s,chainType:d,additionalSigners:c})=>{if(!i)throw e("linkAccount","onError",t.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r("User must be authenticated before linking an account.");let u="user-controlled-server-wallets-only"===l.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===u)throw new r("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[p,y]=await Promise.all([a(),n(15e3)]);if(!y||!p)throw e("linkAccount","onError",t.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r("User must be authenticated before linking an account.");let{address:w}=await y.importWallet({privateKey:s,accessToken:p,chainType:d,mode:u,additionalSigners:c}),f=await o(),h="solana"===d?E(f):m(f),v=h?.find((e=>e.address===w));if(!v)throw e("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:v}),v},X=()=>{let{user:e}=w(),{client:r,refreshSessionAndUser:t,initializeWalletProxy:n}=a(),o=h(),i=A();return{importWallet:d((({privateKey:a,additionalSigners:l})=>J({getAccessToken:()=>r.getAccessToken(),user:e,initializeWalletProxy:n,refreshSessionAndUser:t,emitPrivyEvent:o,appConfig:i},{privateKey:a,chainType:"ethereum",additionalSigners:l})),[e,r,t,n,o,i])}},G=()=>{let{importWallet:e}=X(),{createWallet:r}=Y();return{...o(f),importWallet:e,createWallet:r}};export{N as P,B as S,I as a,U as b,z as c,x as d,$ as e,K as f,V as g,Y as h,X as i,J as j,O as k,C as o,P as p,_ as r,k as s,G as u};
@@ -1 +1 @@
1
- import{getTransactionDecoder as r,getBase64Decoder as n,getBase58Encoder as e}from"@solana/kit";import{useMemo as o,useCallback as t}from"react";import{u as a}from"./context-Bu4xmqpC.mjs";import{a as i,b as s}from"./internal-context-e-Eni5bG.mjs";function c(n){return new Uint8Array(r().decode(n).messageBytes)}async function l({solanaClient:r,tx:e}){let o=n().decode(c(e)),{value:t}=await r.rpc.getFeeForMessage(o).send();return t??0n}async function u({solanaClient:r,tx:e,replaceRecentBlockhash:o}){let{value:t}=await r.rpc.simulateTransaction(n().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===t.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===t.err?await u({solanaClient:r,tx:e,replaceRecentBlockhash:!0}):{logs:t.logs??[],error:t.err,hasError:!!t.err,hasFunds:t.logs?.every((r=>!/insufficient funds/gi.test(r)&&!/insufficient lamports/gi.test(r)))??!0}}const f=(...r)=>{if("undefined"==typeof Buffer)throw new i("Buffer is not defined.",void 0,s.BUFFER_NOT_DEFINED);return Buffer.from(...r)};async function p({rpcSubscriptions:r,signature:n,timeout:e}){let o=new AbortController,t=await r.signatureNotifications(n,{commitment:"confirmed"}).subscribe({abortSignal:o.signal}),a=await Promise.race([new Promise((r=>{setTimeout((()=>{o.abort(),r(Error("Transaction confirmation timed out"))}),e)})),new Promise((async r=>{for await(let n of t){if(o.abort(),n.value.err)return r(Error("Transaction confirmation failed"));r(void 0)}}))]);if(a instanceof Error)throw a}function m({rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t}){let a=function({rpc:r,rpcSubscriptions:n}){return async o=>new Promise((async(t,a)=>{try{let a=await r.sendTransaction(f(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await p({rpcSubscriptions:n,signature:a,timeout:1e4}),t({signature:new Uint8Array(e().encode(a))})}catch(r){a(r)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t,sendAndConfirmTransaction:a}}function d(){let r=a(),n=o((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,r.solanaRpcs[n]?m({chain:n,rpc:r.solanaRpcs[n].rpc,rpcSubscriptions:r.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:r.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[r.solanaRpcs]);return t((r=>{if(!n[r])throw Error(`No RPC configuration found for chain ${r}`);return n[r]}),[n])}export{c as a,f as b,l as f,m as g,u as s,d as u,p as w};
1
+ import{getTransactionDecoder as r,getBase64Decoder as n,getBase58Encoder as e}from"@solana/kit";import{useMemo as o,useCallback as t}from"react";import{u as a}from"./context-C7FGpzoq.mjs";import{a as i,b as s}from"./internal-context-Z-fyxadS.mjs";function c(n){return new Uint8Array(r().decode(n).messageBytes)}async function l({solanaClient:r,tx:e}){let o=n().decode(c(e)),{value:t}=await r.rpc.getFeeForMessage(o).send();return t??0n}async function u({solanaClient:r,tx:e,replaceRecentBlockhash:o}){let{value:t}=await r.rpc.simulateTransaction(n().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===t.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===t.err?await u({solanaClient:r,tx:e,replaceRecentBlockhash:!0}):{logs:t.logs??[],error:t.err,hasError:!!t.err,hasFunds:t.logs?.every((r=>!/insufficient funds/gi.test(r)&&!/insufficient lamports/gi.test(r)))??!0}}const f=(...r)=>{if("undefined"==typeof Buffer)throw new i("Buffer is not defined.",void 0,s.BUFFER_NOT_DEFINED);return Buffer.from(...r)};async function p({rpcSubscriptions:r,signature:n,timeout:e}){let o=new AbortController,t=await r.signatureNotifications(n,{commitment:"confirmed"}).subscribe({abortSignal:o.signal}),a=await Promise.race([new Promise((r=>{setTimeout((()=>{o.abort(),r(Error("Transaction confirmation timed out"))}),e)})),new Promise((async r=>{for await(let n of t){if(o.abort(),n.value.err)return r(Error("Transaction confirmation failed"));r(void 0)}}))]);if(a instanceof Error)throw a}function m({rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t}){let a=function({rpc:r,rpcSubscriptions:n}){return async o=>new Promise((async(t,a)=>{try{let a=await r.sendTransaction(f(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await p({rpcSubscriptions:n,signature:a,timeout:1e4}),t({signature:new Uint8Array(e().encode(a))})}catch(r){a(r)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t,sendAndConfirmTransaction:a}}function d(){let r=a(),n=o((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,r.solanaRpcs[n]?m({chain:n,rpc:r.solanaRpcs[n].rpc,rpcSubscriptions:r.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:r.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[r.solanaRpcs]);return t((r=>{if(!n[r])throw Error(`No RPC configuration found for chain ${r}`);return n[r]}),[n])}export{c as a,f as b,l as f,m as g,u as s,d as u,p as w};
@@ -1 +1 @@
1
- import{useState as r,useMemo as a,useCallback as e,useEffect as t}from"react";import{createPublicClient as n,http as o}from"viem";import{a as i}from"./getPublicClient-A9RSftUZ.mjs";import{u as c}from"./internal-context-e-Eni5bG.mjs";function s({rpcConfig:s,appId:l,address:m,chain:p}){let{chains:d}=c(),[f,u]=r(0n),[h,g]=r(!1),b=a((()=>{let r=p||d[0];if(r)return n({chain:p,transport:o(i(r,s,l))})}),[p,s,l]),j=e((async()=>{if(!m||!b)return;g(!0);let r=await b.getBalance({address:m}).catch(console.error);return r?(u(r),g(!1),r):void 0}),[b,m,u]);return t((()=>{j().catch(console.error)}),[]),{balance:f,isLoading:h,reloadBalance:j}}export{s as u};
1
+ import{useState as r,useMemo as a,useCallback as e,useEffect as t}from"react";import{createPublicClient as n,http as o}from"viem";import{a as i}from"./getPublicClient-B4uPLKn-.mjs";import{u as c}from"./internal-context-Z-fyxadS.mjs";function s({rpcConfig:s,appId:l,address:m,chain:p}){let{chains:d}=c(),[f,u]=r(0n),[h,g]=r(!1),b=a((()=>{let r=p||d[0];if(r)return n({chain:p,transport:o(i(r,s,l))})}),[p,s,l]),j=e((async()=>{if(!m||!b)return;g(!0);let r=await b.getBalance({address:m}).catch(console.error);return r?(u(r),g(!1),r):void 0}),[b,m,u]);return t((()=>{j().catch(console.error)}),[]),{balance:f,isLoading:h,reloadBalance:j}}export{s as u};
@@ -1 +1 @@
1
- import{g as e}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{useContext as r,createContext as t}from"react";const a=e=>{if("ethereum"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"ethereum-address-verifier"};if("solana"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"solana-address-verifier"};throw Error("Failed to get account entropy details")},i=(r,t)=>{if(t?.imported)return a(t);let i=e(r);if(!i)throw Error("Failed to find primary wallet");return a(i)},o=/*#__PURE__*/t(null);function n(){let e=r(o);return null===e?(console.warn("`useWallets` was called outside the PrivyProvider component"),{wallets:[],ready:!1}):e}export{o as U,i as g,a as t,n as u};
1
+ import{g as e}from"./get-is-unified-wallet-DKm2LBUt.mjs";import{useContext as r,createContext as t}from"react";const a=e=>{if("ethereum"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"ethereum-address-verifier"};if("solana"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"solana-address-verifier"};throw Error("Failed to get account entropy details")},i=(r,t)=>{if(t?.imported)return a(t);let i=e(r);if(!i)throw Error("Failed to find primary wallet");return a(i)},o=/*#__PURE__*/t(null);function n(){let e=r(o);return null===e?(console.warn("`useWallets` was called outside the PrivyProvider component"),{wallets:[],ready:!1}):e}export{o as U,i as g,a as t,n as u};
@@ -1 +1 @@
1
- import{getBase58Decoder as e,getTransactionDecoder as n,address as t,getTransactionEncoder as a}from"@solana/kit";import{useMemo as s,useEffect as i,useState as r}from"react";import o,{rpc as c,ConnectedStandardSolanaWallet as l}from"@privy-io/js-sdk-core";import{u as d,a as u,b as g,l as h}from"./internal-context-e-Eni5bG.mjs";import{a as p,h as f,d as w,o as A,j as y}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{u as v}from"./usePrivy-Bn7q4pcu.mjs";import{g as m,u as T}from"./useWallets-BkIu5vyx.mjs";import b from"eventemitter3";import{base58 as O}from"@scure/base";import{u as S}from"./context-Bu4xmqpC.mjs";import{u as _}from"./use-sign-with-user-signer-eEm9Olt_.mjs";import{g as E,u as I}from"./prepareFundingModalData-CRrWM52E.mjs";import{b as j,a as W,u as M}from"./useSolanaRpcClient-C55AFEgY.mjs";const P=["solana:mainnet","solana:devnet","solana:testnet"];function F(n){return e().decode(n)}function C(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var U=0,D="__private_"+U+++"__implementation";function N(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var B=0;function R(e){return"__private_"+B+++"_"+e}var x=/*#__PURE__*/R("_address"),L=/*#__PURE__*/R("_publicKey"),V=/*#__PURE__*/R("_chains"),Q=/*#__PURE__*/R("_features"),G=/*#__PURE__*/R("_label"),K=/*#__PURE__*/R("_icon");class J{get address(){return N(this,x)[x]}get publicKey(){return N(this,L)[L].slice()}get chains(){return N(this,V)[V].slice()}get features(){return N(this,Q)[Q].slice()}get label(){return N(this,G)[G]}get icon(){return N(this,K)[K]}constructor({address:e,publicKey:n,label:t,icon:a}){Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{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,K,{writable:!0,value:void 0}),N(this,x)[x]=e,N(this,L)[L]=n,N(this,V)[V]=P,N(this,G)[G]=t,N(this,K)[K]=a,N(this,Q)[Q]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===J&&Object.freeze(this)}}function Y(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var k=0;function H(e){return"__private_"+k+++"_"+e}var Z=/*#__PURE__*/H("_listeners"),z=/*#__PURE__*/H("_version"),q=/*#__PURE__*/H("_name"),X=/*#__PURE__*/H("_icon"),$=/*#__PURE__*/H("_injection"),ee=/*#__PURE__*/H("_isPrivyWallet"),ne=/*#__PURE__*/H("_accounts"),te=/*#__PURE__*/H("_on"),ae=/*#__PURE__*/H("_emit"),se=/*#__PURE__*/H("_off"),ie=/*#__PURE__*/H("_connected"),re=/*#__PURE__*/H("_connect"),oe=/*#__PURE__*/H("_disconnect"),ce=/*#__PURE__*/H("_signMessage"),le=/*#__PURE__*/H("_signAndSendTransaction"),de=/*#__PURE__*/H("_signTransaction");function ue(e,...n){Y(this,Z)[Z][e]?.forEach((e=>e.apply(null,n)))}function ge(e,n){Y(this,Z)[Z][e]=Y(this,Z)[Z][e]?.filter((e=>n!==e))}function he(e,s,i){let r=structuredClone(n().decode(e)),o=t(s);return o in r.signatures&&(r.signatures[o]=i),new Uint8Array(a().encode(r))}function pe(){let{isHeadlessSigning:e,walletProxy:n,initializeWalletProxy:t,recoverEmbeddedWallet:a,openModal:s,privy:i,client:r}=d(),{user:o}=v(),{setModalData:l}=p(),{signWithUserSigner:h}=_();return{signMessage:({message:d,address:p,options:A})=>new Promise((async(y,v)=>{let T=f(o,p);if("privy"!==T?.walletClientType)return void v(new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:b,entropyIdVerifier:O}=m(o,T),S=w(T),_=j(d).toString("base64");if(_.length<1)return void v(new u("Message must be a non-empty string",void 0,g.INVALID_MESSAGE));let E=async()=>{let e;if(!o)throw Error("User must be authenticated before signing with a Privy wallet");let s=await r.getAccessToken();if(!s)throw Error("User must be authenticated to use their embedded wallet.");let l=n??await t(15e3);if(!l)throw Error("Failed to initialize embedded wallet proxy.");if(!await a({address:T.address}))throw Error("Unable to connect to wallet");if(S){let n=await c(i,h,{chain_type:"solana",method:"signMessage",params:{message:_,encoding:"base64"},wallet_id:T.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:n}=await l.rpc({accessToken:s,entropyId:b,entropyIdVerifier:O,chainType:"solana",hdWalletIndex:T.walletIndex??0,requesterAppId:A?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:_}}});e=n.data.signature}return e};if(e({showWalletUIs:A?.uiOptions?.showWalletUIs}))try{let e=await E(),n=new Uint8Array(j(e,"base64"));y({signature:n})}catch(e){v(e)}else l({signMessage:{method:"solana_signMessage",data:_,confirmAndSign:E,onSuccess:e=>{y({signature:new Uint8Array(j(e,"base64"))})},onFailure:e=>{v(e)},uiOptions:A?.uiOptions??{}},connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,entropyId:b,entropyIdVerifier:O,isUnifiedWallet:S,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{v(new u("Failed to connect to wallet",e,g.UNKNOWN_CONNECT_WALLET_ERROR))}}}),s("EmbeddedWalletConnectingScreen")}))}}function fe(){let{isHeadlessSigning:e,openModal:n}=d(),{setModalData:t}=p(),{signMessage:a}=pe(),{user:s}=v();return{signTransaction:async({transaction:i,options:r,chain:o="solana:mainnet",address:c})=>{async function l(e){let{signature:n}=await a({message:W(e),address:c,options:{...r,uiOptions:{...r?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:he(e,c,n)}}return e({showWalletUIs:r?.uiOptions?.showWalletUIs})?l(i):new Promise((async(e,a)=>{let d=f(s,c);if("privy"!==d?.walletClientType)return void a(new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:h,entropyIdVerifier:p}=m(s,d),A=w(d);function y(e){return n=>{a(n instanceof u?n:new u("Failed to connect to wallet",n,e))}}let v={account:d,transaction:i,chain:o,signOnly:!0,uiOptions:r?.uiOptions||{},onConfirm:l,onSuccess:e,onFailure:y(g.TRANSACTION_FAILURE)};t({connectWallet:{recoveryMethod:d.recoveryMethod,connectingWalletAddress:d.address,entropyId:h,entropyIdVerifier:p,isUnifiedWallet:A,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(g.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:v}),n("EmbeddedWalletConnectingScreen")}))}}}let we=new class extends b{setImplementation(e){C(this,D)[D]=e}async signMessage(e){return C(this,D)[D].signMessage(e)}async signAndSendTransaction(e){return C(this,D)[D].signAndSendTransaction(e)}async signTransaction(e){return C(this,D)[D].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,D,{writable:!0,value:void 0}),C(this,D)[D]=e}}({signTransaction:h("signTransaction was not injected"),signAndSendTransaction:h("signAndSendTransaction was not injected"),signMessage:h("signMessage was not injected")}),Ae=new class{get version(){return Y(this,z)[z]}get name(){return Y(this,q)[q]}get icon(){return Y(this,X)[X]}get chains(){return P.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:Y(this,re)[re]},"standard:disconnect":{version:"1.0.0",disconnect:Y(this,oe)[oe]},"standard:events":{version:"1.0.0",on:Y(this,te)[te]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:Y(this,le)[le]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:Y(this,de)[de]},"solana:signMessage":{version:"1.0.0",signMessage:Y(this,ce)[ce]},"privy:":{privy:{signMessage:Y(this,$)[$].signMessage,signTransaction:Y(this,$)[$].signTransaction,signAndSendTransaction:Y(this,$)[$].signAndSendTransaction}}}}get accounts(){return Y(this,ne)[ne].slice()}get isPrivyWallet(){return Y(this,ee)[ee]}constructor({name:e,icon:n,version:t,injection:a,wallets:s}){Object.defineProperty(this,ae,{value:ue}),Object.defineProperty(this,se,{value:ge}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,te,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,ce,{writable:!0,value:void 0}),Object.defineProperty(this,le,{writable:!0,value:void 0}),Object.defineProperty(this,de,{writable:!0,value:void 0}),Y(this,Z)[Z]={},Y(this,te)[te]=(e,n)=>(Y(this,Z)[Z][e]?.push(n)||(Y(this,Z)[Z][e]=[n]),()=>Y(this,se)[se](e,n)),Y(this,ie)[ie]=e=>{null!=e&&(Y(this,ne)[ne]=e.map((({address:e})=>new J({address:e,publicKey:O.decode(e)})))),Y(this,ae)[ae]("change",{accounts:this.accounts})},Y(this,re)[re]=async()=>(Y(this,ae)[ae]("change",{accounts:this.accounts}),{accounts:this.accounts}),Y(this,oe)[oe]=async()=>{Y(this,ae)[ae]("change",{accounts:this.accounts})},Y(this,ce)[ce]=async(...e)=>{let n=[];for(let{account:t,...a}of e){let{signature:e}=await Y(this,$)[$].signMessage({...a,address:t.address});n.push({signedMessage:a.message,signature:e})}return n},Y(this,le)[le]=async(...e)=>{let n=[];for(let t of e){let{signature:e}=await Y(this,$)[$].signAndSendTransaction({...t,transaction:t.transaction,address:t.account.address,chain:t.chain||"solana:mainnet",options:t.options});n.push({signature:e})}return n},Y(this,de)[de]=async(...e)=>{let n=[];for(let{transaction:t,account:a,options:s,chain:i}of e){let{signedTransaction:e}=await Y(this,$)[$].signTransaction({transaction:t,address:a.address,chain:i||"solana:mainnet",options:s});n.push({signedTransaction:e})}return n},Y(this,q)[q]=e,Y(this,X)[X]=n,Y(this,z)[z]=t,Y(this,$)[$]=a,Y(this,ne)[ne]=[],Y(this,ee)[ee]=!0,a.on("accountChanged",Y(this,ie)[ie],this),Y(this,ie)[ie](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:we});function ye(){let{ready:e}=T(),{user:n}=v(),{signMessage:t}=pe(),{signTransaction:a}=fe(),{signAndSendTransaction:r}=function(){let e=S(),{isHeadlessSigning:n,openModal:t}=d(),{setModalData:a}=p(),{signTransaction:s}=fe(),i=M(),{user:r}=v(),{signWithUserSigner:l}=_();return{signAndSendTransaction:async({transaction:d,address:h,chain:p="solana:mainnet",options:A})=>{let y=f(r,h);if("privy"!==y?.walletClientType)throw new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND);let v=w(y);async function T(n){if(A?.sponsor)return await(async n=>{if(!v)throw new u("Sponsoring transactions is only supported for wallets on the TEE stack",g.INVALID_DATA);let t=new o({appId:e.id,clientId:e.appClientId,storage:I}),a=await c(t,l,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:j(n).toString("base64"),encoding:"base64"},caip2:`solana:${(await i(p).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:y.id});if(a.data&&"hash"in a.data)return{signature:O.decode(a.data.hash)};throw Error("Failed to sign and send transaction")})(n);let{signedTransaction:t}=await s({transaction:n,address:h,chain:p,options:{...A,uiOptions:{...A?.uiOptions,showWalletUIs:!1}}}),{signature:a}=await i(p).sendAndConfirmTransaction(t);return{signature:a}}return n({showWalletUIs:A?.uiOptions?.showWalletUIs})?T(d):new Promise((async(n,s)=>{let i,o,{entropyId:c,entropyIdVerifier:l}=m(r,y);function f(e){return n=>{s(n instanceof u?n:new u("Failed to connect to wallet",n,e))}}let w={account:y,transaction:d,chain:p,signOnly:!1,uiOptions:A?.uiOptions||{},onConfirm:T,onSuccess:n,onFailure:f(g.TRANSACTION_FAILURE),isSponsored:!!A?.sponsor},b={recoveryMethod:y.recoveryMethod,connectingWalletAddress:y.address,entropyId:c,entropyIdVerifier:l,isUnifiedWallet:v,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:f(g.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(i=E({address:h,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...A,asset:"native-currency",chain:p},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),o={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:p,destinationAddress:h,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),a({connectWallet:b,standardSignAndSendTransaction:w,funding:i,solanaFundingData:o}),t("EmbeddedWalletConnectingScreen")}))}}}(),l=s((()=>{let e=[...A(n).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],t=y(n);return t.length?[...e,...t]:e}),[n]),h=s((()=>({signMessage:async({message:e,address:n,options:a})=>await t({message:e,address:n,options:a}),signTransaction:async({transaction:e,address:n,chain:t,options:s})=>await a({transaction:e,address:n,chain:t,options:s}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:a}){let{signature:s}=await r({transaction:e,address:n,chain:t,options:a});return{signature:s}}})),[t,a,r]);return i((()=>{we?.setImplementation(h)}),[h]),i((()=>{var n;!e||(n=Ae.accounts).length===l.length&&n.every(((e,n)=>e.address===l[n]?.address))||we?.emit("accountChanged",l)}),[e,l]),{ready:e,wallet:Ae}}function ve(){let{client:e}=d(),{ready:n,wallet:t}=ye(),[a,s]=r([]),[o,c]=r([]);return i((()=>{let e=[t,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];c(e);let n=a.flatMap((n=>{let t=()=>c([...e]);return n.on("walletsUpdated",t),{connector:n,off:t}})),s=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{s.forEach((e=>e?.())),n.forEach((({connector:e,off:n})=>e.off("walletsUpdated",n)))}}),[a]),i((()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let n=()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",n),()=>{e.connectors?.off("connectorInitialized",n)}}),[n,e.connectors]),{ready:n,wallets:o}}function me(){let{ready:e,wallets:n}=ve();return{ready:e,wallets:s((()=>n.flatMap((e=>e.accounts.map((n=>new l({wallet:e,account:n})))))),[n])}}export{P as S,ve as a,F as g,me as u};
1
+ import{getBase58Decoder as e,getTransactionDecoder as n,address as t,getTransactionEncoder as a}from"@solana/kit";import{useMemo as s,useEffect as i,useState as r}from"react";import o,{rpc as c,ConnectedStandardSolanaWallet as l}from"@privy-io/js-sdk-core";import{u as d,a as u,b as g,l as h}from"./internal-context-Z-fyxadS.mjs";import{a as p,h as f,b as w,o as A,k as y}from"./get-is-unified-wallet-DKm2LBUt.mjs";import{u as v}from"./usePrivy-DXv-y-86.mjs";import{g as m,u as T}from"./useWallets-Cs7YKcaR.mjs";import b from"eventemitter3";import{base58 as O}from"@scure/base";import{u as S}from"./context-C7FGpzoq.mjs";import{u as _}from"./use-sign-with-user-signer-Do5Oi_rb.mjs";import{g as E,u as I}from"./prepareFundingModalData-BHVs3Cx-.mjs";import{b as W,a as j,u as M}from"./useSolanaRpcClient-BPnbGqxB.mjs";const P=["solana:mainnet","solana:devnet","solana:testnet"];function F(n){return e().decode(n)}function C(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var U=0,D="__private_"+U+++"__implementation";function N(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var B=0;function R(e){return"__private_"+B+++"_"+e}var x=/*#__PURE__*/R("_address"),L=/*#__PURE__*/R("_publicKey"),V=/*#__PURE__*/R("_chains"),Q=/*#__PURE__*/R("_features"),G=/*#__PURE__*/R("_label"),K=/*#__PURE__*/R("_icon");class k{get address(){return N(this,x)[x]}get publicKey(){return N(this,L)[L].slice()}get chains(){return N(this,V)[V].slice()}get features(){return N(this,Q)[Q].slice()}get label(){return N(this,G)[G]}get icon(){return N(this,K)[K]}constructor({address:e,publicKey:n,label:t,icon:a}){Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{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,K,{writable:!0,value:void 0}),N(this,x)[x]=e,N(this,L)[L]=n,N(this,V)[V]=P,N(this,G)[G]=t,N(this,K)[K]=a,N(this,Q)[Q]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===k&&Object.freeze(this)}}function J(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var Y=0;function H(e){return"__private_"+Y+++"_"+e}var Z=/*#__PURE__*/H("_listeners"),z=/*#__PURE__*/H("_version"),q=/*#__PURE__*/H("_name"),X=/*#__PURE__*/H("_icon"),$=/*#__PURE__*/H("_injection"),ee=/*#__PURE__*/H("_isPrivyWallet"),ne=/*#__PURE__*/H("_accounts"),te=/*#__PURE__*/H("_on"),ae=/*#__PURE__*/H("_emit"),se=/*#__PURE__*/H("_off"),ie=/*#__PURE__*/H("_connected"),re=/*#__PURE__*/H("_connect"),oe=/*#__PURE__*/H("_disconnect"),ce=/*#__PURE__*/H("_signMessage"),le=/*#__PURE__*/H("_signAndSendTransaction"),de=/*#__PURE__*/H("_signTransaction");function ue(e,...n){J(this,Z)[Z][e]?.forEach((e=>e.apply(null,n)))}function ge(e,n){J(this,Z)[Z][e]=J(this,Z)[Z][e]?.filter((e=>n!==e))}function he(e,s,i){let r=structuredClone(n().decode(e)),o=t(s);return o in r.signatures&&(r.signatures[o]=i),new Uint8Array(a().encode(r))}function pe(){let{isHeadlessSigning:e,walletProxy:n,initializeWalletProxy:t,recoverEmbeddedWallet:a,openModal:s,privy:i,client:r}=d(),{user:o}=v(),{setModalData:l}=p(),{signWithUserSigner:h}=_();return{signMessage:({message:d,address:p,options:A})=>new Promise((async(y,v)=>{let T=f(o,p);if("privy"!==T?.walletClientType)return void v(new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:b,entropyIdVerifier:O}=m(o,T),S=w(T),_=W(d).toString("base64");if(_.length<1)return void v(new u("Message must be a non-empty string",void 0,g.INVALID_MESSAGE));let E=async()=>{let e;if(!o)throw Error("User must be authenticated before signing with a Privy wallet");let s=await r.getAccessToken();if(!s)throw Error("User must be authenticated to use their embedded wallet.");let l=n??await t(15e3);if(!l)throw Error("Failed to initialize embedded wallet proxy.");if(!await a({address:T.address}))throw Error("Unable to connect to wallet");if(S){let n=await c(i,h,{chain_type:"solana",method:"signMessage",params:{message:_,encoding:"base64"},wallet_id:T.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:n}=await l.rpc({accessToken:s,entropyId:b,entropyIdVerifier:O,chainType:"solana",hdWalletIndex:T.walletIndex??0,requesterAppId:A?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:_}}});e=n.data.signature}return e};if(e({showWalletUIs:A?.uiOptions?.showWalletUIs}))try{let e=await E(),n=new Uint8Array(W(e,"base64"));y({signature:n})}catch(e){v(e)}else l({signMessage:{method:"solana_signMessage",data:_,confirmAndSign:E,onSuccess:e=>{y({signature:new Uint8Array(W(e,"base64"))})},onFailure:e=>{v(e)},uiOptions:A?.uiOptions??{}},connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,entropyId:b,entropyIdVerifier:O,isUnifiedWallet:S,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{v(new u("Failed to connect to wallet",e,g.UNKNOWN_CONNECT_WALLET_ERROR))}}}),s("EmbeddedWalletConnectingScreen")}))}}function fe(){let{isHeadlessSigning:e,openModal:n}=d(),{setModalData:t}=p(),{signMessage:a}=pe(),{user:s}=v();return{signTransaction:async({transaction:i,options:r,chain:o="solana:mainnet",address:c})=>{async function l(e){let{signature:n}=await a({message:j(e),address:c,options:{...r,uiOptions:{...r?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:he(e,c,n)}}return e({showWalletUIs:r?.uiOptions?.showWalletUIs})?l(i):new Promise((async(e,a)=>{let d=f(s,c);if("privy"!==d?.walletClientType)return void a(new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:h,entropyIdVerifier:p}=m(s,d),A=w(d);function y(e){return n=>{a(n instanceof u?n:new u("Failed to connect to wallet",n,e))}}let v={account:d,transaction:i,chain:o,signOnly:!0,uiOptions:r?.uiOptions||{},onConfirm:l,onSuccess:e,onFailure:y(g.TRANSACTION_FAILURE)};t({connectWallet:{recoveryMethod:d.recoveryMethod,connectingWalletAddress:d.address,entropyId:h,entropyIdVerifier:p,isUnifiedWallet:A,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(g.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:v}),n("EmbeddedWalletConnectingScreen")}))}}}let we=new class extends b{setImplementation(e){C(this,D)[D]=e}async signMessage(e){return C(this,D)[D].signMessage(e)}async signAndSendTransaction(e){return C(this,D)[D].signAndSendTransaction(e)}async signTransaction(e){return C(this,D)[D].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,D,{writable:!0,value:void 0}),C(this,D)[D]=e}}({signTransaction:h("signTransaction was not injected"),signAndSendTransaction:h("signAndSendTransaction was not injected"),signMessage:h("signMessage was not injected")}),Ae=new class{get version(){return J(this,z)[z]}get name(){return J(this,q)[q]}get icon(){return J(this,X)[X]}get chains(){return P.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:J(this,re)[re]},"standard:disconnect":{version:"1.0.0",disconnect:J(this,oe)[oe]},"standard:events":{version:"1.0.0",on:J(this,te)[te]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:J(this,le)[le]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:J(this,de)[de]},"solana:signMessage":{version:"1.0.0",signMessage:J(this,ce)[ce]},"privy:":{privy:{signMessage:J(this,$)[$].signMessage,signTransaction:J(this,$)[$].signTransaction,signAndSendTransaction:J(this,$)[$].signAndSendTransaction}}}}get accounts(){return J(this,ne)[ne].slice()}get isPrivyWallet(){return J(this,ee)[ee]}constructor({name:e,icon:n,version:t,injection:a,wallets:s}){Object.defineProperty(this,ae,{value:ue}),Object.defineProperty(this,se,{value:ge}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,te,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,ce,{writable:!0,value:void 0}),Object.defineProperty(this,le,{writable:!0,value:void 0}),Object.defineProperty(this,de,{writable:!0,value:void 0}),J(this,Z)[Z]={},J(this,te)[te]=(e,n)=>(J(this,Z)[Z][e]?.push(n)||(J(this,Z)[Z][e]=[n]),()=>J(this,se)[se](e,n)),J(this,ie)[ie]=e=>{null!=e&&(J(this,ne)[ne]=e.map((({address:e})=>new k({address:e,publicKey:O.decode(e)})))),J(this,ae)[ae]("change",{accounts:this.accounts})},J(this,re)[re]=async()=>(J(this,ae)[ae]("change",{accounts:this.accounts}),{accounts:this.accounts}),J(this,oe)[oe]=async()=>{J(this,ae)[ae]("change",{accounts:this.accounts})},J(this,ce)[ce]=async(...e)=>{let n=[];for(let{account:t,...a}of e){let{signature:e}=await J(this,$)[$].signMessage({...a,address:t.address});n.push({signedMessage:a.message,signature:e})}return n},J(this,le)[le]=async(...e)=>{let n=[];for(let t of e){let{signature:e}=await J(this,$)[$].signAndSendTransaction({...t,transaction:t.transaction,address:t.account.address,chain:t.chain||"solana:mainnet",options:t.options});n.push({signature:e})}return n},J(this,de)[de]=async(...e)=>{let n=[];for(let{transaction:t,account:a,options:s,chain:i}of e){let{signedTransaction:e}=await J(this,$)[$].signTransaction({transaction:t,address:a.address,chain:i||"solana:mainnet",options:s});n.push({signedTransaction:e})}return n},J(this,q)[q]=e,J(this,X)[X]=n,J(this,z)[z]=t,J(this,$)[$]=a,J(this,ne)[ne]=[],J(this,ee)[ee]=!0,a.on("accountChanged",J(this,ie)[ie],this),J(this,ie)[ie](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:we});function ye(){let{ready:e}=T(),{user:n}=v(),{signMessage:t}=pe(),{signTransaction:a}=fe(),{signAndSendTransaction:r}=function(){let e=S(),{isHeadlessSigning:n,openModal:t}=d(),{setModalData:a}=p(),{signTransaction:s}=fe(),i=M(),{user:r}=v(),{signWithUserSigner:l}=_();return{signAndSendTransaction:async({transaction:d,address:h,chain:p="solana:mainnet",options:A})=>{let y=f(r,h);if("privy"!==y?.walletClientType)throw new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND);let v=w(y);async function T(n){if(A?.sponsor)return await(async n=>{if(!v)throw new u("Sponsoring transactions is only supported for wallets on the TEE stack",g.INVALID_DATA);let t=new o({appId:e.id,clientId:e.appClientId,storage:I}),a=await c(t,l,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:W(n).toString("base64"),encoding:"base64"},caip2:`solana:${(await i(p).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:y.id});if(a.data&&"hash"in a.data)return{signature:O.decode(a.data.hash)};throw Error("Failed to sign and send transaction")})(n);let{signedTransaction:t}=await s({transaction:n,address:h,chain:p,options:{...A,uiOptions:{...A?.uiOptions,showWalletUIs:!1}}}),{signature:a}=await i(p).sendAndConfirmTransaction(t);return{signature:a}}return n({showWalletUIs:A?.uiOptions?.showWalletUIs})?T(d):new Promise((async(n,s)=>{let i,o,{entropyId:c,entropyIdVerifier:l}=m(r,y);function f(e){return n=>{s(n instanceof u?n:new u("Failed to connect to wallet",n,e))}}let w={account:y,transaction:d,chain:p,signOnly:!1,uiOptions:A?.uiOptions||{},onConfirm:T,onSuccess:n,onFailure:f(g.TRANSACTION_FAILURE),isSponsored:!!A?.sponsor},b={recoveryMethod:y.recoveryMethod,connectingWalletAddress:y.address,entropyId:c,entropyIdVerifier:l,isUnifiedWallet:v,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:f(g.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(i=E({address:h,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...A,asset:"native-currency",chain:p},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),o={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:p,destinationAddress:h,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),a({connectWallet:b,standardSignAndSendTransaction:w,funding:i,solanaFundingData:o}),t("EmbeddedWalletConnectingScreen")}))}}}(),l=s((()=>{let e=[...A(n).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],t=y(n);return t.length?[...e,...t]:e}),[n]),h=s((()=>({signMessage:async({message:e,address:n,options:a})=>await t({message:e,address:n,options:a}),signTransaction:async({transaction:e,address:n,chain:t,options:s})=>await a({transaction:e,address:n,chain:t,options:s}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:a}){let{signature:s}=await r({transaction:e,address:n,chain:t,options:a});return{signature:s}}})),[t,a,r]);return i((()=>{we?.setImplementation(h)}),[h]),i((()=>{var n;!e||(n=Ae.accounts).length===l.length&&n.every(((e,n)=>e.address===l[n]?.address))||we?.emit("accountChanged",l)}),[e,l]),{ready:e,wallet:Ae}}function ve(){let{client:e}=d(),{ready:n,wallet:t}=ye(),[a,s]=r([]),[o,c]=r([]);return i((()=>{let e=[t,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];c(e);let n=a.flatMap((n=>{let t=()=>c([...e]);return n.on("walletsUpdated",t),{connector:n,off:t}})),s=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{s.forEach((e=>e?.())),n.forEach((({connector:e,off:n})=>e.off("walletsUpdated",n)))}}),[a]),i((()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let n=()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",n),()=>{e.connectors?.off("connectorInitialized",n)}}),[n,e.connectors]),{ready:n,wallets:o}}function me(){let{ready:e,wallets:n}=ve();return{ready:e,wallets:s((()=>n.flatMap((e=>e.accounts.map((n=>new l({wallet:e,account:n})))))),[n])}}export{P as S,ve as a,F as g,me as u};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/react-auth",
3
- "version": "3.11.0",
3
+ "version": "3.11.1-beta-20260121203903",
4
4
  "description": "React client for the Privy Auth API",
5
5
  "keywords": [
6
6
  "authentication",
@@ -150,7 +150,7 @@
150
150
  "@headlessui/react": "^2.2.0",
151
151
  "@heroicons/react": "^2.1.1",
152
152
  "@marsidev/react-turnstile": "^1.3.1",
153
- "@privy-io/api-types": "0.3.4",
153
+ "@privy-io/api-types": "0.4.0",
154
154
  "@scure/base": "^1.2.5",
155
155
  "@simplewebauthn/browser": "^13.2.2",
156
156
  "@tanstack/react-virtual": "^3.13.10",
@@ -172,14 +172,14 @@
172
172
  "stylis": "^4.3.4",
173
173
  "tinycolor2": "^1.6.0",
174
174
  "uuid": ">=8 <10",
175
- "viem": "^2.43.1",
175
+ "viem": "^2.44.2",
176
176
  "x402": "^0.7.1",
177
177
  "zustand": "^5.0.0",
178
- "@privy-io/chains": "0.0.6",
179
178
  "@privy-io/api-base": "1.8.1",
180
- "@privy-io/ethereum": "0.0.6",
181
- "@privy-io/js-sdk-core": "0.58.7",
182
- "@privy-io/routes": "0.0.5",
179
+ "@privy-io/chains": "0.0.6",
180
+ "@privy-io/ethereum": "0.0.7-beta-20260121203903",
181
+ "@privy-io/js-sdk-core": "0.58.8-beta-20260121203903",
182
+ "@privy-io/routes": "0.0.6-beta-20260121203903",
183
183
  "@privy-io/popup": "0.0.2",
184
184
  "@privy-io/urls": "0.0.3"
185
185
  },
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),t=require("react"),i=require("viem"),n=require("@privy-io/js-sdk-core"),a=require("./Layouts-D3TOcPhm.js"),s=require("./ModalHeader-HFJct04e.js"),o=require("./ScreenHeader-CgYJ5Fmg.js"),u=require("./FundWalletMethodHeader-CfHXgc0M.js"),d=require("./index-ByFhjjzH.js"),c=require("./context-B8VkgLLk.js"),l=require("./internal-context-NWsAL807.js"),h=require("./useActiveWallet-Wp8zv7qb.js"),g=require("./get-is-unified-wallet--p0rdEtP.js"),f=require("./useGetTokenPrice-BkD8eOWh.js"),m=require("./useWallets-DEyFRWD0.js"),v=require("./transfer-Cit146vy.js"),p=require("./formatErc20TokenAmount-DxwoWe7e.js"),C=require("./ethers-O1Nyjl84.js"),y=require("./analytics-C6C_4JmG.js"),q=require("./reservoir-CQGyEBb7.js"),E=require("./index-B-V647xG.js"),T=require("./BridgeNetworkSelectionView-Bd-ehyqP.js"),I=require("./getErc20Balance-DknCauCO.js"),S=require("./getPublicClient-CGlodIp_.js"),j=require("./TransferOrBridgeLoadingScreen-rCuYNou5.js");function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),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("ofetch"),require("zustand"),require("react-device-detect"),require("./prepareFundingModalData-BADfvap9.js"),require("eventemitter3"),require("./events-context-Di6--rDg.js"),require("viem/utils"),require("./useGetSolPrice-C986iVoO.js"),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-BM1sYNel.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("js-cookie"),require("./frame-B14fp9oC.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-BcAsQTGF.js"),require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),require("./Row-CMqYn75Q.js"),require("./ErrorMessage-BfTVyue9.js"),require("./Value-mhPsfsxe.js"),require("./LoadingSkeleton-BoyADunQ.js"),require("./Subtitle-CR8zM7ZJ.js"),require("./Title-ifTy35V5.js"),require("@heroicons/react/24/outline/WalletIcon"),require("./getChainName-C4rO8-3n.js"),require("./Chip-C6r7fZiR.js"),require("./NetworkIcon-BZ9Mj6vV.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("./shared-DBm7PUrg.js"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("./styles-Dg1qQgOa.js"),require("./LinkPasskeyScreen-CMBY4_3D.js"),require("lucide-react"),require("./TodoList-Cii_KrAk.js"),require("./ScreenLayout-DND5buhY.js"),require("./Screen-M6XQZTd0.js"),require("./InjectedWalletIcon-UY3nMvZo.js"),require("./Address-DiSm2l-W.js");var w=/*#__PURE__*/b(r);const A={component:()=>{let{rpcConfig:r,appId:b,closePrivyModal:A,createAnalyticsEvent:N}=l.usePrivyInternal(),{navigate:F,setModalData:x,data:P}=g.usePrivyModal(),B=c.useAppConfig(),{wallets:W}=m.useWallets(),[k,_]=t.useState(!1),[R,M]=t.useState(0n),[U,L]=t.useState(!1),[D,H]=t.useState(null),[Q,$]=t.useState(null),[O,G]=t.useState([]),[V,J]=t.useState(0),[Y,z]=t.useState(!1),[X,K]=t.useState(!1),[Z,ee]=t.useState(!1),[re,te]=t.useState(!1),[ie,ne]=t.useState(),[ae,se]=t.useState();if(!P?.funding||"ethereum"!==P.funding.chainType)throw Error("Invalid funding data");let{erc20ContractInfo:oe,chain:ue,connectedWallet:de}=P.funding,ce=P.funding.address,le=P.funding.erc20Address,[he,ge]=t.useState(P.funding.amount);t.useEffect((()=>{le&&!oe&&H(Error("Unable to fetch token details"))}),[]);let fe=!!le&&!!oe,me=fe?BigInt(parseFloat(he)*10**oe.decimals):i.parseEther(he),ve=("ethereum"===de?.type?de:void 0)??W[0],pe=h.useExternalWalletListing(ve?.walletClientType||"unknown"),Ce=pe?.name||"wallet",[ye,qe]=t.useState(null);t.useEffect((()=>{(async()=>{if(!ve)return;let e=await ve.getEthereumProvider();qe(i.createWalletClient({account:ve.address,transport:i.custom(e)}).extend(i.publicActions))})().catch(console.error)}),[ve]);let[Ee,Te]=t.useState(0n);t.useEffect((()=>{i.createPublicClient({chain:ue,transport:i.http(S.getJsonRpcEndpointFromChain(ue,r,b))}).getBalance({address:ce}).then(Te).catch(console.error)}),[]);let[Ie,Se]=t.useState(0n);t.useEffect((()=>{fe&&I.getErc20Balance({chain:ue,address:ce,appId:b,rpcConfig:r,erc20Address:le}).then((e=>Se(e.balance))).catch(console.error)}),[]);let{tokenPrice:je}=f.useGetTokenPrice(ue.id),[be,we]=t.useState({to:ce,chain:ue,value:me,data:void 0});t.useEffect((()=>{(async()=>{let e,t;if(!ye||!ve||Y||Z)return;z(!0);let n=i.createPublicClient({chain:be.chain,transport:i.http(S.getJsonRpcEndpointFromChain(be.chain,r,b))});if(fe&&!be.data)return await n.simulateContract({address:le,chain:be.chain,abi:v.ERC20_TRANSFER_ABI_STUB,functionName:"transfer",args:[ce,me],account:ve.address}).catch((e=>{console.warn("Simulated token transfer failed with error, fetching bridge options.",e)}))?(z(!1),void we({to:le,chain:be.chain,data:i.encodeFunctionData({abi:v.ERC20_TRANSFER_ABI_STUB,functionName:"transfer",args:[ce,me]}),value:"0x0"})):(z(!1),void L(!0));try{e=await n.prepareTransactionRequest({account:ve.address,to:be.to,chain:be.chain,data:be.data,value:BigInt(be.value??0)})}catch(e){if(console.error(e),O.length>1)$(e.shortMessage??"Something went wrong");else if(X&&0===O.length)return void H(new l.PrivyClientError(`Wallet ${h.formatWalletAddress(ve.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE))}if(!e)return z(!1),void L(!0);z(!1),ee(!0),_(!0),M(e.gas);try{await ye.switchChain({id:be.chain.id})}catch(e){await ye.addChain({chain:be.chain}),await ye.switchChain({id:be.chain.id})}try{t=await ye.sendTransaction(e)}catch(e){if(console.error(e),"TransactionExecutionError"===e.name)if(O.length<1){let r=e.shortMessage;(e.shortMessage.includes("rejected the request")||e.details.includes("rejected the request"))&&(r="User rejected the request."),H(new l.PrivyClientError(r,void 0,l.PrivyErrorCode.TRANSACTION_FAILURE))}else $(e.shortMessage??"Something went wrong")}if(t)return await ye.waitForTransactionReceipt({hash:t}),ee(!1),X?(ne(t),void se("pending")):(te(!0),x(E.addFundingResultToModalData(P,"completed",t,ve?.walletClientType,fe,oe,ue)),void N({eventName:y.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",txHash:t,address:ve.address,chainId:be.chain.id,chainType:"ethereum",value:be.value?i.formatUnits(BigInt(be.value),oe?.decimals??18):void 0,token:oe?.symbol??le??"ETH",destinationAddress:ce,destinationChainId:ue.id,destinationChainType:"ethereum",destinationValue:me?i.formatUnits(me,oe?.decimals??18):void 0,destinationToken:oe?.symbol??le??ue.nativeCurrency.name}}));ee(!1)})().catch(console.error)}),[ye,be]),t.useEffect((()=>{(async()=>{if(!U||!ye||!ve)return;let e=n.addToDefaultChains(B.chains).filter((e=>e.id!==ue.id&&!!e.testnet==!!ue.testnet));fe&&e.unshift(ue);let t=await T.getBalanceForChains({chains:e,address:ve.address,appId:b,rpcConfig:r,includeUsdc:P.funding?.isUSDC}),i=fe?t.filter((e=>e.balance>0n)):t.filter((e=>e.balance>me)),a=fe&&t.every((e=>0n===e.balance));if(i.length<1)return void H(a?new l.PrivyClientError(`Wallet ${h.formatWalletAddress(ve.address)} doesn't have enough funds to cover gas fees. Top up your wallet and try again.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE):new l.PrivyClientError(`Wallet ${h.formatWalletAddress(ve.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE));i.sort(((e,r)=>Number(fe?(r.erc20Balance??0n)-(e.erc20Balance??0n):r.balance-e.balance)));let s=i.flatMap((e=>{let r=[{...e,isErc20Quote:!1,isTestnet:!!ue.testnet,input:q.toGetQuoteInput({appId:b,amount:me.toString(),user:ve.address,recipient:ce,destinationChainId:ue.id,destinationCurrency:le,originChainId:e.chain.id})}];return fe&&le&&(e.erc20Balance??0n)>=me&&r.push({...e,isErc20Quote:!0,isTestnet:!!ue.testnet,input:q.toGetQuoteInput({appId:b,amount:me.toString(),user:ve.address,recipient:ce,destinationChainId:ue.id,destinationCurrency:le,originChainId:e.chain.id,originCurrency:e.erc20Address})}),r})),o=(await Promise.allSettled(s.map((async e=>({...e,quote:await q.getQuote(e)}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(o.length<1)return void H(new l.PrivyClientError(`Wallet ${h.formatWalletAddress(ve.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE));let u=o.map((e=>({bridgeTx:q.toEvmTransactionRequestInfoFromQuote(e.quote),balance:e.balance,chain:e.chain,erc20Balance:e.erc20Balance,isErc20Quote:e.isErc20Quote}))).filter((e=>!!e.bridgeTx));if(u.length>1)return void G(u);let d=u[0];d?(K(!0),we({data:d.bridgeTx.data,to:d.bridgeTx.to,value:d.bridgeTx.value,chain:d.chain})):H(new l.PrivyClientError(`Wallet ${h.formatWalletAddress(ve.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[U]),q.useBridgingStatusPolling({transactionHash:ie,isTestnet:!!ue.testnet,bridgingStatus:ae,setBridgingStatus:se,onSuccess({transactionHash:e}){K(!1),te(!0),x(E.addFundingResultToModalData(P,"completed",e,ve?.walletClientType,fe,oe,ue)),N({eventName:y.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",txHash:e,address:ve?.address,chainId:be.chain.id,chainType:"ethereum",value:be.value?i.formatUnits(BigInt(be.value),oe?.decimals??18):void 0,token:oe?.symbol??le??"ETH",destinationAddress:ce,destinationChainId:ue.id,destinationChainType:"ethereum",destinationValue:me?i.formatUnits(me,oe?.decimals??18):void 0,destinationToken:oe?.symbol??le??ue.nativeCurrency.name}})},onFailure({error:e}){K(!1),H(e)}}),t.useEffect((()=>{D&&(x({funding:P?.funding,solanaFundingData:P?.solanaFundingData,sendTransaction:P?.sendTransaction,errorModalData:{error:D,previousScreen:"TransferFromWalletScreen"}}),F("ErrorScreen",!1))}),[D]);let Ae=!fe&&je?C.getDollarsFromStringFloat(he??"0",je):void 0,Ne=fe?R:C.sumWeiQuantities([R,me]),Fe=Ne&&je?C.getDollarsFromWei(Ne,je):void 0,xe=Ne?C.getNativeCurrencyFromWei(Ne,P?.funding?.erc20Address?P?.funding?.erc20ContractInfo?.symbol||"ETH":P?.funding?.chain.nativeCurrency.symbol||"ETH"):void 0,Pe=R&&je?C.getDollarsFromWei(R,je):void 0,Be=R?C.getNativeCurrencyFromWei(R,ue?.nativeCurrency?.symbol||"ETH"):void 0;if(t.useEffect((()=>{if(!re)return;let e=setTimeout(A,c.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[re]),re/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.t,{}),/*#__PURE__*/e.jsx(a.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(a.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(w.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${he} ${fe?oe.symbol:ue.nativeCurrency.symbol} to your ${B.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(a.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]});let We=fe?`${p.formatErc20TokenAmount({amount:Ie,decimals:oe.decimals})} ${oe.symbol}`:C.getNativeCurrencyFromWei(Ee,ue.nativeCurrency.symbol,3,!0),ke=O[V];return O.length>1&&ke?/*#__PURE__*/e.jsx(T.BridgeNetworkSelectionView,{displayName:Ce,configuredFundingChain:ue,erc20ContractInfo:oe,formattedBalance:We,fundingAmount:he,fundingCurrency:fe?oe.symbol:ue.nativeCurrency.symbol,fundingAmountInUsd:Ae,options:O,selectedOption:ke,isPreparing:Y,isSubmitting:Z,addressToFund:ce,fundingWalletAddress:ve?.address||"",errorMessage:Q,onSubmit:()=>{P.funding?.amount!==he?async function(){if(ve&&ke)try{let e=await q.getQuote({isTestnet:!!ue.testnet,input:q.toGetQuoteInput({appId:b,amount:me.toString(),user:ve.address,recipient:ce,destinationChainId:ue.id,destinationCurrency:le,originChainId:ke.chain.id})}),r=q.toEvmTransactionRequestInfoFromQuote(e);if(!r)throw Error("Invalid transaction request");K(!0),we({data:r.data,to:r.to,value:r.value,chain:ke.chain})}catch(e){console.error(e),H(new l.PrivyClientError("Unable to fetch quotes for bridging",e,l.PrivyErrorCode.INSUFFICIENT_BALANCE))}}().catch(console.error):we({to:ke.bridgeTx.to,data:ke.bridgeTx.data,value:ke.bridgeTx.value,chain:ke.chain})},onSelect:e=>{e!==V&&($(null),J(e))},onAmountChange:ge}):k&&R&&ve&&P?.funding?/*#__PURE__*/e.jsx(j.TransferOrBridgeLoadingScreen,{walletClientType:ve?.walletClientType||"unknown",displayName:Ce,addressToFund:ce,isBridging:X,isErc20Flow:fe,totalPriceInUsd:Fe,totalPriceInNativeCurrency:xe,gasPriceInUsd:Pe,gasPriceInNativeCurrency:Be,chainId:ue.id,chainName:ue.name}):
2
- /*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.t,{}),/*#__PURE__*/e.jsx(d.NeutralSpinner,{}),/*#__PURE__*/e.jsx("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]})}};exports.AwaitingExternalEthereumTransferScreen=A,exports.default=A;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("lucide-react"),t=require("react"),a=require("./context-B8VkgLLk.js"),i=require("./index-B-V647xG.js"),l=require("./internal-context-NWsAL807.js"),s=require("./use-create-wallet-without-fallback-B3AnOM0l.js"),o=require("./get-is-unified-wallet--p0rdEtP.js"),u=require("./ScreenLayout-DND5buhY.js");require("@privy-io/js-sdk-core"),require("tinycolor2"),require("uuid"),require("jose"),require("eventemitter3"),require("./useActiveWallet-Wp8zv7qb.js"),require("zustand"),require("styled-components"),require("react-device-detect"),require("./prepareFundingModalData-BADfvap9.js"),require("./events-context-Di6--rDg.js"),require("viem"),require("viem/utils"),require("./getPublicClient-CGlodIp_.js"),require("./useWallets-DEyFRWD0.js"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-BM1sYNel.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("ofetch"),require("js-cookie"),require("./frame-B14fp9oC.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-BcAsQTGF.js"),require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),require("./ModalHeader-HFJct04e.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-M6XQZTd0.js"),require("./index-ByFhjjzH.js");const n=({errorMessage:t,onClose:a})=>t?/*#__PURE__*/e.jsx(u.ScreenLayout,{title:"Something went wrong",subtitle:t,icon:r.XCircle,iconVariant:"error",primaryCta:{label:"Close",onClick:a},watermark:!0}):/*#__PURE__*/e.jsx(u.ScreenLayout,{title:"Creating your wallet",subtitle:"Please wait...",iconVariant:"loading",watermark:!1}),c={component:()=>{let{setModalData:r,navigate:u,data:c,onUserCloseViaDialogOrKeybindRef:d}=o.usePrivyModal(),q=a.useAppConfig(),[h,w]=t.useState(""),{embeddedWallets:y}=a.useAppConfig(),{authenticated:m,user:v}=o.usePrivyContext(),{closePrivyModal:C,walletProxy:p,client:b}=l.usePrivyInternal(),{onSuccess:g,onFailure:j,callAuthOnSuccessOnClose:S,shouldCreateEth:W,shouldCreateSol:x}=c.createWallet,f="legacy-embedded-wallets-only"===q.embeddedWallets.mode&&!0===q?.embeddedWallets.requireUserOwnedRecoveryOnCreate,[E,A]=t.useState(null),{create:O}=s.useCreateWalletWithoutFallback(),P=W??(!!v&&i.shouldCreateEmbeddedEthWallet(v,q.embeddedWallets.ethereum.createOnLogin)),k=x??(!!v&&i.shouldCreateEmbeddedSolWallet(v,q.embeddedWallets.solana.createOnLogin)),I=new i.RunEffectOnce((async()=>{let e=await b.getAccessToken();if(v&&e&&p)try{let e;if(P&&k)e=await O({chainType:"ethereum",walletIndex:0,latestUser:v}),e=await O({chainType:"solana",walletIndex:0,latestUser:e.user});else if(k)e=await O({chainType:"solana",walletIndex:0,latestUser:v});else{if(!P)return void C({shouldCallAuthOnSuccess:S});e=await O({chainType:"ethereum",walletIndex:0,latestUser:v})}A(e),u("EmbeddedWalletCreatedScreen")}catch(e){w(e.message)}}));return t.useEffect((()=>m&&v?f?(r({...c,createWallet:{...c.createWallet,shouldCreateEth:P,shouldCreateSol:k},recoverySelection:{...c?.recoverySelection,isInAccountCreateFlow:!0,shouldCreateEth:P,shouldCreateSol:k}}),u(i.toEmbeddedWalletSetRecoveryScreen({walletAction:"create",showAutomaticRecovery:!1,availableRecoveryMethods:y.userOwnedRecoveryOptions,legacySetWalletPasswordFlow:!1,isResettingPassword:!1}))):void I.execute():(u("LandingScreen"),void j(Error("User must be authenticated before creating a Privy wallet")))),[f,m]),d.current=()=>null/*#__PURE__*/,e.jsx(n,{errorMessage:h||void 0,onClose:()=>{E?(g(E),C({shouldCallAuthOnSuccess:S})):(j(new l.PrivyEmbeddedWalletError("User wallet creation failed")),C({shouldCallAuthOnSuccess:!1}))}})}};exports.EmbeddedWalletOnAccountCreateScreen=c,exports.EmbeddedWalletOnAccountCreateView=n,exports.default=c;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("./ModalHeader-HFJct04e.js"),n=require("./Layouts-D3TOcPhm.js"),t=require("./FundWalletMethodHeader-CfHXgc0M.js"),s=require("./index-ByFhjjzH.js"),u=require("./Title-ifTy35V5.js"),o=require("./get-is-unified-wallet--p0rdEtP.js"),a=require("./useGetTokenPrice-BkD8eOWh.js"),l=require("./ethers-O1Nyjl84.js"),c=require("./styles-Dg1qQgOa.js");require("styled-components"),require("./context-B8VkgLLk.js"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("./useActiveWallet-Wp8zv7qb.js"),require("zustand"),require("react-device-detect"),require("./prepareFundingModalData-BADfvap9.js"),require("./internal-context-NWsAL807.js"),require("ofetch"),require("eventemitter3"),require("./events-context-Di6--rDg.js"),require("viem"),require("viem/utils"),require("./getPublicClient-CGlodIp_.js"),require("./useWallets-DEyFRWD0.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("./useGetSolPrice-C986iVoO.js"),require("./LinkPasskeyScreen-CMBY4_3D.js"),require("lucide-react"),require("./TodoList-Cii_KrAk.js"),require("./ScreenLayout-DND5buhY.js"),require("./Screen-M6XQZTd0.js");const d={component:()=>{let{data:d,setModalData:j}=o.usePrivyModal(),q=d?.funding,g="solana"===q.chainType,h=r.useRef(null),{tokenPrice:m}=a.useGetTokenPrice(g?"solana":q.chain.id),x=g?void 0:q,y=!(!x?.erc20Address||x?.erc20ContractInfo),p=g?q.isUSDC?"USDC":"SOL":q.erc20Address?q.erc20ContractInfo?.symbol:q.chain.nativeCurrency.symbol||"ETH",F=parseFloat(q.amount),C=!isNaN(F)&&F>0,v=m?l.getDollarsFromStringFloat(q.amount,m):void 0;/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(t.t,{}),/*#__PURE__*/e.jsx(u.Title,{children:"Confirm or edit amount"}),/*#__PURE__*/e.jsxs(n.FlexContainer,{style:{marginTop:"32px"},children:[/*#__PURE__*/e.jsx(c.FundingQuantityWrapper,{children:y?/*#__PURE__*/e.jsx(s.NeutralSpinner,{size:"50px"}):/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsxs(c.FundingQuantity,{onClick:()=>h.current?.focus(),children:[/*#__PURE__*/e.jsx(c.FundingAmountInputLarge,{ref:h,value:q.amount,onChange:e=>{let r=e.target.value;/^[0-9.]*$/.test(r)&&r.split(".").length-1<=1&&j({...d,funding:{...q,amount:r},solanaFundingData:d?.solanaFundingData?{...d.solanaFundingData,amount:r}:void 0})}}),/*#__PURE__*/e.jsx(c.FundingCurrency,{children:p})]}),!x?.erc20Address&&!(g&&q.isUSDC)&&/*#__PURE__*/e.jsx(c.FundingDollars,{children:v&&C?`${v} USD`:""})]})}),/*#__PURE__*/e.jsx(i.PrimaryButtonWithoutGray,{style:{marginTop:"1rem"},disabled:!C,onClick:q.onContinueWithExternalWallet,children:"Continue"})]}),/*#__PURE__*/e.jsx(i.BlobbyFooter,{})]})}};exports.FundingAmountEditScreen=d,exports.default=d;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./ModalHeader-HFJct04e.js"),o=require("./ScreenHeader-CgYJ5Fmg.js"),a=require("./context-B8VkgLLk.js"),i=require("./index-B-V647xG.js"),l=require("./internal-context-NWsAL807.js"),n=require("./get-is-unified-wallet--p0rdEtP.js"),c=require("./paths-DizMb-lU.js"),s=require("./useWallets-DEyFRWD0.js"),d=require("./events-context-Di6--rDg.js"),u=require("./use-create-wallet-without-fallback-B3AnOM0l.js"),v=require("./styles-CQnB5gHS.js");async function y({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 h({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 p({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-Wp8zv7qb.js"),require("zustand"),require("react-device-detect"),require("./prepareFundingModalData-BADfvap9.js"),require("@privy-io/js-sdk-core"),require("eventemitter3"),require("viem"),require("viem/utils"),require("./getPublicClient-CGlodIp_.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("tinycolor2"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./usePrivy-BM1sYNel.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("ofetch"),require("js-cookie"),require("./frame-B14fp9oC.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-BcAsQTGF.js"),require("./getEmbeddedConnectedWallet-6TsVZJkD.js");let w={"google-drive":{name:"Google Drive",component:v.GoogleDrive},icloud:{name:"iCloud",component:v.AppleICloud}};const E={component:()=>{let{logout:c}=n.usePrivyContext(),{navigate:E,setModalData:m,data:C}=n.usePrivyModal(),{closePrivyModal:f,createAnalyticsEvent:A}=l.usePrivyInternal(),{execute:_}=(()=>{let{client:e,walletProxy:r,refreshSessionAndUser:t}=l.usePrivyInternal(),{data:o}=n.usePrivyModal(),{user:a}=n.usePrivyContext(),i=d.useEmitPrivyEvent(),{create:c}=u.useCreateWalletWithoutFallback();return{execute:async({provider:d,action:u,popup:v,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:d}}),new l.PrivyClientError("Recovery OAuth failed")}switch(d){case"google-drive":{let r,t,{url:o,codeVerifier:a,stateCode:i}=await p({api:e.api,provider:d});f(o);try{let a=await y({url:o,popup:v,provider:d});if(r=a.stateCode,t=a.authorizationCode,r!==i)throw e.createAnalyticsEvent({eventName:"possible_phishing_attempt",payload:{provider:d,storedStateCode:i??"",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:d}}),new l.PrivyClientError("Recovery OAuth failed")}[m,C]=await Promise.all([e.getAccessToken(),h({api:e.api,provider:d,codeVerifier:a,stateCode:r,authorizationCode:t})]);break}case"icloud":{let{url:r}=await p({api:e.api,provider:d});f(r);let{ckWebAuthToken:t}=await y({url:r,popup:v,provider:d});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(u){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:d}}),await r.recover({accessToken:m,entropyId:t,entropyIdVerifier:a,recoveryAccessToken:C}),e.createAnalyticsEvent({eventName:"embedded_wallet_recovery_completed",payload:{walletAddress:t,recoveryMethod:d}});break}case"create-wallet":{let r;if(e.createAnalyticsEvent({eventName:"embedded_wallet_creation_started"}),w&&E)r=await c({recoveryMethod:d,recoveryAccessToken:C,chainType:"ethereum",walletIndex:0,latestUser:a}),r=await c({chainType:"solana",walletIndex:0,latestUser:r.user});else if(E)r=await c({recoveryMethod:d,recoveryAccessToken:C,chainType:"solana",walletIndex:0,latestUser:a});else{if(!w)throw Error("Invalid args to create wallet");r=await c({recoveryMethod:d,recoveryAccessToken:C,chainType:"ethereum",walletIndex:0,latestUser:a})}if(!r)throw i("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}}),i("createWallet","onSuccess",{wallet:r.account});break}case"set-recovery":{let o=n.getPrivyPrimaryWallet(a);if(!o)throw i("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:d}});let{entropyId:c,entropyIdVerifier:u}=s.getEntropyDetailsForUser(a);await r.setRecovery({accessToken:m,entropyId:c,entropyIdVerifier:u,recoveryMethod:d,recoveryAccessToken:C});let v=n.getPrivyPrimaryWallet(await t());if(!v)throw i("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:d}}),i("setWalletRecovery","onSuccess",{method:d,wallet:v});break}default:throw new l.PrivyClientError("Unsupported recovery action")}}}})(),[g,P]=r.useState(!1),{provider:q,action:b,isInAccountCreateFlow:R,shouldCreateEth:S,shouldCreateSol:x}=C?.recoveryOAuthStatus,[O,k]=r.useState(void 0),[T,j]=r.useState("create-wallet"===b);if("user-passcode"===q)throw Error("RecoveryOAuthScreen should never be called with a wallet that specifies recoveryMethod: `user-passcode`");let I=w[q].name,N=w[q].component,U=C?.recoverWallet?.onCompleteNavigateTo,M=new i.RunEffectOnce((async(e="create-wallet")=>(j(!0),new Promise(((r,t)=>{setTimeout((async()=>{try{let t=window.open();await _({provider:q,action:e,popup:t,shouldCreateEth:S,shouldCreateSol:x}),P(!0),r()}catch(r){k({message:`${"recover"===e?"Recovery":"Back up"} with ${I} unsuccessful`,detail:"recover"===b?`Please verify that you are selecting the ${I} account associated with your backup.`:"",retryable:!0}),t()}}),0)})))));r.useEffect((()=>{"recover"!==b&&M.execute(R?"create-wallet":"set-recovery")}),[]),r.useEffect((()=>{if(!g)return;let e=setTimeout((()=>{R?(m({createWallet:{onSuccess:()=>{},onFailure:e=>{A({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"RecoveryOAuthScreen"}}),c()},callAuthOnSuccessOnClose:!0,shouldCreateEth:!1,shouldCreateSol:!1}}),E("EmbeddedWalletCreatedScreen")):f({shouldCallAuthOnSuccess:!1})}),a.DEFAULT_SUCCESS_SCREEN_DURATION_MS);return()=>clearTimeout(e)}),[g]);let W=r.useCallback((async()=>{await M.execute("recover"),U?E(U):P(!0)}),[]),D="google-drive"===q?"Google Drive":"Apple iCloud",F=g&&`Successfully ${"recover"===b?"recovered":"backed up"} with ${D}.`||O&&O.message||`${"recover"===b?"Recovering":"Backing up"} with ${D}...`,V=O?O.detail:"";/*#__PURE__*/return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(t.ModalHeader,{}),T?/*#__PURE__*/e.jsx(e.Fragment,{children:/*#__PURE__*/e.jsxs(v.RecoveryContainer,{children:[/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:F,icon:/*#__PURE__*/e.jsx(N,{style:{width:"38px",height:"38px"}}),description:V}),O&&O?.retryable?/*#__PURE__*/e.jsx(t.PrimaryButton,{onClick:()=>{i.stripUrlOAuthParamsAndRemoveStateCode(),k(void 0),"create-wallet"===b?M.execute("create-wallet"):W()},disabled:!g&&!O?.retryable,children:"Try again"}):null]})}):/*#__PURE__*/e.jsxs(v.RecoveryContainer,{children:[/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Confirm it's really you",icon:/*#__PURE__*/e.jsx(N,{style:{height:42,width:48}}),description:`To confirm your identity, please log in to ${D} where your account is backed up.`}),/*#__PURE__*/e.jsxs(t.PrimaryButton,{onClick:W,children:["Confirm with ",D]})]}),/*#__PURE__*/e.jsx(t.BlobbyFooter,{})]})}};exports.RecoveryOAuthScreen=E,exports.default=E;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./context-B8VkgLLk.js"),i=require("./index-B-V647xG.js"),s=require("./internal-context-NWsAL807.js"),o=require("./use-create-wallet-without-fallback-B3AnOM0l.js"),a=require("./get-is-unified-wallet--p0rdEtP.js"),u=require("./SetWalletPasswordForm-D0eEjP-u.js");require("@privy-io/js-sdk-core"),require("tinycolor2"),require("uuid"),require("jose"),require("eventemitter3"),require("./useActiveWallet-Wp8zv7qb.js"),require("zustand"),require("styled-components"),require("react-device-detect"),require("./prepareFundingModalData-BADfvap9.js"),require("./events-context-Di6--rDg.js"),require("viem"),require("viem/utils"),require("./getPublicClient-CGlodIp_.js"),require("./useWallets-DEyFRWD0.js"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-BM1sYNel.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("ofetch"),require("js-cookie"),require("./frame-B14fp9oC.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-BcAsQTGF.js"),require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),require("@heroicons/react/24/outline/ExclamationTriangleIcon"),require("./Layouts-D3TOcPhm.js"),require("./ModalHeader-HFJct04e.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-CJn0wmyB.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 n={component:()=>{let{navigate:n,data:c,onUserCloseViaDialogOrKeybindRef:l}=a.usePrivyModal(),d=t.useAppConfig(),[q,h]=r.useState(""),[w,p]=r.useState(!1),[y,v]=r.useState(),[m,f]=r.useState(null),{create:j}=o.useCreateWalletWithoutFallback(),{authenticated:C,user:g}=a.usePrivyContext(),{closePrivyModal:P,isNewUserThisSession:S,initializeWalletProxy:b}=s.usePrivyInternal(),{onSuccess:I,onFailure:x,callAuthOnSuccessOnClose:E,shouldCreateEth:W,shouldCreateSol:A}=c.createWallet,[k,M]=r.useState(null),U=new i.RunEffectOnce((async()=>{try{let e;if(W&&A)e=await j({recoveryMethod:"user-passcode",recoveryPassword:y,chainType:"ethereum",walletIndex:0,latestUser:g}),e=await j({chainType:"solana",walletIndex:0,latestUser:e.user});else if(A)e=await j({recoveryMethod:"user-passcode",recoveryPassword:y,chainType:"solana",walletIndex:0,latestUser:g});else{if(!W)throw Error("Invalid args to create wallet");e=await j({recoveryMethod:"user-passcode",recoveryPassword:y,chainType:"ethereum",walletIndex:0,latestUser:g})}M(e),S?n("EmbeddedWalletCreatedScreen"):(I(e),P({shouldCallAuthOnSuccess:E}))}catch(e){h(e.message)}}));r.useEffect((()=>{m||b(3e4).then((e=>f(e)))}),[m]),r.useEffect((()=>{if(!C||!g)return n("LandingScreen"),void x(Error("User must be authenticated before creating a Privy wallet"))}),[C]),l.current=()=>null;/*#__PURE__*/return e.jsx(u.SetWalletPasswordForm,{config:{initiatedBy:"automatic"},appName:d?.name||"privy",loading:!m,buttonLoading:w,buttonHideAnimations:!k&&w,isResettingPassword:!1,error:q,password:y||"",onClose:()=>{k&&"user-passcode"!==k.account.recoveryMethod?(x(new s.PrivyEmbeddedWalletError("User created a wallet but failed to set a password for it")),P({shouldCallAuthOnSuccess:!1})):k?(I(k),P({shouldCallAuthOnSuccess:E})):(x(new s.PrivyEmbeddedWalletError("User wallet creation failed")),P({shouldCallAuthOnSuccess:!1}))},onPasswordChange:v,onPasswordGenerate:()=>v(u.generatePassphrase()),onSubmit:async()=>(p(!0),U.execute().then((()=>new Promise((e=>setTimeout(e,250))))).finally((()=>p(!1))))})}};exports.EmbeddedWalletPasswordCreateScreen=n,exports.default=n;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("@privy-io/js-sdk-core");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=/*#__PURE__*/a(require("tinycolor2"));const r={appearance:{landingHeader:"Log in or sign up",theme:"light",walletList:["detected_ethereum_wallets","detected_solana_wallets","metamask","coinbase_wallet","rainbow","base_account","wallet_connect","phantom"]},walletConnectCloudProjectId:"34357d3c125c2bcf2ce2bc3309d98715",_render:{standalone:!1},fundingMethodConfig:{moonpay:{useSandbox:!1}}};let l=new Set(["coinbase_wallet","base_account","cryptocom","metamask","okx_wallet","phantom","rainbow","uniswap","zerion","universal_profile","bybit_wallet","ronin_wallet","haha_wallet","wallet_connect","wallet_connect_qr","wallet_connect_qr_solana","detected_solana_wallets","detected_ethereum_wallets","rabby_wallet","safe","solflare","backpack","jupiter","binance","binanceus","bitget_wallet","kraken_wallet"]),i=e=>l.has(e),s=(e,t,n)=>n.indexOf(e)===t;const c=({input:e,overrides:t})=>t?t.primary.concat(t.overflow??[]).filter(i).filter(s):e?e.filter(i).filter(s):r.appearance.walletList;let d=/paymaster\.biconomy\.io\/api/i,u={mode:"SPONSORED",calculateGasLimits:!0,expiryDuration:300,sponsorshipInfo:{webhookData:{},smartAccountInfo:{name:"BICONOMY",version:"2.0.0"}}};const g=(e,t)=>e&&d.test(e)?u:t&&t.policy_id?{policyId:t.policy_id}:void 0;function _(e,t){let n=Math.max(0,Math.min(1,e.toHsl().l+t));return o.default({...e.toHsl(),l:n})}function p(e,t){let n=e.getLuminance(),a=t.getLuminance();return(Math.max(n,a)+.05)/(Math.min(n,a)+.05)}function f(e,t){if(!e){let e=t?b:m;return{accent:o.default(e.background.interactive),accentLight:o.default(e.background.interactive),accentHover:o.default(e.background["interactive-hover"]),accentDark:o.default(e.background["interactive-clicked"]),accentDarkest:o.default(e.background["interactive-disabled"])}}let n=o.default(e);return{accent:n,accentLight:_(n,.15),accentHover:_(n,.3),accentDark:_(n,-.06),accentDarkest:_(n,-.6)}}function h({backgroundTheme:e,accentHex:t}){let n,a;"light"===e?n=!1:"dark"===e?n=!0:(n=.5>=o.default(e).getLuminance(),a=o.default(e).toHslString());let r=n?"dark":"light",l=n?b:m,{accent:i,accentLight:s,accentHover:c,accentDark:d,accentDarkest:u}=f(t,n),g=function(e){let t=o.default(m.text.default),n=o.default(b.text.default),a=p(e,t),r=p(e,n),l=e.toHsl();return l.h>=220&&l.h<=300&&r>=3?b.text.default:a>r?m.text.default:b.text.default}(i),_=o.default(g),h=p(i,o.default(l.background.default))>=3;return{colorScheme:r,background:a||l.background.default,background2:l.background.elevated,background3:l.background.interactive,foreground:l.text.default,foreground2:l.text.muted,foreground3:l.text.placeholder,foreground4:l.border.default,accent:i.toHslString(),accentLight:s.toHslString(),accentHover:c.toHslString(),accentDark:d.toHslString(),accentDarkest:u.toHslString(),foregroundAccent:_.toHslString(),success:l.background.success,successDark:l.text.success,successLight:l.background.success,error:l.text.error,errorLight:l.background.error,warn:l.background.warning,warnLight:l.background.warning,warningDark:l.text.warning,errorDark:l.text.error,successBg:l.background.success,errorBg:l.background.error,errorBgHover:l.background["error-hover"],warnBg:l.background.warning,infoBg:l.background.info,infoBgHover:l.background["info-hover"],borderDefault:l.border.default,borderHover:l.border["default-hover"],borderFocus:l.border.focused,borderError:l.border.error,borderSuccess:l.border.success,borderWarning:l.border.warning,borderInfo:l.border.info,borderInteractive:l.border.interactive,borderInteractiveHover:l.border["interactive-hover"],backgroundHover:l.background["default-hover"],backgroundClicked:l.background["default-clicked"],backgroundDisabled:l.background["default-disabled"],backgroundInteractive:l.background.interactive,backgroundInteractiveHover:l.background["interactive-hover"],backgroundInteractiveClicked:l.background["interactive-clicked"],backgroundInteractiveDisabled:l.background["interactive-disabled"],foregroundHover:l.text.default,foregroundClicked:l.text.default,foregroundDisabled:l.text["default-disabled"],foregroundInteractive:l.text.interactive,foregroundInteractiveHover:l.text["interactive-hover"],accentHasGoodContrast:h?"1":"0",linkNavigationColor:h?i.toHslString():l.text.default,linkNavigationDecoration:h?"none":"underline",iconDefault:l.icon.default,iconMuted:l.icon.muted,iconSubtle:l.icon.subtle,iconInverse:l.icon.inverse,iconSuccess:l.icon.success,iconWarning:l.icon.warning,iconError:l.icon.error,iconInteractive:l.icon.interactive,iconDefaultHover:l.icon["default-hover"],iconMutedHover:l.icon["muted-hover"],iconSubtleHover:l.icon["subtle-hover"],iconDefaultClicked:l.icon["default-clicked"],iconMutedClicked:l.icon["muted-clicked"],iconSubtleClicked:l.icon["subtle-clicked"],iconDefaultDisabled:l.icon["default-disabled"],iconMutedDisabled:l.icon["muted-disabled"],iconSubtleDisabled:l.icon["subtle-disabled"],iconErrorHover:l.icon["error-hover"],iconInteractiveHover:l.icon["interactive-hover"],iconErrorClicked:l.icon["error-clicked"],iconInteractiveClicked:l.icon["interactive-clicked"],iconMutedDisabledAlt:l.icon["muted-disabled"],iconSubtleDisabledAlt:l.icon["subtle-disabled"]}}const b={background:{default:"#020713",elevated:"#1A2230","default-hover":"#101724","default-clicked":"#1A2230","default-disabled":"#020713",success:"#0E3E2D",warning:"#373827",error:"#2E0C18",interactive:"#8B86FF","error-hover":"#441821","interactive-hover":"#7B73E5","interactive-clicked":"#6560CC","interactive-disabled":"#141824",info:"#1F2937","info-hover":"#141824"},icon:{default:"#F8F8F8",muted:"#9BA2AE",subtle:"#7B8491",inverse:"#020713",success:"#88E3B5",warning:"#FDF27B",error:"#EF4444",interactive:"#88B6FF","default-hover":"#F8F8F8","muted-hover":"#AEB3BD","subtle-hover":"#8B939E","default-clicked":"#F8F8F8","muted-clicked":"#9097A5","subtle-clicked":"#78818E","default-disabled":"#404452","muted-disabled":"#404452","subtle-disabled":"#404452","error-hover":"#F05555","interactive-hover":"#7B73E5","error-clicked":"#EF4444","interactive-clicked":"#6560CC"},text:{default:"#F8F8F8",muted:"#9BA2AE",placeholder:"#7B8491",success:"#ACEECB",warning:"#FEF9A0",error:"#FCA5A5",interactive:"#A29EFF","default-disabled":"#404452","interactive-hover":"#8C88E5"},border:{default:"#1F2937",interactive:"#88B0FF",focused:"#F8F8FC",info:"#5B83D3",success:"#317056",warning:"#FBBF24",error:"#F87171","default-hover":"#34304A","interactive-hover":"#88B0FF"}},m={background:{default:"#FFFFFF",elevated:"#F1F2F9","default-hover":"#F8F9FC","default-clicked":"#F1F2F9","default-disabled":"#FFFFFF",success:"#DCFCE7",warning:"#FEF3C7",error:"#FEE2E2",interactive:"#5B4FFF","error-hover":"#FECACA","interactive-hover":"#4F46E5","interactive-clicked":"#4338CA","interactive-disabled":"#F1F2F9",info:"#E0E7FF","info-hover":"#EEF2FF"},icon:{default:"#110F2A",muted:"#64668B",subtle:"#9498B8",inverse:"#FFFFFF",success:"#33B287",warning:"#F59E0B",error:"#EF4444",interactive:"#564FFF","default-hover":"#1D1B35","muted-hover":"#64668B","subtle-hover":"#888AAE","default-clicked":"#060C23","muted-clicked":"#64668B","subtle-clicked":"#788804","default-disabled":"#CBCDE1","muted-disabled":"#CBCDE1","subtle-disabled":"#CBCDE1","error-hover":"#F06060","interactive-hover":"#4F46E5","error-clicked":"#DC3838","interactive-clicked":"#2BA482"},text:{default:"#040217",muted:"#64668B",placeholder:"#9498B8",success:"#135638",warning:"#906218",error:"#991B1B",interactive:"#5B4FFF","default-disabled":"#CBCDE1","interactive-hover":"#5B4FFF"},border:{default:"#E2E3F0",interactive:"#5B4FFF",focused:"#949DF9",info:"#F1F2F9",success:"#87D7B7",warning:"#FACD63",error:"#F69393","default-hover":"#E2E3F0","interactive-hover":"#5B4FFF"}};function v(e,t,a,o,l){let i,s,d,u,_,p,f,b,m,v,C,w,E,k,F,y,A,x=a?console.warn:()=>{},S=[];if(t?.loginMethods)for(let e of(i=t.loginMethods.includes("email"),s=t.loginMethods.includes("sms"),u=t.loginMethods.includes("wallet"),_=t.loginMethods.includes("google"),p=t.loginMethods.includes("twitter"),f=t.loginMethods.includes("discord"),C=t.loginMethods.includes("spotify"),w=t.loginMethods.includes("instagram"),b=t.loginMethods.includes("tiktok"),m=t.loginMethods.includes("line"),v=t.loginMethods.includes("twitch"),k=t.loginMethods.includes("github"),E=t.loginMethods.includes("linkedin"),F=t.loginMethods.includes("apple"),y=t.loginMethods.includes("farcaster"),A=t.loginMethods.includes("telegram"),d=t.loginMethods.includes("passkey"),t.loginMethods))"string"==typeof e&&e.startsWith("privy:")&&S.push(e);else i=e.email_auth,s=e.sms_auth,u=e.wallet_auth||e.solana_wallet_auth,_=e.google_oauth,p=e.twitter_oauth,f=e.discord_oauth,k=e.github_oauth,C=e.spotify_oauth,w=e.instagram_oauth,b=e.tiktok_oauth,m=e.line_oauth,v=e.twitch_oauth,E=e.linkedin_oauth,F=e.apple_oauth,y=e.farcaster_auth,A=e.telegram_auth,d=e.passkey_auth;e.passkey_auth&&(d=!0),"undefined"!=typeof window&&"function"!=typeof window.PublicKeyCredential&&(d=!1);let O=[i,s].filter(Boolean),M=[_,p,f,k,C,w,b,m,E,F,y,A].filter(Boolean),D=[u].filter(Boolean),I=t?.loginMethods?.includes("passkey")??!1,T=e.passkeys_for_signup_enabled??!1,L=[d&&(T||I)].filter(Boolean);if(O.length+M.length+D.length+L.length+S.length===0)throw Error("You must enable at least one login method");let B=void 0!==t?.appearance?.showWalletLoginFirst?t?.appearance?.showWalletLoginFirst:e.show_wallet_login_first;B&&0===D.length?(x("You should only enable `showWalletLoginFirst` when `wallet` logins are also enabled. `showWalletLoginFirst` has been set to false"),B=!1):B||M.length+O.length!==0||(x("You should only disable `showWalletLoginFirst` when `email`, `sms`, or social logins are also enabled. `showWalletLoginFirst` has been set to true"),B=!0);let U=t?.externalWallets?.walletConnect?.enabled??!0;t?.loginMethods&&t.loginMethodsAndOrder&&x("You should only configure one of `loginMethods` or `loginMethodsAndOrder`");let W=c({input:t?.appearance?.walletList,overrides:t?.loginMethodsAndOrder});if((W.includes("wallet_connect_qr")||W.includes("wallet_connect"))&&W.includes("wallet_connect_qr_solana"))throw Error("wallet_connect_qr and wallet_connect_qr_solana cannot both be present in walletList due to WalletConnect session conflicts.");let N=(({input:e})=>{if(!e||!e.primary[0])return;let t=[e.primary[0]],n=[];for(let n of(e.primary.length>4&&console.warn("You should not specify greater than 4 login methods in `loginMethodsAndOrder.primary`"),e.primary.slice(1)))t.includes(n)?console.warn(`Duplicated login method: ${n}`):t.push(n);for(let a of e.overflow??[])t.includes(a)||n.includes(a)?console.warn(`Duplicated login method: ${a}`):n.push(a);return{primary:t,overflow:n}})({input:t?.loginMethodsAndOrder}),H=t?.intl?.defaultCountry??"US",{chains:R,defaultChain:P}=function({supportedChains:e,defaultChainFromConfig:t}){let a;if(e){if(0===e.length)throw Error("`supportedChains` must contain at least one chain");a=n.dedupeSupportedChains(e)}else a=[...n.DEFAULT_SUPPORTED_CHAINS];let o=e?a[0]:n.mainnet,r=t??o;if(!a.find((e=>e.id===r.id)))throw Error("`defaultChain` must be included in `supportedChains`");return{chains:a,defaultChain:r}}({supportedChains:t?.supportedChains,defaultChainFromConfig:t?.defaultChain}),K=!!t?.defaultChain,Y=t?.customAuth?.getCustomAccessToken&&!1!==t?.customAuth?.enabled,q=Y?"all-users":e.embedded_wallet_config.ethereum.create_on_login,j=e.embedded_wallet_config.solana.create_on_login;e.solana_wallet_auth&&!t?.externalWallets?.solana?.connectors&&console.warn("App configuration has Solana wallet login enabled, but no Solana wallet connectors have been passed to Privy. Make sure to pass Solana connectors to the `config.externalWallets.solana.connectors` field of the `PrivyProvider`");let G=e.telegram_auth_config?{botId:e.telegram_auth_config.bot_id,botName:e.telegram_auth_config.bot_name,linkEnabled:e.telegram_auth_config.link_enabled,seamlessAuthEnabled:e.telegram_auth_config.seamless_auth_enabled}:void 0,$=e.funding_config?{methods:e.funding_config.methods,options:e.funding_config.options,defaultRecommendedAmount:e.funding_config.default_recommended_amount,defaultRecommendedCurrency:e.funding_config.default_recommended_currency,promptFundingOnWalletCreation:e.funding_config.prompt_funding_on_wallet_creation,crossChainBridgingEnabled:e.funding_config.cross_chain_bridging_enabled}:void 0,z=e.smart_wallet_config;return{id:e.id,appClientId:l,name:e.name,allowlistConfig:{errorTitle:e.allowlist_config.error_title,errorDetail:e.allowlist_config.error_detail,errorCtaText:e.allowlist_config.cta_text,errorCtaLink:e.allowlist_config.cta_link},legacyWalletUiConfig:e.legacy_wallet_ui_config,appearance:{logo:t?.appearance?.logo??e.logo_url??void 0,landingHeader:t?.appearance?.landingHeader??r.appearance.landingHeader,loginMessage:"string"==typeof t?.appearance?.loginMessage?t?.appearance?.loginMessage.slice(0,100):t?.appearance?.loginMessage,footerLogo:t?.appearance?.footerLogo,palette:h({backgroundTheme:t?.appearance?.theme??r.appearance.theme,accentHex:t?.appearance?.accentColor??e.accent_color}),loginGroupPriority:B?"web3-first":"web2-first",hideDirectWeb2Inputs:!!t?.appearance?.hideDirectWeb2Inputs,walletList:W,walletChainType:t?.appearance?.walletChainType??(({evmWalletAuth:e,solanaWalletAuth:t})=>e&&t?"ethereum-and-solana":e?"ethereum-only":t?"solana-only":"ethereum-only")({evmWalletAuth:e.wallet_auth??!1,solanaWalletAuth:e.solana_wallet_auth??!1})},loginMethods:{wallet:u,email:i,sms:s,passkey:d,google:_,twitter:p,discord:f,github:k,spotify:C,instagram:w,tiktok:b,line:m,twitch:v,linkedin:E,apple:F,farcaster:y,telegram:A},customOAuthProviders:(e.custom_oauth_providers??[]).filter((e=>!1!==e.enabled)),crossAppProviders:S,disablePlusEmails:e.disable_plus_emails,loginMethodsAndOrder:N,legal:{termsAndConditionsUrl:t?.legal?.termsAndConditionsUrl??e.terms_and_conditions_url,privacyPolicyUrl:t?.legal?.privacyPolicyUrl??e.privacy_policy_url,requireUsersAcceptTerms:e.require_users_accept_terms??!1},walletConnectCloudProjectId:t?.walletConnectCloudProjectId??e.wallet_connect_cloud_project_id??r.walletConnectCloudProjectId,rpcConfig:{rpcUrls:{},rpcTimeouts:t?.externalWallets?.signatureRequestTimeouts??{}},chains:R,defaultChain:P,intl:{defaultCountry:H,textLocalization:t?.intl?.textLocalization},shouldEnforceDefaultChainOnConnect:K,captcha:{enabledProvider:e.enabled_captcha_provider??null,siteKey:e.captcha_site_key},externalWallets:{coinbaseWallet:{config:{appName:e.name,appLogoUrl:e.logo_url,preference:{options:"all",...t?.externalWallets?.coinbaseWallet?.config?.preference},...t?.externalWallets?.coinbaseWallet?.config}},baseAccount:{config:{appName:e.name,appLogoUrl:e.logo_url,...t?.externalWallets?.baseAccount?.config,preference:{...t?.externalWallets?.baseAccount?.config?.preference,telemetry:!1}}},walletConnect:{enabled:U},solana:{connectors:t?.externalWallets?.solana?.connectors},disableAllExternalWallets:t?.externalWallets?.disableAllExternalWallets??!1},embeddedWallets:{requireUserOwnedRecoveryOnCreate:!Y&&(e.embedded_wallet_config.require_user_owned_recovery_on_create??!1),userOwnedRecoveryOptions:Y?["user-passcode"]:e.embedded_wallet_config.user_owned_recovery_options,priceDisplay:t?.embeddedWallets?.priceDisplay??{primary:"fiat-currency",secondary:"native-token"},ethereum:{createOnLogin:t?.embeddedWallets?.ethereum?.createOnLogin??q},solana:{createOnLogin:t?.embeddedWallets?.solana?.createOnLogin??j},disableAutomaticMigration:t?.embeddedWallets?.disableAutomaticMigration??!1,mode:e.embedded_wallet_config.mode,showWalletUIs:t?.embeddedWallets?.showWalletUIs??e.enforce_wallet_uis??!0,extendedCalldataDecoding:t?.embeddedWallets?.extendedCalldataDecoding??!1,transactionScanning:{enabled:t?.embeddedWallets?.transactionScanning?.enabled??!1,domain:t?.embeddedWallets?.transactionScanning?.domain??o??"https://auth.privy.io"}},mfa:{methods:e.mfa_methods??[],noPromptOnMfaRequired:t?.mfa?.noPromptOnMfaRequired??!1},passkeys:{shouldUnlinkOnUnenrollMfa:t?.passkeys?.shouldUnlinkOnUnenrollMfa,shouldUnenrollMfaOnUnlink:t?.passkeys?.shouldUnenrollMfaOnUnlink,registration:t?.passkeys?.registration},customAuth:Y?{enabled:!0,...t.customAuth}:void 0,loginConfig:{telegramAuthConfiguration:G,passkeysForSignupEnabled:e.passkeys_for_signup_enabled},headless:!!t?.headless,render:{standalone:t?._render?.standalone??r._render.standalone},fundingConfig:$,fundingMethodConfig:{...t?.fundingMethodConfig??r.fundingMethodConfig,moonpay:{...t?.fundingMethodConfig?.moonpay??r.fundingMethodConfig.moonpay,useSandbox:t?.fundingMethodConfig?.moonpay.useSandbox??r.fundingMethodConfig.moonpay.useSandbox}},whatsAppEnabled:!!e.whatsapp_enabled,customOAuthRedirectUrl:t?.customOAuthRedirectUrl,allowOAuthInEmbeddedBrowsers:t?.allowOAuthInEmbeddedBrowsers??!1,solanaRpcs:{"solana:mainnet":t?.solana?.rpcs?.["solana:mainnet"]??null,"solana:devnet":t?.solana?.rpcs?.["solana:devnet"]??null,"solana:testnet":t?.solana?.rpcs?.["solana:testnet"]??null},smartWallets:z?.enabled?{enabled:z.enabled,smartWalletVersion:z.smart_wallet_version,smartWalletType:z.smart_wallet_type,configuredNetworks:z.configured_networks.map((e=>({chainId:e.chain_id,bundlerUrl:e.bundler_url,paymasterUrl:e.paymaster_url,paymasterContext:g(e.paymaster_url,e.paymaster_context)})))}:{enabled:z?.enabled??!1}}}const C={show_wallet_login_first:!0,allowlist_config:{error_title:null,error_detail:null,cta_text:null,cta_link:null},wallet_auth:!0,email_auth:!0,sms_auth:!1,google_oauth:!1,twitter_oauth:!1,discord_oauth:!1,github_oauth:!1,linkedin_oauth:!1,apple_oauth:!1,disable_plus_emails:!1,terms_and_conditions_url:null,privacy_policy_url:null,embedded_wallet_config:{create_on_login:"off",ethereum:{create_on_login:"off"},solana:{create_on_login:"off"},require_user_owned_recovery_on_create:!1,user_owned_recovery_options:["user-passcode"],mode:"user-controlled-server-wallets-only"},captcha_site_key:"",enforce_wallet_uis:!1,legacy_wallet_ui_config:!1,id:"",name:"",passkeys_for_signup_enabled:!1,whatsapp_enabled:!1},w=v(C,void 0,!1);let E=/*#__PURE__*/t.createContext({appConfig:w,isServerConfigLoaded:!1});exports.CHAIN_ID_MAINNET=1,exports.CLIENT_ANALYTICS_ID_KEY="privy:caid",exports.CODE_VERIFIER_KEY="privy:code_verifier",exports.CONNECTIONS_HISTORY_KEY="privy:connections",exports.CUSTOMER_ACCESS_TOKEN_COOKIE_KEY="privy-token",exports.CUSTOMER_ACCESS_TOKEN_STORAGE_KEY="privy:token",exports.DEFAULT_API_TIMEOUT_MS=2e4,exports.DEFAULT_NETWORK="0x1",exports.DEFAULT_PRIVY_API_URL="https://auth.privy.io",exports.DEFAULT_RPC_TIMEOUT=12e4,exports.DEFAULT_SUCCESS_SCREEN_DURATION_MS=1400,exports.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS=4e3,exports.DEFAULT_SUCCESS_SCREEN_LONG_DURATION_MS=2500,exports.DEPRECATED_REFRESH_TOKEN="deprecated",exports.HEADLESS_OAUTH_KEY="privy:headless_oauth",exports.IDENTITY_TOKEN_COOKIE_KEY="privy-id-token",exports.IDENTITY_TOKEN_STORAGE_KEY="privy:id_token",exports.MOONPAY_API_URL="https://api.moonpay.com/v1",exports.MOONPAY_API_URL_SANDBOX="https://api.moonpay.com/v1",exports.MOONPAY_PUBLIC_KEY="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",exports.MOONPAY_PUBLIC_KEY_SANDBOX="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",exports.OAUTH_DISABLE_SIGNUP_KEY="privy:oauth_disable_signup",exports.PRIVY_ACCESS_TOKEN_STORAGE_KEY="privy:pat",exports.PrivyAppConfigProvider=({children:n,client:a,legacyClient:o,clientConfig:r,appClientId:l})=>{let[i,s]=t.useState(null),c=t.useMemo((()=>v(i??C,r,!!i,"undefined"!=typeof window?window.location.origin:void 0,l)),[i,r,l]);return t.useEffect((()=>{if(!i)return;let e=function(e){if(!e)return{};let{appearance:t,supportedChains:n,defaultChain:a,externalWallets:o,...r}=e;return{...r,...n?{supportedChains:n.map((e=>e.id))}:void 0,...a?{defaultChain:a.id}:void 0,...o?{walletConnect:o.walletConnect?{enabled:o.walletConnect.enabled}:void 0,coinbaseWallet:o.coinbaseWallet,solana:{connectors:o.solana?.connectors?.get().map((e=>e.walletClientType))}}:void 0}}(r),t=function(e,t=0){let n=3735928559^t,a=1103547991^t;for(let t,o=0;o<e.length;o++)n=Math.imul(n^(t=e.charCodeAt(o)),2654435761),a=Math.imul(a^t,1597334677);return n=Math.imul(n^n>>>16,2246822507)^Math.imul(a^a>>>13,3266489909),4294967296*(2097151&(a=Math.imul(a^a>>>16,2246822507)^Math.imul(n^n>>>13,3266489909)))+(n>>>0)}(JSON.stringify(e)).toString(),n=`privy:sent:${i.id}:${t}`;localStorage.getItem(n)||(o.createAnalyticsEvent({eventName:"sdk_initialize",payload:e}),localStorage.setItem(n,"t"))}),[r,i]),t.useEffect((()=>{i||(async()=>{try{await a.initialize();let e=a.app.getConfig();e.custom_api_url&&o.updateApiUrl(e.custom_api_url),s(e)}catch(e){console.warn("Error generating app config: ",e)}})()}),[]),/*#__PURE__*/e.jsx(E.Provider,{value:{appConfig:c,isServerConfigLoaded:!!i},children:n})},exports.REFRESH_TOKEN_COOKIE_KEY="privy-refresh-token",exports.REFRESH_TOKEN_STORAGE_KEY="privy:refresh_token",exports.SESSION_COOKIE_KEY="privy-session",exports.STATE_CODE_KEY="privy:state_code",exports.VERSION="3.11.0",exports.WALLET_PROXY_TIMEOUT=3e4,exports.getGuestCredentialStorageKey=e=>`privy:guest:${e}`,exports.getPrivyWalletKey=e=>`privy:wallet:${e}`,exports.getProviderAccessTokenStorageKey=e=>`privy:cross-app:${e}`,exports.useAppConfig=()=>{let{appConfig:e}=t.useContext(E);return e},exports.useIsServerConfigLoaded=()=>{let{isServerConfigLoaded:e}=t.useContext(E);return e};
@@ -1 +0,0 @@
1
- "use strict";exports.ERC20_TRANSFER_ABI_STUB=[{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"}];
@@ -1 +0,0 @@
1
- "use strict";var e=require("./usePrivy-BM1sYNel.js"),r=require("./context-B8VkgLLk.js"),t=require("./internal-context-NWsAL807.js");exports.useCreateWalletWithoutFallback=()=>{let{walletProxy:s,recoverEmbeddedWallet:a,setUser:o,refreshSessionAndUser:c,privy:n,client:l}=t.usePrivyInternal(),i=r.useAppConfig();return{create:async({walletIndex:r,chainType:t,latestUser:d,recoveryMethod:y,recoveryPassword:u,recoveryAccessToken:v})=>{let p=d;p||(p=await c());let w=await l.getAccessToken();if(!p||!w||!s)throw Error("User must be authenticated before creating a Privy wallet");return await e.createWalletAtIndex({appConfig:i,user:p,refreshSessionAndUser:c,privy:n,accessToken:w,proxy:s,recoverEmbeddedWallet:a,setUser:o,walletIndex:r,chainType:t,recoveryMethod:y,recoveryPassword:u,recoveryAccessToken:v})}}};
@@ -1,2 +0,0 @@
1
- import{jsxs as e,Fragment as t,jsx as i}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as a,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-D5psNgrf.mjs";import{C}from"./ScreenHeader-CHmc4-Lu.mjs";import{t as I}from"./FundWalletMethodHeader-CI5afzwL.mjs";import{N as j}from"./index-Dq_xe9dz.mjs";import{u as T,t as w}from"./context-Bu4xmqpC.mjs";import{u as b,a as E,b as S}from"./internal-context-e-Eni5bG.mjs";import{Q as N,D as A}from"./useActiveWallet-RUYo4pXO.mjs";import{a as x}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{u as k}from"./useGetTokenPrice-C1-pGMgN.mjs";import{u as B}from"./useWallets-BkIu5vyx.mjs";import{E as F}from"./transfer-CMPmjPsM.mjs";import{f as M}from"./formatErc20TokenAmount-BuPk9xcy.mjs";import{c as P,a as U,g as W,s as L}from"./ethers-TpFbevgv.mjs";import{O as H}from"./analytics-mkkvFRju.mjs";import{t as $,g as q,c as D,u as R}from"./reservoir-kvLjIrEo.mjs";import{x as _}from"./index-ygZBlWlm.mjs";import{g as Q,B as O}from"./BridgeNetworkSelectionView-T2-4Tr4k.mjs";import{g as V}from"./getErc20Balance-CaKjNAs9.mjs";import{a as G}from"./getPublicClient-A9RSftUZ.mjs";import{T as z}from"./TransferOrBridgeLoadingScreen-BZTN__SI.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"./prepareFundingModalData-CRrWM52E.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./useGetSolPrice-Cfm8o9C5.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-Bn7q4pcu.mjs";import"@scure/base";import"@headlessui/react";import"@walletconnect/ethereum-provider";import"@privy-io/urls";import"js-cookie";import"./frame-CwE9r3cT.mjs";import"@privy-io/routes";import"x402/client";import"@privy-io/api-base";import"viem/accounts";import"./use-sign-with-user-signer-eEm9Olt_.mjs";import"./getEmbeddedConnectedWallet-CM6cDQCS.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-CaJCyFB5.mjs";import"./LinkPasskeyScreen-DJveInKu.mjs";import"lucide-react";import"./TodoList-CgrU7uwu.mjs";import"./ScreenLayout-DIdy7nhJ.mjs";import"./Screen-q8npRQhQ.mjs";import"./InjectedWalletIcon-DLcYOGDj.mjs";import"./Address-BGlhcEcA.mjs";const J={component:()=>{let{rpcConfig:J,appId:X,closePrivyModal:Y,createAnalyticsEvent:K}=b(),{navigate:Z,setModalData:ee,data:te}=x(),ie=T(),{wallets:re}=B(),[ae,ne]=a(!1),[oe,se]=a(0n),[de,ce]=a(!1),[le,me]=a(null),[ue,pe]=a(null),[he,fe]=a([]),[ge,ve]=a(0),[ye,Ce]=a(!1),[Ie,je]=a(!1),[Te,we]=a(!1),[be,Ee]=a(!1),[Se,Ne]=a(),[Ae,xe]=a();if(!te?.funding||"ethereum"!==te.funding.chainType)throw Error("Invalid funding data");let{erc20ContractInfo:ke,chain:Be,connectedWallet:Fe}=te.funding,Me=te.funding.address,Pe=te.funding.erc20Address,[Ue,We]=a(te.funding.amount);n((()=>{Pe&&!ke&&me(Error("Unable to fetch token details"))}),[]);let Le=!!Pe&&!!ke,He=Le?BigInt(parseFloat(Ue)*10**ke.decimals):o(Ue),$e=("ethereum"===Fe?.type?Fe:void 0)??re[0],qe=N($e?.walletClientType||"unknown"),De=qe?.name||"wallet",[Re,_e]=a(null);n((()=>{(async()=>{if(!$e)return;let e=await $e.getEthereumProvider();_e(s({account:$e.address,transport:d(e)}).extend(c))})().catch(console.error)}),[$e]);let[Qe,Oe]=a(0n);n((()=>{l({chain:Be,transport:m(G(Be,J,X))}).getBalance({address:Me}).then(Oe).catch(console.error)}),[]);let[Ve,Ge]=a(0n);n((()=>{Le&&V({chain:Be,address:Me,appId:X,rpcConfig:J,erc20Address:Pe}).then((e=>Ge(e.balance))).catch(console.error)}),[]);let{tokenPrice:ze}=k(Be.id),[Je,Xe]=a({to:Me,chain:Be,value:He,data:void 0});n((()=>{(async()=>{let e,t;if(!Re||!$e||ye||Te)return;Ce(!0);let i=l({chain:Je.chain,transport:m(G(Je.chain,J,X))});if(Le&&!Je.data)return await i.simulateContract({address:Pe,chain:Je.chain,abi:F,functionName:"transfer",args:[Me,He],account:$e.address}).catch((e=>{console.warn("Simulated token transfer failed with error, fetching bridge options.",e)}))?(Ce(!1),void Xe({to:Pe,chain:Je.chain,data:u({abi:F,functionName:"transfer",args:[Me,He]}),value:"0x0"})):(Ce(!1),void ce(!0));try{e=await i.prepareTransactionRequest({account:$e.address,to:Je.to,chain:Je.chain,data:Je.data,value:BigInt(Je.value??0)})}catch(e){if(console.error(e),he.length>1)pe(e.shortMessage??"Something went wrong");else if(Ie&&0===he.length)return void me(new E(`Wallet ${A($e.address)} does not have enough funds.`,void 0,S.INSUFFICIENT_BALANCE))}if(!e)return Ce(!1),void ce(!0);Ce(!1),we(!0),ne(!0),se(e.gas);try{await Re.switchChain({id:Je.chain.id})}catch(e){await Re.addChain({chain:Je.chain}),await Re.switchChain({id:Je.chain.id})}try{t=await Re.sendTransaction(e)}catch(e){if(console.error(e),"TransactionExecutionError"===e.name)if(he.length<1){let t=e.shortMessage;(e.shortMessage.includes("rejected the request")||e.details.includes("rejected the request"))&&(t="User rejected the request."),me(new E(t,void 0,S.TRANSACTION_FAILURE))}else pe(e.shortMessage??"Something went wrong")}if(t)return await Re.waitForTransactionReceipt({hash:t}),we(!1),Ie?(Ne(t),void xe("pending")):(Ee(!0),ee(_(te,"completed",t,$e?.walletClientType,Le,ke,Be)),void K({eventName:H,payload:{provider:"external",status:"success",txHash:t,address:$e.address,chainId:Je.chain.id,chainType:"ethereum",value:Je.value?p(BigInt(Je.value),ke?.decimals??18):void 0,token:ke?.symbol??Pe??"ETH",destinationAddress:Me,destinationChainId:Be.id,destinationChainType:"ethereum",destinationValue:He?p(He,ke?.decimals??18):void 0,destinationToken:ke?.symbol??Pe??Be.nativeCurrency.name}}));we(!1)})().catch(console.error)}),[Re,Je]),n((()=>{(async()=>{if(!de||!Re||!$e)return;let e=h(ie.chains).filter((e=>e.id!==Be.id&&!!e.testnet==!!Be.testnet));Le&&e.unshift(Be);let t=await Q({chains:e,address:$e.address,appId:X,rpcConfig:J,includeUsdc:te.funding?.isUSDC}),i=Le?t.filter((e=>e.balance>0n)):t.filter((e=>e.balance>He)),r=Le&&t.every((e=>0n===e.balance));if(i.length<1)return void me(new E(r?`Wallet ${A($e.address)} doesn't have enough funds to cover gas fees. Top up your wallet and try again.`:`Wallet ${A($e.address)} does not have enough funds.`,void 0,S.INSUFFICIENT_BALANCE));i.sort(((e,t)=>Number(Le?(t.erc20Balance??0n)-(e.erc20Balance??0n):t.balance-e.balance)));let a=i.flatMap((e=>{let t=[{...e,isErc20Quote:!1,isTestnet:!!Be.testnet,input:$({appId:X,amount:He.toString(),user:$e.address,recipient:Me,destinationChainId:Be.id,destinationCurrency:Pe,originChainId:e.chain.id})}];return Le&&Pe&&(e.erc20Balance??0n)>=He&&t.push({...e,isErc20Quote:!0,isTestnet:!!Be.testnet,input:$({appId:X,amount:He.toString(),user:$e.address,recipient:Me,destinationChainId:Be.id,destinationCurrency:Pe,originChainId:e.chain.id,originCurrency:e.erc20Address})}),t})),n=(await Promise.allSettled(a.map((async e=>({...e,quote:await q(e)}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(n.length<1)return void me(new E(`Wallet ${A($e.address)} does not have enough funds.`,void 0,S.INSUFFICIENT_BALANCE));let o=n.map((e=>({bridgeTx:D(e.quote),balance:e.balance,chain:e.chain,erc20Balance:e.erc20Balance,isErc20Quote:e.isErc20Quote}))).filter((e=>!!e.bridgeTx));if(o.length>1)return void fe(o);let s=o[0];s?(je(!0),Xe({data:s.bridgeTx.data,to:s.bridgeTx.to,value:s.bridgeTx.value,chain:s.chain})):me(new E(`Wallet ${A($e.address)} does not have enough funds.`,void 0,S.INSUFFICIENT_BALANCE))})().catch(console.error)}),[de]),R({transactionHash:Se,isTestnet:!!Be.testnet,bridgingStatus:Ae,setBridgingStatus:xe,onSuccess({transactionHash:e}){je(!1),Ee(!0),ee(_(te,"completed",e,$e?.walletClientType,Le,ke,Be)),K({eventName:H,payload:{provider:"external",status:"success",txHash:e,address:$e?.address,chainId:Je.chain.id,chainType:"ethereum",value:Je.value?p(BigInt(Je.value),ke?.decimals??18):void 0,token:ke?.symbol??Pe??"ETH",destinationAddress:Me,destinationChainId:Be.id,destinationChainType:"ethereum",destinationValue:He?p(He,ke?.decimals??18):void 0,destinationToken:ke?.symbol??Pe??Be.nativeCurrency.name}})},onFailure({error:e}){je(!1),me(e)}}),n((()=>{le&&(ee({funding:te?.funding,solanaFundingData:te?.solanaFundingData,sendTransaction:te?.sendTransaction,errorModalData:{error:le,previousScreen:"TransferFromWalletScreen"}}),Z("ErrorScreen",!1))}),[le]);let Ye=!Le&&ze?P(Ue??"0",ze):void 0,Ke=Le?oe:L([oe,He]),Ze=Ke&&ze?U(Ke,ze):void 0,et=Ke?W(Ke,te?.funding?.erc20Address?te?.funding?.erc20ContractInfo?.symbol||"ETH":te?.funding?.chain.nativeCurrency.symbol||"ETH"):void 0,tt=oe&&ze?U(oe,ze):void 0,it=oe?W(oe,Be?.nativeCurrency?.symbol||"ETH"):void 0;if(n((()=>{if(!be)return;let e=setTimeout(Y,w);return()=>clearTimeout(e)}),[be]),be/*#__PURE__*/)return e(t,{children:[/*#__PURE__*/i(I,{}),/*#__PURE__*/i(f,{}),/*#__PURE__*/e(g,{children:[/*#__PURE__*/i(r,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/i(C,{title:"Success!",description:`You’ve successfully added ${Ue} ${Le?ke.symbol:Be.nativeCurrency.symbol} to your ${ie.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/i(v,{}),/*#__PURE__*/i(y,{})]});let rt=Le?`${M({amount:Ve,decimals:ke.decimals})} ${ke.symbol}`:W(Qe,Be.nativeCurrency.symbol,3,!0),at=he[ge];return he.length>1&&at?/*#__PURE__*/i(O,{displayName:De,configuredFundingChain:Be,erc20ContractInfo:ke,formattedBalance:rt,fundingAmount:Ue,fundingCurrency:Le?ke.symbol:Be.nativeCurrency.symbol,fundingAmountInUsd:Ye,options:he,selectedOption:at,isPreparing:ye,isSubmitting:Te,addressToFund:Me,fundingWalletAddress:$e?.address||"",errorMessage:ue,onSubmit:()=>{te.funding?.amount!==Ue?async function(){if($e&&at)try{let e=await q({isTestnet:!!Be.testnet,input:$({appId:X,amount:He.toString(),user:$e.address,recipient:Me,destinationChainId:Be.id,destinationCurrency:Pe,originChainId:at.chain.id})}),t=D(e);if(!t)throw Error("Invalid transaction request");je(!0),Xe({data:t.data,to:t.to,value:t.value,chain:at.chain})}catch(e){console.error(e),me(new E("Unable to fetch quotes for bridging",e,S.INSUFFICIENT_BALANCE))}}().catch(console.error):Xe({to:at.bridgeTx.to,data:at.bridgeTx.data,value:at.bridgeTx.value,chain:at.chain})},onSelect:e=>{e!==ge&&(pe(null),ve(e))},onAmountChange:We}):ae&&oe&&$e&&te?.funding?/*#__PURE__*/i(z,{walletClientType:$e?.walletClientType||"unknown",displayName:De,addressToFund:Me,isBridging:Ie,isErc20Flow:Le,totalPriceInUsd:Ze,totalPriceInNativeCurrency:et,gasPriceInUsd:tt,gasPriceInNativeCurrency:it,chainId:Be.id,chainName:Be.name}):
2
- /*#__PURE__*/e(t,{children:[/*#__PURE__*/i(I,{}),/*#__PURE__*/i(j,{}),/*#__PURE__*/i("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/i(y,{})]})}};export{J as AwaitingExternalEthereumTransferScreen,J as default};
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import{u as o}from"./context-Bu4xmqpC.mjs";import{C as r,L as i}from"./CustomLandingScreenView-BcDpTdY_.mjs";import"react";import"@privy-io/js-sdk-core";import"tinycolor2";import"@heroicons/react/24/outline/UserCircleIcon";import"styled-components";import"./ModalHeader-D5psNgrf.mjs";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-CRrWM52E.mjs";import"./internal-context-e-Eni5bG.mjs";import"ofetch";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./get-is-unified-wallet-CvIzjbW7.mjs";import"./useWallets-BkIu5vyx.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"./index-ygZBlWlm.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-Bn7q4pcu.mjs";import"@scure/base";import"@headlessui/react";import"@walletconnect/ethereum-provider";import"@privy-io/urls";import"js-cookie";import"./frame-CwE9r3cT.mjs";import"@privy-io/routes";import"x402/client";import"@privy-io/api-base";import"viem/accounts";import"./use-sign-with-user-signer-eEm9Olt_.mjs";import"./getEmbeddedConnectedWallet-CM6cDQCS.mjs";import"./ConnectWalletView-CduRtfEz.mjs";import"@heroicons/react/24/outline";import"@tanstack/react-virtual";import"@heroicons/react/24/outline/CheckIcon";import"./copy-Bx2Jwc5_.mjs";import"./Link-DJ5gq9Di.mjs";import"./QrCode-Bp7vKyXB.mjs";import"qrcode";import"./EmailInputForm-Dgoii4vf.mjs";import"./ErrorMessage-D8VaAP5m.mjs";import"./useI18n-CD7HCIxK.mjs";import"./WalletCards-DH1rqayz.mjs";import"./Screen-q8npRQhQ.mjs";import"./index-Dq_xe9dz.mjs";import"lucide-react";import"./ConnectEmailForm-DjET3G-q.mjs";import"./Chip-D2-wZOHJ.mjs";import"./LoadingSkeleton-U6-3yFwI.mjs";import"./farcaster-DPlSjvF5.mjs";import"@heroicons/react/24/outline/FingerPrintIcon";import"./ConnectPhoneForm-CYfqSIAI.mjs";import"./twitter-BoAxhlj6.mjs";import"./twitch-5IOe4sIQ.mjs";import"./telegram-B-JqnkqZ.mjs";import"./WalletOverflowButton-DWdepzzi.mjs";import"./ScreenLayout-DIdy7nhJ.mjs";const e={component:()=>{let e=o();return e.loginMethodsAndOrder&&e.loginMethodsAndOrder.primary.length>0?/*#__PURE__*/t(r,{connectOnly:!0}):/*#__PURE__*/t(i,{connectOnly:!0})}};export{e as ConnectOrCreateScreen,e as default};