@privy-io/react-auth 3.10.0-beta-20251223041507 → 3.10.1

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 (247) hide show
  1. package/dist/cjs/{AccountNotFoundScreen-C7clL66d.js → AccountNotFoundScreen-DpWbazhN.js} +1 -1
  2. package/dist/cjs/{Address-BdN5tzBx.js → Address-B_I2EZZe.js} +1 -1
  3. package/dist/cjs/{AffirmativeConsentScreen-nqY_Fe-R.js → AffirmativeConsentScreen-9ZT_Z3WZ.js} +1 -1
  4. package/dist/cjs/{AllowlistRejectionScreen-re6ZG8Lh.js → AllowlistRejectionScreen-DkSBlXbO.js} +1 -1
  5. package/dist/cjs/AuthenticateWithWalletScreen-B8X_BqjA.js +1 -0
  6. package/dist/cjs/{AwaitingEvmToSolBridgingScreen-BM3IBmq9.js → AwaitingEvmToSolBridgingScreen-TqLrYeHi.js} +1 -1
  7. package/dist/cjs/{AwaitingExternalEthereumTransferScreen-B4XlcGzI.js → AwaitingExternalEthereumTransferScreen-Dy4mxIoc.js} +1 -1
  8. package/dist/cjs/{AwaitingPasswordlessCodeScreen-DSbqJ8sw.js → AwaitingPasswordlessCodeScreen-gcHc0S-p.js} +1 -1
  9. package/dist/cjs/{AwaitingSolToEvmBridgingScreen-CwXoMm_a.js → AwaitingSolToEvmBridgingScreen-DtJ9-ogk.js} +1 -1
  10. package/dist/cjs/{BridgeNetworkSelectionView-C5hl7Cvq.js → BridgeNetworkSelectionView-dk0l0q-M.js} +1 -1
  11. package/dist/cjs/{Button-BdtKzmGp.js → Button-BEaVAnh4.js} +1 -1
  12. package/dist/cjs/{CaptchaScreen-MMvbG1XU.js → CaptchaScreen-C_mEgCfb.js} +1 -1
  13. package/dist/cjs/{CoinbaseOnrampStatusScreen-C13g-VeP.js → CoinbaseOnrampStatusScreen-retAGRaW.js} +1 -1
  14. package/dist/cjs/{ConnectEmailForm-BdLI53Fd.js → ConnectEmailForm-CfACIV6_.js} +1 -1
  15. package/dist/cjs/{ConnectLedgerScreen-BnmjZTW8.js → ConnectLedgerScreen-B_lID1I6.js} +1 -1
  16. package/dist/cjs/ConnectOnlyLandingScreen-ByTgLbTP.js +1 -0
  17. package/dist/cjs/{ConnectOnlyStatusScreen-DR659M9-.js → ConnectOnlyStatusScreen-9JAufomE.js} +1 -1
  18. package/dist/cjs/{ConnectOrCreateScreen-D6R6Ec06.js → ConnectOrCreateScreen-BF_OuFpX.js} +1 -1
  19. package/dist/cjs/{ConnectPhoneForm-GsUfLBeN.js → ConnectPhoneForm-C0SpJtis.js} +1 -1
  20. package/dist/cjs/ConnectWalletView-B7tEQCbZ.js +1 -0
  21. package/dist/cjs/{ConnectionStatusScreen-BdTKJ00Z.js → ConnectionStatusScreen-CLgTwzQu.js} +1 -1
  22. package/dist/cjs/{CrossAppAuthScreen-MjQpsKtB.js → CrossAppAuthScreen-M__fDCJH.js} +1 -1
  23. package/dist/cjs/{CustomLandingScreenView-CQhEjDH5.js → CustomLandingScreenView-D-7kPzjH.js} +2 -2
  24. package/dist/cjs/{DelegatedActionsConsentScreen-CFXpRnY2.js → DelegatedActionsConsentScreen-Co_Y95XG.js} +1 -1
  25. package/dist/cjs/{DelegatedActionsRevokeScreen-DZdidxUM.js → DelegatedActionsRevokeScreen-YAYK0-5r.js} +1 -1
  26. package/dist/cjs/{EmbeddedWalletConnectingScreen-DbMJXa_S.js → EmbeddedWalletConnectingScreen-ziUZeTLk.js} +1 -1
  27. package/dist/cjs/{EmbeddedWalletCreatedScreen-D6nEuVl0.js → EmbeddedWalletCreatedScreen-CG0y5Ke2.js} +1 -1
  28. package/dist/cjs/{EmbeddedWalletKeyExportScreen-DS5HJZhL.js → EmbeddedWalletKeyExportScreen-DFqz986K.js} +1 -1
  29. package/dist/cjs/{EmbeddedWalletOnAccountCreateScreen-XuCxKKiu.js → EmbeddedWalletOnAccountCreateScreen-B4WNBQna.js} +1 -1
  30. package/dist/cjs/{EmbeddedWalletPasswordUpdateScreen-B82XtLOT.js → EmbeddedWalletPasswordUpdateScreen-Y2DUG4YB.js} +1 -1
  31. package/dist/cjs/{EmbeddedWalletPasswordUpdateSplashScreen-hQeZx9F-.js → EmbeddedWalletPasswordUpdateSplashScreen-Dy8KboAq.js} +1 -1
  32. package/dist/cjs/{EnrollTotp-CDSds4bp.js → EnrollTotp-CasC3VFI.js} +1 -1
  33. package/dist/cjs/{ErrorScreen-C6W1-E6m.js → ErrorScreen-BrKj88o9.js} +1 -1
  34. package/dist/cjs/{FarcasterConnectStatusScreen-DmABWqds.js → FarcasterConnectStatusScreen-BLXWWJmD.js} +2 -2
  35. package/dist/cjs/{FarcasterSignerStatusScreen-n5XqsgJH.js → FarcasterSignerStatusScreen-Cr0xAGvg.js} +1 -1
  36. package/dist/cjs/{FundSolWalletWithExternalSolanaWallet-CJDB0jUQ.js → FundSolWalletWithExternalSolanaWallet-BdR31dg6.js} +2 -2
  37. package/dist/cjs/{FundWalletMethodHeader-uzk-ixZP.js → FundWalletMethodHeader-CxH_zVnz.js} +1 -1
  38. package/dist/cjs/{FundingEditAmountScreen-Dm9R9JPI.js → FundingEditAmountScreen-CP4EaEYh.js} +1 -1
  39. package/dist/cjs/{FundingMethodSelectionScreen-iEpU1hs4.js → FundingMethodSelectionScreen-BgZw0u6b.js} +1 -1
  40. package/dist/cjs/{InAppBrowserLoginNotPossible-Beb8qlZC.js → InAppBrowserLoginNotPossible-Cg9HwW8w.js} +1 -1
  41. package/dist/cjs/{InstallWalletScreen-BIWgPJfK.js → InstallWalletScreen-DRTLmXtV.js} +1 -1
  42. package/dist/cjs/{LandingScreen-D7OP1_yo.js → LandingScreen-Crcwq_g8.js} +1 -1
  43. package/dist/cjs/{LinkConflictScreen-CX0CaiYv.js → LinkConflictScreen-C3dRaiQk.js} +1 -1
  44. package/dist/cjs/{LinkEmailScreen-B9k2kjn3.js → LinkEmailScreen-DgQb2Wg1.js} +1 -1
  45. package/dist/cjs/{LinkPasskeyScreen-DtKPxsUK.js → LinkPasskeyScreen-52yLU_Q-.js} +1 -1
  46. package/dist/cjs/{LinkPhoneScreen-CJYR_lfw.js → LinkPhoneScreen-DQXhoFL4.js} +1 -1
  47. package/dist/cjs/{LoginFailedScreen-BlAMh708.js → LoginFailedScreen-yCmKlIj1.js} +1 -1
  48. package/dist/cjs/{ManualTransferScreen-DbmalI1O.js → ManualTransferScreen-Dk4BMFPw.js} +1 -1
  49. package/dist/cjs/{MfaAuthEnrollmentFlowScreen-C8TLvuYX.js → MfaAuthEnrollmentFlowScreen-yFdG0eOh.js} +1 -1
  50. package/dist/cjs/{MfaAuthVerifyFlowScreen-BAPSbY4D.js → MfaAuthVerifyFlowScreen-BZJ1SkGe.js} +1 -1
  51. package/dist/cjs/{MfaEnrollmentFlowScreen-BbuKW8By.js → MfaEnrollmentFlowScreen-DSsoPwhQ.js} +1 -1
  52. package/dist/cjs/{MfaVerifyFlowScreen-BDn-Sudi.js → MfaVerifyFlowScreen-CtOltjrq.js} +1 -1
  53. package/dist/cjs/{ModalHeader-OWSWMCEF.js → ModalHeader-n6Aqpos_.js} +1 -1
  54. package/dist/cjs/{MoonpayStatusScreen-LPtLXxZw.js → MoonpayStatusScreen-IxyonJvb.js} +1 -1
  55. package/dist/cjs/{OAuthStatusScreen-DzQX1znk.js → OAuthStatusScreen-D1DDf9yn.js} +1 -1
  56. package/dist/cjs/{PasskeySelectSignupOrLogin-iQFF1Hxe.js → PasskeySelectSignupOrLogin-D4XaKl_E.js} +1 -1
  57. package/dist/cjs/{PasskeyStatusScreen-CZJcGz9v.js → PasskeyStatusScreen-CFQM6Nh7.js} +1 -1
  58. package/dist/cjs/{PasswordRecoveryScreen-DxDNndVU.js → PasswordRecoveryScreen-DZhILc6f.js} +1 -1
  59. package/dist/cjs/{QrCode-C4hJtM22.js → QrCode-D-MkB93C.js} +1 -1
  60. package/dist/cjs/{RecoveryOAuthStatusScreen-BnLWeDeU.js → RecoveryOAuthStatusScreen-C47Vu6bz.js} +1 -1
  61. package/dist/cjs/{RecoveryPasswordCreateScreen-ShjkS8Nf.js → RecoveryPasswordCreateScreen-Cd7NUBpB.js} +1 -1
  62. package/dist/cjs/{RecoverySelectionScreen-C6S4JMZQ.js → RecoverySelectionScreen-C62og2VL.js} +1 -1
  63. package/dist/cjs/{Screen-D7sTdyLl.js → Screen-J7z62u7O.js} +1 -1
  64. package/dist/cjs/{ScreenLayout-BQP-gfLF.js → ScreenLayout-D6r13vU7.js} +1 -1
  65. package/dist/cjs/{SetAutomaticRecoveryScreen-DWtJH_0r.js → SetAutomaticRecoveryScreen-3unBTQcy.js} +1 -1
  66. package/dist/cjs/{SetWalletPasswordForm-CcidPSjk.js → SetWalletPasswordForm-Bw9mi-NI.js} +2 -2
  67. package/dist/cjs/{SignRequestScreen-D9Wl7ftq.js → SignRequestScreen-ZHkIJ3-6.js} +1 -1
  68. package/dist/cjs/{StandardSignAndSendTransactionScreen-zYrTR6bp.js → StandardSignAndSendTransactionScreen-A5KpXb14.js} +1 -1
  69. package/dist/cjs/{TelegramAuthScreen-CP6vsDtM.js → TelegramAuthScreen-qw6gcnZA.js} +1 -1
  70. package/dist/cjs/{TransactionDetails-DTH_TZpQ.js → TransactionDetails-6aFlRhNd.js} +2 -2
  71. package/dist/cjs/{TransactionErrorView-BUDEmz2T.js → TransactionErrorView-U-Fg5udU.js} +1 -1
  72. package/dist/cjs/{TransferFromWalletScreen-CrOo6G6H.js → TransferFromWalletScreen-DnUQ6O_8.js} +1 -1
  73. package/dist/cjs/{TransferOrBridgeLoadingScreen-DGvT2b_c.js → TransferOrBridgeLoadingScreen-C3pf0mwq.js} +1 -1
  74. package/dist/cjs/{UpdateEmailScreen-B1bG_2YL.js → UpdateEmailScreen-dPy98Sn_.js} +1 -1
  75. package/dist/cjs/{UpdatePhoneScreen-B5Wl9kel.js → UpdatePhoneScreen-CtNBijCK.js} +1 -1
  76. package/dist/cjs/{UserLimitReachedScreen-BIPUsBl1.js → UserLimitReachedScreen-DwbMomyS.js} +1 -1
  77. package/dist/cjs/{WalletInfoCard-BewbaIC_.js → WalletInfoCard-DxO9lMen.js} +1 -1
  78. package/dist/cjs/{WalletInterstitialScreen-Br5fazrn.js → WalletInterstitialScreen-CsZg29Za.js} +1 -1
  79. package/dist/cjs/{WalletLink-Da_ICG1G.js → WalletLink-J6Gw0D9R.js} +1 -1
  80. package/dist/cjs/{WalletOverflowButton-CHPYVqpu.js → WalletOverflowButton-Tdaiid33.js} +1 -1
  81. package/dist/cjs/abstract-smart-wallets.js +1 -1
  82. package/dist/cjs/{context-bxRrRk2e.js → context-BPd2qxKv.js} +1 -1
  83. package/dist/cjs/{ethers-C1-7vvVS.js → ethers-CqH8abGL.js} +1 -1
  84. package/dist/cjs/extended-chains.js +1 -1
  85. package/dist/cjs/{get-is-unified-wallet-RpTO1Sce.js → get-is-unified-wallet-D6pn8A8g.js} +1 -1
  86. package/dist/cjs/{index-BzsdDRPs.js → index-B4TzPiCM.js} +1 -1
  87. package/dist/cjs/{index-CwJGaDuo.js → index-BsEjyknv.js} +1 -1
  88. package/dist/cjs/index-Dz7affvL.js +5 -0
  89. package/dist/cjs/index.js +1 -1
  90. package/dist/cjs/internal.js +1 -1
  91. package/dist/cjs/{prepareFundingModalData-DSU36mVl.js → prepareFundingModalData-Do7d2fgq.js} +1 -1
  92. package/dist/cjs/{shared-cL6fofyC.js → shared-CbD3Tm1u.js} +1 -1
  93. package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-DNSXSeaZ.js → shouldProceedtoEmbeddedWalletCreationFlow-BjZ_f-Zv.js} +1 -1
  94. package/dist/cjs/{smart-wallets-xKqtP8Ub.js → smart-wallets-DFIScSPs.js} +1 -1
  95. package/dist/cjs/smart-wallets.js +1 -1
  96. package/dist/cjs/solana.js +1 -1
  97. package/dist/cjs/{to-ui-error-B3W7oUF5.js → to-ui-error-B83yFdtm.js} +1 -1
  98. package/dist/cjs/ui.js +1 -1
  99. package/dist/cjs/{use-create-wallet-without-fallback-D8LW9DKc.js → use-create-wallet-without-fallback-BSl4qcLv.js} +1 -1
  100. package/dist/cjs/{use-export-wallet-C2suPEqR.js → use-export-wallet-ABk4jSh5.js} +1 -1
  101. package/dist/cjs/{useActiveWallet-hSS_Ajap.js → useActiveWallet-B-Pd49hn.js} +1 -1
  102. package/dist/cjs/{useGetTokenPrice-oMgVfBGa.js → useGetTokenPrice-Cm0Ldnuy.js} +1 -1
  103. package/dist/cjs/{useI18n-D7JXe5tP.js → useI18n-5uCrUblH.js} +1 -1
  104. package/dist/cjs/{usePrivy-DX4q_wvG.js → usePrivy-CANb3vg4.js} +1 -1
  105. package/dist/cjs/{useSolanaRpcClient-D0_ipP49.js → useSolanaRpcClient-BBCvBn6x.js} +1 -1
  106. package/dist/cjs/{useWallets-_HUqLUqD.js → useWallets-Bi_kf80t.js} +1 -1
  107. package/dist/cjs/{useWallets-KrPOPwD6.js → useWallets-CTdzIPwr.js} +1 -1
  108. package/dist/dts/{events-context-BYT6PpDG.d.ts → events-context-BTan6II8.d.mts} +1 -1
  109. package/dist/dts/{events-context-BYT6PpDG.d.mts → events-context-BTan6II8.d.ts} +1 -1
  110. package/dist/dts/extended-chains.d.mts +1 -1
  111. package/dist/dts/extended-chains.d.ts +1 -1
  112. package/dist/dts/farcaster.d.mts +1 -1
  113. package/dist/dts/farcaster.d.ts +1 -1
  114. package/dist/dts/index.d.mts +43 -32
  115. package/dist/dts/index.d.ts +43 -32
  116. package/dist/dts/internal.d.mts +1 -1
  117. package/dist/dts/internal.d.ts +1 -1
  118. package/dist/dts/smart-wallets.d.mts +1 -1
  119. package/dist/dts/smart-wallets.d.ts +1 -1
  120. package/dist/dts/solana.d.mts +3 -3
  121. package/dist/dts/solana.d.ts +3 -3
  122. package/dist/dts/{types-D7U23FgR.d.mts → types-B4eMcjTQ.d.mts} +2 -1
  123. package/dist/dts/{types-D7U23FgR.d.ts → types-B4eMcjTQ.d.ts} +2 -1
  124. package/dist/dts/ui.d.mts +1 -1
  125. package/dist/dts/ui.d.ts +1 -1
  126. package/dist/esm/{AccountNotFoundScreen-m-ulnyRC.mjs → AccountNotFoundScreen-S6aY2Bit.mjs} +1 -1
  127. package/dist/esm/{Address-Bb7zLnoh.mjs → Address-BZeOq9QH.mjs} +1 -1
  128. package/dist/esm/{AffirmativeConsentScreen-BZiI7gaY.mjs → AffirmativeConsentScreen-Duhzxm_H.mjs} +1 -1
  129. package/dist/esm/{AllowlistRejectionScreen-DYujQEMu.mjs → AllowlistRejectionScreen-BMPe-U6U.mjs} +1 -1
  130. package/dist/esm/AuthenticateWithWalletScreen-B0-JIF_P.mjs +1 -0
  131. package/dist/esm/AwaitingEvmToSolBridgingScreen-SpjPGAVg.mjs +2 -0
  132. package/dist/esm/{AwaitingExternalEthereumTransferScreen-QSi_jFuT.mjs → AwaitingExternalEthereumTransferScreen-MaJkRZM2.mjs} +1 -1
  133. package/dist/esm/{AwaitingPasswordlessCodeScreen-CRZX91TB.mjs → AwaitingPasswordlessCodeScreen-CpmHzcEh.mjs} +1 -1
  134. package/dist/esm/{AwaitingSolToEvmBridgingScreen-C5nKj1yd.mjs → AwaitingSolToEvmBridgingScreen-B3HJI5qn.mjs} +2 -2
  135. package/dist/esm/{BridgeNetworkSelectionView-B-gh55-1.mjs → BridgeNetworkSelectionView-ITdiT09i.mjs} +1 -1
  136. package/dist/esm/{Button-BTB0FpvZ.mjs → Button-CrJpeX0e.mjs} +1 -1
  137. package/dist/esm/{CaptchaScreen-Y0vNrbk0.mjs → CaptchaScreen-BEvV9l59.mjs} +1 -1
  138. package/dist/esm/{CoinbaseOnrampStatusScreen-qhDq6qtP.mjs → CoinbaseOnrampStatusScreen-CYKvPSTa.mjs} +1 -1
  139. package/dist/esm/{ConnectEmailForm-eTN3xUik.mjs → ConnectEmailForm-CzIQouaK.mjs} +1 -1
  140. package/dist/esm/{ConnectLedgerScreen-C-dhUpqp.mjs → ConnectLedgerScreen-B84x_XJQ.mjs} +1 -1
  141. package/dist/esm/ConnectOnlyLandingScreen-DOUEqxQS.mjs +1 -0
  142. package/dist/esm/{ConnectOnlyStatusScreen-C7OMszka.mjs → ConnectOnlyStatusScreen-C2DOQ20l.mjs} +1 -1
  143. package/dist/esm/ConnectOrCreateScreen-ls3v_wzh.mjs +1 -0
  144. package/dist/esm/{ConnectPhoneForm-DmGv_fDg.mjs → ConnectPhoneForm-BeT3tDQM.mjs} +1 -1
  145. package/dist/esm/ConnectWalletView-Ch6TwKX_.mjs +1 -0
  146. package/dist/esm/{ConnectionStatusScreen-4_pj5yk1.mjs → ConnectionStatusScreen-BFOC7TO_.mjs} +1 -1
  147. package/dist/esm/{CrossAppAuthScreen-D8abJvV4.mjs → CrossAppAuthScreen-BbWHC41s.mjs} +1 -1
  148. package/dist/esm/{CustomLandingScreenView-BYAB5iWk.mjs → CustomLandingScreenView-CKarTBuo.mjs} +2 -2
  149. package/dist/esm/{DelegatedActionsConsentScreen-BPTr4yVf.mjs → DelegatedActionsConsentScreen-h8zjYxdK.mjs} +1 -1
  150. package/dist/esm/{DelegatedActionsRevokeScreen-NY7ZuJZA.mjs → DelegatedActionsRevokeScreen-C1RofLwl.mjs} +1 -1
  151. package/dist/esm/{EmbeddedWalletConnectingScreen-CnprUZbY.mjs → EmbeddedWalletConnectingScreen-DRLC8HnL.mjs} +1 -1
  152. package/dist/esm/{EmbeddedWalletCreatedScreen-BlrNZpYf.mjs → EmbeddedWalletCreatedScreen-BiqITDV_.mjs} +1 -1
  153. package/dist/esm/{EmbeddedWalletKeyExportScreen-Dd5N7zPF.mjs → EmbeddedWalletKeyExportScreen-lPloqMsw.mjs} +2 -2
  154. package/dist/esm/{EmbeddedWalletOnAccountCreateScreen-h5zGIqOI.mjs → EmbeddedWalletOnAccountCreateScreen-DjXY44ON.mjs} +1 -1
  155. package/dist/esm/{EmbeddedWalletPasswordUpdateScreen-UJaVcH1p.mjs → EmbeddedWalletPasswordUpdateScreen-CfZ6F7Xo.mjs} +1 -1
  156. package/dist/esm/{EmbeddedWalletPasswordUpdateSplashScreen-CMyJVKRi.mjs → EmbeddedWalletPasswordUpdateSplashScreen-1u-5wz14.mjs} +1 -1
  157. package/dist/esm/{EnrollTotp-D1Y019Iq.mjs → EnrollTotp-Ds_-ZGUd.mjs} +1 -1
  158. package/dist/esm/{ErrorScreen-KfzBkWlg.mjs → ErrorScreen-A7eS3gFZ.mjs} +1 -1
  159. package/dist/esm/{FarcasterConnectStatusScreen-C18PKycv.mjs → FarcasterConnectStatusScreen-CoUFovnM.mjs} +1 -1
  160. package/dist/esm/{FarcasterSignerStatusScreen-Crgxbwaw.mjs → FarcasterSignerStatusScreen-DJMF_7OC.mjs} +1 -1
  161. package/dist/esm/{FundSolWalletWithExternalSolanaWallet-BsnoBDOC.mjs → FundSolWalletWithExternalSolanaWallet-BCElohac.mjs} +1 -1
  162. package/dist/esm/{FundWalletMethodHeader-C6QXrL4P.mjs → FundWalletMethodHeader-DBV2Rnau.mjs} +1 -1
  163. package/dist/esm/FundingEditAmountScreen-hLQBUAs6.mjs +1 -0
  164. package/dist/esm/{FundingMethodSelectionScreen-BqxUw0Mf.mjs → FundingMethodSelectionScreen-CQ6Kjv8P.mjs} +1 -1
  165. package/dist/esm/{InAppBrowserLoginNotPossible-BIUZ9A4G.mjs → InAppBrowserLoginNotPossible-B6aOQR90.mjs} +1 -1
  166. package/dist/esm/{InstallWalletScreen-TAbe1EVV.mjs → InstallWalletScreen-gwlyer4j.mjs} +1 -1
  167. package/dist/esm/LandingScreen-BkCClWy8.mjs +1 -0
  168. package/dist/esm/{LinkConflictScreen-55SLx3hx.mjs → LinkConflictScreen-C0K1Bw7W.mjs} +1 -1
  169. package/dist/esm/{LinkEmailScreen-Xzy79V-m.mjs → LinkEmailScreen-DDH1Ent-.mjs} +1 -1
  170. package/dist/esm/{LinkPasskeyScreen-D6FiejG9.mjs → LinkPasskeyScreen-75b0FmMc.mjs} +1 -1
  171. package/dist/esm/{LinkPhoneScreen-sf2CMtqv.mjs → LinkPhoneScreen-CZaTFcuX.mjs} +1 -1
  172. package/dist/esm/{LoginFailedScreen-bwxW7s9F.mjs → LoginFailedScreen-Csu_ek1s.mjs} +1 -1
  173. package/dist/esm/{ManualTransferScreen-D__iGi-r.mjs → ManualTransferScreen-Cn8sFLD_.mjs} +1 -1
  174. package/dist/esm/{MfaAuthEnrollmentFlowScreen-C-bjwRJj.mjs → MfaAuthEnrollmentFlowScreen-9HiNxKYV.mjs} +1 -1
  175. package/dist/esm/{MfaAuthVerifyFlowScreen-B9d5FlYJ.mjs → MfaAuthVerifyFlowScreen-C9Pe8A-f.mjs} +1 -1
  176. package/dist/esm/{MfaEnrollmentFlowScreen-CFLh4E-x.mjs → MfaEnrollmentFlowScreen-C-VfRmbP.mjs} +1 -1
  177. package/dist/esm/{MfaVerifyFlowScreen-BpIzH2DY.mjs → MfaVerifyFlowScreen-BLzgEe8U.mjs} +1 -1
  178. package/dist/esm/{ModalHeader-20vQXDeu.mjs → ModalHeader-YP9pLMEP.mjs} +1 -1
  179. package/dist/esm/{MoonpayStatusScreen-CRNJ6piv.mjs → MoonpayStatusScreen-tt17kvkR.mjs} +1 -1
  180. package/dist/esm/{OAuthStatusScreen-DngcR9YB.mjs → OAuthStatusScreen-DA8QEDgm.mjs} +1 -1
  181. package/dist/esm/{PasskeySelectSignupOrLogin-Db_bv7rS.mjs → PasskeySelectSignupOrLogin-BnOxpeKy.mjs} +1 -1
  182. package/dist/esm/{PasskeyStatusScreen-Ckj7CcsN.mjs → PasskeyStatusScreen-CqoYgdZ0.mjs} +1 -1
  183. package/dist/esm/{PasswordRecoveryScreen-BX5mNuIA.mjs → PasswordRecoveryScreen-BgFiWz_H.mjs} +1 -1
  184. package/dist/esm/{QrCode-C7So9kgj.mjs → QrCode-C0_lXRph.mjs} +1 -1
  185. package/dist/esm/{RecoveryOAuthStatusScreen-CH9_ywci.mjs → RecoveryOAuthStatusScreen-B698r-dZ.mjs} +1 -1
  186. package/dist/esm/{RecoveryPasswordCreateScreen-CVvb7FPI.mjs → RecoveryPasswordCreateScreen-U7uAGUdt.mjs} +1 -1
  187. package/dist/esm/{RecoverySelectionScreen-Bhj-0m8Y.mjs → RecoverySelectionScreen-CvZ8jmi2.mjs} +1 -1
  188. package/dist/esm/{Screen-BUPcYMtI.mjs → Screen-CpIMiJNF.mjs} +1 -1
  189. package/dist/esm/{ScreenLayout-6iIsKpRq.mjs → ScreenLayout-t3qtbQ3-.mjs} +1 -1
  190. package/dist/esm/{SetAutomaticRecoveryScreen-BH63Ni6A.mjs → SetAutomaticRecoveryScreen-BlqLhOJS.mjs} +1 -1
  191. package/dist/esm/{SetWalletPasswordForm-BK0mdI5e.mjs → SetWalletPasswordForm-DMOSI5Cu.mjs} +2 -2
  192. package/dist/esm/{SignRequestScreen-BDw7xxk7.mjs → SignRequestScreen-Bc6WEdOH.mjs} +1 -1
  193. package/dist/esm/{StandardSignAndSendTransactionScreen-DYM2d5Hk.mjs → StandardSignAndSendTransactionScreen-CNnIfg-v.mjs} +1 -1
  194. package/dist/esm/{TelegramAuthScreen-DT2RJ9om.mjs → TelegramAuthScreen-C_5cJWas.mjs} +1 -1
  195. package/dist/esm/{TransactionDetails-lKP8UN4t.mjs → TransactionDetails-Dpy5T9tM.mjs} +3 -3
  196. package/dist/esm/{TransactionErrorView-CCIFQVpG.mjs → TransactionErrorView-Dyy8JzAg.mjs} +1 -1
  197. package/dist/esm/{TransferFromWalletScreen-I5s2zHDy.mjs → TransferFromWalletScreen-DsWLEs0t.mjs} +1 -1
  198. package/dist/esm/{TransferOrBridgeLoadingScreen-B_NJD8Kh.mjs → TransferOrBridgeLoadingScreen-CKF3jFy2.mjs} +1 -1
  199. package/dist/esm/{UpdateEmailScreen-BD0-0Aj5.mjs → UpdateEmailScreen-DjS9mWl8.mjs} +1 -1
  200. package/dist/esm/{UpdatePhoneScreen-DnHd2jee.mjs → UpdatePhoneScreen-0Wm7i3sR.mjs} +1 -1
  201. package/dist/esm/{UserLimitReachedScreen-xflcj6OH.mjs → UserLimitReachedScreen-C4J0L2bZ.mjs} +1 -1
  202. package/dist/esm/{WalletInfoCard-CpBKe1da.mjs → WalletInfoCard-QxupP_e1.mjs} +1 -1
  203. package/dist/esm/{WalletInterstitialScreen-D7r0v78D.mjs → WalletInterstitialScreen-ofT84gQY.mjs} +1 -1
  204. package/dist/esm/{WalletLink-Cz8vvc1q.mjs → WalletLink-DFEVbh0m.mjs} +1 -1
  205. package/dist/esm/{WalletOverflowButton-0as7efhF.mjs → WalletOverflowButton-gDOg31Q5.mjs} +1 -1
  206. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  207. package/dist/esm/context-BOoFAPna.mjs +1 -0
  208. package/dist/esm/{ethers-CVqqoG3x.mjs → ethers-DnpKeAXc.mjs} +1 -1
  209. package/dist/esm/extended-chains.mjs +1 -1
  210. package/dist/esm/{get-is-unified-wallet-DJwJGV0c.mjs → get-is-unified-wallet-Ca5aEojK.mjs} +1 -1
  211. package/dist/esm/index-CUao1WyN.mjs +5 -0
  212. package/dist/esm/{index-PcBcXwU-.mjs → index-DL7cst3F.mjs} +1 -1
  213. package/dist/esm/{index-DZtcKggn.mjs → index-Doo2h9wE.mjs} +1 -1
  214. package/dist/esm/index.mjs +1 -1
  215. package/dist/esm/internal.mjs +1 -1
  216. package/dist/esm/{prepareFundingModalData-BHvIzv1P.mjs → prepareFundingModalData-CzDMa8gy.mjs} +1 -1
  217. package/dist/esm/{shared-BWmKXy6D.mjs → shared-C_3e8pDa.mjs} +1 -1
  218. package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-B6qJ8fhx.mjs → shouldProceedtoEmbeddedWalletCreationFlow-BkG4QVN4.mjs} +1 -1
  219. package/dist/esm/{smart-wallets-BGPCB0ep.mjs → smart-wallets-DUDljgWK.mjs} +1 -1
  220. package/dist/esm/smart-wallets.mjs +1 -1
  221. package/dist/esm/solana.mjs +1 -1
  222. package/dist/esm/to-ui-error-BuXu0iWM.mjs +1 -0
  223. package/dist/esm/ui.mjs +1 -1
  224. package/dist/esm/{use-create-wallet-without-fallback-C_y-siw-.mjs → use-create-wallet-without-fallback-4kJuPNnl.mjs} +1 -1
  225. package/dist/esm/{use-export-wallet-DapEzFil.mjs → use-export-wallet-DLpQ6ZuE.mjs} +1 -1
  226. package/dist/esm/{useActiveWallet-DDf-vaMZ.mjs → useActiveWallet-BdFIc7_K.mjs} +1 -1
  227. package/dist/esm/{useGetTokenPrice-2p261ACv.mjs → useGetTokenPrice-Cw9UgOp3.mjs} +1 -1
  228. package/dist/esm/{useI18n-BRYVrLjs.mjs → useI18n-fcpgyVzo.mjs} +1 -1
  229. package/dist/esm/{usePrivy-dzRKwB0-.mjs → usePrivy-CeQ3C1KS.mjs} +1 -1
  230. package/dist/esm/{useSolanaRpcClient-7AG_puUr.mjs → useSolanaRpcClient-DyBoxaVM.mjs} +1 -1
  231. package/dist/esm/{useWallets-N0hQJNER.mjs → useWallets-3r4yfFNg.mjs} +1 -1
  232. package/dist/esm/{useWallets-B4MGwFyP.mjs → useWallets-CZrLXHtS.mjs} +1 -1
  233. package/package.json +3 -3
  234. package/dist/cjs/AuthenticateWithWalletScreen-xtyc2rtb.js +0 -1
  235. package/dist/cjs/ConnectOnlyLandingScreen-BDGZs0Ro.js +0 -1
  236. package/dist/cjs/ConnectWalletView-C7gK4cbO.js +0 -1
  237. package/dist/cjs/index-DG6nzSst.js +0 -5
  238. package/dist/esm/AuthenticateWithWalletScreen-BJNgLR93.mjs +0 -1
  239. package/dist/esm/AwaitingEvmToSolBridgingScreen-CTM7spSX.mjs +0 -2
  240. package/dist/esm/ConnectOnlyLandingScreen-BXCcG8rx.mjs +0 -1
  241. package/dist/esm/ConnectOrCreateScreen-CsSyifOf.mjs +0 -1
  242. package/dist/esm/ConnectWalletView-BwcROWqJ.mjs +0 -1
  243. package/dist/esm/FundingEditAmountScreen-B_s1b9Zt.mjs +0 -1
  244. package/dist/esm/LandingScreen-Bdy5KSMA.mjs +0 -1
  245. package/dist/esm/context-CoegzSND.mjs +0 -1
  246. package/dist/esm/index-DcaQ9VMZ.mjs +0 -5
  247. package/dist/esm/to-ui-error-Cc8LO7vH.mjs +0 -1
