@privy-io/react-auth 3.11.0-beta-20260115221418 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/cjs/{AccountNotFoundScreen-CwhDiq3O.js → AccountNotFoundScreen-BgbWqFBz.js} +1 -1
  2. package/dist/cjs/{Address-BPnCe7Et.js → Address-DiSm2l-W.js} +1 -1
  3. package/dist/cjs/{AffirmativeConsentScreen-BA7sw_Wd.js → AffirmativeConsentScreen-frUX4n9j.js} +1 -1
  4. package/dist/cjs/{AllowlistRejectionScreen-Dg2qQUCC.js → AllowlistRejectionScreen-CZ4wDXU2.js} +1 -1
  5. package/dist/cjs/{AuthenticateWithWalletScreen-DL_l0y74.js → AuthenticateWithWalletScreen-CoV6Cepf.js} +1 -1
  6. package/dist/cjs/{AwaitingEvmToSolBridgingScreen-DvGrFYHN.js → AwaitingEvmToSolBridgingScreen-5qv5Urz2.js} +1 -1
  7. package/dist/cjs/{AwaitingExternalEthereumTransferScreen-BmrkzC_i.js → AwaitingExternalEthereumTransferScreen-DVUwVgck.js} +1 -1
  8. package/dist/cjs/{AwaitingPasswordlessCodeScreen-Co_V5loZ.js → AwaitingPasswordlessCodeScreen-DrgaEVkD.js} +1 -1
  9. package/dist/cjs/{AwaitingSolToEvmBridgingScreen-CdxhBi75.js → AwaitingSolToEvmBridgingScreen-CQAxGoKP.js} +1 -1
  10. package/dist/cjs/{BridgeNetworkSelectionView-DpLB4paD.js → BridgeNetworkSelectionView-Bd-ehyqP.js} +1 -1
  11. package/dist/cjs/{CaptchaScreen-DMRDPM48.js → CaptchaScreen-Csab6OjG.js} +1 -1
  12. package/dist/cjs/{CoinbaseOnrampStatusScreen-ghVwEuDN.js → CoinbaseOnrampStatusScreen-Dsc8OMxP.js} +1 -1
  13. package/dist/cjs/{ConnectEmailForm-CLcx5hAJ.js → ConnectEmailForm-BaLVG2V3.js} +1 -1
  14. package/dist/cjs/{ConnectLedgerScreen-XtmYNMNP.js → ConnectLedgerScreen-cPU7ad2m.js} +1 -1
  15. package/dist/cjs/{ConnectOnlyLandingScreen-B4suzCQ9.js → ConnectOnlyLandingScreen-Br3hNEVI.js} +1 -1
  16. package/dist/cjs/{ConnectOnlyStatusScreen-CRYtEuDs.js → ConnectOnlyStatusScreen-CwYbJV03.js} +1 -1
  17. package/dist/cjs/{ConnectOrCreateScreen-CYALNaVN.js → ConnectOrCreateScreen-C5n4aoBd.js} +1 -1
  18. package/dist/cjs/{ConnectPhoneForm-DUydl9PB.js → ConnectPhoneForm-grT6QJKW.js} +1 -1
  19. package/dist/cjs/{ConnectWalletView-B-T2phwg.js → ConnectWalletView-acXo09ry.js} +1 -1
  20. package/dist/cjs/{ConnectionStatusScreen-CPV0_uP7.js → ConnectionStatusScreen-DvxCQtND.js} +1 -1
  21. package/dist/cjs/{CrossAppAuthScreen-C7sEJ5lk.js → CrossAppAuthScreen-BZrqdowY.js} +1 -1
  22. package/dist/cjs/{CustomLandingScreenView-ZkRRqwv8.js → CustomLandingScreenView-DQhD7H-Y.js} +1 -1
  23. package/dist/cjs/{DelegatedActionsConsentScreen-CCloltIN.js → DelegatedActionsConsentScreen-aa3stKge.js} +1 -1
  24. package/dist/cjs/{DelegatedActionsRevokeScreen-C424tTsi.js → DelegatedActionsRevokeScreen-C4dyQxew.js} +1 -1
  25. package/dist/cjs/{EmbeddedWalletConnectingScreen-BY8pPl8L.js → EmbeddedWalletConnectingScreen-B2sIDKrU.js} +1 -1
  26. package/dist/cjs/{EmbeddedWalletCreatedScreen-DB3xOcH5.js → EmbeddedWalletCreatedScreen-Dq73pt9b.js} +1 -1
  27. package/dist/cjs/{EmbeddedWalletKeyExportScreen-AmRNb5xf.js → EmbeddedWalletKeyExportScreen-BTB0EbJJ.js} +1 -1
  28. package/dist/cjs/{EmbeddedWalletOnAccountCreateScreen-C0yyRaA-.js → EmbeddedWalletOnAccountCreateScreen-1TcX3o8K.js} +1 -1
  29. package/dist/cjs/{EmbeddedWalletPasswordUpdateScreen-BMIz5ine.js → EmbeddedWalletPasswordUpdateScreen-BBoSpChs.js} +1 -1
  30. package/dist/cjs/{EmbeddedWalletPasswordUpdateSplashScreen-Bd_FF9pO.js → EmbeddedWalletPasswordUpdateSplashScreen-CLaYjxpz.js} +1 -1
  31. package/dist/cjs/{EnrollTotp-DX2DwxuX.js → EnrollTotp-D6ocCn4v.js} +1 -1
  32. package/dist/cjs/{ErrorScreen-mFwTqRgU.js → ErrorScreen-C2xSdkYC.js} +1 -1
  33. package/dist/cjs/{FarcasterConnectStatusScreen-CZ30Csdk.js → FarcasterConnectStatusScreen-DvVyh8zU.js} +1 -1
  34. package/dist/cjs/{FarcasterSignerStatusScreen-DBo98W3P.js → FarcasterSignerStatusScreen-kIG2AKFp.js} +1 -1
  35. package/dist/cjs/{FundSolWalletWithExternalSolanaWallet-CREkLnIc.js → FundSolWalletWithExternalSolanaWallet-B2U_lFvw.js} +1 -1
  36. package/dist/cjs/{FundWalletMethodHeader-4VjLY52r.js → FundWalletMethodHeader-CfHXgc0M.js} +1 -1
  37. package/dist/cjs/{FundingEditAmountScreen-CNU0vNs6.js → FundingEditAmountScreen-CzTSH2dC.js} +1 -1
  38. package/dist/cjs/{FundingMethodSelectionScreen-CQIDT05-.js → FundingMethodSelectionScreen-CBjGLXbZ.js} +1 -1
  39. package/dist/cjs/{InAppBrowserLoginNotPossible-Dp7FvcEf.js → InAppBrowserLoginNotPossible-CIG8bv6d.js} +1 -1
  40. package/dist/cjs/{InstallWalletScreen-kcrNZ7LA.js → InstallWalletScreen-B2vD26WT.js} +1 -1
  41. package/dist/cjs/{LandingScreen-HmGqW-Ot.js → LandingScreen-BEYwefB2.js} +1 -1
  42. package/dist/cjs/{LinkConflictScreen-66YlCOcB.js → LinkConflictScreen-CgR1CRSp.js} +1 -1
  43. package/dist/cjs/{LinkEmailScreen-CLd6YPGS.js → LinkEmailScreen-aoilMVGp.js} +1 -1
  44. package/dist/cjs/{LinkPasskeyScreen-D8PZaYGV.js → LinkPasskeyScreen-CMBY4_3D.js} +1 -1
  45. package/dist/cjs/{LinkPhoneScreen-BSS7yq5H.js → LinkPhoneScreen-BuspORFm.js} +1 -1
  46. package/dist/cjs/{LoginFailedScreen-Dk5bm5nF.js → LoginFailedScreen-rbFVmsvC.js} +1 -1
  47. package/dist/cjs/{ManualTransferScreen-BwpMuj8L.js → ManualTransferScreen-COoRzSz6.js} +1 -1
  48. package/dist/cjs/{MfaAuthEnrollmentFlowScreen-CsOyC4ty.js → MfaAuthEnrollmentFlowScreen-_ncbAR0l.js} +1 -1
  49. package/dist/cjs/{MfaAuthVerifyFlowScreen-Cq6GkG2E.js → MfaAuthVerifyFlowScreen--2tpPZkF.js} +1 -1
  50. package/dist/cjs/{MfaEnrollmentFlowScreen-gTqBCZQj.js → MfaEnrollmentFlowScreen-Bn7kOj-x.js} +1 -1
  51. package/dist/cjs/{MfaVerifyFlowScreen-C5noVJw3.js → MfaVerifyFlowScreen-CjXrt1xv.js} +1 -1
  52. package/dist/cjs/{ModalHeader-CrrmvrdJ.js → ModalHeader-HFJct04e.js} +1 -1
  53. package/dist/cjs/{MoonpayStatusScreen-BbJJzw-b.js → MoonpayStatusScreen-BYVEV6Hl.js} +1 -1
  54. package/dist/cjs/{OAuthStatusScreen-BofZaG2a.js → OAuthStatusScreen-Yyaxj4Os.js} +1 -1
  55. package/dist/cjs/{PasskeySelectSignupOrLogin-CKrs61Py.js → PasskeySelectSignupOrLogin-DnuQecC6.js} +1 -1
  56. package/dist/cjs/{PasskeyStatusScreen-g42i4Mvo.js → PasskeyStatusScreen-i0ui7oVt.js} +1 -1
  57. package/dist/cjs/{PasswordRecoveryScreen-BKpzNviy.js → PasswordRecoveryScreen-eges-du_.js} +1 -1
  58. package/dist/cjs/{QrCode-CpVix74G.js → QrCode-B0wOoW1E.js} +1 -1
  59. package/dist/cjs/{RecoveryOAuthStatusScreen-CcmiXAjl.js → RecoveryOAuthStatusScreen-lyldMRwo.js} +1 -1
  60. package/dist/cjs/{RecoveryPasswordCreateScreen-DVM3riPn.js → RecoveryPasswordCreateScreen-Cb83wfAF.js} +1 -1
  61. package/dist/cjs/{RecoverySelectionScreen-DIlaAoqP.js → RecoverySelectionScreen-CwLucuiD.js} +1 -1
  62. package/dist/cjs/{Screen-D0YJLo__.js → Screen-M6XQZTd0.js} +1 -1
  63. package/dist/cjs/{ScreenLayout-JveHvcJ8.js → ScreenLayout-DND5buhY.js} +1 -1
  64. package/dist/cjs/{SetAutomaticRecoveryScreen-xO_sfXpz.js → SetAutomaticRecoveryScreen-DuRPXhP0.js} +1 -1
  65. package/dist/cjs/{SetWalletPasswordForm-8IcEJLVA.js → SetWalletPasswordForm-D0eEjP-u.js} +1 -1
  66. package/dist/cjs/{SignRequestScreen-CamoMMM-.js → SignRequestScreen-LGzYoSpD.js} +1 -1
  67. package/dist/cjs/{StandardSignAndSendTransactionScreen-6AluYC2k.js → StandardSignAndSendTransactionScreen-dtePWf7A.js} +1 -1
  68. package/dist/cjs/{TelegramAuthScreen-Cb73d07X.js → TelegramAuthScreen-BOQRRBD-.js} +1 -1
  69. package/dist/cjs/{TransactionDetails-qYKVGuJ7.js → TransactionDetails-CoviBGbu.js} +1 -1
  70. package/dist/cjs/{TransactionErrorView-B5L9vNDb.js → TransactionErrorView-CZIADuCd.js} +1 -1
  71. package/dist/cjs/{TransferFromWalletScreen-DPpoJrZz.js → TransferFromWalletScreen-CAvZpFHU.js} +1 -1
  72. package/dist/cjs/{TransferOrBridgeLoadingScreen-TirUWZnM.js → TransferOrBridgeLoadingScreen-rCuYNou5.js} +1 -1
  73. package/dist/cjs/{UpdateEmailScreen-D2klV_7q.js → UpdateEmailScreen-BRl0rLXi.js} +1 -1
  74. package/dist/cjs/{UpdatePhoneScreen-DPK7kqIb.js → UpdatePhoneScreen-mByXtOCY.js} +1 -1
  75. package/dist/cjs/{UserLimitReachedScreen-N3RJRnTW.js → UserLimitReachedScreen-CjNxv9xy.js} +1 -1
  76. package/dist/cjs/{WalletInfoCard-CqAKxpIz.js → WalletInfoCard-wDKvmmsx.js} +1 -1
  77. package/dist/cjs/{WalletInterstitialScreen-P_mZUs5E.js → WalletInterstitialScreen-BW-Ju9PU.js} +1 -1
  78. package/dist/cjs/{WalletLink-Cv4ngHRB.js → WalletLink-Dglkazqd.js} +1 -1
  79. package/dist/cjs/{WalletOverflowButton-Btvn5ZIk.js → WalletOverflowButton-BAZ96Q1e.js} +1 -1
  80. package/dist/cjs/abstract-smart-wallets.js +1 -1
  81. package/dist/cjs/{context-BQBZ_ADw.js → context-B8VkgLLk.js} +1 -1
  82. package/dist/cjs/{ethers-DbNbG59G.js → ethers-O1Nyjl84.js} +1 -1
  83. package/dist/cjs/extended-chains.js +1 -1
  84. package/dist/cjs/{get-is-unified-wallet-BvMSdvUc.js → get-is-unified-wallet--p0rdEtP.js} +1 -1
  85. package/dist/cjs/{index-CgX5_MCM.js → index-B-V647xG.js} +4 -4
  86. package/dist/cjs/{index-D4W5OFmO.js → index-BmQlwyOF.js} +1 -1
  87. package/dist/cjs/{index-DZnN2Bzr.js → index-Dnijyzka.js} +1 -1
  88. package/dist/cjs/index.js +1 -1
  89. package/dist/cjs/internal.js +1 -1
  90. package/dist/cjs/{prepareFundingModalData-DjA3GuX5.js → prepareFundingModalData-BADfvap9.js} +1 -1
  91. package/dist/cjs/{shared-D3goA11g.js → shared-CJn0wmyB.js} +1 -1
  92. package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-ZoB0nZek.js → shouldProceedtoEmbeddedWalletCreationFlow-DwKYEqJV.js} +1 -1
  93. package/dist/cjs/{smart-wallets-D4CVoR7Y.js → smart-wallets-BxSjnmxi.js} +1 -1
  94. package/dist/cjs/smart-wallets.js +1 -1
  95. package/dist/cjs/solana.js +1 -1
  96. package/dist/cjs/{styles-CfB2jpM8.js → styles-Dg1qQgOa.js} +1 -1
  97. package/dist/cjs/{to-ui-error-Bn2yiSbL.js → to-ui-error-CnjmH8us.js} +1 -1
  98. package/dist/cjs/ui.js +1 -1
  99. package/dist/cjs/{use-create-wallet-without-fallback-CnImLq2R.js → use-create-wallet-without-fallback-B3AnOM0l.js} +1 -1
  100. package/dist/cjs/{use-export-wallet-B0Yz14lP.js → use-export-wallet-no3ZWIW-.js} +1 -1
  101. package/dist/cjs/{useActiveWallet-CJFU5uW9.js → useActiveWallet-Wp8zv7qb.js} +1 -1
  102. package/dist/cjs/{useGetTokenPrice-CVvPmZ8P.js → useGetTokenPrice-BkD8eOWh.js} +1 -1
  103. package/dist/cjs/{useI18n-BTc713en.js → useI18n-J8z0zLWw.js} +1 -1
  104. package/dist/cjs/{usePrivy-CF_OJFHb.js → usePrivy-BM1sYNel.js} +1 -1
  105. package/dist/cjs/{useSolanaRpcClient-COrWRwgi.js → useSolanaRpcClient-CLYG-Dxk.js} +1 -1
  106. package/dist/cjs/{useWallets-CejVNO5i.js → useWallets-20ZeTYCD.js} +1 -1
  107. package/dist/cjs/{useWallets-DfhM_0qx.js → useWallets-DEyFRWD0.js} +1 -1
  108. package/dist/esm/{AccountNotFoundScreen-SAoRBYPt.mjs → AccountNotFoundScreen-Q-gvf1Fn.mjs} +1 -1
  109. package/dist/esm/{Address-DCNT9qfI.mjs → Address-BGlhcEcA.mjs} +1 -1
  110. package/dist/esm/{AffirmativeConsentScreen-C0OVdF1c.mjs → AffirmativeConsentScreen-CLQuUvfP.mjs} +1 -1
  111. package/dist/esm/{AllowlistRejectionScreen-Cct-waJ2.mjs → AllowlistRejectionScreen-CA0r2B2G.mjs} +1 -1
  112. package/dist/esm/{AuthenticateWithWalletScreen-Bkvu8ujc.mjs → AuthenticateWithWalletScreen-CJ0PGjN8.mjs} +1 -1
  113. package/dist/esm/{AwaitingEvmToSolBridgingScreen-BsN93tBU.mjs → AwaitingEvmToSolBridgingScreen-BCl9wYAA.mjs} +1 -1
  114. package/dist/esm/{AwaitingExternalEthereumTransferScreen-BC11vrIp.mjs → AwaitingExternalEthereumTransferScreen-PysgS8Qt.mjs} +1 -1
  115. package/dist/esm/{AwaitingPasswordlessCodeScreen-GOaBmmDo.mjs → AwaitingPasswordlessCodeScreen-BV79QlfB.mjs} +1 -1
  116. package/dist/esm/{AwaitingSolToEvmBridgingScreen-BJ9kOZqs.mjs → AwaitingSolToEvmBridgingScreen-BAWOxcgh.mjs} +1 -1
  117. package/dist/esm/{BridgeNetworkSelectionView-M-oH2oBz.mjs → BridgeNetworkSelectionView-T2-4Tr4k.mjs} +1 -1
  118. package/dist/esm/{CaptchaScreen-D53Xo41F.mjs → CaptchaScreen-BpGtWd73.mjs} +1 -1
  119. package/dist/esm/{CoinbaseOnrampStatusScreen-CCI9ghgf.mjs → CoinbaseOnrampStatusScreen-0Uex7DsA.mjs} +1 -1
  120. package/dist/esm/{ConnectEmailForm-DYREF18y.mjs → ConnectEmailForm-DjET3G-q.mjs} +1 -1
  121. package/dist/esm/{ConnectLedgerScreen-DKa2XRwj.mjs → ConnectLedgerScreen-CQFzXuWK.mjs} +1 -1
  122. package/dist/esm/{ConnectOnlyLandingScreen-CPdHrHlO.mjs → ConnectOnlyLandingScreen-BHXmw89v.mjs} +1 -1
  123. package/dist/esm/{ConnectOnlyStatusScreen-BcPIfQVC.mjs → ConnectOnlyStatusScreen-CrK4PC6t.mjs} +1 -1
  124. package/dist/esm/{ConnectOrCreateScreen-Bqi22g9s.mjs → ConnectOrCreateScreen-BrRb6sNR.mjs} +1 -1
  125. package/dist/esm/{ConnectPhoneForm-Qkb8rJwn.mjs → ConnectPhoneForm-CYfqSIAI.mjs} +1 -1
  126. package/dist/esm/{ConnectWalletView-DIPHDDCY.mjs → ConnectWalletView-CduRtfEz.mjs} +1 -1
  127. package/dist/esm/{ConnectionStatusScreen-Dq1apJ9v.mjs → ConnectionStatusScreen-KrobwyOT.mjs} +1 -1
  128. package/dist/esm/{CrossAppAuthScreen-BWmMkCMj.mjs → CrossAppAuthScreen-BOKIMDhq.mjs} +1 -1
  129. package/dist/esm/{CustomLandingScreenView-BNfr2T51.mjs → CustomLandingScreenView-BcDpTdY_.mjs} +1 -1
  130. package/dist/esm/{DelegatedActionsConsentScreen-BPxadA77.mjs → DelegatedActionsConsentScreen-B7RhRjIf.mjs} +1 -1
  131. package/dist/esm/{DelegatedActionsRevokeScreen-if7lOzSL.mjs → DelegatedActionsRevokeScreen-C5V6mhCq.mjs} +1 -1
  132. package/dist/esm/{EmbeddedWalletConnectingScreen-CaBfDofq.mjs → EmbeddedWalletConnectingScreen-C9Fw9Ret.mjs} +1 -1
  133. package/dist/esm/{EmbeddedWalletCreatedScreen-CQpQMReB.mjs → EmbeddedWalletCreatedScreen-keGjjfu4.mjs} +1 -1
  134. package/dist/esm/{EmbeddedWalletKeyExportScreen-BENuPlQr.mjs → EmbeddedWalletKeyExportScreen-DxbOABYY.mjs} +1 -1
  135. package/dist/esm/{EmbeddedWalletOnAccountCreateScreen-D7KTGcaK.mjs → EmbeddedWalletOnAccountCreateScreen-B7blEQwB.mjs} +1 -1
  136. package/dist/esm/{EmbeddedWalletPasswordUpdateScreen-rGoQOLww.mjs → EmbeddedWalletPasswordUpdateScreen-B25GzXZc.mjs} +1 -1
  137. package/dist/esm/{EmbeddedWalletPasswordUpdateSplashScreen-Cnh2RAR3.mjs → EmbeddedWalletPasswordUpdateSplashScreen-Cu_NA9L6.mjs} +1 -1
  138. package/dist/esm/{EnrollTotp-DEV0or6R.mjs → EnrollTotp-CXZmaa4A.mjs} +1 -1
  139. package/dist/esm/{ErrorScreen-C7CRlvK4.mjs → ErrorScreen-DLsfgpC9.mjs} +1 -1
  140. package/dist/esm/{FarcasterConnectStatusScreen-BncX85cR.mjs → FarcasterConnectStatusScreen-ng3F34Zy.mjs} +1 -1
  141. package/dist/esm/{FarcasterSignerStatusScreen-BvYUPkuC.mjs → FarcasterSignerStatusScreen-C19Go4EG.mjs} +1 -1
  142. package/dist/esm/{FundSolWalletWithExternalSolanaWallet-CtNGbUxH.mjs → FundSolWalletWithExternalSolanaWallet-DpBJNLZJ.mjs} +1 -1
  143. package/dist/esm/{FundWalletMethodHeader-SJUeDFRm.mjs → FundWalletMethodHeader-CI5afzwL.mjs} +1 -1
  144. package/dist/esm/{FundingEditAmountScreen-3QpKWUpq.mjs → FundingEditAmountScreen-DVwlwSMh.mjs} +1 -1
  145. package/dist/esm/{FundingMethodSelectionScreen-DVIbUia7.mjs → FundingMethodSelectionScreen-BEXU_dRV.mjs} +1 -1
  146. package/dist/esm/{InAppBrowserLoginNotPossible-D9yoDlMN.mjs → InAppBrowserLoginNotPossible-fdO06E7f.mjs} +1 -1
  147. package/dist/esm/{InstallWalletScreen-UCKqrDea.mjs → InstallWalletScreen-BTCkqOY-.mjs} +1 -1
  148. package/dist/esm/{LandingScreen-CnTxHWb2.mjs → LandingScreen-BYYtxc3M.mjs} +1 -1
  149. package/dist/esm/{LinkConflictScreen-DOIDMFMJ.mjs → LinkConflictScreen-CEU67LFR.mjs} +1 -1
  150. package/dist/esm/{LinkEmailScreen-C6mBQ3be.mjs → LinkEmailScreen-frIcyTMB.mjs} +1 -1
  151. package/dist/esm/{LinkPasskeyScreen-DIg97p-E.mjs → LinkPasskeyScreen-DJveInKu.mjs} +1 -1
  152. package/dist/esm/{LinkPhoneScreen-CEZjt49Q.mjs → LinkPhoneScreen-DoNf-oO4.mjs} +1 -1
  153. package/dist/esm/{LoginFailedScreen-jhimuKIL.mjs → LoginFailedScreen-g2jT2Kyc.mjs} +1 -1
  154. package/dist/esm/{ManualTransferScreen-B0FDKMnc.mjs → ManualTransferScreen-Cc1Y8Jih.mjs} +1 -1
  155. package/dist/esm/{MfaAuthEnrollmentFlowScreen-ms8oHKbz.mjs → MfaAuthEnrollmentFlowScreen-O3_CYjp9.mjs} +1 -1
  156. package/dist/esm/{MfaAuthVerifyFlowScreen-Cknvwoa7.mjs → MfaAuthVerifyFlowScreen-T7Rg8uvy.mjs} +1 -1
  157. package/dist/esm/{MfaEnrollmentFlowScreen-Cdnhw-bu.mjs → MfaEnrollmentFlowScreen-Bz72-m4D.mjs} +1 -1
  158. package/dist/esm/{MfaVerifyFlowScreen-FVpFtGlV.mjs → MfaVerifyFlowScreen-C_vKdC1M.mjs} +1 -1
  159. package/dist/esm/{ModalHeader-B32Zin0a.mjs → ModalHeader-D5psNgrf.mjs} +1 -1
  160. package/dist/esm/{MoonpayStatusScreen-B5V9Yl-l.mjs → MoonpayStatusScreen-B8KZWDvr.mjs} +1 -1
  161. package/dist/esm/{OAuthStatusScreen-B4J3yosy.mjs → OAuthStatusScreen-BqifArEf.mjs} +1 -1
  162. package/dist/esm/{PasskeySelectSignupOrLogin-D2BuKrXP.mjs → PasskeySelectSignupOrLogin-BnluBsvm.mjs} +1 -1
  163. package/dist/esm/{PasskeyStatusScreen-CTV1zY6O.mjs → PasskeyStatusScreen-DNO05Efn.mjs} +1 -1
  164. package/dist/esm/{PasswordRecoveryScreen-BSw8gxaj.mjs → PasswordRecoveryScreen-B7NJ3m5d.mjs} +1 -1
  165. package/dist/esm/{QrCode-CA7VcP6Y.mjs → QrCode-Bp7vKyXB.mjs} +1 -1
  166. package/dist/esm/{RecoveryOAuthStatusScreen-DZbf8Bb6.mjs → RecoveryOAuthStatusScreen-C0tnlfv2.mjs} +1 -1
  167. package/dist/esm/{RecoveryPasswordCreateScreen-Br0bjUXH.mjs → RecoveryPasswordCreateScreen-BgT7udfA.mjs} +1 -1
  168. package/dist/esm/{RecoverySelectionScreen-C8uNTvvv.mjs → RecoverySelectionScreen-ePxeHUj1.mjs} +1 -1
  169. package/dist/esm/{Screen-DHkF35VN.mjs → Screen-q8npRQhQ.mjs} +1 -1
  170. package/dist/esm/{ScreenLayout-DptX1e0c.mjs → ScreenLayout-DIdy7nhJ.mjs} +1 -1
  171. package/dist/esm/{SetAutomaticRecoveryScreen-7R4owaUE.mjs → SetAutomaticRecoveryScreen-CVl0jRLW.mjs} +1 -1
  172. package/dist/esm/{SetWalletPasswordForm-BHKufUYQ.mjs → SetWalletPasswordForm-B55ZeX-5.mjs} +1 -1
  173. package/dist/esm/{SignRequestScreen-BrotR8aZ.mjs → SignRequestScreen-DsHKzR1x.mjs} +1 -1
  174. package/dist/esm/{StandardSignAndSendTransactionScreen-BiZtfZUw.mjs → StandardSignAndSendTransactionScreen-BuT88OVq.mjs} +1 -1
  175. package/dist/esm/{TelegramAuthScreen-BPt7Q_Py.mjs → TelegramAuthScreen-DQ63cPv-.mjs} +1 -1
  176. package/dist/esm/{TransactionDetails-CUlkPVdC.mjs → TransactionDetails-DB8AH1mq.mjs} +1 -1
  177. package/dist/esm/{TransactionErrorView-DSf6mRm9.mjs → TransactionErrorView-CkMh0sTl.mjs} +1 -1
  178. package/dist/esm/{TransferFromWalletScreen-CrnAZtNm.mjs → TransferFromWalletScreen-rtFkHQRz.mjs} +1 -1
  179. package/dist/esm/{TransferOrBridgeLoadingScreen-DTNFXZqE.mjs → TransferOrBridgeLoadingScreen-BZTN__SI.mjs} +1 -1
  180. package/dist/esm/{UpdateEmailScreen-8JUTZQXY.mjs → UpdateEmailScreen-sALtnLLN.mjs} +1 -1
  181. package/dist/esm/{UpdatePhoneScreen-DXFfn41I.mjs → UpdatePhoneScreen-DKfVISn1.mjs} +1 -1
  182. package/dist/esm/{UserLimitReachedScreen-DwqeaCAS.mjs → UserLimitReachedScreen-BoinP76r.mjs} +1 -1
  183. package/dist/esm/{WalletInfoCard-CV_N8dG_.mjs → WalletInfoCard-BtliVaf0.mjs} +1 -1
  184. package/dist/esm/{WalletInterstitialScreen-BgxtaYfl.mjs → WalletInterstitialScreen-jn7VehvZ.mjs} +1 -1
  185. package/dist/esm/{WalletLink-DAJA2_WV.mjs → WalletLink-foFywOfy.mjs} +1 -1
  186. package/dist/esm/{WalletOverflowButton-BHHEaMnB.mjs → WalletOverflowButton-DWdepzzi.mjs} +1 -1
  187. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  188. package/dist/esm/context-Bu4xmqpC.mjs +1 -0
  189. package/dist/esm/{ethers-CJEkGodq.mjs → ethers-TpFbevgv.mjs} +1 -1
  190. package/dist/esm/extended-chains.mjs +1 -1
  191. package/dist/esm/{get-is-unified-wallet-DF10lirM.mjs → get-is-unified-wallet-CvIzjbW7.mjs} +1 -1
  192. package/dist/esm/{index-CA0UPK2p.mjs → index-DEy_pO5S.mjs} +1 -1
  193. package/dist/esm/{index-CjKmnG3I.mjs → index-DieEhruj.mjs} +1 -1
  194. package/dist/esm/{index-B2ZHk27q.mjs → index-ygZBlWlm.mjs} +4 -4
  195. package/dist/esm/index.mjs +1 -1
  196. package/dist/esm/internal.mjs +1 -1
  197. package/dist/esm/{prepareFundingModalData-BHP1zZ9a.mjs → prepareFundingModalData-CRrWM52E.mjs} +1 -1
  198. package/dist/esm/{shared-8FNFm3Zd.mjs → shared-JeLSzCHD.mjs} +1 -1
  199. package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-Z89kclWd.mjs → shouldProceedtoEmbeddedWalletCreationFlow-D0uaMzCB.mjs} +1 -1
  200. package/dist/esm/{smart-wallets-HoA3s19q.mjs → smart-wallets-XRilJC8w.mjs} +1 -1
  201. package/dist/esm/smart-wallets.mjs +1 -1
  202. package/dist/esm/solana.mjs +1 -1
  203. package/dist/esm/{styles-Bz8FxEx_.mjs → styles-CaJCyFB5.mjs} +1 -1
  204. package/dist/esm/{to-ui-error-CBHFimQU.mjs → to-ui-error-l1Vm31qE.mjs} +1 -1
  205. package/dist/esm/ui.mjs +1 -1
  206. package/dist/esm/{use-create-wallet-without-fallback-CMjcGZvq.mjs → use-create-wallet-without-fallback-BLN3_KXw.mjs} +1 -1
  207. package/dist/esm/{use-export-wallet-BjUUQuiG.mjs → use-export-wallet-D-0qOhlZ.mjs} +1 -1
  208. package/dist/esm/{useActiveWallet-BY2wKTVp.mjs → useActiveWallet-RUYo4pXO.mjs} +1 -1
  209. package/dist/esm/{useGetTokenPrice-B4b3Y3ZV.mjs → useGetTokenPrice-C1-pGMgN.mjs} +1 -1
  210. package/dist/esm/{useI18n-CS_dxsYR.mjs → useI18n-CD7HCIxK.mjs} +1 -1
  211. package/dist/esm/{usePrivy-DQKLhXbj.mjs → usePrivy-Bn7q4pcu.mjs} +1 -1
  212. package/dist/esm/{useSolanaRpcClient-CRKGswty.mjs → useSolanaRpcClient-C55AFEgY.mjs} +1 -1
  213. package/dist/esm/{useWallets-DTjrHNDw.mjs → useWallets-BkIu5vyx.mjs} +1 -1
  214. package/dist/esm/{useWallets-CvGE4Njt.mjs → useWallets-O-mGV40Z.mjs} +1 -1
  215. package/package.json +9 -9
  216. package/dist/esm/context-BuN0M_vH.mjs +0 -1
