@privy-io/react-auth 3.9.1 → 3.9.2-beta-20251223010935

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 (221) hide show
  1. package/dist/cjs/{AccountNotFoundScreen-BjG_YLcK.js → AccountNotFoundScreen-BK1CwR2C.js} +1 -1
  2. package/dist/cjs/{Address-5znFAhQw.js → Address-CJQKza5F.js} +1 -1
  3. package/dist/cjs/{AffirmativeConsentScreen-BiwTOLaX.js → AffirmativeConsentScreen-B_SWBJ70.js} +1 -1
  4. package/dist/cjs/{AllowlistRejectionScreen-DOZr-QmF.js → AllowlistRejectionScreen-C09luqwL.js} +1 -1
  5. package/dist/cjs/{AuthenticateWithWalletScreen-BO4ml_zL.js → AuthenticateWithWalletScreen-CBTuoQ76.js} +1 -1
  6. package/dist/cjs/{AwaitingEvmToSolBridgingScreen-DCvvtPfy.js → AwaitingEvmToSolBridgingScreen-hd5pc4HK.js} +1 -1
  7. package/dist/cjs/{AwaitingExternalEthereumTransferScreen-DXSQjzHX.js → AwaitingExternalEthereumTransferScreen-FGHoMoQ-.js} +1 -1
  8. package/dist/cjs/{AwaitingPasswordlessCodeScreen-COP_Jshz.js → AwaitingPasswordlessCodeScreen-CTj9_uwB.js} +1 -1
  9. package/dist/cjs/{AwaitingSolToEvmBridgingScreen-tGqHxf1K.js → AwaitingSolToEvmBridgingScreen-unjKpXku.js} +1 -1
  10. package/dist/cjs/{BridgeNetworkSelectionView-DgFjMLY3.js → BridgeNetworkSelectionView-CCmQnxrI.js} +1 -1
  11. package/dist/cjs/{Button-Bm_Ft0Dw.js → Button-DDnWgh02.js} +1 -1
  12. package/dist/cjs/{CaptchaScreen-BvyOQUvH.js → CaptchaScreen-Cb8L_0H7.js} +1 -1
  13. package/dist/cjs/{CoinbaseOnrampStatusScreen-9G_2yIQ-.js → CoinbaseOnrampStatusScreen-Bt9Be2i3.js} +1 -1
  14. package/dist/cjs/{ConnectEmailForm-D0Xd9Tnw.js → ConnectEmailForm-BBGC6xxr.js} +1 -1
  15. package/dist/cjs/{ConnectLedgerScreen-COTQ1lqK.js → ConnectLedgerScreen-Ckzmoyj6.js} +1 -1
  16. package/dist/cjs/{ConnectOnlyLandingScreen-DErN9BXL.js → ConnectOnlyLandingScreen-CUv8MvX1.js} +1 -1
  17. package/dist/cjs/{ConnectOnlyStatusScreen-DKhKRV2M.js → ConnectOnlyStatusScreen-BIVssY3M.js} +1 -1
  18. package/dist/cjs/{ConnectOrCreateScreen-54nvcrr7.js → ConnectOrCreateScreen-CccMqnZh.js} +1 -1
  19. package/dist/cjs/{ConnectPhoneForm-WT8rso3i.js → ConnectPhoneForm-CXKmBSMx.js} +1 -1
  20. package/dist/cjs/ConnectWalletView-Db1EYlut.js +1 -0
  21. package/dist/cjs/{ConnectionStatusScreen-C1nqbW_A.js → ConnectionStatusScreen-BzltNNZk.js} +1 -1
  22. package/dist/cjs/CrossAppAuthScreen-D3Zn11br.js +1 -0
  23. package/dist/cjs/{CustomLandingScreenView-DQLDU2GD.js → CustomLandingScreenView-bdTjv7_Q.js} +1 -1
  24. package/dist/cjs/{DelegatedActionsConsentScreen-C_-0aHwH.js → DelegatedActionsConsentScreen-coc0_Y9W.js} +1 -1
  25. package/dist/cjs/{DelegatedActionsRevokeScreen-SZkD3b1o.js → DelegatedActionsRevokeScreen-DeaglDzl.js} +1 -1
  26. package/dist/cjs/{EmbeddedWalletConnectingScreen-VdpmfKNX.js → EmbeddedWalletConnectingScreen-Cf6rhf37.js} +1 -1
  27. package/dist/cjs/{EmbeddedWalletCreatedScreen-CfEf4KkH.js → EmbeddedWalletCreatedScreen-B5jgzo2x.js} +1 -1
  28. package/dist/cjs/{EmbeddedWalletKeyExportScreen-D0NE_HvJ.js → EmbeddedWalletKeyExportScreen-B41VAfD3.js} +1 -1
  29. package/dist/cjs/{EmbeddedWalletOnAccountCreateScreen-CrJFTRI0.js → EmbeddedWalletOnAccountCreateScreen-CWh3xHcJ.js} +1 -1
  30. package/dist/cjs/{EmbeddedWalletPasswordUpdateScreen-CjVK53bu.js → EmbeddedWalletPasswordUpdateScreen-Bf2TzOKe.js} +1 -1
  31. package/dist/cjs/{EmbeddedWalletPasswordUpdateSplashScreen-CVldlThA.js → EmbeddedWalletPasswordUpdateSplashScreen-C0pTOfkw.js} +1 -1
  32. package/dist/cjs/{EnrollTotp-BVeDTQ5J.js → EnrollTotp-BB9TeW7O.js} +1 -1
  33. package/dist/cjs/{ErrorScreen-BSjRGrRR.js → ErrorScreen-BO3hfFlj.js} +1 -1
  34. package/dist/cjs/{FarcasterConnectStatusScreen-B7Ab3ddi.js → FarcasterConnectStatusScreen-D6gElBDw.js} +1 -1
  35. package/dist/cjs/{FarcasterSignerStatusScreen-Bf--BYd8.js → FarcasterSignerStatusScreen-Dstuh6U1.js} +1 -1
  36. package/dist/cjs/{FundSolWalletWithExternalSolanaWallet-DcRxhkRg.js → FundSolWalletWithExternalSolanaWallet-vohx_Qde.js} +1 -1
  37. package/dist/cjs/{FundWalletMethodHeader-BKgYjMau.js → FundWalletMethodHeader-CNXbiJcr.js} +1 -1
  38. package/dist/cjs/{FundingEditAmountScreen-Bs3_avzr.js → FundingEditAmountScreen-DXj3diWp.js} +1 -1
  39. package/dist/cjs/{FundingMethodSelectionScreen-C_cbW1TC.js → FundingMethodSelectionScreen-VdZ4pvps.js} +1 -1
  40. package/dist/cjs/{InAppBrowserLoginNotPossible-CySpQd3Y.js → InAppBrowserLoginNotPossible-87L8vrQv.js} +1 -1
  41. package/dist/cjs/{InstallWalletScreen-rFpE2-7H.js → InstallWalletScreen-CSqb2WNz.js} +1 -1
  42. package/dist/cjs/{LandingScreen-BmZWpgb3.js → LandingScreen-DxU7tmB1.js} +1 -1
  43. package/dist/cjs/{LinkConflictScreen-DSIPReKB.js → LinkConflictScreen-DgeXBRL7.js} +1 -1
  44. package/dist/cjs/{LinkEmailScreen-Dc8QC15P.js → LinkEmailScreen-Cnsqqrce.js} +1 -1
  45. package/dist/cjs/{LinkPasskeyScreen-CUMuhJ2Q.js → LinkPasskeyScreen-BGXBH5sN.js} +1 -1
  46. package/dist/cjs/{LinkPhoneScreen-bozyY6A1.js → LinkPhoneScreen-DIj_Vjib.js} +1 -1
  47. package/dist/cjs/{LoginFailedScreen-C4gl1Ezs.js → LoginFailedScreen-tFOwBEu-.js} +1 -1
  48. package/dist/cjs/{ManualTransferScreen-BTj8KQgY.js → ManualTransferScreen-DMOXMWO5.js} +1 -1
  49. package/dist/cjs/{MfaAuthEnrollmentFlowScreen-cmFsgDp4.js → MfaAuthEnrollmentFlowScreen-BoBtavoc.js} +1 -1
  50. package/dist/cjs/{MfaAuthVerifyFlowScreen-DEC3hYOD.js → MfaAuthVerifyFlowScreen-BdmHhVcu.js} +1 -1
  51. package/dist/cjs/{MfaEnrollmentFlowScreen-3lOG0uKv.js → MfaEnrollmentFlowScreen-BzWmvVdW.js} +1 -1
  52. package/dist/cjs/{MfaVerifyFlowScreen-aRH0rn8s.js → MfaVerifyFlowScreen-C2EXaCbd.js} +1 -1
  53. package/dist/cjs/{ModalHeader-DB7Tbjwz.js → ModalHeader-BI7ZKvv6.js} +1 -1
  54. package/dist/cjs/{MoonpayStatusScreen-DANoQOd5.js → MoonpayStatusScreen-DKJj1Dg4.js} +1 -1
  55. package/dist/cjs/{OAuthStatusScreen-DsGkPiMe.js → OAuthStatusScreen-DAmcBCM4.js} +1 -1
  56. package/dist/cjs/{PasskeySelectSignupOrLogin-D9Wfb44J.js → PasskeySelectSignupOrLogin-oV5xTCtS.js} +1 -1
  57. package/dist/cjs/{PasskeyStatusScreen-DAxg2zUJ.js → PasskeyStatusScreen-CNiB3bMj.js} +1 -1
  58. package/dist/cjs/{PasswordRecoveryScreen-CJfW4kpk.js → PasswordRecoveryScreen-B-fzcwCl.js} +1 -1
  59. package/dist/cjs/{QrCode-DsQD8cG6.js → QrCode-C2E2r3aM.js} +1 -1
  60. package/dist/cjs/{RecoveryOAuthStatusScreen-_R1gExdU.js → RecoveryOAuthStatusScreen-D7kxRLIo.js} +1 -1
  61. package/dist/cjs/{RecoveryPasswordCreateScreen-Cb-gcVc8.js → RecoveryPasswordCreateScreen-5xC8zLaU.js} +1 -1
  62. package/dist/cjs/{RecoverySelectionScreen-CZOXXRGl.js → RecoverySelectionScreen-DJSlLGcv.js} +1 -1
  63. package/dist/cjs/{Screen-D9Tvi297.js → Screen-BAzDMRag.js} +1 -1
  64. package/dist/cjs/{ScreenLayout-BeH-Q6N2.js → ScreenLayout-D3XuwCNc.js} +1 -1
  65. package/dist/cjs/{SetAutomaticRecoveryScreen-BSDQb_dJ.js → SetAutomaticRecoveryScreen-Cow-1Uht.js} +1 -1
  66. package/dist/cjs/{SetWalletPasswordForm-C3YB2v_1.js → SetWalletPasswordForm-D75MGQQX.js} +1 -1
  67. package/dist/cjs/{SignRequestScreen-DW3SnJi5.js → SignRequestScreen-CqNZ7zFK.js} +1 -1
  68. package/dist/cjs/{StandardSignAndSendTransactionScreen-Cima1YEn.js → StandardSignAndSendTransactionScreen-DKfTybIS.js} +1 -1
  69. package/dist/cjs/{TelegramAuthScreen-pfwAx0uQ.js → TelegramAuthScreen-CD78uiR7.js} +1 -1
  70. package/dist/cjs/{TransactionDetails-KB5Wyu1l.js → TransactionDetails-CB8mQpwb.js} +1 -1
  71. package/dist/cjs/{TransactionErrorView-SaY08uTA.js → TransactionErrorView-CGoKBP2I.js} +1 -1
  72. package/dist/cjs/{TransferFromWalletScreen-DVzjB3Gc.js → TransferFromWalletScreen-Blx-qFLJ.js} +1 -1
  73. package/dist/cjs/{TransferOrBridgeLoadingScreen-B3zo8l43.js → TransferOrBridgeLoadingScreen-mn3hjh8I.js} +1 -1
  74. package/dist/cjs/{UpdateEmailScreen-CwWKZeJR.js → UpdateEmailScreen-trOexmfG.js} +1 -1
  75. package/dist/cjs/{UpdatePhoneScreen-B84E2DOe.js → UpdatePhoneScreen-YGIc7d-t.js} +1 -1
  76. package/dist/cjs/{UserLimitReachedScreen-CQMqK5QW.js → UserLimitReachedScreen-l6IHRHoo.js} +1 -1
  77. package/dist/cjs/{WalletInfoCard-DKVdH9iF.js → WalletInfoCard-D7wHBxQk.js} +1 -1
  78. package/dist/cjs/{WalletInterstitialScreen-0cBKaDQ1.js → WalletInterstitialScreen-1kX8Y48y.js} +1 -1
  79. package/dist/cjs/{WalletLink-GY0_Tmtg.js → WalletLink-Cjr_-L_x.js} +1 -1
  80. package/dist/cjs/{WalletOverflowButton-iCeXR9aA.js → WalletOverflowButton-PFN9OJwp.js} +1 -1
  81. package/dist/cjs/abstract-smart-wallets.js +1 -1
  82. package/dist/cjs/{context-DFq1obBO.js → context-Db-5oDKm.js} +1 -1
  83. package/dist/cjs/{ethers-DZGJ4Y5i.js → ethers-EIoYUEiA.js} +1 -1
  84. package/dist/cjs/extended-chains.js +1 -1
  85. package/dist/cjs/{get-is-unified-wallet-D4ouXJpi.js → get-is-unified-wallet-C2G5GGX6.js} +1 -1
  86. package/dist/cjs/{index-BQai4Vqd.js → index-BApeKkwf.js} +1 -1
  87. package/dist/cjs/{index-CKB4VKFb.js → index-BQ0zoJ45.js} +1 -1
  88. package/dist/cjs/{index-NJrQkxJ7.js → index-CXqoAr-_.js} +4 -4
  89. package/dist/cjs/index.js +1 -1
  90. package/dist/cjs/internal.js +1 -1
  91. package/dist/cjs/{prepareFundingModalData-Cnd6rhhJ.js → prepareFundingModalData-Cb7nSyJ_.js} +1 -1
  92. package/dist/cjs/{shared-CCAyvw5i.js → shared-4tU9MPcg.js} +1 -1
  93. package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-DZvEYqlO.js → shouldProceedtoEmbeddedWalletCreationFlow-Duta-FhB.js} +1 -1
  94. package/dist/cjs/{smart-wallets-CV78p-ta.js → smart-wallets-DflltUTs.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-ER-8XlJF.js → to-ui-error-yewhM_Dc.js} +1 -1
  98. package/dist/cjs/ui.js +1 -1
  99. package/dist/cjs/{use-create-wallet-without-fallback-q0_yd_V9.js → use-create-wallet-without-fallback-D-Myr0D4.js} +1 -1
  100. package/dist/cjs/{use-export-wallet-DKaavHqM.js → use-export-wallet-Bf2pTysV.js} +1 -1
  101. package/dist/cjs/{useActiveWallet-BOX8xCn9.js → useActiveWallet-DdZYMFTX.js} +1 -1
  102. package/dist/cjs/{useGetTokenPrice-BHq-guWz.js → useGetTokenPrice-CZjmOHyt.js} +1 -1
  103. package/dist/cjs/{useI18n-CY6Et_lH.js → useI18n-Bwu-vLjt.js} +1 -1
  104. package/dist/cjs/{usePrivy-CcfSRv1R.js → usePrivy-CSNEX42A.js} +1 -1
  105. package/dist/cjs/{useSolanaRpcClient-TQdbjNyx.js → useSolanaRpcClient-DkIKFT04.js} +1 -1
  106. package/dist/cjs/{useWallets-BLFNjTwC.js → useWallets-6Z-d9GWa.js} +1 -1
  107. package/dist/cjs/{useWallets-oPpMUdRR.js → useWallets-yNe377Zl.js} +1 -1
  108. package/dist/dts/index.d.mts +0 -1
  109. package/dist/dts/index.d.ts +0 -1
  110. package/dist/esm/{AccountNotFoundScreen-Bk2ZDlxR.mjs → AccountNotFoundScreen-BrWTzXCe.mjs} +1 -1
  111. package/dist/esm/{Address-BsvZLUXE.mjs → Address-CZO7gVfr.mjs} +1 -1
  112. package/dist/esm/{AffirmativeConsentScreen-CMcGT-7c.mjs → AffirmativeConsentScreen-ClJQRvHf.mjs} +1 -1
  113. package/dist/esm/{AllowlistRejectionScreen-CgdkdFzy.mjs → AllowlistRejectionScreen-BPSNSpYc.mjs} +1 -1
  114. package/dist/esm/{AuthenticateWithWalletScreen-fhyjSxI8.mjs → AuthenticateWithWalletScreen-Dy5XdVtI.mjs} +1 -1
  115. package/dist/esm/{AwaitingEvmToSolBridgingScreen-DbNP1yPY.mjs → AwaitingEvmToSolBridgingScreen-BAwFOonu.mjs} +1 -1
  116. package/dist/esm/{AwaitingExternalEthereumTransferScreen-COnzLcDW.mjs → AwaitingExternalEthereumTransferScreen-BnvJmqFs.mjs} +1 -1
  117. package/dist/esm/{AwaitingPasswordlessCodeScreen-D9BoqETu.mjs → AwaitingPasswordlessCodeScreen-DPRccGiK.mjs} +1 -1
  118. package/dist/esm/{AwaitingSolToEvmBridgingScreen-JY-d6qlj.mjs → AwaitingSolToEvmBridgingScreen-Bq0HcxgN.mjs} +1 -1
  119. package/dist/esm/{BridgeNetworkSelectionView-Dn5uqa3q.mjs → BridgeNetworkSelectionView-B9ew_S9h.mjs} +1 -1
  120. package/dist/esm/{Button-B8mqatRx.mjs → Button-BCHUTwim.mjs} +1 -1
  121. package/dist/esm/{CaptchaScreen-D3uGo3qJ.mjs → CaptchaScreen-DQX7BFse.mjs} +1 -1
  122. package/dist/esm/{CoinbaseOnrampStatusScreen-Ce2Z_vJB.mjs → CoinbaseOnrampStatusScreen-CKWPMtjL.mjs} +1 -1
  123. package/dist/esm/{ConnectEmailForm--PZXgvw4.mjs → ConnectEmailForm-tqjtdqFN.mjs} +1 -1
  124. package/dist/esm/{ConnectLedgerScreen-CRDZ_shP.mjs → ConnectLedgerScreen-6CUGQJzD.mjs} +1 -1
  125. package/dist/esm/{ConnectOnlyLandingScreen-NSgaj_D4.mjs → ConnectOnlyLandingScreen-CO0GVGAg.mjs} +1 -1
  126. package/dist/esm/{ConnectOnlyStatusScreen-DAGVWgFv.mjs → ConnectOnlyStatusScreen-DczMeh5F.mjs} +1 -1
  127. package/dist/esm/{ConnectOrCreateScreen-CuVcGxrh.mjs → ConnectOrCreateScreen-D-P3U70w.mjs} +1 -1
  128. package/dist/esm/{ConnectPhoneForm-DoYmHBv3.mjs → ConnectPhoneForm-CFIhk0kg.mjs} +1 -1
  129. package/dist/esm/{ConnectWalletView-eQbJO3Pg.mjs → ConnectWalletView-DZ9nb3Zw.mjs} +1 -1
  130. package/dist/esm/{ConnectionStatusScreen-DVtobAVi.mjs → ConnectionStatusScreen-D-HU_BtP.mjs} +1 -1
  131. package/dist/esm/CrossAppAuthScreen-CzlciUP7.mjs +1 -0
  132. package/dist/esm/{CustomLandingScreenView-DNbO8W7v.mjs → CustomLandingScreenView-D5feZHDA.mjs} +1 -1
  133. package/dist/esm/{DelegatedActionsConsentScreen-Cm3QtgBC.mjs → DelegatedActionsConsentScreen-DTP5Ziw_.mjs} +1 -1
  134. package/dist/esm/{DelegatedActionsRevokeScreen-C2WBGR2c.mjs → DelegatedActionsRevokeScreen-3Ut9huKP.mjs} +1 -1
  135. package/dist/esm/{EmbeddedWalletConnectingScreen-CpKPkmKa.mjs → EmbeddedWalletConnectingScreen-BPxy4xxY.mjs} +1 -1
  136. package/dist/esm/{EmbeddedWalletCreatedScreen-CMyRcNaG.mjs → EmbeddedWalletCreatedScreen-COAwK-Nc.mjs} +1 -1
  137. package/dist/esm/{EmbeddedWalletKeyExportScreen-nkSO3O1P.mjs → EmbeddedWalletKeyExportScreen-Chf0PDUq.mjs} +1 -1
  138. package/dist/esm/{EmbeddedWalletOnAccountCreateScreen-rwdmo9iN.mjs → EmbeddedWalletOnAccountCreateScreen-CLD0Rgfl.mjs} +1 -1
  139. package/dist/esm/{EmbeddedWalletPasswordUpdateScreen-Tcp68U7U.mjs → EmbeddedWalletPasswordUpdateScreen-ty7eQ2pL.mjs} +1 -1
  140. package/dist/esm/{EmbeddedWalletPasswordUpdateSplashScreen-5PH-3FQ3.mjs → EmbeddedWalletPasswordUpdateSplashScreen-RCw3VpV_.mjs} +1 -1
  141. package/dist/esm/{EnrollTotp-ULLNt8tl.mjs → EnrollTotp-DmQ7qWhQ.mjs} +1 -1
  142. package/dist/esm/{ErrorScreen-BdxNEgU1.mjs → ErrorScreen-BQPLRzjx.mjs} +1 -1
  143. package/dist/esm/{FarcasterConnectStatusScreen-CruCPzPD.mjs → FarcasterConnectStatusScreen-ftFqvMO-.mjs} +1 -1
  144. package/dist/esm/{FarcasterSignerStatusScreen-DBAyc7bd.mjs → FarcasterSignerStatusScreen-BtAf5Rsu.mjs} +1 -1
  145. package/dist/esm/{FundSolWalletWithExternalSolanaWallet-Fxpj9pEN.mjs → FundSolWalletWithExternalSolanaWallet-CNH3vUhB.mjs} +1 -1
  146. package/dist/esm/{FundWalletMethodHeader-I8a6Y30s.mjs → FundWalletMethodHeader-pUBL_JvH.mjs} +1 -1
  147. package/dist/esm/{FundingEditAmountScreen-yKYKiyG9.mjs → FundingEditAmountScreen-BzBe_Qgd.mjs} +1 -1
  148. package/dist/esm/{FundingMethodSelectionScreen-Dr-QG6BQ.mjs → FundingMethodSelectionScreen-DcL1lCnT.mjs} +1 -1
  149. package/dist/esm/{InAppBrowserLoginNotPossible-BYO_nlWy.mjs → InAppBrowserLoginNotPossible-DI5aA_SD.mjs} +1 -1
  150. package/dist/esm/{InstallWalletScreen-Cma1GXX4.mjs → InstallWalletScreen-CEf45d_f.mjs} +1 -1
  151. package/dist/esm/{LandingScreen-DCR5C-gA.mjs → LandingScreen-BRneDx_E.mjs} +1 -1
  152. package/dist/esm/{LinkConflictScreen-C8kM_4ZL.mjs → LinkConflictScreen-DGWmi6kq.mjs} +1 -1
  153. package/dist/esm/{LinkEmailScreen-DsrprT7p.mjs → LinkEmailScreen-CaOdetZ9.mjs} +1 -1
  154. package/dist/esm/{LinkPasskeyScreen-yKY5ebtx.mjs → LinkPasskeyScreen-VDNgldLG.mjs} +1 -1
  155. package/dist/esm/{LinkPhoneScreen-BklMbJs1.mjs → LinkPhoneScreen-DaND80g5.mjs} +1 -1
  156. package/dist/esm/{LoginFailedScreen-CVGjcD9g.mjs → LoginFailedScreen-BVS7zx2x.mjs} +1 -1
  157. package/dist/esm/{ManualTransferScreen-C6MTkQcg.mjs → ManualTransferScreen-MZb-ulCr.mjs} +1 -1
  158. package/dist/esm/{MfaAuthEnrollmentFlowScreen-BrEYUoOi.mjs → MfaAuthEnrollmentFlowScreen-DXwpJZvP.mjs} +1 -1
  159. package/dist/esm/{MfaAuthVerifyFlowScreen-D_LbAt1N.mjs → MfaAuthVerifyFlowScreen-DRG2vciu.mjs} +1 -1
  160. package/dist/esm/{MfaEnrollmentFlowScreen-BseHvqlH.mjs → MfaEnrollmentFlowScreen-bc3FCOLe.mjs} +1 -1
  161. package/dist/esm/{MfaVerifyFlowScreen-DB8BFfTJ.mjs → MfaVerifyFlowScreen-DKmArgcd.mjs} +1 -1
  162. package/dist/esm/{ModalHeader-BLGC-7ev.mjs → ModalHeader-DMsJCmCC.mjs} +1 -1
  163. package/dist/esm/{MoonpayStatusScreen-D-Qnyxst.mjs → MoonpayStatusScreen-D2CEHYHH.mjs} +1 -1
  164. package/dist/esm/{OAuthStatusScreen-pEjYhAdx.mjs → OAuthStatusScreen-Dum6aT-G.mjs} +1 -1
  165. package/dist/esm/{PasskeySelectSignupOrLogin-CmmjfwZM.mjs → PasskeySelectSignupOrLogin-BQ6wk3ag.mjs} +1 -1
  166. package/dist/esm/{PasskeyStatusScreen-AiT-3Rq0.mjs → PasskeyStatusScreen-Dz9JvfPo.mjs} +1 -1
  167. package/dist/esm/{PasswordRecoveryScreen-BW7BBSLI.mjs → PasswordRecoveryScreen-CvYlHnO-.mjs} +1 -1
  168. package/dist/esm/{QrCode-DR5LogOp.mjs → QrCode-Brga6u-p.mjs} +1 -1
  169. package/dist/esm/{RecoveryOAuthStatusScreen-BGxGq84t.mjs → RecoveryOAuthStatusScreen-BrtgHrHO.mjs} +1 -1
  170. package/dist/esm/{RecoveryPasswordCreateScreen-Brv0MUPN.mjs → RecoveryPasswordCreateScreen-Dgx2uYMI.mjs} +1 -1
  171. package/dist/esm/{RecoverySelectionScreen-CluXGpRG.mjs → RecoverySelectionScreen-DqFG5pUN.mjs} +1 -1
  172. package/dist/esm/{Screen-BTyXgDrd.mjs → Screen-D9IMjSIJ.mjs} +1 -1
  173. package/dist/esm/{ScreenLayout-CddsD3Of.mjs → ScreenLayout-6lNdm02v.mjs} +1 -1
  174. package/dist/esm/{SetAutomaticRecoveryScreen-nXcm7pIi.mjs → SetAutomaticRecoveryScreen-CkK0CFy6.mjs} +1 -1
  175. package/dist/esm/{SetWalletPasswordForm-DvgKP4Ez.mjs → SetWalletPasswordForm-DngQ4uvc.mjs} +1 -1
  176. package/dist/esm/{SignRequestScreen-Cp5zIIZ3.mjs → SignRequestScreen-CaMU6jEG.mjs} +1 -1
  177. package/dist/esm/{StandardSignAndSendTransactionScreen-bbPFP1pO.mjs → StandardSignAndSendTransactionScreen-CeSqE93E.mjs} +1 -1
  178. package/dist/esm/{TelegramAuthScreen-DorSPB8G.mjs → TelegramAuthScreen-p3Y9rSLz.mjs} +1 -1
  179. package/dist/esm/{TransactionDetails-Bb1NEpUH.mjs → TransactionDetails-hPbV6DCb.mjs} +1 -1
  180. package/dist/esm/{TransactionErrorView-CfyBAYzV.mjs → TransactionErrorView-NsZx9jdi.mjs} +1 -1
  181. package/dist/esm/{TransferFromWalletScreen-BeSvua3b.mjs → TransferFromWalletScreen-Co9PyaEp.mjs} +1 -1
  182. package/dist/esm/{TransferOrBridgeLoadingScreen-D5Y_FQAB.mjs → TransferOrBridgeLoadingScreen-iwF2D445.mjs} +1 -1
  183. package/dist/esm/{UpdateEmailScreen-BolXWblK.mjs → UpdateEmailScreen-9vo4E2W3.mjs} +1 -1
  184. package/dist/esm/{UpdatePhoneScreen-G2aRPp1w.mjs → UpdatePhoneScreen-DxrzVmci.mjs} +1 -1
  185. package/dist/esm/{UserLimitReachedScreen-BUXcfdpd.mjs → UserLimitReachedScreen-rZEWRVSf.mjs} +1 -1
  186. package/dist/esm/{WalletInfoCard-YE5P6CSV.mjs → WalletInfoCard-BDDhXfHD.mjs} +1 -1
  187. package/dist/esm/{WalletInterstitialScreen-6lMKxpAk.mjs → WalletInterstitialScreen-X_1ezeYo.mjs} +1 -1
  188. package/dist/esm/{WalletLink-C9CSqqVy.mjs → WalletLink-CFo9DyMs.mjs} +1 -1
  189. package/dist/esm/{WalletOverflowButton-DV9Pe-aq.mjs → WalletOverflowButton-CrQL7UEc.mjs} +1 -1
  190. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  191. package/dist/esm/context-V818SaHP.mjs +1 -0
  192. package/dist/esm/{ethers-C3Y94dat.mjs → ethers-Cnuw0NPp.mjs} +1 -1
  193. package/dist/esm/extended-chains.mjs +1 -1
  194. package/dist/esm/{get-is-unified-wallet-DvKS5IUO.mjs → get-is-unified-wallet-DaE-trWH.mjs} +1 -1
  195. package/dist/esm/{index-DeGXWdV3.mjs → index-CT0ggADn.mjs} +1 -1
  196. package/dist/esm/{index-C9_VQk69.mjs → index-DCFUKwhP.mjs} +1 -1
  197. package/dist/esm/{index-CCyaupaz.mjs → index-DcZmv0-B.mjs} +4 -4
  198. package/dist/esm/index.mjs +1 -1
  199. package/dist/esm/internal.mjs +1 -1
  200. package/dist/esm/{prepareFundingModalData-CIgFwA7s.mjs → prepareFundingModalData-DUx-1KTn.mjs} +1 -1
  201. package/dist/esm/{shared-rucIJmk0.mjs → shared-Bkds2F81.mjs} +1 -1
  202. package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-Djgu4xiS.mjs → shouldProceedtoEmbeddedWalletCreationFlow-iRoSuAv1.mjs} +1 -1
  203. package/dist/esm/{smart-wallets-B-nGTJog.mjs → smart-wallets-BJTpTYK0.mjs} +1 -1
  204. package/dist/esm/smart-wallets.mjs +1 -1
  205. package/dist/esm/solana.mjs +1 -1
  206. package/dist/esm/{to-ui-error-3mK4-1VA.mjs → to-ui-error-D8W_GKBj.mjs} +1 -1
  207. package/dist/esm/ui.mjs +1 -1
  208. package/dist/esm/{use-create-wallet-without-fallback-cSYr4rn8.mjs → use-create-wallet-without-fallback-DDbLn_G5.mjs} +1 -1
  209. package/dist/esm/{use-export-wallet-ntS-M0Jk.mjs → use-export-wallet-CEkM0POq.mjs} +1 -1
  210. package/dist/esm/{useActiveWallet-Bsy5GTCV.mjs → useActiveWallet-BbvEo4xm.mjs} +1 -1
  211. package/dist/esm/{useGetTokenPrice-0Bn0Y88A.mjs → useGetTokenPrice-DuWW72c8.mjs} +1 -1
  212. package/dist/esm/{useI18n-BtdAZuQ8.mjs → useI18n-DkY2z6_W.mjs} +1 -1
  213. package/dist/esm/{usePrivy-BaiIHGte.mjs → usePrivy-Cd9bG7Zy.mjs} +1 -1
  214. package/dist/esm/{useSolanaRpcClient-DW9Xaoo_.mjs → useSolanaRpcClient-DVbl6EYJ.mjs} +1 -1
  215. package/dist/esm/{useWallets-D0lpBS44.mjs → useWallets-B8f3xFaB.mjs} +1 -1
  216. package/dist/esm/{useWallets-NhjmJtNE.mjs → useWallets-C46Rq10E.mjs} +1 -1
  217. package/package.json +4 -4
  218. package/dist/cjs/ConnectWalletView-DsOX-lHz.js +0 -1
  219. package/dist/cjs/CrossAppAuthScreen-weeiAu3O.js +0 -1
  220. package/dist/esm/CrossAppAuthScreen-B0633bnY.mjs +0 -1
  221. package/dist/esm/context-Bycd1SKV.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-DvKS5IUO.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-D0lpBS44.mjs";import{u as A,W as g}from"./context-Bycd1SKV.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-DaE-trWH.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-B8f3xFaB.mjs";import{u as A,W as g}from"./context-V818SaHP.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-Bycd1SKV.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-V818SaHP.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-DvKS5IUO.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-DaE-trWH.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-DvKS5IUO.mjs";import{u as v}from"./usePrivy-BaiIHGte.mjs";import{g as m,u as T}from"./useWallets-D0lpBS44.mjs";import b from"eventemitter3";import{base58 as O}from"@scure/base";import{u as S}from"./context-Bycd1SKV.mjs";import{u as _}from"./use-sign-with-user-signer-eEm9Olt_.mjs";import{g as E,u as I}from"./prepareFundingModalData-CIgFwA7s.mjs";import{b as j,a as W,u as M}from"./useSolanaRpcClient-DW9Xaoo_.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-DaE-trWH.mjs";import{u as v}from"./usePrivy-Cd9bG7Zy.mjs";import{g as m,u as T}from"./useWallets-B8f3xFaB.mjs";import b from"eventemitter3";import{base58 as O}from"@scure/base";import{u as S}from"./context-V818SaHP.mjs";import{u as _}from"./use-sign-with-user-signer-eEm9Olt_.mjs";import{g as E,u as I}from"./prepareFundingModalData-DUx-1KTn.mjs";import{b as j,a as W,u as M}from"./useSolanaRpcClient-DVbl6EYJ.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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/react-auth",