@@ -1 +1 @@
1
- import{isMobile as e}from"react-device-detect";import{a as r,b as t,u as a}from"./internal-context-e-Eni5bG.mjs";import{jsx as n}from"react/jsx-runtime";import{useContext as o,createContext as i,useEffect as l,useRef as s,useCallback as d}from"react";import{c,b as u,g as p,a as y,j as E,f as m,u as w,P as f}from"./get-is-unified-wallet-DJwJGV0c.mjs";import{a as h,u as v}from"./events-context-CI0iqAXA.mjs";import{create as T}from"@privy-io/js-sdk-core";import{g as W}from"./useWallets-N0hQJNER.mjs";import{u as A,W as g}from"./context-CoegzSND.mjs";function D(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}function U(t,a){let n=D(a);if(e&&n.universalLink)return L(n.universalLink,t);if(n.deepLink)return b(n.deepLink,t);if(n.universalLink)return L(n.universalLink,t);throw new r(`Unsupported wallet ${a.id}`)}function I(e,r){let t=D(r);if(t.universalLink)return L(t.universalLink,e)}let S="WALLETCONNECT_DEEPLINK_CHOICE";function x(){try{localStorage.removeItem(S)}catch{}}function k({href:e,name:r}){try{localStorage.setItem(S,JSON.stringify({href:e,name:r}))}catch{}}function _(){try{localStorage.removeItem(S)}catch{}}function M(e){return e.startsWith("http://")||e.startsWith("https://")}function b(e,r){if(M(e))return L(e,r);let t=e;return t.includes("://")||(t=e.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function L(e,r){if(!M(e))return b(e,r);let t=e;return t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function C(e,r){window.open(e,r,"noreferrer noopener")}const P=({address:e,nonce:r})=>`${window.location.host} wants you to sign in with your Solana account:\n${e}\n\n${`You are proving you own ${e}.`}\n\nURI: ${window.location.origin}\nVersion: 1\nChain ID: mainnet\nNonce: ${r}\nIssued At: ${(new Date).toISOString()}\nResources:\n- https://privy.io`;let R=/*#__PURE__*/i({plugins:{current:{}}});const N=({children:e})=>{let r=s({});/*#__PURE__*/return n(R.Provider,{value:{plugins:r},children:e})},O=(...e)=>{let{plugins:r}=o(R);l((()=>{for(let t of e)r.current[t.id]=t;return()=>{for(let t of e)delete r.current[t.id]}}),[r])},$=()=>{let{plugins:e}=o(R);return d((r=>e.current[r]),[e])},B=Symbol("solana-funding-plugin"),j=Symbol("solana-ledger-plugin"),K=(e,{chainType:r,walletIndex:t}={})=>e?.linkedAccounts.filter((e=>!("wallet"!==e.type||"privy"!==e.walletClientType||void 0!==t&&e.walletIndex!==t||void 0!==r&&e.chainType!==r)))??[],z=e=>e.reduce(((e,r)=>!e||e.walletIndex<r.walletIndex?r:e),null),F=async({user:e,accessToken:r,proxy:t,refreshSessionAndUser:a,privy:n,appConfig:o,recoverEmbeddedWallet:i,setUser:l,walletIndex:s,chainType:d,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})=>{if(0===s)if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await T(n,{request:{chain_type:d}});else if("ethereum"===d){let a=c(e);a&&await i({address:a.address}),await t.create({accessToken:r,solanaAddress:a?.address,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})}else{if("solana"!==d)throw Error("Invalid input to create wallet");{let a=u(e);a&&await i({address:a.address}),await t.createSolana({accessToken:r,ethereumAddress:a?.address,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})}}else if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await T(n,{request:{chain_type:d}});else{let{entropyId:a,entropyIdVerifier:n}=W(e);await i(),await t.addWallet({accessToken:r,entropyId:a,entropyIdVerifier:n,chainType:d,hdWalletIndex:s})}let m=await a(),w=K(m,{chainType:d,walletIndex:s})[0];return l(m),{user:m,account:w}};let H=async({accessToken:e,appConfig:r,privy:a,emitPrivyEvent:n,proxy:o,refreshSessionAndUser:i,recoverEmbeddedWallet:l,user:s,walletIndex:d,setModalData:c,openModal:u,chainType:y,setUser:E})=>{if(d<0)throw n("createWallet","onError",t.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${d}) is invalid.`);let m=p(s);if(d>0&&!m)throw n("createWallet","onError",t.EMBEDDED_WALLET_NOT_FOUND),Error("Must have an existing embedded wallet to create an additional wallet.");if(r.embeddedWallets.requireUserOwnedRecoveryOnCreate&&"user-controlled-server-wallets-only"===r.embeddedWallets.mode)throw n("createWallet","onError",t.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!m&&r.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await q({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});let w=K(s,{chainType:y,walletIndex:d})[0];if(w)return{user:s,account:w};if(0===d&&!o)return q({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});if(!o)throw n("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return F({appConfig:r,walletIndex:d,chainType:y,user:s,accessToken:e,proxy:o,refreshSessionAndUser:i,privy:a,recoverEmbeddedWallet:l,setUser:E})},q=async({emitPrivyEvent:e,setModalData:r,openModal:a,chainType:n})=>new Promise(((o,i)=>{r({createWallet:{onSuccess:({user:r,account:t})=>{e("createWallet","onSuccess",{wallet:t}),o({user:r,account:t})},onFailure:r=>{e("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),i(r)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===n,shouldCreateSol:"solana"===n}}),a("EmbeddedWalletOnAccountCreateScreen")}));const V=()=>{let e=A(),r=h(),{setModalData:n}=y(),{initializeWalletProxy:o,recoverEmbeddedWallet:i,setUser:l,openModal:s,refreshSessionAndUser:d,privy:c,client:u}=a();return{create:async({chainType:a,options:p,latestUser:y})=>{let E=y;if(E||(E=await d()),!E)throw r("createWallet","onError",t.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await(async({appConfig:e,getAccessToken:r,initializeWalletProxy:a,user:n,privy:o,emitPrivyEvent:i,recoverEmbeddedWallet:l,setModalData:s,openModal:d,setUser:c,options:u,timeoutDuration:p,refreshSessionAndUser:y,chainType:E})=>{let[m,w]=await Promise.all([a(p),r()]);if(!w||!n)throw i("createWallet","onError",t.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!m&&e.customAuth?.enabled)throw i("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(u&&"walletIndex"in u&&"number"==typeof u.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw i("createWallet","onError",t.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return H({accessToken:w,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:m,refreshSessionAndUser:y,recoverEmbeddedWallet:l,setModalData:s,user:n,walletIndex:u.walletIndex,chainType:E,setUser:c})}let f=u&&"createAdditional"in u&&u.createAdditional,h=K(n,{chainType:E});if(h[0]&&!f)throw i("createWallet","onError",t.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return H({accessToken:w,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:m,recoverEmbeddedWallet:l,setModalData:s,user:n,walletIndex:(z(h)?.walletIndex??-1)+1,chainType:E,refreshSessionAndUser:y,setUser:c})})({appConfig:e,privy:c,getAccessToken:()=>u.getAccessToken(),refreshSessionAndUser:d,initializeWalletProxy:o,user:E,emitPrivyEvent:r,recoverEmbeddedWallet:i,setModalData:n,openModal:s,setUser:l,options:p,timeoutDuration:g,chainType:a})}}};function Y(e){let{create:r}=V();return v("createWallet",e),{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:t}=await r({chainType:"ethereum",options:e});return t}}}const J=async({emitPrivyEvent:e,getAccessToken:a,initializeWalletProxy:n,refreshSessionAndUser:o,user:i,appConfig:l},{privateKey:s,chainType:d,additionalSigners:c})=>{if(!i)throw e("linkAccount","onError",t.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r("User must be authenticated before linking an account.");let u="user-controlled-server-wallets-only"===l.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===u)throw new r("Specifying additionalSigners is only supported for TEE execution and this app uses On-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");let[p,y]=await Promise.all([a(),n(15e3)]);if(!y||!p)throw e("linkAccount","onError",t.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r("User must be authenticated before linking an account.");let{address:w}=await y.importWallet({privateKey:s,accessToken:p,chainType:d,mode:u,additionalSigners:c}),f=await o(),h="solana"===d?E(f):m(f),v=h?.find((e=>e.address===w));if(!v)throw e("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:v}),v},X=()=>{let{user:e}=w(),{client:r,refreshSessionAndUser:t,initializeWalletProxy:n}=a(),o=h(),i=A();return{importWallet:d((({privateKey:a,additionalSigners:l})=>J({getAccessToken:()=>r.getAccessToken(),user:e,initializeWalletProxy:n,refreshSessionAndUser:t,emitPrivyEvent:o,appConfig:i},{privateKey:a,chainType:"ethereum",additionalSigners:l})),[e,r,t,n,o,i])}},G=()=>{let{importWallet:e}=X(),{createWallet:r}=Y();return{...o(f),importWallet:e,createWallet:r}};export{N as P,B as S,I as a,U as b,$ as c,x as d,j as e,V as f,Y as g,X as h,J as i,O as j,F as k,C as o,P as p,_ as r,k as s,G as u};
1
+ import{isMobile as e}from"react-device-detect";import{a as r,b as t,u as a}from"./internal-context-e-Eni5bG.mjs";import{jsx as n}from"react/jsx-runtime";import{useContext as o,createContext as i,useEffect as l,useRef as s,useCallback as d}from"react";import{c,b as u,g as p,a as y,j as E,f as m,u as w,P as f}from"./get-is-unified-wallet-Ca5aEojK.mjs";import{a as h,u as v}from"./events-context-CI0iqAXA.mjs";import{create as T}from"@privy-io/js-sdk-core";import{g as W}from"./useWallets-3r4yfFNg.mjs";import{u as A,W as g}from"./context-BOoFAPna.mjs";function D(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}function U(t,a){let n=D(a);if(e&&n.universalLink)return L(n.universalLink,t);if(n.deepLink)return b(n.deepLink,t);if(n.universalLink)return L(n.universalLink,t);throw new r(`Unsupported wallet ${a.id}`)}function I(e,r){let t=D(r);if(t.universalLink)return L(t.universalLink,e)}let S="WALLETCONNECT_DEEPLINK_CHOICE";function x(){try{localStorage.removeItem(S)}catch{}}function k({href:e,name:r}){try{localStorage.setItem(S,JSON.stringify({href:e,name:r}))}catch{}}function _(){try{localStorage.removeItem(S)}catch{}}function M(e){return e.startsWith("http://")||e.startsWith("https://")}function b(e,r){if(M(e))return L(e,r);let t=e;return t.includes("://")||(t=e.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function L(e,r){if(!M(e))return b(e,r);let t=e;return t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function C(e,r){window.open(e,r,"noreferrer noopener")}const P=({address:e,nonce:r})=>`${window.location.host} wants you to sign in with your Solana account:\n${e}\n\n${`You are proving you own ${e}.`}\n\nURI: ${window.location.origin}\nVersion: 1\nChain ID: mainnet\nNonce: ${r}\nIssued At: ${(new Date).toISOString()}\nResources:\n- https://privy.io`;let R=/*#__PURE__*/i({plugins:{current:{}}});const N=({children:e})=>{let r=s({});/*#__PURE__*/return n(R.Provider,{value:{plugins:r},children:e})},O=(...e)=>{let{plugins:r}=o(R);l((()=>{for(let t of e)r.current[t.id]=t;return()=>{for(let t of e)delete r.current[t.id]}}),[r])},$=()=>{let{plugins:e}=o(R);return d((r=>e.current[r]),[e])},B=Symbol("solana-funding-plugin"),j=Symbol("solana-ledger-plugin"),K=(e,{chainType:r,walletIndex:t}={})=>e?.linkedAccounts.filter((e=>!("wallet"!==e.type||"privy"!==e.walletClientType||void 0!==t&&e.walletIndex!==t||void 0!==r&&e.chainType!==r)))??[],z=e=>e.reduce(((e,r)=>!e||e.walletIndex<r.walletIndex?r:e),null),F=async({user:e,accessToken:r,proxy:t,refreshSessionAndUser:a,privy:n,appConfig:o,recoverEmbeddedWallet:i,setUser:l,walletIndex:s,chainType:d,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})=>{if(0===s)if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await T(n,{request:{chain_type:d}});else if("ethereum"===d){let a=c(e);a&&await i({address:a.address}),await t.create({accessToken:r,solanaAddress:a?.address,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})}else{if("solana"!==d)throw Error("Invalid input to create wallet");{let a=u(e);a&&await i({address:a.address}),await t.createSolana({accessToken:r,ethereumAddress:a?.address,recoveryMethod:p,recoveryPassword:y,recoveryAccessToken:E})}}else if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await T(n,{request:{chain_type:d}});else{let{entropyId:a,entropyIdVerifier:n}=W(e);await i(),await t.addWallet({accessToken:r,entropyId:a,entropyIdVerifier:n,chainType:d,hdWalletIndex:s})}let m=await a(),w=K(m,{chainType:d,walletIndex:s})[0];return l(m),{user:m,account:w}};let H=async({accessToken:e,appConfig:r,privy:a,emitPrivyEvent:n,proxy:o,refreshSessionAndUser:i,recoverEmbeddedWallet:l,user:s,walletIndex:d,setModalData:c,openModal:u,chainType:y,setUser:E})=>{if(d<0)throw n("createWallet","onError",t.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${d}) is invalid.`);let m=p(s);if(d>0&&!m)throw n("createWallet","onError",t.EMBEDDED_WALLET_NOT_FOUND),Error("Must have an existing embedded wallet to create an additional wallet.");if(r.embeddedWallets.requireUserOwnedRecoveryOnCreate&&"user-controlled-server-wallets-only"===r.embeddedWallets.mode)throw n("createWallet","onError",t.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!m&&r.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await q({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});let w=K(s,{chainType:y,walletIndex:d})[0];if(w)return{user:s,account:w};if(0===d&&!o)return q({emitPrivyEvent:n,setModalData:c,openModal:u,chainType:y});if(!o)throw n("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return F({appConfig:r,walletIndex:d,chainType:y,user:s,accessToken:e,proxy:o,refreshSessionAndUser:i,privy:a,recoverEmbeddedWallet:l,setUser:E})},q=async({emitPrivyEvent:e,setModalData:r,openModal:a,chainType:n})=>new Promise(((o,i)=>{r({createWallet:{onSuccess:({user:r,account:t})=>{e("createWallet","onSuccess",{wallet:t}),o({user:r,account:t})},onFailure:r=>{e("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),i(r)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===n,shouldCreateSol:"solana"===n}}),a("EmbeddedWalletOnAccountCreateScreen")}));const V=()=>{let e=A(),r=h(),{setModalData:n}=y(),{initializeWalletProxy:o,recoverEmbeddedWallet:i,setUser:l,openModal:s,refreshSessionAndUser:d,privy:c,client:u}=a();return{create:async({chainType:a,options:p,latestUser:y})=>{let E=y;if(E||(E=await d()),!E)throw r("createWallet","onError",t.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await(async({appConfig:e,getAccessToken:r,initializeWalletProxy:a,user:n,privy:o,emitPrivyEvent:i,recoverEmbeddedWallet:l,setModalData:s,openModal:d,setUser:c,options:u,timeoutDuration:p,refreshSessionAndUser:y,chainType:E})=>{let[m,w]=await Promise.all([a(p),r()]);if(!w||!n)throw i("createWallet","onError",t.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!m&&e.customAuth?.enabled)throw i("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(u&&"walletIndex"in u&&"number"==typeof u.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw i("createWallet","onError",t.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return H({accessToken:w,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:m,refreshSessionAndUser:y,recoverEmbeddedWallet:l,setModalData:s,user:n,walletIndex:u.walletIndex,chainType:E,setUser:c})}let f=u&&"createAdditional"in u&&u.createAdditional,h=K(n,{chainType:E});if(h[0]&&!f)throw i("createWallet","onError",t.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return H({accessToken:w,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:m,recoverEmbeddedWallet:l,setModalData:s,user:n,walletIndex:(z(h)?.walletIndex??-1)+1,chainType:E,refreshSessionAndUser:y,setUser:c})})({appConfig:e,privy:c,getAccessToken:()=>u.getAccessToken(),refreshSessionAndUser:d,initializeWalletProxy:o,user:E,emitPrivyEvent:r,recoverEmbeddedWallet:i,setModalData:n,openModal:s,setUser:l,options:p,timeoutDuration:g,chainType:a})}}};function Y(e){let{create:r}=V();return v("createWallet",e),{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:t}=await r({chainType:"ethereum",options:e});return t}}}const J=async({emitPrivyEvent:e,getAccessToken:a,initializeWalletProxy:n,refreshSessionAndUser:o,user:i,appConfig:l},{privateKey:s,chainType:d,additionalSigners:c})=>{if(!i)throw e("linkAccount","onError",t.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r("User must be authenticated before linking an account.");let u="user-controlled-server-wallets-only"===l.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===u)throw new r("Specifying additionalSigners is only supported for TEE execution and this app uses On-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");let[p,y]=await Promise.all([a(),n(15e3)]);if(!y||!p)throw e("linkAccount","onError",t.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r("User must be authenticated before linking an account.");let{address:w}=await y.importWallet({privateKey:s,accessToken:p,chainType:d,mode:u,additionalSigners:c}),f=await o(),h="solana"===d?E(f):m(f),v=h?.find((e=>e.address===w));if(!v)throw e("createWallet","onError",t.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:v}),v},X=()=>{let{user:e}=w(),{client:r,refreshSessionAndUser:t,initializeWalletProxy:n}=a(),o=h(),i=A();return{importWallet:d((({privateKey:a,additionalSigners:l})=>J({getAccessToken:()=>r.getAccessToken(),user:e,initializeWalletProxy:n,refreshSessionAndUser:t,emitPrivyEvent:o,appConfig:i},{privateKey:a,chainType:"ethereum",additionalSigners:l})),[e,r,t,n,o,i])}},G=()=>{let{importWallet:e}=X(),{createWallet:r}=Y();return{...o(f),importWallet:e,createWallet:r}};export{N as P,B as S,I as a,U as b,$ as c,x as d,j as e,V as f,Y as g,X as h,J as i,O as j,F as k,C as o,P as p,_ as r,k as s,G as u};
@@ -1 +1 @@
1
- import{getTransactionDecoder as r,getBase64Decoder as n,getBase58Encoder as e}from"@solana/kit";import{useMemo as o,useCallback as t}from"react";import{u as a}from"./context-CoegzSND.mjs";import{a as i,b as s}from"./internal-context-e-Eni5bG.mjs";function c(n){return new Uint8Array(r().decode(n).messageBytes)}async function l({solanaClient:r,tx:e}){let o=n().decode(c(e)),{value:t}=await r.rpc.getFeeForMessage(o).send();return t??0n}async function u({solanaClient:r,tx:e,replaceRecentBlockhash:o}){let{value:t}=await r.rpc.simulateTransaction(n().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===t.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===t.err?await u({solanaClient:r,tx:e,replaceRecentBlockhash:!0}):{logs:t.logs??[],error:t.err,hasError:!!t.err,hasFunds:t.logs?.every((r=>!/insufficient funds/gi.test(r)&&!/insufficient lamports/gi.test(r)))??!0}}const f=(...r)=>{if("undefined"==typeof Buffer)throw new i("Buffer is not defined.",void 0,s.BUFFER_NOT_DEFINED);return Buffer.from(...r)};async function p({rpcSubscriptions:r,signature:n,timeout:e}){let o=new AbortController,t=await r.signatureNotifications(n,{commitment:"confirmed"}).subscribe({abortSignal:o.signal}),a=await Promise.race([new Promise((r=>{setTimeout((()=>{o.abort(),r(Error("Transaction confirmation timed out"))}),e)})),new Promise((async r=>{for await(let n of t){if(o.abort(),n.value.err)return r(Error("Transaction confirmation failed"));r(void 0)}}))]);if(a instanceof Error)throw a}function m({rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t}){let a=function({rpc:r,rpcSubscriptions:n}){return async o=>new Promise((async(t,a)=>{try{let a=await r.sendTransaction(f(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await p({rpcSubscriptions:n,signature:a,timeout:1e4}),t({signature:new Uint8Array(e().encode(a))})}catch(r){a(r)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t,sendAndConfirmTransaction:a}}function d(){let r=a(),n=o((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,r.solanaRpcs[n]?m({chain:n,rpc:r.solanaRpcs[n].rpc,rpcSubscriptions:r.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:r.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[r.solanaRpcs]);return t((r=>{if(!n[r])throw Error(`No RPC configuration found for chain ${r}`);return n[r]}),[n])}export{c as a,f as b,l as f,m as g,u as s,d as u,p as w};
1
+ import{getTransactionDecoder as r,getBase64Decoder as n,getBase58Encoder as e}from"@solana/kit";import{useMemo as o,useCallback as t}from"react";import{u as a}from"./context-BOoFAPna.mjs";import{a as i,b as s}from"./internal-context-e-Eni5bG.mjs";function c(n){return new Uint8Array(r().decode(n).messageBytes)}async function l({solanaClient:r,tx:e}){let o=n().decode(c(e)),{value:t}=await r.rpc.getFeeForMessage(o).send();return t??0n}async function u({solanaClient:r,tx:e,replaceRecentBlockhash:o}){let{value:t}=await r.rpc.simulateTransaction(n().decode(e),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===t.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===t.err?await u({solanaClient:r,tx:e,replaceRecentBlockhash:!0}):{logs:t.logs??[],error:t.err,hasError:!!t.err,hasFunds:t.logs?.every((r=>!/insufficient funds/gi.test(r)&&!/insufficient lamports/gi.test(r)))??!0}}const f=(...r)=>{if("undefined"==typeof Buffer)throw new i("Buffer is not defined.",void 0,s.BUFFER_NOT_DEFINED);return Buffer.from(...r)};async function p({rpcSubscriptions:r,signature:n,timeout:e}){let o=new AbortController,t=await r.signatureNotifications(n,{commitment:"confirmed"}).subscribe({abortSignal:o.signal}),a=await Promise.race([new Promise((r=>{setTimeout((()=>{o.abort(),r(Error("Transaction confirmation timed out"))}),e)})),new Promise((async r=>{for await(let n of t){if(o.abort(),n.value.err)return r(Error("Transaction confirmation failed"));r(void 0)}}))]);if(a instanceof Error)throw a}function m({rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t}){let a=function({rpc:r,rpcSubscriptions:n}){return async o=>new Promise((async(t,a)=>{try{let a=await r.sendTransaction(f(o).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await p({rpcSubscriptions:n,signature:a,timeout:1e4}),t({signature:new Uint8Array(e().encode(a))})}catch(r){a(r)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:o,blockExplorerUrl:t,sendAndConfirmTransaction:a}}function d(){let r=a(),n=o((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((n=>[n,r.solanaRpcs[n]?m({chain:n,rpc:r.solanaRpcs[n].rpc,rpcSubscriptions:r.solanaRpcs[n].rpcSubscriptions,blockExplorerUrl:r.solanaRpcs[n].blockExplorerUrl??`https://explorer.solana.com?cluster=${n.replace("solana:","")}`}):null])))),[r.solanaRpcs]);return t((r=>{if(!n[r])throw Error(`No RPC configuration found for chain ${r}`);return n[r]}),[n])}export{c as a,f as b,l as f,m as g,u as s,d as u,p as w};
@@ -1 +1 @@
1
- import{g as e}from"./get-is-unified-wallet-DJwJGV0c.mjs";import{useContext as r,createContext as t}from"react";const a=e=>{if("ethereum"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"ethereum-address-verifier"};if("solana"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"solana-address-verifier"};throw Error("Failed to get account entropy details")},i=(r,t)=>{if(t?.imported)return a(t);let i=e(r);if(!i)throw Error("Failed to find primary wallet");return a(i)},o=/*#__PURE__*/t(null);function n(){let e=r(o);return null===e?(console.warn("`useWallets` was called outside the PrivyProvider component"),{wallets:[],ready:!1}):e}export{o as U,i as g,a as t,n as u};
1
+ import{g as e}from"./get-is-unified-wallet-Ca5aEojK.mjs";import{useContext as r,createContext as t}from"react";const a=e=>{if("ethereum"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"ethereum-address-verifier"};if("solana"===e.chainType)return{entropyId:e.address,entropyIdVerifier:"solana-address-verifier"};throw Error("Failed to get account entropy details")},i=(r,t)=>{if(t?.imported)return a(t);let i=e(r);if(!i)throw Error("Failed to find primary wallet");return a(i)},o=/*#__PURE__*/t(null);function n(){let e=r(o);return null===e?(console.warn("`useWallets` was called outside the PrivyProvider component"),{wallets:[],ready:!1}):e}export{o as U,i as g,a as t,n as u};
@@ -1 +1 @@
1
- import{getBase58Decoder as e,getTransactionDecoder as n,address as t,getTransactionEncoder as a}from"@solana/kit";import{useMemo as s,useEffect as i,useState as r}from"react";import o,{rpc as c,ConnectedStandardSolanaWallet as l}from"@privy-io/js-sdk-core";import{u as d,a as u,b as g,l as h}from"./internal-context-e-Eni5bG.mjs";import{a as p,h as f,d as w,o as A,j as y}from"./get-is-unified-wallet-DJwJGV0c.mjs";import{u as v}from"./usePrivy-dzRKwB0-.mjs";import{g as m,u as T}from"./useWallets-N0hQJNER.mjs";import b from"eventemitter3";import{base58 as O}from"@scure/base";import{u as S}from"./context-CoegzSND.mjs";import{u as _}from"./use-sign-with-user-signer-eEm9Olt_.mjs";import{g as E,u as I}from"./prepareFundingModalData-BHvIzv1P.mjs";import{b as j,a as W,u as M}from"./useSolanaRpcClient-7AG_puUr.mjs";const P=["solana:mainnet","solana:devnet","solana:testnet"];function F(n){return e().decode(n)}function C(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var U=0,D="__private_"+U+++"__implementation";function N(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var B=0;function R(e){return"__private_"+B+++"_"+e}var x=/*#__PURE__*/R("_address"),L=/*#__PURE__*/R("_publicKey"),V=/*#__PURE__*/R("_chains"),Q=/*#__PURE__*/R("_features"),G=/*#__PURE__*/R("_label"),K=/*#__PURE__*/R("_icon");class J{get address(){return N(this,x)[x]}get publicKey(){return N(this,L)[L].slice()}get chains(){return N(this,V)[V].slice()}get features(){return N(this,Q)[Q].slice()}get label(){return N(this,G)[G]}get icon(){return N(this,K)[K]}constructor({address:e,publicKey:n,label:t,icon:a}){Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),N(this,x)[x]=e,N(this,L)[L]=n,N(this,V)[V]=P,N(this,G)[G]=t,N(this,K)[K]=a,N(this,Q)[Q]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===J&&Object.freeze(this)}}function Y(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var k=0;function H(e){return"__private_"+k+++"_"+e}var Z=/*#__PURE__*/H("_listeners"),z=/*#__PURE__*/H("_version"),q=/*#__PURE__*/H("_name"),X=/*#__PURE__*/H("_icon"),$=/*#__PURE__*/H("_injection"),ee=/*#__PURE__*/H("_isPrivyWallet"),ne=/*#__PURE__*/H("_accounts"),te=/*#__PURE__*/H("_on"),ae=/*#__PURE__*/H("_emit"),se=/*#__PURE__*/H("_off"),ie=/*#__PURE__*/H("_connected"),re=/*#__PURE__*/H("_connect"),oe=/*#__PURE__*/H("_disconnect"),ce=/*#__PURE__*/H("_signMessage"),le=/*#__PURE__*/H("_signAndSendTransaction"),de=/*#__PURE__*/H("_signTransaction");function ue(e,...n){Y(this,Z)[Z][e]?.forEach((e=>e.apply(null,n)))}function ge(e,n){Y(this,Z)[Z][e]=Y(this,Z)[Z][e]?.filter((e=>n!==e))}function he(e,s,i){let r=structuredClone(n().decode(e)),o=t(s);return o in r.signatures&&(r.signatures[o]=i),new Uint8Array(a().encode(r))}function pe(){let{isHeadlessSigning:e,walletProxy:n,initializeWalletProxy:t,recoverEmbeddedWallet:a,openModal:s,privy:i,client:r}=d(),{user:o}=v(),{setModalData:l}=p(),{signWithUserSigner:h}=_();return{signMessage:({message:d,address:p,options:A})=>new Promise((async(y,v)=>{let T=f(o,p);if("privy"!==T?.walletClientType)return void v(new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:b,entropyIdVerifier:O}=m(o,T),S=w(T),_=j(d).toString("base64");if(_.length<1)return void v(new u("Message must be a non-empty string",void 0,g.INVALID_MESSAGE));let E=async()=>{let e;if(!o)throw Error("User must be authenticated before signing with a Privy wallet");let s=await r.getAccessToken();if(!s)throw Error("User must be authenticated to use their embedded wallet.");let l=n??await t(15e3);if(!l)throw Error("Failed to initialize embedded wallet proxy.");if(!await a({address:T.address}))throw Error("Unable to connect to wallet");if(S){let n=await c(i,h,{chain_type:"solana",method:"signMessage",params:{message:_,encoding:"base64"},wallet_id:T.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:n}=await l.rpc({accessToken:s,entropyId:b,entropyIdVerifier:O,chainType:"solana",hdWalletIndex:T.walletIndex??0,requesterAppId:A?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:_}}});e=n.data.signature}return e};if(e({showWalletUIs:A?.uiOptions?.showWalletUIs}))try{let e=await E(),n=new Uint8Array(j(e,"base64"));y({signature:n})}catch(e){v(e)}else l({signMessage:{method:"solana_signMessage",data:_,confirmAndSign:E,onSuccess:e=>{y({signature:new Uint8Array(j(e,"base64"))})},onFailure:e=>{v(e)},uiOptions:A?.uiOptions??{}},connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,entropyId:b,entropyIdVerifier:O,isUnifiedWallet:S,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{v(new u("Failed to connect to wallet",e,g.UNKNOWN_CONNECT_WALLET_ERROR))}}}),s("EmbeddedWalletConnectingScreen")}))}}function fe(){let{isHeadlessSigning:e,openModal:n}=d(),{setModalData:t}=p(),{signMessage:a}=pe(),{user:s}=v();return{signTransaction:async({transaction:i,options:r,chain:o="solana:mainnet",address:c})=>{async function l(e){let{signature:n}=await a({message:W(e),address:c,options:{...r,uiOptions:{...r?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:he(e,c,n)}}return e({showWalletUIs:r?.uiOptions?.showWalletUIs})?l(i):new Promise((async(e,a)=>{let d=f(s,c);if("privy"!==d?.walletClientType)return void a(new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:h,entropyIdVerifier:p}=m(s,d),A=w(d);function y(e){return n=>{a(n instanceof u?n:new u("Failed to connect to wallet",n,e))}}let v={account:d,transaction:i,chain:o,signOnly:!0,uiOptions:r?.uiOptions||{},onConfirm:l,onSuccess:e,onFailure:y(g.TRANSACTION_FAILURE)};t({connectWallet:{recoveryMethod:d.recoveryMethod,connectingWalletAddress:d.address,entropyId:h,entropyIdVerifier:p,isUnifiedWallet:A,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(g.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:v}),n("EmbeddedWalletConnectingScreen")}))}}}let we=new class extends b{setImplementation(e){C(this,D)[D]=e}async signMessage(e){return C(this,D)[D].signMessage(e)}async signAndSendTransaction(e){return C(this,D)[D].signAndSendTransaction(e)}async signTransaction(e){return C(this,D)[D].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,D,{writable:!0,value:void 0}),C(this,D)[D]=e}}({signTransaction:h("signTransaction was not injected"),signAndSendTransaction:h("signAndSendTransaction was not injected"),signMessage:h("signMessage was not injected")}),Ae=new class{get version(){return Y(this,z)[z]}get name(){return Y(this,q)[q]}get icon(){return Y(this,X)[X]}get chains(){return P.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:Y(this,re)[re]},"standard:disconnect":{version:"1.0.0",disconnect:Y(this,oe)[oe]},"standard:events":{version:"1.0.0",on:Y(this,te)[te]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:Y(this,le)[le]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:Y(this,de)[de]},"solana:signMessage":{version:"1.0.0",signMessage:Y(this,ce)[ce]},"privy:":{privy:{signMessage:Y(this,$)[$].signMessage,signTransaction:Y(this,$)[$].signTransaction,signAndSendTransaction:Y(this,$)[$].signAndSendTransaction}}}}get accounts(){return Y(this,ne)[ne].slice()}get isPrivyWallet(){return Y(this,ee)[ee]}constructor({name:e,icon:n,version:t,injection:a,wallets:s}){Object.defineProperty(this,ae,{value:ue}),Object.defineProperty(this,se,{value:ge}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,te,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,ce,{writable:!0,value:void 0}),Object.defineProperty(this,le,{writable:!0,value:void 0}),Object.defineProperty(this,de,{writable:!0,value:void 0}),Y(this,Z)[Z]={},Y(this,te)[te]=(e,n)=>(Y(this,Z)[Z][e]?.push(n)||(Y(this,Z)[Z][e]=[n]),()=>Y(this,se)[se](e,n)),Y(this,ie)[ie]=e=>{null!=e&&(Y(this,ne)[ne]=e.map((({address:e})=>new J({address:e,publicKey:O.decode(e)})))),Y(this,ae)[ae]("change",{accounts:this.accounts})},Y(this,re)[re]=async()=>(Y(this,ae)[ae]("change",{accounts:this.accounts}),{accounts:this.accounts}),Y(this,oe)[oe]=async()=>{Y(this,ae)[ae]("change",{accounts:this.accounts})},Y(this,ce)[ce]=async(...e)=>{let n=[];for(let{account:t,...a}of e){let{signature:e}=await Y(this,$)[$].signMessage({...a,address:t.address});n.push({signedMessage:a.message,signature:e})}return n},Y(this,le)[le]=async(...e)=>{let n=[];for(let t of e){let{signature:e}=await Y(this,$)[$].signAndSendTransaction({...t,transaction:t.transaction,address:t.account.address,chain:t.chain||"solana:mainnet",options:t.options});n.push({signature:e})}return n},Y(this,de)[de]=async(...e)=>{let n=[];for(let{transaction:t,account:a,options:s,chain:i}of e){let{signedTransaction:e}=await Y(this,$)[$].signTransaction({transaction:t,address:a.address,chain:i||"solana:mainnet",options:s});n.push({signedTransaction:e})}return n},Y(this,q)[q]=e,Y(this,X)[X]=n,Y(this,z)[z]=t,Y(this,$)[$]=a,Y(this,ne)[ne]=[],Y(this,ee)[ee]=!0,a.on("accountChanged",Y(this,ie)[ie],this),Y(this,ie)[ie](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:we});function ye(){let{ready:e}=T(),{user:n}=v(),{signMessage:t}=pe(),{signTransaction:a}=fe(),{signAndSendTransaction:r}=function(){let e=S(),{isHeadlessSigning:n,openModal:t}=d(),{setModalData:a}=p(),{signTransaction:s}=fe(),i=M(),{user:r}=v(),{signWithUserSigner:l}=_();return{signAndSendTransaction:async({transaction:d,address:h,chain:p="solana:mainnet",options:A})=>{let y=f(r,h);if("privy"!==y?.walletClientType)throw new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND);let v=w(y);async function T(n){if(A?.sponsor)return await(async n=>{if(!v)throw new u("Sponsoring transactions is only supported for wallets on the TEE stack",g.INVALID_DATA);let t=new o({appId:e.id,clientId:e.appClientId,storage:I}),a=await c(t,l,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:j(n).toString("base64"),encoding:"base64"},caip2:`solana:${(await i(p).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:y.id});if(a.data&&"hash"in a.data)return{signature:O.decode(a.data.hash)};throw Error("Failed to sign and send transaction")})(n);let{signedTransaction:t}=await s({transaction:n,address:h,chain:p,options:{...A,uiOptions:{...A?.uiOptions,showWalletUIs:!1}}}),{signature:a}=await i(p).sendAndConfirmTransaction(t);return{signature:a}}return n({showWalletUIs:A?.uiOptions?.showWalletUIs})?T(d):new Promise((async(n,s)=>{let i,o,{entropyId:c,entropyIdVerifier:l}=m(r,y);function f(e){return n=>{s(n instanceof u?n:new u("Failed to connect to wallet",n,e))}}let w={account:y,transaction:d,chain:p,signOnly:!1,uiOptions:A?.uiOptions||{},onConfirm:T,onSuccess:n,onFailure:f(g.TRANSACTION_FAILURE),isSponsored:!!A?.sponsor},b={recoveryMethod:y.recoveryMethod,connectingWalletAddress:y.address,entropyId:c,entropyIdVerifier:l,isUnifiedWallet:v,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:f(g.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(i=E({address:h,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...A,asset:"native-currency",chain:p},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),o={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:p,destinationAddress:h,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),a({connectWallet:b,standardSignAndSendTransaction:w,funding:i,solanaFundingData:o}),t("EmbeddedWalletConnectingScreen")}))}}}(),l=s((()=>{let e=[...A(n).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],t=y(n);return t.length?[...e,...t]:e}),[n]),h=s((()=>({signMessage:async({message:e,address:n,options:a})=>await t({message:e,address:n,options:a}),signTransaction:async({transaction:e,address:n,chain:t,options:s})=>await a({transaction:e,address:n,chain:t,options:s}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:a}){let{signature:s}=await r({transaction:e,address:n,chain:t,options:a});return{signature:s}}})),[t,a,r]);return i((()=>{we?.setImplementation(h)}),[h]),i((()=>{var n;!e||(n=Ae.accounts).length===l.length&&n.every(((e,n)=>e.address===l[n]?.address))||we?.emit("accountChanged",l)}),[e,l]),{ready:e,wallet:Ae}}function ve(){let{client:e}=d(),{ready:n,wallet:t}=ye(),[a,s]=r([]),[o,c]=r([]);return i((()=>{let e=[t,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];c(e);let n=a.flatMap((n=>{let t=()=>c([...e]);return n.on("walletsUpdated",t),{connector:n,off:t}})),s=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{s.forEach((e=>e?.())),n.forEach((({connector:e,off:n})=>e.off("walletsUpdated",n)))}}),[a]),i((()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let n=()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",n),()=>{e.connectors?.off("connectorInitialized",n)}}),[n,e.connectors]),{ready:n,wallets:o}}function me(){let{ready:e,wallets:n}=ve();return{ready:e,wallets:s((()=>n.flatMap((e=>e.accounts.map((n=>new l({wallet:e,account:n})))))),[n])}}export{P as S,ve as a,F as g,me as u};
1
+ import{getBase58Decoder as e,getTransactionDecoder as n,address as t,getTransactionEncoder as a}from"@solana/kit";import{useMemo as s,useEffect as i,useState as r}from"react";import o,{rpc as c,ConnectedStandardSolanaWallet as l}from"@privy-io/js-sdk-core";import{u as d,a as u,b as g,l as h}from"./internal-context-e-Eni5bG.mjs";import{a as p,h as f,d as w,o as A,j as y}from"./get-is-unified-wallet-Ca5aEojK.mjs";import{u as v}from"./usePrivy-CeQ3C1KS.mjs";import{g as m,u as T}from"./useWallets-3r4yfFNg.mjs";import b from"eventemitter3";import{base58 as O}from"@scure/base";import{u as S}from"./context-BOoFAPna.mjs";import{u as _}from"./use-sign-with-user-signer-eEm9Olt_.mjs";import{g as E,u as I}from"./prepareFundingModalData-CzDMa8gy.mjs";import{b as j,a as W,u as M}from"./useSolanaRpcClient-DyBoxaVM.mjs";const P=["solana:mainnet","solana:devnet","solana:testnet"];function C(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 U=0,D="__private_"+U+++"__implementation";function N(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var B=0;function R(e){return"__private_"+B+++"_"+e}var x=/*#__PURE__*/R("_address"),L=/*#__PURE__*/R("_publicKey"),V=/*#__PURE__*/R("_chains"),Q=/*#__PURE__*/R("_features"),G=/*#__PURE__*/R("_label"),K=/*#__PURE__*/R("_icon");class J{get address(){return N(this,x)[x]}get publicKey(){return N(this,L)[L].slice()}get chains(){return N(this,V)[V].slice()}get features(){return N(this,Q)[Q].slice()}get label(){return N(this,G)[G]}get icon(){return N(this,K)[K]}constructor({address:e,publicKey:n,label:t,icon:a}){Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),N(this,x)[x]=e,N(this,L)[L]=n,N(this,V)[V]=P,N(this,G)[G]=t,N(this,K)[K]=a,N(this,Q)[Q]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===J&&Object.freeze(this)}}function Y(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var k=0;function H(e){return"__private_"+k+++"_"+e}var Z=/*#__PURE__*/H("_listeners"),z=/*#__PURE__*/H("_version"),q=/*#__PURE__*/H("_name"),X=/*#__PURE__*/H("_icon"),$=/*#__PURE__*/H("_injection"),ee=/*#__PURE__*/H("_isPrivyWallet"),ne=/*#__PURE__*/H("_accounts"),te=/*#__PURE__*/H("_on"),ae=/*#__PURE__*/H("_emit"),se=/*#__PURE__*/H("_off"),ie=/*#__PURE__*/H("_connected"),re=/*#__PURE__*/H("_connect"),oe=/*#__PURE__*/H("_disconnect"),ce=/*#__PURE__*/H("_signMessage"),le=/*#__PURE__*/H("_signAndSendTransaction"),de=/*#__PURE__*/H("_signTransaction");function ue(e,...n){Y(this,Z)[Z][e]?.forEach((e=>e.apply(null,n)))}function ge(e,n){Y(this,Z)[Z][e]=Y(this,Z)[Z][e]?.filter((e=>n!==e))}function he(e,s,i){let r=structuredClone(n().decode(e)),o=t(s);return o in r.signatures&&(r.signatures[o]=i),new Uint8Array(a().encode(r))}function pe(){let{isHeadlessSigning:e,walletProxy:n,initializeWalletProxy:t,recoverEmbeddedWallet:a,openModal:s,privy:i,client:r}=d(),{user:o}=v(),{setModalData:l}=p(),{signWithUserSigner:h}=_();return{signMessage:({message:d,address:p,options:A})=>new Promise((async(y,v)=>{let T=f(o,p);if("privy"!==T?.walletClientType)return void v(new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:b,entropyIdVerifier:O}=m(o,T),S=w(T),_=j(d).toString("base64");if(_.length<1)return void v(new u("Message must be a non-empty string",void 0,g.INVALID_MESSAGE));let E=async()=>{let e;if(!o)throw Error("User must be authenticated before signing with a Privy wallet");let s=await r.getAccessToken();if(!s)throw Error("User must be authenticated to use their embedded wallet.");let l=n??await t(15e3);if(!l)throw Error("Failed to initialize embedded wallet proxy.");if(!await a({address:T.address}))throw Error("Unable to connect to wallet");if(S){let n=await c(i,h,{chain_type:"solana",method:"signMessage",params:{message:_,encoding:"base64"},wallet_id:T.id});if(!n.data||!("signature"in n.data))throw Error("Failed to sign message");e=n.data.signature}else{let{response:n}=await l.rpc({accessToken:s,entropyId:b,entropyIdVerifier:O,chainType:"solana",hdWalletIndex:T.walletIndex??0,requesterAppId:A?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:_}}});e=n.data.signature}return e};if(e({showWalletUIs:A?.uiOptions?.showWalletUIs}))try{let e=await E(),n=new Uint8Array(j(e,"base64"));y({signature:n})}catch(e){v(e)}else l({signMessage:{method:"solana_signMessage",data:_,confirmAndSign:E,onSuccess:e=>{y({signature:new Uint8Array(j(e,"base64"))})},onFailure:e=>{v(e)},uiOptions:A?.uiOptions??{}},connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,entropyId:b,entropyIdVerifier:O,isUnifiedWallet:S,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{v(new u("Failed to connect to wallet",e,g.UNKNOWN_CONNECT_WALLET_ERROR))}}}),s("EmbeddedWalletConnectingScreen")}))}}function fe(){let{isHeadlessSigning:e,openModal:n}=d(),{setModalData:t}=p(),{signMessage:a}=pe(),{user:s}=v();return{signTransaction:async({transaction:i,options:r,chain:o="solana:mainnet",address:c})=>{async function l(e){let{signature:n}=await a({message:W(e),address:c,options:{...r,uiOptions:{...r?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:he(e,c,n)}}return e({showWalletUIs:r?.uiOptions?.showWalletUIs})?l(i):new Promise((async(e,a)=>{let d=f(s,c);if("privy"!==d?.walletClientType)return void a(new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:h,entropyIdVerifier:p}=m(s,d),A=w(d);function y(e){return n=>{a(n instanceof u?n:new u("Failed to connect to wallet",n,e))}}let v={account:d,transaction:i,chain:o,signOnly:!0,uiOptions:r?.uiOptions||{},onConfirm:l,onSuccess:e,onFailure:y(g.TRANSACTION_FAILURE)};t({connectWallet:{recoveryMethod:d.recoveryMethod,connectingWalletAddress:d.address,entropyId:h,entropyIdVerifier:p,isUnifiedWallet:A,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(g.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:v}),n("EmbeddedWalletConnectingScreen")}))}}}let we=new class extends b{setImplementation(e){F(this,D)[D]=e}async signMessage(e){return F(this,D)[D].signMessage(e)}async signAndSendTransaction(e){return F(this,D)[D].signAndSendTransaction(e)}async signTransaction(e){return F(this,D)[D].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,D,{writable:!0,value:void 0}),F(this,D)[D]=e}}({signTransaction:h("signTransaction was not injected"),signAndSendTransaction:h("signAndSendTransaction was not injected"),signMessage:h("signMessage was not injected")}),Ae=new class{get version(){return Y(this,z)[z]}get name(){return Y(this,q)[q]}get icon(){return Y(this,X)[X]}get chains(){return P.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:Y(this,re)[re]},"standard:disconnect":{version:"1.0.0",disconnect:Y(this,oe)[oe]},"standard:events":{version:"1.0.0",on:Y(this,te)[te]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:Y(this,le)[le]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:Y(this,de)[de]},"solana:signMessage":{version:"1.0.0",signMessage:Y(this,ce)[ce]},"privy:":{privy:{signMessage:Y(this,$)[$].signMessage,signTransaction:Y(this,$)[$].signTransaction,signAndSendTransaction:Y(this,$)[$].signAndSendTransaction}}}}get accounts(){return Y(this,ne)[ne].slice()}get isPrivyWallet(){return Y(this,ee)[ee]}constructor({name:e,icon:n,version:t,injection:a,wallets:s}){Object.defineProperty(this,ae,{value:ue}),Object.defineProperty(this,se,{value:ge}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,ne,{writable:!0,value:void 0}),Object.defineProperty(this,te,{writable:!0,value:void 0}),Object.defineProperty(this,ie,{writable:!0,value:void 0}),Object.defineProperty(this,re,{writable:!0,value:void 0}),Object.defineProperty(this,oe,{writable:!0,value:void 0}),Object.defineProperty(this,ce,{writable:!0,value:void 0}),Object.defineProperty(this,le,{writable:!0,value:void 0}),Object.defineProperty(this,de,{writable:!0,value:void 0}),Y(this,Z)[Z]={},Y(this,te)[te]=(e,n)=>(Y(this,Z)[Z][e]?.push(n)||(Y(this,Z)[Z][e]=[n]),()=>Y(this,se)[se](e,n)),Y(this,ie)[ie]=e=>{null!=e&&(Y(this,ne)[ne]=e.map((({address:e})=>new J({address:e,publicKey:O.decode(e)})))),Y(this,ae)[ae]("change",{accounts:this.accounts})},Y(this,re)[re]=async()=>(Y(this,ae)[ae]("change",{accounts:this.accounts}),{accounts:this.accounts}),Y(this,oe)[oe]=async()=>{Y(this,ae)[ae]("change",{accounts:this.accounts})},Y(this,ce)[ce]=async(...e)=>{let n=[];for(let{account:t,...a}of e){let{signature:e}=await Y(this,$)[$].signMessage({...a,address:t.address});n.push({signedMessage:a.message,signature:e})}return n},Y(this,le)[le]=async(...e)=>{let n=[];for(let t of e){let{signature:e}=await Y(this,$)[$].signAndSendTransaction({...t,transaction:t.transaction,address:t.account.address,chain:t.chain||"solana:mainnet",options:t.options});n.push({signature:e})}return n},Y(this,de)[de]=async(...e)=>{let n=[];for(let{transaction:t,account:a,options:s,chain:i}of e){let{signedTransaction:e}=await Y(this,$)[$].signTransaction({transaction:t,address:a.address,chain:i||"solana:mainnet",options:s});n.push({signedTransaction:e})}return n},Y(this,q)[q]=e,Y(this,X)[X]=n,Y(this,z)[z]=t,Y(this,$)[$]=a,Y(this,ne)[ne]=[],Y(this,ee)[ee]=!0,a.on("accountChanged",Y(this,ie)[ie],this),Y(this,ie)[ie](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:we});function ye(){let{ready:e}=T(),{user:n}=v(),{signMessage:t}=pe(),{signTransaction:a}=fe(),{signAndSendTransaction:r}=function(){let e=S(),{isHeadlessSigning:n,openModal:t}=d(),{setModalData:a}=p(),{signTransaction:s}=fe(),i=M(),{user:r}=v(),{signWithUserSigner:l}=_();return{signAndSendTransaction:async({transaction:d,address:h,chain:p="solana:mainnet",options:A})=>{let y=f(r,h);if("privy"!==y?.walletClientType)throw new u("Wallet is not a Privy wallet",void 0,g.EMBEDDED_WALLET_NOT_FOUND);let v=w(y);async function T(n){if(A?.sponsor)return await(async n=>{if(!v)throw new u("Sponsoring transactions is only supported for wallets on the TEE stack",g.INVALID_DATA);let t=new o({appId:e.id,clientId:e.appClientId,storage:I}),a=await c(t,l,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:j(n).toString("base64"),encoding:"base64"},caip2:`solana:${(await i(p).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:y.id});if(a.data&&"hash"in a.data)return{signature:O.decode(a.data.hash)};throw Error("Failed to sign and send transaction")})(n);let{signedTransaction:t}=await s({transaction:n,address:h,chain:p,options:{...A,uiOptions:{...A?.uiOptions,showWalletUIs:!1}}}),{signature:a}=await i(p).sendAndConfirmTransaction(t);return{signature:a}}return n({showWalletUIs:A?.uiOptions?.showWalletUIs})?T(d):new Promise((async(n,s)=>{let i,o,{entropyId:c,entropyIdVerifier:l}=m(r,y);function f(e){return n=>{s(n instanceof u?n:new u("Failed to connect to wallet",n,e))}}let w={account:y,transaction:d,chain:p,signOnly:!1,uiOptions:A?.uiOptions||{},onConfirm:T,onSuccess:n,onFailure:f(g.TRANSACTION_FAILURE),isSponsored:!!A?.sponsor},b={recoveryMethod:y.recoveryMethod,connectingWalletAddress:y.address,entropyId:c,entropyIdVerifier:l,isUnifiedWallet:v,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:f(g.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(i=E({address:h,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...A,asset:"native-currency",chain:p},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),o={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:p,destinationAddress:h,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),a({connectWallet:b,standardSignAndSendTransaction:w,funding:i,solanaFundingData:o}),t("EmbeddedWalletConnectingScreen")}))}}}(),l=s((()=>{let e=[...A(n).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],t=y(n);return t.length?[...e,...t]:e}),[n]),h=s((()=>({signMessage:async({message:e,address:n,options:a})=>await t({message:e,address:n,options:a}),signTransaction:async({transaction:e,address:n,chain:t,options:s})=>await a({transaction:e,address:n,chain:t,options:s}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:a}){let{signature:s}=await r({transaction:e,address:n,chain:t,options:a});return{signature:s}}})),[t,a,r]);return i((()=>{we?.setImplementation(h)}),[h]),i((()=>{var n;!e||(n=Ae.accounts).length===l.length&&n.every(((e,n)=>e.address===l[n]?.address))||we?.emit("accountChanged",l)}),[e,l]),{ready:e,wallet:Ae}}function ve(){let{client:e}=d(),{ready:n,wallet:t}=ye(),[a,s]=r([]),[o,c]=r([]);return i((()=>{let e=[t,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];c(e);let n=a.flatMap((n=>{let t=()=>c([...e]);return n.on("walletsUpdated",t),{connector:n,off:t}})),s=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{s.forEach((e=>e?.())),n.forEach((({connector:e,off:n})=>e.off("walletsUpdated",n)))}}),[a]),i((()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let n=()=>{s(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",n),()=>{e.connectors?.off("connectorInitialized",n)}}),[n,e.connectors]),{ready:n,wallets:o}}function me(){let{ready:e,wallets:n}=ve();return{ready:e,wallets:s((()=>n.flatMap((e=>e.accounts.map((n=>new l({wallet:e,account:n})))))),[n])}}export{P as S,ve as a,C 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.10.0-beta-20251223041507",
3
+ "version": "3.10.1",
4
4
  "description": "React client for the Privy Auth API",
5
5
  "keywords": [
6
6
  "authentication",
@@ -169,8 +169,8 @@
169
169
  "@privy-io/api-base": "1.7.3",
170
170
  "@privy-io/api-types": "0.3.4",
171
171
  "@privy-io/chains": "0.0.5",
172
- "@privy-io/ethereum": "0.0.5-beta-20251223041507",
173
- "@privy-io/js-sdk-core": "0.58.5-beta-20251223041507",
172
+ "@privy-io/ethereum": "0.0.5",
173
+ "@privy-io/js-sdk-core": "0.58.5",
174
174
  "@privy-io/popup": "0.0.1",
175
175
  "@privy-io/routes": "0.0.4",
176
176
  "@privy-io/urls": "*",
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./context-bxRrRk2e.js"),n=require("./internal-context-NWsAL807.js"),i=require("./events-context-Di6--rDg.js"),o=require("./get-is-unified-wallet-RpTO1Sce.js"),l=require("./ConnectWalletView-C7gK4cbO.js");require("@privy-io/js-sdk-core"),require("tinycolor2"),require("ofetch"),require("viem"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("react-device-detect"),require("styled-components"),require("./Button-BdtKzmGp.js"),require("./useActiveWallet-hSS_Ajap.js"),require("zustand"),require("./prepareFundingModalData-DSU36mVl.js"),require("eventemitter3"),require("viem/utils"),require("./getPublicClient-CGlodIp_.js"),require("./useWallets-_HUqLUqD.js"),require("@heroicons/react/24/outline/CheckIcon"),require("./copy-BiZ7dtqy.js"),require("./ModalHeader-OWSWMCEF.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("./QrCode-C4hJtM22.js"),require("qrcode"),require("./EmailInputForm-tjrhBacA.js"),require("./ErrorMessage-f0cRWc29.js"),require("./useI18n-D7JXe5tP.js"),require("./WalletCards-BfpeHH5n.js"),require("./Screen-D7sTdyLl.js"),require("./index-CRFXS9pP.js");const a={component:()=>{let{setWalletConnectionStatus:a,closePrivyModal:c,inProgressAuthFlowRef:u}=n.usePrivyInternal(),{data:s,navigate:q}=o.usePrivyModal(),d=t.useAppConfig(),C=i.useEmitPrivyEvent(),p=s?.externalConnectWallet?.description,W=r.useRef(s?.externalConnectWallet?.walletList??d.appearance.walletList),j=r.useRef(s?.externalConnectWallet?.walletChainType??d.appearance.walletChainType),v=W.current,E=j.current,h="link"===u.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",!s?.externalConnectWallet?.preSelectedWalletId)}),[a,q,s?.login?.disableSignup,s?.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:h,customDescription:p||"",preSelectedWalletId:s?.externalConnectWallet?.preSelectedWalletId,app:d})},isUnauthenticatedScreem:!0};exports.AuthenticateWithWalletScreen=a,exports.default=a;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./context-bxRrRk2e.js"),n=require("./internal-context-NWsAL807.js"),i=require("./events-context-Di6--rDg.js"),o=require("./get-is-unified-wallet-RpTO1Sce.js"),a=require("./ConnectWalletView-C7gK4cbO.js");require("@privy-io/js-sdk-core"),require("tinycolor2"),require("ofetch"),require("viem"),require("@heroicons/react/24/outline"),require("@tanstack/react-virtual"),require("react-device-detect"),require("styled-components"),require("./Button-BdtKzmGp.js"),require("./useActiveWallet-hSS_Ajap.js"),require("zustand"),require("./prepareFundingModalData-DSU36mVl.js"),require("eventemitter3"),require("viem/utils"),require("./getPublicClient-CGlodIp_.js"),require("./useWallets-_HUqLUqD.js"),require("@heroicons/react/24/outline/CheckIcon"),require("./copy-BiZ7dtqy.js"),require("./ModalHeader-OWSWMCEF.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("./QrCode-C4hJtM22.js"),require("qrcode"),require("./EmailInputForm-tjrhBacA.js"),require("./ErrorMessage-f0cRWc29.js"),require("./useI18n-D7JXe5tP.js"),require("./WalletCards-BfpeHH5n.js"),require("./Screen-D7sTdyLl.js"),require("./index-CRFXS9pP.js");const l={component:()=>{let{closePrivyModal:l}=n.usePrivyInternal(),{data:c,navigate:s}=o.usePrivyModal(),u=t.useAppConfig(),d=i.useEmitPrivyEvent(),q=c?.externalConnectWallet?.description,C=r.useRef(c?.externalConnectWallet?.walletList??u.appearance.walletList),p=r.useRef(c?.externalConnectWallet?.walletChainType??u.appearance.walletChainType);/*#__PURE__*/return e.jsx(a.i,{walletList:C.current,walletChainType:p.current,preSelectedWalletId:c?.externalConnectWallet?.preSelectedWalletId,hideHeader:c?.externalConnectWallet?.hideHeader,onBack:c?.funding?()=>s("FundingMethodSelectionScreen"):void 0,onClose:()=>{d("connectWallet","onError",n.PrivyErrorCode.GENERIC_CONNECT_WALLET_ERROR),l()},onConnect:({connector:e,wallet:r})=>{d("connectWallet","onSuccess",{wallet:r});let t=c?.externalConnectWallet?.onCompleteNavigateTo;t?s(t({address:r.address,walletClientType:e?.walletClientType,walletChainType:e?.chainType})):l()},onConnectError:e=>{e instanceof n.PrivyError?(console.warn(e.cause?e.cause:e.message),d("connectWallet","onError",e.privyErrorCode||n.PrivyErrorCode.GENERIC_CONNECT_WALLET_ERROR)):(console.warn(e),d("connectWallet","onError",n.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR))},customDescription:q,app:u,connectOnly:!0})},isUnauthenticatedScreem:!0};exports.ConnectOnlyLandingScreen=l,exports.default=l;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),n=require("@heroicons/react/24/outline"),t=require("@tanstack/react-virtual"),l=require("react"),i=require("react-device-detect"),a=require("styled-components"),o=require("./Button-BdtKzmGp.js"),r=require("@heroicons/react/24/outline/CheckIcon"),s=require("./copy-BiZ7dtqy.js"),c=require("./ModalHeader-OWSWMCEF.js"),d=require("./QrCode-C4hJtM22.js"),h=require("./EmailInputForm-tjrhBacA.js"),p=require("./context-bxRrRk2e.js"),u=require("./useI18n-D7JXe5tP.js"),m=require("./useActiveWallet-hSS_Ajap.js"),g=require("./internal-context-NWsAL807.js"),y=require("./WalletCards-BfpeHH5n.js"),w=require("./prepareFundingModalData-DSU36mVl.js"),f=require("./Screen-D7sTdyLl.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var x=/*#__PURE__*/v(r);let b=/*#__PURE__*/a.styled.button.withConfig({displayName:"CopyTextButton",componentId:"sc-4b0620dc-0"})(["display:flex;align-items:center;gap:0.5rem;&:hover{text-decoration:underline;}svg{width:0.875rem;height:0.875rem;}"]),C=/*#__PURE__*/a.styled.span.withConfig({displayName:"CopiedText",componentId:"sc-4b0620dc-1"})(["display:flex;align-items:center;gap:0.25rem;font-size:0.875rem;color:var(--privy-color-foreground-2);"]),j=/*#__PURE__*/a.styled(x.default).withConfig({displayName:"GreenCheck",componentId:"sc-4b0620dc-2"})(["color:var(--privy-color-success);"]),W=/*#__PURE__*/a.styled(s.Copy).withConfig({displayName:"StyledCopy",componentId:"sc-4b0620dc-3"})(["color:var(--privy-color-foreground-3);opactiy:0.5;"]);function T({children:n,iconOnly:t,value:i,hideCopyIcon:a,...o}){let[r,s]=l.useState(!1);/*#__PURE__*/return e.jsxs(b,{...o,onClick:()=>{navigator.clipboard.writeText(i||n).catch(console.error),s(!0),setTimeout((()=>s(!1)),1500)},children:[n," ",r?/*#__PURE__*/e.jsxs(C,{children:[/*#__PURE__*/e.jsx(j,{})," ",!t&&"Copied"]}):!a&&/*#__PURE__*/e.jsx(W,{})]})}const _={phantom:{mobile:{native:"phantom://",universal:"https://phantom.app/ul/"}},solflare:{mobile:{native:void 0,universal:"https://solflare.com/ul/v1/"}},metamask:{image_url:{sm:m.Metamask,md:m.Metamask}}};class k{static normalize(e){return e.replace(/[-_]wallet$/,"").replace(/[-_]extension$/,"").toLowerCase()}isEth(e){return e.chains.some((e=>e.includes("eip155:")))}isSol(e){return e.chains.some((e=>e.includes("solana:")))}inAllowList(e,n){if(!this.normalizedAllowList||0===this.normalizedAllowList.length||"listing"===n&&this.includeWalletConnect)return!0;let t=k.normalize(e);return this.normalizedAllowList.some((e=>t===k.normalize(e)))}inDenyList(e,n){return"listing"===n&&"rabby"===e}chainMatches(e){return"ethereum-only"===this.chainFilter?"ethereum"===e:"solana-only"!==this.chainFilter||"solana"===e}connectorOk(e){return!!("null"!==e.connectorType&&"walletconnect_solana"!==e.walletBranding.id&&this.chainMatches(e.chainType)&&(this.inAllowList(e.walletClientType,"connector")||("injected"===e.connectorType||"solana_adapter"===e.connectorType)&&("ethereum"===e.chainType&&this.detectedEth||"solana"===e.chainType&&this.detectedSol)))}listingOk(e){if(e.slug.includes("coinbase"))return!1;if("ethereum-only"===this.chainFilter){if(!this.isEth(e))return!1}else if("solana-only"===this.chainFilter&&!this.isSol(e))return!1;return!(!this.inAllowList(e.slug,"listing")||this.inDenyList(e.slug,"listing"))}getWallets(e,n){let t=new Map,l=e=>{let n=t.get(e.id);if(n){n.chainType!==e.chainType&&(n.chainType="multi");let t=new Set(n.chains);e.chains.forEach((e=>t.add(e))),n.chains=Array.from(t),!n.icon&&e.icon&&(n.icon=e.icon),!n.url&&e.url&&(n.url=e.url),!n.listing&&e.listing&&(n.listing=e.listing)}else t.set(e.id,e)};e.filter((e=>this.connectorOk(e))).forEach((e=>{let n=k.normalize(e.walletClientType);l({id:n,label:e.walletBranding?.name??n,source:"connector",connector:e,chainType:e.chainType,icon:e.walletBranding?.icon,url:void 0,chains:["ethereum"===e.chainType?"eip155":"solana"]})}));let i=e.find((e=>"wallet_connect_v2"===e.connectorType)),a=e.find((e=>"walletconnect_solana"===e.walletBranding.id));n.filter((e=>this.listingOk(e))).forEach((n=>{let t=[...n.chains].filter((e=>e.includes("eip155:")||e.includes("solana:")));if(e.some((e=>k.normalize(e.walletClientType)===k.normalize(n.slug)&&"ethereum"===e.chainType&&"null"!==e.connectorType))||i||n.mobile.native||n.mobile.universal||m.mobileWalletsConfig[n.slug]?.chainTypes.includes("ethereum")||(t=t.filter((e=>!e.includes("eip155:")))),e.some((e=>k.normalize(e.walletClientType)===k.normalize(n.slug)&&"solana"===e.chainType&&"null"!==e.connectorType))||a||n.mobile.native||n.mobile.universal||m.mobileWalletsConfig[n.slug]?.chainTypes.includes("solana")||(t=t.filter((e=>!e.includes("solana:")))),!t.length)return;let o=k.normalize(n.slug),r=_[n.slug],s=r?.image_url?.sm||n.image_url?.sm;t.some((e=>e.includes("eip155:")))&&l({id:o,label:n.name||o,source:"listing",listing:n,chainType:"ethereum",icon:s,url:n.homepage,chains:t}),t.some((e=>e.includes("solana:")))&&l({id:o,label:n.name||o,source:"listing",listing:n,chainType:"solana",icon:s,url:n.homepage,chains:t})})),this.includeWalletConnectQr&&i&&l({id:"wallet_connect_qr",label:"WalletConnect",source:"connector",connector:i,chainType:"ethereum",icon:w.WALLET_CONNECT_LOGO_DATA_URI,url:void 0,chains:["eip155"]}),this.includeWalletConnectQrSolana&&a&&l({id:"wallet_connect_qr_solana",label:"WalletConnect",source:"connector",connector:a,chainType:"solana",icon:w.WALLET_CONNECT_LOGO_DATA_URI,url:void 0,chains:["solana"]});let o=Array.from(t.values());o.forEach((e=>{let n=_[e.listing?.slug||e.id];n?.image_url?.sm&&(e.icon=n.image_url.sm)}));let r=new Map;return this.normalizedAllowList?.forEach(((e,n)=>{r.set(k.normalize(e),n)})),{wallets:o.slice().sort(((e,n)=>{let t=k.normalize(e.id),l=k.normalize(n.id);"binance-defi"===t?t="binance":"universalprofiles"===t?t="universal_profile":"cryptocom-defi"===t?t="cryptocom":"bitkeep"===t&&(t="bitget_wallet"),"binance-defi"===l?l="binance":"universalprofiles"===l?l="universal_profile":"cryptocom-defi"===l?l="cryptocom":"bitkeep"===l&&(l="bitget_wallet");let i=r.has(t),a=r.has(l);return i&&a?r.get(t)-r.get(l):i?-1:a?1:"connector"===e.source&&"listing"===n.source?-1:"listing"===e.source&&"connector"===n.source?1:e.label.toLowerCase().localeCompare(n.label.toLowerCase())})),walletCount:o.length}}constructor(e,n){this.chainFilter=e,n&&n.length>0&&(this.normalizedAllowList=n.map(String),this.normalizedAllowList.includes("binance")&&this.normalizedAllowList.push("binance-defi-wallet"),this.normalizedAllowList.includes("bitget_wallet")&&this.normalizedAllowList.push("bitkeep")),this.detectedEth=this.normalizedAllowList?.includes("detected_ethereum_wallets")??!1,this.detectedSol=this.normalizedAllowList?.includes("detected_solana_wallets")??!1,this.includeWalletConnect=this.normalizedAllowList?.includes("wallet_connect")??!1,this.includeWalletConnectQr=this.normalizedAllowList?.includes("wallet_connect_qr")??!1,this.includeWalletConnectQrSolana=this.normalizedAllowList?.includes("wallet_connect_qr_solana")??!1}}var S=n=>/*#__PURE__*/e.jsxs("svg",{viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...n,children:[/*#__PURE__*/e.jsx("path",{d:"m0 0h32v32h-32z",fill:"#5469d4"}),/*#__PURE__*/e.jsx("path",{d:"m15.997 5.333-.143.486v14.106l.143.143 6.548-3.87z",fill:"#c2ccf4"}),/*#__PURE__*/e.jsx("path",{d:"m15.996 5.333-6.548 10.865 6.548 3.87z",fill:"#fff"}),/*#__PURE__*/e.jsx("path",{d:"m15.997 21.306-.08.098v5.025l.08.236 6.552-9.227z",fill:"#c2ccf4"}),/*#__PURE__*/e.jsx("path",{d:"m15.996 26.665v-5.36l-6.548-3.867z",fill:"#fff"}),/*#__PURE__*/e.jsx("path",{d:"m15.995 20.07 6.548-3.87-6.548-2.976v6.847z",fill:"#8698e8"}),/*#__PURE__*/e.jsx("path",{d:"m9.448 16.2 6.548 3.87v-6.846z",fill:"#c2ccf4"})]}),z=n=>/*#__PURE__*/e.jsxs("svg",{viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",...n,children:[/*#__PURE__*/e.jsxs("linearGradient",{id:"a",gradientUnits:"userSpaceOnUse",x1:"7.233",x2:"24.766",y1:"24.766",y2:"7.234",children:[/*#__PURE__*/e.jsx("stop",{offset:"0",stopColor:"#9945ff"}),/*#__PURE__*/e.jsx("stop",{offset:".2",stopColor:"#7962e7"}),/*#__PURE__*/e.jsx("stop",{offset:"1",stopColor:"#00d18c"})]}),/*#__PURE__*/e.jsx("path",{d:"m0 0h32v32h-32z",fill:"#10111a"}),/*#__PURE__*/e.jsx("path",{clipRule:"evenodd",d:"m9.873 20.41a.645.645 0 0 1 .476-.21l14.662.012a.323.323 0 0 1 .238.54l-3.123 3.438a.643.643 0 0 1 -.475.21l-14.662-.012a.323.323 0 0 1 -.238-.54zm15.376-2.862a.322.322 0 0 1 -.238.54l-14.662.012a.642.642 0 0 1 -.476-.21l-3.122-3.44a.323.323 0 0 1 .238-.54l14.662-.012a.644.644 0 0 1 .475.21zm-15.376-9.738a.644.644 0 0 1 .476-.21l14.662.012a.322.322 0 0 1 .238.54l-3.123 3.438a.643.643 0 0 1 -.475.21l-14.662-.012a.323.323 0 0 1 -.238-.54z",fill:"url(#a)",fillRule:"evenodd"})]});const L=/*#__PURE__*/a.styled.div.withConfig({displayName:"Header",componentId:"sc-9b65f2b6-0"})(["display:flex;justify-content:space-between;align-items:center;"]),I=/*#__PURE__*/a.styled.button.withConfig({displayName:"CloseButton",componentId:"sc-9b65f2b6-1"})(["padding:0.25rem;height:30px;width:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--privy-border-radius-full);background:var(--privy-color-background-2);"]),A=/*#__PURE__*/a.styled.div.withConfig({displayName:"WalletIconWithActiveIndicator",componentId:"sc-9b65f2b6-2"})(["position:relative;display:inline-flex;align-items:center;&::after{content:' ';border-radius:var(--privy-border-radius-full);height:6px;width:6px;background-color:var(--privy-color-icon-success);position:absolute;right:-3px;top:-3px;}"]),N=/*#__PURE__*/a.styled.img.withConfig({displayName:"WalletIcon",componentId:"sc-9b65f2b6-3"})(["width:32px;height:32px;border-radius:0.25rem;object-fit:contain;"]),E=/*#__PURE__*/a.styled.span.withConfig({displayName:"Chip",componentId:"sc-9b65f2b6-4"})(["display:flex;gap:0.25rem;align-items:center;padding:0.25rem 0.5rem;font-size:0.75rem;font-weight:500;line-height:1.125rem;border-radius:var(--privy-border-radius-sm);background-color:var(--privy-color-background-2);svg{width:100%;max-width:1rem;max-height:1rem;stroke-width:2;}"]),q=/*#__PURE__*/a.styled.div.withConfig({displayName:"ScrollContainer",componentId:"sc-9b65f2b6-5"})(["display:flex;flex-direction:column;gap:0.5rem;max-height:24rem;overflow-y:scroll;&::-webkit-scrollbar{display:none;}scrollbar-gutter:stable both-edges;scrollbar-width:none;-ms-overflow-style:none;"," background-repeat:no-repeat;background-size:100% 32px,100% 16px;background-attachment:local,scroll;"],(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));function B({enabled:e=!0,walletList:n,walletChainType:t}){let i=p.useAppConfig(),{connectors:a}=g.usePrivyInternal(),{listings:o,loading:r}=m.useExternalWalletListings(e),s=t??i.appearance.walletChainType,c=n??i.appearance?.walletList,d=l.useMemo((()=>new k(s,c)),[s,c]),{wallets:h,walletCount:u}=l.useMemo((()=>d.getWallets(a,o)),[d,a,o]),[y,w]=l.useState(""),f=l.useMemo((()=>y?h.filter((e=>e.label.toLowerCase().includes(y.toLowerCase()))):h),[y,h]),[v,x]=l.useState();return{selected:v,setSelected:x,search:y,setSearch:w,loadingListings:r,wallets:f,walletCount:u}}let M=e=>!e||"string"!=typeof e&&(e instanceof m.EthereumNullConnector||e instanceof m.SolanaNullConnector);const O=({index:n,style:t,data:l,recent:i})=>{let a=l.wallets[n],{walletChainType:o,handleWalletClick:r}=l,{t:s}=u.useI18n(),c={...t,boxSizing:"border-box"};return a?/*#__PURE__*/e.jsxs(P,{style:c,onClick:()=>r(a),children:[a.icon&&(a.connector&&!M(a.connector)?/*#__PURE__*/e.jsx(A,{children:"string"==typeof a.icon?/*#__PURE__*/e.jsx(N,{src:a.icon}):/*#__PURE__*/e.jsx(a.icon,{style:{width:"32px",height:"32px"}})}):"string"==typeof a.icon?/*#__PURE__*/e.jsx(N,{src:a.icon}):/*#__PURE__*/e.jsx(a.icon,{style:{width:"32px",height:"32px"}})),/*#__PURE__*/e.jsx($,{children:a.label}),i?/*#__PURE__*/e.jsxs(e.Fragment,{children:[/*#__PURE__*/e.jsx(E,{children:s("connectWallet.lastUsed")}),/*#__PURE__*/e.jsx(R,{children:/*#__PURE__*/e.jsxs(e.Fragment,{children:["ethereum-only"===o&&/*#__PURE__*/e.jsx(S,{}),"solana-only"===o&&/*#__PURE__*/e.jsx(z,{})]})})]}):/*#__PURE__*/e.jsx(R,{children:!("ethereum-only"===o||"solana-only"===o)&&/*#__PURE__*/e.jsxs(e.Fragment,{children:[a.chains?.some((e=>e.startsWith("eip155")))&&/*#__PURE__*/e.jsx(S,{}),a.chains?.some((e=>e.startsWith("solana")))&&/*#__PURE__*/e.jsx(z,{})]})})]}):null};let F=/*#__PURE__*/a.styled.div.withConfig({displayName:"StickySearchContainer",componentId:"sc-efaf169-0"})(["position:sticky;margin-top:-3px;padding-top:3px;top:-3px;z-index:1;background:var(--privy-color-background);padding-bottom:calc(var(--screen-space) / 2);"]),U=/*#__PURE__*/a.styled.div.withConfig({displayName:"WalletListContainer",componentId:"sc-efaf169-1"})(["display:flex;flex-direction:column;gap:","px;"],5),P=/*#__PURE__*/a.styled.button.withConfig({displayName:"Button",componentId:"sc-efaf169-2"})(["&&{gap:0.5rem;align-items:center;display:flex;position:relative;text-align:left;font-weight:500;transition:background 200ms ease-in;width:calc(100% - 4px);border-radius:var(--privy-border-radius-md);padding:0.75em;border:1px solid var(--privy-color-foreground-4);justify-content:space-between;}&:hover{background:var(--privy-color-background-2);}"]),R=/*#__PURE__*/a.styled.span.withConfig({displayName:"ButtonBadge",componentId:"sc-efaf169-3"})(["display:flex;align-items:center;justify-content:end;position:relative;& > svg{border-radius:var(--privy-border-radius-full);stroke-width:2.5;width:100%;max-height:1rem;max-width:1rem;flex-shrink:0;}& > svg:not(:last-child){border-radius:var(--privy-border-radius-full);margin-right:-0.375rem;}"]),D=/*#__PURE__*/a.styled.div.withConfig({displayName:"EmptyContainer",componentId:"sc-efaf169-4"})(["height:60px;display:flex;align-items:center;justify-content:center;text-align:center;"]),$=/*#__PURE__*/a.styled.span.withConfig({displayName:"WalletName",componentId:"sc-efaf169-5"})(["text-overflow:ellipsis;white-space:nowrap;color:var(--privy-color-foreground);font-weight:400;flex:1;"]),Q=/*#__PURE__*/a.styled(T).withConfig({displayName:"StyledCopyableText",componentId:"sc-efaf169-6"})(["&&{margin:0.5rem auto 0 auto;}"]);exports.Chip=E,exports.CloseButton=I,exports.CopyableText=T,exports.Header=L,exports.ScrollContainer=q,exports.WalletFilterer=k,exports.WalletIcon=N,exports.WalletRow=O,exports.i=({className:a,customDescription:r,connectOnly:s,preSelectedWalletId:v,hideHeader:x,...b})=>{let C=p.useAppConfig(),{t:j}=u.useI18n(),{connectors:W}=g.usePrivyInternal(),T=b.walletChainType||C.appearance.walletChainType,L=b.walletList||C.appearance?.walletList,{onBack:I,onClose:A,app:E}=b,{selected:q,setSelected:H,qrUrl:G,setQrUrl:V,connecting:Y,uiState:J,errorCode:K,wallets:X,walletCount:Z,handleConnect:ee,handleBack:ne,showSearchBar:te,isInitialConnectView:le,title:ie,search:ae,setSearch:oe}=function({onConnect:e,onBack:n,onClose:t,onConnectError:a,walletList:o,walletChainType:r,app:s}){let c=p.useAppConfig(),{connectors:d}=g.usePrivyInternal(),{t:h}=u.useI18n(),{wallets:y,walletCount:w,search:f,setSearch:v,selected:x,setSelected:b}=B({enabled:m.shouldFetchWcRegistryListings(o??[]),walletList:o,walletChainType:r}),[C,j]=l.useState(),[W,T]=l.useState(),[_,k]=l.useState(),[S,z]=l.useState(),L=!x&&!_&&!S,I=L&&(w>6||f.length>0),A=d.find((e=>"wallet_connect_v2"===e.connectorType)),N=l.useCallback((async(n,t)=>{if(n){if(S?.connector===n&&"loading"===C)return void console.log("Already connecting to this wallet, skipping duplicate attempt");if(j("loading"),"string"==typeof n)return z({connector:n,name:t?.name??"Wallet",icon:t?.icon}),void window.open(n,"_blank");z({connector:n,name:t?.name??n.walletBranding.name??"Wallet",icon:t?.icon??n.walletBranding.icon});try{let t=await n.connect({showPrompt:!0});if(!t)return j("error"),T(void 0),void a?.(new g.PrivyConnectorError("Unable to connect wallet"));j("success"),T(void 0),m.setActiveWallet({address:t.address,client:t.walletClientType,appId:c.id}),setTimeout((()=>{e({connector:n,wallet:t})}),p.DEFAULT_SUCCESS_SCREEN_DURATION_MS)}catch(n){if(console.error("ERROR: ",{e:n}),n?.message?.includes("already pending for origin")||n?.message?.includes("wallet_requestPermissions"))return void console.log("Connection request already pending, maintaining loading state");j("error"),T(n?.privyErrorCode),a?.(n instanceof Error?n:new g.PrivyConnectorError(n?.message||"Unable to connect wallet"))}}}),[c.id,e,S,C]),E=l.useCallback((()=>_?(j(void 0),T(void 0),z(void 0),void k(void 0)):S?(j(void 0),T(void 0),void z(void 0)):x?(j(void 0),T(void 0),z(void 0),void b(void 0)):"error"===C||"loading"===C?(j(void 0),T(void 0),void z(void 0)):void n?.()),[_,S,x,C,n]),q=l.useMemo((()=>S?.connector===A&&_&&i.isMobile&&S?.name?h("connectWallet.goToWallet",{walletName:S.name}):S?.connector===A&&_&&S?.name?h("connectWallet.scanToConnect",{walletName:S.name}):_&&S?.name?i.isMobile?h("connectWallet.goToWallet",{walletName:S.name}):h("connectWallet.scanToConnect",{walletName:S.name}):"string"==typeof S?.connector?h("connectWallet.openOrInstall",{walletName:S.name}):x&&!S?h("connectWallet.selectNetwork"):S?null:h("connectWallet.selectYourWallet")),[S,_,x,A,h]);return{selected:x,setSelected:b,qrUrl:_,setQrUrl:k,connecting:S,uiState:C,errorCode:W,search:f,setSearch:v,wallets:y,walletCount:w,wc:A,isInitialConnectView:L,showSearchBar:I,title:q,handleConnect:N,handleBack:E,onClose:t,onConnect:e,app:s}}({...b,walletList:L,walletChainType:T}),re=W.find((e=>"wallet_connect_v2"===e.connectorType)),se=W.find((e=>"walletconnect_solana"===e.walletBranding.id)),ce=l.useRef(null),de=t.useVirtualizer({count:X.length,getScrollElement:()=>ce.current,estimateSize:()=>56,overscan:6,gap:5}),he=l.useCallback((async e=>{let n="solana-only"!==T&&e.chains?.some((e=>e.startsWith("eip155"))),t="ethereum-only"!==T&&e.chains?.some((e=>e.startsWith("solana"))),l=()=>{let n=e.id;return m.mobileWalletsConfig[n]||m.mobileWalletsConfig[`${n}_wallet`]},a=n=>{let t=k.normalize(e.id);return W.find((e=>k.normalize(e.walletClientType)===t&&e.chainType===n&&!("ethereum"===e.chainType&&e instanceof m.EthereumNullConnector||"solana"===e.chainType&&e instanceof m.SolanaNullConnector)))},o=async()=>{if(!re||!e.listing)return!1;let n=_[e.listing.slug]?{...e.listing,..._[e.listing.slug]}:e.listing;return re.setWalletEntry(n,V),await re.resetConnection(e.id),await ee(re,{name:e.label,icon:e.icon}),!0},r=async()=>!!se&&!!e.listing&&(await se.disconnect(),se.wallet.setWalletEntry(e.listing,V),await new Promise((e=>setTimeout(e,100))),await ee(se,{name:e.label,icon:e.icon}),!0),c=async n=>{let t=(e=>{let n=l();if(n)return n.getMobileRedirect({isSolana:e,connectOnly:!!s,useUniversalLink:!1})})(n);return!!t&&(await ee(t,{name:e.label,icon:e.icon}),!0)};if(n&&t)H(e);else{if(n&&!t){let n=a("ethereum");if(n&&!M(n))return void await ee(n,{name:e.label,icon:e.icon});if(i.isMobile&&l()){if(await c(!1)||await o())return}else if(await o()||await c(!1))return}if(t&&!n){let n=a("solana");if(n&&!M(n))return void await ee(n,{name:e.label,icon:e.icon});if(i.isMobile){if(await c(!0)||await r())return}else if(await r()||await c(!0))return}if(!M(e.connector)){if(re&&"wallet_connect_v2"===e.connector?.connectorType)if(await re.resetConnection(e.id),"wallet_connect_qr"!==e.id&&e.listing){let n=_[e.listing.slug]?{...e.listing,..._[e.listing.slug]}:e.listing;re.setWalletEntry(n,V)}else re.setWalletEntry({id:"wallet_connect_qr",name:"WalletConnect",rdns:"",slug:"wallet-connect",homepage:"",chains:["eip155"],mobile:{native:"",universal:void 0}},V);return se&&"walletconnect_solana"===e.connector?.walletBranding.id&&(await se.disconnect(),"wallet_connect_qr_solana"!==e.id&&e.listing?se.wallet.setWalletEntry(e.listing,V):se.wallet.setWalletEntry({id:"wallet_connect_solana_qr",name:"WalletConnect",rdns:"",slug:"wallet-connect-solana",homepage:"",chains:["solana"],mobile:{native:"",universal:void 0}},V),await new Promise((e=>setTimeout(e,100)))),void await ee(e.connector,{name:e.label,icon:e.icon})}e.url&&await ee(e.url,{name:e.label,icon:e.icon})}}),[re,se,ee,H,V,T,s,W]);return l.useEffect((()=>{if(!v)return;let e=X.find((({id:e})=>e===v));e&&he(e).catch(console.error)}),[v]),/*#__PURE__*/e.jsxs(f.Screen,{className:a,children:[/*#__PURE__*/e.jsx(f.Screen.Header,{icon:x&&le?void 0:Y&&!G||G&&i.isMobile&&Y?.icon?Y.icon:Y?void 0:y.WalletCards,iconVariant:Y&&!G||G&&i.isMobile?"loading":void 0,iconLoadingStatus:Y&&!G||G&&i.isMobile?{success:"success"===J,fail:"error"===J}:void 0,title:x&&le?void 0:Y&&!G?j("connectWallet.waitingForWallet",{walletName:Y.name}):G&&i.isMobile?j("connectWallet.waitingForWallet",{walletName:Y?.name??"connection"}):ie,subtitle:x&&le?void 0:Y&&!G&&"string"==typeof Y.connector?j("connectWallet.installAndConnect",{walletName:Y.name}):Y&&!G&&"string"!=typeof Y.connector?"error"===J?K===g.PrivyErrorCode.NO_SOLANA_ACCOUNTS?`The connected wallet has no Solana accounts. Please add a Solana account in ${Y.name} and try again.`:j("connectWallet.tryConnectingAgain"):j("connectionStatus.connectOneWallet"):le?r??(E?j("connectWallet.connectToAccount",{appName:E.name}):null):null,showBack:!!I||!le,showClose:!0,onBack:I||ne,onClose:A}),/*#__PURE__*/e.jsxs(f.Screen.Body,{ref:ce,$colorScheme:C.appearance.palette.colorScheme,style:{marginBottom:G?"0.5rem":void 0},children:[te&&/*#__PURE__*/e.jsx(F,{children:/*#__PURE__*/e.jsxs(h.EmailUpdateForm,{style:{background:"transparent"},children:[/*#__PURE__*/e.jsx(m.LoginMethodIconWrapper,{children:/*#__PURE__*/e.jsx(n.MagnifyingGlassIcon,{})}),/*#__PURE__*/e.jsx("input",{className:"login-method-button",type:"text",placeholder:j("connectWallet.searchPlaceholder",{count:String(Z)}),onChange:e=>oe(e.target.value),value:ae})]})}),G&&i.isMobile&&"loading"===J&&/*#__PURE__*/e.jsxs("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"1rem"},children:[/*#__PURE__*/e.jsx(o.Button,{variant:"primary",onClick:()=>window.open(G.universal??G.native,"_blank"),style:{width:"100%"},children:j("connectWallet.openInApp")}),/*#__PURE__*/e.jsx(Q,{value:G.universal??G.native,iconOnly:!0,children:"Copy link"})]}),G&&!i.isMobile&&"loading"===J&&/*#__PURE__*/e.jsx("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:"1rem"},children:/*#__PURE__*/e.jsx(Q,{value:G.universal??G.native,iconOnly:!0,children:j("connectWallet.copyLink")})}),G&&!i.isMobile&&/*#__PURE__*/e.jsx(d.QrCode,{size:280,url:G.universal??G.native,squareLogoElement:Y?.icon?"string"==typeof Y.icon?n=>/*#__PURE__*/e.jsx("svg",{...n,children:/*#__PURE__*/e.jsx("image",{href:Y.icon,height:n.height,width:n.width})}):Y.icon:w.WalletConnect}),/*#__PURE__*/e.jsxs(U,{children:[Y&&!G&&"string"==typeof Y.connector&&/*#__PURE__*/e.jsxs(P,{onClick:()=>window.open(Y.connector,"_blank"),children:[Y.icon&&("string"==typeof Y.icon?/*#__PURE__*/e.jsx(N,{src:Y.icon}):/*#__PURE__*/e.jsx(Y.icon,{})),/*#__PURE__*/e.jsx($,{children:Y.name})]}),q?.chains.some((e=>e.startsWith("eip155")))&&!Y&&/*#__PURE__*/e.jsxs(P,{onClick:()=>he({...q,chains:q.chains.filter((e=>e.startsWith("eip155")))}),children:[q.icon&&("string"==typeof q.icon?/*#__PURE__*/e.jsx(N,{src:q.icon}):/*#__PURE__*/e.jsx(q.icon,{})),/*#__PURE__*/e.jsx($,{children:q.label}),/*#__PURE__*/e.jsx(R,{children:/*#__PURE__*/e.jsx(S,{})})]}),q?.chains.some((e=>e.startsWith("solana")))&&!Y&&/*#__PURE__*/e.jsxs(P,{onClick:()=>he({...q,chains:q.chains.filter((e=>e.startsWith("solana")))}),children:[q.icon&&("string"==typeof q.icon?/*#__PURE__*/e.jsx(N,{src:q.icon}):/*#__PURE__*/e.jsx(q.icon,{})),/*#__PURE__*/e.jsx($,{children:q.label}),/*#__PURE__*/e.jsx(R,{children:/*#__PURE__*/e.jsx(z,{})})]}),le&&/*#__PURE__*/e.jsxs(e.Fragment,{children:[!(Z>0)&&/*#__PURE__*/e.jsx(D,{children:j("connectWallet.noWalletsFound")}),Z>0&&!G&&/*#__PURE__*/e.jsx("div",{style:{maxHeight:56*Math.min(X.length,5)+5,width:"100%"},children:/*#__PURE__*/e.jsx("div",{style:{height:`${de.getTotalSize()}px`,width:"100%",position:"relative"},children:de.getVirtualItems().map((n=>/*#__PURE__*/e.jsx(O,{index:n.index,style:{position:"absolute",top:0,left:0,height:`${n.size}px`,transform:`translateY(${n.start}px)`},data:{wallets:X,walletChainType:T,handleWalletClick:he}},n.key)))})})]})]})]}),/*#__PURE__*/e.jsxs(f.Screen.Footer,{children:[Y&&!G&&"string"!=typeof Y.connector&&"error"===J&&/*#__PURE__*/e.jsx(f.Screen.Actions,{children:/*#__PURE__*/e.jsx(o.Button,{style:{width:"100%",alignItems:"center"},variant:"error",onClick:()=>ee(Y.connector,{name:Y.name,icon:Y.icon}),children:j("connectWallet.retry")})}),!!(E&&E.legal.privacyPolicyUrl&&E.legal.termsAndConditionsUrl)&&/*#__PURE__*/e.jsx(c.TermsAndConditions,{app:E,alwaysShowImplicitConsent:!0}),/*#__PURE__*/e.jsx(f.Screen.Watermark,{})]})]})},exports.useWalletsListController=B;