@@ -1 +1 @@
1
- "use strict";var e=require("@solana/kit"),r=require("react"),n=require("./context-BQBZ_ADw.js"),t=require("./internal-context-NWsAL807.js");function o(r){return new Uint8Array(e.getTransactionDecoder().decode(r).messageBytes)}const a=(...e)=>{if("undefined"==typeof Buffer)throw new t.PrivyClientError("Buffer is not defined.",void 0,t.PrivyErrorCode.BUFFER_NOT_DEFINED);return Buffer.from(...e)};async function i({rpcSubscriptions:e,signature:r,timeout:n}){let t=new AbortController,o=await e.signatureNotifications(r,{commitment:"confirmed"}).subscribe({abortSignal:t.signal}),a=await Promise.race([new Promise((e=>{setTimeout((()=>{t.abort(),e(Error("Transaction confirmation timed out"))}),n)})),new Promise((async e=>{for await(let r of o){if(t.abort(),r.value.err)return e(Error("Transaction confirmation failed"));e(void 0)}}))]);if(a instanceof Error)throw a}function s({rpc:r,rpcSubscriptions:n,chain:t,blockExplorerUrl:o}){let s=function({rpc:r,rpcSubscriptions:n}){return async t=>new Promise((async(o,s)=>{try{let s=await r.sendTransaction(a(t).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await i({rpcSubscriptions:n,signature:s,timeout:1e4}),o({signature:new Uint8Array(e.getBase58Encoder().encode(s))})}catch(e){s(e)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:t,blockExplorerUrl:o,sendAndConfirmTransaction:s}}exports.bufferFrom=a,exports.fetchTransactionEstimatedFees=async function({solanaClient:r,tx:n}){let t=e.getBase64Decoder().decode(o(n)),{value:a}=await r.rpc.getFeeForMessage(t).send();return a??0n},exports.getSolanaRpcClient=s,exports.getTransactionMessageBytes=o,exports.simulateTransaction=async function r({solanaClient:n,tx:t,replaceRecentBlockhash:o}){let{value:a}=await n.rpc.simulateTransaction(e.getBase64Decoder().decode(t),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===a.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===a.err?await r({solanaClient:n,tx:t,replaceRecentBlockhash:!0}):{logs:a.logs??[],error:a.err,hasError:!!a.err,hasFunds:a.logs?.every((e=>!/insufficient funds/gi.test(e)&&!/insufficient lamports/gi.test(e)))??!0}},exports.useSolanaRpcClient=function(){let e=n.useAppConfig(),t=r.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((r=>[r,e.solanaRpcs[r]?s({chain:r,rpc:e.solanaRpcs[r].rpc,rpcSubscriptions:e.solanaRpcs[r].rpcSubscriptions,blockExplorerUrl:e.solanaRpcs[r].blockExplorerUrl??`https://explorer.solana.com?cluster=${r.replace("solana:","")}`}):null])))),[e.solanaRpcs]);return r.useCallback((e=>{if(!t[e])throw Error(`No RPC configuration found for chain ${e}`);return t[e]}),[t])},exports.waitForSignatureConfirmation=i;
1
+ "use strict";var e=require("@solana/kit"),r=require("react"),n=require("./context-B8VkgLLk.js"),t=require("./internal-context-NWsAL807.js");function o(r){return new Uint8Array(e.getTransactionDecoder().decode(r).messageBytes)}const a=(...e)=>{if("undefined"==typeof Buffer)throw new t.PrivyClientError("Buffer is not defined.",void 0,t.PrivyErrorCode.BUFFER_NOT_DEFINED);return Buffer.from(...e)};async function i({rpcSubscriptions:e,signature:r,timeout:n}){let t=new AbortController,o=await e.signatureNotifications(r,{commitment:"confirmed"}).subscribe({abortSignal:t.signal}),a=await Promise.race([new Promise((e=>{setTimeout((()=>{t.abort(),e(Error("Transaction confirmation timed out"))}),n)})),new Promise((async e=>{for await(let r of o){if(t.abort(),r.value.err)return e(Error("Transaction confirmation failed"));e(void 0)}}))]);if(a instanceof Error)throw a}function s({rpc:r,rpcSubscriptions:n,chain:t,blockExplorerUrl:o}){let s=function({rpc:r,rpcSubscriptions:n}){return async t=>new Promise((async(o,s)=>{try{let s=await r.sendTransaction(a(t).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await i({rpcSubscriptions:n,signature:s,timeout:1e4}),o({signature:new Uint8Array(e.getBase58Encoder().encode(s))})}catch(e){s(e)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:t,blockExplorerUrl:o,sendAndConfirmTransaction:s}}exports.bufferFrom=a,exports.fetchTransactionEstimatedFees=async function({solanaClient:r,tx:n}){let t=e.getBase64Decoder().decode(o(n)),{value:a}=await r.rpc.getFeeForMessage(t).send();return a??0n},exports.getSolanaRpcClient=s,exports.getTransactionMessageBytes=o,exports.simulateTransaction=async function r({solanaClient:n,tx:t,replaceRecentBlockhash:o}){let{value:a}=await n.rpc.simulateTransaction(e.getBase64Decoder().decode(t),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===a.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===a.err?await r({solanaClient:n,tx:t,replaceRecentBlockhash:!0}):{logs:a.logs??[],error:a.err,hasError:!!a.err,hasFunds:a.logs?.every((e=>!/insufficient funds/gi.test(e)&&!/insufficient lamports/gi.test(e)))??!0}},exports.useSolanaRpcClient=function(){let e=n.useAppConfig(),t=r.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((r=>[r,e.solanaRpcs[r]?s({chain:r,rpc:e.solanaRpcs[r].rpc,rpcSubscriptions:e.solanaRpcs[r].rpcSubscriptions,blockExplorerUrl:e.solanaRpcs[r].blockExplorerUrl??`https://explorer.solana.com?cluster=${r.replace("solana:","")}`}):null])))),[e.solanaRpcs]);return r.useCallback((e=>{if(!t[e])throw Error(`No RPC configuration found for chain ${e}`);return t[e]}),[t])},exports.waitForSignatureConfirmation=i;
@@ -1 +1 @@
1
- "use strict";var e=require("@solana/kit"),t=require("react"),n=require("@privy-io/js-sdk-core"),i=require("./internal-context-NWsAL807.js"),s=require("./get-is-unified-wallet-BvMSdvUc.js"),a=require("./usePrivy-CF_OJFHb.js"),r=require("./useWallets-DfhM_0qx.js"),o=require("eventemitter3"),l=require("@scure/base"),d=require("./context-BQBZ_ADw.js"),c=require("./use-sign-with-user-signer-BcAsQTGF.js"),u=require("./prepareFundingModalData-DjA3GuX5.js"),g=require("./useSolanaRpcClient-COrWRwgi.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=/*#__PURE__*/h(n),y=/*#__PURE__*/h(o);const f=["solana:mainnet","solana:devnet","solana:testnet"];function v(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var A=0,w="__private_"+A+++"__implementation";class E extends y.default{setImplementation(e){v(this,w)[w]=e}async signMessage(e){return v(this,w)[w].signMessage(e)}async signAndSendTransaction(e){return v(this,w)[w].signAndSendTransaction(e)}async signTransaction(e){return v(this,w)[w].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,w,{writable:!0,value:void 0}),v(this,w)[w]=e}}function T(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var b=0;function m(e){return"__private_"+b+++"_"+e}var S=/*#__PURE__*/m("_address"),P=/*#__PURE__*/m("_publicKey"),I=/*#__PURE__*/m("_chains"),O=/*#__PURE__*/m("_features"),W=/*#__PURE__*/m("_label"),C=/*#__PURE__*/m("_icon");class _{get address(){return T(this,S)[S]}get publicKey(){return T(this,P)[P].slice()}get chains(){return T(this,I)[I].slice()}get features(){return T(this,O)[O].slice()}get label(){return T(this,W)[W]}get icon(){return T(this,C)[C]}constructor({address:e,publicKey:t,label:n,icon:i}){Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,I,{writable:!0,value:void 0}),Object.defineProperty(this,O,{writable:!0,value:void 0}),Object.defineProperty(this,W,{writable:!0,value:void 0}),Object.defineProperty(this,C,{writable:!0,value:void 0}),T(this,S)[S]=e,T(this,P)[P]=t,T(this,I)[I]=f,T(this,W)[W]=n,T(this,C)[C]=i,T(this,O)[O]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===_&&Object.freeze(this)}}function M(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var F=0;function j(e){return"__private_"+F+++"_"+e}var U=/*#__PURE__*/j("_listeners"),D=/*#__PURE__*/j("_version"),N=/*#__PURE__*/j("_name"),B=/*#__PURE__*/j("_icon"),x=/*#__PURE__*/j("_injection"),R=/*#__PURE__*/j("_isPrivyWallet"),L=/*#__PURE__*/j("_accounts"),V=/*#__PURE__*/j("_on"),q=/*#__PURE__*/j("_emit"),Q=/*#__PURE__*/j("_off"),G=/*#__PURE__*/j("_connected"),H=/*#__PURE__*/j("_connect"),K=/*#__PURE__*/j("_disconnect"),J=/*#__PURE__*/j("_signMessage"),Y=/*#__PURE__*/j("_signAndSendTransaction"),k=/*#__PURE__*/j("_signTransaction");function Z(e,...t){M(this,U)[U][e]?.forEach((e=>e.apply(null,t)))}function z(e,t){M(this,U)[U][e]=M(this,U)[U][e]?.filter((e=>t!==e))}function X(t,n,i){let s=structuredClone(e.getTransactionDecoder().decode(t)),a=e.address(n);return a in s.signatures&&(s.signatures[a]=i),new Uint8Array(e.getTransactionEncoder().encode(s))}function $(){let{isHeadlessSigning:e,walletProxy:t,initializeWalletProxy:o,recoverEmbeddedWallet:l,openModal:d,privy:u,client:h}=i.usePrivyInternal(),{user:p}=a.usePrivy(),{setModalData:y}=s.usePrivyModal(),{signWithUserSigner:f}=c.useSignWithUserSigner();return{signMessage:({message:a,address:c,options:v})=>new Promise((async(A,w)=>{let E=s.getPrivyWalletWithAddress(p,c);if("privy"!==E?.walletClientType)return void w(new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:T,entropyIdVerifier:b}=r.getEntropyDetailsForUser(p,E),m=s.getIsUnifiedWallet(E),S=g.bufferFrom(a).toString("base64");if(S.length<1)return void w(new i.PrivyClientError("Message must be a non-empty string",void 0,i.PrivyErrorCode.INVALID_MESSAGE));let P=async()=>{let e;if(!p)throw Error("User must be authenticated before signing with a Privy wallet");let i=await h.getAccessToken();if(!i)throw Error("User must be authenticated to use their embedded wallet.");let s=t??await o(15e3);if(!s)throw Error("Failed to initialize embedded wallet proxy.");if(!await l({address:E.address}))throw Error("Unable to connect to wallet");if(m){let t=await n.rpc(u,f,{chain_type:"solana",method:"signMessage",params:{message:S,encoding:"base64"},wallet_id:E.id});if(!t.data||!("signature"in t.data))throw Error("Failed to sign message");e=t.data.signature}else{let{response:t}=await s.rpc({accessToken:i,entropyId:T,entropyIdVerifier:b,chainType:"solana",hdWalletIndex:E.walletIndex??0,requesterAppId:v?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:S}}});e=t.data.signature}return e};if(e({showWalletUIs:v?.uiOptions?.showWalletUIs}))try{let e=await P(),t=new Uint8Array(g.bufferFrom(e,"base64"));A({signature:t})}catch(e){w(e)}else y({signMessage:{method:"solana_signMessage",data:S,confirmAndSign:P,onSuccess:e=>{A({signature:new Uint8Array(g.bufferFrom(e,"base64"))})},onFailure:e=>{w(e)},uiOptions:v?.uiOptions??{}},connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,entropyId:T,entropyIdVerifier:b,isUnifiedWallet:m,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{w(new i.PrivyClientError("Failed to connect to wallet",e,i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR))}}}),d("EmbeddedWalletConnectingScreen")}))}}function ee(){let{isHeadlessSigning:e,openModal:t}=i.usePrivyInternal(),{setModalData:n}=s.usePrivyModal(),{signMessage:o}=$(),{user:l}=a.usePrivy();return{signTransaction:async({transaction:a,options:d,chain:c="solana:mainnet",address:u})=>{async function h(e){let{signature:t}=await o({message:g.getTransactionMessageBytes(e),address:u,options:{...d,uiOptions:{...d?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:X(e,u,t)}}return e({showWalletUIs:d?.uiOptions?.showWalletUIs})?h(a):new Promise((async(e,o)=>{let g=s.getPrivyWalletWithAddress(l,u);if("privy"!==g?.walletClientType)return void o(new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:p,entropyIdVerifier:y}=r.getEntropyDetailsForUser(l,g),f=s.getIsUnifiedWallet(g);function v(e){return t=>{t instanceof i.PrivyClientError?o(t):o(new i.PrivyClientError("Failed to connect to wallet",t,e))}}let A={account:g,transaction:a,chain:c,signOnly:!0,uiOptions:d?.uiOptions||{},onConfirm:h,onSuccess:e,onFailure:v(i.PrivyErrorCode.TRANSACTION_FAILURE)};n({connectWallet:{recoveryMethod:g.recoveryMethod,connectingWalletAddress:g.address,entropyId:p,entropyIdVerifier:y,isUnifiedWallet:f,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:v(i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:A}),t("EmbeddedWalletConnectingScreen")}))}}}let te=new E({signTransaction:i.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:i.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:i.notImplementedWithMessage("signMessage was not injected")}),ne=new class{get version(){return M(this,D)[D]}get name(){return M(this,N)[N]}get icon(){return M(this,B)[B]}get chains(){return f.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:M(this,H)[H]},"standard:disconnect":{version:"1.0.0",disconnect:M(this,K)[K]},"standard:events":{version:"1.0.0",on:M(this,V)[V]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:M(this,Y)[Y]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:M(this,k)[k]},"solana:signMessage":{version:"1.0.0",signMessage:M(this,J)[J]},"privy:":{privy:{signMessage:M(this,x)[x].signMessage,signTransaction:M(this,x)[x].signTransaction,signAndSendTransaction:M(this,x)[x].signAndSendTransaction}}}}get accounts(){return M(this,L)[L].slice()}get isPrivyWallet(){return M(this,R)[R]}constructor({name:e,icon:t,version:n,injection:i,wallets:s}){Object.defineProperty(this,q,{value:Z}),Object.defineProperty(this,Q,{value:z}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,N,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:void 0}),M(this,U)[U]={},M(this,V)[V]=(e,t)=>(M(this,U)[U][e]?.push(t)||(M(this,U)[U][e]=[t]),()=>M(this,Q)[Q](e,t)),M(this,G)[G]=e=>{null!=e&&(M(this,L)[L]=e.map((({address:e})=>new _({address:e,publicKey:l.base58.decode(e)})))),M(this,q)[q]("change",{accounts:this.accounts})},M(this,H)[H]=async()=>(M(this,q)[q]("change",{accounts:this.accounts}),{accounts:this.accounts}),M(this,K)[K]=async()=>{M(this,q)[q]("change",{accounts:this.accounts})},M(this,J)[J]=async(...e)=>{let t=[];for(let{account:n,...i}of e){let{signature:e}=await M(this,x)[x].signMessage({...i,address:n.address});t.push({signedMessage:i.message,signature:e})}return t},M(this,Y)[Y]=async(...e)=>{let t=[];for(let n of e){let{signature:e}=await M(this,x)[x].signAndSendTransaction({...n,transaction:n.transaction,address:n.account.address,chain:n.chain||"solana:mainnet",options:n.options});t.push({signature:e})}return t},M(this,k)[k]=async(...e)=>{let t=[];for(let{transaction:n,account:i,options:s,chain:a}of e){let{signedTransaction:e}=await M(this,x)[x].signTransaction({transaction:n,address:i.address,chain:a||"solana:mainnet",options:s});t.push({signedTransaction:e})}return t},M(this,N)[N]=e,M(this,B)[B]=t,M(this,D)[D]=n,M(this,x)[x]=i,M(this,L)[L]=[],M(this,R)[R]=!0,i.on("accountChanged",M(this,G)[G],this),M(this,G)[G](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:te});function ie(){let{ready:e}=r.useWallets(),{user:o}=a.usePrivy(),{signMessage:h}=$(),{signTransaction:y}=ee(),{signAndSendTransaction:f}=function(){let e=d.useAppConfig(),{isHeadlessSigning:t,openModal:o}=i.usePrivyInternal(),{setModalData:h}=s.usePrivyModal(),{signTransaction:y}=ee(),f=g.useSolanaRpcClient(),{user:v}=a.usePrivy(),{signWithUserSigner:A}=c.useSignWithUserSigner();return{signAndSendTransaction:async({transaction:a,address:d,chain:c="solana:mainnet",options:w})=>{let E=s.getPrivyWalletWithAddress(v,d);if("privy"!==E?.walletClientType)throw new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND);let T=s.getIsUnifiedWallet(E);async function b(t){if(w?.sponsor)return await(async t=>{if(!T)throw new i.PrivyClientError("Sponsoring transactions is only supported for wallets on the TEE stack",i.PrivyErrorCode.INVALID_DATA);let s=new p.default({appId:e.id,clientId:e.appClientId,storage:u.u}),a=await n.rpc(s,A,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:g.bufferFrom(t).toString("base64"),encoding:"base64"},caip2:`solana:${(await f(c).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:E.id});if(a.data&&"hash"in a.data)return{signature:l.base58.decode(a.data.hash)};throw Error("Failed to sign and send transaction")})(t);let{signedTransaction:s}=await y({transaction:t,address:d,chain:c,options:{...w,uiOptions:{...w?.uiOptions,showWalletUIs:!1}}}),{signature:a}=await f(c).sendAndConfirmTransaction(s);return{signature:a}}return t({showWalletUIs:w?.uiOptions?.showWalletUIs})?b(a):new Promise((async(t,n)=>{let s,l,{entropyId:g,entropyIdVerifier:p}=r.getEntropyDetailsForUser(v,E);function y(e){return t=>{t instanceof i.PrivyClientError?n(t):n(new i.PrivyClientError("Failed to connect to wallet",t,e))}}let f={account:E,transaction:a,chain:c,signOnly:!1,uiOptions:w?.uiOptions||{},onConfirm:b,onSuccess:t,onFailure:y(i.PrivyErrorCode.TRANSACTION_FAILURE),isSponsored:!!w?.sponsor},A={recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,entropyId:g,entropyIdVerifier:p,isUnifiedWallet:T,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(s=u.prepareSolanaFundingModalData({address:d,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...w,asset:"native-currency",chain:c},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),l={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:c,destinationAddress:d,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),h({connectWallet:A,standardSignAndSendTransaction:f,funding:s,solanaFundingData:l}),o("EmbeddedWalletConnectingScreen")}))}}}(),v=t.useMemo((()=>{let e=[...s.getPrivySolanaHDWallets(o).sort(((e,t)=>(e.walletIndex??0)-(t.walletIndex??0)))],t=s.getImportedPrivySolanaWallets(o);return t.length?[...e,...t]:e}),[o]),A=t.useMemo((()=>({signMessage:async({message:e,address:t,options:n})=>await h({message:e,address:t,options:n}),signTransaction:async({transaction:e,address:t,chain:n,options:i})=>await y({transaction:e,address:t,chain:n,options:i}),async signAndSendTransaction({transaction:e,address:t,chain:n,options:i}){let{signature:s}=await f({transaction:e,address:t,chain:n,options:i});return{signature:s}}})),[h,y,f]);return t.useEffect((()=>{te?.setImplementation(A)}),[A]),t.useEffect((()=>{var t;!e||(t=ne.accounts).length===v.length&&t.every(((e,t)=>e.address===v[t]?.address))||te?.emit("accountChanged",v)}),[e,v]),{ready:e,wallet:ne}}function se(){let{client:e}=i.usePrivyInternal(),{ready:n,wallet:s}=ie(),[a,r]=t.useState([]),[o,l]=t.useState([]);return t.useEffect((()=>{let e=[s,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];l(e);let t=a.flatMap((t=>{let n=()=>l([...e]);return t.on("walletsUpdated",n),{connector:t,off:n}})),n=e.map((t=>t.features["standard:events"]?.on("change",(()=>{l([...e])}))));return()=>{n.forEach((e=>e?.())),t.forEach((({connector:e,off:t})=>e.off("walletsUpdated",t)))}}),[a]),t.useEffect((()=>{r(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let t=()=>{r(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",t),()=>{e.connectors?.off("connectorInitialized",t)}}),[n,e.connectors]),{ready:n,wallets:o}}exports.SOLANA_CHAINS=f,exports.getAddressFromBuffer=function(t){return e.getBase58Decoder().decode(t)},exports.useSolanaStandardWallets=se,exports.useWallets=function(){let{ready:e,wallets:i}=se();return{ready:e,wallets:t.useMemo((()=>i.flatMap((e=>e.accounts.map((t=>new n.ConnectedStandardSolanaWallet({wallet:e,account:t})))))),[i])}};
1
+ "use strict";var e=require("@solana/kit"),t=require("react"),n=require("@privy-io/js-sdk-core"),i=require("./internal-context-NWsAL807.js"),s=require("./get-is-unified-wallet--p0rdEtP.js"),a=require("./usePrivy-BM1sYNel.js"),r=require("./useWallets-DEyFRWD0.js"),o=require("eventemitter3"),l=require("@scure/base"),d=require("./context-B8VkgLLk.js"),c=require("./use-sign-with-user-signer-BcAsQTGF.js"),u=require("./prepareFundingModalData-BADfvap9.js"),g=require("./useSolanaRpcClient-CLYG-Dxk.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=/*#__PURE__*/h(n),y=/*#__PURE__*/h(o);const f=["solana:mainnet","solana:devnet","solana:testnet"];function v(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var A=0,w="__private_"+A+++"__implementation";class E extends y.default{setImplementation(e){v(this,w)[w]=e}async signMessage(e){return v(this,w)[w].signMessage(e)}async signAndSendTransaction(e){return v(this,w)[w].signAndSendTransaction(e)}async signTransaction(e){return v(this,w)[w].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,w,{writable:!0,value:void 0}),v(this,w)[w]=e}}function T(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var b=0;function m(e){return"__private_"+b+++"_"+e}var S=/*#__PURE__*/m("_address"),P=/*#__PURE__*/m("_publicKey"),I=/*#__PURE__*/m("_chains"),O=/*#__PURE__*/m("_features"),W=/*#__PURE__*/m("_label"),C=/*#__PURE__*/m("_icon");class _{get address(){return T(this,S)[S]}get publicKey(){return T(this,P)[P].slice()}get chains(){return T(this,I)[I].slice()}get features(){return T(this,O)[O].slice()}get label(){return T(this,W)[W]}get icon(){return T(this,C)[C]}constructor({address:e,publicKey:t,label:n,icon:i}){Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,I,{writable:!0,value:void 0}),Object.defineProperty(this,O,{writable:!0,value:void 0}),Object.defineProperty(this,W,{writable:!0,value:void 0}),Object.defineProperty(this,C,{writable:!0,value:void 0}),T(this,S)[S]=e,T(this,P)[P]=t,T(this,I)[I]=f,T(this,W)[W]=n,T(this,C)[C]=i,T(this,O)[O]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===_&&Object.freeze(this)}}function M(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var F=0;function j(e){return"__private_"+F+++"_"+e}var U=/*#__PURE__*/j("_listeners"),D=/*#__PURE__*/j("_version"),N=/*#__PURE__*/j("_name"),B=/*#__PURE__*/j("_icon"),x=/*#__PURE__*/j("_injection"),R=/*#__PURE__*/j("_isPrivyWallet"),L=/*#__PURE__*/j("_accounts"),V=/*#__PURE__*/j("_on"),q=/*#__PURE__*/j("_emit"),Q=/*#__PURE__*/j("_off"),G=/*#__PURE__*/j("_connected"),H=/*#__PURE__*/j("_connect"),K=/*#__PURE__*/j("_disconnect"),J=/*#__PURE__*/j("_signMessage"),Y=/*#__PURE__*/j("_signAndSendTransaction"),k=/*#__PURE__*/j("_signTransaction");function Z(e,...t){M(this,U)[U][e]?.forEach((e=>e.apply(null,t)))}function z(e,t){M(this,U)[U][e]=M(this,U)[U][e]?.filter((e=>t!==e))}function X(t,n,i){let s=structuredClone(e.getTransactionDecoder().decode(t)),a=e.address(n);return a in s.signatures&&(s.signatures[a]=i),new Uint8Array(e.getTransactionEncoder().encode(s))}function $(){let{isHeadlessSigning:e,walletProxy:t,initializeWalletProxy:o,recoverEmbeddedWallet:l,openModal:d,privy:u,client:h}=i.usePrivyInternal(),{user:p}=a.usePrivy(),{setModalData:y}=s.usePrivyModal(),{signWithUserSigner:f}=c.useSignWithUserSigner();return{signMessage:({message:a,address:c,options:v})=>new Promise((async(A,w)=>{let E=s.getPrivyWalletWithAddress(p,c);if("privy"!==E?.walletClientType)return void w(new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:T,entropyIdVerifier:b}=r.getEntropyDetailsForUser(p,E),m=s.getIsUnifiedWallet(E),S=g.bufferFrom(a).toString("base64");if(S.length<1)return void w(new i.PrivyClientError("Message must be a non-empty string",void 0,i.PrivyErrorCode.INVALID_MESSAGE));let P=async()=>{let e;if(!p)throw Error("User must be authenticated before signing with a Privy wallet");let i=await h.getAccessToken();if(!i)throw Error("User must be authenticated to use their embedded wallet.");let s=t??await o(15e3);if(!s)throw Error("Failed to initialize embedded wallet proxy.");if(!await l({address:E.address}))throw Error("Unable to connect to wallet");if(m){let t=await n.rpc(u,f,{chain_type:"solana",method:"signMessage",params:{message:S,encoding:"base64"},wallet_id:E.id});if(!t.data||!("signature"in t.data))throw Error("Failed to sign message");e=t.data.signature}else{let{response:t}=await s.rpc({accessToken:i,entropyId:T,entropyIdVerifier:b,chainType:"solana",hdWalletIndex:E.walletIndex??0,requesterAppId:v?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:S}}});e=t.data.signature}return e};if(e({showWalletUIs:v?.uiOptions?.showWalletUIs}))try{let e=await P(),t=new Uint8Array(g.bufferFrom(e,"base64"));A({signature:t})}catch(e){w(e)}else y({signMessage:{method:"solana_signMessage",data:S,confirmAndSign:P,onSuccess:e=>{A({signature:new Uint8Array(g.bufferFrom(e,"base64"))})},onFailure:e=>{w(e)},uiOptions:v?.uiOptions??{}},connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,entropyId:T,entropyIdVerifier:b,isUnifiedWallet:m,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{w(new i.PrivyClientError("Failed to connect to wallet",e,i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR))}}}),d("EmbeddedWalletConnectingScreen")}))}}function ee(){let{isHeadlessSigning:e,openModal:t}=i.usePrivyInternal(),{setModalData:n}=s.usePrivyModal(),{signMessage:o}=$(),{user:l}=a.usePrivy();return{signTransaction:async({transaction:a,options:d,chain:c="solana:mainnet",address:u})=>{async function h(e){let{signature:t}=await o({message:g.getTransactionMessageBytes(e),address:u,options:{...d,uiOptions:{...d?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:X(e,u,t)}}return e({showWalletUIs:d?.uiOptions?.showWalletUIs})?h(a):new Promise((async(e,o)=>{let g=s.getPrivyWalletWithAddress(l,u);if("privy"!==g?.walletClientType)return void o(new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:p,entropyIdVerifier:y}=r.getEntropyDetailsForUser(l,g),f=s.getIsUnifiedWallet(g);function v(e){return t=>{t instanceof i.PrivyClientError?o(t):o(new i.PrivyClientError("Failed to connect to wallet",t,e))}}let A={account:g,transaction:a,chain:c,signOnly:!0,uiOptions:d?.uiOptions||{},onConfirm:h,onSuccess:e,onFailure:v(i.PrivyErrorCode.TRANSACTION_FAILURE)};n({connectWallet:{recoveryMethod:g.recoveryMethod,connectingWalletAddress:g.address,entropyId:p,entropyIdVerifier:y,isUnifiedWallet:f,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:v(i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:A}),t("EmbeddedWalletConnectingScreen")}))}}}let te=new E({signTransaction:i.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:i.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:i.notImplementedWithMessage("signMessage was not injected")}),ne=new class{get version(){return M(this,D)[D]}get name(){return M(this,N)[N]}get icon(){return M(this,B)[B]}get chains(){return f.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:M(this,H)[H]},"standard:disconnect":{version:"1.0.0",disconnect:M(this,K)[K]},"standard:events":{version:"1.0.0",on:M(this,V)[V]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:M(this,Y)[Y]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:M(this,k)[k]},"solana:signMessage":{version:"1.0.0",signMessage:M(this,J)[J]},"privy:":{privy:{signMessage:M(this,x)[x].signMessage,signTransaction:M(this,x)[x].signTransaction,signAndSendTransaction:M(this,x)[x].signAndSendTransaction}}}}get accounts(){return M(this,L)[L].slice()}get isPrivyWallet(){return M(this,R)[R]}constructor({name:e,icon:t,version:n,injection:i,wallets:s}){Object.defineProperty(this,q,{value:Z}),Object.defineProperty(this,Q,{value:z}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,N,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:void 0}),M(this,U)[U]={},M(this,V)[V]=(e,t)=>(M(this,U)[U][e]?.push(t)||(M(this,U)[U][e]=[t]),()=>M(this,Q)[Q](e,t)),M(this,G)[G]=e=>{null!=e&&(M(this,L)[L]=e.map((({address:e})=>new _({address:e,publicKey:l.base58.decode(e)})))),M(this,q)[q]("change",{accounts:this.accounts})},M(this,H)[H]=async()=>(M(this,q)[q]("change",{accounts:this.accounts}),{accounts:this.accounts}),M(this,K)[K]=async()=>{M(this,q)[q]("change",{accounts:this.accounts})},M(this,J)[J]=async(...e)=>{let t=[];for(let{account:n,...i}of e){let{signature:e}=await M(this,x)[x].signMessage({...i,address:n.address});t.push({signedMessage:i.message,signature:e})}return t},M(this,Y)[Y]=async(...e)=>{let t=[];for(let n of e){let{signature:e}=await M(this,x)[x].signAndSendTransaction({...n,transaction:n.transaction,address:n.account.address,chain:n.chain||"solana:mainnet",options:n.options});t.push({signature:e})}return t},M(this,k)[k]=async(...e)=>{let t=[];for(let{transaction:n,account:i,options:s,chain:a}of e){let{signedTransaction:e}=await M(this,x)[x].signTransaction({transaction:n,address:i.address,chain:a||"solana:mainnet",options:s});t.push({signedTransaction:e})}return t},M(this,N)[N]=e,M(this,B)[B]=t,M(this,D)[D]=n,M(this,x)[x]=i,M(this,L)[L]=[],M(this,R)[R]=!0,i.on("accountChanged",M(this,G)[G],this),M(this,G)[G](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:te});function ie(){let{ready:e}=r.useWallets(),{user:o}=a.usePrivy(),{signMessage:h}=$(),{signTransaction:y}=ee(),{signAndSendTransaction:f}=function(){let e=d.useAppConfig(),{isHeadlessSigning:t,openModal:o}=i.usePrivyInternal(),{setModalData:h}=s.usePrivyModal(),{signTransaction:y}=ee(),f=g.useSolanaRpcClient(),{user:v}=a.usePrivy(),{signWithUserSigner:A}=c.useSignWithUserSigner();return{signAndSendTransaction:async({transaction:a,address:d,chain:c="solana:mainnet",options:w})=>{let E=s.getPrivyWalletWithAddress(v,d);if("privy"!==E?.walletClientType)throw new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND);let T=s.getIsUnifiedWallet(E);async function b(t){if(w?.sponsor)return await(async t=>{if(!T)throw new i.PrivyClientError("Sponsoring transactions is only supported for wallets on the TEE stack",i.PrivyErrorCode.INVALID_DATA);let s=new p.default({appId:e.id,clientId:e.appClientId,storage:u.u}),a=await n.rpc(s,A,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:g.bufferFrom(t).toString("base64"),encoding:"base64"},caip2:`solana:${(await f(c).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:E.id});if(a.data&&"hash"in a.data)return{signature:l.base58.decode(a.data.hash)};throw Error("Failed to sign and send transaction")})(t);let{signedTransaction:s}=await y({transaction:t,address:d,chain:c,options:{...w,uiOptions:{...w?.uiOptions,showWalletUIs:!1}}}),{signature:a}=await f(c).sendAndConfirmTransaction(s);return{signature:a}}return t({showWalletUIs:w?.uiOptions?.showWalletUIs})?b(a):new Promise((async(t,n)=>{let s,l,{entropyId:g,entropyIdVerifier:p}=r.getEntropyDetailsForUser(v,E);function y(e){return t=>{t instanceof i.PrivyClientError?n(t):n(new i.PrivyClientError("Failed to connect to wallet",t,e))}}let f={account:E,transaction:a,chain:c,signOnly:!1,uiOptions:w?.uiOptions||{},onConfirm:b,onSuccess:t,onFailure:y(i.PrivyErrorCode.TRANSACTION_FAILURE),isSponsored:!!w?.sponsor},A={recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,entropyId:g,entropyIdVerifier:p,isUnifiedWallet:T,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(s=u.prepareSolanaFundingModalData({address:d,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...w,asset:"native-currency",chain:c},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),l={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:c,destinationAddress:d,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),h({connectWallet:A,standardSignAndSendTransaction:f,funding:s,solanaFundingData:l}),o("EmbeddedWalletConnectingScreen")}))}}}(),v=t.useMemo((()=>{let e=[...s.getPrivySolanaHDWallets(o).sort(((e,t)=>(e.walletIndex??0)-(t.walletIndex??0)))],t=s.getImportedPrivySolanaWallets(o);return t.length?[...e,...t]:e}),[o]),A=t.useMemo((()=>({signMessage:async({message:e,address:t,options:n})=>await h({message:e,address:t,options:n}),signTransaction:async({transaction:e,address:t,chain:n,options:i})=>await y({transaction:e,address:t,chain:n,options:i}),async signAndSendTransaction({transaction:e,address:t,chain:n,options:i}){let{signature:s}=await f({transaction:e,address:t,chain:n,options:i});return{signature:s}}})),[h,y,f]);return t.useEffect((()=>{te?.setImplementation(A)}),[A]),t.useEffect((()=>{var t;!e||(t=ne.accounts).length===v.length&&t.every(((e,t)=>e.address===v[t]?.address))||te?.emit("accountChanged",v)}),[e,v]),{ready:e,wallet:ne}}function se(){let{client:e}=i.usePrivyInternal(),{ready:n,wallet:s}=ie(),[a,r]=t.useState([]),[o,l]=t.useState([]);return t.useEffect((()=>{let e=[s,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];l(e);let t=a.flatMap((t=>{let n=()=>l([...e]);return t.on("walletsUpdated",n),{connector:t,off:n}})),n=e.map((t=>t.features["standard:events"]?.on("change",(()=>{l([...e])}))));return()=>{n.forEach((e=>e?.())),t.forEach((({connector:e,off:t})=>e.off("walletsUpdated",t)))}}),[a]),t.useEffect((()=>{r(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let t=()=>{r(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",t),()=>{e.connectors?.off("connectorInitialized",t)}}),[n,e.connectors]),{ready:n,wallets:o}}exports.SOLANA_CHAINS=f,exports.getAddressFromBuffer=function(t){return e.getBase58Decoder().decode(t)},exports.useSolanaStandardWallets=se,exports.useWallets=function(){let{ready:e,wallets:i}=se();return{ready:e,wallets:t.useMemo((()=>i.flatMap((e=>e.accounts.map((t=>new n.ConnectedStandardSolanaWallet({wallet:e,account:t})))))),[i])}};
@@ -1 +1 @@
1
- "use strict";var e=require("./get-is-unified-wallet-BvMSdvUc.js"),r=require("react");const t=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")},o=/*#__PURE__*/r.createContext(null);exports.UseWalletsContext=o,exports.getEntropyDetailsForUser=(r,o)=>{if(o?.imported)return t(o);let i=e.getPrivyPrimaryWallet(r);if(!i)throw Error("Failed to find primary wallet");return t(i)},exports.toEntropyDetailsFromAccount=t,exports.useWallets=function(){let e=r.useContext(o);return null===e?(console.warn("`useWallets` was called outside the PrivyProvider component"),{wallets:[],ready:!1}):e};
1
+ "use strict";var e=require("./get-is-unified-wallet--p0rdEtP.js"),r=require("react");const t=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")},o=/*#__PURE__*/r.createContext(null);exports.UseWalletsContext=o,exports.getEntropyDetailsForUser=(r,o)=>{if(o?.imported)return t(o);let i=e.getPrivyPrimaryWallet(r);if(!i)throw Error("Failed to find primary wallet");return t(i)},exports.toEntropyDetailsFromAccount=t,exports.useWallets=function(){let e=r.useContext(o);return null===e?(console.warn("`useWallets` was called outside the PrivyProvider component"),{wallets:[],ready:!1}):e};
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{HelpCircle as e}from"lucide-react";import{u as o}from"./context-BuN0M_vH.mjs";import{u as i}from"./internal-context-e-Eni5bG.mjs";import{a as r}from"./get-is-unified-wallet-DF10lirM.mjs";import{S as a}from"./ScreenLayout-DptX1e0c.mjs";import"react";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"viem";import"./ModalHeader-B32Zin0a.mjs";import"styled-components";import"./useActiveWallet-BY2wKTVp.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.mjs";const n=({title:o="Account not found",subtitle:i,appName:r="this app",ctaText:n="Try logging in again",onRetry:m})=>/*#__PURE__*/t(a,{title:o,subtitle:i||`Please try logging in again or go to ${r} to create an account.`,icon:e,iconVariant:"warning",primaryCta:{label:n,onClick:m},watermark:!0}),m={component:()=>{let{navigate:e,setModalData:a,data:m}=r(),c=o(),{getAuthMeta:p,client:s}=i();/*#__PURE__*/return t(n,{appName:c?.name,onRetry:()=>{let t=p();a({...m,login:{...m?.login,...t?.disableSignup?{disableSignup:!0}:{}}}),s?.authFlow&&(s.authFlow=void 0),e("LandingScreen")}})}};export{m as AccountNotFoundScreen,n as AccountNotFoundScreenView,m as default};
1
+ import{jsx as t}from"react/jsx-runtime";import{HelpCircle as e}from"lucide-react";import{u as o}from"./context-Bu4xmqpC.mjs";import{u as i}from"./internal-context-e-Eni5bG.mjs";import{a as r}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{S as a}from"./ScreenLayout-DIdy7nhJ.mjs";import"react";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"viem";import"./ModalHeader-D5psNgrf.mjs";import"styled-components";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-CRrWM52E.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.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"./Screen-q8npRQhQ.mjs";import"./index-Dq_xe9dz.mjs";const n=({title:o="Account not found",subtitle:i,appName:r="this app",ctaText:n="Try logging in again",onRetry:m})=>/*#__PURE__*/t(a,{title:o,subtitle:i||`Please try logging in again or go to ${r} to create an account.`,icon:e,iconVariant:"warning",primaryCta:{label:n,onClick:m},watermark:!0}),m={component:()=>{let{navigate:e,setModalData:a,data:m}=r(),c=o(),{getAuthMeta:p,client:s}=i();/*#__PURE__*/return t(n,{appName:c?.name,onRetry:()=>{let t=p();a({...m,login:{...m?.login,...t?.disableSignup?{disableSignup:!0}:{}}}),s?.authFlow&&(s.authFlow=void 0),e("LandingScreen")}})}};export{m as AccountNotFoundScreen,n as AccountNotFoundScreenView,m as default};
@@ -1,4 +1,4 @@
1
- import{jsxs as e,jsx as r,Fragment as o}from"react/jsx-runtime";import{Check as i,Copy as t}from"lucide-react";import{useState as n,useEffect as l}from"react";import{styled as s}from"styled-components";import{D as a}from"./useActiveWallet-BY2wKTVp.mjs";import{S as c}from"./ModalHeader-B32Zin0a.mjs";const d=({address:s,showCopyIcon:d,url:f,className:u})=>{let[g,x]=n(!1);function y(e){e.stopPropagation(),navigator.clipboard.writeText(s).then((()=>x(!0))).catch(console.error)}return l((()=>{if(g){let e=setTimeout((()=>x(!1)),3e3);return()=>clearTimeout(e)}}),[g]),/*#__PURE__*/e(m,f?{children:[/*#__PURE__*/r(h,{title:s,className:u,href:`${f}/address/${s}`,target:"_blank",children:a(s)}),d&&/*#__PURE__*/r(c,{onClick:y,size:"sm",style:{gap:"0.375rem"},children:/*#__PURE__*/e(o,g?{children:["Copied",/*#__PURE__*/r(i,{size:16})]}:{children:["Copy",/*#__PURE__*/r(t,{size:16})]})})]}:{children:[/*#__PURE__*/r(p,{title:s,className:u,children:a(s)}),d&&/*#__PURE__*/r(c,{onClick:y,size:"sm",style:{gap:"0.375rem",fontSize:"14px"},children:/*#__PURE__*/e(o,g?{children:["Copied",/*#__PURE__*/r(i,{size:14})]}:{children:["Copy",/*#__PURE__*/r(t,{size:14})]})})]})};let m=s.span`
1
+ import{jsxs as e,jsx as r,Fragment as o}from"react/jsx-runtime";import{Check as i,Copy as t}from"lucide-react";import{useState as n,useEffect as l}from"react";import{styled as s}from"styled-components";import{D as a}from"./useActiveWallet-RUYo4pXO.mjs";import{S as c}from"./ModalHeader-D5psNgrf.mjs";const d=({address:s,showCopyIcon:d,url:f,className:u})=>{let[g,x]=n(!1);function y(e){e.stopPropagation(),navigator.clipboard.writeText(s).then((()=>x(!0))).catch(console.error)}return l((()=>{if(g){let e=setTimeout((()=>x(!1)),3e3);return()=>clearTimeout(e)}}),[g]),/*#__PURE__*/e(m,f?{children:[/*#__PURE__*/r(h,{title:s,className:u,href:`${f}/address/${s}`,target:"_blank",children:a(s)}),d&&/*#__PURE__*/r(c,{onClick:y,size:"sm",style:{gap:"0.375rem"},children:/*#__PURE__*/e(o,g?{children:["Copied",/*#__PURE__*/r(i,{size:16})]}:{children:["Copy",/*#__PURE__*/r(t,{size:16})]})})]}:{children:[/*#__PURE__*/r(p,{title:s,className:u,children:a(s)}),d&&/*#__PURE__*/r(c,{onClick:y,size:"sm",style:{gap:"0.375rem",fontSize:"14px"},children:/*#__PURE__*/e(o,g?{children:["Copied",/*#__PURE__*/r(i,{size:14})]}:{children:["Copy",/*#__PURE__*/r(t,{size:14})]})})]})};let m=s.span`
2
2
  display: inline-flex;
