@privy-io/react-auth 3.18.0 → 3.19.0-beta-20260327145607

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 (387) hide show
  1. package/dist/cjs/AccountNotFoundScreen-BGWhw5JF.js +1 -0
  2. package/dist/cjs/{Address-BeuDoSGB.js → Address-Ccb_vB_O.js} +1 -1
  3. package/dist/cjs/AffirmativeConsentScreen-BeNpA8vg.js +6 -0
  4. package/dist/cjs/AllowlistRejectionScreen-DiQ106Je.js +1 -0
  5. package/dist/cjs/AuthenticateWithWalletScreen-fOZ6wpNr.js +1 -0
  6. package/dist/cjs/AwaitingEvmToSolBridgingScreen-5zCafWqh.js +2 -0
  7. package/dist/cjs/AwaitingExternalEthereumTransferScreen-BCDcDb5e.js +2 -0
  8. package/dist/cjs/AwaitingPasswordlessCodeScreen-9ZGMTuto.js +103 -0
  9. package/dist/cjs/AwaitingSolToEvmBridgingScreen-DrU5HjJs.js +2 -0
  10. package/dist/cjs/BridgeNetworkSelectionView-ByOqmqhr.js +69 -0
  11. package/dist/cjs/CaptchaScreen-CpC_t_wY.js +1 -0
  12. package/dist/cjs/CoinbaseOnrampStatusScreen-BED_Uc3M.js +16 -0
  13. package/dist/cjs/ConnectEmailForm-CkOZyqGm.js +3 -0
  14. package/dist/cjs/ConnectLedgerScreen-BRRli2qt.js +9 -0
  15. package/dist/cjs/ConnectOnlyLandingScreen-Cb8nxLme.js +1 -0
  16. package/dist/cjs/ConnectOnlyStatusScreen-BH3D3Vhb.js +1 -0
  17. package/dist/cjs/ConnectOrCreateScreen-DrwTfZH8.js +1 -0
  18. package/dist/cjs/{ConnectPhoneForm-D3q0wloY.js → ConnectPhoneForm-j-Cyd_qm.js} +1 -1
  19. package/dist/cjs/{ConnectWalletView-C6ISoYJv.js → ConnectWalletView-CTLd5C6n.js} +1 -1
  20. package/dist/cjs/ConnectionStatusScreen-Z01aygJs.js +7 -0
  21. package/dist/cjs/CrossAppAuthScreen-piMA7do8.js +1 -0
  22. package/dist/cjs/{CustomLandingScreenView--zrI99Tu.js → CustomLandingScreenView-CheZxCX8.js} +1 -1
  23. package/dist/cjs/DelegatedActionsConsentScreen-Cw3Fo8gM.js +1 -0
  24. package/dist/cjs/DelegatedActionsRevokeScreen-BDzCEVqg.js +1 -0
  25. package/dist/cjs/EmbeddedWalletConnectingScreen-VUzY2VsQ.js +1 -0
  26. package/dist/cjs/EmbeddedWalletCreatedScreen-DYU_efvf.js +1 -0
  27. package/dist/cjs/{EmbeddedWalletKeyExportScreen-DiMRj8ux.js → EmbeddedWalletKeyExportScreen-BZtOjZpV.js} +1 -1
  28. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-BduYIHj0.js +1 -0
  29. package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-CfehwM23.js +1 -0
  30. package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-cYsDDghn.js +1 -0
  31. package/dist/cjs/{EnrollTotp-RPco748Q.js → EnrollTotp-Ol5CsgOA.js} +1 -1
  32. package/dist/cjs/ErrorScreen-BLknI5mu.js +4 -0
  33. package/dist/cjs/{FarcasterConnectStatusScreen-VcZ3BOP9.js → FarcasterConnectStatusScreen-Bp5BSNvP.js} +3 -3
  34. package/dist/cjs/FarcasterSignerStatusScreen-CQcKmS-B.js +29 -0
  35. package/dist/cjs/FiatOnrampScreen-dUYsHWAv.js +86 -0
  36. package/dist/cjs/FundSolWalletWithExternalSolanaWallet-BrB3MaI7.js +2 -0
  37. package/dist/cjs/{FundWalletMethodHeader-BTGxq_KO.js → FundWalletMethodHeader-Dp0qK8-s.js} +1 -1
  38. package/dist/cjs/{FundWithBankDepositScreen-HfVq1zvk.js → FundWithBankDepositScreen-B7jC-0EU.js} +2 -2
  39. package/dist/cjs/FundingEditAmountScreen-CHIv-Klg.js +1 -0
  40. package/dist/cjs/FundingMethodSelectionScreen-wXU7ZFOV.js +1 -0
  41. package/dist/cjs/InAppBrowserLoginNotPossible-BFWIzrVG.js +1 -0
  42. package/dist/cjs/InstallWalletScreen-vRXPRhOy.js +1 -0
  43. package/dist/cjs/LandingScreen-6YsWMMj3.js +1 -0
  44. package/dist/cjs/{LinkConflictScreen-BsgVq6Bs.js → LinkConflictScreen-DC4hgB0t.js} +1 -1
  45. package/dist/cjs/LinkEmailScreen-BbDbprJy.js +1 -0
  46. package/dist/cjs/{LinkPasskeyScreen-D9Y8PpKL.js → LinkPasskeyScreen-DP4u6Lgj.js} +1 -1
  47. package/dist/cjs/LinkPhoneScreen-B6D_a4Ej.js +1 -0
  48. package/dist/cjs/LoginFailedScreen-BDDXHvvn.js +1 -0
  49. package/dist/cjs/ManualTransferScreen-DQTp_iKx.js +1 -0
  50. package/dist/cjs/MfaAuthEnrollmentFlowScreen-CIbZ0xIA.js +1 -0
  51. package/dist/cjs/MfaAuthVerifyFlowScreen-DCG37dVx.js +1 -0
  52. package/dist/cjs/MfaEnrollmentFlowScreen-BMvFxN4m.js +1 -0
  53. package/dist/cjs/MfaVerifyFlowScreen-A1ir9y_A.js +1 -0
  54. package/dist/cjs/{ModalHeader-C5Wuo3-1.js → ModalHeader-DIWI7Qd8.js} +1 -1
  55. package/dist/cjs/MoonpayStatusScreen-DJIqzTLu.js +16 -0
  56. package/dist/cjs/OAuthStatusScreen-3YsQvDT2.js +1 -0
  57. package/dist/cjs/PasskeySelectSignupOrLogin-CPzx0bS6.js +1 -0
  58. package/dist/cjs/PasskeyStatusScreen-Y0HfrSs0.js +3 -0
  59. package/dist/cjs/PasswordRecoveryScreen-DnBSIkCR.js +20 -0
  60. package/dist/cjs/{QrCode-Bbg48Zky.js → QrCode-DgJWNtET.js} +1 -1
  61. package/dist/cjs/RecoveryOAuthStatusScreen-O90TAb-V.js +1 -0
  62. package/dist/cjs/RecoveryPasswordCreateScreen-CSEj-YHC.js +1 -0
  63. package/dist/cjs/{RecoverySelectionScreen-5crBwkcF.js → RecoverySelectionScreen-ASIhYmAi.js} +2 -2
  64. package/dist/cjs/{Screen-DWnRbzSA.js → Screen-QiXdkVhj.js} +1 -1
  65. package/dist/cjs/{ScreenLayout-C4QHZMbl.js → ScreenLayout-BKim1Ivq.js} +1 -1
  66. package/dist/cjs/{SelectSourceAsset-Mzj-MSFd.js → SelectSourceAsset-Bvvzhx1z.js} +1 -1
  67. package/dist/cjs/{SetAutomaticRecoveryScreen-CYXvomBY.js → SetAutomaticRecoveryScreen-xWSOwMal.js} +2 -2
  68. package/dist/cjs/{SetWalletPasswordForm-BCdbqkFk.js → SetWalletPasswordForm-If1qCSys.js} +1 -1
  69. package/dist/cjs/SignRequestScreen-BsqcuRPT.js +26 -0
  70. package/dist/cjs/{StandardSignAndSendTransactionScreen-BM1NyC8e.js → StandardSignAndSendTransactionScreen-CwrOUIqL.js} +3 -3
  71. package/dist/cjs/TelegramAuthScreen-CCy2dkrp.js +1 -0
  72. package/dist/cjs/{TransactionDetails-BisPbyIV.js → TransactionDetails-6PDseXbG.js} +1 -1
  73. package/dist/cjs/{TransactionErrorView-OoipbwSa.js → TransactionErrorView-kWt_0R3I.js} +1 -1
  74. package/dist/cjs/{TransferFromWalletScreen-BItctfpp.js → TransferFromWalletScreen-0TLfcjLe.js} +1 -1
  75. package/dist/cjs/{TransferOrBridgeLoadingScreen-DsutKbzS.js → TransferOrBridgeLoadingScreen-BkGgll1g.js} +1 -1
  76. package/dist/cjs/UpdateEmailScreen-Bk2OG5C2.js +1 -0
  77. package/dist/cjs/UpdatePhoneScreen-BBSNlATd.js +1 -0
  78. package/dist/cjs/UserLimitReachedScreen-CI5im3l3.js +1 -0
  79. package/dist/cjs/{WalletInfoCard-B7ARTvO5.js → WalletInfoCard-BkhIxyu0.js} +1 -1
  80. package/dist/cjs/WalletInterstitialScreen-DVj91uDW.js +1 -0
  81. package/dist/cjs/{WalletLink-CRWOuFlx.js → WalletLink-BNAUeqsj.js} +1 -1
  82. package/dist/cjs/{WalletOverflowButton-BMn1cJfA.js → WalletOverflowButton-CYOV-_Ot.js} +1 -1
  83. package/dist/cjs/abstract-smart-wallets.js +1 -1
  84. package/dist/cjs/{context-Cg3IEi80.js → context-RXM4aLoW.js} +1 -1
  85. package/dist/cjs/{ethers-p3w-Ig2U.js → ethers-1Tcci65u.js} +1 -1
  86. package/dist/cjs/extended-chains.js +1 -1
  87. package/dist/cjs/get-entropy-details-for-user-CfpHdOOL.js +1 -0
  88. package/dist/cjs/getErc20Balance-D3GMY7bi.js +1 -0
  89. package/dist/cjs/getErc20TokenInfo-D7Op14dW.js +1 -0
  90. package/dist/cjs/index-Cg7lD262.js +174 -0
  91. package/dist/cjs/index-ChrxGj1W.js +12 -0
  92. package/dist/cjs/{index-B6eKyGL-.js → index-D31YtUmO.js} +1 -1
  93. package/dist/cjs/index.js +1 -1
  94. package/dist/cjs/internal.js +1 -1
  95. package/dist/cjs/{privy-context-CrM9_s6G.js → privy-context-CJMUK9qU.js} +1 -1
  96. package/dist/cjs/reservoir-BE47XwpJ.js +1 -0
  97. package/dist/cjs/{shared-CiNVwcTc.js → shared-CX36Xo8K.js} +1 -1
  98. package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-BUJZ4s-V.js → shouldProceedtoEmbeddedWalletCreationFlow-CPd-uKKS.js} +1 -1
  99. package/dist/cjs/smart-wallets-W-C3-7mX.js +1 -0
  100. package/dist/cjs/smart-wallets.js +1 -1
  101. package/dist/cjs/solana.js +1 -1
  102. package/dist/cjs/{styles-B1M_BS_A.js → styles-CZ7NmfYl.js} +1 -1
  103. package/dist/cjs/{to-ui-error-CS08QD8Q.js → to-ui-error-waPPZTE3.js} +1 -1
  104. package/dist/cjs/ui.js +1 -1
  105. package/dist/cjs/use-export-wallet-D-UqGx7Q.js +1 -0
  106. package/dist/cjs/use-export-wallet-w7BPerzn.js +1 -0
  107. package/dist/cjs/useActiveWallet-mN0aJ9Aw.js +185 -0
  108. package/dist/cjs/{useGetTokenPrice-CSWuvKuF.js → useGetTokenPrice-DYrgDlJ6.js} +1 -1
  109. package/dist/cjs/{useI18n-DUN0YTKn.js → useI18n-B652ZmJJ.js} +1 -1
  110. package/dist/cjs/usePrivy-NgERWVoo.js +1 -0
  111. package/dist/cjs/{useSolanaRpcClient-DuOWyD1p.js → useSolanaRpcClient-H6-9qxr1.js} +1 -1
  112. package/dist/cjs/useWalletBalance-BoqIc-xj.js +1 -0
  113. package/dist/cjs/useWallets-TGALIhje.js +1 -0
  114. package/dist/dts/{events-context-BXis4NRh.d.mts → events-context-B-xMLvZ9.d.mts} +1 -1
  115. package/dist/dts/{events-context-BXis4NRh.d.ts → events-context-B-xMLvZ9.d.ts} +1 -1
  116. package/dist/dts/extended-chains.d.mts +1 -1
  117. package/dist/dts/extended-chains.d.ts +1 -1
  118. package/dist/dts/farcaster.d.mts +1 -1
  119. package/dist/dts/farcaster.d.ts +1 -1
  120. package/dist/dts/index.d.mts +4 -38
  121. package/dist/dts/index.d.ts +4 -38
  122. package/dist/dts/internal.d.mts +1 -1
  123. package/dist/dts/internal.d.ts +1 -1
  124. package/dist/dts/smart-wallets.d.mts +1 -1
  125. package/dist/dts/smart-wallets.d.ts +1 -1
  126. package/dist/dts/solana.d.mts +3 -3
  127. package/dist/dts/solana.d.ts +3 -3
  128. package/dist/dts/{types-Bc9w_mgT.d.mts → types-CHmbtLnY.d.mts} +1 -1
  129. package/dist/dts/{types-Bc9w_mgT.d.ts → types-CHmbtLnY.d.ts} +1 -1
  130. package/dist/dts/ui.d.mts +1 -1
  131. package/dist/dts/ui.d.ts +1 -1
  132. package/dist/esm/AccountNotFoundScreen-iWb1klHB.mjs +1 -0
  133. package/dist/esm/{Address-N-mzBgMy.mjs → Address-PwZSXm9b.mjs} +1 -1
  134. package/dist/esm/AffirmativeConsentScreen-TmfMGlOl.mjs +6 -0
  135. package/dist/esm/AllowlistRejectionScreen-Bg7x1RNv.mjs +1 -0
  136. package/dist/esm/AuthenticateWithWalletScreen-Bfceh8Ep.mjs +1 -0
  137. package/dist/esm/AwaitingEvmToSolBridgingScreen-CPok6C1U.mjs +2 -0
  138. package/dist/esm/AwaitingExternalEthereumTransferScreen-DJ5AqFjU.mjs +2 -0
  139. package/dist/esm/AwaitingPasswordlessCodeScreen-BFhcvo2a.mjs +103 -0
  140. package/dist/esm/AwaitingSolToEvmBridgingScreen-yiXjF4aq.mjs +2 -0
  141. package/dist/esm/BridgeNetworkSelectionView-DTgXCOhN.mjs +69 -0
  142. package/dist/esm/CaptchaScreen-BPixv0U9.mjs +1 -0
  143. package/dist/esm/CoinbaseOnrampStatusScreen-BYIZM_n_.mjs +16 -0
  144. package/dist/esm/ConnectEmailForm-BCqawfO-.mjs +3 -0
  145. package/dist/esm/ConnectLedgerScreen-0WQeyQIz.mjs +9 -0
  146. package/dist/esm/ConnectOnlyLandingScreen-BHOEo5M4.mjs +1 -0
  147. package/dist/esm/ConnectOnlyStatusScreen-CCxiAXex.mjs +1 -0
  148. package/dist/esm/ConnectOrCreateScreen-BnN5Eocd.mjs +1 -0
  149. package/dist/esm/{ConnectPhoneForm-DP4LRtUG.mjs → ConnectPhoneForm-DCm_Nfv1.mjs} +1 -1
  150. package/dist/esm/{ConnectWalletView-pxEyo8WM.mjs → ConnectWalletView-DSry6Xg-.mjs} +1 -1
  151. package/dist/esm/ConnectionStatusScreen-CS1PwenJ.mjs +7 -0
  152. package/dist/esm/CrossAppAuthScreen-XZ2iPEDY.mjs +1 -0
  153. package/dist/esm/{CustomLandingScreenView-BxAx1Co_.mjs → CustomLandingScreenView-l2CDbRP5.mjs} +1 -1
  154. package/dist/esm/DelegatedActionsConsentScreen-C0Dc6Xjx.mjs +1 -0
  155. package/dist/esm/DelegatedActionsRevokeScreen-uqLZgEZY.mjs +1 -0
  156. package/dist/esm/EmbeddedWalletConnectingScreen-Ber6xBu2.mjs +1 -0
  157. package/dist/esm/EmbeddedWalletCreatedScreen-Cf2s9crl.mjs +1 -0
  158. package/dist/esm/{EmbeddedWalletKeyExportScreen-B3GsSPLG.mjs → EmbeddedWalletKeyExportScreen-DTqkrVOj.mjs} +1 -1
  159. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-CRJF2oQX.mjs +1 -0
  160. package/dist/esm/EmbeddedWalletPasswordUpdateScreen-BnFOssqj.mjs +1 -0
  161. package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-CypdEeoF.mjs +1 -0
  162. package/dist/esm/{EnrollTotp-V5tLY1MZ.mjs → EnrollTotp-BMGn5sqG.mjs} +1 -1
  163. package/dist/esm/ErrorScreen-DYZatCfj.mjs +4 -0
  164. package/dist/esm/{FarcasterConnectStatusScreen-DmhyV2vW.mjs → FarcasterConnectStatusScreen-DDm7pIDd.mjs} +4 -4
  165. package/dist/esm/FarcasterSignerStatusScreen-DlCt0kxK.mjs +28 -0
  166. package/dist/esm/FiatOnrampScreen-isedatpo.mjs +86 -0
  167. package/dist/esm/FundSolWalletWithExternalSolanaWallet-gBuJgt9U.mjs +1 -0
  168. package/dist/esm/{FundWalletMethodHeader-Cb-ACySl.mjs → FundWalletMethodHeader-dEfQKUIt.mjs} +1 -1
  169. package/dist/esm/{FundWithBankDepositScreen--e9rfZCc.mjs → FundWithBankDepositScreen-CslZ9KKD.mjs} +2 -2
  170. package/dist/esm/FundingEditAmountScreen-x1Yf2Eyo.mjs +1 -0
  171. package/dist/esm/FundingMethodSelectionScreen-CsMVaK3F.mjs +1 -0
  172. package/dist/esm/InAppBrowserLoginNotPossible-BdS_u6t4.mjs +1 -0
  173. package/dist/esm/InstallWalletScreen-BeYedfev.mjs +1 -0
  174. package/dist/esm/LandingScreen-DUDImYql.mjs +1 -0
  175. package/dist/esm/{LinkConflictScreen-CElxCrSW.mjs → LinkConflictScreen-ClUq6bHA.mjs} +6 -6
  176. package/dist/esm/LinkEmailScreen-DXSe8U9d.mjs +1 -0
  177. package/dist/esm/{LinkPasskeyScreen-DmtRo8xi.mjs → LinkPasskeyScreen-C1QMXwHt.mjs} +6 -6
  178. package/dist/esm/LinkPhoneScreen-CRXA4Hy0.mjs +1 -0
  179. package/dist/esm/LoginFailedScreen-BWx9URVV.mjs +1 -0
  180. package/dist/esm/ManualTransferScreen-CGq7L0Ci.mjs +1 -0
  181. package/dist/esm/MfaAuthEnrollmentFlowScreen-CDtJNWv8.mjs +1 -0
  182. package/dist/esm/MfaAuthVerifyFlowScreen-DT0vQYdD.mjs +1 -0
  183. package/dist/esm/MfaEnrollmentFlowScreen-DoVI0gRh.mjs +1 -0
  184. package/dist/esm/MfaVerifyFlowScreen-p8IPHVQN.mjs +1 -0
  185. package/dist/esm/{ModalHeader-BnVmXtvG.mjs → ModalHeader-Duq1Izpl.mjs} +1 -1
  186. package/dist/esm/MoonpayStatusScreen-C1Z_6gNn.mjs +16 -0
  187. package/dist/esm/OAuthStatusScreen-BTVsCmCg.mjs +1 -0
  188. package/dist/esm/PasskeySelectSignupOrLogin-B-onsqZo.mjs +1 -0
  189. package/dist/esm/PasskeyStatusScreen-B1umlQqV.mjs +3 -0
  190. package/dist/esm/PasswordRecoveryScreen-I3ZUDm0-.mjs +20 -0
  191. package/dist/esm/{QrCode-B84kEIjT.mjs → QrCode-DZ4mEmXc.mjs} +1 -1
  192. package/dist/esm/RecoveryOAuthStatusScreen-GJOLz9Qg.mjs +1 -0
  193. package/dist/esm/RecoveryPasswordCreateScreen-BnvmaEYh.mjs +1 -0
  194. package/dist/esm/{RecoverySelectionScreen-CFkgwzMS.mjs → RecoverySelectionScreen-iOlIYqRe.mjs} +2 -2
  195. package/dist/esm/{Screen-Cycy3IzT.mjs → Screen-Ce8BE24H.mjs} +1 -1
  196. package/dist/esm/{ScreenLayout-D1p_ntex.mjs → ScreenLayout-B6n5Feil.mjs} +1 -1
  197. package/dist/esm/{SelectSourceAsset-C10HQdge.mjs → SelectSourceAsset-zsEmZ5td.mjs} +1 -1
  198. package/dist/esm/{SetAutomaticRecoveryScreen-CaXj1unh.mjs → SetAutomaticRecoveryScreen-BS08blBS.mjs} +2 -2
  199. package/dist/esm/{SetWalletPasswordForm-CbtQ4DZ1.mjs → SetWalletPasswordForm-Dptwfaam.mjs} +1 -1
  200. package/dist/esm/{SignRequestScreen-CKO-pLHy.mjs → SignRequestScreen-DSZ9BlSE.mjs} +1 -1
  201. package/dist/esm/{StandardSignAndSendTransactionScreen-Cya0O4wv.mjs → StandardSignAndSendTransactionScreen-BxF1ai6w.mjs} +2 -2
  202. package/dist/esm/TelegramAuthScreen-BgAQJBxJ.mjs +1 -0
  203. package/dist/esm/{TransactionDetails-DqFIa7IO.mjs → TransactionDetails-CVClqqlA.mjs} +1 -1
  204. package/dist/esm/{TransactionErrorView-BjaCgZpa.mjs → TransactionErrorView-B_dlkXgb.mjs} +1 -1
  205. package/dist/esm/{TransferFromWalletScreen-DMoSgPhn.mjs → TransferFromWalletScreen-7dBrxdtu.mjs} +2 -2
  206. package/dist/esm/{TransferOrBridgeLoadingScreen-DVeIRghG.mjs → TransferOrBridgeLoadingScreen-CknmH__D.mjs} +1 -1
  207. package/dist/esm/UpdateEmailScreen-COQBeTV_.mjs +1 -0
  208. package/dist/esm/UpdatePhoneScreen-SH0ZMLhy.mjs +1 -0
  209. package/dist/esm/UserLimitReachedScreen-Bbjr58Rh.mjs +1 -0
  210. package/dist/esm/{WalletInfoCard-CEcdukTg.mjs → WalletInfoCard-CSqr9o--.mjs} +1 -1
  211. package/dist/esm/WalletInterstitialScreen-C62appnM.mjs +1 -0
  212. package/dist/esm/{WalletLink-DNbGmOPX.mjs → WalletLink-WeWEMb7C.mjs} +1 -1
  213. package/dist/esm/{WalletOverflowButton-CPDxFP5w.mjs → WalletOverflowButton-XkatV0nc.mjs} +1 -1
  214. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  215. package/dist/esm/context-aGvo4MVQ.mjs +1 -0
  216. package/dist/esm/{ethers-Dnv1tMN3.mjs → ethers-BNftJuZG.mjs} +1 -1
  217. package/dist/esm/extended-chains.mjs +1 -1
  218. package/dist/esm/farcaster.mjs +1 -1
  219. package/dist/esm/{frame-uzTmvtww.mjs → frame-CjhCpycO.mjs} +1 -1
  220. package/dist/esm/get-entropy-details-for-user-DkZdXKpr.mjs +1 -0
  221. package/dist/esm/getErc20Balance-B5YTRX0-.mjs +1 -0
  222. package/dist/esm/getErc20TokenInfo-Dx_e_xiA.mjs +1 -0
  223. package/dist/esm/index-6ULxuXBn.mjs +12 -0
  224. package/dist/esm/{index-CvvUk2Lm.mjs → index-BmQvaRvI.mjs} +1 -1
  225. package/dist/esm/index-D23O4czL.mjs +174 -0
  226. package/dist/esm/index.mjs +1 -1
  227. package/dist/esm/{internal-context-Z-fyxadS.mjs → internal-context-C4ZqP8IF.mjs} +1 -1
  228. package/dist/esm/internal.mjs +1 -1
  229. package/dist/esm/{paths-3HW55qZg.mjs → paths-BzM95ysC.mjs} +1 -1
  230. package/dist/esm/{privy-context-DrMxzgOR.mjs → privy-context-CkPtrpbt.mjs} +1 -1
  231. package/dist/esm/reservoir-DGil2p_K.mjs +1 -0
  232. package/dist/esm/{shared-DhWmkz5T.mjs → shared-BivH4vdQ.mjs} +1 -1
  233. package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-D2ZT5lW9.mjs → shouldProceedtoEmbeddedWalletCreationFlow-BSnOzrud.mjs} +1 -1
  234. package/dist/esm/smart-wallets-BhZ-uX3v.mjs +1 -0
  235. package/dist/esm/smart-wallets.mjs +1 -1
  236. package/dist/esm/solana.mjs +1 -1
  237. package/dist/esm/{styles-DDaGxKdi.mjs → styles--34ZnZR_.mjs} +1 -1
  238. package/dist/esm/{to-ui-error-YOQlKk5D.mjs → to-ui-error-DgTXOCnh.mjs} +2 -2
  239. package/dist/esm/ui.mjs +9 -9
  240. package/dist/esm/use-export-wallet-BqvE_ud1.mjs +1 -0
  241. package/dist/esm/use-export-wallet-Db8GdSAT.mjs +1 -0
  242. package/dist/esm/{use-sign-with-user-signer-Do5Oi_rb.mjs → use-sign-with-user-signer-BYctG7hm.mjs} +1 -1
  243. package/dist/esm/useActiveWallet-By6UNJY1.mjs +185 -0
  244. package/dist/esm/{useGetSolPrice-DwwjjGbd.mjs → useGetSolPrice-DaxM-vxD.mjs} +1 -1
  245. package/dist/esm/{useGetTokenPrice-LPJMl6JV.mjs → useGetTokenPrice-CveNETyP.mjs} +1 -1
  246. package/dist/esm/{useI18n-C4fmUAf3.mjs → useI18n-D3p37xc_.mjs} +1 -1
  247. package/dist/esm/usePrivy-DPZ1iMmn.mjs +1 -0
  248. package/dist/esm/{useSolanaRpcClient-71aYSqHX.mjs → useSolanaRpcClient-DgxuhW6A.mjs} +1 -1
  249. package/dist/esm/useWalletBalance-DyK680KW.mjs +1 -0
  250. package/dist/esm/useWallets-DHM1PNtl.mjs +1 -0
  251. package/package.json +8 -7
  252. package/dist/cjs/AccountNotFoundScreen-B3YeQpWL.js +0 -1
  253. package/dist/cjs/AffirmativeConsentScreen-BxXaVIHv.js +0 -6
  254. package/dist/cjs/AllowlistRejectionScreen-BD_J-XYk.js +0 -1
  255. package/dist/cjs/AuthenticateWithWalletScreen-Cq6uIAU2.js +0 -1
  256. package/dist/cjs/AwaitingEvmToSolBridgingScreen-4-zu3acA.js +0 -2
  257. package/dist/cjs/AwaitingExternalEthereumTransferScreen-D29PTwhu.js +0 -2
  258. package/dist/cjs/AwaitingPasswordlessCodeScreen-C1mky_bR.js +0 -103
  259. package/dist/cjs/AwaitingSolToEvmBridgingScreen-C8F1Te8E.js +0 -2
  260. package/dist/cjs/BridgeNetworkSelectionView-DKogJoIK.js +0 -69
  261. package/dist/cjs/CaptchaScreen-DBhEtYLQ.js +0 -1
  262. package/dist/cjs/CoinbaseOnrampStatusScreen-Dfnox1A2.js +0 -16
  263. package/dist/cjs/ConnectEmailForm-CnoGdJHM.js +0 -3
  264. package/dist/cjs/ConnectLedgerScreen-C65stJPS.js +0 -9
  265. package/dist/cjs/ConnectOnlyLandingScreen-CtEavMfn.js +0 -1
  266. package/dist/cjs/ConnectOnlyStatusScreen-_MF8WNxi.js +0 -1
  267. package/dist/cjs/ConnectOrCreateScreen-Dio0_2A7.js +0 -1
  268. package/dist/cjs/ConnectionStatusScreen-D2KorLaB.js +0 -7
  269. package/dist/cjs/CrossAppAuthScreen-Hg4b16x6.js +0 -1
  270. package/dist/cjs/DelegatedActionsConsentScreen-Sexxy676.js +0 -1
  271. package/dist/cjs/DelegatedActionsRevokeScreen-3ghpT6XE.js +0 -1
  272. package/dist/cjs/EmbeddedWalletConnectingScreen-Br1aDNP5.js +0 -1
  273. package/dist/cjs/EmbeddedWalletCreatedScreen-BpEQig7I.js +0 -1
  274. package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-DjbrcMWa.js +0 -1
  275. package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-BakLaUGz.js +0 -1
  276. package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-sIrTUqTo.js +0 -1
  277. package/dist/cjs/ErrorScreen-CL31INic.js +0 -4
  278. package/dist/cjs/FarcasterSignerStatusScreen-CZMxSZ2B.js +0 -29
  279. package/dist/cjs/FiatOnrampScreen-BWE-wzus.js +0 -86
  280. package/dist/cjs/FundSolWalletWithExternalSolanaWallet-e1pL6w1L.js +0 -2
  281. package/dist/cjs/FundingEditAmountScreen-CIOt-oGd.js +0 -1
  282. package/dist/cjs/FundingMethodSelectionScreen-BGeCpJBJ.js +0 -1
  283. package/dist/cjs/InAppBrowserLoginNotPossible-CywcWPkZ.js +0 -1
  284. package/dist/cjs/InstallWalletScreen-JfaInrUT.js +0 -1
  285. package/dist/cjs/LandingScreen-CfjeYypD.js +0 -1
  286. package/dist/cjs/LinkEmailScreen-DFTW39Tg.js +0 -1
  287. package/dist/cjs/LinkPhoneScreen-C2upPfpV.js +0 -1
  288. package/dist/cjs/LoginFailedScreen-BIu3aXER.js +0 -1
  289. package/dist/cjs/ManualTransferScreen-CV6De31D.js +0 -1
  290. package/dist/cjs/MfaAuthEnrollmentFlowScreen-BWPXMD7y.js +0 -1
  291. package/dist/cjs/MfaAuthVerifyFlowScreen-BUmI5UD9.js +0 -1
  292. package/dist/cjs/MfaEnrollmentFlowScreen-DtN8H9mT.js +0 -1
  293. package/dist/cjs/MfaVerifyFlowScreen-DJJ9kTZP.js +0 -1
  294. package/dist/cjs/MoonpayStatusScreen-w3skMb5T.js +0 -16
  295. package/dist/cjs/OAuthStatusScreen-G1IaSk2E.js +0 -1
  296. package/dist/cjs/PasskeySelectSignupOrLogin-BsYJUF4P.js +0 -1
  297. package/dist/cjs/PasskeyStatusScreen-hu8v0vH3.js +0 -3
  298. package/dist/cjs/PasswordRecoveryScreen-C0fjY1Ij.js +0 -20
  299. package/dist/cjs/RecoveryOAuthStatusScreen-Bv2UEdKD.js +0 -1
  300. package/dist/cjs/RecoveryPasswordCreateScreen-CFg7-HMy.js +0 -1
  301. package/dist/cjs/SignRequestScreen-BfqKiJ9G.js +0 -26
  302. package/dist/cjs/TelegramAuthScreen-D1eqNUPF.js +0 -1
  303. package/dist/cjs/UpdateEmailScreen-BvoRUAa3.js +0 -1
  304. package/dist/cjs/UpdatePhoneScreen-a-ISQK3q.js +0 -1
  305. package/dist/cjs/UserLimitReachedScreen-twyMZzVF.js +0 -1
  306. package/dist/cjs/WalletInterstitialScreen-D0fMvmub.js +0 -1
  307. package/dist/cjs/getErc20Balance-CTO0RtgK.js +0 -1
  308. package/dist/cjs/getErc20TokenInfo-D0BUvlN2.js +0 -1
  309. package/dist/cjs/index-DchMyzt9.js +0 -174
  310. package/dist/cjs/index-DrQAmIx6.js +0 -12
  311. package/dist/cjs/reservoir-Bx0HQwbb.js +0 -1
  312. package/dist/cjs/smart-wallets-COAgLX4N.js +0 -1
  313. package/dist/cjs/use-export-wallet-DknByx6S.js +0 -1
  314. package/dist/cjs/use-export-wallet-_EIyxyle.js +0 -1
  315. package/dist/cjs/useActiveWallet-BfMD5hzE.js +0 -185
  316. package/dist/cjs/usePrivy-C-Rab7yP.js +0 -1
  317. package/dist/cjs/useWalletBalance-v_jFKi4B.js +0 -1
  318. package/dist/cjs/useWallets-DX7GoSc-.js +0 -1
  319. package/dist/cjs/useWallets-dikDynAG.js +0 -1
  320. package/dist/esm/AccountNotFoundScreen-D59Em28p.mjs +0 -1
  321. package/dist/esm/AffirmativeConsentScreen-nijRFoNp.mjs +0 -6
  322. package/dist/esm/AllowlistRejectionScreen-CpZy18yk.mjs +0 -1
  323. package/dist/esm/AuthenticateWithWalletScreen-BWicCqKg.mjs +0 -1
  324. package/dist/esm/AwaitingEvmToSolBridgingScreen-Bca7Dq5r.mjs +0 -2
  325. package/dist/esm/AwaitingExternalEthereumTransferScreen-NbFK0A1q.mjs +0 -2
  326. package/dist/esm/AwaitingPasswordlessCodeScreen-cLUlwC9S.mjs +0 -103
  327. package/dist/esm/AwaitingSolToEvmBridgingScreen-CXPb-Ukz.mjs +0 -2
  328. package/dist/esm/BridgeNetworkSelectionView-CiJQDIy_.mjs +0 -69
  329. package/dist/esm/CaptchaScreen-Cu3_cr8h.mjs +0 -1
  330. package/dist/esm/CoinbaseOnrampStatusScreen-lD0tNDQe.mjs +0 -16
  331. package/dist/esm/ConnectEmailForm-bgA9z3L3.mjs +0 -3
  332. package/dist/esm/ConnectLedgerScreen-BbsW8DSt.mjs +0 -9
  333. package/dist/esm/ConnectOnlyLandingScreen-D7uxtarL.mjs +0 -1
  334. package/dist/esm/ConnectOnlyStatusScreen-DpKUDVIK.mjs +0 -1
  335. package/dist/esm/ConnectOrCreateScreen-BNNYF6Ns.mjs +0 -1
  336. package/dist/esm/ConnectionStatusScreen-Dfv_mgId.mjs +0 -7
  337. package/dist/esm/CrossAppAuthScreen-BOCFddJL.mjs +0 -1
  338. package/dist/esm/DelegatedActionsConsentScreen-CS1yCHBG.mjs +0 -1
  339. package/dist/esm/DelegatedActionsRevokeScreen-Cw1FPv8x.mjs +0 -1
  340. package/dist/esm/EmbeddedWalletConnectingScreen-DGY8j-Si.mjs +0 -1
  341. package/dist/esm/EmbeddedWalletCreatedScreen-DLR7TF4o.mjs +0 -1
  342. package/dist/esm/EmbeddedWalletOnAccountCreateScreen-ColmQZ-q.mjs +0 -1
  343. package/dist/esm/EmbeddedWalletPasswordUpdateScreen-BRG9dsaW.mjs +0 -1
  344. package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-B3cMml6w.mjs +0 -1
  345. package/dist/esm/ErrorScreen-sNIfGI6q.mjs +0 -4
  346. package/dist/esm/FarcasterSignerStatusScreen-DqEULwox.mjs +0 -28
  347. package/dist/esm/FiatOnrampScreen-A5_TNfEg.mjs +0 -86
  348. package/dist/esm/FundSolWalletWithExternalSolanaWallet-Cy3gO2rc.mjs +0 -1
  349. package/dist/esm/FundingEditAmountScreen-BLmy4zpf.mjs +0 -1
  350. package/dist/esm/FundingMethodSelectionScreen-CFTtSc8T.mjs +0 -1
  351. package/dist/esm/InAppBrowserLoginNotPossible-BcEZlehe.mjs +0 -1
  352. package/dist/esm/InstallWalletScreen-CtJuryxO.mjs +0 -1
  353. package/dist/esm/LandingScreen-yPpishM-.mjs +0 -1
  354. package/dist/esm/LinkEmailScreen-C08N0_oz.mjs +0 -1
  355. package/dist/esm/LinkPhoneScreen-aZRsfGsF.mjs +0 -1
  356. package/dist/esm/LoginFailedScreen-C8ktIEOG.mjs +0 -1
  357. package/dist/esm/ManualTransferScreen-DiSMGPNF.mjs +0 -1
  358. package/dist/esm/MfaAuthEnrollmentFlowScreen-DnpsjnqC.mjs +0 -1
  359. package/dist/esm/MfaAuthVerifyFlowScreen-cdXMRh6f.mjs +0 -1
  360. package/dist/esm/MfaEnrollmentFlowScreen-_yDQyI2u.mjs +0 -1
  361. package/dist/esm/MfaVerifyFlowScreen-lPVdBldW.mjs +0 -1
  362. package/dist/esm/MoonpayStatusScreen-tZ8mdR2X.mjs +0 -16
  363. package/dist/esm/OAuthStatusScreen-GWwbWdSi.mjs +0 -1
  364. package/dist/esm/PasskeySelectSignupOrLogin-Dl5rDsw7.mjs +0 -1
  365. package/dist/esm/PasskeyStatusScreen-2znvW7Lc.mjs +0 -3
  366. package/dist/esm/PasswordRecoveryScreen-DBLHkrI_.mjs +0 -20
  367. package/dist/esm/RecoveryOAuthStatusScreen-7cATjPBS.mjs +0 -1
  368. package/dist/esm/RecoveryPasswordCreateScreen-OrukIxHX.mjs +0 -1
  369. package/dist/esm/TelegramAuthScreen-DMBY4HLl.mjs +0 -1
  370. package/dist/esm/UpdateEmailScreen-Dtbkg-xg.mjs +0 -1
  371. package/dist/esm/UpdatePhoneScreen-DJzzJhXJ.mjs +0 -1
  372. package/dist/esm/UserLimitReachedScreen-DsJc40Yi.mjs +0 -1
  373. package/dist/esm/WalletInterstitialScreen-CK6FWlf-.mjs +0 -1
  374. package/dist/esm/context-DLtU3JQy.mjs +0 -1
  375. package/dist/esm/getErc20Balance-o7J9W1su.mjs +0 -1
  376. package/dist/esm/getErc20TokenInfo-wKW6b8bj.mjs +0 -1
  377. package/dist/esm/index-B7Y-7rkw.mjs +0 -12
  378. package/dist/esm/index-YDEix4mU.mjs +0 -174
  379. package/dist/esm/reservoir-0wfhnc0j.mjs +0 -1
  380. package/dist/esm/smart-wallets-l4nwJjoH.mjs +0 -1
  381. package/dist/esm/use-export-wallet-BMt6c-lN.mjs +0 -1
  382. package/dist/esm/use-export-wallet-_wu5ex5t.mjs +0 -1
  383. package/dist/esm/useActiveWallet-CvP7iYvj.mjs +0 -185
  384. package/dist/esm/usePrivy-C_sY2Duk.mjs +0 -1
  385. package/dist/esm/useWalletBalance-RmRvKAUV.mjs +0 -1
  386. package/dist/esm/useWallets-BzNCTucF.mjs +0 -1
  387. package/dist/esm/useWallets-z8NFrORr.mjs +0 -1