3
- "version": "3.9.1",
3
+ "version": "3.9.2-beta-20251223010935",
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.4",
173
- "@privy-io/js-sdk-core": "0.58.4",
172
+ "@privy-io/ethereum": "0.0.5-beta-20251223010935",
173
+ "@privy-io/js-sdk-core": "0.58.5-beta-20251223010935",
174
174
  "@privy-io/popup": "0.0.1",
175
175
  "@privy-io/routes": "0.0.4",
176
176
  "@privy-io/urls": "*",
@@ -195,7 +195,7 @@
195
195
  "stylis": "^4.3.4",
196
196
  "tinycolor2": "^1.6.0",
197
197
  "uuid": ">=8 <10",
198
- "viem": "^2.42.1",
198
+ "viem": "^2.43.1",
199
199
  "x402": "^0.7.1",
200
200
  "zustand": "^5.0.0"
201
201
  },
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),n=require("@heroicons/react/24/outline"),t=require("@tanstack/react-virtual"),i=require("react"),l=require("react-device-detect"),a=require("styled-components"),o=require("./Button-Bm_Ft0Dw.js"),r=require("@heroicons/react/24/outline/CheckIcon"),s=require("./copy-BiZ7dtqy.js"),c=require("./ModalHeader-DB7Tbjwz.js"),d=require("./QrCode-DsQD8cG6.js"),h=require("./EmailInputForm-tjrhBacA.js"),p=require("./context-DFq1obBO.js"),u=require("./useI18n-CY6Et_lH.js"),m=require("./useActiveWallet-BOX8xCn9.js"),g=require("./internal-context-NWsAL807.js"),y=require("./WalletCards-BfpeHH5n.js"),w=require("./prepareFundingModalData-Cnd6rhhJ.js"),f=require("./Screen-D9Tvi297.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:l,hideCopyIcon:a,...o}){let[r,s]=i.useState(!1);/*#__PURE__*/return e.jsxs(b,{...o,onClick:()=>{navigator.clipboard.writeText(l||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 k={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 _{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=_.normalize(e);return this.normalizedAllowList.some((e=>t===_.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,i=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=_.normalize(e.walletClientType);i({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 l=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=>_.normalize(e.walletClientType)===_.normalize(n.slug)&&"ethereum"===e.chainType&&"null"!==e.connectorType))||l||n.mobile.native||n.mobile.universal||m.mobileWalletsConfig[n.slug]?.chainTypes.includes("ethereum")||(t=t.filter((e=>!e.includes("eip155:")))),e.some((e=>_.normalize(e.walletClientType)===_.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=_.normalize(n.slug),r=k[n.slug],s=r?.image_url?.sm||n.image_url?.sm;t.some((e=>e.includes("eip155:")))&&i({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:")))&&i({id:o,label:n.name||o,source:"listing",listing:n,chainType:"solana",icon:s,url:n.homepage,chains:t})})),this.includeWalletConnectQr&&l&&i({id:"wallet_connect_qr",label:"WalletConnect",source:"connector",connector:l,chainType:"ethereum",icon:w.WALLET_CONNECT_LOGO_DATA_URI,url:void 0,chains:["eip155"]}),this.includeWalletConnectQrSolana&&a&&i({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=k[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(_.normalize(e),n)})),{wallets:o.slice().sort(((e,n)=>{let t=_.normalize(e.id),i=_.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"===i?i="binance":"universalprofiles"===i?i="universal_profile":"cryptocom-defi"===i?i="cryptocom":"bitkeep"===i&&(i="bitget_wallet");let l=r.has(t),a=r.has(i);return l&&a?r.get(t)-r.get(i):l?-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 l=p.useAppConfig(),{connectors:a}=g.usePrivyInternal(),{listings:o,loading:r}=m.useExternalWalletListings(e),s=t??l.appearance.walletChainType,c=n??l.appearance?.walletList,d=i.useMemo((()=>new _(s,c)),[s,c]),{wallets:h,walletCount:u}=i.useMemo((()=>d.getWallets(a,o)),[d,a,o]),[y,w]=i.useState(""),f=i.useMemo((()=>y?h.filter((e=>e.label.toLowerCase().includes(y.toLowerCase()))):h),[y,h]),[v,x]=i.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:i,recent:l})=>{let a=i.wallets[n],{walletChainType:o,handleWalletClick:r}=i,{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}),l?/*#__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-34a6bff4-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-34a6bff4-1"})(["display:flex;flex-direction:column;gap:","px;"],5),P=/*#__PURE__*/a.styled.button.withConfig({displayName:"Button",componentId:"sc-34a6bff4-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-34a6bff4-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-34a6bff4-4"})(["height:60px;display:flex;align-items:center;justify-content:center;text-align:center;"]),$=/*#__PURE__*/a.styled.span.withConfig({displayName:"WalletName",componentId:"sc-34a6bff4-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-34a6bff4-6"})(["&&{margin:0.5rem auto 0 auto;}"]);exports.Chip=E,exports.CloseButton=I,exports.CopyableText=T,exports.Header=L,exports.ScrollContainer=q,exports.WalletFilterer=_,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:ie,title:le,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]=i.useState(),[W,T]=i.useState(),[k,_]=i.useState(),[S,z]=i.useState(),L=!x&&!k&&!S,I=L&&(w>6||f.length>0),A=d.find((e=>"wallet_connect_v2"===e.connectorType)),N=i.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=i.useCallback((()=>k?(j(void 0),T(void 0),z(void 0),void _(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?.()),[k,S,x,C,n]),q=i.useMemo((()=>S?.connector===A&&k&&l.isMobile&&S?.name?h("connectWallet.goToWallet",{walletName:S.name}):S?.connector===A&&k&&S?.name?h("connectWallet.scanToConnect",{walletName:S.name}):k&&S?.name?l.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,k,x,A,h]);return{selected:x,setSelected:b,qrUrl:k,setQrUrl:_,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=i.useRef(null),de=t.useVirtualizer({count:X.length,getScrollElement:()=>ce.current,estimateSize:()=>56,overscan:6,gap:5}),he=i.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"))),i=n=>{let t=_.normalize(e.id);return W.find((e=>_.normalize(e.walletClientType)===t&&e.chainType===n&&!("ethereum"===e.chainType&&e instanceof m.EthereumNullConnector||"solana"===e.chainType&&e instanceof m.SolanaNullConnector)))},a=async()=>{if(!re||!e.listing)return!1;let n=k[e.listing.slug]?{...e.listing,...k[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},o=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),r=async n=>{let t=(n=>{let t=m.mobileWalletsConfig[e.id];if(t)return t.getMobileRedirect({isSolana:n,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=i("ethereum");if(n&&!M(n))return void await ee(n,{name:e.label,icon:e.icon});if(l.isMobile&&"phantom"===e.id){if(await r(!1)||await a())return}else if(await a()||await r(!1))return}if(t&&!n){let n=i("solana");if(n&&!M(n))return void await ee(n,{name:e.label,icon:e.icon});if(l.isMobile){if(await r(!0)||await o())return}else if(await o()||await r(!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=k[e.listing.slug]?{...e.listing,...k[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 i.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&&ie?void 0:Y&&!G||G&&l.isMobile&&Y?.icon?Y.icon:Y?void 0:y.WalletCards,iconVariant:Y&&!G||G&&l.isMobile?"loading":void 0,iconLoadingStatus:Y&&!G||G&&l.isMobile?{success:"success"===J,fail:"error"===J}:void 0,title:x&&ie?void 0:Y&&!G?j("connectWallet.waitingForWallet",{walletName:Y.name}):G&&l.isMobile?j("connectWallet.waitingForWallet",{walletName:Y?.name??"connection"}):le,subtitle:x&&ie?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"):ie?r??(E?j("connectWallet.connectToAccount",{appName:E.name}):null):null,showBack:!!I||!ie,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&&l.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&&!l.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&&!l.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,{})})]}),ie&&/*#__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;
@@ -1 +0,0 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./context-DFq1obBO.js"),i=require("./index-NJrQkxJ7.js"),o=require("./internal-context-NWsAL807.js"),s=require("./get-is-unified-wallet-D4ouXJpi.js"),a=require("./useActiveWallet-BOX8xCn9.js"),u=require("./shouldProceedtoEmbeddedWalletCreationFlow-DZvEYqlO.js"),n=require("./ScreenLayout-BeH-Q6N2.js");require("@privy-io/js-sdk-core"),require("tinycolor2"),require("uuid"),require("jose"),require("eventemitter3"),require("./useWallets-BLFNjTwC.js"),require("./prepareFundingModalData-Cnd6rhhJ.js"),require("@coinbase/wallet-sdk"),require("@privy-io/ethereum"),require("mipd"),require("react-device-detect"),require("viem/utils"),require("@privy-io/popup"),require("./paths-DizMb-lU.js"),require("./usePrivy-CcfSRv1R.js"),require("./events-context-Di6--rDg.js"),require("@scure/base"),require("styled-components"),require("zustand"),require("@headlessui/react"),require("@walletconnect/ethereum-provider"),require("@privy-io/urls"),require("viem"),require("./getPublicClient-CGlodIp_.js"),require("ofetch"),require("js-cookie"),require("./frame-B14fp9oC.js"),require("@privy-io/routes"),require("x402/client"),require("@privy-io/api-base"),require("viem/accounts"),require("./use-sign-with-user-signer-BcAsQTGF.js"),require("./getEmbeddedConnectedWallet-6TsVZJkD.js"),require("./Button-Bm_Ft0Dw.js"),require("./Screen-D9Tvi297.js"),require("./ModalHeader-DB7Tbjwz.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("./index-CRFXS9pP.js");const c=({providerApp:t,success:i,error:o,onClose:s})=>{let{title:a,subtitle:u}=r.useMemo((()=>i?{title:`Successfully connected with ${t.name}`,subtitle:"You're good to go!"}:o?{title:"Authentication failed",subtitle:o.message}:{title:`Connecting to ${t.name}`,subtitle:`Please check the pop-up from ${t.name} to continue`}),[i,o,t.name]);/*#__PURE__*/return e.jsx(n.ScreenLayout,{title:a,subtitle:u,icon:t.logoUrl,iconVariant:"loading",iconLoadingStatus:{success:i,fail:!!o},onBack:s,watermark:!0})},l={component:()=>{let n=t.useAppConfig(),{data:l,navigate:d,setModalData:p,onUserCloseViaDialogOrKeybindRef:q}=s.usePrivyModal(),{crossAppAuthFlow:m,updateWallets:h,closePrivyModal:A,createAnalyticsEvent:f}=o.usePrivyInternal(),{logout:v}=a.useLogout(),[C,S]=r.useState({}),y=l?.crossAppAuth;if(!y)return console.debug("Data missing for screen"),null;let E={id:y.appId,name:y.name,logoUrl:y.logoUrl},g=new o.PrivyClientError(`There was an issue connecting your ${E.name} account. Please try again.`),j=new i.RunEffectOnce((async e=>{if(y.popup)try{let r=await m({appId:e,popup:y.popup,action:y.action});S({data:r})}catch(e){if(e instanceof o.PrivyClientError)S({error:e});else if(e instanceof o.PrivyApiError){if(e.privyErrorCode===o.PrivyErrorCode.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return p({accountTransfer:{nonce:e.data?.data?.nonce,account:e.data?.data?.subject,displayName:e.data?.data?.account?.displayName,linkMethod:`privy:${E.id}`,embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress,oAuthUserInfo:e.data?.data?.otherUser?.oAuthUserInfo}}),void d("LinkConflictScreen");y.popup&&y.popup.close(),S({error:g})}else S({error:g})}else S({error:g})})),U=()=>{C.data&&(h(),y.onSuccess(C.data),A({shouldCallAuthOnSuccess:!0,isSuccess:!0})),y.onError(C.error??new o.PrivyClientError("User canceled flow")),A({shouldCallAuthOnSuccess:!1,isSuccess:!1})};return q.current=U,r.useEffect((()=>{E.id.length&&j.execute(E.id)}),[E.id]),r.useEffect((()=>{if(!C.data)return;let e=C.data;if(n.legal.requireUsersAcceptTerms&&!e.hasAcceptedTerms){let e=setTimeout((()=>{d("AffirmativeConsentScreen")}),t.DEFAULT_SUCCESS_SCREEN_DURATION_MS);return()=>clearTimeout(e)}if(u.shouldProceedtoEmbeddedWalletCreationFlow(e,n.embeddedWallets)){let e=setTimeout((()=>{p({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),f({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,provider:`privy:${E.id}`,screen:"CrossAppAuthScreen"}}),v()},callAuthOnSuccessOnClose:!0}}),d("EmbeddedWalletOnAccountCreateScreen")}),t.DEFAULT_SUCCESS_SCREEN_DURATION_MS);return()=>clearTimeout(e)}let r=setTimeout(U,t.DEFAULT_SUCCESS_SCREEN_DURATION_MS);return()=>clearTimeout(r)}),[C.data]),/*#__PURE__*/e.jsx(c,{providerApp:E,success:!!C.data,error:C.error,onClose:U})},isShownBeforeReady:!0};exports.CrossAppAuthScreen=l,exports.CrossAppAuthScreenView=c,exports.default=l;
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useMemo as t,useState as o,useEffect as r}from"react";import{u as i,q as a}from"./context-Bycd1SKV.mjs";import{R as s}from"./index-CCyaupaz.mjs";import{u as n,a as c,e as l,b as m}from"./internal-context-e-Eni5bG.mjs";import{a as p}from"./get-is-unified-wallet-DvKS5IUO.mjs";import{z as u}from"./useActiveWallet-Bsy5GTCV.mjs";import{s as d}from"./shouldProceedtoEmbeddedWalletCreationFlow-Djgu4xiS.mjs";import{S as f}from"./ScreenLayout-CddsD3Of.mjs";import"@privy-io/js-sdk-core";import"tinycolor2";import"uuid";import"jose";import"eventemitter3";import"./useWallets-D0lpBS44.mjs";import"./prepareFundingModalData-CIgFwA7s.mjs";import"@coinbase/wallet-sdk";import"@privy-io/ethereum";import"mipd";import"react-device-detect";import"viem/utils";import"@privy-io/popup";import"./paths-3HW55qZg.mjs";import"./usePrivy-BaiIHGte.mjs";import"./events-context-CI0iqAXA.mjs";import"@scure/base";import"styled-components";import"zustand";import"@headlessui/react";import"@walletconnect/ethereum-provider";import"@privy-io/urls";import"viem";import"./getPublicClient-A9RSftUZ.mjs";import"ofetch";import"js-cookie";import"./frame-CwE9r3cT.mjs";import"@privy-io/routes";import"x402/client";import"@privy-io/api-base";import"viem/accounts";import"./use-sign-with-user-signer-eEm9Olt_.mjs";import"./getEmbeddedConnectedWallet-CM6cDQCS.mjs";import"./Button-B8mqatRx.mjs";import"./Screen-BTyXgDrd.mjs";import"./ModalHeader-BLGC-7ev.mjs";import"@heroicons/react/24/outline/ArrowLeftIcon";import"@heroicons/react/24/outline/ArrowRightIcon";import"@heroicons/react/24/outline/QuestionMarkCircleIcon";import"@heroicons/react/24/outline/XMarkIcon";import"./index-CJMgUOnw.mjs";const h=({providerApp:o,success:r,error:i,onClose:a})=>{let{title:s,subtitle:n}=t((()=>r?{title:`Successfully connected with ${o.name}`,subtitle:"You're good to go!"}:i?{title:"Authentication failed",subtitle:i.message}:{title:`Connecting to ${o.name}`,subtitle:`Please check the pop-up from ${o.name} to continue`}),[r,i,o.name]);/*#__PURE__*/return e(f,{title:s,subtitle:n,icon:o.logoUrl,iconVariant:"loading",iconLoadingStatus:{success:r,fail:!!i},onBack:a,watermark:!0})},v={component:()=>{let t=i(),{data:f,navigate:v,setModalData:g,onUserCloseViaDialogOrKeybindRef:A}=p(),{crossAppAuthFlow:j,updateWallets:y,closePrivyModal:b,createAnalyticsEvent:C}=n(),{logout:w}=u(),[S,U]=o({}),T=f?.crossAppAuth;if(!T)return console.debug("Data missing for screen"),null;let k={id:T.appId,name:T.name,logoUrl:T.logoUrl},W=new c(`There was an issue connecting your ${k.name} account. Please try again.`),x=new s((async e=>{if(T.popup)try{let t=await j({appId:e,popup:T.popup,action:T.action});U({data:t})}catch(e){if(e instanceof c)U({error:e});else if(e instanceof l){if(e.privyErrorCode===m.ACCOUNT_TRANSFER_REQUIRED&&e.data?.data?.nonce)return g({accountTransfer:{nonce:e.data?.data?.nonce,account:e.data?.data?.subject,displayName:e.data?.data?.account?.displayName,linkMethod:`privy:${k.id}`,embeddedWalletAddress:e.data?.data?.otherUser?.embeddedWalletAddress,oAuthUserInfo:e.data?.data?.otherUser?.oAuthUserInfo}}),void v("LinkConflictScreen");T.popup&&T.popup.close(),U({error:W})}else U({error:W})}else U({error:W})})),E=()=>{S.data&&(y(),T.onSuccess(S.data),b({shouldCallAuthOnSuccess:!0,isSuccess:!0})),T.onError(S.error??new c("User canceled flow")),b({shouldCallAuthOnSuccess:!1,isSuccess:!1})};return A.current=E,r((()=>{k.id.length&&x.execute(k.id)}),[k.id]),r((()=>{if(!S.data)return;let e=S.data;if(t.legal.requireUsersAcceptTerms&&!e.hasAcceptedTerms){let e=setTimeout((()=>{v("AffirmativeConsentScreen")}),a);return()=>clearTimeout(e)}if(d(e,t.embeddedWallets)){let e=setTimeout((()=>{g({createWallet:{onSuccess:()=>{},onFailure:e=>{console.error(e),C({eventName:"embedded_wallet_creation_failure_logout",payload:{error:e,provider:`privy:${k.id}`,screen:"CrossAppAuthScreen"}}),w()},callAuthOnSuccessOnClose:!0}}),v("EmbeddedWalletOnAccountCreateScreen")}),a);return()=>clearTimeout(e)}let o=setTimeout(E,a);return()=>clearTimeout(o)}),[S.data]),/*#__PURE__*/e(h,{providerApp:k,success:!!S.data,error:S.error,onClose:E})},isShownBeforeReady:!0};export{v as CrossAppAuthScreen,h as CrossAppAuthScreenView,v as default};
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useState as t,useMemo as a,useEffect as n,createContext as o,useContext as r}from"react";import{dedupeSupportedChains as l,DEFAULT_SUPPORTED_CHAINS as i,mainnet as s}from"@privy-io/js-sdk-core";import c from"tinycolor2";const d="https://auth.privy.io",u=2e4,g=1400,h=2500,f=4e3,p="3.9.1",_="privy:token",b="privy-token",m="privy:refresh_token",v="privy-refresh-token",w="privy:pat",k="privy:id_token",y="privy-id-token",F="privy-session",C="privy:caid",M=e=>`privy:guest:${e}`,A=e=>`privy:cross-app:${e}`,E="privy:state_code",x="privy:code_verifier",B="privy:headless_oauth",D="privy:oauth_disable_signup",W=e=>`privy:wallet:${e}`,S="privy:connections",L=12e4,H=1,I="0x1",O=3e4,U="https://api.moonpay.com/v1",P="https://api.moonpay.com/v1",q="pk_live_hirbpu0cVcLHrjktC9l7fbc9ctjv0SL",j="pk_test_fqWjXZMSFwloh7orvJsRfjiUHXJqFzI",R="deprecated",T={appearance:{landingHeader:"Log in or sign up",theme:"light",walletList:["detected_ethereum_wallets","detected_solana_wallets","metamask","coinbase_wallet","rainbow","base_account","wallet_connect","phantom"]},walletConnectCloudProjectId:"34357d3c125c2bcf2ce2bc3309d98715",_render:{standalone:!1},fundingMethodConfig:{moonpay:{useSandbox:!1}}};let N=new Set(["coinbase_wallet","base_account","cryptocom","metamask","okx_wallet","phantom","rainbow","uniswap","zerion","universal_profile","bybit_wallet","ronin_wallet","haha_wallet","wallet_connect","wallet_connect_qr","wallet_connect_qr_solana","detected_solana_wallets","detected_ethereum_wallets","rabby_wallet","safe","solflare","backpack","jupiter","binance","binanceus","bitget_wallet","kraken_wallet"]),$=e=>N.has(e),z=(e,t,a)=>a.indexOf(e)===t;const Y=({input:e,overrides:t})=>t?t.primary.concat(t.overflow??[]).filter($).filter(z):e?e.filter($).filter(z):T.appearance.walletList;let G=/paymaster\.biconomy\.io\/api/i,J={mode:"SPONSORED",calculateGasLimits:!0,expiryDuration:300,sponsorshipInfo:{webhookData:{},smartAccountInfo:{name:"BICONOMY",version:"2.0.0"}}};const V=(e,t)=>e&&G.test(e)?J:t&&t.policy_id?{policyId:t.policy_id}:void 0;function K(e,t){let a=Math.max(0,Math.min(1,e.toHsl().l+t));return c({...e.toHsl(),l:a})}function X(e,t){let a=e.getLuminance(),n=t.getLuminance();return(Math.max(a,n)+.05)/(Math.min(a,n)+.05)}function Z(e,t){if(!e){let e=t?ee:te;return{accent:c(e.background.interactive),accentLight:c(e.background.interactive),accentHover:c(e.background["interactive-hover"]),accentDark:c(e.background["interactive-clicked"]),accentDarkest:c(e.background["interactive-disabled"])}}let a=c(e);return{accent:a,accentLight:K(a,.15),accentHover:K(a,.3),accentDark:K(a,-.06),accentDarkest:K(a,-.6)}}function Q({backgroundTheme:e,accentHex:t}){let a,n;"light"===e?a=!1:"dark"===e?a=!0:(a=.5>=c(e).getLuminance(),n=c(e).toHslString());let o=a?"dark":"light",r=a?ee:te,{accent:l,accentLight:i,accentHover:s,accentDark:d,accentDarkest:u}=Z(t,a),g=function(e){let t=c(te.text.default),a=c(ee.text.default),n=X(e,t),o=X(e,a),r=e.toHsl();return r.h>=220&&r.h<=300&&o>=3?ee.text.default:n>o?te.text.default:ee.text.default}(l),h=c(g),f=X(l,c(r.background.default))>=3;return{colorScheme:o,background:n||r.background.default,background2:r.background.elevated,background3:r.background.interactive,foreground:r.text.default,foreground2:r.text.muted,foreground3:r.text.placeholder,foreground4:r.border.default,accent:l.toHslString(),accentLight:i.toHslString(),accentHover:s.toHslString(),accentDark:d.toHslString(),accentDarkest:u.toHslString(),foregroundAccent:h.toHslString(),success:r.background.success,successDark:r.text.success,successLight:r.background.success,error:r.text.error,errorLight:r.background.error,warn:r.background.warning,warnLight:r.background.warning,warningDark:r.text.warning,errorDark:r.text.error,successBg:r.background.success,errorBg:r.background.error,errorBgHover:r.background["error-hover"],warnBg:r.background.warning,infoBg:r.background.info,infoBgHover:r.background["info-hover"],borderDefault:r.border.default,borderHover:r.border["default-hover"],borderFocus:r.border.focused,borderError:r.border.error,borderSuccess:r.border.success,borderWarning:r.border.warning,borderInfo:r.border.info,borderInteractive:r.border.interactive,borderInteractiveHover:r.border["interactive-hover"],backgroundHover:r.background["default-hover"],backgroundClicked:r.background["default-clicked"],backgroundDisabled:r.background["default-disabled"],backgroundInteractive:r.background.interactive,backgroundInteractiveHover:r.background["interactive-hover"],backgroundInteractiveClicked:r.background["interactive-clicked"],backgroundInteractiveDisabled:r.background["interactive-disabled"],foregroundHover:r.text.default,foregroundClicked:r.text.default,foregroundDisabled:r.text["default-disabled"],foregroundInteractive:r.text.interactive,foregroundInteractiveHover:r.text["interactive-hover"],accentHasGoodContrast:f?"1":"0",linkNavigationColor:f?l.toHslString():r.text.default,linkNavigationDecoration:f?"none":"underline",iconDefault:r.icon.default,iconMuted:r.icon.muted,iconSubtle:r.icon.subtle,iconInverse:r.icon.inverse,iconSuccess:r.icon.success,iconWarning:r.icon.warning,iconError:r.icon.error,iconInteractive:r.icon.interactive,iconDefaultHover:r.icon["default-hover"],iconMutedHover:r.icon["muted-hover"],iconSubtleHover:r.icon["subtle-hover"],iconDefaultClicked:r.icon["default-clicked"],iconMutedClicked:r.icon["muted-clicked"],iconSubtleClicked:r.icon["subtle-clicked"],iconDefaultDisabled:r.icon["default-disabled"],iconMutedDisabled:r.icon["muted-disabled"],iconSubtleDisabled:r.icon["subtle-disabled"],iconErrorHover:r.icon["error-hover"],iconInteractiveHover:r.icon["interactive-hover"],iconErrorClicked:r.icon["error-clicked"],iconInteractiveClicked:r.icon["interactive-clicked"],iconMutedDisabledAlt:r.icon["muted-disabled"],iconSubtleDisabledAlt:r.icon["subtle-disabled"]}}const ee={background:{default:"#020713",elevated:"#1A2230","default-hover":"#101724","default-clicked":"#1A2230","default-disabled":"#020713",success:"#0E3E2D",warning:"#373827",error:"#2E0C18",interactive:"#8B86FF","error-hover":"#441821","interactive-hover":"#7B73E5","interactive-clicked":"#6560CC","interactive-disabled":"#141824",info:"#1F2937","info-hover":"#141824"},icon:{default:"#F8F8F8",muted:"#9BA2AE",subtle:"#7B8491",inverse:"#020713",success:"#88E3B5",warning:"#FDF27B",error:"#EF4444",interactive:"#88B6FF","default-hover":"#F8F8F8","muted-hover":"#AEB3BD","subtle-hover":"#8B939E","default-clicked":"#F8F8F8","muted-clicked":"#9097A5","subtle-clicked":"#78818E","default-disabled":"#404452","muted-disabled":"#404452","subtle-disabled":"#404452","error-hover":"#F05555","interactive-hover":"#7B73E5","error-clicked":"#EF4444","interactive-clicked":"#6560CC"},text:{default:"#F8F8F8",muted:"#9BA2AE",placeholder:"#7B8491",success:"#ACEECB",warning:"#FEF9A0",error:"#FCA5A5",interactive:"#A29EFF","default-disabled":"#404452","interactive-hover":"#8C88E5"},border:{default:"#1F2937",interactive:"#88B0FF",focused:"#F8F8FC",info:"#5B83D3",success:"#317056",warning:"#FBBF24",error:"#F87171","default-hover":"#34304A","interactive-hover":"#88B0FF"}},te={background:{default:"#FFFFFF",elevated:"#F1F2F9","default-hover":"#F8F9FC","default-clicked":"#F1F2F9","default-disabled":"#FFFFFF",success:"#DCFCE7",warning:"#FEF3C7",error:"#FEE2E2",interactive:"#5B4FFF","error-hover":"#FECACA","interactive-hover":"#4F46E5","interactive-clicked":"#4338CA","interactive-disabled":"#F1F2F9",info:"#E0E7FF","info-hover":"#EEF2FF"},icon:{default:"#110F2A",muted:"#64668B",subtle:"#9498B8",inverse:"#FFFFFF",success:"#33B287",warning:"#F59E0B",error:"#EF4444",interactive:"#564FFF","default-hover":"#1D1B35","muted-hover":"#64668B","subtle-hover":"#888AAE","default-clicked":"#060C23","muted-clicked":"#64668B","subtle-clicked":"#788804","default-disabled":"#CBCDE1","muted-disabled":"#CBCDE1","subtle-disabled":"#CBCDE1","error-hover":"#F06060","interactive-hover":"#4F46E5","error-clicked":"#DC3838","interactive-clicked":"#2BA482"},text:{default:"#040217",muted:"#64668B",placeholder:"#9498B8",success:"#135638",warning:"#906218",error:"#991B1B",interactive:"#5B4FFF","default-disabled":"#CBCDE1","interactive-hover":"#5B4FFF"},border:{default:"#E2E3F0",interactive:"#5B4FFF",focused:"#949DF9",info:"#F1F2F9",success:"#87D7B7",warning:"#FACD63",error:"#F69393","default-hover":"#E2E3F0","interactive-hover":"#5B4FFF"}};function ae(e,t,a,n,o){let r,c,d,u,g,h,f,p,_,b,m,v,w,k,y,F,C,M=a?console.warn:()=>{},A=[];if(t?.loginMethods)for(let e of(r=t.loginMethods.includes("email"),c=t.loginMethods.includes("sms"),u=t.loginMethods.includes("wallet"),g=t.loginMethods.includes("google"),h=t.loginMethods.includes("twitter"),f=t.loginMethods.includes("discord"),m=t.loginMethods.includes("spotify"),v=t.loginMethods.includes("instagram"),p=t.loginMethods.includes("tiktok"),_=t.loginMethods.includes("line"),b=t.loginMethods.includes("twitch"),k=t.loginMethods.includes("github"),w=t.loginMethods.includes("linkedin"),y=t.loginMethods.includes("apple"),F=t.loginMethods.includes("farcaster"),C=t.loginMethods.includes("telegram"),d=t.loginMethods.includes("passkey"),t.loginMethods))"string"==typeof e&&e.startsWith("privy:")&&A.push(e);else r=e.email_auth,c=e.sms_auth,u=e.wallet_auth||e.solana_wallet_auth,g=e.google_oauth,h=e.twitter_oauth,f=e.discord_oauth,k=e.github_oauth,m=e.spotify_oauth,v=e.instagram_oauth,p=e.tiktok_oauth,_=e.line_oauth,b=e.twitch_oauth,w=e.linkedin_oauth,y=e.apple_oauth,F=e.farcaster_auth,C=e.telegram_auth,d=e.passkey_auth;e.passkey_auth&&(d=!0),"undefined"!=typeof window&&"function"!=typeof window.PublicKeyCredential&&(d=!1);let E=[r,c].filter(Boolean),x=[g,h,f,k,m,v,p,_,w,y,F,C].filter(Boolean),B=[u].filter(Boolean),D=t?.loginMethods?.includes("passkey")??!1,W=e.passkeys_for_signup_enabled??!1,S=[d&&(W||D)].filter(Boolean);if(E.length+x.length+B.length+S.length+A.length===0)throw Error("You must enable at least one login method");let L=void 0!==t?.appearance?.showWalletLoginFirst?t?.appearance?.showWalletLoginFirst:e.show_wallet_login_first;L&&0===B.length?(M("You should only enable `showWalletLoginFirst` when `wallet` logins are also enabled. `showWalletLoginFirst` has been set to false"),L=!1):L||x.length+E.length!==0||(M("You should only disable `showWalletLoginFirst` when `email`, `sms`, or social logins are also enabled. `showWalletLoginFirst` has been set to true"),L=!0);let H=t?.externalWallets?.walletConnect?.enabled??!0;t?.loginMethods&&t.loginMethodsAndOrder&&M("You should only configure one of `loginMethods` or `loginMethodsAndOrder`");let I=Y({input:t?.appearance?.walletList,overrides:t?.loginMethodsAndOrder});if((I.includes("wallet_connect_qr")||I.includes("wallet_connect"))&&I.includes("wallet_connect_qr_solana"))throw Error("wallet_connect_qr and wallet_connect_qr_solana cannot both be present in walletList due to WalletConnect session conflicts.");let O=(({input:e})=>{if(!e||!e.primary[0])return;let t=[e.primary[0]],a=[];for(let a of(e.primary.length>4&&console.warn("You should not specify greater than 4 login methods in `loginMethodsAndOrder.primary`"),e.primary.slice(1)))t.includes(a)?console.warn(`Duplicated login method: ${a}`):t.push(a);for(let n of e.overflow??[])t.includes(n)||a.includes(n)?console.warn(`Duplicated login method: ${n}`):a.push(n);return{primary:t,overflow:a}})({input:t?.loginMethodsAndOrder}),U=t?.intl?.defaultCountry??"US",{chains:P,defaultChain:q}=function({supportedChains:e,defaultChainFromConfig:t}){let a;if(e){if(0===e.length)throw Error("`supportedChains` must contain at least one chain");a=l(e)}else a=[...i];let n=e?a[0]:s,o=t??n;if(!a.find((e=>e.id===o.id)))throw Error("`defaultChain` must be included in `supportedChains`");return{chains:a,defaultChain:o}}({supportedChains:t?.supportedChains,defaultChainFromConfig:t?.defaultChain}),j=!!t?.defaultChain,R=t?.customAuth?.getCustomAccessToken&&!1!==t?.customAuth?.enabled,N=R?"all-users":e.embedded_wallet_config.ethereum.create_on_login,$=e.embedded_wallet_config.solana.create_on_login;e.solana_wallet_auth&&!t?.externalWallets?.solana?.connectors&&console.warn("App configuration has Solana wallet login enabled, but no Solana wallet connectors have been passed to Privy. Make sure to pass Solana connectors to the `config.externalWallets.solana.connectors` field of the `PrivyProvider`");let z=e.telegram_auth_config?{botId:e.telegram_auth_config.bot_id,botName:e.telegram_auth_config.bot_name,linkEnabled:e.telegram_auth_config.link_enabled,seamlessAuthEnabled:e.telegram_auth_config.seamless_auth_enabled}:void 0,G=e.funding_config?{methods:e.funding_config.methods,options:e.funding_config.options,defaultRecommendedAmount:e.funding_config.default_recommended_amount,defaultRecommendedCurrency:e.funding_config.default_recommended_currency,promptFundingOnWalletCreation:e.funding_config.prompt_funding_on_wallet_creation,crossChainBridgingEnabled:e.funding_config.cross_chain_bridging_enabled}:void 0,J=e.smart_wallet_config;return{id:e.id,appClientId:o,name:e.name,allowlistConfig:{errorTitle:e.allowlist_config.error_title,errorDetail:e.allowlist_config.error_detail,errorCtaText:e.allowlist_config.cta_text,errorCtaLink:e.allowlist_config.cta_link},legacyWalletUiConfig:e.legacy_wallet_ui_config,appearance:{logo:t?.appearance?.logo??e.logo_url??void 0,landingHeader:t?.appearance?.landingHeader??T.appearance.landingHeader,loginMessage:"string"==typeof t?.appearance?.loginMessage?t?.appearance?.loginMessage.slice(0,100):t?.appearance?.loginMessage,footerLogo:t?.appearance?.footerLogo,palette:Q({backgroundTheme:t?.appearance?.theme??T.appearance.theme,accentHex:t?.appearance?.accentColor??e.accent_color}),loginGroupPriority:L?"web3-first":"web2-first",hideDirectWeb2Inputs:!!t?.appearance?.hideDirectWeb2Inputs,walletList:I,walletChainType:t?.appearance?.walletChainType??(({evmWalletAuth:e,solanaWalletAuth:t})=>e&&t?"ethereum-and-solana":e?"ethereum-only":t?"solana-only":"ethereum-only")({evmWalletAuth:e.wallet_auth??!1,solanaWalletAuth:e.solana_wallet_auth??!1})},loginMethods:{wallet:u,email:r,sms:c,passkey:d,google:g,twitter:h,discord:f,github:k,spotify:m,instagram:v,tiktok:p,line:_,twitch:b,linkedin:w,apple:y,farcaster:F,telegram:C},customOAuthProviders:(e.custom_oauth_providers??[]).filter((e=>!1!==e.enabled)),crossAppProviders:A,disablePlusEmails:e.disable_plus_emails,loginMethodsAndOrder:O,legal:{termsAndConditionsUrl:t?.legal?.termsAndConditionsUrl??e.terms_and_conditions_url,privacyPolicyUrl:t?.legal?.privacyPolicyUrl??e.privacy_policy_url,requireUsersAcceptTerms:e.require_users_accept_terms??!1},walletConnectCloudProjectId:t?.walletConnectCloudProjectId??e.wallet_connect_cloud_project_id??T.walletConnectCloudProjectId,rpcConfig:{rpcUrls:{},rpcTimeouts:t?.externalWallets?.signatureRequestTimeouts??{}},chains:P,defaultChain:q,intl:{defaultCountry:U,textLocalization:t?.intl?.textLocalization},shouldEnforceDefaultChainOnConnect:j,captcha:{enabledProvider:e.enabled_captcha_provider??null,siteKey:e.captcha_site_key},externalWallets:{coinbaseWallet:{config:{appName:e.name,appLogoUrl:e.logo_url,preference:{options:"all",...t?.externalWallets?.coinbaseWallet?.config?.preference},...t?.externalWallets?.coinbaseWallet?.config}},baseAccount:{config:{appName:e.name,appLogoUrl:e.logo_url,...t?.externalWallets?.baseAccount?.config,preference:{...t?.externalWallets?.baseAccount?.config?.preference,telemetry:!1}}},walletConnect:{enabled:H},solana:{connectors:t?.externalWallets?.solana?.connectors},disableAllExternalWallets:t?.externalWallets?.disableAllExternalWallets??!1},embeddedWallets:{requireUserOwnedRecoveryOnCreate:!R&&(e.embedded_wallet_config.require_user_owned_recovery_on_create??!1),userOwnedRecoveryOptions:R?["user-passcode"]:e.embedded_wallet_config.user_owned_recovery_options,priceDisplay:t?.embeddedWallets?.priceDisplay??{primary:"fiat-currency",secondary:"native-token"},ethereum:{createOnLogin:t?.embeddedWallets?.ethereum?.createOnLogin??N},solana:{createOnLogin:t?.embeddedWallets?.solana?.createOnLogin??$},disableAutomaticMigration:t?.embeddedWallets?.disableAutomaticMigration??!1,mode:e.embedded_wallet_config.mode,showWalletUIs:t?.embeddedWallets?.showWalletUIs??e.enforce_wallet_uis??!0,extendedCalldataDecoding:t?.embeddedWallets?.extendedCalldataDecoding??!1,transactionScanning:{enabled:t?.embeddedWallets?.transactionScanning?.enabled??!1,domain:t?.embeddedWallets?.transactionScanning?.domain??n??"https://auth.privy.io"}},mfa:{methods:e.mfa_methods??[],noPromptOnMfaRequired:t?.mfa?.noPromptOnMfaRequired??!1},passkeys:{shouldUnlinkOnUnenrollMfa:t?.passkeys?.shouldUnlinkOnUnenrollMfa,shouldUnenrollMfaOnUnlink:t?.passkeys?.shouldUnenrollMfaOnUnlink,registration:t?.passkeys?.registration},customAuth:R?{enabled:!0,...t.customAuth}:void 0,loginConfig:{telegramAuthConfiguration:z,passkeysForSignupEnabled:e.passkeys_for_signup_enabled},headless:!!t?.headless,render:{standalone:t?._render?.standalone??T._render.standalone},fundingConfig:G,fundingMethodConfig:{...t?.fundingMethodConfig??T.fundingMethodConfig,moonpay:{...t?.fundingMethodConfig?.moonpay??T.fundingMethodConfig.moonpay,useSandbox:t?.fundingMethodConfig?.moonpay.useSandbox??T.fundingMethodConfig.moonpay.useSandbox}},whatsAppEnabled:!!e.whatsapp_enabled,customOAuthRedirectUrl:t?.customOAuthRedirectUrl,allowOAuthInEmbeddedBrowsers:t?.allowOAuthInEmbeddedBrowsers??!1,solanaRpcs:{"solana:mainnet":t?.solana?.rpcs?.["solana:mainnet"]??null,"solana:devnet":t?.solana?.rpcs?.["solana:devnet"]??null,"solana:testnet":t?.solana?.rpcs?.["solana:testnet"]??null},smartWallets:J?.enabled?{enabled:J.enabled,smartWalletVersion:J.smart_wallet_version,smartWalletType:J.smart_wallet_type,configuredNetworks:J.configured_networks.map((e=>({chainId:e.chain_id,bundlerUrl:e.bundler_url,paymasterUrl:e.paymaster_url,paymasterContext:V(e.paymaster_url,e.paymaster_context)})))}:{enabled:J?.enabled??!1}}}const ne={show_wallet_login_first:!0,allowlist_config:{error_title:null,error_detail:null,cta_text:null,cta_link:null},wallet_auth:!0,email_auth:!0,sms_auth:!1,google_oauth:!1,twitter_oauth:!1,discord_oauth:!1,github_oauth:!1,linkedin_oauth:!1,apple_oauth:!1,disable_plus_emails:!1,terms_and_conditions_url:null,privacy_policy_url:null,embedded_wallet_config:{create_on_login:"off",ethereum:{create_on_login:"off"},solana:{create_on_login:"off"},require_user_owned_recovery_on_create:!1,user_owned_recovery_options:["user-passcode"],mode:"user-controlled-server-wallets-only"},captcha_site_key:"",enforce_wallet_uis:!1,legacy_wallet_ui_config:!1,id:"",name:"",passkeys_for_signup_enabled:!1,whatsapp_enabled:!1};let oe=/*#__PURE__*/o({appConfig:ae(ne,void 0,!1),isServerConfigLoaded:!1});const re=({children:o,client:r,legacyClient:l,clientConfig:i,appClientId:s})=>{let[c,d]=t(null),u=a((()=>ae(c??ne,i,!!c,"undefined"!=typeof window?window.location.origin:void 0,s)),[c,i,s]);return n((()=>{if(!c)return;let e=function(e){if(!e)return{};let{appearance:t,supportedChains:a,defaultChain:n,externalWallets:o,...r}=e;return{...r,...a?{supportedChains:a.map((e=>e.id))}:void 0,...n?{defaultChain:n.id}:void 0,...o?{walletConnect:o.walletConnect?{enabled:o.walletConnect.enabled}:void 0,coinbaseWallet:o.coinbaseWallet,solana:{connectors:o.solana?.connectors?.get().map((e=>e.walletClientType))}}:void 0}}(i),t=function(e,t=0){let a=3735928559^t,n=1103547991^t;for(let t,o=0;o<e.length;o++)a=Math.imul(a^(t=e.charCodeAt(o)),2654435761),n=Math.imul(n^t,1597334677);return a=Math.imul(a^a>>>16,2246822507)^Math.imul(n^n>>>13,3266489909),4294967296*(2097151&(n=Math.imul(n^n>>>16,2246822507)^Math.imul(a^a>>>13,3266489909)))+(a>>>0)}(JSON.stringify(e)).toString(),a=`privy:sent:${c.id}:${t}`;localStorage.getItem(a)||(l.createAnalyticsEvent({eventName:"sdk_initialize",payload:e}),localStorage.setItem(a,"t"))}),[i,c]),n((()=>{c||(async()=>{try{await r.initialize();let e=r.app.getConfig();e.custom_api_url&&l.updateApiUrl(e.custom_api_url),d(e)}catch(e){console.warn("Error generating app config: ",e)}})()}),[]),/*#__PURE__*/e(oe.Provider,{value:{appConfig:u,isServerConfigLoaded:!!c},children:o})},le=()=>{let{appConfig:e}=r(oe);return e},ie=()=>{let{isServerConfigLoaded:e}=r(oe);return e};export{_ as C,d as D,B as H,k as I,P as M,D as O,w as P,m as R,E as S,p as V,O as W,x as a,S as b,ie as c,C as d,A as e,F as f,M as g,R as h,b as i,v as j,y as k,u as l,re as m,L as n,W as o,I as p,g as q,h as r,H as s,f as t,le as u,U as v,j as w,q as x};