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

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 (220) hide show
  1. package/dist/cjs/{AccountNotFoundScreen-BjG_YLcK.js → AccountNotFoundScreen-pvTKM6jW.js} +1 -1
  2. package/dist/cjs/{Address-5znFAhQw.js → Address-BtgyqKMF.js} +1 -1
  3. package/dist/cjs/{AffirmativeConsentScreen-BiwTOLaX.js → AffirmativeConsentScreen-BPpA9jVM.js} +1 -1
  4. package/dist/cjs/{AllowlistRejectionScreen-DOZr-QmF.js → AllowlistRejectionScreen-B4e_PoyI.js} +1 -1
  5. package/dist/cjs/{AuthenticateWithWalletScreen-BO4ml_zL.js → AuthenticateWithWalletScreen-D1JtJDqa.js} +1 -1
  6. package/dist/cjs/{AwaitingEvmToSolBridgingScreen-DCvvtPfy.js → AwaitingEvmToSolBridgingScreen-Cr1we24w.js} +1 -1
  7. package/dist/cjs/{AwaitingExternalEthereumTransferScreen-DXSQjzHX.js → AwaitingExternalEthereumTransferScreen-BOBG2s_w.js} +1 -1
  8. package/dist/cjs/{AwaitingPasswordlessCodeScreen-COP_Jshz.js → AwaitingPasswordlessCodeScreen-m2Q2kFnz.js} +1 -1
  9. package/dist/cjs/{AwaitingSolToEvmBridgingScreen-tGqHxf1K.js → AwaitingSolToEvmBridgingScreen-D4yOYsBZ.js} +1 -1
  10. package/dist/cjs/{BridgeNetworkSelectionView-DgFjMLY3.js → BridgeNetworkSelectionView-BQoGlOui.js} +1 -1
  11. package/dist/cjs/{Button-Bm_Ft0Dw.js → Button-qMhxXDF2.js} +1 -1
  12. package/dist/cjs/{CaptchaScreen-BvyOQUvH.js → CaptchaScreen-BB2pGTKI.js} +1 -1
  13. package/dist/cjs/{CoinbaseOnrampStatusScreen-9G_2yIQ-.js → CoinbaseOnrampStatusScreen-1OAPK24q.js} +1 -1
  14. package/dist/cjs/{ConnectEmailForm-D0Xd9Tnw.js → ConnectEmailForm-1TjSZcyQ.js} +1 -1
  15. package/dist/cjs/{ConnectLedgerScreen-COTQ1lqK.js → ConnectLedgerScreen-BzBnLkUb.js} +1 -1
  16. package/dist/cjs/{ConnectOnlyLandingScreen-DErN9BXL.js → ConnectOnlyLandingScreen-DEyg_Bwe.js} +1 -1
  17. package/dist/cjs/{ConnectOnlyStatusScreen-DKhKRV2M.js → ConnectOnlyStatusScreen-rCYgKGxJ.js} +1 -1
  18. package/dist/cjs/{ConnectOrCreateScreen-54nvcrr7.js → ConnectOrCreateScreen-DK-XBRb0.js} +1 -1
  19. package/dist/cjs/{ConnectPhoneForm-WT8rso3i.js → ConnectPhoneForm-CKxdc5tC.js} +1 -1
  20. package/dist/cjs/{ConnectWalletView-DsOX-lHz.js → ConnectWalletView-D8TEW3RH.js} +1 -1
  21. package/dist/cjs/{ConnectionStatusScreen-C1nqbW_A.js → ConnectionStatusScreen-KsrxglVc.js} +1 -1
  22. package/dist/cjs/CrossAppAuthScreen-B4jkE91a.js +1 -0
  23. package/dist/cjs/{CustomLandingScreenView-DQLDU2GD.js → CustomLandingScreenView-4ZTZs-jc.js} +1 -1
  24. package/dist/cjs/{DelegatedActionsConsentScreen-C_-0aHwH.js → DelegatedActionsConsentScreen-B6jgxNhU.js} +1 -1
  25. package/dist/cjs/{DelegatedActionsRevokeScreen-SZkD3b1o.js → DelegatedActionsRevokeScreen-7Md2U13x.js} +1 -1
  26. package/dist/cjs/{EmbeddedWalletConnectingScreen-VdpmfKNX.js → EmbeddedWalletConnectingScreen-BwBSOT3D.js} +1 -1
  27. package/dist/cjs/{EmbeddedWalletCreatedScreen-CfEf4KkH.js → EmbeddedWalletCreatedScreen-DE2lu2X1.js} +1 -1
  28. package/dist/cjs/{EmbeddedWalletKeyExportScreen-D0NE_HvJ.js → EmbeddedWalletKeyExportScreen-B1r4JB0q.js} +1 -1
  29. package/dist/cjs/{EmbeddedWalletOnAccountCreateScreen-CrJFTRI0.js → EmbeddedWalletOnAccountCreateScreen-Zod2_iWk.js} +1 -1
  30. package/dist/cjs/{EmbeddedWalletPasswordUpdateScreen-CjVK53bu.js → EmbeddedWalletPasswordUpdateScreen-S3oOUSQV.js} +1 -1
  31. package/dist/cjs/{EmbeddedWalletPasswordUpdateSplashScreen-CVldlThA.js → EmbeddedWalletPasswordUpdateSplashScreen-Dkpwl0iU.js} +1 -1
  32. package/dist/cjs/{EnrollTotp-BVeDTQ5J.js → EnrollTotp-DNT9b4SA.js} +1 -1
  33. package/dist/cjs/{ErrorScreen-BSjRGrRR.js → ErrorScreen-DzwPxgDV.js} +1 -1
  34. package/dist/cjs/{FarcasterConnectStatusScreen-B7Ab3ddi.js → FarcasterConnectStatusScreen-BT-Kdg1-.js} +1 -1
  35. package/dist/cjs/{FarcasterSignerStatusScreen-Bf--BYd8.js → FarcasterSignerStatusScreen-BvZ0VR9y.js} +1 -1
  36. package/dist/cjs/{FundSolWalletWithExternalSolanaWallet-DcRxhkRg.js → FundSolWalletWithExternalSolanaWallet-ca2tyOfk.js} +1 -1
  37. package/dist/cjs/{FundWalletMethodHeader-BKgYjMau.js → FundWalletMethodHeader-CD-1e4xu.js} +1 -1
  38. package/dist/cjs/{FundingEditAmountScreen-Bs3_avzr.js → FundingEditAmountScreen-C0u8coHj.js} +1 -1
  39. package/dist/cjs/{FundingMethodSelectionScreen-C_cbW1TC.js → FundingMethodSelectionScreen-C175OddP.js} +1 -1
  40. package/dist/cjs/{InAppBrowserLoginNotPossible-CySpQd3Y.js → InAppBrowserLoginNotPossible-DdADV9Uk.js} +1 -1
  41. package/dist/cjs/{InstallWalletScreen-rFpE2-7H.js → InstallWalletScreen-CAUVkOGF.js} +1 -1
  42. package/dist/cjs/{LandingScreen-BmZWpgb3.js → LandingScreen-4qcGVBLC.js} +1 -1
  43. package/dist/cjs/{LinkConflictScreen-DSIPReKB.js → LinkConflictScreen-Dd5XBXn4.js} +1 -1
  44. package/dist/cjs/{LinkEmailScreen-Dc8QC15P.js → LinkEmailScreen-l7Q0gpAd.js} +1 -1
  45. package/dist/cjs/{LinkPasskeyScreen-CUMuhJ2Q.js → LinkPasskeyScreen-_6DwQNTt.js} +1 -1
  46. package/dist/cjs/{LinkPhoneScreen-bozyY6A1.js → LinkPhoneScreen-i5AQ_Fj-.js} +1 -1
  47. package/dist/cjs/{LoginFailedScreen-C4gl1Ezs.js → LoginFailedScreen-C9eVVvxm.js} +1 -1
  48. package/dist/cjs/{ManualTransferScreen-BTj8KQgY.js → ManualTransferScreen-nU5zgK2s.js} +1 -1
  49. package/dist/cjs/{MfaAuthEnrollmentFlowScreen-cmFsgDp4.js → MfaAuthEnrollmentFlowScreen-DOCQ1Pb0.js} +1 -1
  50. package/dist/cjs/{MfaAuthVerifyFlowScreen-DEC3hYOD.js → MfaAuthVerifyFlowScreen-BKn_BpFW.js} +1 -1
  51. package/dist/cjs/{MfaEnrollmentFlowScreen-3lOG0uKv.js → MfaEnrollmentFlowScreen-DP0yjSxE.js} +1 -1
  52. package/dist/cjs/{MfaVerifyFlowScreen-aRH0rn8s.js → MfaVerifyFlowScreen-I5yHfOpE.js} +1 -1
  53. package/dist/cjs/{ModalHeader-DB7Tbjwz.js → ModalHeader-B6JgNz0C.js} +1 -1
  54. package/dist/cjs/{MoonpayStatusScreen-DANoQOd5.js → MoonpayStatusScreen-8-ogCtvb.js} +1 -1
  55. package/dist/cjs/{OAuthStatusScreen-DsGkPiMe.js → OAuthStatusScreen-DN9A-_2E.js} +1 -1
  56. package/dist/cjs/{PasskeySelectSignupOrLogin-D9Wfb44J.js → PasskeySelectSignupOrLogin-BxOQpO_r.js} +1 -1
  57. package/dist/cjs/{PasskeyStatusScreen-DAxg2zUJ.js → PasskeyStatusScreen-D-eTGH5_.js} +1 -1
  58. package/dist/cjs/{PasswordRecoveryScreen-CJfW4kpk.js → PasswordRecoveryScreen-Bq6l9LCs.js} +1 -1
  59. package/dist/cjs/{QrCode-DsQD8cG6.js → QrCode-BG3PA0JO.js} +1 -1
  60. package/dist/cjs/{RecoveryOAuthStatusScreen-_R1gExdU.js → RecoveryOAuthStatusScreen-Jha_m8qM.js} +1 -1
  61. package/dist/cjs/{RecoveryPasswordCreateScreen-Cb-gcVc8.js → RecoveryPasswordCreateScreen-DxV5XHvW.js} +1 -1
  62. package/dist/cjs/{RecoverySelectionScreen-CZOXXRGl.js → RecoverySelectionScreen-D_3aMm2t.js} +1 -1
  63. package/dist/cjs/{Screen-D9Tvi297.js → Screen-Dx7UDdIv.js} +1 -1
  64. package/dist/cjs/{ScreenLayout-BeH-Q6N2.js → ScreenLayout-CHOoAPoW.js} +1 -1
  65. package/dist/cjs/{SetAutomaticRecoveryScreen-BSDQb_dJ.js → SetAutomaticRecoveryScreen-CjgdJQIZ.js} +1 -1
  66. package/dist/cjs/{SetWalletPasswordForm-C3YB2v_1.js → SetWalletPasswordForm-Cd5XNvnW.js} +1 -1
  67. package/dist/cjs/{SignRequestScreen-DW3SnJi5.js → SignRequestScreen-wMd9qbqQ.js} +1 -1
  68. package/dist/cjs/{StandardSignAndSendTransactionScreen-Cima1YEn.js → StandardSignAndSendTransactionScreen-DpSJnnMg.js} +1 -1
  69. package/dist/cjs/{TelegramAuthScreen-pfwAx0uQ.js → TelegramAuthScreen-DUHStGrc.js} +1 -1
  70. package/dist/cjs/{TransactionDetails-KB5Wyu1l.js → TransactionDetails-B5jZi5GT.js} +1 -1
  71. package/dist/cjs/{TransactionErrorView-SaY08uTA.js → TransactionErrorView-DQzm62WW.js} +1 -1
  72. package/dist/cjs/{TransferFromWalletScreen-DVzjB3Gc.js → TransferFromWalletScreen-CHO1X-wB.js} +1 -1
  73. package/dist/cjs/{TransferOrBridgeLoadingScreen-B3zo8l43.js → TransferOrBridgeLoadingScreen-DzIpCUyz.js} +1 -1
  74. package/dist/cjs/{UpdateEmailScreen-CwWKZeJR.js → UpdateEmailScreen-Bz_Io_Kl.js} +1 -1
  75. package/dist/cjs/{UpdatePhoneScreen-B84E2DOe.js → UpdatePhoneScreen-CrXNng5l.js} +1 -1
  76. package/dist/cjs/{UserLimitReachedScreen-CQMqK5QW.js → UserLimitReachedScreen-DFDwkpya.js} +1 -1
  77. package/dist/cjs/{WalletInfoCard-DKVdH9iF.js → WalletInfoCard-6sOdeFZH.js} +1 -1
  78. package/dist/cjs/{WalletInterstitialScreen-0cBKaDQ1.js → WalletInterstitialScreen-5MeXSMng.js} +1 -1
  79. package/dist/cjs/{WalletLink-GY0_Tmtg.js → WalletLink-Bp0DvScB.js} +1 -1
  80. package/dist/cjs/{WalletOverflowButton-iCeXR9aA.js → WalletOverflowButton-B6LMjjAb.js} +1 -1
  81. package/dist/cjs/abstract-smart-wallets.js +1 -1
  82. package/dist/cjs/{context-DFq1obBO.js → context-DaKbPn6_.js} +1 -1
  83. package/dist/cjs/{ethers-DZGJ4Y5i.js → ethers-DAdWQnD2.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-ByeBDUpK.js} +1 -1
  86. package/dist/cjs/{index-BQai4Vqd.js → index-BNUOhplc.js} +1 -1
  87. package/dist/cjs/{index-NJrQkxJ7.js → index-Cff_Z5bL.js} +4 -4
  88. package/dist/cjs/{index-CKB4VKFb.js → index-Dluh_t49.js} +1 -1
  89. package/dist/cjs/index.js +1 -1
  90. package/dist/cjs/internal.js +1 -1
  91. package/dist/cjs/{prepareFundingModalData-Cnd6rhhJ.js → prepareFundingModalData-fmqCpBnO.js} +1 -1
  92. package/dist/cjs/{shared-CCAyvw5i.js → shared-B42V9AMm.js} +1 -1
  93. package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-DZvEYqlO.js → shouldProceedtoEmbeddedWalletCreationFlow-4V5MP5Af.js} +1 -1
  94. package/dist/cjs/{smart-wallets-CV78p-ta.js → smart-wallets-Dd_mK26S.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-D0aXeI-Q.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-CG8ZolJb.js} +1 -1
  100. package/dist/cjs/{use-export-wallet-DKaavHqM.js → use-export-wallet-BDeigOZI.js} +1 -1
  101. package/dist/cjs/{useActiveWallet-BOX8xCn9.js → useActiveWallet-DM59-fQI.js} +1 -1
  102. package/dist/cjs/{useGetTokenPrice-BHq-guWz.js → useGetTokenPrice-DX51yEiv.js} +1 -1
  103. package/dist/cjs/{useI18n-CY6Et_lH.js → useI18n-XplMSUpJ.js} +1 -1
  104. package/dist/cjs/{usePrivy-CcfSRv1R.js → usePrivy-Cd78mGql.js} +1 -1
  105. package/dist/cjs/{useSolanaRpcClient-TQdbjNyx.js → useSolanaRpcClient-CcNbI3HP.js} +1 -1
  106. package/dist/cjs/{useWallets-BLFNjTwC.js → useWallets-B4uWX5Dm.js} +1 -1
  107. package/dist/cjs/{useWallets-oPpMUdRR.js → useWallets-BBn476yx.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-D8-bxvxq.mjs} +1 -1
  111. package/dist/esm/{Address-BsvZLUXE.mjs → Address-C4HUUkkd.mjs} +1 -1
  112. package/dist/esm/{AffirmativeConsentScreen-CMcGT-7c.mjs → AffirmativeConsentScreen-DWdIJcdf.mjs} +1 -1
  113. package/dist/esm/{AllowlistRejectionScreen-CgdkdFzy.mjs → AllowlistRejectionScreen-DtnCZtGJ.mjs} +1 -1
  114. package/dist/esm/{AuthenticateWithWalletScreen-fhyjSxI8.mjs → AuthenticateWithWalletScreen-BZbG1QNH.mjs} +1 -1
  115. package/dist/esm/{AwaitingEvmToSolBridgingScreen-DbNP1yPY.mjs → AwaitingEvmToSolBridgingScreen-Buqtr-1v.mjs} +1 -1
  116. package/dist/esm/{AwaitingExternalEthereumTransferScreen-COnzLcDW.mjs → AwaitingExternalEthereumTransferScreen-DgS3k9KL.mjs} +1 -1
  117. package/dist/esm/{AwaitingPasswordlessCodeScreen-D9BoqETu.mjs → AwaitingPasswordlessCodeScreen-D3FeWRi7.mjs} +1 -1
  118. package/dist/esm/{AwaitingSolToEvmBridgingScreen-JY-d6qlj.mjs → AwaitingSolToEvmBridgingScreen-Ca8b_Cny.mjs} +1 -1
  119. package/dist/esm/{BridgeNetworkSelectionView-Dn5uqa3q.mjs → BridgeNetworkSelectionView-H_FX-0QY.mjs} +1 -1
  120. package/dist/esm/{Button-B8mqatRx.mjs → Button-4Bq0SnG7.mjs} +1 -1
  121. package/dist/esm/{CaptchaScreen-D3uGo3qJ.mjs → CaptchaScreen-CG83_QV2.mjs} +1 -1
  122. package/dist/esm/{CoinbaseOnrampStatusScreen-Ce2Z_vJB.mjs → CoinbaseOnrampStatusScreen-DQh1WV80.mjs} +1 -1
  123. package/dist/esm/{ConnectEmailForm--PZXgvw4.mjs → ConnectEmailForm-B1MnFVdm.mjs} +1 -1
  124. package/dist/esm/{ConnectLedgerScreen-CRDZ_shP.mjs → ConnectLedgerScreen-C6GUzfCD.mjs} +1 -1
  125. package/dist/esm/{ConnectOnlyLandingScreen-NSgaj_D4.mjs → ConnectOnlyLandingScreen-Br-WWtqQ.mjs} +1 -1
  126. package/dist/esm/{ConnectOnlyStatusScreen-DAGVWgFv.mjs → ConnectOnlyStatusScreen-xR5eSEZp.mjs} +1 -1
  127. package/dist/esm/{ConnectOrCreateScreen-CuVcGxrh.mjs → ConnectOrCreateScreen-Dg2_6BHq.mjs} +1 -1
  128. package/dist/esm/{ConnectPhoneForm-DoYmHBv3.mjs → ConnectPhoneForm-BPiamI5P.mjs} +1 -1
  129. package/dist/esm/{ConnectWalletView-eQbJO3Pg.mjs → ConnectWalletView-Dp8IEFY-.mjs} +1 -1
  130. package/dist/esm/{ConnectionStatusScreen-DVtobAVi.mjs → ConnectionStatusScreen-CYiLSnLN.mjs} +1 -1
  131. package/dist/esm/CrossAppAuthScreen-CmJaaD4x.mjs +1 -0
  132. package/dist/esm/{CustomLandingScreenView-DNbO8W7v.mjs → CustomLandingScreenView-USKBwUKl.mjs} +1 -1
  133. package/dist/esm/{DelegatedActionsConsentScreen-Cm3QtgBC.mjs → DelegatedActionsConsentScreen-kGhhWo9i.mjs} +1 -1
  134. package/dist/esm/{DelegatedActionsRevokeScreen-C2WBGR2c.mjs → DelegatedActionsRevokeScreen-F_Utkmcx.mjs} +1 -1
  135. package/dist/esm/{EmbeddedWalletConnectingScreen-CpKPkmKa.mjs → EmbeddedWalletConnectingScreen-DWig0DQc.mjs} +1 -1
  136. package/dist/esm/{EmbeddedWalletCreatedScreen-CMyRcNaG.mjs → EmbeddedWalletCreatedScreen-dBAcS_3f.mjs} +1 -1
  137. package/dist/esm/{EmbeddedWalletKeyExportScreen-nkSO3O1P.mjs → EmbeddedWalletKeyExportScreen-JmDvEOxp.mjs} +1 -1
  138. package/dist/esm/{EmbeddedWalletOnAccountCreateScreen-rwdmo9iN.mjs → EmbeddedWalletOnAccountCreateScreen-0hjsIRB4.mjs} +1 -1
  139. package/dist/esm/{EmbeddedWalletPasswordUpdateScreen-Tcp68U7U.mjs → EmbeddedWalletPasswordUpdateScreen-BdZ4iii2.mjs} +1 -1
  140. package/dist/esm/{EmbeddedWalletPasswordUpdateSplashScreen-5PH-3FQ3.mjs → EmbeddedWalletPasswordUpdateSplashScreen-BrRn1Igv.mjs} +1 -1
  141. package/dist/esm/{EnrollTotp-ULLNt8tl.mjs → EnrollTotp-Du8PYpCS.mjs} +1 -1
  142. package/dist/esm/{ErrorScreen-BdxNEgU1.mjs → ErrorScreen-BbpcnN47.mjs} +1 -1
  143. package/dist/esm/{FarcasterConnectStatusScreen-CruCPzPD.mjs → FarcasterConnectStatusScreen-bFnV9Q-F.mjs} +1 -1
  144. package/dist/esm/{FarcasterSignerStatusScreen-DBAyc7bd.mjs → FarcasterSignerStatusScreen-C_cOnZqS.mjs} +1 -1
  145. package/dist/esm/{FundSolWalletWithExternalSolanaWallet-Fxpj9pEN.mjs → FundSolWalletWithExternalSolanaWallet-NroaHumk.mjs} +1 -1
  146. package/dist/esm/{FundWalletMethodHeader-I8a6Y30s.mjs → FundWalletMethodHeader-Ct0-BSHQ.mjs} +1 -1
  147. package/dist/esm/{FundingEditAmountScreen-yKYKiyG9.mjs → FundingEditAmountScreen-CIfLNCY4.mjs} +1 -1
  148. package/dist/esm/{FundingMethodSelectionScreen-Dr-QG6BQ.mjs → FundingMethodSelectionScreen-6r-GtWAw.mjs} +1 -1
  149. package/dist/esm/{InAppBrowserLoginNotPossible-BYO_nlWy.mjs → InAppBrowserLoginNotPossible-DGquKyY5.mjs} +1 -1
  150. package/dist/esm/{InstallWalletScreen-Cma1GXX4.mjs → InstallWalletScreen-C3fhspKv.mjs} +1 -1
  151. package/dist/esm/{LandingScreen-DCR5C-gA.mjs → LandingScreen-B5fQK5aJ.mjs} +1 -1
  152. package/dist/esm/{LinkConflictScreen-C8kM_4ZL.mjs → LinkConflictScreen-DhOlAVqb.mjs} +1 -1
  153. package/dist/esm/{LinkEmailScreen-DsrprT7p.mjs → LinkEmailScreen-kfYqx5q5.mjs} +1 -1
  154. package/dist/esm/{LinkPasskeyScreen-yKY5ebtx.mjs → LinkPasskeyScreen-ByP_xkNH.mjs} +1 -1
  155. package/dist/esm/{LinkPhoneScreen-BklMbJs1.mjs → LinkPhoneScreen-CpfYyId1.mjs} +1 -1
  156. package/dist/esm/{LoginFailedScreen-CVGjcD9g.mjs → LoginFailedScreen-DXflJucn.mjs} +1 -1
  157. package/dist/esm/{ManualTransferScreen-C6MTkQcg.mjs → ManualTransferScreen-BbBEMQqz.mjs} +1 -1
  158. package/dist/esm/{MfaAuthEnrollmentFlowScreen-BrEYUoOi.mjs → MfaAuthEnrollmentFlowScreen-BEhy0bjM.mjs} +1 -1
  159. package/dist/esm/{MfaAuthVerifyFlowScreen-D_LbAt1N.mjs → MfaAuthVerifyFlowScreen-DyQj9WEt.mjs} +1 -1
  160. package/dist/esm/{MfaEnrollmentFlowScreen-BseHvqlH.mjs → MfaEnrollmentFlowScreen-DFr1AMSi.mjs} +1 -1
  161. package/dist/esm/{MfaVerifyFlowScreen-DB8BFfTJ.mjs → MfaVerifyFlowScreen-CWTrvbbI.mjs} +1 -1
  162. package/dist/esm/{ModalHeader-BLGC-7ev.mjs → ModalHeader-C6mIKC4v.mjs} +1 -1
  163. package/dist/esm/{MoonpayStatusScreen-D-Qnyxst.mjs → MoonpayStatusScreen-CzQ3_NpM.mjs} +1 -1
  164. package/dist/esm/{OAuthStatusScreen-pEjYhAdx.mjs → OAuthStatusScreen-CtFgPvUp.mjs} +1 -1
  165. package/dist/esm/{PasskeySelectSignupOrLogin-CmmjfwZM.mjs → PasskeySelectSignupOrLogin-p6UZH0Z0.mjs} +1 -1
  166. package/dist/esm/{PasskeyStatusScreen-AiT-3Rq0.mjs → PasskeyStatusScreen-DHE4YWW_.mjs} +1 -1
  167. package/dist/esm/{PasswordRecoveryScreen-BW7BBSLI.mjs → PasswordRecoveryScreen-CDOSxiaG.mjs} +1 -1
  168. package/dist/esm/{QrCode-DR5LogOp.mjs → QrCode-DHDf_g6F.mjs} +1 -1
  169. package/dist/esm/{RecoveryOAuthStatusScreen-BGxGq84t.mjs → RecoveryOAuthStatusScreen-CizAbiYe.mjs} +1 -1
  170. package/dist/esm/{RecoveryPasswordCreateScreen-Brv0MUPN.mjs → RecoveryPasswordCreateScreen-DJLO8oWR.mjs} +1 -1
  171. package/dist/esm/{RecoverySelectionScreen-CluXGpRG.mjs → RecoverySelectionScreen-Dzwn1_nk.mjs} +1 -1
  172. package/dist/esm/{Screen-BTyXgDrd.mjs → Screen-bEIBY18A.mjs} +1 -1
  173. package/dist/esm/{ScreenLayout-CddsD3Of.mjs → ScreenLayout-BxqiFpIo.mjs} +1 -1
  174. package/dist/esm/{SetAutomaticRecoveryScreen-nXcm7pIi.mjs → SetAutomaticRecoveryScreen-BcSSOXFV.mjs} +1 -1
  175. package/dist/esm/{SetWalletPasswordForm-DvgKP4Ez.mjs → SetWalletPasswordForm-CjWJB429.mjs} +1 -1
  176. package/dist/esm/{SignRequestScreen-Cp5zIIZ3.mjs → SignRequestScreen-Bqd0wHqK.mjs} +1 -1
  177. package/dist/esm/{StandardSignAndSendTransactionScreen-bbPFP1pO.mjs → StandardSignAndSendTransactionScreen-D-tBXzuh.mjs} +1 -1
  178. package/dist/esm/{TelegramAuthScreen-DorSPB8G.mjs → TelegramAuthScreen-CUPKf38d.mjs} +1 -1
  179. package/dist/esm/{TransactionDetails-Bb1NEpUH.mjs → TransactionDetails-b_wizlde.mjs} +1 -1
  180. package/dist/esm/{TransactionErrorView-CfyBAYzV.mjs → TransactionErrorView-DnMMuxIA.mjs} +1 -1
  181. package/dist/esm/{TransferFromWalletScreen-BeSvua3b.mjs → TransferFromWalletScreen-BFMaPOBF.mjs} +1 -1
  182. package/dist/esm/{TransferOrBridgeLoadingScreen-D5Y_FQAB.mjs → TransferOrBridgeLoadingScreen-9_7-Mb5-.mjs} +1 -1
  183. package/dist/esm/{UpdateEmailScreen-BolXWblK.mjs → UpdateEmailScreen-BahNM-kj.mjs} +1 -1
  184. package/dist/esm/{UpdatePhoneScreen-G2aRPp1w.mjs → UpdatePhoneScreen-DeS3W5eF.mjs} +1 -1
  185. package/dist/esm/{UserLimitReachedScreen-BUXcfdpd.mjs → UserLimitReachedScreen-R047J3fL.mjs} +1 -1
  186. package/dist/esm/{WalletInfoCard-YE5P6CSV.mjs → WalletInfoCard-6gQNu7Zz.mjs} +1 -1
  187. package/dist/esm/{WalletInterstitialScreen-6lMKxpAk.mjs → WalletInterstitialScreen-OdyTrsT9.mjs} +1 -1
  188. package/dist/esm/{WalletLink-C9CSqqVy.mjs → WalletLink-CwHMA2xr.mjs} +1 -1
  189. package/dist/esm/{WalletOverflowButton-DV9Pe-aq.mjs → WalletOverflowButton-CpHsxy0L.mjs} +1 -1
  190. package/dist/esm/abstract-smart-wallets.mjs +1 -1
  191. package/dist/esm/context-CA-h9Vvv.mjs +1 -0
  192. package/dist/esm/{ethers-C3Y94dat.mjs → ethers-CuplD6TN.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-BS6IT5u_.mjs} +1 -1
  195. package/dist/esm/{index-C9_VQk69.mjs → index-Cg9hpx5Z.mjs} +1 -1
  196. package/dist/esm/{index-CCyaupaz.mjs → index-Cq5UTy5I.mjs} +4 -4
  197. package/dist/esm/{index-DeGXWdV3.mjs → index-Yyr_6Jcd.mjs} +1 -1
  198. package/dist/esm/index.mjs +1 -1
  199. package/dist/esm/internal.mjs +1 -1
  200. package/dist/esm/{prepareFundingModalData-CIgFwA7s.mjs → prepareFundingModalData-Dh2gc0UP.mjs} +1 -1
  201. package/dist/esm/{shared-rucIJmk0.mjs → shared-CnrDwY6g.mjs} +1 -1
  202. package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-Djgu4xiS.mjs → shouldProceedtoEmbeddedWalletCreationFlow-7c-Jh9LP.mjs} +1 -1
  203. package/dist/esm/{smart-wallets-B-nGTJog.mjs → smart-wallets-DsQZ_UYt.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-CepgBtTe.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-DMlUsZUX.mjs} +1 -1
  209. package/dist/esm/{use-export-wallet-ntS-M0Jk.mjs → use-export-wallet-Bm17XHzg.mjs} +1 -1
  210. package/dist/esm/{useActiveWallet-Bsy5GTCV.mjs → useActiveWallet-DbOGftJH.mjs} +1 -1
  211. package/dist/esm/{useGetTokenPrice-0Bn0Y88A.mjs → useGetTokenPrice-CnclQxlG.mjs} +1 -1
  212. package/dist/esm/{useI18n-BtdAZuQ8.mjs → useI18n-Dtdu9d5P.mjs} +1 -1
  213. package/dist/esm/{usePrivy-BaiIHGte.mjs → usePrivy-1ClOITL9.mjs} +1 -1
  214. package/dist/esm/{useSolanaRpcClient-DW9Xaoo_.mjs → useSolanaRpcClient-B3TM7f1n.mjs} +1 -1
  215. package/dist/esm/{useWallets-D0lpBS44.mjs → useWallets-8CFi1gij.mjs} +1 -1
  216. package/dist/esm/{useWallets-NhjmJtNE.mjs → useWallets-Dblj1VRU.mjs} +1 -1
  217. package/package.json +4 -4
  218. package/dist/cjs/CrossAppAuthScreen-weeiAu3O.js +0 -1
  219. package/dist/esm/CrossAppAuthScreen-B0633bnY.mjs +0 -1
  220. 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-BS6IT5u_.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-8CFi1gij.mjs";import{u as A,W as g}from"./context-CA-h9Vvv.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-CA-h9Vvv.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-BS6IT5u_.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-BS6IT5u_.mjs";import{u as v}from"./usePrivy-1ClOITL9.mjs";import{g as m,u as T}from"./useWallets-8CFi1gij.mjs";import b from"eventemitter3";import{base58 as O}from"@scure/base";import{u as S}from"./context-CA-h9Vvv.mjs";import{u as _}from"./use-sign-with-user-signer-eEm9Olt_.mjs";import{g as E,u as I}from"./prepareFundingModalData-Dh2gc0UP.mjs";import{b as j,a as W,u as M}from"./useSolanaRpcClient-B3TM7f1n.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-20251223003741",
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-20251223003741",
173
+ "@privy-io/js-sdk-core": "0.58.5-beta-20251223003741",
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"),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};