@@ -0,0 +1,185 @@
1
+ import{useEffect as e,useState as t,createContext as n,useContext as i,useMemo as a,useCallback as l}from"react";import{create as o}from"zustand";import{u as r,n as s,o as c,p as d}from"./context-aGvo4MVQ.mjs";import{isAddress as h}from"viem";import{getAddress as p,toHex as u}from"viem/utils";import{P as m,u as w}from"./internal-context-C4ZqP8IF.mjs";import{r as y,o as g,n as f,c as b,i as v,a as x,f as k,w as C,S as _}from"./use-export-wallet-Db8GdSAT.mjs";import{jsxs as T,jsx as z}from"react/jsx-runtime";import*as $ from"react-device-detect";import{styled as P,css as S}from"styled-components";import{u as j}from"./events-context-CI0iqAXA.mjs";import{P as I}from"./privy-context-CkPtrpbt.mjs";import{u as N}from"./get-entropy-details-for-user-DkZdXKpr.mjs";const E=o((()=>({listings:[],loading:!1}))),L=E.setState,A=e=>E.getState().listings.find((({slug:t})=>R(t)===R(e))),O=e=>{let t;try{t=new URL(e).hostname}catch(e){return}return E.getState().listings.find((({homepage:e})=>{let n;try{n=new URL(e).hostname}catch(e){return!1}return t.includes(n)}))},U=(t=!0)=>{let n=r(),i=E((e=>e.listings)),a=E((e=>e.loading)),l=!!i.length;return e((()=>{t&&!l&&(L({listings:[],loading:!0}),(async e=>{let t=new URL("v3/wallets","https://explorer-api.walletconnect.com");t.searchParams.append("projectId",e);let n=await fetch(t);return n.ok?Object.values((await n.json()).listings).sort((({slug:e},{slug:t})=>"rainbow"===e&&"metamask"===t?1:"metamask"===e||"rainbow"===e?-1:1)):(console.debug(`Failed to fetch WalletConnect listings: ${await n.text().catch((()=>"No response."))}`),[])})(n.walletConnectCloudProjectId).then((e=>L({listings:e,loading:!1}))).catch((e=>{console.error(e),L({listings:[],loading:!1})})))}),[t,l,n.walletConnectCloudProjectId]),{listings:i,loading:a}},W=e=>{let{listings:t}=U();return t.find((({slug:t})=>R(t)===R(e)))};function R(e){return"cryptocom"===e?"cryptocom-defi":"binance"===e?"binance-defi":e.replace(/[-_]wallet$/,"")}function M(e){return["wallet_connect","backpack","binance","binanceus","bitget_wallet","bybit_wallet","cryptocom","haha_wallet","jupiter","metamask","okx_wallet","phantom","rabby_wallet","rainbow","ronin_wallet","safe","solflare","uniswap","zerion","kraken_wallet"].some((t=>e?.includes(t)))}function q(e){return"ethereum"===e.type}function B(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],a=t[n];if(i?.address!==a?.address||i&&a&&q(i)&&q(a)&&i?.chainId!==a?.chainId||i?.connectorType!==a?.connectorType||i?.connectedAt!==a?.connectedAt||i?.walletClientType!==a?.walletClientType||i?.isConnected!==a?.isConnected||i?.linked!==a?.linked)return!1}return!0}const D=(e,t)=>e.rpcTimeouts&&e.rpcTimeouts[t]||s;function F(e){return"ethereum"===e.chainType}class J extends y{buildConnectedWallet(e,t,n,i){let a=async()=>!!this.wallets.find((t=>p(t.address)===p(e)));return{type:"ethereum",address:p(e),chainId:t,meta:n,imported:i,switchChain:async n=>{let i,l;if(!a)throw new m("Wallet is not currently connected.");let o=this.wallets.find((t=>p(t.address)===p(e)))?.chainId;if(!o)throw new m("Unable to determine current chainId.");if("number"==typeof n?(i=`0x${n.toString(16)}`,l=n):(i=n,l=Number(n)),o===g(i))return;let r=this.chains.find((e=>e.id===l));if(!r)throw new m(`Unsupported chainId: ${n}`);let s=async()=>{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:i}]})};try{return await s()}catch(e){if(((e,t)=>{switch(t){case"coinbase_wallet":case"base_account":return e.message.includes("addEthereumChain");case"rabby_wallet":return e.message.includes("Unrecognized chain ID");default:return 4902===e.code||e.message?.includes("4902")}})(e,this.walletClientType))return"rabby_wallet"===this.walletClientType&&await f(300),await this.proxyProvider.request({method:"wallet_addEthereumChain",params:[{chainId:i,chainName:r.name,nativeCurrency:r.nativeCurrency,rpcUrls:[r.rpcUrls.default?.http[0]??""],blockExplorerUrls:[r.blockExplorers?.default.url??""]}]}),s();if("rainbow"===this.walletClientType&&e.message?.includes("wallet_switchEthereumChain"))throw new m(`Rainbow does not support the chainId ${t}`);throw e}},connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:a,getEthereumProvider:async()=>{if(!await a())throw new m("Wallet is not currently connected.");return this.proxyProvider},sign:async e=>{if(!await a())throw new m("Wallet is not currently connected.");return await this.sign(e)},disconnect:()=>{this.disconnect()}}}async syncAccounts(e){let t;b.debug("Syncing accounts",{wallet:this.walletClientType});let n=e;try{if(void 0===n){b.rpcRequest("eth_accounts",this.walletClientType);let e=await v((()=>this.proxyProvider.request({method:"eth_accounts"})),{maxAttempts:10,delayMs:500});b.rpcResponse("eth_accounts",this.walletClientType),Array.isArray(e)&&(n=e)}}catch(e){b.warn("Wallet did not respond to eth_accounts, using prefetched accounts",{wallet:this.walletClientType})}if(!n||!Array.isArray(n)||n.length<=0||!n[0])return void b.debug("No accounts found",{wallet:this.walletClientType});let i=n[0];if(!h(i))return;let a=p(i),l=[];if("privy"===this.walletClientType){let e=x.get(c(a));this.chains.find((t=>t.id===Number(e)))||(x.del(c(a)),e=null),t=e||`0x${this.defaultChain.id.toString(16)}`;try{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}catch(e){b.warn("Unable to switch embedded wallet chain on initialization",{wallet:this.walletClientType,chainId:t})}}else try{b.rpcRequest("eth_chainId",this.walletClientType);let e=await v((()=>this.proxyProvider.request({method:"eth_chainId"})),{maxAttempts:10,delayMs:500});if(b.rpcResponse("eth_chainId",this.walletClientType),"string"==typeof e)t=e;else{if("number"!=typeof e)throw Error("Invalid chainId returned from provider");t=`0x${e.toString(16)}`}}catch(e){b.warn("Failed to get chainId from provider, using default",{wallet:this.walletClientType,defaultChainId:d}),t=d}let o=g(t);if(!l.find((e=>p(e.address)===a))){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};l.push(this.buildConnectedWallet(p(i),o,e,"embedded_imported"===this.connectorType))}B(l,this.wallets)||(b.debug("Wallets updated",{wallet:this.walletClientType,address:a,chainId:o}),this.wallets=l,this.emit("walletsUpdated"))}async getConnectedWallet(){let e=await this.proxyProvider.request({method:"eth_accounts"});return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt)).find((t=>e.find((e=>p(e)===p(t.address)))))||null}async isConnected(){let e=await this.proxyProvider.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}async sign(e){return await this.connect({showPrompt:!1}),this.proxyProvider.request({method:"personal_sign",params:[u(e),this.wallets[0]?.address]})}subscribeListeners(){this.proxyProvider.on("accountsChanged",this.onAccountsChanged),this.proxyProvider.on("chainChanged",this.onChainChanged),this.proxyProvider.on("disconnect",this.onDisconnect),this.proxyProvider.on("connect",this.onConnect)}unsubscribeListeners(){this.proxyProvider.removeListener("accountsChanged",this.onAccountsChanged),this.proxyProvider.removeListener("chainChanged",this.onChainChanged),this.proxyProvider.removeListener("disconnect",this.onDisconnect),this.proxyProvider.removeListener("connect",this.onConnect)}constructor(e,t,n,i){super(e),this.chainType="ethereum",this.onAccountsChanged=e=>{b.providerEvent("accountsChanged",this.walletClientType,{accountsCount:e.length}),0===e.length?this.onDisconnect():this.syncAccounts(e)},this.onChainChanged=e=>{b.providerEvent("chainChanged",this.walletClientType,{chainId:e}),this.wallets.forEach((t=>{t.chainId=g(e),"privy"===this.walletClientType&&x.put(c(t.address),e)})),this.emit("walletsUpdated")},this.onDisconnect=()=>{b.providerEvent("disconnect",this.walletClientType),this.connected=!1,this.wallets=[],this.emit("walletsUpdated")},this.onConnect=async()=>{b.providerEvent("connect",this.walletClientType),"base_account"===this.connectorType&&this.connected||(this.connected=!0,"coinbase_wallet"===this.connectorType&&await f(500),this.syncAccounts())},this.wallets=[],this.walletClientType=e,this.chains=t,this.defaultChain=n,this.rpcConfig=i,this.rpcTimeoutDuration=D(i,e),this.connected=!1,this.initialized=!1}}class K{on(e,t){if(this.walletProvider)return this.walletProvider.on(e,t);this._subscriptions.push({eventName:e,listener:t})}async request(e){if(!this.walletProvider)throw new m(`A wallet request of type ${e.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(e),this.walletTimeout()]).catch((e=>{throw k(e)}))}constructor(e,t){this.removeListener=(e,t)=>{if(this.walletProvider)try{return this.walletProvider.removeListener(e,t)}catch(e){console.warn("Unable to remove wallet provider listener")}},this.walletTimeout=(e=new C,t=this.rpcTimeoutDuration)=>new Promise(((n,i)=>setTimeout((()=>{i(e)}),t))),this.setWalletProvider=e=>{this.walletProvider&&this._subscriptions.forEach((e=>{this.removeListener(e.eventName,e.listener)})),this.walletProvider=e,this._subscriptions.forEach((e=>{this.walletProvider?.on(e.eventName,e.listener)}))},this.walletProvider=e,this.rpcTimeoutDuration=t||s,this._subscriptions=[]}}class G extends J{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the EthereumNullConnector")}disconnect(){throw Error("disconnect called for an uninstalled wallet via the EthereumNullConnector")}promptConnection(e){throw Error(`promptConnection called for an uninstalled wallet via the EthereumNullConnector for ${e}`)}constructor({id:e,name:t,icon:n,walletClientType:i,defaultChain:a}){super(i,[],a,{}),this.connectorType="null",this.proxyProvider=new K(void 0,s),this.id=e,this.name=t,this.icon=n}}const H=({...e})=>/*#__PURE__*/T("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",...e,children:[/*#__PURE__*/z("rect",{width:"32",height:"32",rx:"6",fill:"#121314"}),/*#__PURE__*/z("g",{transform:"translate(4, 4)",children:/*#__PURE__*/T("svg",{width:"24",height:"24",viewBox:"0 0 318.6 318.6",children:[/*#__PURE__*/z("style",{children:".s1{stroke-linecap:round;stroke-linejoin:round}.s2{fill:#e4761b;stroke:#e4761b}.s3{fill:#f6851b;stroke:#f6851b}"}),/*#__PURE__*/z("path",{fill:"#e2761b",stroke:"#e2761b",className:"s1",d:"m274.1 35.5-99.5 73.9L193 65.8z"}),/*#__PURE__*/z("path",{d:"m44.4 35.5 98.7 74.6-17.5-44.3zm193.9 171.3-26.5 40.6 56.7 15.6 16.3-55.3zm-204.4.9L50.1 263l56.7-15.6-26.5-40.6z",className:"s1 s2"}),/*#__PURE__*/z("path",{d:"m103.6 138.2-15.8 23.9 56.3 2.5-2-60.5zm111.3 0-39-34.8-1.3 61.2 56.2-2.5zM106.8 247.4l33.8-16.5-29.2-22.8zm71.1-16.5 33.9 16.5-4.7-39.3z",className:"s1 s2"}),/*#__PURE__*/z("path",{fill:"#d7c1b3",stroke:"#d7c1b3",className:"s1",d:"m211.8 247.4-33.9-16.5 2.7 22.1-.3 9.3zm-105 0 31.5 14.9-.2-9.3 2.5-22.1z"}),/*#__PURE__*/z("path",{fill:"#233447",stroke:"#233447",className:"s1",d:"m138.8 193.5-28.2-8.3 19.9-9.1zm40.9 0 8.3-17.4 20 9.1z"}),/*#__PURE__*/z("path",{fill:"#cd6116",stroke:"#cd6116",className:"s1",d:"m106.8 247.4 4.8-40.6-31.3.9zM207 206.8l4.8 40.6 26.5-39.7zm23.8-44.7-56.2 2.5 5.2 28.9 8.3-17.4 20 9.1zm-120.2 23.1 20-9.1 8.2 17.4 5.3-28.9-56.3-2.5z"}),/*#__PURE__*/z("path",{fill:"#e4751f",stroke:"#e4751f",className:"s1",d:"m87.8 162.1 23.6 46-.8-22.9zm120.3 23.1-1 22.9 23.7-46zm-64-20.6-5.3 28.9 6.6 34.1 1.5-44.9zm30.5 0-2.7 18 1.2 45 6.7-34.1z"}),/*#__PURE__*/z("path",{d:"m179.8 193.5-6.7 34.1 4.8 3.3 29.2-22.8 1-22.9zm-69.2-8.3.8 22.9 29.2 22.8 4.8-3.3-6.6-34.1z",className:"s3"}),/*#__PURE__*/z("path",{fill:"#c0ad9e",stroke:"#c0ad9e",className:"s1",d:"m180.3 262.3.3-9.3-2.5-2.2h-37.7l-2.3 2.2.2 9.3-31.5-14.9 11 9 22.3 15.5h38.3l22.4-15.5 11-9z"}),/*#__PURE__*/z("path",{fill:"#161616",stroke:"#161616",className:"s1",d:"m177.9 230.9-4.8-3.3h-27.7l-4.8 3.3-2.5 22.1 2.3-2.2h37.7l2.5 2.2z"}),/*#__PURE__*/z("path",{fill:"#763d16",stroke:"#763d16",className:"s1",d:"m278.3 114.2 8.5-40.8-12.7-37.9-96.2 71.4 37 31.3 52.3 15.3 11.6-13.5-5-3.6 8-7.3-6.2-4.8 8-6.1zM31.8 73.4l8.5 40.8-5.4 4 8 6.1-6.1 4.8 8 7.3-5 3.6 11.5 13.5 52.3-15.3 37-31.3-96.2-71.4z"}),/*#__PURE__*/z("path",{d:"m267.2 153.5-52.3-15.3 15.9 23.9-23.7 46 31.2-.4h46.5zm-163.6-15.3-52.3 15.3-17.4 54.2h46.4l31.1.4-23.6-46zm71 26.4 3.3-57.7 15.2-41.1h-67.5l15 41.1 3.5 57.7 1.2 18.2.1 44.8h27.7l.2-44.8z",className:"s3"})]})})]}),Q=["metamask","phantom","brave_wallet","rainbow","uniswap_wallet_extension","uniswap_extension","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","crypto.com_wallet_extension","crypto.com_onchain","binance","bitget_wallet","coinbase_wallet","coinbase_smart_wallet","base_account","metamask","trust","safe","rainbow","uniswap","zerion","argent","spot","omni","cryptocom","blockchain","safepal","bitget_wallet","zengo","1inch","binance","exodus","mew_wallet","alphawallet","keyring_pro","mathwallet","unstoppable","obvious","ambire","internet_money_wallet","coin98","abc_wallet","arculus_wallet","haha","cling_wallet","broearn","copiosa","burrito_wallet","enjin_wallet","plasma_wallet","avacus","bee","pitaka","pltwallet","minerva","kryptogo","prema","slingshot","kriptonio","timeless","secux","bitizen","blocto","okx_wallet","safemoon","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","privy","unknown","phantom","solflare","glow","backpack","jupiter","mobile_wallet_adapter"],X=Object.freeze({phantom:{client:"phantom",name:"Phantom",installLink:$.isFirefox?"https://addons.mozilla.org/en-US/firefox/addon/phantom-app/":"https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa?hl=en",chainTypes:["ethereum","solana"],get isInstalled(){if("phantom"in window){let e=window;if(e?.phantom?.ethereum?.isPhantom&&e?.phantom?.ethereum?.chainId||e?.phantom?.solana?.isPhantom)return!0}return!1},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"phantom://":"https://phantom.app/ul/"}browse/${i}?ref=${i}`}},solflare:{client:"solflare",name:"Solflare",installLink:$.isFirefox?"https://addons.mozilla.org/es/firefox/addon/solflare-wallet/":"https://chromewebstore.google.com/detail/solflare-wallet/bhhhlbepdkbapadjdnnojkbgioiodbic",chainTypes:["solana"],get isInstalled(){return"solflare"in window&&!!window?.solflare?.isSolflare},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"solflare://ul/v1/":"https://solflare.com/ul/v1/"}browse/${i}?ref=${i}`}},jupiter:{client:"jupiter",name:"Jupiter Wallet",installLink:"https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh",chainTypes:["solana"],get isInstalled(){return"jupiter"in window&&!!window?.jupiter?.isJupiter},getMobileRedirect({isSolana:e,connectOnly:t}){let n=Y({client:this.client,isSolana:e,connectOnly:t});return`jupjupjup://jup.ag/browse/${n}?ref=${n}`}},backpack:{client:"backpack",name:"Backpack",installLink:"https://chromewebstore.google.com/detail/backpack/aflkmfhebedbjioipglgcbcmnbpgliof",chainTypes:["ethereum","solana"],get isInstalled(){return!(!("backpack"in window)||!window?.backpack?.ethereum?.isBackpack&&!window?.backpack?.solana?.isBackpack)},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=Y({client:this.client,isSolana:t,connectOnly:n});return`${e?"backpack://ul/v1/":"https://backpack.app/ul/v1/"}browse/${i}?ref=${i}`}},okx_wallet:{client:"okx_wallet",name:"OKX Wallet",installLink:"https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",chainTypes:["ethereum","solana"],get isInstalled(){return"okxwallet"in window&&!!window?.okxwallet?.isOkxWallet},getMobileRedirect({isSolana:e,connectOnly:t}){return`okx://wallet/dapp/url?dappUrl=${Y({client:this.client,isSolana:e,connectOnly:t})}`}}});function V({connectorType:e,walletClientType:t}){for(let n of Q)if(e===n||t===n)return X[n]}function Y({client:e,isSolana:t,connectOnly:n}){let i=new URL(window.location.href);return i.searchParams.set("privy_connector",t?"solana_adapter":"injected"),i.searchParams.set("privy_wallet_client",e),i.searchParams.set("privy_connect_only",String(n)),encodeURIComponent(i.href.replace(/\/$/g,""))}class Z extends _{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the SolanaNullConnector")}constructor({id:e,name:t,icon:n}){super({name:t},!1),this.connectorType="null",this.proxyProvider=new K(void 0,s),this.disconnect=async()=>{throw Error("disconnect called for an uninstalled wallet via the SolanaNullConnector")},this.promptConnection=async()=>{throw Error("promptConnection called for an uninstalled wallet via the SolanaNullConnector")},this.id=e,this.name=t,this.icon=n}}function ee(e){return"solana"===e.chainType}function te(e){return"solana"===e.type}const ne=n=>{let[i,a]=t("auto");return e((()=>{let e=new ResizeObserver((e=>{a(e[0]?.contentRect.height??"auto")}));return n.current&&e.observe(n.current),()=>{n.current&&e.unobserve(n.current)}}),[n.current]),i},ie=P.div`
2
+ text-align: left;
3
+ flex-grow: 1;
4
+ `,ae=P.div`
5
+ display: flex;
6
+ flex-direction: column;
7
+ justify-content: flex-end;
8
+ flex-grow: 1;
9
+ `,le=P.div`
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: 8px;
13
+
14
+ /* for Internet Explorer, Edge */
15
+ -ms-overflow-style: none;
16
+
17
+ /* for Firefox */
18
+ scrollbar-width: none;
19
+
20
+ /* for Chrome, Safari, and Opera */
21
+ &::-webkit-scrollbar {
22
+ display: none;
23
+ }
24
+ `,oe=P(le)`
25
+ ${e=>"light"===e.$colorScheme?"background: linear-gradient(var(--privy-color-background), var(--privy-color-background) 70%) bottom, linear-gradient(rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.06)) bottom;":"dark"===e.$colorScheme?"background: linear-gradient(var(--privy-color-background), var(--privy-color-background) 70%) bottom, linear-gradient(rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.06)) bottom;":void 0}
26
+
27
+ background-repeat: no-repeat;
28
+ background-size:
29
+ 100% 32px,
30
+ 100% 16px;
31
+ background-attachment: local, scroll;
32
+ max-height: 400px;
33
+ overflow-y: auto;
34
+ scrollbar-width: none;
35
+ padding: 3px;
36
+ `;let re=S`
37
+ && {
38
+ width: 100%;
39
+ font-size: 16px;
40
+ line-height: 24px;
41
+ min-height: 56px;
42
+
43
+ /* Tablet and Up */
44
+ @media (min-width: 440px) {
45
+ font-size: 14px;
46
+ }
47
+
48
+ display: flex;
49
+ gap: 12px;
50
+ align-items: center;
51
+ color: var(--privy-color-foreground);
52
+
53
+ padding: 10px 12px;
54
+ border: 1px solid var(--privy-color-foreground-4) !important;
55
+ border-radius: var(--privy-border-radius-md);
56
+ transition: background-color 200ms ease;
57
+
58
+ cursor: pointer;
59
+
60
+ &:hover {
61
+ background-color: var(--privy-color-background-2);
62
+ }
63
+
64
+ &:disabled {
65
+ cursor: pointer;
66
+ background-color: var(--privy-color-background-2);
67
+ }
68
+ }
69
+ `;const se=P.div`
70
+ text-align: center;
71
+ font-size: 14px;
72
+ margin-bottom: 24px;
73
+ `,ce=P.button.attrs({className:"login-method-button"})`
74
+ ${re}
75
+ `;P.a`
76
+ ${re}
77
+ `;const de=P.div`
78
+ width: 32px;
79
+ height: 32px;
80
+ border-radius: ${e=>e.$fullSize?"0":"4px"};
81
+ background: ${e=>e.$fullSize?"transparent":"var(--privy-color-background-2)"};
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: center;
85
+ flex-shrink: 0;
86
+
87
+ svg {
88
+ width: ${e=>e.$fullSize?"32px":"18px"};
89
+ height: ${e=>e.$fullSize?"32px":"18px"};
90
+ color: ${e=>e.$fullSize?"inherit":"var(--privy-color-icon-muted)"};
91
+ }
92
+ `,he=P.div`
93
+ width: 100%;
94
+ height: 100%;
95
+ min-height: inherit;
96
+ display: flex;
97
+ flex-direction: column;
98
+ ${e=>e.$if?"display: none;":""}
99
+ `,pe=P.div`
100
+ width: 100%;
101
+ height: 100%;
102
+ padding: ${e=>e.$withPadding?"64px 0px":"0px"};
103
+ `,ue=P.div`
104
+ display: flex;
105
+ flex-direction: column;
106
+ align-items: center;
107
+ justify-content: center;
108
+ margin-bottom: 32px;
109
+ gap: 12px;
110
+ & h3 {
111
+ font-size: 18px;
112
+ font-style: normal;
113
+ font-weight: 600;
114
+ line-height: 24px;
115
+ }
116
+ & p {
117
+ max-width: 300px;
118
+ font-size: 14px;
119
+ font-style: normal;
120
+ font-weight: 400;
121
+ line-height: 20px;
122
+ }
123
+ `,me=({success:e,fail:t})=>/*#__PURE__*/T(ye,{children:[/*#__PURE__*/z(we,{children:/*#__PURE__*/z(fe,{className:e?"success":t?"fail":""})}),/*#__PURE__*/z(we,{children:/*#__PURE__*/z(ge,{className:e?"success":t?"fail":""})})]});let we=P.span`
124
+ && {
125
+ position: absolute;
126
+ top: 0;
127
+ left: 0;
128
+ z-index: 2;
129
+ }
130
+ `,ye=P.span`
131
+ position: relative;
132
+ width: 82px;
133
+ height: 82px;
134
+ display: inline-block;
135
+ `;const ge=P.span`
136
+ && {
137
+ width: 82px;
138
+ height: 82px;
139
+ border-width: 4px;
140
+ border-style: solid;
141
+ border-color: ${e=>e.color??"var(--privy-color-icon-subtle)"};
142
+ border-bottom-color: transparent;
143
+ border-radius: 50%;
144
+ display: inline-block;
145
+ box-sizing: border-box;
146
+ animation: rotation 1.2s linear infinite;
147
+ transition: border-color 800ms;
148
+ }
149
+
150
+ @keyframes rotation {
151
+ 0% {
152
+ transform: rotate(0deg);
153
+ }
154
+ 100% {
155
+ transform: rotate(360deg);
156
+ }
157
+ }
158
+
159
+ &&&.success {
160
+ border-color: var(--privy-color-icon-success);
161
+ border-bottom-color: var(--privy-color-icon-success);
162
+ }
163
+
164
+ &&&.fail {
165
+ border-color: var(--privy-color-icon-error);
166
+ border-bottom-color: var(--privy-color-icon-error);
167
+ }
168
+ `,fe=P(ge)`
169
+ && {
170
+ border-bottom-color: ${e=>e.color??"var(--privy-color-border-default)"};
171
+ border-color: ${e=>e.color??"var(--privy-color-border-default)"};
172
+ animation: none;
173
+ opacity: 0.5;
174
+ }
175
+ `,be=e=>/*#__PURE__*/z(ve,{color:e.color||"var(--privy-color-foreground-3)"});let ve=P(ge)`
176
+ && {
177
+ height: 1rem;
178
+ width: 1rem;
179
+ margin: 2px 0;
180
+ border-width: 1.5px;
181
+
182
+ /* Override default Loader to match button transitions */
183
+ transition: border-color 200ms ease;
184
+ }
185
+ `,xe=/*#__PURE__*/n({});const ke=({children:n})=>{let i=r(),[a,l]=t({});return j("login",{onComplete:({loginAccount:e})=>{e&&"passkey"!==e.type&&"cross_app"!==e.type&&("wallet"!==e.type||"privy"!==e.walletClientType)&&(x.put(Ce(i.id),e.type),"wallet"===e.type?(x.put(_e(i.id),e.walletClientType),x.put(Te(i.id),e.chainType),l({accountType:e.type,walletClientType:e.walletClientType,chainType:e.chainType})):(x.del(_e(i.id)),x.del(Te(i.id)),l({accountType:e.type})))}}),e((()=>{if(!i.id)return;let e=x.get(Ce(i.id)),t=x.get(_e(i.id)),n=x.get(Te(i.id));e&&l("wallet"===e?{accountType:e,walletClientType:t,chainType:n}:{accountType:e})}),[i.id]),/*#__PURE__*/z(xe.Provider,{value:a,children:n})};let Ce=e=>`privy:${e}:recent-login-method`,_e=e=>`privy:${e}:recent-login-wallet-client`,Te=e=>`privy:${e}:recent-login-chain-type`;const ze=()=>i(xe),$e=e=>{j("fundWallet",e);let{fundWallet:t}=w();return{fundWallet:({address:e,options:n})=>t(e,n)}};function Pe(e){let{login:t}=i(I);return j("login",e),{login:t}}function Se(e){let{logout:t}=i(I);return j("logout",e),{logout:t}}function je(e){let{connectWallet:t}=i(I);return j("connectWallet",e),{connectWallet:t}}const Ie=o((()=>({isModalOpen:!1,resolvers:null})));let Ne=o((()=>({})));const Ee=(e,t)=>Ne((n=>n[e]?.[t])),Le=(e,t,n)=>{Ne.setState((i=>({[e]:{...i[e],[t]:n}})))},Ae=async()=>{let e,t,n=new Promise(((n,i)=>{e=n,t=i}));return Ne.setState({}),Ie.setState({isModalOpen:!0,resolvers:{resolve:e,reject:t}}),await n},Oe=()=>{let e=Ie.getState().resolvers;e||console.warn("useActiveWalletStore: Called close while modal was not open"),Ie.setState({isModalOpen:!1}),e?.resolve({wallet:Ie.getState().wallet})},Ue=({address:e,client:t,appId:n})=>{let i=`${t}:${e}`;n&&x.put(Re(n),i),Ie.setState({wallet:i})},We=()=>Ie((e=>e.isModalOpen)),Re=e=>`privy:${e}:active-wallet-connection`,Me=()=>{let t=r(),{wallets:n}=N(),{connectors:i}=w(),o=a((()=>i.filter(ee).flatMap((e=>e.wallets))),[i]),s=Ie((e=>e.wallet));e((()=>{if(!t.id)return;let e=x.get(Re(t.id));Ie.setState({wallet:e})}),[t.id]);let c=a((()=>{if(!s)return;let[,e]=s.split(":");return n.find((t=>t.address===e))||o.find((t=>t.address===e))}),[s,n,o]),d=a((()=>c?"ethereum"===c.type?c.chainId:"solana":void 0),[c]);return{connect:async e=>{e?.reset&&(x.del(Re(t.id)),Ie.setState({wallet:void 0}));let{wallet:i}=await Ae();if(!i)return{};let[,a]=i.split(":"),l=n.find((e=>e.address===a));if(l)return{wallet:l,network:l.chainId};let r=o.find((e=>e.address===a));return r?{wallet:r,network:"solana"}:{}},setActiveWallet:l((e=>{Ue({address:e.address,client:e.walletClientType,appId:t.id})}),[t.id]),wallet:c,network:d}};export{ce as A,be as B,de as C,pe as D,J as E,ue as F,ie as G,he as H,oe as I,se as J,ae as K,ge as L,H as M,me as N,fe as O,K as P,le as Q,ke as R,Z as S,A as a,D as b,ee as c,G as d,$e as e,U as f,O as g,q as h,F as i,B as j,V as k,te as l,X as m,Pe as n,Se as o,je as p,Me as q,ze as r,M as s,Ee as t,ne as u,Le as v,Ue as w,We as x,Oe as y,W as z};
@@ -1 +1 @@
1
- import{useState as r,useEffect as e}from"react";import{u as o}from"./internal-context-Z-fyxadS.mjs";const t=({enabled:t=!0}={})=>{let{showFiatPrices:i,getUsdPriceForSol:a}=o(),[c,l]=r(!0),[s,n]=r(void 0),[d,f]=r(void 0);return e((()=>{(async()=>{if(i&&t)try{l(!0);let r=await a();r?f(r):n(Error("Unable to fetch SOL price"))}catch(r){n(r)}finally{l(!1)}else l(!1)})()}),[]),{solPrice:d,isSolPriceLoading:c,solPriceError:s}};export{t as u};
1
+ import{useState as r,useEffect as e}from"react";import{u as o}from"./internal-context-C4ZqP8IF.mjs";const t=({enabled:t=!0}={})=>{let{showFiatPrices:i,getUsdPriceForSol:a}=o(),[c,l]=r(!0),[s,n]=r(void 0),[d,f]=r(void 0);return e((()=>{(async()=>{if(i&&t)try{l(!0);let r=await a();r?f(r):n(Error("Unable to fetch SOL price"))}catch(r){n(r)}finally{l(!1)}else l(!1)})()}),[]),{solPrice:d,isSolPriceLoading:c,solPriceError:s}};export{t as u};
@@ -1 +1 @@
1
- import{useState as r,useEffect as e}from"react";import{addToDefaultChains as o}from"@privy-io/js-sdk-core";import{s as i}from"./context-DLtU3JQy.mjs";import{u as n}from"./internal-context-Z-fyxadS.mjs";import{u as t}from"./useGetSolPrice-DwwjjGbd.mjs";function c(c){let{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:P}=(t=>{let{showFiatPrices:c,getUsdTokenPrice:a,chains:s}=n(),[P,l]=r(!0),[d,k]=r(void 0),[m,f]=r(void 0);return e((()=>{t||=i;let r=o(s).find((r=>r.id===Number(t)));(async()=>{if(c){if(!r)return l(!1),void k(Error(`Unable to fetch token price on chain id ${t}`));try{l(!0);let e=await a(r);e?f(e):k(Error(`Unable to fetch token price on chain id ${r.id}`))}catch(r){k(r)}finally{l(!1)}}else l(!1)})()}),[t]),{tokenPrice:m,isTokenPriceLoading:P,tokenPriceError:d}})("solana"===c?-1:c),{solPrice:l,isSolPriceLoading:d,solPriceError:k}=t({enabled:"solana"===c});return"solana"===c?{tokenPrice:l,isTokenPriceLoading:d,tokenPriceError:k}:{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:P}}export{c as u};
1
+ import{useState as r,useEffect as e}from"react";import{addToDefaultChains as o}from"@privy-io/js-sdk-core";import{s as i}from"./context-aGvo4MVQ.mjs";import{u as n}from"./internal-context-C4ZqP8IF.mjs";import{u as t}from"./useGetSolPrice-DaxM-vxD.mjs";function c(c){let{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:P}=(t=>{let{showFiatPrices:c,getUsdTokenPrice:a,chains:s}=n(),[P,l]=r(!0),[d,k]=r(void 0),[m,f]=r(void 0);return e((()=>{t||=i;let r=o(s).find((r=>r.id===Number(t)));(async()=>{if(c){if(!r)return l(!1),void k(Error(`Unable to fetch token price on chain id ${t}`));try{l(!0);let e=await a(r);e?f(e):k(Error(`Unable to fetch token price on chain id ${r.id}`))}catch(r){k(r)}finally{l(!1)}}else l(!1)})()}),[t]),{tokenPrice:m,isTokenPriceLoading:P,tokenPriceError:d}})("solana"===c?-1:c),{solPrice:l,isSolPriceLoading:d,solPriceError:k}=t({enabled:"solana"===c});return"solana"===c?{tokenPrice:l,isTokenPriceLoading:d,tokenPriceError:k}:{tokenPrice:a,isTokenPriceLoading:s,tokenPriceError:P}}export{c as u};
@@ -1 +1 @@
1
- import{u as e}from"./context-DLtU3JQy.mjs";const t={"connectionStatus.successfullyConnected":"Successfully connected with {walletName}","connectionStatus.errorTitle":"{errorMessage}","connectionStatus.connecting":"Connecting","connectionStatus.connectOneWallet":"For the best experience, connect only one wallet at a time.","connectionStatus.checkOtherWindows":"Don't see your wallet? Check your other browser windows.","connectionStatus.stillHere":"Still here?","connectionStatus.tryConnectingAgain":"Try connecting again","connectionStatus.or":"or","connectionStatus.useDifferentLink":"use this different link","connectWallet.connectYourWallet":"Connect a wallet","connectWallet.waitingForWallet":"Waiting for {walletName}","connectWallet.connectToAccount":"Connect a wallet to your {appName} account","connectWallet.installAndConnect":"To connect to {walletName}, install and open the app. Then confirm the connection when prompted.","connectWallet.tryConnectingAgain":"Please try connecting again.","connectWallet.openInApp":"Open in app","connectWallet.copyLink":"Copy link","connectWallet.retry":"Retry","connectWallet.searchPlaceholder":"Search through {count} wallets","connectWallet.noWalletsFound":"No wallets found. Try another search.","connectWallet.lastUsed":"Last used","connectWallet.selectYourWallet":"Select your wallet","connectWallet.selectNetwork":"Select network","connectWallet.goToWallet":"Go to {walletName} to continue","connectWallet.scanToConnect":"Scan code to connect to {walletName}","connectWallet.openOrInstall":"Open or install {walletName}"};function n(){let n=e();return{t:(e,o)=>function(e,n,o){let c=n?.[e]??t[e];return o&&0!==Object.keys(o).length?c.replace(/\{(\w+)\}/g,((e,t)=>o[t]??e)):c}(e,n.intl.textLocalization,o)}}export{n as u};
1
+ import{u as e}from"./context-aGvo4MVQ.mjs";const t={"connectionStatus.successfullyConnected":"Successfully connected with {walletName}","connectionStatus.errorTitle":"{errorMessage}","connectionStatus.connecting":"Connecting","connectionStatus.connectOneWallet":"For the best experience, connect only one wallet at a time.","connectionStatus.checkOtherWindows":"Don't see your wallet? Check your other browser windows.","connectionStatus.stillHere":"Still here?","connectionStatus.tryConnectingAgain":"Try connecting again","connectionStatus.or":"or","connectionStatus.useDifferentLink":"use this different link","connectWallet.connectYourWallet":"Connect a wallet","connectWallet.waitingForWallet":"Waiting for {walletName}","connectWallet.connectToAccount":"Connect a wallet to your {appName} account","connectWallet.installAndConnect":"To connect to {walletName}, install and open the app. Then confirm the connection when prompted.","connectWallet.tryConnectingAgain":"Please try connecting again.","connectWallet.openInApp":"Open in app","connectWallet.copyLink":"Copy link","connectWallet.retry":"Retry","connectWallet.searchPlaceholder":"Search through {count} wallets","connectWallet.noWalletsFound":"No wallets found. Try another search.","connectWallet.lastUsed":"Last used","connectWallet.selectYourWallet":"Select your wallet","connectWallet.selectNetwork":"Select network","connectWallet.goToWallet":"Go to {walletName} to continue","connectWallet.scanToConnect":"Scan code to connect to {walletName}","connectWallet.openOrInstall":"Open or install {walletName}"};function n(){let n=e();return{t:(e,o)=>function(e,n,o){let c=n?.[e]??t[e];return o&&0!==Object.keys(o).length?c.replace(/\{(\w+)\}/g,((e,t)=>o[t]??e)):c}(e,n.intl.textLocalization,o)}}export{n as u};
@@ -0,0 +1 @@
1
+ import{isMobile as e,isAndroid as r}from"react-device-detect";import{b as t,c as a,u as n}from"./internal-context-C4ZqP8IF.mjs";import{useCallback as o,useContext as i}from"react";import{q as s,u as l}from"./use-export-wallet-Db8GdSAT.mjs";import{f as d,d as c,g as p,a as u,h as y,e as m,u as E,P as h}from"./privy-context-CkPtrpbt.mjs";import{a as w,u as f}from"./events-context-CI0iqAXA.mjs";import{b as v,j as T}from"./get-entropy-details-for-user-DkZdXKpr.mjs";import{create as W}from"@privy-io/js-sdk-core";import{u as g,W as A}from"./context-aGvo4MVQ.mjs";function S(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}function D(a,n){let o=S(n);if(e&&r&&o.universalLink)return L(o.universalLink,a);if(o.deepLink)return M(o.deepLink,a);if(o.universalLink)return L(o.universalLink,a);throw new t(`Unsupported wallet ${n.id}`)}function U(e,r){let t=S(r);if(t.universalLink)return L(t.universalLink,e)}let x="WALLETCONNECT_DEEPLINK_CHOICE";function I(){try{localStorage.removeItem(x)}catch{}}function _({href:e,name:r}){try{localStorage.setItem(x,JSON.stringify({href:e,name:r}))}catch{}}function b(){try{localStorage.removeItem(x)}catch{}}function k(e){return e.startsWith("http://")||e.startsWith("https://")}function M(e,r){if(k(e))return L(e,r);let t=e;return t.includes("://")||(t=e.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function L(e,r){if(!k(e))return M(e,r);let t=e;return t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function C(e,r){window.open(e,r,"noreferrer noopener")}const R=({address:e,nonce:r})=>`${window.location.host} wants you to sign in with your Solana account:\n${e}\n\n${`You are proving you own ${e}.`}\n\nURI: ${window.location.origin}\nVersion: 1\nChain ID: mainnet\nNonce: ${r}\nIssued At: ${(new Date).toISOString()}\nResources:\n- https://privy.io`,P=Symbol("solana-funding-plugin"),N=Symbol("solana-ledger-plugin"),O=async({user:e,accessToken:r,proxy:t,refreshSessionAndUser:a,privy:n,appConfig:o,recoverEmbeddedWallet:i,setUser:l,walletIndex:p,chainType:u,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E,idempotencyKey:h,additionalSigners:w})=>{if(0===p)if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await W(n,{request:{chain_type:u,additional_signers:w?s(w):void 0},headers:h?{"privy-idempotency-key":h}:void 0});else if("ethereum"===u){let a=d(e);a&&await i({address:a.address}),await t.create({accessToken:r,solanaAddress:a?.address,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E})}else{if("solana"!==u)throw Error("Invalid input to create wallet");{let a=c(e);a&&await i({address:a.address}),await t.createSolana({accessToken:r,ethereumAddress:a?.address,recoveryMethod:y,recoveryPassword:m,recoveryAccessToken:E})}}else if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await W(n,{request:{chain_type:u,additional_signers:w?s(w):void 0}});else{let{entropyId:a,entropyIdVerifier:n}=v(e);await i(),await t.addWallet({accessToken:r,entropyId:a,entropyIdVerifier:n,chainType:u,hdWalletIndex:p})}let f=await a(),g=T(f,{chainType:u,walletIndex:p})[0];return l(f),{user:f,account:g}},K=e=>e.reduce(((e,r)=>!e||e.walletIndex<r.walletIndex?r:e),null),$=async({appConfig:e,getAccessToken:r,initializeWalletProxy:n,user:o,privy:i,emitPrivyEvent:s,recoverEmbeddedWallet:l,setModalData:d,openModal:c,setUser:p,options:u,timeoutDuration:y,refreshSessionAndUser:m,chainType:E,idempotencyKey:h,additionalSigners:w})=>{let[f,v]=await Promise.all([n(y),r()]);if(!v||!o)throw s("createWallet","onError",a.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!f&&e.customAuth?.enabled)throw s("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(w&&"user-controlled-server-wallets-only"!==e.embeddedWallets.mode)throw new t("Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");if(u&&"walletIndex"in u&&"number"==typeof u.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw s("createWallet","onError",a.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return B({accessToken:v,appConfig:e,privy:i,emitPrivyEvent:s,openModal:c,proxy:f,refreshSessionAndUser:m,recoverEmbeddedWallet:l,setModalData:d,user:o,walletIndex:u.walletIndex,chainType:E,setUser:p,additionalSigners:w})}let W=u&&"createAdditional"in u&&u.createAdditional,g=T(o,{chainType:E});if(g[0]&&!W)throw s("createWallet","onError",a.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return B({accessToken:v,appConfig:e,privy:i,emitPrivyEvent:s,openModal:c,proxy:f,recoverEmbeddedWallet:l,setModalData:d,user:o,walletIndex:(K(g)?.walletIndex??-1)+1,chainType:E,refreshSessionAndUser:m,setUser:p,idempotencyKey:h,additionalSigners:w})};let B=async({accessToken:e,appConfig:r,privy:t,emitPrivyEvent:n,proxy:o,refreshSessionAndUser:i,recoverEmbeddedWallet:s,user:l,walletIndex:d,setModalData:c,openModal:u,chainType:y,setUser:m,idempotencyKey:E,additionalSigners:h})=>{if(d<0)throw n("createWallet","onError",a.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${d}) is invalid.`);let w=p(l);if(d>0&&!w)throw n("createWallet","onError",a.EMBEDDED_WALLET_NOT_FOUND),Error("Must have an existing embedded wallet to create an additional wallet.");if(r.embeddedWallets.requireUserOwnedRecoveryOnCreate&&"user-controlled-server-wallets-only"===r.embeddedWallets.mode)throw n("createWallet","onError",a.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!w&&r.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await j({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});let f=T(l,{chainType:y,walletIndex:d})[0];if(f)return{user:l,account:f};if(0===d&&!o)return j({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});if(!o)throw n("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return O({appConfig:r,walletIndex:d,chainType:y,user:l,accessToken:e,proxy:o,refreshSessionAndUser:i,privy:t,recoverEmbeddedWallet:s,setUser:m,idempotencyKey:E,additionalSigners:h})},j=async({emitPrivyEvent:e,setModalData:r,openModal:t,chainType:n})=>new Promise(((o,i)=>{r({createWallet:{onSuccess:({user:r,account:t})=>{e("createWallet","onSuccess",{wallet:t}),o({user:r,account:t})},onFailure:r=>{e("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),i(r)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===n,shouldCreateSol:"solana"===n}}),t("EmbeddedWalletOnAccountCreateScreen")}));const z=()=>{let e=g(),r=w(),{setModalData:t}=u(),{initializeWalletProxy:o,recoverEmbeddedWallet:i,setUser:s,openModal:l,refreshSessionAndUser:d,privy:c,client:p}=n();return{create:async({chainType:n,options:u,latestUser:y,idempotencyKey:m})=>{let E=y;if(E||(E=await d()),!E)throw r("createWallet","onError",a.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await $({appConfig:e,privy:c,getAccessToken:()=>p.getAccessToken(),refreshSessionAndUser:d,initializeWalletProxy:o,user:E,emitPrivyEvent:r,recoverEmbeddedWallet:i,setModalData:t,openModal:l,setUser:s,options:u,timeoutDuration:A,chainType:n,idempotencyKey:m,additionalSigners:u?.signers})}}};function q(e){let{create:r}=z();return f("createWallet",e),{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:t}=await r({chainType:"ethereum",options:e});return t}}}const F=async({emitPrivyEvent:e,getAccessToken:r,initializeWalletProxy:n,refreshSessionAndUser:o,user:i,appConfig:s},{privateKey:l,chainType:d,additionalSigners:c})=>{if(!i)throw e("linkAccount","onError",a.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new t("User must be authenticated before linking an account.");let p="user-controlled-server-wallets-only"===s.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===p)throw new t("Specifying additionalSigners is only supported for TEE execution and this app uses on-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");let[u,E]=await Promise.all([r(),n(15e3)]);if(!E||!u)throw e("linkAccount","onError",a.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new t("User must be authenticated before linking an account.");let{address:h}=await E.importWallet({privateKey:l,accessToken:u,chainType:d,mode:p,additionalSigners:c}),w=await o(),f="solana"===d?y(w):m(w),v=f?.find((e=>e.address===h));if(!v)throw e("createWallet","onError",a.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:v}),v},H=()=>{let{user:e}=E(),{client:r,refreshSessionAndUser:t,initializeWalletProxy:a}=n(),i=w(),s=g();return{importWallet:o((({privateKey:n,additionalSigners:o})=>F({getAccessToken:()=>r.getAccessToken(),user:e,initializeWalletProxy:a,refreshSessionAndUser:t,emitPrivyEvent:i,appConfig:s},{privateKey:n,chainType:"ethereum",additionalSigners:o})),[e,r,t,a,i,s])}},V=()=>{let{importWallet:e}=H(),{exportWallet:r}=l(),{createWallet:t}=q();return{...i(h),importWallet:e,createWallet:t,exportWallet:r}};export{P as S,U as a,D as b,O as c,I as d,N as e,z as f,q as g,H as h,F as i,C as o,R as p,b as r,_ as s,V as u};
@@ -1 +1 @@
1
- import{getTransactionDecoder as r,getBase64Decoder as n,getBase58Encoder as e}from"@solana/kit";import{useMemo as o,useCallback as t}from"react";import{u as a}from"./context-DLtU3JQy.mjs";import{a as i,b as s}from"./internal-context-Z-fyxadS.mjs";function c(n){return new Uint8Array(r().decode(n).messageBytes)}async function l({solanaClient:r,tx:e}){let o=n().decode(c(e)),{value:t}=await r.rpc.getFeeForMessage(o).send();return t??0n}async function u({solanaClient:r,tx:e,replaceRecentBlockhash:o}){let{value:t}=await r.rpc.simulateTransaction(n().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===t.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===t.err?await u({solanaClient:r,tx:e,replaceRecentBlockhash:!0}):{logs:t.logs??[],error:t.err,hasError:!!t.err,hasFunds:t.logs?.every((r=>!/insufficient funds/gi.test(r)&&!/insufficient lamports/gi.test(r)))??!0}}const f=(...r)=>{if("undefined"==typeof Buffer)throw new i("Buffer is not defined.",void 0,s.BUFFER_NOT_DEFINED);return Buffer.from(...r)};async function p({rpcSubscriptions:r,signature:n,timeout:e}){let o=new AbortController,t=await r.signatureNotifications(n,{commitment:"confirmed"}).subscribe({abortSignal:o.signal}),a=await Promise.race([new Promise((r=>{setTimeout((()=>{o.abort(),r(Error("Transaction confirmation timed out"))}),e)})),new Promise((async r=>{for await(let n of t){if(o.abort(),n.value.err)return r(Error("Transaction confirmation failed"));r(void 0)}}))]);if(a instanceof Error)throw a}function m({rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t}){let a=function({rpc:r,rpcSubscriptions:n}){return async o=>new Promise((async(t,a)=>{try{let a=await r.sendTransaction(f(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await p({rpcSubscriptions:n,signature:a,timeout:1e4}),t({signature:new Uint8Array(e().encode(a))})}catch(r){a(r)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t,sendAndConfirmTransaction:a}}function d(){let r=a(),n=o((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,r.solanaRpcs[n]?m({chain:n,rpc:r.solanaRpcs[n].rpc,rpcSubscriptions:r.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:r.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[r.solanaRpcs]);return t((r=>{if(!n[r])throw Error(`No RPC configuration found for chain ${r}`);return n[r]}),[n])}export{c as a,f as b,l as f,m as g,u as s,d as u,p as w};
1
+ import{getTransactionDecoder as r,getBase64Decoder as n,getBase58Encoder as e}from"@solana/kit";import{useMemo as o,useCallback as t}from"react";import{u as a}from"./context-aGvo4MVQ.mjs";import{b as i,c as s}from"./internal-context-C4ZqP8IF.mjs";function c(n){return new Uint8Array(r().decode(n).messageBytes)}async function l({solanaClient:r,tx:e}){let o=n().decode(c(e)),{value:t}=await r.rpc.getFeeForMessage(o).send();return t??0n}async function u({solanaClient:r,tx:e,replaceRecentBlockhash:o}){let{value:t}=await r.rpc.simulateTransaction(n().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===t.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===t.err?await u({solanaClient:r,tx:e,replaceRecentBlockhash:!0}):{logs:t.logs??[],error:t.err,hasError:!!t.err,hasFunds:t.logs?.every((r=>!/insufficient funds/gi.test(r)&&!/insufficient lamports/gi.test(r)))??!0}}const f=(...r)=>{if("undefined"==typeof Buffer)throw new i("Buffer is not defined.",void 0,s.BUFFER_NOT_DEFINED);return Buffer.from(...r)};async function p({rpcSubscriptions:r,signature:n,timeout:e}){let o=new AbortController,t=await r.signatureNotifications(n,{commitment:"confirmed"}).subscribe({abortSignal:o.signal}),a=await Promise.race([new Promise((r=>{setTimeout((()=>{o.abort(),r(Error("Transaction confirmation timed out"))}),e)})),new Promise((async r=>{for await(let n of t){if(o.abort(),n.value.err)return r(Error("Transaction confirmation failed"));r(void 0)}}))]);if(a instanceof Error)throw a}function m({rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t}){let a=function({rpc:r,rpcSubscriptions:n}){return async o=>new Promise((async(t,a)=>{try{let a=await r.sendTransaction(f(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await p({rpcSubscriptions:n,signature:a,timeout:1e4}),t({signature:new Uint8Array(e().encode(a))})}catch(r){a(r)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t,sendAndConfirmTransaction:a}}function d(){let r=a(),n=o((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,r.solanaRpcs[n]?m({chain:n,rpc:r.solanaRpcs[n].rpc,rpcSubscriptions:r.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:r.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[r.solanaRpcs]);return t((r=>{if(!n[r])throw Error(`No RPC configuration found for chain ${r}`);return n[r]}),[n])}export{c as a,f as b,l as f,m as g,u as s,d as u,p as w};
@@ -0,0 +1 @@
1
+ import{useState as r,useMemo as e,useCallback as a,useEffect as t}from"react";import{createPublicClient as o,http as n}from"viem";import{i}from"./get-entropy-details-for-user-DkZdXKpr.mjs";import{u as c}from"./internal-context-C4ZqP8IF.mjs";function s({rpcConfig:s,appId:l,address:m,chain:p}){let{chains:d}=c(),[f,u]=r(0n),[h,g]=r(!1),j=e((()=>{let r=p||d[0];if(r)return o({chain:p,transport:n(i(r,s,l))})}),[p,s,l]),v=a((async()=>{if(!m||!j)return;g(!0);let r=await j.getBalance({address:m}).catch(console.error);return r?(u(r),g(!1),r):void 0}),[j,m,u]);return t((()=>{v().catch(console.error)}),[]),{balance:f,isLoading:h,reloadBalance:v}}export{s as u};
@@ -0,0 +1 @@
1
+ import{getBase58Decoder as e,getTransactionDecoder as n,address as t,getTransactionEncoder as a}from"@solana/kit";import{useMemo as s,useEffect as i,useState as r}from"react";import{rpc as o,ConnectedStandardSolanaWallet as c}from"@privy-io/js-sdk-core";import{u as l,b as d,c as u,l as g}from"./internal-context-C4ZqP8IF.mjs";import{a as h,j as p,b as f,m as w,h as y}from"./privy-context-CkPtrpbt.mjs";import{u as A}from"./usePrivy-DPZ1iMmn.mjs";import{b as m,u as v}from"./get-entropy-details-for-user-DkZdXKpr.mjs";import b from"eventemitter3";import{base58 as T}from"@scure/base";import{u as O}from"./context-aGvo4MVQ.mjs";import{u as S}from"./use-sign-with-user-signer-BYctG7hm.mjs";import{b as _,a as E,u as I}from"./useSolanaRpcClient-DgxuhW6A.mjs";import{encoding as j}from"@privy-io/encoding";import{x as W}from"./use-export-wallet-Db8GdSAT.mjs";const M=["solana:mainnet","solana:devnet","solana:testnet"];function P(n){return e().decode(n)}function F(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var C=0,U="__private_"+C+++"__implementation";function D(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var N=0;function B(e){return"__private_"+N+++"_"+e}var x=/*#__PURE__*/B("_address"),R=/*#__PURE__*/B("_publicKey"),L=/*#__PURE__*/B("_chains"),V=/*#__PURE__*/B("_features"),Q=/*#__PURE__*/B("_label"),G=/*#__PURE__*/B("_icon");class K{get address(){return D(this,x)[x]}get publicKey(){return D(this,R)[R].slice()}get chains(){return D(this,L)[L].slice()}get features(){return D(this,V)[V].slice()}get label(){return D(this,Q)[Q]}get icon(){return D(this,G)[G]}constructor({address:e,publicKey:n,label:t,icon:a}){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,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),D(this,x)[x]=e,D(this,R)[R]=n,D(this,L)[L]=M,D(this,Q)[Q]=t,D(this,G)[G]=a,D(this,V)[V]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===K&&Object.freeze(this)}}function H(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var J=0;function Y(e){return"__private_"+J+++"_"+e}var k=/*#__PURE__*/Y("_listeners"),Z=/*#__PURE__*/Y("_version"),z=/*#__PURE__*/Y("_name"),q=/*#__PURE__*/Y("_icon"),X=/*#__PURE__*/Y("_injection"),$=/*#__PURE__*/Y("_isPrivyWallet"),ee=/*#__PURE__*/Y("_accounts"),ne=/*#__PURE__*/Y("_on"),te=/*#__PURE__*/Y("_emit"),ae=/*#__PURE__*/Y("_off"),se=/*#__PURE__*/Y("_connected"),ie=/*#__PURE__*/Y("_connect"),re=/*#__PURE__*/Y("_disconnect"),oe=/*#__PURE__*/Y("_signMessage"),ce=/*#__PURE__*/Y("_signAndSendTransaction"),le=/*#__PURE__*/Y("_signTransaction");function de(e,...n){H(this,k)[k][e]?.forEach((e=>e.apply(null,n)))}function ue(e,n){H(this,k)[k][e]=H(this,k)[k][e]?.filter((e=>n!==e))}function ge(e,s,i){let r=structuredClone(n().decode(e)),o=t(s);return o in r.signatures&&(r.signatures[o]=i),new Uint8Array(a().encode(r))}function he(){let{isHeadlessSigning:e,walletProxy:n,initializeWalletProxy:t,recoverEmbeddedWallet:a,openModal:s,privy:i,client:r}=l(),{user:c}=A(),{setModalData:g}=h(),{signWithUserSigner:w}=S();return{signMessage:({message:l,address:h,options:y})=>new Promise((async(A,v)=>{let b=p(c,h);if("privy"!==b?.walletClientType)return void v(new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:T,entropyIdVerifier:O}=m(c,b),S=f(b),E=_(l).toString("base64");if(E.length<1)return void v(new d("Message must be a non-empty string",void 0,u.INVALID_MESSAGE));let I=async()=>{let e;if(!c)throw Error("User must be authenticated before signing with a Privy wallet");let s=await r.getAccessToken();if(!s)throw Error("User must be authenticated to use their embedded wallet.");let l=n??await t(15e3);if(!l)throw Error("Failed to initialize embedded wallet proxy.");if(!await a({address:b.address}))throw Error("Unable to connect to wallet");if(S){let n=await o(i,w,{chain_type:"solana",method:"signMessage",params:{message:E,encoding:"base64"},wallet_id:b.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:n}=await l.rpc({accessToken:s,entropyId:T,entropyIdVerifier:O,chainType:"solana",hdWalletIndex:b.walletIndex??0,requesterAppId:y?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:E}}});e=n.data.signature}return e};if(e({showWalletUIs:y?.uiOptions?.showWalletUIs}))try{let e=await I(),n=new Uint8Array(_(e,"base64"));A({signature:n})}catch(e){v(e)}else g({signMessage:{method:"solana_signMessage",data:E,confirmAndSign:I,onSuccess:e=>{A({signature:new Uint8Array(_(e,"base64"))})},onFailure:e=>{v(e)},uiOptions:y?.uiOptions??{}},connectWallet:{recoveryMethod:b.recoveryMethod,connectingWalletAddress:b.address,entropyId:T,entropyIdVerifier:O,isUnifiedWallet:S,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{v(new d("Failed to connect to wallet",e,u.UNKNOWN_CONNECT_WALLET_ERROR))}}}),s("EmbeddedWalletConnectingScreen")}))}}function pe(){let{isHeadlessSigning:e,openModal:n,privy:t}=l(),{setModalData:a}=h(),{signMessage:s}=he(),{signWithUserSigner:i}=S(),{user:r}=A();return{signTransaction:async({transaction:c,options:l,chain:g="solana:mainnet",address:h})=>{let w=p(r,h);if("privy"!==w?.walletClientType)throw new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND);let y=f(w);async function A(e){if(y){let n=await o(t,i,{chain_type:"solana",method:"signTransaction",params:{transaction:j.base64.fromBytes(e),encoding:"base64"},wallet_id:w.id});if(n.data&&"signed_transaction"in n.data)return{signedTransaction:new Uint8Array(j.base64.toBytes(n.data.signed_transaction))};throw Error("Failed to sign transaction")}let{signature:n}=await s({message:E(e),address:h,options:{...l,uiOptions:{...l?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:ge(e,h,n)}}return e({showWalletUIs:l?.uiOptions?.showWalletUIs})?A(c):new Promise((async(e,t)=>{let{entropyId:s,entropyIdVerifier:i}=m(r,w);function o(e){return n=>{t(n instanceof d?n:new d("Failed to connect to wallet",n,e))}}let h={account:w,transaction:c,chain:g,signOnly:!0,uiOptions:l?.uiOptions||{},onConfirm:A,onSuccess:e,onFailure:o(u.TRANSACTION_FAILURE)};a({connectWallet:{recoveryMethod:w.recoveryMethod,connectingWalletAddress:w.address,entropyId:s,entropyIdVerifier:i,isUnifiedWallet:y,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:o(u.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:h}),n("EmbeddedWalletConnectingScreen")}))}}}let fe=new class extends b{setImplementation(e){F(this,U)[U]=e}async signMessage(e){return F(this,U)[U].signMessage(e)}async signAndSendTransaction(e){return F(this,U)[U].signAndSendTransaction(e)}async signTransaction(e){return F(this,U)[U].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,U,{writable:!0,value:void 0}),F(this,U)[U]=e}}({signTransaction:g("signTransaction was not injected"),signAndSendTransaction:g("signAndSendTransaction was not injected"),signMessage:g("signMessage was not injected")}),we=new class{get version(){return H(this,Z)[Z]}get name(){return H(this,z)[z]}get icon(){return H(this,q)[q]}get chains(){return M.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:H(this,ie)[ie]},"standard:disconnect":{version:"1.0.0",disconnect:H(this,re)[re]},"standard:events":{version:"1.0.0",on:H(this,ne)[ne]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:H(this,ce)[ce]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:H(this,le)[le]},"solana:signMessage":{version:"1.0.0",signMessage:H(this,oe)[oe]},"privy:":{privy:{signMessage:H(this,X)[X].signMessage,signTransaction:H(this,X)[X].signTransaction,signAndSendTransaction:H(this,X)[X].signAndSendTransaction}}}}get accounts(){return H(this,ee)[ee].slice()}get isPrivyWallet(){return H(this,$)[$]}constructor({name:e,icon:n,version:t,injection:a,wallets:s}){Object.defineProperty(this,te,{value:de}),Object.defineProperty(this,ae,{value:ue}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,se,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,ce,{writable:!0,value:void 0}),Object.defineProperty(this,le,{writable:!0,value:void 0}),H(this,k)[k]={},H(this,ne)[ne]=(e,n)=>(H(this,k)[k][e]?.push(n)||(H(this,k)[k][e]=[n]),()=>H(this,ae)[ae](e,n)),H(this,se)[se]=e=>{null!=e&&(H(this,ee)[ee]=e.map((({address:e})=>new K({address:e,publicKey:T.decode(e)})))),H(this,te)[te]("change",{accounts:this.accounts})},H(this,ie)[ie]=async()=>(H(this,te)[te]("change",{accounts:this.accounts}),{accounts:this.accounts}),H(this,re)[re]=async()=>{H(this,te)[te]("change",{accounts:this.accounts})},H(this,oe)[oe]=async(...e)=>{let n=[];for(let{account:t,...a}of e){let{signature:e}=await H(this,X)[X].signMessage({...a,address:t.address});n.push({signedMessage:a.message,signature:e})}return n},H(this,ce)[ce]=async(...e)=>{let n=[];for(let t of e){let{signature:e}=await H(this,X)[X].signAndSendTransaction({...t,transaction:t.transaction,address:t.account.address,chain:t.chain||"solana:mainnet",options:t.options});n.push({signature:e})}return n},H(this,le)[le]=async(...e)=>{let n=[];for(let{transaction:t,account:a,options:s,chain:i}of e){let{signedTransaction:e}=await H(this,X)[X].signTransaction({transaction:t,address:a.address,chain:i||"solana:mainnet",options:s});n.push({signedTransaction:e})}return n},H(this,z)[z]=e,H(this,q)[q]=n,H(this,Z)[Z]=t,H(this,X)[X]=a,H(this,ee)[ee]=[],H(this,$)[$]=!0,a.on("accountChanged",H(this,se)[se],this),H(this,se)[se](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:fe});function ye(){let{ready:e}=v(),{user:n}=A(),{signMessage:t}=he(),{signTransaction:a}=pe(),{signAndSendTransaction:r}=function(){let e=O(),{isHeadlessSigning:n,openModal:t,privy:a}=l(),{setModalData:s}=h(),{signTransaction:i}=pe(),r=I(),{user:c}=A(),{signWithUserSigner:g}=S();return{signAndSendTransaction:async({transaction:l,address:h,chain:w="solana:mainnet",options:y})=>{let A=p(c,h);if("privy"!==A?.walletClientType)throw new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND);let v=f(A);async function b(e){if(y?.sponsor)return await(async e=>{if(!v)throw new d("Sponsoring transactions is only supported for wallets on the TEE stack",u.INVALID_DATA);let n=await o(a,g,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:_(e).toString("base64"),encoding:"base64"},caip2:`solana:${(await r(w).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:A.id});if(n.data&&"hash"in n.data)return{signature:T.decode(n.data.hash)};throw Error("Failed to sign and send transaction")})(e);let{signedTransaction:n}=await i({transaction:e,address:h,chain:w,options:{...y,uiOptions:{...y?.uiOptions,showWalletUIs:!1}}}),{signature:t}=await r(w).sendAndConfirmTransaction(n);return{signature:t}}return n({showWalletUIs:y?.uiOptions?.showWalletUIs})?b(l):new Promise((async(n,a)=>{let i,r,{entropyId:o,entropyIdVerifier:g}=m(c,A);function p(e){return n=>{a(n instanceof d?n:new d("Failed to connect to wallet",n,e))}}let f={account:A,transaction:l,chain:w,signOnly:!1,uiOptions:y?.uiOptions||{},onConfirm:b,onSuccess:n,onFailure:p(u.TRANSACTION_FAILURE),isSponsored:!!y?.sponsor},T={recoveryMethod:A.recoveryMethod,connectingWalletAddress:A.address,entropyId:o,entropyIdVerifier:g,isUnifiedWallet:v,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:p(u.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(i=W({address:h,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...y,asset:"native-currency",chain:w},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),r={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:w,destinationAddress:h,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),s({connectWallet:T,standardSignAndSendTransaction:f,funding:i,solanaFundingData:r}),t("EmbeddedWalletConnectingScreen")}))}}}(),c=s((()=>{let e=[...w(n).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],t=y(n);return t.length?[...e,...t]:e}),[n]),g=s((()=>({signMessage:async({message:e,address:n,options:a})=>await t({message:e,address:n,options:a}),signTransaction:async({transaction:e,address:n,chain:t,options:s})=>await a({transaction:e,address:n,chain:t,options:s}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:a}){let{signature:s}=await r({transaction:e,address:n,chain:t,options:a});return{signature:s}}})),[t,a,r]);return i((()=>{fe?.setImplementation(g)}),[g]),i((()=>{var n;!e||(n=we.accounts).length===c.length&&n.every(((e,n)=>e.address===c[n]?.address))||fe?.emit("accountChanged",c)}),[e,c]),{ready:e,wallet:we}}function Ae(){let{client:e}=l(),{ready:n,wallet:t}=ye(),[a,s]=r([]),[o,c]=r([]);return i((()=>{let e=[t,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];c(e);let n=a.flatMap((n=>{let t=()=>c([...e]);return n.on("walletsUpdated",t),{connector:n,off:t}})),s=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{s.forEach((e=>e?.())),n.forEach((({connector:e,off:n})=>e.off("walletsUpdated",n)))}}),[a]),i((()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let n=()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",n),()=>{e.connectors?.off("connectorInitialized",n)}}),[n,e.connectors]),{ready:n,wallets:o}}function me(){let{ready:e,wallets:n}=Ae();return{ready:e,wallets:s((()=>n.flatMap((e=>e.accounts.map((n=>new c({wallet:e,account:n})))))),[n])}}export{M as S,Ae as a,P as g,me as u};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/react-auth",
3
- "version": "3.18.0",
3
+ "version": "3.19.0-beta-20260327145607",
4
4
  "description": "React client for the Privy Auth API",
5
5
  "keywords": [
6
6
  "authentication",
@@ -176,13 +176,14 @@
176
176
  "x402": "^0.7.1",
177
177
  "zustand": "^5.0.0",
178
178
  "@privy-io/are-addresses-equal": "0.0.2",
179
- "@privy-io/chains": "0.1.2",
179
+ "@privy-io/chains": "0.1.3-beta-20260327145607",
180
+ "@privy-io/api-base": "1.8.2",
180
181
  "@privy-io/ethereum": "0.0.9",
181
- "@privy-io/js-sdk-core": "0.60.6",
182
+ "@privy-io/encoding": "0.1.1",
183
+ "@privy-io/js-sdk-core": "0.60.7-beta-20260327145607",
182
184
  "@privy-io/routes": "0.0.9",
183
185
  "@privy-io/popup": "0.0.2",
184
- "@privy-io/urls": "0.0.3",
185
- "@privy-io/api-base": "1.8.2"
186
+ "@privy-io/urls": "0.0.3"
186
187
  },
187
188
  "devDependencies": {
188
189
  "@abstract-foundation/agw-client": "^1.9.1",
@@ -246,9 +247,9 @@
246
247
  "typescript": "~5.5.3",
247
248
  "vite": "^5.4.0",
248
249
  "@privy-io/build-config": "1.0.0",
250
+ "@privy-io/testing": "1.0.0",
249
251
  "@privy-io/eslint-config-custom": "0.0.0",
250
- "@privy-io/eslint-plugin-privy-rules": "1.0.1",
251
- "@privy-io/testing": "1.0.0"
252
+ "@privy-io/eslint-plugin-privy-rules": "1.0.1"
252
253
  },
253
254
  "peerDependencies": {
254
255
  "@abstract-foundation/agw-client": "^1.0.0",
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("lucide-react"),t=require("./context-Cg3IEi80.js"),i=require("./internal-context-BJv4f_bO.js"),n=require("./privy-context-CrM9_s6G.js"),o=require("./ScreenLayout-C4QHZMbl.js");require("react"),require("@privy-io/js-sdk-core"),require("tinycolor2"),require("ofetch"),require("@privy-io/are-addresses-equal"),require("./ModalHeader-C5Wuo3-1.js"),require("styled-components"),require("./useActiveWallet-BfMD5hzE.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-_EIyxyle.js"),require("./useWallets-dikDynAG.js"),require("viem"),require("eventemitter3"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./Screen-DWnRbzSA.js"),require("./index-ByFhjjzH.js");const u=({title:t="Account not found",subtitle:i,appName:n="this app",ctaText:u="Try logging in again",onRetry:a})=>/*#__PURE__*/e.jsx(o.ScreenLayout,{title:t,subtitle:i||`Please try logging in again or go to ${n} to create an account.`,icon:r.HelpCircle,iconVariant:"warning",primaryCta:{label:u,onClick:a},watermark:!0}),a={component:()=>{let{navigate:r,setModalData:o,data:a}=n.usePrivyModal(),c=t.useAppConfig(),{getAuthMeta:s,client:l}=i.usePrivyInternal();/*#__PURE__*/return e.jsx(u,{appName:c?.name,onRetry:()=>{let e=s();o({...a,login:{...a?.login,...e?.disableSignup?{disableSignup:!0}:{}}}),l?.authFlow&&(l.authFlow=void 0),r("LandingScreen")}})}};exports.AccountNotFoundScreen=a,exports.AccountNotFoundScreenView=u,exports.default=a;
@@ -1,6 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("lucide-react");require("react");var i=require("styled-components"),t=require("./ModalHeader-C5Wuo3-1.js"),s=require("./context-Cg3IEi80.js"),n=require("./internal-context-BJv4f_bO.js"),o=require("./privy-context-CrM9_s6G.js"),a=require("./shouldProceedtoEmbeddedWalletCreationFlow-BUJZ4s-V.js"),u=require("./ScreenLayout-C4QHZMbl.js");require("./useActiveWallet-BfMD5hzE.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-_EIyxyle.js"),require("./useWallets-dikDynAG.js"),require("viem"),require("@privy-io/js-sdk-core"),require("eventemitter3"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("tinycolor2"),require("ofetch"),require("@privy-io/are-addresses-equal"),require("./index-DchMyzt9.js"),require("uuid"),require("jose"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-C-Rab7yP.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("./PrivyPluginContext-DsgaS6n9.js"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("js-cookie"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js"),require("./Screen-DWnRbzSA.js"),require("./index-ByFhjjzH.js");const l={component:()=>{let{user:r,logout:i}=o.usePrivyContext(),{onUserCloseViaDialogOrKeybindRef:t,setModalData:u,navigate:l}=o.usePrivyModal(),d=s.useAppConfig(),{acceptTerms:q,closePrivyModal:p,createAnalyticsEvent:y}=n.usePrivyInternal(),v=e=>{e?.preventDefault(),p({shouldCallAuthOnSuccess:!1}),i()};t.current=v;/*#__PURE__*/return e.jsx(c,{termsAndConditionsUrl:d?.legal.termsAndConditionsUrl,privacyPolicyUrl:d?.legal.privacyPolicyUrl,onAccept:async e=>{e?.preventDefault(),await q(),r&&a.shouldProceedtoEmbeddedWalletCreationFlow(r,d.embeddedWallets)?(u({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),y({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,screen:"AffirmativeConsentScreen"}}),i()},callAuthOnSuccessOnClose:!0}}),l("EmbeddedWalletOnAccountCreateScreen")):p()},onDecline:v})}},c=({termsAndConditionsUrl:i,privacyPolicyUrl:s,onAccept:n,onDecline:o,title:a="One last step",subtitle:l="By signing up, you agree to our terms and privacy policy."})=>/*#__PURE__*/e.jsx(u.ScreenLayout,{title:a,subtitle:l,icon:r.FileCheck,primaryCta:{label:"Accept",onClick:n},secondaryCta:{label:"No thanks",onClick:o},watermark:!0,children:(i||s)&&/*#__PURE__*/e.jsxs(d,{children:[i&&/*#__PURE__*/e.jsxs(t.Button,{variant:"muted",href:i,target:"_blank",size:"lg",style:{justifyContent:"space-between"},as:"a",children:["View Terms",/*#__PURE__*/e.jsx(r.ExternalLink,{width:16,height:16,strokeWidth:2.25})]}),s&&/*#__PURE__*/e.jsxs(t.Button,{variant:"muted",href:s,target:"_blank",size:"lg",style:{justifyContent:"space-between"},as:"a",children:["View Privacy Policy",/*#__PURE__*/e.jsx(r.ExternalLink,{width:16,height:16,strokeWidth:2.25})]})]})});let d=i.styled.div`
2
- display: flex;
3
- flex-direction: column;
4
- gap: 12px;
5
- margin-top: var(--screen-space);
6
- `;exports.AffirmativeConsentScreen=l,exports.AffirmativeConsentScreenView=c,exports.default=l;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("lucide-react");require("react");var t=require("./context-Cg3IEi80.js"),i=require("./privy-context-CrM9_s6G.js"),o=require("./ScreenLayout-C4QHZMbl.js");require("@privy-io/js-sdk-core"),require("tinycolor2"),require("@privy-io/are-addresses-equal"),require("./internal-context-BJv4f_bO.js"),require("ofetch"),require("./ModalHeader-C5Wuo3-1.js"),require("styled-components"),require("./useActiveWallet-BfMD5hzE.js"),require("zustand"),require("react-device-detect"),require("./use-export-wallet-_EIyxyle.js"),require("./useWallets-dikDynAG.js"),require("viem"),require("eventemitter3"),require("viem/utils"),require("./events-context-Di6--rDg.js"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./Screen-DWnRbzSA.js"),require("./index-ByFhjjzH.js");const n=({title:t="You don't have access to this app",subtitle:i="Have you been invited?",ctaText:n="Try another account",ctaLink:a,onCtaClick:c})=>/*#__PURE__*/e.jsx(o.ScreenLayout,{title:t,subtitle:i,icon:r.Lock,iconVariant:"warning",primaryCta:{label:n,onClick:()=>{a?window.open(a,"_blank"):c?.()}},watermark:!0}),a={component:()=>{let{navigate:r}=i.usePrivyModal(),o=t.useAppConfig(),a=o?.allowlistConfig.errorTitle||"You don't have access to this app",c=o?.allowlistConfig.errorDetail||"Have you been invited?",u=o?.allowlistConfig.errorCtaText||"Try another account",s=o?.allowlistConfig.errorCtaLink;/*#__PURE__*/return e.jsx(n,{title:a,subtitle:c,ctaText:u,ctaLink:s??void 0,onCtaClick:()=>{r("LandingScreen")}})}};exports.AllowlistRejectionScreen=a,exports.AllowlistRejectionScreenView=n,exports.default=a;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./context-Cg3IEi80.js"),n=require("./internal-context-BJv4f_bO.js"),i=require("./events-context-Di6--rDg.js"),o=require("./privy-context-CrM9_s6G.js"),l=require("./ConnectWalletView-C6ISoYJv.js");require("@privy-io/js-sdk-core"),require("tinycolor2"),require("ofetch"),require("@privy-io/are-addresses-equal"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("react-device-detect"),require("styled-components"),require("./ModalHeader-C5Wuo3-1.js"),require("./useActiveWallet-BfMD5hzE.js"),require("zustand"),require("./use-export-wallet-_EIyxyle.js"),require("./useWallets-dikDynAG.js"),require("viem"),require("eventemitter3"),require("viem/utils"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("./CopyableText-DbFeIZI0.js"),require("lucide-react"),require("./Link-BdtTp2J4.js"),require("./QrCode-Bbg48Zky.js"),require("qrcode"),require("./EmailInputForm-Y-nHsEtF.js"),require("./ErrorMessage-BfTVyue9.js"),require("./useI18n-DUN0YTKn.js"),require("./WalletCards-BfpeHH5n.js"),require("./Screen-DWnRbzSA.js"),require("./index-ByFhjjzH.js");const a={component:()=>{let{setWalletConnectionStatus:a,closePrivyModal:c,inProgressAuthFlowRef:s}=n.usePrivyInternal(),{data:u,navigate:q}=o.usePrivyModal(),d=t.useAppConfig(),C=i.useEmitPrivyEvent(),p=u?.externalConnectWallet?.description,W=r.useRef(u?.externalConnectWallet?.walletList??d.appearance.walletList),j=r.useRef(u?.externalConnectWallet?.walletChainType??d.appearance.walletChainType),v=W.current,E=j.current,y="link"===s.current?void 0:()=>q("LandingScreen");/*#__PURE__*/return e.jsx(l.i,{walletList:v,walletChainType:E,onClose:c,onConnect:r.useCallback((({connector:e,wallet:r})=>{C("connectWallet","onSuccess",{wallet:r}),a({status:"connected",connectedWallet:r,connector:e,connectError:null,connectRetry:()=>null}),q("ConnectionStatusScreen",!u?.externalConnectWallet?.preSelectedWalletId)}),[a,q,u?.login?.disableSignup,u?.externalConnectWallet?.preSelectedWalletId]),onConnectError:e=>{e instanceof n.PrivyError?(console.warn(e.cause?e.cause:e.message),C("connectWallet","onError",e.privyErrorCode||n.PrivyErrorCode.GENERIC_CONNECT_WALLET_ERROR)):(console.warn(e),C("connectWallet","onError",n.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR))},onBack:y,customDescription:p||"",preSelectedWalletId:u?.externalConnectWallet?.preSelectedWalletId,app:d})},isUnauthenticatedScreem:!0};exports.AuthenticateWithWalletScreen=a,exports.default=a;
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),t=require("react"),i=require("viem"),n=require("@privy-io/js-sdk-core"),a=require("./Layouts-D3TOcPhm.js"),s=require("./ModalHeader-C5Wuo3-1.js"),o=require("./ScreenHeader-CgYJ5Fmg.js"),u=require("./FundWalletMethodHeader-BTGxq_KO.js"),d=require("./index-ByFhjjzH.js"),c=require("./context-Cg3IEi80.js"),l=require("./internal-context-BJv4f_bO.js"),h=require("./useActiveWallet-BfMD5hzE.js"),g=require("./privy-context-CrM9_s6G.js"),p=require("./useGetTokenPrice-CSWuvKuF.js"),q=require("./useWallets-dikDynAG.js"),v=require("./analytics-C6C_4JmG.js"),f=require("./reservoir-Bx0HQwbb.js"),m=require("./index-DchMyzt9.js"),y=require("./getChainName-C4rO8-3n.js"),C=require("./transaction-DjF5X-by.js"),S=require("./BridgeNetworkSelectionView-DKogJoIK.js"),j=require("./use-export-wallet-_EIyxyle.js"),I=require("./TransferOrBridgeLoadingScreen-DsutKbzS.js");function E(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("tinycolor2"),require("ofetch"),require("zustand"),require("react-device-detect"),require("./events-context-Di6--rDg.js"),require("viem/utils"),require("@privy-io/are-addresses-equal"),require("./useGetSolPrice-Ca32VAbF.js"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-C-Rab7yP.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("./PrivyPluginContext-DsgaS6n9.js"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("js-cookie"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js"),require("./getFormattedUsdFromLamports-Mu2fqwL2.js"),require("./getErc20Balance-CTO0RtgK.js"),require("./Row-CMqYn75Q.js"),require("./ErrorMessage-BfTVyue9.js"),require("./Value-mhPsfsxe.js"),require("./LoadingSkeleton-BoyADunQ.js"),require("./Subtitle-CR8zM7ZJ.js"),require("./Title-ifTy35V5.js"),require("@heroicons/react/24/outline/WalletIcon"),require("./Chip-C6r7fZiR.js"),require("./NetworkIcon-BZ9Mj6vV.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("./shared-DBm7PUrg.js"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("./formatErc20TokenAmount-DxwoWe7e.js"),require("./ethers-p3w-Ig2U.js"),require("./styles-B1M_BS_A.js"),require("./LinkPasskeyScreen-D9Y8PpKL.js"),require("lucide-react"),require("./TodoList-Cii_KrAk.js"),require("./ScreenLayout-C4QHZMbl.js"),require("./Screen-DWnRbzSA.js"),require("./InjectedWalletIcon-UY3nMvZo.js"),require("./Address-BeuDoSGB.js");var T=/*#__PURE__*/E(r);const A={component:()=>{let r=c.useAppConfig(),{rpcConfig:E,appId:A,closePrivyModal:N,createAnalyticsEvent:w}=l.usePrivyInternal(),{navigate:x,setModalData:b,data:P}=g.usePrivyModal(),F=c.useAppConfig(),{wallets:L}=q.useWallets(),[_,U]=t.useState(null),[k,R]=t.useState(null),[B,M]=t.useState([]),[W,O]=t.useState(0),[D,G]=t.useState(!1),[H,V]=t.useState(!1),[Y,Q]=t.useState(!1),[$,X]=t.useState(!1),[z,J]=t.useState(),[K,Z]=t.useState();if(!P?.funding||"solana"!==P.funding.chainType)throw Error("Invalid funding data");let{address:ee,chain:re,connectedWallet:te}=P.funding,[ie,ne]=t.useState(P.funding.amount),ae=("ethereum"===te?.type?te:void 0)??L[0],se=h.useExternalWalletListing(ae?.walletClientType||"unknown"),oe=se?.name||"wallet",[ue,de]=t.useState(null);t.useEffect((()=>{(async()=>{if(!ae)return;let e=await ae.getEthereumProvider();de(i.createWalletClient({account:ae.address,transport:i.custom(e)}).extend(i.publicActions))})().catch(console.error)}),[ae]);let[ce,le]=t.useState(0n),he=C.getNativeCurrencyFromLamports(ce);t.useEffect((()=>{let e=r.solanaRpcs[re];e?m.fetchWalletBalance({rpc:e.rpc,address:ee}).then((e=>le(BigInt(e)))).catch(console.error):console.warn("Unable to load solana rpc, skipping balance")}),[]);let[ge,pe]=t.useState(),{tokenPrice:qe}=p.useGetTokenPrice("solana"),{fundingAmountInBaseUnit:ve,fundingAmountInUsd:fe}=C.getSolanaFormattedAmounts({amount:ie,fee:0n,tokenPrice:qe,isUsdc:P.funding.isUSDC});if(t.useEffect((()=>{(async()=>{if(!ue||!ae)return;let e=["solana:testnet","solana:devnet"].includes(re);e&&console.warn("Solana testnets are not supported for bridging");let r=n.addToDefaultChains(F.chains).filter((({testnet:r})=>!!r===e)),t=(await S.getBalanceForChains({chains:r,address:ae.address,appId:A,rpcConfig:E})).filter((e=>e.balance>0n));if(t.length<1)return void U(new l.PrivyClientError(`Wallet ${j.formatWalletAddress(ae.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE));t.sort(((e,r)=>Number(r.balance-e.balance)));let i=(await Promise.allSettled(t.map((async e=>({...e,quote:await f.getQuote({isTestnet:!1,input:f.toGetQuoteInput({appId:A,amount:ve.toString(),user:ae.address,recipient:ee,destinationChainId:f.RELAY_SOLANA_MAINNET_CHAIN_ID,destinationCurrency:f.RELAY_SOLANA_NATIVE_CURRENCY_ID,originChainId:e.chain.id})})}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(i.length<1)return void U(new l.PrivyClientError(`Unable to fetch quotes for bridging. Wallet ${j.formatWalletAddress(ae.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE));let a=i.map((({quote:e,balance:r,chain:t})=>({bridgeTx:f.toEvmTransactionRequestInfoFromQuote(e),balance:r,chain:t,isErc20Quote:!1}))).filter((({bridgeTx:e})=>!!e));if(a.length>1)return void M(a);let s=a.at(0);s?(V(!0),pe({data:s.bridgeTx.data,to:s.bridgeTx.to,value:s.bridgeTx.value,chain:s.chain})):U(new l.PrivyClientError(`Unable to select bridge option from quotes. Wallet ${j.formatWalletAddress(ae.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[ue]),t.useEffect((()=>{(async()=>{let e,r;if(!ue||!ae||D||Y||!ge)return;G(!0);let t=i.createPublicClient({chain:ge.chain,transport:i.http(q.getJsonRpcEndpointFromChain(ge.chain,E,A))});try{e=await t.prepareTransactionRequest({account:ae.address,to:ge.to,chain:ge.chain,data:ge.data,value:BigInt(ge.value??0)})}catch(e){console.error(e),B.length>1&&R(e.shortMessage??"Something went wrong")}if(e){"eip1559"===e.type||"eip4844"===e.type||"eip7702"===e.type?void 0!==e.gasPrice&&delete e.gasPrice:("legacy"===e.type||"eip2930"===e.type)&&(void 0!==e.maxFeePerGas&&delete e.maxFeePerGas,void 0!==e.maxPriorityFeePerGas&&delete e.maxPriorityFeePerGas),G(!1),Q(!0);try{await ue.switchChain({id:ge.chain.id})}catch(e){await ue.addChain({chain:ge.chain}),await ue.switchChain({id:ge.chain.id})}try{r=await ue.sendTransaction(e)}catch(e){console.error(e),"TransactionExecutionError"===e.name&&(B.length<1?U(new l.PrivyClientError(e.shortMessage,void 0,l.PrivyErrorCode.TRANSACTION_FAILURE)):R(e.shortMessage??"Something went wrong"))}if(r)return await ue.waitForTransactionReceipt({hash:r}),H?(Z("pending"),void J(r)):(Q(!1),X(!0),void w({eventName:v.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",txHash:r,address:ae.address,chainId:ge.chain.id,chainType:"ethereum",value:ge.value?i.formatUnits(BigInt(ge.value),18):void 0,token:"ETH",destination:ee,destinationClusterName:"mainnet-beta",destinationChainType:"solana",destinationValue:i.formatUnits(ve,9),destinationToken:"SOL"}}));Q(!1)}else G(!1)})().catch(console.error)}),[ue,ge]),f.useBridgingStatusPolling({transactionHash:z,isTestnet:!1,bridgingStatus:K,setBridgingStatus:Z,onSuccess({transactionHash:e}){V(!1),X(!0),w({eventName:v.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",txHash:e,address:ae?.address,chainId:ge?.chain.id,chainType:"ethereum",value:ge?.value?i.formatUnits(BigInt(ge.value),18):void 0,token:"ETH",destination:ee,destinationClusterName:"mainnet-beta",destinationChainType:"solana",destinationValue:i.formatUnits(ve,9),destinationToken:"SOL"}})},onFailure({error:e}){V(!1),U(e)}}),t.useEffect((()=>{_&&(b({funding:P?.funding,solanaFundingData:P?.solanaFundingData,sendTransaction:P?.sendTransaction,errorModalData:{error:_,previousScreen:"TransferFromWalletScreen"}}),x("ErrorScreen",!1))}),[_]),t.useEffect((()=>{if(!$)return;let e=setTimeout(N,c.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[$]),$/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.t,{}),/*#__PURE__*/e.jsx(a.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(a.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(T.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${ie} SOL to your ${F.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(a.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]});let me=B[W];return B.length>1&&me?/*#__PURE__*/e.jsx(S.BridgeNetworkSelectionView,{displayName:oe,configuredFundingChain:re,formattedBalance:he,fundingAmount:ie,fundingCurrency:"SOL",fundingAmountInUsd:fe,options:B,selectedOption:me,isPreparing:D,isSubmitting:Y,addressToFund:ee,fundingWalletAddress:ae?.address||"",errorMessage:k,onSubmit:()=>{P.funding?.amount!==ie?async function(){if(ae&&me)try{let e=await f.getQuote({isTestnet:!1,input:f.toGetQuoteInput({appId:A,amount:ve.toString(),user:ae.address,recipient:ee,destinationChainId:f.RELAY_SOLANA_MAINNET_CHAIN_ID,destinationCurrency:f.RELAY_SOLANA_NATIVE_CURRENCY_ID,originChainId:me.chain.id})}),r=f.toEvmTransactionRequestInfoFromQuote(e);if(!r)throw Error("Invalid transaction request");V(!0),pe({data:r.data,to:r.to,value:r.value,chain:me.chain})}catch(e){console.error(e),U(new l.PrivyClientError("Unable to fetch quotes for bridging",e,l.PrivyErrorCode.INSUFFICIENT_BALANCE))}}().catch(console.error):pe({to:me.bridgeTx.to,data:me.bridgeTx.data,value:me.bridgeTx.value,chain:me.chain})},onSelect:e=>{e!==W&&(R(null),O(e))},onAmountChange:ne}):Y&&ae?/*#__PURE__*/e.jsx(I.TransferOrBridgeLoadingScreen,{walletClientType:ae?.walletClientType||"unknown",displayName:oe,addressToFund:ee,isBridging:H,isErc20Flow:!1,chainId:"solana",chainName:y.getChainName(re),totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):
2
- /*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.t,{}),/*#__PURE__*/e.jsx(d.NeutralSpinner,{}),/*#__PURE__*/e.jsx("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]})}};exports.AwaitingEvmToSolBridgingScreen=A,exports.default=A;
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@heroicons/react/24/outline/CheckCircleIcon"),t=require("react"),i=require("viem"),n=require("@privy-io/js-sdk-core"),a=require("./Layouts-D3TOcPhm.js"),s=require("./ModalHeader-C5Wuo3-1.js"),o=require("./ScreenHeader-CgYJ5Fmg.js"),u=require("./FundWalletMethodHeader-BTGxq_KO.js"),d=require("./index-ByFhjjzH.js"),c=require("./context-Cg3IEi80.js"),l=require("./internal-context-BJv4f_bO.js"),h=require("./useActiveWallet-BfMD5hzE.js"),g=require("./privy-context-CrM9_s6G.js"),f=require("./useGetTokenPrice-CSWuvKuF.js"),m=require("./useWallets-dikDynAG.js"),v=require("./transfer-B1Y_9LWi.js"),p=require("./formatErc20TokenAmount-DxwoWe7e.js"),y=require("./ethers-p3w-Ig2U.js"),C=require("./analytics-C6C_4JmG.js"),q=require("./reservoir-Bx0HQwbb.js"),E=require("./index-DchMyzt9.js"),T=require("./BridgeNetworkSelectionView-DKogJoIK.js"),I=require("./getErc20Balance-CTO0RtgK.js"),S=require("./use-export-wallet-_EIyxyle.js"),j=require("./TransferOrBridgeLoadingScreen-DsutKbzS.js");function w(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("styled-components"),require("@heroicons/react/24/outline/ArrowLeftIcon"),require("@heroicons/react/24/outline/ArrowRightIcon"),require("@heroicons/react/24/outline/QuestionMarkCircleIcon"),require("@heroicons/react/24/outline/XMarkIcon"),require("tinycolor2"),require("ofetch"),require("zustand"),require("react-device-detect"),require("./events-context-Di6--rDg.js"),require("viem/utils"),require("@privy-io/are-addresses-equal"),require("./useGetSolPrice-Ca32VAbF.js"),require("uuid"),require("jose"),require("eventemitter3"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-C-Rab7yP.js"),require("@scure/base"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("./PrivyPluginContext-DsgaS6n9.js"),require("./getEmbeddedConnectedWallet-pJd-l936.js"),require("js-cookie"),require("./frame-Oz7volks.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-Cu_6Bx7m.js"),require("./Row-CMqYn75Q.js"),require("./ErrorMessage-BfTVyue9.js"),require("./Value-mhPsfsxe.js"),require("./LoadingSkeleton-BoyADunQ.js"),require("./Subtitle-CR8zM7ZJ.js"),require("./Title-ifTy35V5.js"),require("@heroicons/react/24/outline/WalletIcon"),require("./getChainName-C4rO8-3n.js"),require("./Chip-C6r7fZiR.js"),require("./NetworkIcon-BZ9Mj6vV.js"),require("@heroicons/react/24/outline/GlobeAltIcon"),require("./shared-DBm7PUrg.js"),require("@heroicons/react/24/outline/ChevronDownIcon"),require("./styles-B1M_BS_A.js"),require("./LinkPasskeyScreen-D9Y8PpKL.js"),require("lucide-react"),require("./TodoList-Cii_KrAk.js"),require("./ScreenLayout-C4QHZMbl.js"),require("./Screen-DWnRbzSA.js"),require("./InjectedWalletIcon-UY3nMvZo.js"),require("./Address-BeuDoSGB.js");var b=/*#__PURE__*/w(r);const A={component:()=>{let{rpcConfig:r,appId:w,closePrivyModal:A,createAnalyticsEvent:F}=l.usePrivyInternal(),{navigate:N,setModalData:x,data:P}=g.usePrivyModal(),B=c.useAppConfig(),{wallets:_}=m.useWallets(),[R,W]=t.useState(!1),[k,U]=t.useState(0n),[L,M]=t.useState(!1),[D,G]=t.useState(null),[H,Q]=t.useState(null),[O,$]=t.useState([]),[V,Y]=t.useState(0),[J,X]=t.useState(!1),[z,Z]=t.useState(!1),[K,ee]=t.useState(!1),[re,te]=t.useState(!1),[ie,ne]=t.useState(),[ae,se]=t.useState();if(!P?.funding||"ethereum"!==P.funding.chainType)throw Error("Invalid funding data");let{erc20ContractInfo:oe,chain:ue,connectedWallet:de}=P.funding,ce=P.funding.address,le=P.funding.erc20Address,[he,ge]=t.useState(P.funding.amount);t.useEffect((()=>{le&&!oe&&G(Error("Unable to fetch token details"))}),[]);let fe=!!le&&!!oe,me=fe?BigInt(parseFloat(he)*10**oe.decimals):i.parseEther(he),ve=("ethereum"===de?.type?de:void 0)??_[0],pe=h.useExternalWalletListing(ve?.walletClientType||"unknown"),ye=pe?.name||"wallet",[Ce,qe]=t.useState(null);t.useEffect((()=>{(async()=>{if(!ve)return;let e=await ve.getEthereumProvider();qe(i.createWalletClient({account:ve.address,transport:i.custom(e)}).extend(i.publicActions))})().catch(console.error)}),[ve]);let[Ee,Te]=t.useState(0n);t.useEffect((()=>{i.createPublicClient({chain:ue,transport:i.http(m.getJsonRpcEndpointFromChain(ue,r,w))}).getBalance({address:ce}).then(Te).catch(console.error)}),[]);let[Ie,Se]=t.useState(0n);t.useEffect((()=>{fe&&I.getErc20Balance({chain:ue,address:ce,appId:w,rpcConfig:r,erc20Address:le}).then((e=>Se(e.balance))).catch(console.error)}),[]);let{tokenPrice:je}=f.useGetTokenPrice(ue.id),[we,be]=t.useState({to:ce,chain:ue,value:me,data:void 0});t.useEffect((()=>{(async()=>{let e,t;if(!Ce||!ve||J||K)return;X(!0);let n=i.createPublicClient({chain:we.chain,transport:i.http(m.getJsonRpcEndpointFromChain(we.chain,r,w))});if(fe&&!we.data)return await n.simulateContract({address:le,chain:we.chain,abi:v.ERC20_TRANSFER_ABI_STUB,functionName:"transfer",args:[ce,me],account:ve.address}).catch((e=>{if("ContractFunctionZeroDataError"===e?.cause?.name||e?.message?.includes("returned no data"))return n.simulateContract({address:le,chain:we.chain,abi:v.ERC20_TRANSFER_ABI_STUB_NO_RETURN,functionName:"transfer",args:[ce,me],account:ve.address}).catch((e=>{console.warn("Simulated token transfer failed with error, fetching bridge options.",e)}));console.warn("Simulated token transfer failed with error, fetching bridge options.",e)}))?(X(!1),void be({to:le,chain:we.chain,data:i.encodeFunctionData({abi:v.ERC20_TRANSFER_ABI_STUB,functionName:"transfer",args:[ce,me]}),value:"0x0"})):(X(!1),void M(!0));try{e=await n.prepareTransactionRequest({account:ve.address,to:we.to,chain:we.chain,data:we.data,value:BigInt(we.value??0)})}catch(e){if(console.error(e),O.length>1)Q(e.shortMessage??"Something went wrong");else if(z&&0===O.length)return void G(new l.PrivyClientError(`Wallet ${S.formatWalletAddress(ve.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE))}if(!e)return X(!1),void M(!0);"eip1559"===e.type||"eip4844"===e.type||"eip7702"===e.type?void 0!==e.gasPrice&&delete e.gasPrice:("legacy"===e.type||"eip2930"===e.type)&&(void 0!==e.maxFeePerGas&&delete e.maxFeePerGas,void 0!==e.maxPriorityFeePerGas&&delete e.maxPriorityFeePerGas),X(!1),ee(!0),W(!0),U(e.gas);try{await Ce.switchChain({id:we.chain.id})}catch(e){await Ce.addChain({chain:we.chain}),await Ce.switchChain({id:we.chain.id})}try{t=await Ce.sendTransaction(e)}catch(e){if(console.error(e),"TransactionExecutionError"===e.name)if(O.length<1){let r=e.shortMessage;(e.shortMessage.includes("rejected the request")||e.details.includes("rejected the request"))&&(r="User rejected the request."),G(new l.PrivyClientError(r,void 0,l.PrivyErrorCode.TRANSACTION_FAILURE))}else Q(e.shortMessage??"Something went wrong")}if(t)return await Ce.waitForTransactionReceipt({hash:t}),ee(!1),z?(ne(t),void se("pending")):(te(!0),x(E.addFundingResultToModalData(P,"completed",t,ve?.walletClientType,fe,oe,ue)),void F({eventName:C.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",txHash:t,address:ve.address,chainId:we.chain.id,chainType:"ethereum",value:we.value?i.formatUnits(BigInt(we.value),oe?.decimals??18):void 0,token:oe?.symbol??le??"ETH",destinationAddress:ce,destinationChainId:ue.id,destinationChainType:"ethereum",destinationValue:me?i.formatUnits(me,oe?.decimals??18):void 0,destinationToken:oe?.symbol??le??ue.nativeCurrency.name}}));ee(!1)})().catch(console.error)}),[Ce,we]),t.useEffect((()=>{(async()=>{if(!L||!Ce||!ve)return;let e=n.addToDefaultChains(B.chains).filter((e=>e.id!==ue.id&&!!e.testnet==!!ue.testnet));fe&&e.unshift(ue);let t=await T.getBalanceForChains({chains:e,address:ve.address,appId:w,rpcConfig:r,includeUsdc:P.funding?.isUSDC}),i=fe?t.filter((e=>e.balance>0n)):t.filter((e=>e.balance>me)),a=fe&&t.every((e=>0n===e.balance));if(i.length<1)return void G(a?new l.PrivyClientError(`Wallet ${S.formatWalletAddress(ve.address)} doesn't have enough funds to cover gas fees. Top up your wallet and try again.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE):new l.PrivyClientError(`Wallet ${S.formatWalletAddress(ve.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE));i.sort(((e,r)=>Number(fe?(r.erc20Balance??0n)-(e.erc20Balance??0n):r.balance-e.balance)));let s=i.flatMap((e=>{let r=[{...e,isErc20Quote:!1,isTestnet:!!ue.testnet,input:q.toGetQuoteInput({appId:w,amount:me.toString(),user:ve.address,recipient:ce,destinationChainId:ue.id,destinationCurrency:le,originChainId:e.chain.id})}];return fe&&le&&(e.erc20Balance??0n)>=me&&r.push({...e,isErc20Quote:!0,isTestnet:!!ue.testnet,input:q.toGetQuoteInput({appId:w,amount:me.toString(),user:ve.address,recipient:ce,destinationChainId:ue.id,destinationCurrency:le,originChainId:e.chain.id,originCurrency:e.erc20Address})}),r})),o=(await Promise.allSettled(s.map((async e=>({...e,quote:await q.getQuote(e)}))))).filter((e=>"fulfilled"===e.status)).map((e=>e.value));if(o.length<1)return void G(new l.PrivyClientError(`Wallet ${S.formatWalletAddress(ve.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE));let u=o.map((e=>({bridgeTx:q.toEvmTransactionRequestInfoFromQuote(e.quote),balance:e.balance,chain:e.chain,erc20Balance:e.erc20Balance,isErc20Quote:e.isErc20Quote}))).filter((e=>!!e.bridgeTx));if(u.length>1)return void $(u);let d=u[0];d?(Z(!0),be({data:d.bridgeTx.data,to:d.bridgeTx.to,value:d.bridgeTx.value,chain:d.chain})):G(new l.PrivyClientError(`Wallet ${S.formatWalletAddress(ve.address)} does not have enough funds.`,void 0,l.PrivyErrorCode.INSUFFICIENT_BALANCE))})().catch(console.error)}),[L]),q.useBridgingStatusPolling({transactionHash:ie,isTestnet:!!ue.testnet,bridgingStatus:ae,setBridgingStatus:se,onSuccess({transactionHash:e}){Z(!1),te(!0),x(E.addFundingResultToModalData(P,"completed",e,ve?.walletClientType,fe,oe,ue)),F({eventName:C.ON_RAMP_COMPLETE_ANALYTICS_EVENT,payload:{provider:"external",status:"success",txHash:e,address:ve?.address,chainId:we.chain.id,chainType:"ethereum",value:we.value?i.formatUnits(BigInt(we.value),oe?.decimals??18):void 0,token:oe?.symbol??le??"ETH",destinationAddress:ce,destinationChainId:ue.id,destinationChainType:"ethereum",destinationValue:me?i.formatUnits(me,oe?.decimals??18):void 0,destinationToken:oe?.symbol??le??ue.nativeCurrency.name}})},onFailure({error:e}){Z(!1),G(e)}}),t.useEffect((()=>{D&&(x({funding:P?.funding,solanaFundingData:P?.solanaFundingData,sendTransaction:P?.sendTransaction,errorModalData:{error:D,previousScreen:"TransferFromWalletScreen"}}),N("ErrorScreen",!1))}),[D]);let Ae=!fe&&je?y.getDollarsFromStringFloat(he??"0",je):void 0,Fe=fe?k:y.sumWeiQuantities([k,me]),Ne=Fe&&je?y.getDollarsFromWei(Fe,je):void 0,xe=Fe?y.getNativeCurrencyFromWei(Fe,P?.funding?.erc20Address?P?.funding?.erc20ContractInfo?.symbol||"ETH":P?.funding?.chain.nativeCurrency.symbol||"ETH"):void 0,Pe=k&&je?y.getDollarsFromWei(k,je):void 0,Be=k?y.getNativeCurrencyFromWei(k,ue?.nativeCurrency?.symbol||"ETH"):void 0;if(t.useEffect((()=>{if(!re)return;let e=setTimeout(A,c.DEFAULT_SUCCESS_SCREEN_EXTRA_LONG_DURATION_MS);return()=>clearTimeout(e)}),[re]),re/*#__PURE__*/)return e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.t,{}),/*#__PURE__*/e.jsx(a.RefactorSpacerTop,{}),/*#__PURE__*/e.jsxs(a.CenteredItemWithGap,{children:[/*#__PURE__*/e.jsx(b.default,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),/*#__PURE__*/e.jsx(o.CenteredScreenHeader,{title:"Success!",description:`You’ve successfully added ${he} ${fe?oe.symbol:ue.nativeCurrency.symbol} to your ${B.name} wallet. It may take a minute before the funds are available to use.`})]}),/*#__PURE__*/e.jsx(a.RefactorSpacerBottom,{}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]});let _e=fe?`${p.formatErc20TokenAmount({amount:Ie,decimals:oe.decimals})} ${oe.symbol}`:y.getNativeCurrencyFromWei(Ee,ue.nativeCurrency.symbol,3,!0),Re=O[V];return O.length>1&&Re?/*#__PURE__*/e.jsx(T.BridgeNetworkSelectionView,{displayName:ye,configuredFundingChain:ue,erc20ContractInfo:oe,formattedBalance:_e,fundingAmount:he,fundingCurrency:fe?oe.symbol:ue.nativeCurrency.symbol,fundingAmountInUsd:Ae,options:O,selectedOption:Re,isPreparing:J,isSubmitting:K,addressToFund:ce,fundingWalletAddress:ve?.address||"",errorMessage:H,onSubmit:()=>{P.funding?.amount!==he?async function(){if(ve&&Re)try{let e=await q.getQuote({isTestnet:!!ue.testnet,input:q.toGetQuoteInput({appId:w,amount:me.toString(),user:ve.address,recipient:ce,destinationChainId:ue.id,destinationCurrency:le,originChainId:Re.chain.id})}),r=q.toEvmTransactionRequestInfoFromQuote(e);if(!r)throw Error("Invalid transaction request");Z(!0),be({data:r.data,to:r.to,value:r.value,chain:Re.chain})}catch(e){console.error(e),G(new l.PrivyClientError("Unable to fetch quotes for bridging",e,l.PrivyErrorCode.INSUFFICIENT_BALANCE))}}().catch(console.error):be({to:Re.bridgeTx.to,data:Re.bridgeTx.data,value:Re.bridgeTx.value,chain:Re.chain})},onSelect:e=>{e!==V&&(Q(null),Y(e))},onAmountChange:ge}):R&&k&&ve&&P?.funding?/*#__PURE__*/e.jsx(j.TransferOrBridgeLoadingScreen,{walletClientType:ve?.walletClientType||"unknown",displayName:ye,addressToFund:ce,isBridging:z,isErc20Flow:fe,totalPriceInUsd:Ne,totalPriceInNativeCurrency:xe,gasPriceInUsd:Pe,gasPriceInNativeCurrency:Be,chainId:ue.id,chainName:ue.name}):
2
- /*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(u.t,{}),/*#__PURE__*/e.jsx(d.NeutralSpinner,{}),/*#__PURE__*/e.jsx("div",{style:{marginTop:"1rem"}}),/*#__PURE__*/e.jsx(s.BlobbyFooter,{})]})}};exports.AwaitingExternalEthereumTransferScreen=A,exports.default=A;