3
3
  align-items: center;
4
4
  gap: 0.5rem;
@@ -1,4 +1,4 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{FileCheck as r,ExternalLink as i}from"lucide-react";import"react";import{styled as o}from"styled-components";import{a}from"./ModalHeader-B32Zin0a.mjs";import{u as s}from"./context-BuN0M_vH.mjs";import{u as n}from"./internal-context-e-Eni5bG.mjs";import{u as m,a as l}from"./get-is-unified-wallet-DF10lirM.mjs";import{s as c}from"./shouldProceedtoEmbeddedWalletCreationFlow-Z89kclWd.mjs";import{S as p}from"./ScreenLayout-DptX1e0c.mjs";import"./useActiveWallet-BY2wKTVp.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"@privy-io/js-sdk-core";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"tinycolor2";import"ofetch";import"./index-B2ZHk27q.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-DQKLhXbj.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"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.mjs";const d={component:()=>{let{user:t,logout:r}=m(),{onUserCloseViaDialogOrKeybindRef:i,setModalData:o,navigate:a}=l(),p=s(),{acceptTerms:d,closePrivyModal:y,createAnalyticsEvent:h}=n(),v=e=>{e?.preventDefault(),y({shouldCallAuthOnSuccess:!1}),r()};i.current=v;/*#__PURE__*/return e(u,{termsAndConditionsUrl:p?.legal.termsAndConditionsUrl,privacyPolicyUrl:p?.legal.privacyPolicyUrl,onAccept:async e=>{e?.preventDefault(),await d(),t&&c(t,p.embeddedWallets)?(o({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),h({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"AffirmativeConsentScreen"}}),r()},callAuthOnSuccessOnClose:!0}}),a("EmbeddedWalletOnAccountCreateScreen")):y()},onDecline:v})}},u=({termsAndConditionsUrl:o,privacyPolicyUrl:s,onAccept:n,onDecline:m,title:l="One last step",subtitle:c="By signing up, you agree to our terms and privacy policy."})=>/*#__PURE__*/e(p,{title:l,subtitle:c,icon:r,primaryCta:{label:"Accept",onClick:n},secondaryCta:{label:"No thanks",onClick:m},watermark:!0,children:(o||s)&&/*#__PURE__*/t(y,{children:[o&&/*#__PURE__*/t(a,{variant:"muted",href:o,target:"_blank",size:"lg",style:{justifyContent:"space-between"},as:"a",children:["View Terms",/*#__PURE__*/e(i,{width:16,height:16,strokeWidth:2.25})]}),s&&/*#__PURE__*/t(a,{variant:"muted",href:s,target:"_blank",size:"lg",style:{justifyContent:"space-between"},as:"a",children:["View Privacy Policy",/*#__PURE__*/e(i,{width:16,height:16,strokeWidth:2.25})]})]})});let y=o.div`
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{FileCheck as r,ExternalLink as i}from"lucide-react";import"react";import{styled as o}from"styled-components";import{a}from"./ModalHeader-D5psNgrf.mjs";import{u as s}from"./context-Bu4xmqpC.mjs";import{u as n}from"./internal-context-e-Eni5bG.mjs";import{u as m,a as l}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{s as c}from"./shouldProceedtoEmbeddedWalletCreationFlow-D0uaMzCB.mjs";import{S as p}from"./ScreenLayout-DIdy7nhJ.mjs";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-CRrWM52E.mjs";import"@privy-io/js-sdk-core";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.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"tinycolor2";import"ofetch";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"./Screen-q8npRQhQ.mjs";import"./index-Dq_xe9dz.mjs";const d={component:()=>{let{user:t,logout:r}=m(),{onUserCloseViaDialogOrKeybindRef:i,setModalData:o,navigate:a}=l(),p=s(),{acceptTerms:d,closePrivyModal:y,createAnalyticsEvent:h}=n(),v=e=>{e?.preventDefault(),y({shouldCallAuthOnSuccess:!1}),r()};i.current=v;/*#__PURE__*/return e(u,{termsAndConditionsUrl:p?.legal.termsAndConditionsUrl,privacyPolicyUrl:p?.legal.privacyPolicyUrl,onAccept:async e=>{e?.preventDefault(),await d(),t&&c(t,p.embeddedWallets)?(o({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),h({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"AffirmativeConsentScreen"}}),r()},callAuthOnSuccessOnClose:!0}}),a("EmbeddedWalletOnAccountCreateScreen")):y()},onDecline:v})}},u=({termsAndConditionsUrl:o,privacyPolicyUrl:s,onAccept:n,onDecline:m,title:l="One last step",subtitle:c="By signing up, you agree to our terms and privacy policy."})=>/*#__PURE__*/e(p,{title:l,subtitle:c,icon:r,primaryCta:{label:"Accept",onClick:n},secondaryCta:{label:"No thanks",onClick:m},watermark:!0,children:(o||s)&&/*#__PURE__*/t(y,{children:[o&&/*#__PURE__*/t(a,{variant:"muted",href:o,target:"_blank",size:"lg",style:{justifyContent:"space-between"},as:"a",children:["View Terms",/*#__PURE__*/e(i,{width:16,height:16,strokeWidth:2.25})]}),s&&/*#__PURE__*/t(a,{variant:"muted",href:s,target:"_blank",size:"lg",style:{justifyContent:"space-between"},as:"a",children:["View Privacy Policy",/*#__PURE__*/e(i,{width:16,height:16,strokeWidth:2.25})]})]})});let y=o.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: 12px;
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import{Lock as o}from"lucide-react";import"react";import{u as e}from"./context-BuN0M_vH.mjs";import{a as i}from"./get-is-unified-wallet-DF10lirM.mjs";import{S as r}from"./ScreenLayout-DptX1e0c.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"viem";import"./internal-context-e-Eni5bG.mjs";import"ofetch";import"./ModalHeader-B32Zin0a.mjs";import"styled-components";import"./useActiveWallet-BY2wKTVp.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.mjs";const n=({title:e="You don't have access to this app",subtitle:i="Have you been invited?",ctaText:n="Try another account",ctaLink:a,onCtaClick:m})=>/*#__PURE__*/t(r,{title:e,subtitle:i,icon:o,iconVariant:"warning",primaryCta:{label:n,onClick:()=>{a?window.open(a,"_blank"):m?.()}},watermark:!0}),a={component:()=>{let{navigate:o}=i(),r=e(),a=r?.allowlistConfig.errorTitle||"You don't have access to this app",m=r?.allowlistConfig.errorDetail||"Have you been invited?",c=r?.allowlistConfig.errorCtaText||"Try another account",l=r?.allowlistConfig.errorCtaLink;/*#__PURE__*/return t(n,{title:a,subtitle:m,ctaText:c,ctaLink:l??void 0,onCtaClick:()=>{o("LandingScreen")}})}};export{a as AllowlistRejectionScreen,n as AllowlistRejectionScreenView,a as default};
1
+ import{jsx as t}from"react/jsx-runtime";import{Lock as o}from"lucide-react";import"react";import{u as e}from"./context-Bu4xmqpC.mjs";import{a as i}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{S as r}from"./ScreenLayout-DIdy7nhJ.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"viem";import"./internal-context-e-Eni5bG.mjs";import"ofetch";import"./ModalHeader-D5psNgrf.mjs";import"styled-components";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-CRrWM52E.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.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"./Screen-q8npRQhQ.mjs";import"./index-Dq_xe9dz.mjs";const n=({title:e="You don't have access to this app",subtitle:i="Have you been invited?",ctaText:n="Try another account",ctaLink:a,onCtaClick:m})=>/*#__PURE__*/t(r,{title:e,subtitle:i,icon:o,iconVariant:"warning",primaryCta:{label:n,onClick:()=>{a?window.open(a,"_blank"):m?.()}},watermark:!0}),a={component:()=>{let{navigate:o}=i(),r=e(),a=r?.allowlistConfig.errorTitle||"You don't have access to this app",m=r?.allowlistConfig.errorDetail||"Have you been invited?",c=r?.allowlistConfig.errorCtaText||"Try another account",l=r?.allowlistConfig.errorCtaLink;/*#__PURE__*/return t(n,{title:a,subtitle:m,ctaText:c,ctaLink:l??void 0,onCtaClick:()=>{o("LandingScreen")}})}};export{a as AllowlistRejectionScreen,n as AllowlistRejectionScreenView,a as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useRef as t,useCallback as o}from"react";import{u as r}from"./context-BuN0M_vH.mjs";import{u as n,c as a,b as i}from"./internal-context-e-Eni5bG.mjs";import{a as l}from"./events-context-CI0iqAXA.mjs";import{a as c}from"./get-is-unified-wallet-DF10lirM.mjs";import{i as s}from"./ConnectWalletView-DIPHDDCY.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"viem";import"@heroicons/react/24/outline";import"@tanstack/react-virtual";import"react-device-detect";import"styled-components";import"./ModalHeader-B32Zin0a.mjs";import"./useActiveWallet-BY2wKTVp.mjs";import"zustand";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"eventemitter3";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.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"@heroicons/react/24/outline/CheckIcon";import"./copy-Bx2Jwc5_.mjs";import"./Link-DJ5gq9Di.mjs";import"./QrCode-CA7VcP6Y.mjs";import"qrcode";import"./EmailInputForm-Dgoii4vf.mjs";import"./ErrorMessage-D8VaAP5m.mjs";import"./useI18n-CS_dxsYR.mjs";import"./WalletCards-DH1rqayz.mjs";import"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.mjs";const m={component:()=>{let{setWalletConnectionStatus:m,closePrivyModal:p,inProgressAuthFlowRef:u}=n(),{data:d,navigate:C}=c(),W=r(),j=l(),w=d?.externalConnectWallet?.description,h=t(d?.externalConnectWallet?.walletList??W.appearance.walletList),E=t(d?.externalConnectWallet?.walletChainType??W.appearance.walletChainType),f=h.current,v=E.current,x="link"===u.current?void 0:()=>C("LandingScreen");/*#__PURE__*/return e(s,{walletList:f,walletChainType:v,onClose:p,onConnect:o((({connector:e,wallet:t})=>{j("connectWallet","onSuccess",{wallet:t}),m({status:"connected",connectedWallet:t,connector:e,connectError:null,connectRetry:()=>null}),C("ConnectionStatusScreen",!d?.externalConnectWallet?.preSelectedWalletId)}),[m,C,d?.login?.disableSignup,d?.externalConnectWallet?.preSelectedWalletId]),onConnectError:e=>{e instanceof a?(console.warn(e.cause?e.cause:e.message),j("connectWallet","onError",e.privyErrorCode||i.GENERIC_CONNECT_WALLET_ERROR)):(console.warn(e),j("connectWallet","onError",i.UNKNOWN_CONNECT_WALLET_ERROR))},onBack:x,customDescription:w||"",preSelectedWalletId:d?.externalConnectWallet?.preSelectedWalletId,app:W})},isUnauthenticatedScreem:!0};export{m as AuthenticateWithWalletScreen,m as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useRef as t,useCallback as o}from"react";import{u as r}from"./context-Bu4xmqpC.mjs";import{u as n,c as a,b as i}from"./internal-context-e-Eni5bG.mjs";import{a as l}from"./events-context-CI0iqAXA.mjs";import{a as c}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{i as s}from"./ConnectWalletView-CduRtfEz.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"viem";import"@heroicons/react/24/outline";import"@tanstack/react-virtual";import"react-device-detect";import"styled-components";import"./ModalHeader-D5psNgrf.mjs";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"./prepareFundingModalData-CRrWM52E.mjs";import"eventemitter3";import"viem/utils";import"./getPublicClient-A9RSftUZ.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"@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";const m={component:()=>{let{setWalletConnectionStatus:m,closePrivyModal:p,inProgressAuthFlowRef:u}=n(),{data:d,navigate:C}=c(),W=r(),j=l(),w=d?.externalConnectWallet?.description,h=t(d?.externalConnectWallet?.walletList??W.appearance.walletList),E=t(d?.externalConnectWallet?.walletChainType??W.appearance.walletChainType),f=h.current,v=E.current,x="link"===u.current?void 0:()=>C("LandingScreen");/*#__PURE__*/return e(s,{walletList:f,walletChainType:v,onClose:p,onConnect:o((({connector:e,wallet:t})=>{j("connectWallet","onSuccess",{wallet:t}),m({status:"connected",connectedWallet:t,connector:e,connectError:null,connectRetry:()=>null}),C("ConnectionStatusScreen",!d?.externalConnectWallet?.preSelectedWalletId)}),[m,C,d?.login?.disableSignup,d?.externalConnectWallet?.preSelectedWalletId]),onConnectError:e=>{e instanceof a?(console.warn(e.cause?e.cause:e.message),j("connectWallet","onError",e.privyErrorCode||i.GENERIC_CONNECT_WALLET_ERROR)):(console.warn(e),j("connectWallet","onError",i.UNKNOWN_CONNECT_WALLET_ERROR))},onBack:x,customDescription:w||"",preSelectedWalletId:d?.externalConnectWallet?.preSelectedWalletId,app:W})},isUnauthenticatedScreem:!0};export{m as AuthenticateWithWalletScreen,m as default};
@@ -1,2 +1,2 @@
1
- import{jsxs as e,Fragment as t,jsx as a}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as r,useEffect as n}from"react";import{createWalletClient as o,custom as s,publicActions as d,createPublicClient as c,http as m,formatUnits as l}from"viem";import{addToDefaultChains as u}from"@privy-io/js-sdk-core";import{b as p,c as h,R as g}from"./Layouts-BlFm53ED.mjs";import{B as f}from"./ModalHeader-B32Zin0a.mjs";import{C as v}from"./ScreenHeader-CHmc4-Lu.mjs";import{t as j}from"./FundWalletMethodHeader-SJUeDFRm.mjs";import{N as I}from"./index-Dq_xe9dz.mjs";import{u as w,t as y}from"./context-BuN0M_vH.mjs";import{u as T,a as C,b}from"./internal-context-e-Eni5bG.mjs";import{Q as S,D as N}from"./useActiveWallet-BY2wKTVp.mjs";import{a as k}from"./get-is-unified-wallet-DF10lirM.mjs";import{u as E}from"./useGetTokenPrice-B4b3Y3ZV.mjs";import{u as x}from"./useWallets-DTjrHNDw.mjs";import{O as A}from"./analytics-mkkvFRju.mjs";import{g as F,t as B,a as L,b as U,c as P,u as M}from"./reservoir-kvLjIrEo.mjs";import{w as W}from"./index-B2ZHk27q.mjs";import{g as H}from"./getChainName-DjpPdUSc.mjs";import{g as R,a as q}from"./transaction-CnfuREWo.mjs";import{g as D,B as O}from"./BridgeNetworkSelectionView-M-oH2oBz.mjs";import{a as $}from"./getPublicClient-A9RSftUZ.mjs";import{T as _}from"./TransferOrBridgeLoadingScreen-DTNFXZqE.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-BHP1zZ9a.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-DQKLhXbj.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"./getFormattedUsdFromLamports-B6EqSEho.mjs";import"./getErc20Balance-CaKjNAs9.mjs";import"./Row-C9vrS4Zi.mjs";import"./ErrorMessage-D8VaAP5m.mjs";import"./Value-tcJV9e0L.mjs";import"./LoadingSkeleton-U6-3yFwI.mjs";import"./Subtitle-CV-2yKE4.mjs";import"./Title-BnzYV3Is.mjs";import"@heroicons/react/24/outline/WalletIcon";import"./Chip-D2-wZOHJ.mjs";import"./NetworkIcon-B48ilzF8.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"./shared-FM0rljBt.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"./formatErc20TokenAmount-BuPk9xcy.mjs";import"./ethers-CJEkGodq.mjs";import"./styles-Bz8FxEx_.mjs";import"./LinkPasskeyScreen-DIg97p-E.mjs";import"lucide-react";import"./TodoList-CgrU7uwu.mjs";import"./ScreenLayout-DptX1e0c.mjs";import"./Screen-DHkF35VN.mjs";import"./InjectedWalletIcon-DLcYOGDj.mjs";import"./Address-DCNT9qfI.mjs";const Q={component:()=>{let Q=w(),{rpcConfig:V,appId:G,closePrivyModal:z,createAnalyticsEvent:J}=T(),{navigate:X,setModalData:Y,data:K}=k(),Z=w(),{wallets:ee}=x(),[te,ae]=r(null),[ie,re]=r(null),[ne,oe]=r([]),[se,de]=r(0),[ce,me]=r(!1),[le,ue]=r(!1),[pe,he]=r(!1),[ge,fe]=r(!1),[ve,je]=r(),[Ie,we]=r();if(!K?.funding||"solana"!==K.funding.chainType)throw Error("Invalid funding data");let{address:ye,chain:Te,connectedWallet:Ce}=K.funding,[be,Se]=r(K.funding.amount),Ne=("ethereum"===Ce?.type?Ce:void 0)??ee[0],ke=S(Ne?.walletClientType||"unknown"),Ee=ke?.name||"wallet",[xe,Ae]=r(null);n((()=>{(async()=>{if(!Ne)return;let e=await Ne.getEthereumProvider();Ae(o({account:Ne.address,transport:s(e)}).extend(d))})().catch(console.error)}),[Ne]);let[Fe,Be]=r(0n),Le=R(Fe);n((()=>{let e=Q.solanaRpcs[Te];e?W({rpc:e.rpc,address:ye}).then((e=>Be(BigInt(e)))).catch(console.error):console.warn("Unable to load solana rpc, skipping balance")}),[]);let[Ue,Pe]=r(),{tokenPrice:Me}=E("solana"),{fundingAmountInBaseUnit:We,fundingAmountInUsd:He}=q({amount:be,fee:0n,tokenPrice:Me,isUsdc:K.funding.isUSDC});if(n((()=>{(async()=>{if(!xe||!Ne)return;let e=["solana:testnet","solana:devnet"].includes(Te);e&&console.warn("Solana testnets are not supported for bridging");let t=u(Z.chains).filter((({testnet:t})=>!!t===e)),a=(await D({chains:t,address:Ne.address,appId:G,rpcConfig:V})).filter((e=>e.balance>0n));if(a.length<1)return void ae(new C(`Wallet ${N(Ne.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE));a.sort(((e,t)=>Number(t.balance-e.balance)));let i=(await Promise.allSettled(a.map((async e=>({...e,quote:await F({isTestnet:!1,input:B({appId:G,amount:We.toString(),user:Ne.address,recipient:ye,destinationChainId:U,destinationCurrency:L,originChainId:e.chain.id})})}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(i.length<1)return void ae(new C(`Unable to fetch quotes for bridging. Wallet ${N(Ne.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE));let r=i.map((({quote:e,balance:t,chain:a})=>({bridgeTx:P(e),balance:t,chain:a,isErc20Quote:!1}))).filter((({bridgeTx:e})=>!!e));if(r.length>1)return void oe(r);let n=r.at(0);n?(ue(!0),Pe({data:n.bridgeTx.data,to:n.bridgeTx.to,value:n.bridgeTx.value,chain:n.chain})):ae(new C(`Unable to select bridge option from quotes. Wallet ${N(Ne.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE))})().catch(console.error)}),[xe]),n((()=>{(async()=>{let e,t;if(!xe||!Ne||ce||pe||!Ue)return;me(!0);let a=c({chain:Ue.chain,transport:m($(Ue.chain,V,G))});try{e=await a.prepareTransactionRequest({account:Ne.address,to:Ue.to,chain:Ue.chain,data:Ue.data,value:BigInt(Ue.value??0)})}catch(e){console.error(e),ne.length>1&&re(e.shortMessage??"Something went wrong")}if(e){me(!1),he(!0);try{await xe.switchChain({id:Ue.chain.id})}catch(e){await xe.addChain({chain:Ue.chain}),await xe.switchChain({id:Ue.chain.id})}try{t=await xe.sendTransaction(e)}catch(e){console.error(e),"TransactionExecutionError"===e.name&&(ne.length<1?ae(new C(e.shortMessage,void 0,b.TRANSACTION_FAILURE)):re(e.shortMessage??"Something went wrong"))}if(t)return await xe.waitForTransactionReceipt({hash:t}),le?(we("pending"),void je(t)):(he(!1),fe(!0),void J({eventName:A,payload:{provider:"external",status:"success",txHash:t,address:Ne.address,chainId:Ue.chain.id,chainType:"ethereum",value:Ue.value?l(BigInt(Ue.value),18):void 0,token:"ETH",destination:ye,destinationClusterName:"mainnet-beta",destinationChainType:"solana",destinationValue:l(We,9),destinationToken:"SOL"}}));he(!1)}else me(!1)})().catch(console.error)}),[xe,Ue]),M({transactionHash:ve,isTestnet:!1,bridgingStatus:Ie,setBridgingStatus:we,onSuccess({transactionHash:e}){ue(!1),fe(!0),J({eventName:A,payload:{provider:"external",status:"success",txHash:e,address:Ne?.address,chainId:Ue?.chain.id,chainType:"ethereum",value:Ue?.value?l(BigInt(Ue.value),18):void 0,token:"ETH",destination:ye,destinationClusterName:"mainnet-beta",destinationChainType:"solana",destinationValue:l(We,9),destinationToken:"SOL"}})},onFailure({error:e}){ue(!1),ae(e)}}),n((()=>{te&&(Y({funding:K?.funding,solanaFundingData:K?.solanaFundingData,sendTransaction:K?.sendTransaction,errorModalData:{error:te,previousScreen:"TransferFromWalletScreen"}}),X("ErrorScreen",!1))}),[te]),n((()=>{if(!ge)return;let e=setTimeout(z,y);return()=>clearTimeout(e)}),[ge]),ge/*#__PURE__*/)return e(t,{children:[/*#__PURE__*/a(j,{}),/*#__PURE__*/a(p,{}),/*#__PURE__*/e(h,{children:[/*#__PURE__*/a(i,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/a(v,{title:"Success!",description:`You’ve successfully added ${be} SOL to your ${Z.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/a(g,{}),/*#__PURE__*/a(f,{})]});let Re=ne[se];return ne.length>1&&Re?/*#__PURE__*/a(O,{displayName:Ee,configuredFundingChain:Te,formattedBalance:Le,fundingAmount:be,fundingCurrency:"SOL",fundingAmountInUsd:He,options:ne,selectedOption:Re,isPreparing:ce,isSubmitting:pe,addressToFund:ye,fundingWalletAddress:Ne?.address||"",errorMessage:ie,onSubmit:()=>{K.funding?.amount!==be?async function(){if(Ne&&Re)try{let e=await F({isTestnet:!1,input:B({appId:G,amount:We.toString(),user:Ne.address,recipient:ye,destinationChainId:U,destinationCurrency:L,originChainId:Re.chain.id})}),t=P(e);if(!t)throw Error("Invalid transaction request");ue(!0),Pe({data:t.data,to:t.to,value:t.value,chain:Re.chain})}catch(e){console.error(e),ae(new C("Unable to fetch quotes for bridging",e,b.INSUFFICIENT_BALANCE))}}().catch(console.error):Pe({to:Re.bridgeTx.to,data:Re.bridgeTx.data,value:Re.bridgeTx.value,chain:Re.chain})},onSelect:e=>{e!==se&&(re(null),de(e))},onAmountChange:Se}):pe&&Ne?/*#__PURE__*/a(_,{walletClientType:Ne?.walletClientType||"unknown",displayName:Ee,addressToFund:ye,isBridging:le,isErc20Flow:!1,chainId:"solana",chainName:H(Te),totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
1
+ import{jsxs as e,Fragment as t,jsx as a}from"react/jsx-runtime";import i from"@heroicons/react/24/outline/CheckCircleIcon";import{useState as r,useEffect as n}from"react";import{createWalletClient as o,custom as s,publicActions as d,createPublicClient as c,http as m,formatUnits as l}from"viem";import{addToDefaultChains as u}from"@privy-io/js-sdk-core";import{b as p,c as h,R as g}from"./Layouts-BlFm53ED.mjs";import{B as f}from"./ModalHeader-D5psNgrf.mjs";import{C as v}from"./ScreenHeader-CHmc4-Lu.mjs";import{t as j}from"./FundWalletMethodHeader-CI5afzwL.mjs";import{N as I}from"./index-Dq_xe9dz.mjs";import{u as w,t as y}from"./context-Bu4xmqpC.mjs";import{u as T,a as C,b}from"./internal-context-e-Eni5bG.mjs";import{Q as S,D as N}from"./useActiveWallet-RUYo4pXO.mjs";import{a as k}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{u as E}from"./useGetTokenPrice-C1-pGMgN.mjs";import{u as x}from"./useWallets-BkIu5vyx.mjs";import{O as A}from"./analytics-mkkvFRju.mjs";import{g as F,t as B,a as L,b as U,c as P,u as M}from"./reservoir-kvLjIrEo.mjs";import{w as W}from"./index-ygZBlWlm.mjs";import{g as H}from"./getChainName-DjpPdUSc.mjs";import{g as R,a as q}from"./transaction-CnfuREWo.mjs";import{g as D,B as O}from"./BridgeNetworkSelectionView-T2-4Tr4k.mjs";import{a as $}from"./getPublicClient-A9RSftUZ.mjs";import{T as _}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"./getFormattedUsdFromLamports-B6EqSEho.mjs";import"./getErc20Balance-CaKjNAs9.mjs";import"./Row-C9vrS4Zi.mjs";import"./ErrorMessage-D8VaAP5m.mjs";import"./Value-tcJV9e0L.mjs";import"./LoadingSkeleton-U6-3yFwI.mjs";import"./Subtitle-CV-2yKE4.mjs";import"./Title-BnzYV3Is.mjs";import"@heroicons/react/24/outline/WalletIcon";import"./Chip-D2-wZOHJ.mjs";import"./NetworkIcon-B48ilzF8.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"./shared-FM0rljBt.mjs";import"@heroicons/react/24/outline/ChevronDownIcon";import"./formatErc20TokenAmount-BuPk9xcy.mjs";import"./ethers-TpFbevgv.mjs";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 Q={component:()=>{let Q=w(),{rpcConfig:V,appId:G,closePrivyModal:z,createAnalyticsEvent:J}=T(),{navigate:X,setModalData:Y,data:K}=k(),Z=w(),{wallets:ee}=x(),[te,ae]=r(null),[ie,re]=r(null),[ne,oe]=r([]),[se,de]=r(0),[ce,me]=r(!1),[le,ue]=r(!1),[pe,he]=r(!1),[ge,fe]=r(!1),[ve,je]=r(),[Ie,we]=r();if(!K?.funding||"solana"!==K.funding.chainType)throw Error("Invalid funding data");let{address:ye,chain:Te,connectedWallet:Ce}=K.funding,[be,Se]=r(K.funding.amount),Ne=("ethereum"===Ce?.type?Ce:void 0)??ee[0],ke=S(Ne?.walletClientType||"unknown"),Ee=ke?.name||"wallet",[xe,Ae]=r(null);n((()=>{(async()=>{if(!Ne)return;let e=await Ne.getEthereumProvider();Ae(o({account:Ne.address,transport:s(e)}).extend(d))})().catch(console.error)}),[Ne]);let[Fe,Be]=r(0n),Le=R(Fe);n((()=>{let e=Q.solanaRpcs[Te];e?W({rpc:e.rpc,address:ye}).then((e=>Be(BigInt(e)))).catch(console.error):console.warn("Unable to load solana rpc, skipping balance")}),[]);let[Ue,Pe]=r(),{tokenPrice:Me}=E("solana"),{fundingAmountInBaseUnit:We,fundingAmountInUsd:He}=q({amount:be,fee:0n,tokenPrice:Me,isUsdc:K.funding.isUSDC});if(n((()=>{(async()=>{if(!xe||!Ne)return;let e=["solana:testnet","solana:devnet"].includes(Te);e&&console.warn("Solana testnets are not supported for bridging");let t=u(Z.chains).filter((({testnet:t})=>!!t===e)),a=(await D({chains:t,address:Ne.address,appId:G,rpcConfig:V})).filter((e=>e.balance>0n));if(a.length<1)return void ae(new C(`Wallet ${N(Ne.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE));a.sort(((e,t)=>Number(t.balance-e.balance)));let i=(await Promise.allSettled(a.map((async e=>({...e,quote:await F({isTestnet:!1,input:B({appId:G,amount:We.toString(),user:Ne.address,recipient:ye,destinationChainId:U,destinationCurrency:L,originChainId:e.chain.id})})}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(i.length<1)return void ae(new C(`Unable to fetch quotes for bridging. Wallet ${N(Ne.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE));let r=i.map((({quote:e,balance:t,chain:a})=>({bridgeTx:P(e),balance:t,chain:a,isErc20Quote:!1}))).filter((({bridgeTx:e})=>!!e));if(r.length>1)return void oe(r);let n=r.at(0);n?(ue(!0),Pe({data:n.bridgeTx.data,to:n.bridgeTx.to,value:n.bridgeTx.value,chain:n.chain})):ae(new C(`Unable to select bridge option from quotes. Wallet ${N(Ne.address)} does not have enough funds.`,void 0,b.INSUFFICIENT_BALANCE))})().catch(console.error)}),[xe]),n((()=>{(async()=>{let e,t;if(!xe||!Ne||ce||pe||!Ue)return;me(!0);let a=c({chain:Ue.chain,transport:m($(Ue.chain,V,G))});try{e=await a.prepareTransactionRequest({account:Ne.address,to:Ue.to,chain:Ue.chain,data:Ue.data,value:BigInt(Ue.value??0)})}catch(e){console.error(e),ne.length>1&&re(e.shortMessage??"Something went wrong")}if(e){me(!1),he(!0);try{await xe.switchChain({id:Ue.chain.id})}catch(e){await xe.addChain({chain:Ue.chain}),await xe.switchChain({id:Ue.chain.id})}try{t=await xe.sendTransaction(e)}catch(e){console.error(e),"TransactionExecutionError"===e.name&&(ne.length<1?ae(new C(e.shortMessage,void 0,b.TRANSACTION_FAILURE)):re(e.shortMessage??"Something went wrong"))}if(t)return await xe.waitForTransactionReceipt({hash:t}),le?(we("pending"),void je(t)):(he(!1),fe(!0),void J({eventName:A,payload:{provider:"external",status:"success",txHash:t,address:Ne.address,chainId:Ue.chain.id,chainType:"ethereum",value:Ue.value?l(BigInt(Ue.value),18):void 0,token:"ETH",destination:ye,destinationClusterName:"mainnet-beta",destinationChainType:"solana",destinationValue:l(We,9),destinationToken:"SOL"}}));he(!1)}else me(!1)})().catch(console.error)}),[xe,Ue]),M({transactionHash:ve,isTestnet:!1,bridgingStatus:Ie,setBridgingStatus:we,onSuccess({transactionHash:e}){ue(!1),fe(!0),J({eventName:A,payload:{provider:"external",status:"success",txHash:e,address:Ne?.address,chainId:Ue?.chain.id,chainType:"ethereum",value:Ue?.value?l(BigInt(Ue.value),18):void 0,token:"ETH",destination:ye,destinationClusterName:"mainnet-beta",destinationChainType:"solana",destinationValue:l(We,9),destinationToken:"SOL"}})},onFailure({error:e}){ue(!1),ae(e)}}),n((()=>{te&&(Y({funding:K?.funding,solanaFundingData:K?.solanaFundingData,sendTransaction:K?.sendTransaction,errorModalData:{error:te,previousScreen:"TransferFromWalletScreen"}}),X("ErrorScreen",!1))}),[te]),n((()=>{if(!ge)return;let e=setTimeout(z,y);return()=>clearTimeout(e)}),[ge]),ge/*#__PURE__*/)return e(t,{children:[/*#__PURE__*/a(j,{}),/*#__PURE__*/a(p,{}),/*#__PURE__*/e(h,{children:[/*#__PURE__*/a(i,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/a(v,{title:"Success!",description:`You’ve successfully added ${be} SOL to your ${Z.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/a(g,{}),/*#__PURE__*/a(f,{})]});let Re=ne[se];return ne.length>1&&Re?/*#__PURE__*/a(O,{displayName:Ee,configuredFundingChain:Te,formattedBalance:Le,fundingAmount:be,fundingCurrency:"SOL",fundingAmountInUsd:He,options:ne,selectedOption:Re,isPreparing:ce,isSubmitting:pe,addressToFund:ye,fundingWalletAddress:Ne?.address||"",errorMessage:ie,onSubmit:()=>{K.funding?.amount!==be?async function(){if(Ne&&Re)try{let e=await F({isTestnet:!1,input:B({appId:G,amount:We.toString(),user:Ne.address,recipient:ye,destinationChainId:U,destinationCurrency:L,originChainId:Re.chain.id})}),t=P(e);if(!t)throw Error("Invalid transaction request");ue(!0),Pe({data:t.data,to:t.to,value:t.value,chain:Re.chain})}catch(e){console.error(e),ae(new C("Unable to fetch quotes for bridging",e,b.INSUFFICIENT_BALANCE))}}().catch(console.error):Pe({to:Re.bridgeTx.to,data:Re.bridgeTx.data,value:Re.bridgeTx.value,chain:Re.chain})},onSelect:e=>{e!==se&&(re(null),de(e))},onAmountChange:Se}):pe&&Ne?/*#__PURE__*/a(_,{walletClientType:Ne?.walletClientType||"unknown",displayName:Ee,addressToFund:ye,isBridging:le,isErc20Flow:!1,chainId:"solana",chainName:H(Te),totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
2
2
  /*#__PURE__*/e(t,{children:[/*#__PURE__*/a(j,{}),/*#__PURE__*/a(I,{}),/*#__PURE__*/a("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/a(f,{})]})}};export{Q as AwaitingEvmToSolBridgingScreen,Q as default};
@@ -1,2 +1,2 @@
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-B32Zin0a.mjs";import{C}from"./ScreenHeader-CHmc4-Lu.mjs";import{t as I}from"./FundWalletMethodHeader-SJUeDFRm.mjs";import{N as j}from"./index-Dq_xe9dz.mjs";import{u as T,t as w}from"./context-BuN0M_vH.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-BY2wKTVp.mjs";import{a as x}from"./get-is-unified-wallet-DF10lirM.mjs";import{u as k}from"./useGetTokenPrice-B4b3Y3ZV.mjs";import{u as B}from"./useWallets-DTjrHNDw.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-CJEkGodq.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-B2ZHk27q.mjs";import{g as Q,B as O}from"./BridgeNetworkSelectionView-M-oH2oBz.mjs";import{g as V}from"./getErc20Balance-CaKjNAs9.mjs";import{a as G}from"./getPublicClient-A9RSftUZ.mjs";import{T as z}from"./TransferOrBridgeLoadingScreen-DTNFXZqE.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-BHP1zZ9a.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-DQKLhXbj.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-Bz8FxEx_.mjs";import"./LinkPasskeyScreen-DIg97p-E.mjs";import"lucide-react";import"./TodoList-CgrU7uwu.mjs";import"./ScreenLayout-DptX1e0c.mjs";import"./Screen-DHkF35VN.mjs";import"./InjectedWalletIcon-DLcYOGDj.mjs";import"./Address-DCNT9qfI.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}):
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
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,4 +1,4 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import o from"@heroicons/react/20/solid/CheckIcon";import t from"@heroicons/react/24/outline/EnvelopeIcon";import i from"@heroicons/react/24/outline/PhoneIcon";import{useState as n,useEffect as a}from"react";import{isMobile as s}from"react-device-detect";import{styled as c}from"styled-components";import{H as l}from"./Layouts-BlFm53ED.mjs";import{L as d}from"./Link-DJ5gq9Di.mjs";import{u as p,q as m}from"./context-BuN0M_vH.mjs";import{u,e as f,b as v,k as h}from"./internal-context-e-Eni5bG.mjs";import{a as y,u as g}from"./get-is-unified-wallet-DF10lirM.mjs";import{s as x}from"./shouldProceedtoEmbeddedWalletCreationFlow-Z89kclWd.mjs";import{S as b}from"./ScreenLayout-DptX1e0c.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"viem";import"./index-B2ZHk27q.mjs";import"uuid";import"jose";import"eventemitter3";import"./useActiveWallet-BY2wKTVp.mjs";import"zustand";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"@coinbase/wallet-sdk";import"@privy-io/ethereum";import"mipd";import"@privy-io/popup";import"./paths-3HW55qZg.mjs";import"./usePrivy-DQKLhXbj.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"./ModalHeader-B32Zin0a.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.mjs";const E=({contactMethod:c,authFlow:p,appName:m="Privy",whatsAppEnabled:u=!1,onBack:f,onCodeSubmit:v,onResend:h,errorMessage:y,success:g=!1,resendCountdown:x=0,onInvalidInput:E,onClearError:w})=>{let[A,T]=n(S);a((()=>{y||T(S)}),[y]);let k=async e=>{e.preventDefault();let r=e.currentTarget.value.replace(" ","");if(""===r)return;if(isNaN(Number(r)))return void E?.("Code should be numeric");w?.();let o=Number(e.currentTarget.name?.charAt(5)),t=[...r||[""]].slice(0,C-o),i=[...A.slice(0,o),...t,...A.slice(o+t.length)];T(i);let n=Math.min(Math.max(o+t.length,0),C-1);if(!isNaN(Number(e.currentTarget.value))){let e=document.querySelector(`input[name=code-${n}]`);e?.focus()}if(i.every((e=>e&&!isNaN(+e)))){let e=document.querySelector(`input[name=code-${n}]`);e?.blur(),await(v?.(i.join("")))}};/*#__PURE__*/return e(b,{title:"Enter confirmation code",subtitle:/*#__PURE__*/r("span","email"===p?{children:["Please check ",/*#__PURE__*/e(R,{children:c})," for an email from privy.io and enter your code below."]}:{children:["Please check ",/*#__PURE__*/e(R,{children:c})," for a",u?" WhatsApp":""," message from ",m," and enter your code below."]}),icon:"email"===p?t:i,onBack:f,showBack:!0,helpText:/*#__PURE__*/r(L,{children:[/*#__PURE__*/r("span",{children:["Didn't get ","email"===p?"an email":"a message","?"]}),x?/*#__PURE__*/r(M,{children:[/*#__PURE__*/e(o,{color:"var(--privy-color-foreground)",strokeWidth:1.33,height:"12px",width:"12px"}),/*#__PURE__*/e("span",{children:"Code sent"})]}):/*#__PURE__*/e(d,{as:"button",size:"sm",onClick:h,children:"Resend code"})]}),children:/*#__PURE__*/e(_,{children:/*#__PURE__*/e(l,{children:/*#__PURE__*/r(I,{children:[/*#__PURE__*/e("div",{children:A.map(((r,o)=>/*#__PURE__*/e("input",{name:`code-${o}`,type:"text",value:A[o],onChange:k,onKeyUp:e=>{"Backspace"===e.key&&(e=>{if(w?.(),T([...A.slice(0,e),"",...A.slice(e+1)]),e>0){let r=document.querySelector(`input[name=code-${e-1}]`);r?.focus()}})(o)},inputMode:"numeric",autoFocus:0===o,pattern:"[0-9]",className:`${g?"success":""} ${y?"fail":""}`,autoComplete:s?"one-time-code":"off"},o)))}),/*#__PURE__*/e(j,{$fail:!!y,$success:g,children:/*#__PURE__*/e("span",{children:"Invalid or expired verification code"===y?"Incorrect code":y||(g?"Success!":"")})})]})})})})};let C=6,S=Array(6).fill("");var w,A,T=((w=T||{})[w.RESET_AFTER_DELAY=0]="RESET_AFTER_DELAY",w[w.CLEAR_ON_NEXT_VALID_INPUT=1]="CLEAR_ON_NEXT_VALID_INPUT",w),k=((A=k||{})[A.EMAIL=0]="EMAIL",A[A.SMS=1]="SMS",A);const N={component:()=>{let{navigate:r,lastScreen:o,navigateBack:t,setModalData:i,onUserCloseViaDialogOrKeybindRef:s}=y(),c=p(),{closePrivyModal:l,resendEmailCode:d,resendSmsCode:b,getAuthMeta:C,loginWithCode:S,updateWallets:w,createAnalyticsEvent:A}=u(),{authenticated:T,logout:k,user:N}=g(),{whatsAppEnabled:_}=p(),[I,j]=n(!1),[L,M]=n(null),[R,D]=n(null),[O,P]=n(0);s.current=()=>null;let W=C()?.email?0:1,U=0===W?C()?.email||"":C()?.phoneNumber||"",F=m-500;a((()=>{if(O){let e=setTimeout((()=>{P(O-1)}),1e3);return()=>clearTimeout(e)}}),[O]),a((()=>{if(T&&I&&N){if(c?.legal.requireUsersAcceptTerms&&!N.hasAcceptedTerms){let e=setTimeout((()=>{r("AffirmativeConsentScreen")}),F);return()=>clearTimeout(e)}if(x(N,c.embeddedWallets)){let e=setTimeout((()=>{i({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),A({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"AwaitingPasswordlessCodeScreen"}}),k()},callAuthOnSuccessOnClose:!0}}),r("EmbeddedWalletOnAccountCreateScreen")}),F);return()=>clearTimeout(e)}{w();let e=setTimeout((()=>l({shouldCallAuthOnSuccess:!0,isSuccess:!0})),m);return()=>clearTimeout(e)}}}),[T,I,N]),a((()=>{if(L&&0===R){let e=setTimeout((()=>{M(null),D(null);let e=document.querySelector("input[name=code-0]");e?.focus()}),1400);return()=>clearTimeout(e)}}),[L,R]);/*#__PURE__*/return e(E,{contactMethod:U,authFlow:0===W?"email":"sms",appName:c?.name,whatsAppEnabled:_,onBack:()=>t(),onCodeSubmit:async e=>{try{await S(e),j(!0)}catch(e){if(e instanceof f&&e.privyErrorCode===v.INVALID_CREDENTIALS)M("Invalid or expired verification code"),D(0);else if(e instanceof f&&e.privyErrorCode===v.CANNOT_LINK_MORE_OF_TYPE)M(e.message);else{if(e instanceof f&&e.privyErrorCode===v.USER_LIMIT_REACHED)return console.error(new h(e).toString()),void r("UserLimitReachedScreen");if(e instanceof f&&e.privyErrorCode===v.USER_DOES_NOT_EXIST)return void r("AccountNotFoundScreen");if(e instanceof f&&e.privyErrorCode===v.LINKED_TO_ANOTHER_USER)return i({errorModalData:{error:e,previousScreen:o??"AwaitingPasswordlessCodeScreen"}}),void r("ErrorScreen",!1);if(e instanceof f&&e.privyErrorCode===v.DISALLOWED_PLUS_EMAIL)return i({inlineError:{error:e}}),void r("ConnectOrCreateScreen",!1);if(e instanceof f&&e.privyErrorCode===v.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return i({accountTransfer:{nonce:e.data?.data?.nonce,account:U,displayName:e.data?.data?.account?.displayName,linkMethod:0===W?"email":"sms",embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress}}),void r("LinkConflictScreen");M("Issue verifying code"),D(0)}}},onResend:async()=>{P(30),0===W?await d():await b()},errorMessage:L||void 0,success:I,resendCountdown:O,onInvalidInput:e=>{M(e),D(1)},onClearError:()=>{1===R&&(M(null),D(null))}})}};let _=c.div`
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import o from"@heroicons/react/20/solid/CheckIcon";import t from"@heroicons/react/24/outline/EnvelopeIcon";import i from"@heroicons/react/24/outline/PhoneIcon";import{useState as n,useEffect as a}from"react";import{isMobile as s}from"react-device-detect";import{styled as c}from"styled-components";import{H as l}from"./Layouts-BlFm53ED.mjs";import{L as d}from"./Link-DJ5gq9Di.mjs";import{u as p,q as m}from"./context-Bu4xmqpC.mjs";import{u,e as f,b as v,k as h}from"./internal-context-e-Eni5bG.mjs";import{a as y,u as g}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{s as x}from"./shouldProceedtoEmbeddedWalletCreationFlow-D0uaMzCB.mjs";import{S as b}from"./ScreenLayout-DIdy7nhJ.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"viem";import"./index-ygZBlWlm.mjs";import"uuid";import"jose";import"eventemitter3";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"./prepareFundingModalData-CRrWM52E.mjs";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-BkIu5vyx.mjs";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"./ModalHeader-D5psNgrf.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-q8npRQhQ.mjs";import"./index-Dq_xe9dz.mjs";const E=({contactMethod:c,authFlow:p,appName:m="Privy",whatsAppEnabled:u=!1,onBack:f,onCodeSubmit:v,onResend:h,errorMessage:y,success:g=!1,resendCountdown:x=0,onInvalidInput:E,onClearError:w})=>{let[A,T]=n(S);a((()=>{y||T(S)}),[y]);let k=async e=>{e.preventDefault();let r=e.currentTarget.value.replace(" ","");if(""===r)return;if(isNaN(Number(r)))return void E?.("Code should be numeric");w?.();let o=Number(e.currentTarget.name?.charAt(5)),t=[...r||[""]].slice(0,C-o),i=[...A.slice(0,o),...t,...A.slice(o+t.length)];T(i);let n=Math.min(Math.max(o+t.length,0),C-1);if(!isNaN(Number(e.currentTarget.value))){let e=document.querySelector(`input[name=code-${n}]`);e?.focus()}if(i.every((e=>e&&!isNaN(+e)))){let e=document.querySelector(`input[name=code-${n}]`);e?.blur(),await(v?.(i.join("")))}};/*#__PURE__*/return e(b,{title:"Enter confirmation code",subtitle:/*#__PURE__*/r("span","email"===p?{children:["Please check ",/*#__PURE__*/e(R,{children:c})," for an email from privy.io and enter your code below."]}:{children:["Please check ",/*#__PURE__*/e(R,{children:c})," for a",u?" WhatsApp":""," message from ",m," and enter your code below."]}),icon:"email"===p?t:i,onBack:f,showBack:!0,helpText:/*#__PURE__*/r(L,{children:[/*#__PURE__*/r("span",{children:["Didn't get ","email"===p?"an email":"a message","?"]}),x?/*#__PURE__*/r(M,{children:[/*#__PURE__*/e(o,{color:"var(--privy-color-foreground)",strokeWidth:1.33,height:"12px",width:"12px"}),/*#__PURE__*/e("span",{children:"Code sent"})]}):/*#__PURE__*/e(d,{as:"button",size:"sm",onClick:h,children:"Resend code"})]}),children:/*#__PURE__*/e(_,{children:/*#__PURE__*/e(l,{children:/*#__PURE__*/r(I,{children:[/*#__PURE__*/e("div",{children:A.map(((r,o)=>/*#__PURE__*/e("input",{name:`code-${o}`,type:"text",value:A[o],onChange:k,onKeyUp:e=>{"Backspace"===e.key&&(e=>{if(w?.(),T([...A.slice(0,e),"",...A.slice(e+1)]),e>0){let r=document.querySelector(`input[name=code-${e-1}]`);r?.focus()}})(o)},inputMode:"numeric",autoFocus:0===o,pattern:"[0-9]",className:`${g?"success":""} ${y?"fail":""}`,autoComplete:s?"one-time-code":"off"},o)))}),/*#__PURE__*/e(j,{$fail:!!y,$success:g,children:/*#__PURE__*/e("span",{children:"Invalid or expired verification code"===y?"Incorrect code":y||(g?"Success!":"")})})]})})})})};let C=6,S=Array(6).fill("");var w,A,T=((w=T||{})[w.RESET_AFTER_DELAY=0]="RESET_AFTER_DELAY",w[w.CLEAR_ON_NEXT_VALID_INPUT=1]="CLEAR_ON_NEXT_VALID_INPUT",w),k=((A=k||{})[A.EMAIL=0]="EMAIL",A[A.SMS=1]="SMS",A);const N={component:()=>{let{navigate:r,lastScreen:o,navigateBack:t,setModalData:i,onUserCloseViaDialogOrKeybindRef:s}=y(),c=p(),{closePrivyModal:l,resendEmailCode:d,resendSmsCode:b,getAuthMeta:C,loginWithCode:S,updateWallets:w,createAnalyticsEvent:A}=u(),{authenticated:T,logout:k,user:N}=g(),{whatsAppEnabled:_}=p(),[I,j]=n(!1),[L,M]=n(null),[R,D]=n(null),[O,P]=n(0);s.current=()=>null;let W=C()?.email?0:1,U=0===W?C()?.email||"":C()?.phoneNumber||"",F=m-500;a((()=>{if(O){let e=setTimeout((()=>{P(O-1)}),1e3);return()=>clearTimeout(e)}}),[O]),a((()=>{if(T&&I&&N){if(c?.legal.requireUsersAcceptTerms&&!N.hasAcceptedTerms){let e=setTimeout((()=>{r("AffirmativeConsentScreen")}),F);return()=>clearTimeout(e)}if(x(N,c.embeddedWallets)){let e=setTimeout((()=>{i({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),A({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"AwaitingPasswordlessCodeScreen"}}),k()},callAuthOnSuccessOnClose:!0}}),r("EmbeddedWalletOnAccountCreateScreen")}),F);return()=>clearTimeout(e)}{w();let e=setTimeout((()=>l({shouldCallAuthOnSuccess:!0,isSuccess:!0})),m);return()=>clearTimeout(e)}}}),[T,I,N]),a((()=>{if(L&&0===R){let e=setTimeout((()=>{M(null),D(null);let e=document.querySelector("input[name=code-0]");e?.focus()}),1400);return()=>clearTimeout(e)}}),[L,R]);/*#__PURE__*/return e(E,{contactMethod:U,authFlow:0===W?"email":"sms",appName:c?.name,whatsAppEnabled:_,onBack:()=>t(),onCodeSubmit:async e=>{try{await S(e),j(!0)}catch(e){if(e instanceof f&&e.privyErrorCode===v.INVALID_CREDENTIALS)M("Invalid or expired verification code"),D(0);else if(e instanceof f&&e.privyErrorCode===v.CANNOT_LINK_MORE_OF_TYPE)M(e.message);else{if(e instanceof f&&e.privyErrorCode===v.USER_LIMIT_REACHED)return console.error(new h(e).toString()),void r("UserLimitReachedScreen");if(e instanceof f&&e.privyErrorCode===v.USER_DOES_NOT_EXIST)return void r("AccountNotFoundScreen");if(e instanceof f&&e.privyErrorCode===v.LINKED_TO_ANOTHER_USER)return i({errorModalData:{error:e,previousScreen:o??"AwaitingPasswordlessCodeScreen"}}),void r("ErrorScreen",!1);if(e instanceof f&&e.privyErrorCode===v.DISALLOWED_PLUS_EMAIL)return i({inlineError:{error:e}}),void r("ConnectOrCreateScreen",!1);if(e instanceof f&&e.privyErrorCode===v.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return i({accountTransfer:{nonce:e.data?.data?.nonce,account:U,displayName:e.data?.data?.account?.displayName,linkMethod:0===W?"email":"sms",embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress}}),void r("LinkConflictScreen");M("Issue verifying code"),D(0)}}},onResend:async()=>{P(30),0===W?await d():await b()},errorMessage:L||void 0,success:I,resendCountdown:O,onInvalidInput:e=>{M(e),D(1)},onClearError:()=>{1===R&&(M(null),D(null))}})}};let _=c.div`
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  align-items: center;
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/CheckCircleIcon";import{useRef as o,useState as a,useMemo as i,useEffect as s}from"react";import{parseEther as c}from"viem";import{ConnectedStandardSolanaWallet as d}from"@privy-io/js-sdk-core";import{b as l,c as m,R as u}from"./Layouts-BlFm53ED.mjs";import{B as p}from"./ModalHeader-B32Zin0a.mjs";import{C as f}from"./ScreenHeader-CHmc4-Lu.mjs";import{t as h}from"./FundWalletMethodHeader-SJUeDFRm.mjs";import{N as g}from"./index-Dq_xe9dz.mjs";import{u as v,t as w}from"./context-BuN0M_vH.mjs";import{u as I,a as C,b as y}from"./internal-context-e-Eni5bG.mjs";import{Q as T,a6 as S}from"./useActiveWallet-BY2wKTVp.mjs";import{a as j}from"./get-is-unified-wallet-DF10lirM.mjs";import{O as A}from"./analytics-mkkvFRju.mjs";import{g as b,t as N,d as F,a as U,b as E,u as k}from"./reservoir-kvLjIrEo.mjs";import{c as x,S as W}from"./usePrivy-DQKLhXbj.mjs";import{T as R}from"./TransferOrBridgeLoadingScreen-DTNFXZqE.mjs";import{t as L}from"./prepareFundingModalData-BHP1zZ9a.mjs";import"styled-components";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"tinycolor2";import"ofetch";import"zustand";import"react-device-detect";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"./InjectedWalletIcon-DLcYOGDj.mjs";import"@heroicons/react/24/outline/WalletIcon";import"./Row-C9vrS4Zi.mjs";import"./Value-tcJV9e0L.mjs";import"./LoadingSkeleton-U6-3yFwI.mjs";import"./Address-DCNT9qfI.mjs";import"lucide-react";import"./NetworkIcon-B48ilzF8.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"eventemitter3";const D={component:function(){let D=v(),{closePrivyModal:$,createAnalyticsEvent:B,connectors:M}=I(),{navigate:P,setModalData:H,data:O}=j(),_=v(),q=o(!1),Q=x(),[V,z]=a(!1),[G,X]=a(!1),[Y,J]=a(null),[K,Z]=a(),[ee,te]=a();if(!O?.funding||"ethereum"!==O.funding.chainType)throw Error("Invalid funding data");let{amount:ne,connectedWallet:re,chain:oe,solanaChain:ae,isUSDC:ie}=O.funding,se=O.funding.address,ce=O.funding.erc20Address,de=O.funding.isUSDC?"USDC":oe.nativeCurrency.symbol,le=i((()=>"solana"===re?.type?re.provider:function({connectors:e,connectedWalletAddress:t}){let n=e.find((e=>"solana"===e.chainType&&e.wallets.some((e=>e.address===t)))),r=n?.wallet.accounts.find((e=>e.address===t));if(!n||!r)throw new C("Unable to find source wallet connector");return new d({wallet:n.wallet,account:r})}({connectors:M,connectedWalletAddress:re?.address||""})),[re,M]),me=i((()=>{let e=Q(W);if(!e)throw new C("Unable to load solana plugin");let t=D.solanaRpcs["solana:mainnet"];if(!t)throw new C("Unable to load mainnet RPC");return e.getSolanaRpcClient({rpc:t.rpc,rpcSubscriptions:t.rpcSubscriptions,chain:"solana:mainnet",blockExplorerUrl:t.blockExplorerUrl??"https://explorer.solana.com"})}),[]),ue=T(L(le?.standardWallet.name||"unknown")),pe=ue?.name||"wallet";return s((()=>{(async function(){if(!le||!oe||q.current)return;let e=Q(W);if(!e)return void J(new C("Unable to solana plugin"));q.current=!0,oe?.testnet&&console.warn("Solana testnets are not supported for bridging");let t=ie?1e6*parseFloat(ne):c(ne),n=await b({isTestnet:!!oe.testnet,input:N({appId:_.id,amount:t.toString(),user:le.address,recipient:se,destinationChainId:oe.id,originChainId:E,originCurrency:ie?F:U,destinationCurrency:ie?ce:void 0})}).catch(console.error);if(!n)return void J(new C(`Unable to fetch quotes for bridging. Wallet ${S(le.address)} does not have enough funds.`,void 0,y.INSUFFICIENT_BALANCE));let r=await e.createTransactionFromRelayQuote({quote:n,source:le.address,solanaClient:me});if(r)try{z(!0);let t=await e.simulateTransaction({solanaClient:me,tx:r});if(t.hasError)return t.hasFunds?(console.error("Transaction failed:",t.error),void J(new C("Something went wrong",void 0,y.TRANSACTION_FAILURE))):void J(new C(`Wallet ${S(le?.address)} does not have enough funds. ${n.details.currencyIn.amountFormatted} ${de} are needed to complete the transaction.`,void 0,y.INSUFFICIENT_BALANCE));let{signature:o}=await le.signAndSendTransaction({chain:"solana:mainnet",transaction:r}),a=e.getAddressFromBuffer(o);Z(a),te("pending")}catch(e){if(console.error(e),/user rejected the request/gi.test(e.message||""))return void J(new C("Transaction was rejected by the user",void 0,y.TRANSACTION_FAILURE));J(new C("Something went wrong",void 0,y.TRANSACTION_FAILURE))}else J(new C(`Unable to select bridge option from quotes. Wallet ${S(le.address)} does not have enough funds.`,void 0,y.INSUFFICIENT_BALANCE))})().catch(console.error)}),[]),k({transactionHash:K,isTestnet:!1,bridgingStatus:ee,setBridgingStatus:te,onSuccess({transactionHash:e}){z(!1),X(!0),B({eventName:A,payload:{provider:"external",status:"success",txHash:e,address:le.address,chainType:"solana",clusterName:ae,token:"SOL",destinationAddress:se,destinationChainId:oe.id,destinationChainType:"ethereum",destinationValue:ne,destinationToken:ie?"USDC":"ETH"}})},onFailure({error:e}){z(!1),J(e)}}),s((()=>{if(!G)return;let e=setTimeout($,w);return()=>clearTimeout(e)}),[G]),s((()=>{Y&&(H({funding:O?.funding,solanaFundingData:O?.solanaFundingData,sendTransaction:O?.sendTransaction,errorModalData:{error:Y,previousScreen:"TransferFromWalletScreen"}}),P("ErrorScreen",!1))}),[Y]),G?/*#__PURE__*/e(n,{children:[/*#__PURE__*/t(h,{}),/*#__PURE__*/t(l,{}),/*#__PURE__*/e(m,{children:[/*#__PURE__*/t(r,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/t(f,{title:"Success!",description:`You’ve successfully added ${ne} ${de} to your ${_.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/t(u,{}),/*#__PURE__*/t(p,{})]}):V&&le?/*#__PURE__*/t(R,{walletClientType:L(le?.standardWallet.name||"unknown"),displayName:pe,addressToFund:se,isBridging:V,isErc20Flow:!1,chainId:oe.id,chainName:oe.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
1
+ import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import r from"@heroicons/react/24/outline/CheckCircleIcon";import{useRef as o,useState as a,useMemo as i,useEffect as s}from"react";import{parseEther as c}from"viem";import{ConnectedStandardSolanaWallet as d}from"@privy-io/js-sdk-core";import{b as l,c as m,R as u}from"./Layouts-BlFm53ED.mjs";import{B as p}from"./ModalHeader-D5psNgrf.mjs";import{C as f}from"./ScreenHeader-CHmc4-Lu.mjs";import{t as h}from"./FundWalletMethodHeader-CI5afzwL.mjs";import{N as g}from"./index-Dq_xe9dz.mjs";import{u as v,t as w}from"./context-Bu4xmqpC.mjs";import{u as I,a as C,b as y}from"./internal-context-e-Eni5bG.mjs";import{Q as T,a6 as S}from"./useActiveWallet-RUYo4pXO.mjs";import{a as j}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{O as A}from"./analytics-mkkvFRju.mjs";import{g as b,t as N,d as F,a as U,b as E,u as k}from"./reservoir-kvLjIrEo.mjs";import{c as x,S as W}from"./usePrivy-Bn7q4pcu.mjs";import{T as R}from"./TransferOrBridgeLoadingScreen-BZTN__SI.mjs";import{t as L}from"./prepareFundingModalData-CRrWM52E.mjs";import"styled-components";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"tinycolor2";import"ofetch";import"zustand";import"react-device-detect";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-BkIu5vyx.mjs";import"./InjectedWalletIcon-DLcYOGDj.mjs";import"@heroicons/react/24/outline/WalletIcon";import"./Row-C9vrS4Zi.mjs";import"./Value-tcJV9e0L.mjs";import"./LoadingSkeleton-U6-3yFwI.mjs";import"./Address-BGlhcEcA.mjs";import"lucide-react";import"./NetworkIcon-B48ilzF8.mjs";import"@heroicons/react/24/outline/GlobeAltIcon";import"eventemitter3";const D={component:function(){let D=v(),{closePrivyModal:$,createAnalyticsEvent:B,connectors:M}=I(),{navigate:P,setModalData:H,data:O}=j(),_=v(),q=o(!1),Q=x(),[V,z]=a(!1),[G,X]=a(!1),[Y,J]=a(null),[K,Z]=a(),[ee,te]=a();if(!O?.funding||"ethereum"!==O.funding.chainType)throw Error("Invalid funding data");let{amount:ne,connectedWallet:re,chain:oe,solanaChain:ae,isUSDC:ie}=O.funding,se=O.funding.address,ce=O.funding.erc20Address,de=O.funding.isUSDC?"USDC":oe.nativeCurrency.symbol,le=i((()=>"solana"===re?.type?re.provider:function({connectors:e,connectedWalletAddress:t}){let n=e.find((e=>"solana"===e.chainType&&e.wallets.some((e=>e.address===t)))),r=n?.wallet.accounts.find((e=>e.address===t));if(!n||!r)throw new C("Unable to find source wallet connector");return new d({wallet:n.wallet,account:r})}({connectors:M,connectedWalletAddress:re?.address||""})),[re,M]),me=i((()=>{let e=Q(W);if(!e)throw new C("Unable to load solana plugin");let t=D.solanaRpcs["solana:mainnet"];if(!t)throw new C("Unable to load mainnet RPC");return e.getSolanaRpcClient({rpc:t.rpc,rpcSubscriptions:t.rpcSubscriptions,chain:"solana:mainnet",blockExplorerUrl:t.blockExplorerUrl??"https://explorer.solana.com"})}),[]),ue=T(L(le?.standardWallet.name||"unknown")),pe=ue?.name||"wallet";return s((()=>{(async function(){if(!le||!oe||q.current)return;let e=Q(W);if(!e)return void J(new C("Unable to solana plugin"));q.current=!0,oe?.testnet&&console.warn("Solana testnets are not supported for bridging");let t=ie?1e6*parseFloat(ne):c(ne),n=await b({isTestnet:!!oe.testnet,input:N({appId:_.id,amount:t.toString(),user:le.address,recipient:se,destinationChainId:oe.id,originChainId:E,originCurrency:ie?F:U,destinationCurrency:ie?ce:void 0})}).catch(console.error);if(!n)return void J(new C(`Unable to fetch quotes for bridging. Wallet ${S(le.address)} does not have enough funds.`,void 0,y.INSUFFICIENT_BALANCE));let r=await e.createTransactionFromRelayQuote({quote:n,source:le.address,solanaClient:me});if(r)try{z(!0);let t=await e.simulateTransaction({solanaClient:me,tx:r});if(t.hasError)return t.hasFunds?(console.error("Transaction failed:",t.error),void J(new C("Something went wrong",void 0,y.TRANSACTION_FAILURE))):void J(new C(`Wallet ${S(le?.address)} does not have enough funds. ${n.details.currencyIn.amountFormatted} ${de} are needed to complete the transaction.`,void 0,y.INSUFFICIENT_BALANCE));let{signature:o}=await le.signAndSendTransaction({chain:"solana:mainnet",transaction:r}),a=e.getAddressFromBuffer(o);Z(a),te("pending")}catch(e){if(console.error(e),/user rejected the request/gi.test(e.message||""))return void J(new C("Transaction was rejected by the user",void 0,y.TRANSACTION_FAILURE));J(new C("Something went wrong",void 0,y.TRANSACTION_FAILURE))}else J(new C(`Unable to select bridge option from quotes. Wallet ${S(le.address)} does not have enough funds.`,void 0,y.INSUFFICIENT_BALANCE))})().catch(console.error)}),[]),k({transactionHash:K,isTestnet:!1,bridgingStatus:ee,setBridgingStatus:te,onSuccess({transactionHash:e}){z(!1),X(!0),B({eventName:A,payload:{provider:"external",status:"success",txHash:e,address:le.address,chainType:"solana",clusterName:ae,token:"SOL",destinationAddress:se,destinationChainId:oe.id,destinationChainType:"ethereum",destinationValue:ne,destinationToken:ie?"USDC":"ETH"}})},onFailure({error:e}){z(!1),J(e)}}),s((()=>{if(!G)return;let e=setTimeout($,w);return()=>clearTimeout(e)}),[G]),s((()=>{Y&&(H({funding:O?.funding,solanaFundingData:O?.solanaFundingData,sendTransaction:O?.sendTransaction,errorModalData:{error:Y,previousScreen:"TransferFromWalletScreen"}}),P("ErrorScreen",!1))}),[Y]),G?/*#__PURE__*/e(n,{children:[/*#__PURE__*/t(h,{}),/*#__PURE__*/t(l,{}),/*#__PURE__*/e(m,{children:[/*#__PURE__*/t(r,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/t(f,{title:"Success!",description:`You’ve successfully added ${ne} ${de} to your ${_.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/t(u,{}),/*#__PURE__*/t(p,{})]}):V&&le?/*#__PURE__*/t(R,{walletClientType:L(le?.standardWallet.name||"unknown"),displayName:pe,addressToFund:se,isBridging:V,isErc20Flow:!1,chainId:oe.id,chainName:oe.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
2
2
  /*#__PURE__*/e(n,{children:[/*#__PURE__*/t(h,{}),/*#__PURE__*/t(g,{}),/*#__PURE__*/t("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/t(p,{})]})}};export{D as AwaitingSolToEvmBridgingScreen,D as default};
@@ -1,4 +1,4 @@
1
- import{createPublicClient as e,http as r}from"viem";import{UsdcAddressMap as a,formatWalletAddress as o}from"@privy-io/js-sdk-core";import{a as i}from"./getPublicClient-A9RSftUZ.mjs";import{g as n}from"./getErc20Balance-CaKjNAs9.mjs";import{jsx as t,jsxs as s,Fragment as c}from"react/jsx-runtime";import{useRef as l}from"react";import{c as m,B as d}from"./ModalHeader-B32Zin0a.mjs";import{b as h,R as p}from"./Layouts-BlFm53ED.mjs";import{t as u}from"./FundWalletMethodHeader-SJUeDFRm.mjs";import{R as f}from"./Row-C9vrS4Zi.mjs";import{E as g}from"./ErrorMessage-D8VaAP5m.mjs";import{V as b,L as y}from"./Value-tcJV9e0L.mjs";import{S as v}from"./Subtitle-CV-2yKE4.mjs";import{T as j}from"./Title-BnzYV3Is.mjs";import w from"@heroicons/react/24/outline/WalletIcon";import{styled as C}from"styled-components";import{g as k}from"./getChainName-DjpPdUSc.mjs";import{C as x}from"./Chip-D2-wZOHJ.mjs";import{N}from"./NetworkIcon-B48ilzF8.mjs";import{B as T,a as B}from"./shared-FM0rljBt.mjs";import{Menu as S,MenuButton as $,MenuItems as I,MenuItem as A}from"@headlessui/react";import E from"@heroicons/react/24/outline/ChevronDownIcon";import{f as F}from"./formatErc20TokenAmount-BuPk9xcy.mjs";import{g as P}from"./ethers-CJEkGodq.mjs";import{F as M,a as L,b as R,c as W,d as z}from"./styles-Bz8FxEx_.mjs";const H=({chains:o,appId:t,address:s,rpcConfig:c,includeUsdc:l})=>Promise.all(o.map((async o=>{let m=e({chain:o,transport:r(i(o,c,t))}),d=await m.getBalance({address:s}).catch((()=>0n)),h=null,p=a[o.id];if(l&&p){let{balance:e}=await n({address:s,chain:o,rpcConfig:c,appId:t,erc20Address:p});h=e}return{balance:d,erc20Balance:h,erc20Address:p,chain:o}}))),Q=({balance:e,className:r,chain:a})=>/*#__PURE__*/t(T,{className:r,$state:void 0,children:/*#__PURE__*/t(U,{balance:e,chain:a})}),U=({balance:e,chain:r})=>/*#__PURE__*/s(c,{children:[/*#__PURE__*/s(V,{children:[/*#__PURE__*/t(O,{chainId:"object"==typeof r?r.id:"solana"}),/*#__PURE__*/t(b,{children:"object"==typeof r?r.name:k(r)})]}),/*#__PURE__*/s(x,{isLoading:!1,isPulsing:!1,color:"gray",children:[/*#__PURE__*/t(D,{children:/*#__PURE__*/t(w,{})}),e]})]});let V=C.div`
1
+ import{createPublicClient as e,http as r}from"viem";import{UsdcAddressMap as a,formatWalletAddress as o}from"@privy-io/js-sdk-core";import{a as i}from"./getPublicClient-A9RSftUZ.mjs";import{g as n}from"./getErc20Balance-CaKjNAs9.mjs";import{jsx as t,jsxs as s,Fragment as c}from"react/jsx-runtime";import{useRef as l}from"react";import{c as m,B as d}from"./ModalHeader-D5psNgrf.mjs";import{b as h,R as p}from"./Layouts-BlFm53ED.mjs";import{t as u}from"./FundWalletMethodHeader-CI5afzwL.mjs";import{R as f}from"./Row-C9vrS4Zi.mjs";import{E as g}from"./ErrorMessage-D8VaAP5m.mjs";import{V as b,L as y}from"./Value-tcJV9e0L.mjs";import{S as v}from"./Subtitle-CV-2yKE4.mjs";import{T as j}from"./Title-BnzYV3Is.mjs";import w from"@heroicons/react/24/outline/WalletIcon";import{styled as C}from"styled-components";import{g as k}from"./getChainName-DjpPdUSc.mjs";import{C as x}from"./Chip-D2-wZOHJ.mjs";import{N}from"./NetworkIcon-B48ilzF8.mjs";import{B as T,a as B}from"./shared-FM0rljBt.mjs";import{Menu as S,MenuButton as $,MenuItems as I,MenuItem as A}from"@headlessui/react";import E from"@heroicons/react/24/outline/ChevronDownIcon";import{f as F}from"./formatErc20TokenAmount-BuPk9xcy.mjs";import{g as P}from"./ethers-TpFbevgv.mjs";import{F as M,a as L,b as R,c as W,d as z}from"./styles-CaJCyFB5.mjs";const H=({chains:o,appId:t,address:s,rpcConfig:c,includeUsdc:l})=>Promise.all(o.map((async o=>{let m=e({chain:o,transport:r(i(o,c,t))}),d=await m.getBalance({address:s}).catch((()=>0n)),h=null,p=a[o.id];if(l&&p){let{balance:e}=await n({address:s,chain:o,rpcConfig:c,appId:t,erc20Address:p});h=e}return{balance:d,erc20Balance:h,erc20Address:p,chain:o}}))),Q=({balance:e,className:r,chain:a})=>/*#__PURE__*/t(T,{className:r,$state:void 0,children:/*#__PURE__*/t(U,{balance:e,chain:a})}),U=({balance:e,chain:r})=>/*#__PURE__*/s(c,{children:[/*#__PURE__*/s(V,{children:[/*#__PURE__*/t(O,{chainId:"object"==typeof r?r.id:"solana"}),/*#__PURE__*/t(b,{children:"object"==typeof r?r.name:k(r)})]}),/*#__PURE__*/s(x,{isLoading:!1,isPulsing:!1,color:"gray",children:[/*#__PURE__*/t(D,{children:/*#__PURE__*/t(w,{})}),e]})]});let V=C.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  `,D=C.div`
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{CheckCircle as t,XCircle as r}from"lucide-react";import{useMemo as i,useRef as o,useState as a,useEffect as s}from"react";import{a as n,C as c}from"./index-B2ZHk27q.mjs";import{a as m}from"./get-is-unified-wallet-DF10lirM.mjs";import{S as u}from"./ScreenLayout-DptX1e0c.mjs";import"@privy-io/js-sdk-core";import"uuid";import"jose";import"eventemitter3";import"./useActiveWallet-BY2wKTVp.mjs";import"zustand";import"./context-BuN0M_vH.mjs";import"tinycolor2";import"styled-components";import"react-device-detect";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"./internal-context-e-Eni5bG.mjs";import"ofetch";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"@coinbase/wallet-sdk";import"@privy-io/ethereum";import"mipd";import"@privy-io/popup";import"./paths-3HW55qZg.mjs";import"./usePrivy-DQKLhXbj.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"./ModalHeader-B32Zin0a.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.mjs";const p=({status:o,title:a,description:s,userIntentRequired:n,retriesRemaining:c,hasSelectedCta:m,onContinue:p,onRetry:l})=>{let d=i((()=>{switch(o){case"loading":default:return;case"success":return n?{label:m?"Continuing...":"Continue",onClick:p,disabled:m,loading:m}:void 0;case"error":return c>0?{label:"Retry",onClick:l}:void 0}}),[o,m,p,l]),g=i((()=>({loading:"loading",ready:"subtle",disabled:"subtle",success:"success",error:"error"}[o]||"loading")),[o]);/*#__PURE__*/return e(u,{icon:"loading"===o||"ready"===o?void 0:"success"===o?t:r,iconVariant:g,title:a,subtitle:s,primaryCta:d,watermark:!0})},l={component:()=>{let{lastScreen:t,data:r,navigate:i,setModalData:u}=m(),{status:l,token:d,waitForResult:g,reset:y,execute:h}=n(),v=o([]),j=e=>{v.current=[e,...v.current]},[C,f]=a(!0);s((()=>(j(setTimeout(f,1e3,!1)),()=>{v.current.forEach((e=>clearTimeout(e))),v.current=[]})),[]);let[b,k]=a(""),[w,R]=a("Checking that you are a human..."),[S,I]=a(!1),[T,x]=a(3),A=r?.captchaModalData,M=async e=>{try{await(A?.callback(e)),A?.onSuccessNavigateTo&&i(A?.onSuccessNavigateTo,!1)}catch(e){if(e instanceof c)return;u({errorModalData:{error:e,previousScreen:t||"LandingScreen"}}),i(A?.onErrorNavigateTo||"ErrorScreen",!1)}};s((()=>{"success"===l?j(setTimeout((async()=>{let e=await g();!e||A?.userIntentRequired||M(e)}),1e3)):"ready"===l&&j(setTimeout((()=>{"ready"===l&&h()}),500))}),[l]),s((()=>{if(!C)switch(l){case"success":k("Success!"),R("CAPTCHA passed successfully."),A?.userIntentRequired||setTimeout((()=>{I(!0),M(d)}),2e3);break;case"loading":k(""),R("Checking that you are a human...");break;case"error":k("Something went wrong"),R(T<=0?"If you use an adblocker or VPN, try disabling and re-attempting.":"You did not pass CAPTCHA. Please try again.")}}),[l,C,S]);/*#__PURE__*/return e(p,{status:l,title:b,description:w,userIntentRequired:A?.userIntentRequired,retriesRemaining:T,hasSelectedCta:S,onContinue:()=>{I(!0),M(d)},onRetry:async()=>{if(T<=0)return;x((e=>e-1)),y(),h();let e=await g();!e||A?.userIntentRequired||M(e)}})}};export{l as CaptchaScreen,p as CaptchaScreenView,l as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{CheckCircle as t,XCircle as r}from"lucide-react";import{useMemo as i,useRef as o,useState as a,useEffect as s}from"react";import{a as n,C as c}from"./index-ygZBlWlm.mjs";import{a as m}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{S as u}from"./ScreenLayout-DIdy7nhJ.mjs";import"@privy-io/js-sdk-core";import"uuid";import"jose";import"eventemitter3";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"./context-Bu4xmqpC.mjs";import"tinycolor2";import"styled-components";import"react-device-detect";import"./prepareFundingModalData-CRrWM52E.mjs";import"./internal-context-e-Eni5bG.mjs";import"ofetch";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-BkIu5vyx.mjs";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"./ModalHeader-D5psNgrf.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-q8npRQhQ.mjs";import"./index-Dq_xe9dz.mjs";const p=({status:o,title:a,description:s,userIntentRequired:n,retriesRemaining:c,hasSelectedCta:m,onContinue:p,onRetry:l})=>{let d=i((()=>{switch(o){case"loading":default:return;case"success":return n?{label:m?"Continuing...":"Continue",onClick:p,disabled:m,loading:m}:void 0;case"error":return c>0?{label:"Retry",onClick:l}:void 0}}),[o,m,p,l]),g=i((()=>({loading:"loading",ready:"subtle",disabled:"subtle",success:"success",error:"error"}[o]||"loading")),[o]);/*#__PURE__*/return e(u,{icon:"loading"===o||"ready"===o?void 0:"success"===o?t:r,iconVariant:g,title:a,subtitle:s,primaryCta:d,watermark:!0})},l={component:()=>{let{lastScreen:t,data:r,navigate:i,setModalData:u}=m(),{status:l,token:d,waitForResult:g,reset:y,execute:h}=n(),v=o([]),j=e=>{v.current=[e,...v.current]},[C,f]=a(!0);s((()=>(j(setTimeout(f,1e3,!1)),()=>{v.current.forEach((e=>clearTimeout(e))),v.current=[]})),[]);let[b,k]=a(""),[w,R]=a("Checking that you are a human..."),[S,I]=a(!1),[T,x]=a(3),A=r?.captchaModalData,M=async e=>{try{await(A?.callback(e)),A?.onSuccessNavigateTo&&i(A?.onSuccessNavigateTo,!1)}catch(e){if(e instanceof c)return;u({errorModalData:{error:e,previousScreen:t||"LandingScreen"}}),i(A?.onErrorNavigateTo||"ErrorScreen",!1)}};s((()=>{"success"===l?j(setTimeout((async()=>{let e=await g();!e||A?.userIntentRequired||M(e)}),1e3)):"ready"===l&&j(setTimeout((()=>{"ready"===l&&h()}),500))}),[l]),s((()=>{if(!C)switch(l){case"success":k("Success!"),R("CAPTCHA passed successfully."),A?.userIntentRequired||setTimeout((()=>{I(!0),M(d)}),2e3);break;case"loading":k(""),R("Checking that you are a human...");break;case"error":k("Something went wrong"),R(T<=0?"If you use an adblocker or VPN, try disabling and re-attempting.":"You did not pass CAPTCHA. Please try again.")}}),[l,C,S]);/*#__PURE__*/return e(p,{status:l,title:b,description:w,userIntentRequired:A?.userIntentRequired,retriesRemaining:T,hasSelectedCta:S,onContinue:()=>{I(!0),M(d)},onRetry:async()=>{if(T<=0)return;x((e=>e-1)),y(),h();let e=await g();!e||A?.userIntentRequired||M(e)}})}};export{l as CaptchaScreen,p as CaptchaScreenView,l as default};
@@ -1,4 +1,4 @@
1
- import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import o from"@heroicons/react/24/solid/ArrowsRightLeftIcon";import i from"@heroicons/react/24/solid/CheckCircleIcon";import{useState as n,useRef as a,useEffect as s,useMemo as c}from"react";import{styled as m}from"styled-components";import{M as l,B as d,P as p}from"./ModalHeader-B32Zin0a.mjs";import{a as u}from"./Layouts-BlFm53ED.mjs";import{L as g,a7 as f}from"./useActiveWallet-BY2wKTVp.mjs";import{u as h}from"./internal-context-e-Eni5bG.mjs";import{a as v}from"./get-is-unified-wallet-DF10lirM.mjs";import{O as y}from"./analytics-mkkvFRju.mjs";import{G as b}from"./index-B2ZHk27q.mjs";import"./context-BuN0M_vH.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";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"zustand";import"react-device-detect";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"ofetch";import"uuid";import"jose";import"@coinbase/wallet-sdk";import"@privy-io/ethereum";import"mipd";import"@privy-io/popup";import"./paths-3HW55qZg.mjs";import"./usePrivy-DQKLhXbj.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";const w={component:()=>{let{data:o,setModalData:i,navigate:c,navigateBack:m}=v(),{closePrivyModal:p,createAnalyticsEvent:u,client:g}=h(),[f,b]=n("pending-in-flow"),w=a(0),C={...o?.funding,showAlternateFundingMethod:!0};C.usingDefaultFundingMethod&&(C.usingDefaultFundingMethod=!1);let{partnerUserId:k,popup:F}=o?.coinbaseOnrampStatus??{};return s((()=>{if("pending-in-flow"===f||"pending-after-flow"===f){let e=setInterval((async()=>{if(k)try{let{status:e}=await g.getCoinbaseOnRampStatus({partnerUserId:k});if("success"===e)return void b("success");if("failure"===e)throw Error("There was an error completing Coinbase Onramp flow.");if(w.current>=3)return i({funding:C,solanaFundingData:o?.solanaFundingData}),void c("FundingMethodSelectionScreen");F?.closed&&(w.current=w.current+1,b("pending-after-flow"))}catch(e){console.error(e),b("error"),u({eventName:y,payload:{status:"failure",provider:"coinbase-onramp",error:e.message}}),i({funding:{...C,errorMessage:"Something went wrong adding funds. Please try again or use another method."},solanaFundingData:o?.solanaFundingData}),c("FundingMethodSelectionScreen")}}),1500);return()=>clearInterval(e)}}),[k,F,f]),/*#__PURE__*/e(r,{children:[/*#__PURE__*/t(l,{title:"Fund account",backFn:()=>{i({funding:C,solanaFundingData:o?.solanaFundingData}),m()}},"header"),/*#__PURE__*/t(j,{status:f,onClickCta:p}),/*#__PURE__*/t(d,{})]})}};let j=({status:o,onClickCta:i})=>{let{title:n,body:a,cta:s}=c((()=>(e=>{switch(e){case"success":return{title:"You've funded your account!",body:"It may take a few minutes for the assets to appear.",cta:"Continue"};case"pending-after-flow":return{title:"In Progress",body:"Almost done. Retrieving transaction status from Coinbase",cta:""};case"error":case"pending-in-flow":return{title:"In Progress",body:"Go back to Coinbase Onramp to finish funding your account.",cta:""}}})(o)),[o]);/*#__PURE__*/return e(r,{children:[/*#__PURE__*/e(F,{children:[/*#__PURE__*/t(C,{isSucccess:"success"===o}),/*#__PURE__*/e(u,{children:[/*#__PURE__*/t("h3",{children:n}),/*#__PURE__*/t(k,{children:a})]})]}),s&&/*#__PURE__*/t(p,{onClick:i,children:s})]})},C=({isSucccess:r})=>{if(!r){let r="var(--privy-color-foreground-4)";/*#__PURE__*/return e("div",{style:{position:"relative"},children:[/*#__PURE__*/t(g,{color:r,style:{position:"absolute"}}),/*#__PURE__*/t(f,{color:r}),/*#__PURE__*/t(b,{style:{position:"absolute",width:"2.8rem",height:"2.8rem",top:"1.2rem",left:"1.2rem"}})]})}let n=r?i:()=>/*#__PURE__*/t(o,{width:"3rem",height:"3rem",style:{backgroundColor:"var(--privy-color-foreground-4)",color:"var(--privy-color-background)",borderRadius:"100%",padding:"0.5rem",margin:"0.5rem"}}),a=r?"var(--privy-color-success)":"var(--privy-color-foreground-4)";/*#__PURE__*/return t("div",{style:{borderColor:a,display:"flex",justifyContent:"center",alignItems:"center",borderRadius:"100%",borderWidth:2,padding:"0.5rem",marginBottom:"0.5rem"},children:n&&/*#__PURE__*/t(n,{width:"4rem",height:"4rem",color:a})})},k=m.p`
1
+ import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import o from"@heroicons/react/24/solid/ArrowsRightLeftIcon";import i from"@heroicons/react/24/solid/CheckCircleIcon";import{useState as n,useRef as a,useEffect as s,useMemo as c}from"react";import{styled as m}from"styled-components";import{M as l,B as d,P as p}from"./ModalHeader-D5psNgrf.mjs";import{a as u}from"./Layouts-BlFm53ED.mjs";import{L as g,a7 as f}from"./useActiveWallet-RUYo4pXO.mjs";import{u as h}from"./internal-context-e-Eni5bG.mjs";import{a as v}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{O as y}from"./analytics-mkkvFRju.mjs";import{G as b}from"./index-ygZBlWlm.mjs";import"./context-Bu4xmqpC.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";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"zustand";import"react-device-detect";import"./prepareFundingModalData-CRrWM52E.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-BkIu5vyx.mjs";import"ofetch";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";const w={component:()=>{let{data:o,setModalData:i,navigate:c,navigateBack:m}=v(),{closePrivyModal:p,createAnalyticsEvent:u,client:g}=h(),[f,b]=n("pending-in-flow"),w=a(0),C={...o?.funding,showAlternateFundingMethod:!0};C.usingDefaultFundingMethod&&(C.usingDefaultFundingMethod=!1);let{partnerUserId:k,popup:F}=o?.coinbaseOnrampStatus??{};return s((()=>{if("pending-in-flow"===f||"pending-after-flow"===f){let e=setInterval((async()=>{if(k)try{let{status:e}=await g.getCoinbaseOnRampStatus({partnerUserId:k});if("success"===e)return void b("success");if("failure"===e)throw Error("There was an error completing Coinbase Onramp flow.");if(w.current>=3)return i({funding:C,solanaFundingData:o?.solanaFundingData}),void c("FundingMethodSelectionScreen");F?.closed&&(w.current=w.current+1,b("pending-after-flow"))}catch(e){console.error(e),b("error"),u({eventName:y,payload:{status:"failure",provider:"coinbase-onramp",error:e.message}}),i({funding:{...C,errorMessage:"Something went wrong adding funds. Please try again or use another method."},solanaFundingData:o?.solanaFundingData}),c("FundingMethodSelectionScreen")}}),1500);return()=>clearInterval(e)}}),[k,F,f]),/*#__PURE__*/e(r,{children:[/*#__PURE__*/t(l,{title:"Fund account",backFn:()=>{i({funding:C,solanaFundingData:o?.solanaFundingData}),m()}},"header"),/*#__PURE__*/t(j,{status:f,onClickCta:p}),/*#__PURE__*/t(d,{})]})}};let j=({status:o,onClickCta:i})=>{let{title:n,body:a,cta:s}=c((()=>(e=>{switch(e){case"success":return{title:"You've funded your account!",body:"It may take a few minutes for the assets to appear.",cta:"Continue"};case"pending-after-flow":return{title:"In Progress",body:"Almost done. Retrieving transaction status from Coinbase",cta:""};case"error":case"pending-in-flow":return{title:"In Progress",body:"Go back to Coinbase Onramp to finish funding your account.",cta:""}}})(o)),[o]);/*#__PURE__*/return e(r,{children:[/*#__PURE__*/e(F,{children:[/*#__PURE__*/t(C,{isSucccess:"success"===o}),/*#__PURE__*/e(u,{children:[/*#__PURE__*/t("h3",{children:n}),/*#__PURE__*/t(k,{children:a})]})]}),s&&/*#__PURE__*/t(p,{onClick:i,children:s})]})},C=({isSucccess:r})=>{if(!r){let r="var(--privy-color-foreground-4)";/*#__PURE__*/return e("div",{style:{position:"relative"},children:[/*#__PURE__*/t(g,{color:r,style:{position:"absolute"}}),/*#__PURE__*/t(f,{color:r}),/*#__PURE__*/t(b,{style:{position:"absolute",width:"2.8rem",height:"2.8rem",top:"1.2rem",left:"1.2rem"}})]})}let n=r?i:()=>/*#__PURE__*/t(o,{width:"3rem",height:"3rem",style:{backgroundColor:"var(--privy-color-foreground-4)",color:"var(--privy-color-background)",borderRadius:"100%",padding:"0.5rem",margin:"0.5rem"}}),a=r?"var(--privy-color-success)":"var(--privy-color-foreground-4)";/*#__PURE__*/return t("div",{style:{borderColor:a,display:"flex",justifyContent:"center",alignItems:"center",borderRadius:"100%",borderWidth:2,padding:"0.5rem",marginBottom:"0.5rem"},children:n&&/*#__PURE__*/t(n,{width:"4rem",height:"4rem",color:a})})},k=m.p`
2
2
  font-size: 1rem;
3
3
  color: var(--privy-color-foreground-3);
4
4
  margin-bottom: 1rem;
@@ -1,3 +1,3 @@
1
- import{jsxs as e,Fragment as r,jsx as a}from"react/jsx-runtime";import{Mail as i}from"lucide-react";import{forwardRef as t,useState as o,useEffect as n}from"react";import{styled as l}from"styled-components";import{u as s}from"./context-BuN0M_vH.mjs";import{u as m,c,b as d}from"./internal-context-e-Eni5bG.mjs";import{a as p}from"./index-B2ZHk27q.mjs";import{u,a as h}from"./get-is-unified-wallet-DF10lirM.mjs";import{F as g,a1 as f,V as y}from"./useActiveWallet-BY2wKTVp.mjs";import{E,P as S}from"./ModalHeader-B32Zin0a.mjs";import{C as b}from"./Chip-D2-wZOHJ.mjs";import{I as v,a as k}from"./EmailInputForm-Dgoii4vf.mjs";import{E as C}from"./ErrorMessage-D8VaAP5m.mjs";const j=/*#__PURE__*/t(((t,l)=>{let[y,v]=o(t.defaultValue||""),[k,j]=o(""),[T,A]=o(!1),{authenticated:L}=u(),{initLoginWithEmail:M}=m(),{navigate:D,setModalData:I,currentScreen:U,data:F}=h(),{enabled:N,token:W}=p(),[_,R]=o(!1),{accountType:V}=g(),q=s();n((()=>{!y&&q.disablePlusEmails&&F?.inlineError?.error instanceof c&&F?.inlineError?.error.privyErrorCode===d.DISALLOWED_PLUS_EMAIL&&!k&&j("Please enter a valid email address without a '+'."),k&&j("")}),[y]);let z=f(y),H=T||!z,K=()=>{var e;I({login:F?.login,inlineError:void 0}),!N||W||L?(e=W,A(!0),M({email:y,captchaToken:e,disableSignup:F?.login?.disableSignup,withPrivyUi:!0}).then((()=>{D("AwaitingPasswordlessCodeScreen")})).catch((e=>{I({errorModalData:{error:e,previousScreen:U||"LandingScreen"}}),D("ErrorScreen")})).finally((()=>{A(!1)}))):(I({captchaModalData:{callback:e=>M({email:y,captchaToken:e,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:"AwaitingPasswordlessCodeScreen",onErrorNavigateTo:"ErrorScreen"}}),D("CaptchaScreen"))};/*#__PURE__*/return e(r,{children:[/*#__PURE__*/e(w,{children:[k&&/*#__PURE__*/a(C,{style:{display:"block",marginTop:"0.25rem",textAlign:"left"},children:k}),/*#__PURE__*/e(x,{stacked:t.stacked,$error:!!k,children:[/*#__PURE__*/a(P,{children:/*#__PURE__*/a(i,{})}),/*#__PURE__*/a("input",{ref:l,id:"email-input",className:"login-method-button",type:"email",placeholder:"your@email.com",onFocus:()=>R(!0),onChange:e=>v(e.target.value),onKeyUp:e=>{"Enter"===e.key&&K()},value:y,autoComplete:"email"}),"email"!==V||_?t.stacked?/*#__PURE__*/a("span",{}):/*#__PURE__*/a(E,{isSubmitting:T,onClick:K,disabled:H,children:"Submit"}):/*#__PURE__*/a(b,{color:"gray",children:"Recent"})]})]}),t.stacked?/*#__PURE__*/a(S,{loadingText:null,loading:T,disabled:H,onClick:K,style:{width:"100%"},children:"Submit"}):null]})}));let w=v,x=k,P=l(y)`
1
+ import{jsxs as e,Fragment as r,jsx as a}from"react/jsx-runtime";import{Mail as i}from"lucide-react";import{forwardRef as t,useState as o,useEffect as n}from"react";import{styled as l}from"styled-components";import{u as s}from"./context-Bu4xmqpC.mjs";import{u as m,c,b as d}from"./internal-context-e-Eni5bG.mjs";import{a as p}from"./index-ygZBlWlm.mjs";import{u,a as h}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{F as g,a1 as f,V as y}from"./useActiveWallet-RUYo4pXO.mjs";import{E,P as S}from"./ModalHeader-D5psNgrf.mjs";import{C as b}from"./Chip-D2-wZOHJ.mjs";import{I as v,a as k}from"./EmailInputForm-Dgoii4vf.mjs";import{E as C}from"./ErrorMessage-D8VaAP5m.mjs";const j=/*#__PURE__*/t(((t,l)=>{let[y,v]=o(t.defaultValue||""),[k,j]=o(""),[T,A]=o(!1),{authenticated:L}=u(),{initLoginWithEmail:M}=m(),{navigate:D,setModalData:I,currentScreen:U,data:F}=h(),{enabled:N,token:W}=p(),[_,R]=o(!1),{accountType:V}=g(),q=s();n((()=>{!y&&q.disablePlusEmails&&F?.inlineError?.error instanceof c&&F?.inlineError?.error.privyErrorCode===d.DISALLOWED_PLUS_EMAIL&&!k&&j("Please enter a valid email address without a '+'."),k&&j("")}),[y]);let z=f(y),H=T||!z,K=()=>{var e;I({login:F?.login,inlineError:void 0}),!N||W||L?(e=W,A(!0),M({email:y,captchaToken:e,disableSignup:F?.login?.disableSignup,withPrivyUi:!0}).then((()=>{D("AwaitingPasswordlessCodeScreen")})).catch((e=>{I({errorModalData:{error:e,previousScreen:U||"LandingScreen"}}),D("ErrorScreen")})).finally((()=>{A(!1)}))):(I({captchaModalData:{callback:e=>M({email:y,captchaToken:e,withPrivyUi:!0}),userIntentRequired:!1,onSuccessNavigateTo:"AwaitingPasswordlessCodeScreen",onErrorNavigateTo:"ErrorScreen"}}),D("CaptchaScreen"))};/*#__PURE__*/return e(r,{children:[/*#__PURE__*/e(w,{children:[k&&/*#__PURE__*/a(C,{style:{display:"block",marginTop:"0.25rem",textAlign:"left"},children:k}),/*#__PURE__*/e(x,{stacked:t.stacked,$error:!!k,children:[/*#__PURE__*/a(P,{children:/*#__PURE__*/a(i,{})}),/*#__PURE__*/a("input",{ref:l,id:"email-input",className:"login-method-button",type:"email",placeholder:"your@email.com",onFocus:()=>R(!0),onChange:e=>v(e.target.value),onKeyUp:e=>{"Enter"===e.key&&K()},value:y,autoComplete:"email"}),"email"!==V||_?t.stacked?/*#__PURE__*/a("span",{}):/*#__PURE__*/a(E,{isSubmitting:T,onClick:K,disabled:H,children:"Submit"}):/*#__PURE__*/a(b,{color:"gray",children:"Recent"})]})]}),t.stacked?/*#__PURE__*/a(S,{loadingText:null,loading:T,disabled:H,onClick:K,style:{width:"100%"},children:"Submit"}):null]})}));let w=v,x=k,P=l(y)`
2
2
  display: inline-flex;
3
3
  `;export{j as C};
@@ -1,4 +1,4 @@
1
- import{jsx as t,jsxs as e}from"react/jsx-runtime";import{ArrowRightLeft as i}from"lucide-react";import{styled as o}from"styled-components";import{a as r}from"./get-is-unified-wallet-DF10lirM.mjs";import{S as n}from"./ScreenLayout-DptX1e0c.mjs";import{F as m}from"./index-B2ZHk27q.mjs";import"viem";import"react";import"./context-BuN0M_vH.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"./internal-context-e-Eni5bG.mjs";import"ofetch";import"./ModalHeader-B32Zin0a.mjs";import"./useActiveWallet-BY2wKTVp.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.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-DQKLhXbj.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";const p=e=>/*#__PURE__*/t("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"-0.625 12.48 397.647 399.546",width:"2500",height:"674",preserveAspectRatio:"none",...e,children:/*#__PURE__*/t("g",{children:/*#__PURE__*/t("path",{fill:"#333745",d:"M 333.9 12.8 L 150.9 12.8 L 150.9 258.4 L 396.5 258.4 L 396.5 76.7 C 396.6 42.2 368.4 12.8 333.9 12.8 Z M 94.7 12.8 L 64 12.8 C 29.5 12.8 0 40.9 0 76.8 L 0 107.5 L 94.7 107.5 L 94.7 12.8 Z M 0 165 L 94.7 165 L 94.7 259.7 L 0 259.7 L 0 165 Z M 301.9 410.6 L 332.6 410.6 C 367.1 410.6 396.6 382.5 396.6 346.6 L 396.6 316 L 301.9 316 L 301.9 410.6 Z M 150.9 316 L 245.6 316 L 245.6 410.7 L 150.9 410.7 L 150.9 316 Z M 0 316 L 0 346.7 C 0 381.2 28.1 410.7 64 410.7 L 94.7 410.7 L 94.7 316 L 0 316 Z"})})}),s=({onContinueWithLedger:o,onContinueWithoutLedger:r,title:s="Phantom supports Ledger",subtitle:a="Are you using a Ledger hardware wallet?\nContinue to sign with Ledger"})=>/*#__PURE__*/t(n,{title:s,subtitle:/*#__PURE__*/t(d,{children:a}),primaryCta:{label:"Continue with Ledger",onClick:o},secondaryCta:{label:"Continue without Ledger",onClick:r},watermark:!0,children:/*#__PURE__*/e(l,{children:[/*#__PURE__*/t(m,{style:{width:"48px",height:"48px"}}),/*#__PURE__*/t(i,{strokeWidth:2,color:"var(--privy-color-icon-subtle)",width:22,height:22}),/*#__PURE__*/t(p,{style:{width:"48px",height:"48px"}})]})});function a(){let{data:e,setModalData:i,navigate:o}=r();/*#__PURE__*/return t(s,{onContinueWithLedger:function(){i({...e,login:{...e?.login,isSigningInWithLedgerSolana:!0}}),o("ConnectionStatusScreen")},onContinueWithoutLedger:function(){i({...e,login:{...e?.login,isSigningInWithLedgerSolana:!1}}),o("ConnectionStatusScreen")}})}const c={component:a};let l=o.div`
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{ArrowRightLeft as i}from"lucide-react";import{styled as o}from"styled-components";import{a as r}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{S as n}from"./ScreenLayout-DIdy7nhJ.mjs";import{F as m}from"./index-ygZBlWlm.mjs";import"viem";import"react";import"./context-Bu4xmqpC.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"./internal-context-e-Eni5bG.mjs";import"ofetch";import"./ModalHeader-D5psNgrf.mjs";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"react-device-detect";import"./prepareFundingModalData-CRrWM52E.mjs";import"eventemitter3";import"./events-context-CI0iqAXA.mjs";import"viem/utils";import"./getPublicClient-A9RSftUZ.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"./Screen-q8npRQhQ.mjs";import"./index-Dq_xe9dz.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";const p=e=>/*#__PURE__*/t("svg",{id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"-0.625 12.48 397.647 399.546",width:"2500",height:"674",preserveAspectRatio:"none",...e,children:/*#__PURE__*/t("g",{children:/*#__PURE__*/t("path",{fill:"#333745",d:"M 333.9 12.8 L 150.9 12.8 L 150.9 258.4 L 396.5 258.4 L 396.5 76.7 C 396.6 42.2 368.4 12.8 333.9 12.8 Z M 94.7 12.8 L 64 12.8 C 29.5 12.8 0 40.9 0 76.8 L 0 107.5 L 94.7 107.5 L 94.7 12.8 Z M 0 165 L 94.7 165 L 94.7 259.7 L 0 259.7 L 0 165 Z M 301.9 410.6 L 332.6 410.6 C 367.1 410.6 396.6 382.5 396.6 346.6 L 396.6 316 L 301.9 316 L 301.9 410.6 Z M 150.9 316 L 245.6 316 L 245.6 410.7 L 150.9 410.7 L 150.9 316 Z M 0 316 L 0 346.7 C 0 381.2 28.1 410.7 64 410.7 L 94.7 410.7 L 94.7 316 L 0 316 Z"})})}),s=({onContinueWithLedger:o,onContinueWithoutLedger:r,title:s="Phantom supports Ledger",subtitle:a="Are you using a Ledger hardware wallet?\nContinue to sign with Ledger"})=>/*#__PURE__*/t(n,{title:s,subtitle:/*#__PURE__*/t(d,{children:a}),primaryCta:{label:"Continue with Ledger",onClick:o},secondaryCta:{label:"Continue without Ledger",onClick:r},watermark:!0,children:/*#__PURE__*/e(l,{children:[/*#__PURE__*/t(m,{style:{width:"48px",height:"48px"}}),/*#__PURE__*/t(i,{strokeWidth:2,color:"var(--privy-color-icon-subtle)",width:22,height:22}),/*#__PURE__*/t(p,{style:{width:"48px",height:"48px"}})]})});function a(){let{data:e,setModalData:i,navigate:o}=r();/*#__PURE__*/return t(s,{onContinueWithLedger:function(){i({...e,login:{...e?.login,isSigningInWithLedgerSolana:!0}}),o("ConnectionStatusScreen")},onContinueWithoutLedger:function(){i({...e,login:{...e?.login,isSigningInWithLedgerSolana:!1}}),o("ConnectionStatusScreen")}})}const c={component:a};let l=o.div`
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: center;
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useRef as t}from"react";import{u as o}from"./context-BuN0M_vH.mjs";import{u as r,c as n,b as a}from"./internal-context-e-Eni5bG.mjs";import{a as i}from"./events-context-CI0iqAXA.mjs";import{a as l}from"./get-is-unified-wallet-DF10lirM.mjs";import{i as c}from"./ConnectWalletView-DIPHDDCY.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"viem";import"@heroicons/react/24/outline";import"@tanstack/react-virtual";import"react-device-detect";import"styled-components";import"./ModalHeader-B32Zin0a.mjs";import"./useActiveWallet-BY2wKTVp.mjs";import"zustand";import"./prepareFundingModalData-BHP1zZ9a.mjs";import"eventemitter3";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.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"@heroicons/react/24/outline/CheckIcon";import"./copy-Bx2Jwc5_.mjs";import"./Link-DJ5gq9Di.mjs";import"./QrCode-CA7VcP6Y.mjs";import"qrcode";import"./EmailInputForm-Dgoii4vf.mjs";import"./ErrorMessage-D8VaAP5m.mjs";import"./useI18n-CS_dxsYR.mjs";import"./WalletCards-DH1rqayz.mjs";import"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.mjs";const m={component:()=>{let{closePrivyModal:m}=r(),{data:s,navigate:p}=l(),d=o(),C=i(),u=s?.externalConnectWallet?.description,j=t(s?.externalConnectWallet?.walletList??d.appearance.walletList),E=t(s?.externalConnectWallet?.walletChainType??d.appearance.walletChainType);/*#__PURE__*/return e(c,{walletList:j.current,walletChainType:E.current,preSelectedWalletId:s?.externalConnectWallet?.preSelectedWalletId,hideHeader:s?.externalConnectWallet?.hideHeader,onBack:s?.funding?()=>p("FundingMethodSelectionScreen"):void 0,onClose:()=>{C("connectWallet","onError",a.GENERIC_CONNECT_WALLET_ERROR),m()},onConnect:({connector:e,wallet:t})=>{C("connectWallet","onSuccess",{wallet:t});let o=s?.externalConnectWallet?.onCompleteNavigateTo;o?p(o({address:t.address,walletClientType:e?.walletClientType,walletChainType:e?.chainType})):m()},onConnectError:e=>{e instanceof n?(console.warn(e.cause?e.cause:e.message),C("connectWallet","onError",e.privyErrorCode||a.GENERIC_CONNECT_WALLET_ERROR)):(console.warn(e),C("connectWallet","onError",a.UNKNOWN_CONNECT_WALLET_ERROR))},customDescription:u,app:d,connectOnly:!0})},isUnauthenticatedScreem:!0};export{m as ConnectOnlyLandingScreen,m as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useRef as t}from"react";import{u as o}from"./context-Bu4xmqpC.mjs";import{u as r,c as n,b as a}from"./internal-context-e-Eni5bG.mjs";import{a as i}from"./events-context-CI0iqAXA.mjs";import{a as l}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{i as c}from"./ConnectWalletView-CduRtfEz.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"ofetch";import"viem";import"@heroicons/react/24/outline";import"@tanstack/react-virtual";import"react-device-detect";import"styled-components";import"./ModalHeader-D5psNgrf.mjs";import"./useActiveWallet-RUYo4pXO.mjs";import"zustand";import"./prepareFundingModalData-CRrWM52E.mjs";import"eventemitter3";import"viem/utils";import"./getPublicClient-A9RSftUZ.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"@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";const m={component:()=>{let{closePrivyModal:m}=r(),{data:s,navigate:p}=l(),d=o(),C=i(),u=s?.externalConnectWallet?.description,j=t(s?.externalConnectWallet?.walletList??d.appearance.walletList),E=t(s?.externalConnectWallet?.walletChainType??d.appearance.walletChainType);/*#__PURE__*/return e(c,{walletList:j.current,walletChainType:E.current,preSelectedWalletId:s?.externalConnectWallet?.preSelectedWalletId,hideHeader:s?.externalConnectWallet?.hideHeader,onBack:s?.funding?()=>p("FundingMethodSelectionScreen"):void 0,onClose:()=>{C("connectWallet","onError",a.GENERIC_CONNECT_WALLET_ERROR),m()},onConnect:({connector:e,wallet:t})=>{C("connectWallet","onSuccess",{wallet:t});let o=s?.externalConnectWallet?.onCompleteNavigateTo;o?p(o({address:t.address,walletClientType:e?.walletClientType,walletChainType:e?.chainType})):m()},onConnectError:e=>{e instanceof n?(console.warn(e.cause?e.cause:e.message),C("connectWallet","onError",e.privyErrorCode||a.GENERIC_CONNECT_WALLET_ERROR)):(console.warn(e),C("connectWallet","onError",a.UNKNOWN_CONNECT_WALLET_ERROR))},customDescription:u,app:d,connectOnly:!0})},isUnauthenticatedScreem:!0};export{m as ConnectOnlyLandingScreen,m as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useState as t,useEffect as o}from"react";import{isMobile as r}from"react-device-detect";import{C as n}from"./prepareFundingModalData-BHP1zZ9a.mjs";import{q as i}from"./context-BuN0M_vH.mjs";import{Q as a}from"./useActiveWallet-BY2wKTVp.mjs";import{u as s}from"./internal-context-e-Eni5bG.mjs";import{a as l}from"./get-is-unified-wallet-DF10lirM.mjs";import{S as c}from"./ScreenLayout-DptX1e0c.mjs";import{B as m}from"./index-B2ZHk27q.mjs";import{getErrorDetails as p}from"./ConnectionStatusScreen-Dq1apJ9v.mjs";import"@privy-io/js-sdk-core";import"eventemitter3";import"tinycolor2";import"zustand";import"styled-components";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-DTjrHNDw.mjs";import"ofetch";import"./ModalHeader-B32Zin0a.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-DHkF35VN.mjs";import"./index-Dq_xe9dz.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-DQKLhXbj.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"./Link-DJ5gq9Di.mjs";import"./useI18n-CS_dxsYR.mjs";import"./shouldProceedtoEmbeddedWalletCreationFlow-Z89kclWd.mjs";const u=({walletLogo:t,success:o,errorMessage:r,title:i,subtitle:a,onRetry:s,onUseDifferentWallet:l,onBack:m,numRetries:p,maxRetries:u})=>/*#__PURE__*/e(c,{title:i,subtitle:a,icon:t,iconVariant:"loading",iconLoadingStatus:{success:o,fail:!!r},primaryCta:r===n.ERROR_USER_EXISTS?{label:"Use a different wallet",onClick:l}:!o&&r?.retryable&&p<u?{label:"Retry",onClick:s,disabled:!r?.retryable||p>=u}:!o&&r&&p>=u?{label:"Use a different wallet",onClick:l}:void 0,onBack:m,watermark:!0}),d={component:()=>{let n,{navigateBack:c,navigate:d,lastScreen:w,currentScreen:f,data:y,setModalData:g}=l(),{walletConnectionStatus:j,closePrivyModal:h}=s(),[v,C]=t(void 0),[k,b]=t(0),x=a(j?.connector?.walletClientType||"unknown"),S="connected"===j?.status,T="switching_to_supported_chain"===j?.status;o((()=>{if(S){let e;if(y?.externalConnectWallet?.onCompleteNavigateTo){let t=y.externalConnectWallet.onCompleteNavigateTo,o=j.connectedWallet?.address;e=setTimeout((()=>{if(y.funding&&j.connector){let e=j.connector.wallets.find((e=>e.address===o));g({...y,funding:{...y.funding,connectedWallet:e}})}d(t({address:o,walletClientType:j.connector?.walletClientType,walletChainType:j.connector?.chainType}))}),i)}else e=setTimeout(h,i);return()=>clearTimeout(e)}}),[S]);o((()=>{var e;j?.connectError&&(e=j?.connectError,C(p(e)))}),[j]);let R=j?.connector?.connectorType||"injected",W=j?.connector?.walletClientType||"unknown",B=x?.metadata?.shortName||x?.name||j?.connector?.walletBranding.name||"Browser Extension",M=x?.image_url?.md||j?.connector?.walletBranding.icon||(t=>/*#__PURE__*/e(m,{...t})),E="Browser Extension"===B?B.toLowerCase():B;n=S?`Successfully connected with ${E}`:v?v.message:T?"Switching networks":`Waiting for ${E}`;let _="Don’t see your wallet? Check your other browser windows.";return S?_="You’re good to go!":k>=2&&v?_="Unable to connect wallet":v?_=v.detail:T?_="Switch your wallet to the requested network.":"metamask"===W&&r?_="Click to continue to open and connect MetaMask.":"metamask"===W?_="For the best experience, connect only one wallet at a time.":"wallet_connect_v2"===R?_="Open your mobile wallet app to continue":"coinbase_wallet"===R&&(_="Confirm in the Coinbase app/popup to continue."),/*#__PURE__*/e(u,{walletName:B,walletLogo:M,success:S,errorMessage:v,title:n,subtitle:_,onRetry:()=>{b(k+1),C(void 0),j?.connectRetry()},onUseDifferentWallet:c,onBack:f===w?void 0:c,numRetries:k,maxRetries:2})}};export{d as ConnectOnlyStatusScreen,u as ConnectOnlyStatusScreenView,d as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{useState as t,useEffect as o}from"react";import{isMobile as r}from"react-device-detect";import{C as n}from"./prepareFundingModalData-CRrWM52E.mjs";import{q as i}from"./context-Bu4xmqpC.mjs";import{Q as a}from"./useActiveWallet-RUYo4pXO.mjs";import{u as s}from"./internal-context-e-Eni5bG.mjs";import{a as l}from"./get-is-unified-wallet-CvIzjbW7.mjs";import{S as c}from"./ScreenLayout-DIdy7nhJ.mjs";import{B as m}from"./index-ygZBlWlm.mjs";import{getErrorDetails as p}from"./ConnectionStatusScreen-KrobwyOT.mjs";import"@privy-io/js-sdk-core";import"eventemitter3";import"tinycolor2";import"zustand";import"styled-components";import"./events-context-CI0iqAXA.mjs";import"viem";import"viem/utils";import"./getPublicClient-A9RSftUZ.mjs";import"./useWallets-BkIu5vyx.mjs";import"ofetch";import"./ModalHeader-D5psNgrf.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./Screen-q8npRQhQ.mjs";import"./index-Dq_xe9dz.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"./Link-DJ5gq9Di.mjs";import"./useI18n-CD7HCIxK.mjs";import"./shouldProceedtoEmbeddedWalletCreationFlow-D0uaMzCB.mjs";const u=({walletLogo:t,success:o,errorMessage:r,title:i,subtitle:a,onRetry:s,onUseDifferentWallet:l,onBack:m,numRetries:p,maxRetries:u})=>/*#__PURE__*/e(c,{title:i,subtitle:a,icon:t,iconVariant:"loading",iconLoadingStatus:{success:o,fail:!!r},primaryCta:r===n.ERROR_USER_EXISTS?{label:"Use a different wallet",onClick:l}:!o&&r?.retryable&&p<u?{label:"Retry",onClick:s,disabled:!r?.retryable||p>=u}:!o&&r&&p>=u?{label:"Use a different wallet",onClick:l}:void 0,onBack:m,watermark:!0}),d={component:()=>{let n,{navigateBack:c,navigate:d,lastScreen:w,currentScreen:f,data:y,setModalData:g}=l(),{walletConnectionStatus:j,closePrivyModal:h}=s(),[v,C]=t(void 0),[k,b]=t(0),x=a(j?.connector?.walletClientType||"unknown"),S="connected"===j?.status,T="switching_to_supported_chain"===j?.status;o((()=>{if(S){let e;if(y?.externalConnectWallet?.onCompleteNavigateTo){let t=y.externalConnectWallet.onCompleteNavigateTo,o=j.connectedWallet?.address;e=setTimeout((()=>{if(y.funding&&j.connector){let e=j.connector.wallets.find((e=>e.address===o));g({...y,funding:{...y.funding,connectedWallet:e}})}d(t({address:o,walletClientType:j.connector?.walletClientType,walletChainType:j.connector?.chainType}))}),i)}else e=setTimeout(h,i);return()=>clearTimeout(e)}}),[S]);o((()=>{var e;j?.connectError&&(e=j?.connectError,C(p(e)))}),[j]);let R=j?.connector?.connectorType||"injected",W=j?.connector?.walletClientType||"unknown",B=x?.metadata?.shortName||x?.name||j?.connector?.walletBranding.name||"Browser Extension",M=x?.image_url?.md||j?.connector?.walletBranding.icon||(t=>/*#__PURE__*/e(m,{...t})),E="Browser Extension"===B?B.toLowerCase():B;n=S?`Successfully connected with ${E}`:v?v.message:T?"Switching networks":`Waiting for ${E}`;let _="Don’t see your wallet? Check your other browser windows.";return S?_="You’re good to go!":k>=2&&v?_="Unable to connect wallet":v?_=v.detail:T?_="Switch your wallet to the requested network.":"metamask"===W&&r?_="Click to continue to open and connect MetaMask.":"metamask"===W?_="For the best experience, connect only one wallet at a time.":"wallet_connect_v2"===R?_="Open your mobile wallet app to continue":"coinbase_wallet"===R&&(_="Confirm in the Coinbase app/popup to continue."),/*#__PURE__*/e(u,{walletName:B,walletLogo:M,success:S,errorMessage:v,title:n,subtitle:_,onRetry:()=>{b(k+1),C(void 0),j?.connectRetry()},onUseDifferentWallet:c,onBack:f===w?void 0:c,numRetries:k,maxRetries:2})}};export{d as ConnectOnlyStatusScreen,u as ConnectOnlyStatusScreenView,d as default};