@privy-io/react-auth 3.13.0 → 3.13.1-beta-20260202140759
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.
- package/dist/cjs/AccountNotFoundScreen-DopQJydk.js +1 -0
- package/dist/cjs/{Address-aEAhUJFV.js → Address-C0i_Lgxz.js} +1 -1
- package/dist/cjs/AffirmativeConsentScreen-DrfsiAOF.js +6 -0
- package/dist/cjs/AllowlistRejectionScreen-B4F7MdmW.js +1 -0
- package/dist/cjs/AuthenticateWithWalletScreen-BImVaE8G.js +1 -0
- package/dist/cjs/AwaitingEvmToSolBridgingScreen-Bld2VoQo.js +2 -0
- package/dist/cjs/AwaitingExternalEthereumTransferScreen-CK2PMVQH.js +2 -0
- package/dist/cjs/AwaitingPasswordlessCodeScreen-mc4TfLdK.js +103 -0
- package/dist/cjs/AwaitingSolToEvmBridgingScreen-BHTmPSzt.js +2 -0
- package/dist/cjs/{BridgeNetworkSelectionView-CE2o-1QO.js → BridgeNetworkSelectionView-BTW55LDI.js} +1 -1
- package/dist/cjs/CaptchaScreen-C4OKrOJj.js +1 -0
- package/dist/cjs/CoinbaseOnrampStatusScreen-DuBusEzK.js +16 -0
- package/dist/cjs/{ConnectEmailForm-D-TxBaE5.js → ConnectEmailForm-BAtI_Su2.js} +1 -1
- package/dist/cjs/ConnectLedgerScreen-Cxy5kYQy.js +9 -0
- package/dist/cjs/ConnectOnlyLandingScreen-UHxAPPxv.js +1 -0
- package/dist/cjs/ConnectOnlyStatusScreen-D7hEyOkF.js +1 -0
- package/dist/cjs/ConnectOrCreateScreen-DCXEsisd.js +1 -0
- package/dist/cjs/{ConnectPhoneForm-DK6jm19G.js → ConnectPhoneForm-IaeAlSaT.js} +1 -1
- package/dist/cjs/{ConnectWalletView-1cBOsYe3.js → ConnectWalletView-I7l3i_Tn.js} +1 -1
- package/dist/cjs/ConnectionStatusScreen-B5eG6O0t.js +7 -0
- package/dist/cjs/CrossAppAuthScreen-BHfk_dqk.js +1 -0
- package/dist/cjs/{CustomLandingScreenView-C879x5ia.js → CustomLandingScreenView-ZdAEwrj3.js} +1 -1
- package/dist/cjs/DelegatedActionsConsentScreen-LeQ6Lxpc.js +1 -0
- package/dist/cjs/DelegatedActionsRevokeScreen-C8v4E_cj.js +1 -0
- package/dist/cjs/EmbeddedWalletConnectingScreen-B1rrh4GO.js +1 -0
- package/dist/cjs/EmbeddedWalletCreatedScreen-Cem5Ix9r.js +1 -0
- package/dist/cjs/{EmbeddedWalletKeyExportScreen-BpjA7HGz.js → EmbeddedWalletKeyExportScreen-C9Et_UFA.js} +3 -3
- package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-tJoXkQEs.js +1 -0
- package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-C2wVljgA.js +1 -0
- package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-CG1oHF6a.js +1 -0
- package/dist/cjs/{EnrollTotp-D1jQjLxQ.js → EnrollTotp-BveYXBKW.js} +1 -1
- package/dist/cjs/ErrorScreen-Ckke6sz3.js +4 -0
- package/dist/cjs/{FarcasterConnectStatusScreen-JBJeeu9F.js → FarcasterConnectStatusScreen-D5ziktAq.js} +3 -3
- package/dist/cjs/{FarcasterSignerStatusScreen-8DplKa45.js → FarcasterSignerStatusScreen-8edRjO2Y.js} +6 -6
- package/dist/cjs/FundSolWalletWithExternalSolanaWallet-DJEyYpCy.js +2 -0
- package/dist/cjs/{FundWalletMethodHeader-CW2KubxL.js → FundWalletMethodHeader-Dyg72x32.js} +1 -1
- package/dist/cjs/FundingEditAmountScreen-2vgGeOzZ.js +1 -0
- package/dist/cjs/FundingMethodSelectionScreen-D6K2RTnb.js +1 -0
- package/dist/cjs/InAppBrowserLoginNotPossible-DlH26fht.js +1 -0
- package/dist/cjs/InstallWalletScreen-D-aty_-m.js +1 -0
- package/dist/cjs/LandingScreen-C3ycf-sm.js +1 -0
- package/dist/cjs/{LinkConflictScreen-DKkFMAqc.js → LinkConflictScreen-tpqlaHKl.js} +2 -2
- package/dist/cjs/LinkEmailScreen-CVJ8MM6X.js +1 -0
- package/dist/cjs/{LinkPasskeyScreen-D-5RrGXJ.js → LinkPasskeyScreen-BVI23any.js} +1 -1
- package/dist/cjs/LinkPhoneScreen-COZH83MT.js +1 -0
- package/dist/cjs/LoginFailedScreen-B_f3bRu3.js +1 -0
- package/dist/cjs/ManualTransferScreen-DCjvNWqd.js +1 -0
- package/dist/cjs/MfaAuthEnrollmentFlowScreen-DN4ce0UG.js +1 -0
- package/dist/cjs/MfaAuthVerifyFlowScreen-c-lQ_fEz.js +1 -0
- package/dist/cjs/MfaEnrollmentFlowScreen-B6-EB6WE.js +1 -0
- package/dist/cjs/MfaVerifyFlowScreen-zbdZQoq2.js +1 -0
- package/dist/cjs/{ModalHeader-DmWqn83H.js → ModalHeader-Cy6QK4_e.js} +1 -1
- package/dist/cjs/MoonpayStatusScreen-BEtRocSA.js +16 -0
- package/dist/cjs/OAuthStatusScreen-FvgZmHXu.js +1 -0
- package/dist/cjs/PasskeySelectSignupOrLogin-DqSfSR6i.js +1 -0
- package/dist/cjs/PasskeyStatusScreen-DvA6G4hk.js +3 -0
- package/dist/cjs/PasswordRecoveryScreen-Befeqrad.js +20 -0
- package/dist/cjs/{QrCode-BG2PX4HL.js → QrCode-DuBadwvo.js} +1 -1
- package/dist/cjs/RecoveryOAuthStatusScreen-C6mVwtQH.js +1 -0
- package/dist/cjs/RecoveryPasswordCreateScreen-DzNiXRjH.js +1 -0
- package/dist/cjs/{RecoverySelectionScreen-qP99_3WR.js → RecoverySelectionScreen-CjnlE9el.js} +2 -2
- package/dist/cjs/{Screen-BnWlRqz4.js → Screen-edUQX_SB.js} +1 -1
- package/dist/cjs/{ScreenLayout-8Ho-PwHJ.js → ScreenLayout-DGTvokS8.js} +1 -1
- package/dist/cjs/{SetAutomaticRecoveryScreen-Dw8eXtFM.js → SetAutomaticRecoveryScreen-CrRjNWxq.js} +2 -2
- package/dist/cjs/{SetWalletPasswordForm-BtxQiQCF.js → SetWalletPasswordForm-DJeemCn9.js} +1 -1
- package/dist/cjs/SignRequestScreen-DHoZ6sz5.js +26 -0
- package/dist/cjs/{StandardSignAndSendTransactionScreen-BRCG_Otm.js → StandardSignAndSendTransactionScreen-CBLYn4pf.js} +1 -1
- package/dist/cjs/TelegramAuthScreen-D7mlDw-E.js +1 -0
- package/dist/cjs/{TransactionDetails-CB_SFjYb.js → TransactionDetails-CXgPk3J1.js} +1 -1
- package/dist/cjs/{TransactionErrorView-C6AwpMpC.js → TransactionErrorView-Deibl2Uf.js} +1 -1
- package/dist/cjs/{TransferFromWalletScreen-DDbM2aZ-.js → TransferFromWalletScreen-DSItFmOL.js} +2 -2
- package/dist/cjs/{TransferOrBridgeLoadingScreen-BdFZ-kHB.js → TransferOrBridgeLoadingScreen-CZY4tSPW.js} +1 -1
- package/dist/cjs/UpdateEmailScreen-Bcbi12kY.js +1 -0
- package/dist/cjs/UpdatePhoneScreen-lJE1r_mk.js +1 -0
- package/dist/cjs/UserLimitReachedScreen-CKsbmhwX.js +1 -0
- package/dist/cjs/{WalletInfoCard-BP4plvST.js → WalletInfoCard-BPFjUGT5.js} +1 -1
- package/dist/cjs/WalletInterstitialScreen-C-wi9rZH.js +1 -0
- package/dist/cjs/{WalletLink-Be-wt7BS.js → WalletLink-DQka9Syl.js} +1 -1
- package/dist/cjs/{WalletOverflowButton-DNXb1rWu.js → WalletOverflowButton-CT3ToLGt.js} +1 -1
- package/dist/cjs/abstract-smart-wallets.js +1 -1
- package/dist/cjs/{context-B5x3dsBc.js → context-BgcJR59W.js} +1 -1
- package/dist/cjs/{ethers-CcPcMmj-.js → ethers-CUHJ8mll.js} +1 -1
- package/dist/cjs/extended-chains.js +1 -1
- package/dist/cjs/get-entropy-details-for-user-Bh25VOwU.js +1 -0
- package/dist/cjs/{get-is-unified-wallet-huyBqM6I.js → get-is-unified-wallet-pvisKZtt.js} +1 -1
- package/dist/cjs/{index-C9h5dbsX.js → index-BgLmUrL3.js} +1 -1
- package/dist/cjs/index-C40Nmmja.js +174 -0
- package/dist/cjs/{index-Ddh08VH6.js → index-Y7m6JUJT.js} +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/internal.js +1 -1
- package/dist/cjs/{shared-B4PQQyG9.js → shared-BrkTXSb9.js} +1 -1
- package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-Cwmd9p6v.js → shouldProceedtoEmbeddedWalletCreationFlow-ClGopOFu.js} +1 -1
- package/dist/cjs/smart-wallets-DhMgsCrP.js +1 -0
- package/dist/cjs/smart-wallets.js +1 -1
- package/dist/cjs/solana.js +1 -1
- package/dist/cjs/{styles-BYA0sdA8.js → styles-Dg1gwPet.js} +1 -1
- package/dist/cjs/{to-ui-error-kjcnhSmN.js → to-ui-error-Cj4nmAIy.js} +1 -1
- package/dist/cjs/ui.js +1 -1
- package/dist/cjs/use-export-wallet-BHqL5lkN.js +1 -0
- package/dist/cjs/use-export-wallet-CHdfox2p.js +1 -0
- package/dist/cjs/useActiveWallet-DQaSSN2M.js +185 -0
- package/dist/cjs/{useGetTokenPrice-XbJ2xnl_.js → useGetTokenPrice-Q-LRDLGC.js} +1 -1
- package/dist/cjs/{useI18n-CJec5B3S.js → useI18n-C-2tQwPP.js} +1 -1
- package/dist/cjs/usePrivy-DN8Ajdzm.js +1 -0
- package/dist/cjs/{useSolanaRpcClient-CN7MyWq4.js → useSolanaRpcClient-DAhvriV9.js} +1 -1
- package/dist/cjs/useWallets-DOb8xzgz.js +1 -0
- package/dist/dts/{events-context-CV9PiG6M.d.ts → events-context-uQF86xPo.d.mts} +1 -1
- package/dist/dts/{events-context-CV9PiG6M.d.mts → events-context-uQF86xPo.d.ts} +1 -1
- package/dist/dts/extended-chains.d.mts +1 -1
- package/dist/dts/extended-chains.d.ts +1 -1
- package/dist/dts/farcaster.d.mts +1 -1
- package/dist/dts/farcaster.d.ts +1 -1
- package/dist/dts/index.d.mts +4 -38
- package/dist/dts/index.d.ts +4 -38
- package/dist/dts/internal.d.mts +1 -1
- package/dist/dts/internal.d.ts +1 -1
- package/dist/dts/smart-wallets.d.mts +1 -1
- package/dist/dts/smart-wallets.d.ts +1 -1
- package/dist/dts/solana.d.mts +3 -3
- package/dist/dts/solana.d.ts +3 -3
- package/dist/dts/{types-xIUh0rN4.d.mts → types-DLEfLPEB.d.mts} +1 -1
- package/dist/dts/{types-xIUh0rN4.d.ts → types-DLEfLPEB.d.ts} +1 -1
- package/dist/dts/ui.d.mts +1 -1
- package/dist/dts/ui.d.ts +1 -1
- package/dist/esm/AccountNotFoundScreen-CVBAv1Mv.mjs +1 -0
- package/dist/esm/{Address-BuCMjci7.mjs → Address-BupZf8Rc.mjs} +1 -1
- package/dist/esm/AffirmativeConsentScreen-CFSY5nE4.mjs +6 -0
- package/dist/esm/AllowlistRejectionScreen-0Z0EYviP.mjs +1 -0
- package/dist/esm/AuthenticateWithWalletScreen-BdJYQ2JJ.mjs +1 -0
- package/dist/esm/AwaitingEvmToSolBridgingScreen-D9Ef3Dnt.mjs +2 -0
- package/dist/esm/AwaitingExternalEthereumTransferScreen-mj07gSaD.mjs +2 -0
- package/dist/esm/AwaitingPasswordlessCodeScreen-DE3g9VwQ.mjs +103 -0
- package/dist/esm/AwaitingSolToEvmBridgingScreen-CUKh2oVG.mjs +2 -0
- package/dist/esm/{BridgeNetworkSelectionView-0VRZoDMv.mjs → BridgeNetworkSelectionView-D8aRUIg2.mjs} +1 -1
- package/dist/esm/CaptchaScreen-Co8CjcuQ.mjs +1 -0
- package/dist/esm/CoinbaseOnrampStatusScreen-Da7VjKBi.mjs +16 -0
- package/dist/esm/ConnectEmailForm-D5UhENmm.mjs +3 -0
- package/dist/esm/ConnectLedgerScreen-JDfzYq9M.mjs +9 -0
- package/dist/esm/ConnectOnlyLandingScreen-C0j3-tOW.mjs +1 -0
- package/dist/esm/ConnectOnlyStatusScreen-D-gYePr8.mjs +1 -0
- package/dist/esm/ConnectOrCreateScreen-CqLbK7av.mjs +1 -0
- package/dist/esm/{ConnectPhoneForm-DMcfvHG9.mjs → ConnectPhoneForm-CQJPasTi.mjs} +1 -1
- package/dist/esm/{ConnectWalletView-rtAY2uds.mjs → ConnectWalletView-mIrd9fmT.mjs} +3 -3
- package/dist/esm/ConnectionStatusScreen-D8G_flGR.mjs +7 -0
- package/dist/esm/CrossAppAuthScreen-Btm1d-iO.mjs +1 -0
- package/dist/esm/{CustomLandingScreenView-Dt4TEi0A.mjs → CustomLandingScreenView-C2TNxHAb.mjs} +1 -1
- package/dist/esm/DelegatedActionsConsentScreen-DXwSOiLw.mjs +1 -0
- package/dist/esm/DelegatedActionsRevokeScreen-B7uTGw9J.mjs +1 -0
- package/dist/esm/EmbeddedWalletConnectingScreen-BioR068C.mjs +1 -0
- package/dist/esm/EmbeddedWalletCreatedScreen-Cq1thot_.mjs +1 -0
- package/dist/esm/{EmbeddedWalletKeyExportScreen-sjrAvCm3.mjs → EmbeddedWalletKeyExportScreen-CtEY8G7E.mjs} +2 -2
- package/dist/esm/EmbeddedWalletOnAccountCreateScreen-ShyQ92Jq.mjs +1 -0
- package/dist/esm/EmbeddedWalletPasswordUpdateScreen-qoWRlbPz.mjs +1 -0
- package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-BeN-dpqi.mjs +1 -0
- package/dist/esm/{EnrollTotp-DlnMoeNk.mjs → EnrollTotp-3j3Uj3wv.mjs} +1 -1
- package/dist/esm/ErrorScreen-BpG9IyOu.mjs +4 -0
- package/dist/esm/{FarcasterConnectStatusScreen-BLgCDUxR.mjs → FarcasterConnectStatusScreen-DadPWt5w.mjs} +4 -4
- package/dist/esm/FarcasterSignerStatusScreen-DyJNx88F.mjs +28 -0
- package/dist/esm/FundSolWalletWithExternalSolanaWallet-Dhp2jhkc.mjs +1 -0
- package/dist/esm/{FundWalletMethodHeader-Dujd1j7J.mjs → FundWalletMethodHeader-Cyn7MCWO.mjs} +1 -1
- package/dist/esm/FundingEditAmountScreen-D0KCT7EC.mjs +1 -0
- package/dist/esm/FundingMethodSelectionScreen-CrHLwmNP.mjs +1 -0
- package/dist/esm/InAppBrowserLoginNotPossible-CcbdJWpW.mjs +1 -0
- package/dist/esm/InstallWalletScreen-0udkV09c.mjs +1 -0
- package/dist/esm/LandingScreen-C7xCusAZ.mjs +1 -0
- package/dist/esm/{LinkConflictScreen-DOsLOvpT.mjs → LinkConflictScreen-B31exGN7.mjs} +4 -4
- package/dist/esm/LinkEmailScreen-DZf6HS1n.mjs +1 -0
- package/dist/esm/{LinkPasskeyScreen-jzRj6Yq0.mjs → LinkPasskeyScreen-Bl7uzJ8Q.mjs} +7 -7
- package/dist/esm/LinkPhoneScreen-DUIIaqp0.mjs +1 -0
- package/dist/esm/LoginFailedScreen-DsSbXSXA.mjs +1 -0
- package/dist/esm/ManualTransferScreen-B-Kkarxd.mjs +1 -0
- package/dist/esm/MfaAuthEnrollmentFlowScreen-D82inQR9.mjs +1 -0
- package/dist/esm/MfaAuthVerifyFlowScreen-Cw5rWozq.mjs +1 -0
- package/dist/esm/MfaEnrollmentFlowScreen-B3F6HEAl.mjs +1 -0
- package/dist/esm/MfaVerifyFlowScreen-DYuvXWXh.mjs +1 -0
- package/dist/esm/{ModalHeader-CSfzkWxZ.mjs → ModalHeader-Byy3j4Lh.mjs} +1 -1
- package/dist/esm/MoonpayStatusScreen-CBtEX6lf.mjs +16 -0
- package/dist/esm/OAuthStatusScreen-YCUnttYA.mjs +1 -0
- package/dist/esm/PasskeySelectSignupOrLogin-DuXG4uXH.mjs +1 -0
- package/dist/esm/PasskeyStatusScreen-DPvVVoC2.mjs +3 -0
- package/dist/esm/PasswordRecoveryScreen-IS0ckI65.mjs +20 -0
- package/dist/esm/{QrCode-BkoTqsec.mjs → QrCode-lPYtXNC_.mjs} +1 -1
- package/dist/esm/RecoveryOAuthStatusScreen-CJO3irqx.mjs +1 -0
- package/dist/esm/RecoveryPasswordCreateScreen-DZb7gDAd.mjs +1 -0
- package/dist/esm/{RecoverySelectionScreen-0YIfrkiv.mjs → RecoverySelectionScreen-CThvVB-J.mjs} +2 -2
- package/dist/esm/{Screen-5StC6JLQ.mjs → Screen-Ct4Lyoaf.mjs} +1 -1
- package/dist/esm/{ScreenLayout-C2Le_YIv.mjs → ScreenLayout-DOt2sB2J.mjs} +1 -1
- package/dist/esm/{SetAutomaticRecoveryScreen-BAAv--Sk.mjs → SetAutomaticRecoveryScreen-D1IKpF6a.mjs} +2 -2
- package/dist/esm/{SetWalletPasswordForm-lzuYpBex.mjs → SetWalletPasswordForm-CiQmt-HX.mjs} +1 -1
- package/dist/esm/{SignRequestScreen-YrG-iwWX.mjs → SignRequestScreen-DKJky_Un.mjs} +2 -2
- package/dist/esm/{StandardSignAndSendTransactionScreen-Csw3bRQ4.mjs → StandardSignAndSendTransactionScreen-CPKZQMPj.mjs} +2 -2
- package/dist/esm/TelegramAuthScreen-bIm5jFOU.mjs +1 -0
- package/dist/esm/{TransactionDetails-BMVu0qlz.mjs → TransactionDetails-DLLlKhs7.mjs} +1 -1
- package/dist/esm/{TransactionErrorView-C6AZ1RC0.mjs → TransactionErrorView-CSRxuGt5.mjs} +1 -1
- package/dist/esm/{TransferFromWalletScreen-BOOq-OqM.mjs → TransferFromWalletScreen-ClNSdttH.mjs} +4 -4
- package/dist/esm/{TransferOrBridgeLoadingScreen-gM_oel5i.mjs → TransferOrBridgeLoadingScreen-rWz1yK-a.mjs} +1 -1
- package/dist/esm/UpdateEmailScreen-mog8U9Vt.mjs +1 -0
- package/dist/esm/UpdatePhoneScreen-CLLjzpN7.mjs +1 -0
- package/dist/esm/UserLimitReachedScreen-Baf8QzFD.mjs +1 -0
- package/dist/esm/{WalletInfoCard-TfOxho0A.mjs → WalletInfoCard-BWAC4Crm.mjs} +1 -1
- package/dist/esm/WalletInterstitialScreen-chmHYyvD.mjs +1 -0
- package/dist/esm/{WalletLink-CZTmkBKu.mjs → WalletLink-cm_UqBHl.mjs} +1 -1
- package/dist/esm/{WalletOverflowButton-C0Ysaik4.mjs → WalletOverflowButton-CoHTrzr-.mjs} +1 -1
- package/dist/esm/abstract-smart-wallets.mjs +1 -1
- package/dist/esm/context-BEE1GR3p.mjs +1 -0
- package/dist/esm/{ethers-DrSqg5wi.mjs → ethers-CzVYf1X2.mjs} +1 -1
- package/dist/esm/extended-chains.mjs +1 -1
- package/dist/esm/farcaster.mjs +1 -1
- package/dist/esm/{frame-uzTmvtww.mjs → frame-CjhCpycO.mjs} +1 -1
- package/dist/esm/get-entropy-details-for-user-DXl-F6zT.mjs +1 -0
- package/dist/esm/{get-is-unified-wallet-GcvxyU9r.mjs → get-is-unified-wallet-szLxUazm.mjs} +1 -1
- package/dist/esm/{getErc20Balance-D0MGUaOw.mjs → getErc20Balance-Bs6MYMo9.mjs} +1 -1
- package/dist/esm/{getErc20TokenInfo-CZJTqd4c.mjs → getErc20TokenInfo-Cymy79Tp.mjs} +1 -1
- package/dist/esm/{getPublicClient-B4uPLKn-.mjs → getPublicClient-BltMpU4i.mjs} +1 -1
- package/dist/esm/{index-BXKPenEy.mjs → index-21Khs68W.mjs} +1 -1
- package/dist/esm/index-BXdEd5-h.mjs +174 -0
- package/dist/esm/{index-tsoVOGEt.mjs → index-CXuTLe54.mjs} +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/{internal-context-Z-fyxadS.mjs → internal-context-C4ZqP8IF.mjs} +1 -1
- package/dist/esm/internal.mjs +1 -1
- package/dist/esm/{paths-3HW55qZg.mjs → paths-BzM95ysC.mjs} +1 -1
- package/dist/esm/reservoir-CB32KXxK.mjs +1 -0
- package/dist/esm/{shared-CQ6jg1BO.mjs → shared-CcT7geMr.mjs} +1 -1
- package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-BfZwb-3N.mjs → shouldProceedtoEmbeddedWalletCreationFlow-eeAK_6M1.mjs} +1 -1
- package/dist/esm/smart-wallets-CHETrkmZ.mjs +1 -0
- package/dist/esm/smart-wallets.mjs +1 -1
- package/dist/esm/solana.mjs +1 -1
- package/dist/esm/{styles-C3H3yhVT.mjs → styles-CVcwbZBK.mjs} +1 -1
- package/dist/esm/{to-ui-error-fYkDcQhz.mjs → to-ui-error-CymSkIi1.mjs} +2 -2
- package/dist/esm/ui.mjs +1 -1
- package/dist/esm/use-export-wallet-BghmI1bY.mjs +1 -0
- package/dist/esm/use-export-wallet-DmJRcrg3.mjs +1 -0
- package/dist/esm/{use-sign-with-user-signer-Do5Oi_rb.mjs → use-sign-with-user-signer-BYctG7hm.mjs} +1 -1
- package/dist/esm/useActiveWallet-CeJ_zia0.mjs +185 -0
- package/dist/esm/{useGetSolPrice-DwwjjGbd.mjs → useGetSolPrice-DaxM-vxD.mjs} +1 -1
- package/dist/esm/{useGetTokenPrice-YObgUU6L.mjs → useGetTokenPrice-BS8CeRfC.mjs} +1 -1
- package/dist/esm/{useI18n-VPW2SjZN.mjs → useI18n-BWqAKjsd.mjs} +1 -1
- package/dist/esm/usePrivy-DZkUhG2n.mjs +1 -0
- package/dist/esm/{useSolanaRpcClient-BTAchFxj.mjs → useSolanaRpcClient-D-Ekw787.mjs} +1 -1
- package/dist/esm/{useWalletBalance-BDrbQBDX.mjs → useWalletBalance-CCG99ZD8.mjs} +1 -1
- package/dist/esm/useWallets-CaOutpwQ.mjs +1 -0
- package/package.json +1 -1
- package/dist/cjs/AccountNotFoundScreen-DxO5LvIc.js +0 -1
- package/dist/cjs/AffirmativeConsentScreen-DfJW4zFz.js +0 -6
- package/dist/cjs/AllowlistRejectionScreen-CP01TiLV.js +0 -1
- package/dist/cjs/AuthenticateWithWalletScreen-CQw1iHsK.js +0 -1
- package/dist/cjs/AwaitingEvmToSolBridgingScreen-BzcvlEoa.js +0 -2
- package/dist/cjs/AwaitingExternalEthereumTransferScreen-CF8PGODY.js +0 -2
- package/dist/cjs/AwaitingPasswordlessCodeScreen-BByZHkHQ.js +0 -103
- package/dist/cjs/AwaitingSolToEvmBridgingScreen-DcalXeu-.js +0 -2
- package/dist/cjs/CaptchaScreen-anNodbfx.js +0 -1
- package/dist/cjs/CoinbaseOnrampStatusScreen-JGw8hfLn.js +0 -16
- package/dist/cjs/ConnectLedgerScreen-CwS0odD_.js +0 -9
- package/dist/cjs/ConnectOnlyLandingScreen-fpFbLO8Y.js +0 -1
- package/dist/cjs/ConnectOnlyStatusScreen-DziODgdH.js +0 -1
- package/dist/cjs/ConnectOrCreateScreen-D-V8KzJp.js +0 -1
- package/dist/cjs/ConnectionStatusScreen-D4NtHDFM.js +0 -7
- package/dist/cjs/CrossAppAuthScreen-BtEXDc88.js +0 -1
- package/dist/cjs/DelegatedActionsConsentScreen-CGnSYhkE.js +0 -1
- package/dist/cjs/DelegatedActionsRevokeScreen-Dd8u3U62.js +0 -1
- package/dist/cjs/EmbeddedWalletConnectingScreen-yIHjjIR2.js +0 -1
- package/dist/cjs/EmbeddedWalletCreatedScreen-CouqreWe.js +0 -1
- package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-Cv8bAxPB.js +0 -1
- package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-roXY9Gv8.js +0 -1
- package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-9I5OZ38V.js +0 -1
- package/dist/cjs/ErrorScreen-DbETfzK4.js +0 -4
- package/dist/cjs/FundSolWalletWithExternalSolanaWallet-CE1VdpiY.js +0 -2
- package/dist/cjs/FundingEditAmountScreen-Cjzgv7Q-.js +0 -1
- package/dist/cjs/FundingMethodSelectionScreen-Bje3JXwS.js +0 -1
- package/dist/cjs/InAppBrowserLoginNotPossible-DpFXJi29.js +0 -1
- package/dist/cjs/InstallWalletScreen-DP80Lixb.js +0 -1
- package/dist/cjs/LandingScreen-B_s7VUcj.js +0 -1
- package/dist/cjs/LinkEmailScreen-POTKFhXp.js +0 -1
- package/dist/cjs/LinkPhoneScreen-RWN6_lR0.js +0 -1
- package/dist/cjs/LoginFailedScreen-BGq1l-h2.js +0 -1
- package/dist/cjs/ManualTransferScreen-S07FPGso.js +0 -1
- package/dist/cjs/MfaAuthEnrollmentFlowScreen-Bnb9xLgu.js +0 -1
- package/dist/cjs/MfaAuthVerifyFlowScreen-Bn7NxwbP.js +0 -1
- package/dist/cjs/MfaEnrollmentFlowScreen-DixH-nyJ.js +0 -1
- package/dist/cjs/MfaVerifyFlowScreen-BtjZAo_J.js +0 -1
- package/dist/cjs/MoonpayStatusScreen-BAgiyXOW.js +0 -16
- package/dist/cjs/OAuthStatusScreen-RWYIpAEG.js +0 -1
- package/dist/cjs/PasskeySelectSignupOrLogin-DvUcmWfj.js +0 -1
- package/dist/cjs/PasskeyStatusScreen-CpL_C3--.js +0 -3
- package/dist/cjs/PasswordRecoveryScreen-FcFRBHq1.js +0 -20
- package/dist/cjs/RecoveryOAuthStatusScreen-AV5BAFgZ.js +0 -1
- package/dist/cjs/RecoveryPasswordCreateScreen-CvtuH2mp.js +0 -1
- package/dist/cjs/SignRequestScreen-B5xPIK1u.js +0 -26
- package/dist/cjs/TelegramAuthScreen-CjTMUNYb.js +0 -1
- package/dist/cjs/UpdateEmailScreen-BvzkGAlB.js +0 -1
- package/dist/cjs/UpdatePhoneScreen-e8rAhVvP.js +0 -1
- package/dist/cjs/UserLimitReachedScreen-x5P5FX13.js +0 -1
- package/dist/cjs/WalletInterstitialScreen-DrApzB6o.js +0 -1
- package/dist/cjs/index-BZqehL-Z.js +0 -174
- package/dist/cjs/smart-wallets-xoXme78U.js +0 -1
- package/dist/cjs/use-export-wallet-1gw5h-6F.js +0 -1
- package/dist/cjs/use-export-wallet-CedJPqOx.js +0 -1
- package/dist/cjs/useActiveWallet-4V55N-5C.js +0 -185
- package/dist/cjs/usePrivy-Tr-VZh0x.js +0 -1
- package/dist/cjs/useWallets-By_aiK-e.js +0 -1
- package/dist/cjs/useWallets-Ds2FjLWj.js +0 -1
- package/dist/esm/AccountNotFoundScreen-DvDKQEeR.mjs +0 -1
- package/dist/esm/AffirmativeConsentScreen-DmjKmR3p.mjs +0 -6
- package/dist/esm/AllowlistRejectionScreen-Dzgqqss9.mjs +0 -1
- package/dist/esm/AuthenticateWithWalletScreen-DqEYmKRq.mjs +0 -1
- package/dist/esm/AwaitingEvmToSolBridgingScreen-mM0yFabb.mjs +0 -2
- package/dist/esm/AwaitingExternalEthereumTransferScreen-B8RwfC4k.mjs +0 -2
- package/dist/esm/AwaitingPasswordlessCodeScreen-DiwMdkl1.mjs +0 -103
- package/dist/esm/AwaitingSolToEvmBridgingScreen-DDjqJpxK.mjs +0 -2
- package/dist/esm/CaptchaScreen-DRpV5XFL.mjs +0 -1
- package/dist/esm/CoinbaseOnrampStatusScreen-B5SpiCFR.mjs +0 -16
- package/dist/esm/ConnectEmailForm-CUfcb4US.mjs +0 -3
- package/dist/esm/ConnectLedgerScreen-D54DrxnP.mjs +0 -9
- package/dist/esm/ConnectOnlyLandingScreen-Cm10LiWd.mjs +0 -1
- package/dist/esm/ConnectOnlyStatusScreen-Bz7rafsR.mjs +0 -1
- package/dist/esm/ConnectOrCreateScreen-aeQK2RJ_.mjs +0 -1
- package/dist/esm/ConnectionStatusScreen-_g1A1Dg2.mjs +0 -7
- package/dist/esm/CrossAppAuthScreen-4oQDzYzy.mjs +0 -1
- package/dist/esm/DelegatedActionsConsentScreen-Cj9bU7Q1.mjs +0 -1
- package/dist/esm/DelegatedActionsRevokeScreen-DGFRARuM.mjs +0 -1
- package/dist/esm/EmbeddedWalletConnectingScreen-Cmt8I8TX.mjs +0 -1
- package/dist/esm/EmbeddedWalletCreatedScreen-Dj_JuLO5.mjs +0 -1
- package/dist/esm/EmbeddedWalletOnAccountCreateScreen-BOS_pyDI.mjs +0 -1
- package/dist/esm/EmbeddedWalletPasswordUpdateScreen-DulDjFpp.mjs +0 -1
- package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-BkwyRHPS.mjs +0 -1
- package/dist/esm/ErrorScreen-8UMMZ6is.mjs +0 -4
- package/dist/esm/FarcasterSignerStatusScreen-RHH68QtJ.mjs +0 -28
- package/dist/esm/FundSolWalletWithExternalSolanaWallet-DVgX3EaM.mjs +0 -1
- package/dist/esm/FundingEditAmountScreen-D10JPLdP.mjs +0 -1
- package/dist/esm/FundingMethodSelectionScreen-BuWGEgge.mjs +0 -1
- package/dist/esm/InAppBrowserLoginNotPossible-TigdvlfS.mjs +0 -1
- package/dist/esm/InstallWalletScreen-DgyXxk_4.mjs +0 -1
- package/dist/esm/LandingScreen-C6rQCvI5.mjs +0 -1
- package/dist/esm/LinkEmailScreen-C7CpFuoA.mjs +0 -1
- package/dist/esm/LinkPhoneScreen-BKHv_Kdp.mjs +0 -1
- package/dist/esm/LoginFailedScreen-CJgWFc1S.mjs +0 -1
- package/dist/esm/ManualTransferScreen-CFNzuajf.mjs +0 -1
- package/dist/esm/MfaAuthEnrollmentFlowScreen-DflCQFD5.mjs +0 -1
- package/dist/esm/MfaAuthVerifyFlowScreen-D0KWDrSF.mjs +0 -1
- package/dist/esm/MfaEnrollmentFlowScreen-B5CTxsyW.mjs +0 -1
- package/dist/esm/MfaVerifyFlowScreen-Bds0d6wr.mjs +0 -1
- package/dist/esm/MoonpayStatusScreen-BgCvITlM.mjs +0 -16
- package/dist/esm/OAuthStatusScreen-B9LjQopq.mjs +0 -1
- package/dist/esm/PasskeySelectSignupOrLogin-BH-9DnYX.mjs +0 -1
- package/dist/esm/PasskeyStatusScreen-B0BMf34N.mjs +0 -3
- package/dist/esm/PasswordRecoveryScreen-BGO3xmU6.mjs +0 -20
- package/dist/esm/RecoveryOAuthStatusScreen-9ngTLe_q.mjs +0 -1
- package/dist/esm/RecoveryPasswordCreateScreen-BDCDfQzo.mjs +0 -1
- package/dist/esm/TelegramAuthScreen-CXnXpJTY.mjs +0 -1
- package/dist/esm/UpdateEmailScreen-B4u7SqtR.mjs +0 -1
- package/dist/esm/UpdatePhoneScreen-Dz75pT5l.mjs +0 -1
- package/dist/esm/UserLimitReachedScreen-BEQAxJvA.mjs +0 -1
- package/dist/esm/WalletInterstitialScreen-jHLFeLvC.mjs +0 -1
- package/dist/esm/context-bWeWAiND.mjs +0 -1
- package/dist/esm/index-DEtvMjrv.mjs +0 -174
- package/dist/esm/reservoir-0wfhnc0j.mjs +0 -1
- package/dist/esm/smart-wallets-wzmiQDh1.mjs +0 -1
- package/dist/esm/use-export-wallet-8amsQKG9.mjs +0 -1
- package/dist/esm/use-export-wallet-DyNNbsJn.mjs +0 -1
- package/dist/esm/useActiveWallet-CSq3KvGj.mjs +0 -185
- package/dist/esm/usePrivy-CvOp4eQ7.mjs +0 -1
- package/dist/esm/useWallets-izyyA2re.mjs +0 -1
- package/dist/esm/useWallets-yDa5ACXD.mjs +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as t}from"react";import{a as e,b as a}from"./internal-context-Z-fyxadS.mjs";const r=792703809,s="11111111111111111111111111111111",n="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";let i="0x0000000000000000000000000000000000000000";const o=({appId:t,originCurrency:e,destinationCurrency:a,...r})=>({tradeType:"EXPECTED_OUTPUT",originCurrency:e??i,destinationCurrency:a??i,referrer:`privy|${t}`,...r});let c="https://api.relay.link",l="https://api.testnets.relay.link";const u=async({input:t,isTestnet:e})=>{let a=await fetch((e?l:c)+"/quote",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await a.json();if(!(a.ok||"string"==typeof r.message&&r.message.startsWith("Invalid address")))throw console.error("Relay error:",r),Error(r.message??"Error fetching quote from relay");return r},d=t=>{let e=t.steps[0]?.items?.[0];if(e)return{from:e.data.from,to:e.data.to,value:Number(e.data.value),chainId:Number(e.data.chainId),data:e.data.data}};async function y({transactionHash:t,isTestnet:e}){let a=await fetch((e?l:c)+"/requests/v2?hash="+t),r=await a.json();if(!a.ok){if("message"in r&&"string"==typeof r.message)throw Error(r.message);throw Error("Error fetching request from relay")}return r.requests.at(0)?.status??"pending"}function f({transactionHash:e,isTestnet:a,bridgingStatus:r,setBridgingStatus:s,onSuccess:n,onFailure:i}){t((()=>{if(e&&r){if(["delayed","waiting","pending"].includes(r)){let t=setInterval((async()=>{try{let t=await y({transactionHash:e,isTestnet:a});s(t)}catch(t){console.error(t)}}),1e3);return()=>clearInterval(t)}"success"===r?n({transactionHash:e}):["refund","failure"].includes(r)&&i({error:new h(e,a)})}}),[r,e,a])}class h extends e{constructor(t,e){super("We were unable to complete the bridging transaction. Funds will be refunded on your wallet.",void 0,a.TRANSACTION_FAILURE),this.relayLink=e?`https://testnets.relay.link/transaction/${t}`:`https://relay.link/transaction/${t}`}}export{h as R,s as a,r as b,d as c,n as d,u as g,o as t,f as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useRef as e,useState as a,useCallback as n}from"react";import{http as r,createPublicClient as t}from"viem";import{a as i,u as s,c as o,b as l}from"./get-is-unified-wallet-GcvxyU9r.mjs";import{u as c}from"./context-bWeWAiND.mjs";import{u as d,a as m}from"./internal-context-Z-fyxadS.mjs";import{u,g as p}from"./useWallets-izyyA2re.mjs";import{u as y}from"./PrivyPluginContext-2QN2dVUw.mjs";import{a as g,D as P}from"./getEmbeddedConnectedWallet-JzK4iD-L.mjs";import{a as f}from"./getPublicClient-B4uPLKn-.mjs";import{createSmartAccountClient as h}from"permissionless";import{toThirdwebSmartAccount as w,toLightSmartAccount as I,toBiconomySmartAccount as F,toKernelSmartAccount as x,toSafeSmartAccount as W}from"permissionless/accounts";import{createPimlicoClient as v}from"permissionless/clients/pimlico";import{entryPoint07Address as G,entryPoint06Address as S,toCoinbaseSmartAccount as C}from"viem/account-abstraction";import{THIRDWEB as T,COINBASE_SMART_WALLET as b,LIGHT_ACCOUNT as U,BICONOMY as O,KERNEL as M,SAFE as D}from"@privy-io/js-sdk-core";let V={address:S,version:"0.6"},A={address:G,version:"0.7"},B=({owner:e,smartWalletType:a,smartWalletVersion:n,publicClient:r})=>{switch(a){case D:return W({client:r,entryPoint:A,owners:[e],version:"1.4.1"});case M:return x({client:r,version:"0.3.1",entryPoint:A,useMetaFactory:"optional",owners:[e]});case O:return F({client:r,owners:[e],entryPoint:V});case U:return I({client:r,entryPoint:V,owner:e,version:"1.1.0"});case b:return async function({client:e,owner:a,version:n}){let[r]=await a.request({method:"eth_accounts"});if(!r)throw Error("Unable to request embedded owner for eth_accounts");return await C({client:e,owners:[{type:"local",source:"privy",address:r,sign:async({hash:e})=>await a.request({method:"secp256k1_sign",params:[e]})}],version:n})}({client:r,owner:e,version:n??"1"});case T:return w({client:r,entryPoint:A,owner:e});default:throw Error(`Invalid smart account type: ${a}.`)}};const E=({calls:e,chain:a,maxPriorityFeePerGas:n,maxFeePerGas:r,nonce:t})=>e.map((e=>({to:e.to||void 0,data:e.data,value:e.value,chainId:a.id,nonce:t,maxFeePerGas:r,maxPriorityFeePerGas:n}))),q=async({chain:e,paymasterContext:a,account:n,signer:i,user:s,smartWalletsConfig:o,rpcConfig:l,privyAppId:c})=>{if(!(o?.enabled&&s&&n&&i))return;let d=o?.configuredNetworks.find((a=>a.chainId===`eip155:${e.id}`));if(!d)throw new m(`The chain ${e.name} (eip155:${e.id}) must be configured in the smart wallet configuration in your dashboard`);let u=s.smartWallet?s.smartWallet.smartWalletType:o.smartWalletType,p=s.smartWallet?s.smartWallet.smartWalletVersion:o.smartWalletVersion,y=f(e,l,c),g=t({chain:e,transport:r(y)}),P=a??d.paymasterContext,w=await(async({owner:e,smartWalletType:a,smartWalletVersion:n,chain:t,publicClient:i,bundlerUrl:s,paymasterUrl:o,paymasterContext:l})=>{let c=await B({owner:e,smartWalletType:a,publicClient:i,smartWalletVersion:n}),d=v({transport:r(s),entryPoint:c.entryPoint}),m=o?v({transport:r(o),entryPoint:c.entryPoint}):void 0;return h({account:c,chain:t,paymaster:m,paymasterContext:l,bundlerTransport:r(s),userOperation:{estimateFeesPerGas:async()=>{if(["public.pimlico.io","api.pimlico.io"].some((e=>s.includes(e))))return await d.getUserOperationGasPrice().then((e=>e.fast));if(["rpc.zerodev.app"].some((e=>s.includes(e))))return(await d.request({method:"zd_getUserOperationGasPrice",params:[]})).fast;if(["g.alchemy.com"].some((e=>s.includes(e)))){let[e,a]=await Promise.all([i.getBlock({blockTag:"latest"}),d.request({method:"rundler_maxPriorityFeePerGas",params:[]})]);if(!e.baseFeePerGas||!a)throw Error("Failed to get block or maxPriorityFeePerGasEstimate");return{maxFeePerGas:150n*e.baseFeePerGas/100n+BigInt(a.toString()),maxPriorityFeePerGas:BigInt(a.toString())}}{let e=await i.estimateFeesPerGas(),a=s.includes("api.developer.coinbase.com")?175n:150n;return{...e,maxFeePerGas:e.maxFeePerGas*a/100n,maxPriorityFeePerGas:e.maxPriorityFeePerGas*a/100n}}}}})})({owner:i,smartWalletType:u,smartWalletVersion:p,chain:e,publicClient:g,paymasterContext:P,...d});if(!w)throw new m(`Failed to create smart wallet client for chain ${e.name} (eip155:${e.id})`);return w},N=({clientConfig:r,smartWalletsConfig:t})=>{let{hideWalletUIs:f,openPrivyModal:h,appId:w,isHeadlessSigning:I}=d(),F=c(),{setModalData:x}=i(),{user:W}=s(),{chains:v}=c(),G=y(),{chainId:S,clients:C,setChainId:T,chainIdState:b}=(()=>{let n=e(),[r,t]=a();return{clients:e({}),setChainId:e=>{n.current=e,t(e)},chainId:n,chainIdState:r}})(),U=v.find((e=>e.id===b)),{wallets:O}=u(),M=o(W),D=g(O,M?.address),V=!!M&&l(M),A=n((async()=>S.current),[S]),B=n((async({id:e})=>{if(!C.current[e]){let a=await q({chain:v.find((a=>a.id===e)),account:M,signer:await(D?.getEthereumProvider()),user:W,paymasterContext:r?.paymasterContext,smartWalletsConfig:t,rpcConfig:F.rpcConfig,privyAppId:w});a&&(C.current[e]=a)}T(e)}),[v,r,O,W,t]);return{wrapSmartAccountClient:e=>{C.current[e.chain.id]=e,b||T(e.chain.id);return{...e,sendTransaction:async(e,a)=>{let n=C.current[S.current];if(!n)throw new m(`Smart wallet client for chain (eip155:${S.current}) not found`);delete e.account;let r=[];"calls"in e&&void 0!==e.calls?r=[...e.calls]:"to"in e&&(r=[{to:e.to,value:e.value||BigInt(0),data:e.data||"0x"}]);let t=(await n.prepareUserOperation({calls:r,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0})).callData,i=G(P);if(i&&(t=i.appendDataSuffix({data:t})),I({showWalletUIs:a?.uiOptions?.showWalletUIs}))return f.current=!0,await n.sendTransaction({callData:t,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}).finally((()=>f.current=!1));let s=async()=>{let{paymasterAndData:a,paymasterData:t,maxFeePerGas:i,maxPriorityFeePerGas:s}=await n.prepareUserOperation({calls:r,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0});return 0===Number(i)&&0===Number(s)||Number(a??t??0)>0};return new Promise((async(i,o)=>{f.current=!0;let{entropyId:l,entropyIdVerifier:c}=p(W);x({connectWallet:{recoveryMethod:M.recoveryMethod,connectingWalletAddress:M.address,isUnifiedWallet:V,entropyId:l,entropyIdVerifier:c,onCompleteNavigateTo:"SendTransactionScreen",onFailure:()=>{}},sendTransaction:{transactionRequests:E({calls:r,chain:n.chain,maxPriorityFeePerGas:e.maxPriorityFeePerGas,maxFeePerGas:e.maxFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:n.account.address,entropyId:l,entropyIdVerifier:c,getIsSponsored:s,signOnly:!1,onConfirm:async()=>n.sendTransaction({callData:t,maxFeePerGas:e.maxFeePerGas,maxPriorityFeePerGas:e.maxPriorityFeePerGas,nonce:e.nonce?BigInt(e.nonce):void 0}),onSuccess:e=>i(e.hash),onFailure:o,uiOptions:a?.uiOptions??{}}}),h("EmbeddedWalletConnectingScreen")})).finally((()=>{f.current=!1}))},signMessage:async(e,a)=>{let n=C.current[S.current];if(!n)throw new m(`Smart wallet client for chain (eip155:${S.current}) not found`);return I({showWalletUIs:a?.uiOptions?.showWalletUIs})?(f.current=!0,await n.signMessage(e).finally((()=>f.current=!1))):new Promise((async(r,t)=>{let{entropyId:i,entropyIdVerifier:s}=p(W);f.current=!0,x({connectWallet:{recoveryMethod:M.recoveryMethod,connectingWalletAddress:M.address,isUnifiedWallet:V,entropyId:i,entropyIdVerifier:s,onCompleteNavigateTo:"SignRequestScreen",onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof e.message?e.message:e.message.raw.toString(),confirmAndSign:()=>n.signMessage(e),onSuccess:e=>r(e),onFailure:t,uiOptions:a?.uiOptions??{}}}),h("EmbeddedWalletConnectingScreen")})).finally((()=>{f.current=!1}))},signTypedData:async(e,a)=>{let n=C.current[S.current];if(!n)throw new m(`Smart wallet client for chain (eip155:${S.current}) not found`);return delete e.account,I({showWalletUIs:a?.uiOptions?.showWalletUIs})?(f.current=!0,await n.signTypedData(e).finally((()=>f.current=!1))):new Promise((async(r,t)=>{f.current=!0;let{entropyId:i,entropyIdVerifier:s}=p(W);x({connectWallet:{recoveryMethod:M.recoveryMethod,connectingWalletAddress:M.address,isUnifiedWallet:V,entropyId:i,entropyIdVerifier:s,onCompleteNavigateTo:"SignRequestScreen",onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:e,confirmAndSign:()=>n.signTypedData(e),onSuccess:e=>r(e),onFailure:t,uiOptions:a?.uiOptions??{}}}),h("EmbeddedWalletConnectingScreen")})).finally((()=>{f.current=!1}))},getChainId:A,chain:U,switchChain:B}}}},_=()=>{let{hideWalletUIs:e,openPrivyModal:a,isHeadlessSigning:n}=d(),{setModalData:r}=i(),{user:t}=s(),c=y(),m=o(t),u=!!m&&l(m);return{wrapSmartAccountClientWithUIs:i=>({...i,sendTransaction:async(s,o)=>{let l=[];"calls"in s&&void 0!==s.calls?l=[...s.calls]:"to"in s&&(l=[{to:s.to,value:s.value||BigInt(0),data:s.data||"0x"}]);let d=(await i.prepareUserOperation({calls:l,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,nonce:s.nonce?BigInt(s.nonce):void 0})).callData,y=c(P);if(y&&console.log("userOpCallData",d=y.appendDataSuffix({data:d})),n({showWalletUIs:o?.uiOptions?.showWalletUIs}))return e.current=!0,await i.sendTransaction({callData:d,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,nonce:s.nonce?BigInt(s.nonce):void 0}).finally((()=>e.current=!1));let g=async()=>{if(!i.paymaster)return!1;let{paymasterData:e,paymasterAndData:a}=await i.prepareUserOperation({calls:l,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,nonce:s.nonce?BigInt(s.nonce):void 0});return Number(a??e??0)>0};return new Promise((async(n,c)=>{e.current=!0;let{entropyId:y,entropyIdVerifier:P}=p(t);r({connectWallet:{recoveryMethod:m.recoveryMethod,connectingWalletAddress:m.address,isUnifiedWallet:u,entropyId:y,entropyIdVerifier:P,onCompleteNavigateTo:"SendTransactionScreen",onFailure:()=>{}},sendTransaction:{transactionRequests:E({calls:l,chain:i.chain,maxPriorityFeePerGas:s.maxPriorityFeePerGas,maxFeePerGas:s.maxFeePerGas,nonce:s.nonce?BigInt(s.nonce):void 0}),transactingWalletIndex:0,transactingWalletAddress:i.account.address,entropyId:y,entropyIdVerifier:P,getIsSponsored:g,signOnly:!1,onConfirm:async()=>i.sendTransaction({callData:d,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,nonce:s.nonce?BigInt(s.nonce):void 0}),onSuccess:e=>n(e.hash),onFailure:c,uiOptions:o?.uiOptions??{}}}),a("EmbeddedWalletConnectingScreen")})).finally((()=>{e.current=!1}))},signMessage:async(s,o)=>n({showWalletUIs:o?.uiOptions?.showWalletUIs})?(e.current=!0,await i.signMessage(s).finally((()=>e.current=!1))):new Promise((async(n,l)=>{let{entropyId:c,entropyIdVerifier:d}=p(t);e.current=!0,r({connectWallet:{recoveryMethod:m.recoveryMethod,connectingWalletAddress:m.address,isUnifiedWallet:u,entropyId:c,entropyIdVerifier:d,onCompleteNavigateTo:"SignRequestScreen",onFailure:()=>{}},signMessage:{method:"personal_sign",data:"string"==typeof s.message?s.message:s.message.raw.toString(),confirmAndSign:()=>i.signMessage(s),onSuccess:e=>n(e),onFailure:l,uiOptions:o?.uiOptions??{}}}),a("EmbeddedWalletConnectingScreen")})).finally((()=>{e.current=!1})),signTypedData:async(s,o)=>n({showWalletUIs:o?.uiOptions?.showWalletUIs})?(e.current=!0,await i.signTypedData(s).finally((()=>e.current=!1))):new Promise((async(n,l)=>{e.current=!0;let{entropyId:c,entropyIdVerifier:d}=p(t);r({connectWallet:{recoveryMethod:m.recoveryMethod,connectingWalletAddress:m.address,isUnifiedWallet:u,entropyId:c,entropyIdVerifier:d,onCompleteNavigateTo:"SignRequestScreen",onFailure:()=>{}},signMessage:{method:"eth_signTypedData_v4",data:s,confirmAndSign:()=>i.signTypedData(s),onSuccess:e=>n(e),onFailure:l,uiOptions:o?.uiOptions??{}}}),a("EmbeddedWalletConnectingScreen")})).finally((()=>{e.current=!1}))})}};export{N as a,E as c,q as g,_ as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as e}from"./context-bWeWAiND.mjs";import{u as t}from"./events-context-CI0iqAXA.mjs";import{u as n,a}from"./internal-context-Z-fyxadS.mjs";import{a as o,u as r,h as d,d as i,b as s}from"./get-is-unified-wallet-GcvxyU9r.mjs";import{g as l,i as c}from"./use-export-wallet-DyNNbsJn.mjs";import{useMemo as u}from"react";import{g as p}from"./useWallets-izyyA2re.mjs";function m(a){t("fundSolanaWallet",a);let r=e(),{openModal:d}=n(),{setModalData:i}=o();return{fundWallet:async({address:e,options:t})=>{let n=t?.amount||r.fundingConfig?.defaultRecommendedAmount||"1",a=t?.asset||r.fundingConfig?.defaultRecommendedCurrency.asset||"native-currency",o=t?.chain||"solana:mainnet";i({funding:l({address:e,appConfig:r,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...t,amount:n,asset:a,chain:o},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),solanaFundingData:{amount:n,asset:"native-currency"===a?"SOL":"USDC",chain:o,destinationAddress:e,sourceWalletData:void 0}}),d("FundingMethodSelectionScreen")}}}function f(){let{user:t,getAccessToken:l}=r(),{walletProxy:m,openModal:f,client:h}=n(),{setModalData:y}=o(),g=e();return u((()=>({exportWallet:e=>new Promise((async(n,o)=>{if(!t)return void o(new a("User must be authenticated before exporting their Privy wallet"));let r=e?.address?d(t,e.address):i(t);if(!r)return void o(new a("User must have an embedded wallet."));if(!c(r))return void o(Error(`Export is not supported for ${r.chainType} wallets`));let u=s(r),{entropyId:W,entropyIdVerifier:w}=p(t,r);await l()?m?(y({connectWallet:{recoveryMethod:r.recoveryMethod,connectingWalletAddress:r.address,isUnifiedWallet:u,entropyId:W,entropyIdVerifier:w,onCompleteNavigateTo:"EmbeddedWalletKeyExportScreen",onFailure:o,shouldForceMFA:!0},keyExport:{appId:g.id,appClientId:g.appClientId,origin:h.apiUrl,address:r.address,entropyId:W,entropyIdVerifier:w,hdWalletIndex:r.walletIndex,chainType:r.chainType,walletId:r.id,isUnifiedWallet:u,imported:r.imported,onSuccess:n,onFailure:o,showBackButton:e?.showBackButton}}),f("EmbeddedWalletConnectingScreen")):o(new a("Wallet not ready for export")):o(new a("Must have valid access token."))}))})),[t,l,m,f,h,y,g])}export{f as a,m as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ProviderErrors as e,ConnectedStandardSolanaWallet as t,arbitrumSepolia as n,arbitrum as a,avalancheFuji as i,avalanche as s,baseSepolia as r,base as o,polygonAmoy as d,polygon as l,optimismSepolia as c,optimism as h,sepolia as u,mainnet as p}from"@privy-io/js-sdk-core";import{P as f,c as m,j as C,a as A,u as w}from"./internal-context-Z-fyxadS.mjs";import g from"eventemitter3";import{b as y,u as b}from"./context-bWeWAiND.mjs";import{jsxs as E,jsx as x}from"react/jsx-runtime";import{useMemo as D}from"react";import{isAddress as v}from"viem/utils";import{u as I,a as M,h as T,c as S,b as W}from"./get-is-unified-wallet-GcvxyU9r.mjs";import{g as O}from"./useWallets-izyyA2re.mjs";class R extends f{constructor(){super("Wallet timeout"),this.type="wallet_error"}}const N=e=>e instanceof f?e:e?.code?new F(e):new f("Unknown connector error",e);class j extends m{constructor(e,t,n){super(e),this.type="provider_error",this.code=t,this.data=n}}class F extends j{constructor(t){super(t.message,t.code,t.data);let n=Object.values(e).find((e=>e.eipCode===t.code));this.details=n||e.UNKNOWN_ERROR,-32002===t.code&&(t.message?.includes("already pending for origin")?t.message?.includes("wallet_requestPermissions")?this.details=e.E32002_CONNECTION_ALREADY_PENDING:this.details=e.E32002_REQUEST_ALREADY_PENDING:t.message?.includes("Already processing")&&t.message.includes("eth_requestAccounts")&&(this.details=e.E32002_WALLET_LOCKED))}}const U={ERROR_USER_EXISTS:{message:"User already exists for this address",detail:"Try another address!",retryable:!1},ERROR_TIMED_OUT:{message:"Wallet request timed out",detail:"Please try connecting again.",retryable:!0},ERROR_WALLET_CONNECTION:{message:"Could not log in with wallet",detail:"Please try connecting again.",retryable:!0},ERROR_USER_LIMIT_REACHED:{message:"Unable to link",detail:"You've reached the maximum number of linked wallets.",retryable:!1},...e};class L{get(e){let t=localStorage.getItem(e);return null===t?void 0:JSON.parse(t)}put(e,t){void 0!==t?localStorage.setItem(e,JSON.stringify(t)):this.del(e)}del(e){localStorage.removeItem(e)}getKeys(){return Object.entries(localStorage).map((([e])=>e))}}function P(){try{let e="privy:__session_storage__test",t=new L;return t.put(e,"blobby"),t.del(e),!0}catch(e){return!1}}var _="undefined"!=typeof window&&window.localStorage?new L:new class{get(e){return this._cache[e]}put(e,t){void 0!==t?this._cache[e]=t:this.del(e)}del(e){delete this._cache[e]}getKeys(){return Object.keys(this._cache)}constructor(){this._cache={}}};class B extends g{constructor(e){super(),this.walletClientType=e,this.connected=!1,this.initialized=!1}}const Y=()=>{let e=_.get(y);return e&&Array.isArray(e)&&e.map((e=>(e=>e&&"string"==typeof e.address&&"string"==typeof e.connectorType&&"string"==typeof e.walletClientType&&"number"==typeof e.connectedAt)(e))).every(Boolean)?e:[]};let J=["phantom","glow","solflare","backpack","okx_wallet","walletconnect","mobile_wallet_adapter","jupiter"];function k(e){return e.toLowerCase().split(" ").join("_")}class z extends B{get isInstalled(){return!0}get wallet(){return this._wallet}buildConnectedWallet(){return this._wallet.accounts.map((e=>({type:"solana",provider:new t({wallet:this._wallet,account:e}),address:e.address,connectedAt:Date.now(),walletClientType:this._wallet.name,connectorType:this.connectorType,imported:!1,meta:{name:this._wallet.name,id:this._wallet.name,icon:this._wallet.icon},isConnected:async()=>this._wallet.accounts.length>0,disconnect:async()=>{await this.disconnect()}})))}async syncAccounts(){this.wallets=this.buildConnectedWallet(),this.emit("walletsUpdated")}get walletBranding(){return{id:G(this.wallet)?"walletconnect_solana":this.wallet.name,name:this.wallet.name,icon:this.wallet.icon}}async initialize(){this.subscribeListeners(),await this.syncAccounts(),this.shouldAttemptAutoConnect()&&(await(this.wallet.features["standard:connect"]?.connect({silent:!0}).catch((()=>{}))),await this.isConnected()&&await this.syncAccounts()),this.initialized=!0,this.emit("initialized")}async connect(e){if(e.showPrompt)try{await this.promptConnection()}catch(e){if(0===this._wallet.accounts.length)throw new C;throw e}if(!await this.isConnected())throw new C;return await this.syncAccounts(),this.getConnectedWallet()}async getConnectedWallet(){return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt))[0]||null}async isConnected(){return this._wallet.accounts.length>0}subscribeListeners(){this._unsubscribeListeners=this.wallet.features["standard:events"]?.on("change",this.onChange)}unsubscribeListeners(){this._unsubscribeListeners?.()}shouldAttemptAutoConnect(){return!(!this.autoConnectEnabled||!J.includes(this.walletClientType))&&("phantom"!==this.walletClientType&&"metamask"!==this.walletClientType.toLowerCase()||Y().some((({walletClientType:e})=>"phantom"===e||"metamask"===e.toLowerCase())))}constructor(e,t){super(k(G(e)?"walletconnect_solana":e.name)),this.chainType="solana",this.connectorType="solana_adapter",this.disconnect=async()=>{await(this.wallet.features["standard:disconnect"]?.disconnect().catch((e=>console.error("Error disconnecting",e)))),await this.syncAccounts()},this.promptConnection=async()=>{try{await(this.wallet.features["standard:connect"]?.connect())}catch(e){throw N(e)}},this.onChange=()=>{this.syncAccounts()},this._wallet=e,this.autoConnectEnabled=t,this.wallets=[]}}function G(e){return"isWalletConnectSolana"in e&&e.isWalletConnectSolana}const Z=({style:e,...t})=>{let n=b();/*#__PURE__*/return E("svg",{width:"28",height:"28",viewBox:"0 0 28 28",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{height:"28px",width:"28px",...e},...t,children:[/*#__PURE__*/x("rect",{width:"28",height:"28",rx:"3",fill:"dark"===n?.appearance.palette.colorScheme?"#3396ff":"#141414"}),/*#__PURE__*/x("g",{clipPath:"url(#clip0_1765_9946)",children:/*#__PURE__*/x("path",{d:"M8.09448 10.3941C11.3558 7.20196 16.6442 7.20196 19.9055 10.3941L20.2982 10.7782C20.3369 10.8157 20.3677 10.8606 20.3887 10.9102C20.4097 10.9599 20.4206 11.0132 20.4206 11.0671C20.4206 11.121 20.4097 11.1744 20.3887 11.224C20.3677 11.2737 20.3369 11.3186 20.2982 11.3561L18.9554 12.6702C18.9158 12.7086 18.8628 12.7301 18.8077 12.7301C18.7526 12.7301 18.6996 12.7086 18.66 12.6702L18.1198 12.1415C15.8448 9.91503 12.1557 9.91503 9.88015 12.1415L9.30167 12.7075C9.26207 12.7459 9.20909 12.7673 9.15395 12.7673C9.0988 12.7673 9.04582 12.7459 9.00622 12.7075L7.66346 11.3934C7.62475 11.3559 7.59397 11.3109 7.57295 11.2613C7.55193 11.2117 7.5411 11.1583 7.5411 11.1044C7.5411 11.0505 7.55193 10.9971 7.57295 10.9475C7.59397 10.8979 7.62475 10.8529 7.66346 10.8154L8.09448 10.3941ZM22.6829 13.1115L23.8776 14.2814C23.9163 14.319 23.9471 14.3639 23.9681 14.4135C23.9892 14.4632 24 14.5165 24 14.5704C24 14.6243 23.9892 14.6777 23.9681 14.7273C23.9471 14.777 23.9163 14.8219 23.8776 14.8594L18.4893 20.1332C18.4102 20.2101 18.3042 20.2531 18.1938 20.2531C18.0835 20.2531 17.9775 20.2101 17.8984 20.1332L14.0743 16.3901C14.0545 16.3708 14.0279 16.36 14.0003 16.36C13.9726 16.36 13.9461 16.3708 13.9263 16.3901L10.1021 20.1332C10.023 20.2101 9.91703 20.2531 9.8067 20.2531C9.69636 20.2531 9.59038 20.2101 9.51124 20.1332L4.12236 14.8594C4.08365 14.8219 4.05287 14.777 4.03185 14.7273C4.01083 14.6777 4 14.6243 4 14.5704C4 14.5165 4.01083 14.4632 4.03185 14.4135C4.05287 14.3639 4.08365 14.319 4.12236 14.2814L5.31767 13.1115C5.39678 13.0348 5.50265 12.9919 5.61285 12.9919C5.72305 12.9919 5.82892 13.0348 5.90803 13.1115L9.73216 16.8546C9.75194 16.874 9.7785 16.8848 9.80616 16.8848C9.83381 16.8848 9.86037 16.874 9.88015 16.8546L13.7043 13.1115C13.7834 13.0346 13.8894 12.9916 13.9997 12.9916C14.1101 12.9916 14.216 13.0346 14.2952 13.1115L18.1198 16.8546C18.1396 16.874 18.1662 16.8848 18.1938 16.8848C18.2215 16.8848 18.2481 16.874 18.2678 16.8546L22.092 13.1115C22.1711 13.0346 22.2771 12.9916 22.3874 12.9916C22.4977 12.9916 22.6037 13.0346 22.6829 13.1115Z",fill:"white"})}),/*#__PURE__*/x("defs",{children:/*#__PURE__*/x("clipPath",{id:"clip0_1765_9946",children:/*#__PURE__*/x("rect",{width:"20",height:"12.2531",fill:"white",transform:"translate(4 8)"})})})]})},X="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAIGNIUk0AAHomAACAhAAA+gAAAIDoAAB1MAAA6mAAADqYAAAXcJy6UTwAAAAGYktHRAD/AP8A/6C9p5MAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAHdElNRQfoDAIVODUC+w+GAAAGsUlEQVRYw6WXbYwWVxXHf+fOLAtCXYS2QJdIaClipGCTknXXNqBQMVHbfmhItH4Aral+IAEaG03UxJgYKQJGTUxtDWjaxDSNtcZqIGDwpRuW1oYiVqpdpZSlpC3qysu+PHPP3w/3mXnmeXZbPzjJZO7cefn/z/mfe865xlscq3dGDIguGiHLaMQVLja4s87FShcLo5jtApdddnHexUmHIy475JmdUkPRAQMu7gzT4ljnxJpdk0QPmMFkyAKN2OfOFpc2uuh1J3MZDrjAvXmVEQUuoosRxw642FcEG7IoDxiFxNiu8NYE+vcUYIFYRKKs113bXWx2Z34CoQZsVHOiCZ7mopdzdsFhv8NexEgRDHMxUSNREbh1bwNZwBsFblmfu/a4a6AEENYO5i3AOoEWeEUCF4MOOxBDMQAOk99OJALA2u80sBCwWGBZWG/yRwMaCAbBIAsQTJT3gea1OWfNeaPzvjoHEI85rA8ObtB1v7cIdJkIHgkh9AXpocy0LJjIKvB2wPpZB0v3wkrw5jdNEjeYeMhFX3BAyfn2ke9NUrgB9LrrcZcGJFCld4fWNddXbvbWfWzGR6xJFZsBGh0cBh3bBIxIEGTQ3W0h4NuDaSAzyAxCmGq11Vzf5uaa1aG8p+WFtrEYQGwvjICJkAEqvC+YNmcmMlMNvEaCdrcbyUvQAWDTjVuESHObM6cPGWHmzDwLaEtmzG9Z3qF1zUpXmuuZBb1z4bqeNC6f0WE1NtUTwHzEloiy3BvFisy0sYoLlQtT6XW15md2Qf9SY+2Ngfdca/TMSm/9ewz+/Boc/It45h/i4kSTsKw90SQJsPTvjSZbkWemDW7qTRZ0JEYJWSKxZJ7xmf6M224MzMzbX1s8F1YugjtvMg6eErt/4/z1jUrz1rXUKxnZC2zIg2mdBTK1mFUOKC1fOt/48kdzVixIz86Nij+eEacvpJWyZJ5xy7th8VzjjpuMJfMCW58QL73ekXPVlhsyE+vyzFiplJyauEIyrGIquruMq7qTxk+dcB495rzyTzFepCUWLIFv/kBg081Gd55WUk1IDGFTS89K++TDYxddzKnWcbluHd450xgdh7EGrOo1rr868PMTzqWJRGZ2d8oB/xpL33Xnxl2rjeNn4blXRXduzJ4B5y+28kWscAwXl+yeR654FFZPHoUb710YuPeDOUdPO48di1xptKpeEeHqOcYXNwQKGd88EDk3mqxtxPSfGRlsXRtYt8z4ytPOH/7eqpg1Aso7fYKgK4NPrMpYvsC4/poMA34yVJIQC3sCD9yecdsNyaV5yPj6ryJnR1PAvSNP4J+/1cgDfLbfePaMGGtM7Qdyl12WmKOmXgKKAp54vmBRTxfLrjE+tSYjBPjRM5FrrzIeuD2jf2lLzw8vN4JlfPVp581LsO1DgXv7jSzAiXPw/d+JiYLpjsu26Yfjf5O0rF5WoxsNT9G/bX0XKxakmPjlSee6HlizJJXSX7/oRDc+vjKR+f2wODcKd78/gR8/C9uedF44myJxmhh4OY/ipMQyqaWxmjn95TfEroMFOzbkvG+RceeqViPx1Aln1yEnOow1AnffHCpJAJ5/Vex4UvzptZRdY/O/1dJIS/NkcNmR6MTYah6qzseA4TfFtw4UvHBW1bc/O+7sPhwZHYf/jMODh5yfPudVbXj2TAJ/8XxrOZagNamj4Ei2/GNfuyRxh8t6BG2l15up+MIVODEiFr8rcPS0+O6RBF6mrrEGHHtFzOo2Lo7Dl37hvPQ6mNV6R9JYKgnYWcE37K5HlE2OT/5A0udaPUBHH+BQOMzuNsYLuDyZflTW+fTcmJFDHhJhaZqewMuewXDxcDR9IYyPN6Jj+6K4MF2vV8qBtZJScqVRNi6lpGONVJis5mpKi1WbgwsY+zIsBpcR8mzIZfuTRVZrtdu9odrptR/Xx5XONXJqBmCN0P6YMUQq9WJiwt0Je102WHdbpxSqydMObBWYdwDWLVcqcIMYe3NPjg0Ht84od0Ajju1w2XCr9e6QoqM9V23ZtnmI6cfAMMb9AY0YEHdb6oobEh4y3H3Ize6LsmGvN5IdUnhttdQ9UVrfLk/ljWEZ9wXsqAdQk1EA+O22GcgdZTke/bAs3OPY4HSdcB20HhvVtTMu0jmI8ekAhz2IICj2hKpNqI60NcuIRUHEej1quzubXa2tmZhenrfZmv3YYQ9ipDAIgvHptmblccuDjdRcmjFpWbDi/9ycZjZkRbk5jYztai/AUwiUx+qdEQB/m+25i9lxyvbcjrg45Lmd0uT/3p7/Fw6ODf+WO019AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDI0LTEyLTAyVDIxOjU2OjQ4KzAwOjAwMVpslgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyNC0xMi0wMlQyMTo1Njo0OCswMDowMEAH1CoAAAAodEVYdGRhdGU6dGltZXN0YW1wADIwMjQtMTItMDJUMjE6NTY6NTMrMDA6MDDZv6GRAAAAAElFTkSuQmCC";function H(e){return["ethereum","solana"].includes(e.chainType)}function q(e){let t=e.replace("eip155:","");if(t)return parseInt(t);throw Error("Chain ID not compatible with CAIP-2 format.")}const Q=e=>e.filter((e=>"wallets"===e.method||("exchange"===e.method?"coinbase"===e.provider:"card"===e.method||"payment-request"===e.method?"coinbase"===e.provider||"moonpay"===e.provider:(e.method,!1)))),V={[p.id]:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",[u.id]:"0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",[h.id]:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",[c.id]:"0x5fd84259d66Cd46123540766Be93DFE6D43130D7",[l.id]:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",[d.id]:"0x41e94eb019c0762f9bfcf9fb1e58725bfb0e7582",[o.id]:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",[r.id]:"0x036CbD53842c5426634e7929541eC2318f3dCF7e",[s.id]:"0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",[i.id]:"0x5425890298aed601595a70ab815c96711a31bc65",[a.id]:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",[n.id]:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d"},K=({address:e,appConfig:t,fundWalletConfig:n,methodScreen:a,chainIdOverride:i,comingFromSendTransactionScreen:s=!1,onComplete:r,onError:o})=>{let d,l;if(!t.fundingConfig)throw Error("Wallet funding is not enabled");let c=Q(t.fundingConfig.options);if(c.length<1)throw Error("Wallet funding is not enabled");d=i||(n?.chain?n.chain.id:q(t.fundingConfig.defaultRecommendedCurrency.chain));let h=t.chains.find((e=>e.id===d));if(!h)throw new A(`Funding chain ${d} is not in PrivyProvider chains list`);let u=n?.amount??t.fundingConfig.defaultRecommendedAmount,p=!1;function f(){if(!d)return;let e=V[d];c.find((e=>"wallets"===e.method))&&!e&&console.warn("Attempting to fund with USDC on chain where USDC address is not known. Funding via external wallet will be disabled."),l=e,p=!0}n&&"asset"in n?"USDC"===n.asset?f():"string"!=typeof n.asset&&"erc20"in n.asset&&(p=((e,t)=>e===V[t.id])(l=n.asset.erc20,h)):"USDC"===t.fundingConfig.defaultRecommendedCurrency.asset&&f();let m=n?.defaultFundingMethod;return{chainType:"ethereum",address:e,amount:u,chain:h,erc20Address:l,erc20ContractInfo:p?{symbol:"USDC",decimals:6}:void 0,isUSDC:p,methodScreen:a,supportedOptions:c,comingFromSendTransactionScreen:s,defaultFundingMethod:m,usingDefaultFundingMethod:!!m,preferredCardProvider:n?.card?.preferredProvider,crossChainBridgingEnabled:t.fundingConfig.crossChainBridgingEnabled??!1,solanaChain:"solana:mainnet",uiConfig:n&&"uiConfig"in n?n.uiConfig:void 0,externalSolanaFundingScreen:null,onComplete:r??(()=>{}),onError:o??(()=>{})}};function $({address:e,fundWalletConfig:t,appConfig:n,comingFromSendTransactionScreen:a,externalSolanaFundingScreen:i,methodScreen:s}){if(!n.fundingConfig)throw Error("Wallet funding is not enabled");let r=Q(n.fundingConfig.options);if(r.length<1)throw Error("Wallet funding is not enabled");if("USDC"===t?.asset&&"solana:testnet"===t?.chain)throw Error("USDC funding is not supported on the Solana testnet");let o=t?.amount??n.fundingConfig.defaultRecommendedAmount,d=t?.defaultFundingMethod;return{chainType:"solana",address:e,supportedOptions:r,amount:o,isUSDC:"USDC"===t?.asset,methodScreen:s,comingFromSendTransactionScreen:a,chain:t?.chain||"solana:mainnet",crossChainBridgingEnabled:n.fundingConfig.crossChainBridgingEnabled??!1,defaultFundingMethod:d,preferredCardProvider:t?.card?.preferredProvider,usingDefaultFundingMethod:!!d,uiConfig:t?.uiConfig,externalSolanaFundingScreen:i,onComplete:()=>{},onError:()=>{}}}function ee(){let{user:e,getAccessToken:t}=I(),{walletProxy:n,openModal:a,client:i}=w(),{setModalData:s}=M(),r=b();return D((()=>({exportWallet:o=>new Promise((async(d,l)=>{if(!e)return void l(Error("User must be authenticated before exporting their Privy wallet"));o&&"target"in o&&o&&(o=void 0);let c=o?.address?T(e,o.address):S(e);if(!c)return void l(new A("User must have an embedded wallet."));let h=c.address,{entropyId:u,entropyIdVerifier:p}=O(e,c),f=W(c);if(!h)return void l(Error("User does not have an HD Ethereum wallet. To export an imported wallet, pass the `address` of the wallet to `exportWallet`."));if(!v(h))return void l(Error("Must provide a valid Ethereum address."));let m={recoveryMethod:c.recoveryMethod,connectingWalletAddress:c.address,isUnifiedWallet:f,entropyId:u,entropyIdVerifier:p,onCompleteNavigateTo:"EmbeddedWalletKeyExportScreen",onFailure:l,shouldForceMFA:!0};await t()&&n?H(c)?(s({keyExport:{appId:r.id,appClientId:r.appClientId,origin:i.apiUrl,address:c.address,entropyId:u,entropyIdVerifier:p,hdWalletIndex:c.walletIndex,chainType:c.chainType,walletId:c.id,isUnifiedWallet:f,imported:c.imported,onSuccess:d,onFailure:l,showBackButton:o?.showBackButton},connectWallet:m}),a("EmbeddedWalletConnectingScreen")):l(Error(`Export is not supported for ${c.chainType} wallets`)):l(Error("Must have valid access token."))}))})),[e,t,n,a,i,s,r])}export{U as C,F as P,z as S,X as W,Q as a,P as b,B as c,R as d,q as e,N as f,$ as g,Z as h,H as i,j,Y as l,K as p,_ as s,k as t,ee as u};
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import{useEffect as e,useState as t,createContext as n,useContext as i,useMemo as a,useCallback as r}from"react";import{create as l}from"zustand";import{u as o,n as s,o as c,p as d}from"./context-bWeWAiND.mjs";import{styled as h,css as p}from"styled-components";import{jsx as u,jsxs as m}from"react/jsx-runtime";import*as w from"react-device-detect";import{c as f,s as y,f as g,d as b,S as v}from"./use-export-wallet-DyNNbsJn.mjs";import{u as x}from"./events-context-CI0iqAXA.mjs";import{isAddress as k}from"viem";import{getAddress as C,toHex as _}from"viem/utils";import{P as T,u as P}from"./internal-context-Z-fyxadS.mjs";import{a as W}from"./getPublicClient-B4uPLKn-.mjs";import{P as z}from"./get-is-unified-wallet-GcvxyU9r.mjs";import{u as $}from"./useWallets-izyyA2re.mjs";const S=l((()=>({listings:[],loading:!1}))),I=S.setState,j=e=>S.getState().listings.find((({slug:t})=>N(t)===N(e))),E=e=>{let t;try{t=new URL(e).hostname}catch(e){return}return S.getState().listings.find((({homepage:e})=>{let n;try{n=new URL(e).hostname}catch(e){return!1}return t.includes(n)}))},D=(t=!0)=>{let n=o(),i=S((e=>e.listings)),a=S((e=>e.loading)),r=!!i.length;return e((()=>{t&&!r&&(I({listings:[],loading:!0}),(async e=>{let t=new URL("v3/wallets","https://explorer-api.walletconnect.com");t.searchParams.append("projectId",e);let n=await fetch(t);return n.ok?Object.values((await n.json()).listings).sort((({slug:e},{slug:t})=>"rainbow"===e&&"metamask"===t?1:"metamask"===e||"rainbow"===e?-1:1)):(console.debug(`Failed to fetch WalletConnect listings: ${await n.text().catch((()=>"No response."))}`),[])})(n.walletConnectCloudProjectId).then((e=>I({listings:e,loading:!1}))).catch((e=>{console.error(e),I({listings:[],loading:!1})})))}),[t,r,n.walletConnectCloudProjectId]),{listings:i,loading:a}},O=e=>{let{listings:t}=D();return t.find((({slug:t})=>N(t)===N(e)))};function N(e){return"cryptocom"===e?"cryptocom-defi":"binance"===e?"binance-defi":e.replace(/[-_]wallet$/,"")}function A(e){return["wallet_connect","backpack","binance","binanceus","bitget_wallet","bybit_wallet","cryptocom","haha_wallet","jupiter","metamask","okx_wallet","phantom","rabby_wallet","rainbow","ronin_wallet","safe","solflare","uniswap","zerion","kraken_wallet"].some((t=>e?.includes(t)))}const M=e=>e.isApexWallet?"Apex Wallet":e.isAvalanche?"Core Wallet":e.isBackpack?"Backpack":e.isBifrost?"Bifrost Wallet":e.isBitKeep?"BitKeep":e.isBitski?"Bitski":e.isBlockWallet?"BlockWallet":e.isBraveWallet?"Brave Wallet":e.isClover?"Clover":e.isCoin98?"Coin98 Wallet":e.isCoinbaseWallet?"Coinbase Wallet":e.isDawn?"Dawn Wallet":e.isDefiant?"Defiant":e.isDesig?"Desig Wallet":e.isEnkrypt?"Enkrypt":e.isExodus?"Exodus":e.isFordefi?"Fordefi":e.isFrame?"Frame":e.isFrontier?"Frontier Wallet":e.isGamestop?"GameStop Wallet":e.isHaqqWallet?"HAQQ Wallet":e.isHyperPay?"HyperPay Wallet":e.isImToken?"ImToken":e.isHaloWallet?"Halo Wallet":e.isKuCoinWallet?"KuCoin Wallet":e.isMathWallet?"MathWallet":e.isNovaWallet?"Nova Wallet":e.isOkxWallet||e.isOKExWallet?"OKX Wallet":e.isOneInchIOSWallet||e.isOneInchAndroidWallet?"1inch Wallet":e.isOneKey?"OneKey Wallet":e.isOpera?"Opera":e.isPhantom||"isPhantom"in e?"Phantom":e.isPortal?"Ripio Portal":e.isRabby?"Rabby Wallet":e.isRainbow?"Rainbow":e.isSafePal?"SafePal Wallet":e.isStatus?"Status":e.isSubWallet?"SubWallet":e.isTalisman?"Talisman":e.isTally||e.isTaho?"Taho":e.isTokenPocket?"TokenPocket":e.isTokenary?"Tokenary":e.isTrust||e.isTrustWallet?"Trust Wallet":e.isTTWallet?"TTWallet":e.isXDEFI?"XDEFI Wallet":e.isZeal?"Zeal":e.isZerion?"Zerion":e.isMetaMask?"MetaMask":void 0,L=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||"MetaMask"!==M(e))return!1;if(e.providers)for(let t of e.providers)if(!L(t))return!1;return!0},F=()=>{let e=window;if(!e.ethereum)return!1;if(e.ethereum.isCoinbaseWallet)return!0;if(e.ethereum.providers)for(let t of e.ethereum.providers)if(t&&t.isCoinbaseWallet)return!0;return!1},B=(e,t)=>{let n=[],i=[];for(let[a,r]of e.entries())a<t?n.push(r):i.push(r);return[n,i]},U=e=>!!String(e).toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/),R=(e,t)=>{let n=e.slice(0),i=[];for(;n.length;)i.push(n.splice(0,t));return i},q=(e,t=3,n=4,i="ethereum")=>{if(!e)return"";let a="ethereum"===i?2:0;return t+n+a+3>=e.length?e:`${e.slice(0,a+t)}...${e.slice(e.length-n,e.length)}`},K=(e,t=3,n=4)=>q(e,t,n,"solana"),H=e=>new Promise((t=>setTimeout(t,e)));function Z(e,{interval:t=100,timeout:n=5e3}={}){return new Promise(((i,a)=>{let r,l=0,o=()=>{l>=n?a("Max attempts reached without result"):(r=e(),l+=t,null==r?setTimeout(o,t):i(r))};o()}))}const X=(e,t={})=>{let n=t.delayMs||150,i=t.maxAttempts||270;return new Promise((async(a,r)=>{let l=!1,o=0;for(;!l&&o<i;){if(t.abortSignal?.aborted)return;e().then((e=>{l=!0,a(e)}),((...e)=>{l=!0,r(...e)})),o+=1,await H(n)}l||r(Error("Exceeded max attempts before resolving function"))}))},G=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,""),J=e=>"string"==typeof e?e:"0x"+e.toString(16);async function Q({store:e,walletList:t,externalWalletConfig:n,walletChainType:i,timeout:a=3e3}){let r=!1,l=window;return new Promise((o=>{function s(){if(r)return;r=!0,window.removeEventListener("ethereum#initialized",s);let a=e.getProviders();console.debug("Detected injected providers:",a.map((e=>e.info)));let l=[];for(let e of a)t.includes("coinbase_wallet")&&"com.coinbase.wallet"===e.info.rdns||"solana-only"===i&&"app.phantom"===e.info.rdns||l.push({type:e.info.name.toLowerCase().replace(/\s/g,"_"),eip6963InjectedProvider:e});if("solana-only"!==i)for(let e of function(){let e=window,t=e.ethereum;if(!t)return[];let n=[];if(t.providers?.length)for(let e of t.providers)e&&n.push(e);return n.push(e.ethereum),n}()){let t=M(e);if(!a.some((e=>e.info.name===t))){if(L(e,!0)&&!l.find((e=>"metamask"===e.type))){l.push({type:"metamask",legacyInjectedProvider:e});continue}if("Phantom"===t&&!l.find((e=>"phantom"===e.type))){l.push({type:"phantom",legacyInjectedProvider:e});continue}if("Coinbase Wallet"===t&&!l.find((e=>"coinbase_wallet"===e.type&&"smartWalletOnly"!==n.coinbaseWallet?.config?.preference?.options))){l.push({type:"coinbase_wallet",legacyInjectedProvider:e});continue}l.find((e=>"unknown_browser_extension"===e.type))||l.push({type:"unknown_browser_extension",legacyInjectedProvider:e})}}o(l)}l.ethereum?s():(window.addEventListener("ethereum#initialized",s,{once:!0}),setTimeout((()=>{s()}),a))}))}function V(e){return`eip155:${String(Number(e))}`}const Y=(e,t,n,i)=>{let a=Number(e),r=t.find((e=>e.id===a));if(!r)throw new T(`Unsupported chainId ${e}`,4901);return W(r,n,i)},ee=(e,t)=>{let n=Number(e),i=t.find((e=>e.id===n));if(!i)throw new T(`Unsupported chainId ${e}`,4901);return i.blockExplorers?.default.url},te=e=>{let t={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},n=e.types.EIP712Domain??Object.entries(e.domain).map((([e,n])=>{if(null!=n&&"string"==typeof e&&e in t)return{name:e,type:t[e]}})).filter((e=>void 0!==e));return{...e,types:{...e.types,EIP712Domain:n}}};function ne(e,{min:t,max:n}){return Math.min(Math.max(e,t),n)}const ie=e=>e?.map((e=>({signer_id:e.signerId,override_policy_ids:e.policyIds})));function ae(e){return"ethereum"===e.type}function re(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],a=t[n];if(i?.address!==a?.address||i&&a&&ae(i)&&ae(a)&&i?.chainId!==a?.chainId||i?.connectorType!==a?.connectorType||i?.connectedAt!==a?.connectedAt||i?.walletClientType!==a?.walletClientType||i?.isConnected!==a?.isConnected||i?.linked!==a?.linked)return!1}return!0}const le=(e,t)=>e.rpcTimeouts&&e.rpcTimeouts[t]||s;function oe(e){return"ethereum"===e.chainType}class se extends f{buildConnectedWallet(e,t,n,i){let a=async()=>!!this.wallets.find((t=>C(t.address)===C(e)));return{type:"ethereum",address:C(e),chainId:t,meta:n,imported:i,switchChain:async n=>{let i,r;if(!a)throw new T("Wallet is not currently connected.");let l=this.wallets.find((t=>C(t.address)===C(e)))?.chainId;if(!l)throw new T("Unable to determine current chainId.");if("number"==typeof n?(i=`0x${n.toString(16)}`,r=n):(i=n,r=Number(n)),l===V(i))return;let o=this.chains.find((e=>e.id===r));if(!o)throw new T(`Unsupported chainId: ${n}`);let s=async()=>{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:i}]})};try{return await s()}catch(e){if(((e,t)=>{switch(t){case"coinbase_wallet":case"base_account":return e.message.includes("addEthereumChain");case"rabby_wallet":return e.message.includes("Unrecognized chain ID");default:return 4902===e.code||e.message?.includes("4902")}})(e,this.walletClientType))return"rabby_wallet"===this.walletClientType&&await H(300),await this.proxyProvider.request({method:"wallet_addEthereumChain",params:[{chainId:i,chainName:o.name,nativeCurrency:o.nativeCurrency,rpcUrls:[o.rpcUrls.default?.http[0]??""],blockExplorerUrls:[o.blockExplorers?.default.url??""]}]}),s();if("rainbow"===this.walletClientType&&e.message?.includes("wallet_switchEthereumChain"))throw new T(`Rainbow does not support the chainId ${t}`);throw e}},connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:a,getEthereumProvider:async()=>{if(!await a())throw new T("Wallet is not currently connected.");return this.proxyProvider},sign:async e=>{if(!await a())throw new T("Wallet is not currently connected.");return await this.sign(e)},disconnect:()=>{this.disconnect()}}}async syncAccounts(e){let t,n=e;try{if(void 0===n){let e=await X((()=>this.proxyProvider.request({method:"eth_accounts"})),{maxAttempts:10,delayMs:500});console.debug(`eth_accounts for ${this.walletClientType}:`,e),Array.isArray(e)&&(n=e)}}catch(e){console.debug("Wallet did not respond to eth_accounts. Defaulting to prefetched accounts.",e)}if(!n||!Array.isArray(n)||n.length<=0||!n[0])return;let i=n[0];if(!k(i))return void console.warn(`Invalid ethereum address reported by ${this.walletClientType}: ${i}`);let a=C(i),r=[];if("privy"===this.walletClientType){let e=y.get(c(a));this.chains.find((t=>t.id===Number(e)))||(y.del(c(a)),e=null),t=e||`0x${this.defaultChain.id.toString(16)}`;try{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}catch(e){console.warn(`Unable to switch embedded wallet to chain ID ${t} on initialization`)}}else try{let e=await X((()=>this.proxyProvider.request({method:"eth_chainId"})),{maxAttempts:10,delayMs:500});if(console.debug(`eth_chainId for ${this.walletClientType}:`,e),"string"==typeof e)t=e;else{if("number"!=typeof e)throw Error("Invalid chainId returned from provider");t=`0x${e.toString(16)}`}}catch(e){console.warn(`Failed to get chainId from provider, defaulting to ${d}`,e),t=d}let l=V(t);if(!r.find((e=>C(e.address)===a))){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};r.push(this.buildConnectedWallet(C(i),l,e,"embedded_imported"===this.connectorType))}re(r,this.wallets)||(this.wallets=r,this.emit("walletsUpdated"))}async getConnectedWallet(){let e=await this.proxyProvider.request({method:"eth_accounts"});return this.wallets.sort(((e,t)=>t.connectedAt-e.connectedAt)).find((t=>e.find((e=>C(e)===C(t.address)))))||null}async isConnected(){let e=await this.proxyProvider.request({method:"eth_accounts"});return Array.isArray(e)&&e.length>0}async sign(e){return await this.connect({showPrompt:!1}),this.proxyProvider.request({method:"personal_sign",params:[_(e),this.wallets[0]?.address]})}subscribeListeners(){this.proxyProvider.on("accountsChanged",this.onAccountsChanged),this.proxyProvider.on("chainChanged",this.onChainChanged),this.proxyProvider.on("disconnect",this.onDisconnect),this.proxyProvider.on("connect",this.onConnect)}unsubscribeListeners(){this.proxyProvider.removeListener("accountsChanged",this.onAccountsChanged),this.proxyProvider.removeListener("chainChanged",this.onChainChanged),this.proxyProvider.removeListener("disconnect",this.onDisconnect),this.proxyProvider.removeListener("connect",this.onConnect)}constructor(e,t,n,i){super(e),this.chainType="ethereum",this.onAccountsChanged=e=>{0===e.length?this.onDisconnect():this.syncAccounts(e)},this.onChainChanged=e=>{this.wallets.forEach((t=>{t.chainId=V(e),"privy"===this.walletClientType&&y.put(c(t.address),e)})),this.emit("walletsUpdated")},this.onDisconnect=()=>{this.connected=!1,this.wallets=[],this.emit("walletsUpdated")},this.onConnect=async()=>{"base_account"===this.connectorType&&this.connected||(this.connected=!0,"coinbase_wallet"===this.connectorType&&await H(500),this.syncAccounts())},this.wallets=[],this.walletClientType=e,this.chains=t,this.defaultChain=n,this.rpcConfig=i,this.rpcTimeoutDuration=le(i,e),this.connected=!1,this.initialized=!1}}class ce{on(e,t){if(this.walletProvider)return this.walletProvider.on(e,t);this._subscriptions.push({eventName:e,listener:t})}async request(e){if(!this.walletProvider)throw new T(`A wallet request of type ${e.method} was made before setting a wallet provider.`);return Promise.race([this.walletProvider.request(e),this.walletTimeout()]).catch((e=>{throw g(e)}))}constructor(e,t){this.removeListener=(e,t)=>{if(this.walletProvider)try{return this.walletProvider.removeListener(e,t)}catch(e){console.warn("Unable to remove wallet provider listener")}},this.walletTimeout=(e=new b,t=this.rpcTimeoutDuration)=>new Promise(((n,i)=>setTimeout((()=>{i(e)}),t))),this.setWalletProvider=e=>{this.walletProvider&&this._subscriptions.forEach((e=>{this.removeListener(e.eventName,e.listener)})),this.walletProvider=e,this._subscriptions.forEach((e=>{this.walletProvider?.on(e.eventName,e.listener)}))},this.walletProvider=e,this.rpcTimeoutDuration=t||s,this._subscriptions=[]}}const de=n=>{let[i,a]=t("auto");return e((()=>{let e=new ResizeObserver((e=>{a(e[0]?.contentRect.height??"auto")}));return n.current&&e.observe(n.current),()=>{n.current&&e.unobserve(n.current)}}),[n.current]),i},he=h.div`
|
|
2
|
-
text-align: left;
|
|
3
|
-
flex-grow: 1;
|
|
4
|
-
`,pe=h.div`
|
|
5
|
-
display: flex;
|
|
6
|
-
flex-direction: column;
|
|
7
|
-
justify-content: flex-end;
|
|
8
|
-
flex-grow: 1;
|
|
9
|
-
`,ue=h.div`
|
|
10
|
-
display: flex;
|
|
11
|
-
flex-direction: column;
|
|
12
|
-
gap: 8px;
|
|
13
|
-
|
|
14
|
-
/* for Internet Explorer, Edge */
|
|
15
|
-
-ms-overflow-style: none;
|
|
16
|
-
|
|
17
|
-
/* for Firefox */
|
|
18
|
-
scrollbar-width: none;
|
|
19
|
-
|
|
20
|
-
/* for Chrome, Safari, and Opera */
|
|
21
|
-
&::-webkit-scrollbar {
|
|
22
|
-
display: none;
|
|
23
|
-
}
|
|
24
|
-
`,me=h(ue)`
|
|
25
|
-
${e=>"light"===e.$colorScheme?"background: linear-gradient(var(--privy-color-background), var(--privy-color-background) 70%) bottom, linear-gradient(rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.06)) bottom;":"dark"===e.$colorScheme?"background: linear-gradient(var(--privy-color-background), var(--privy-color-background) 70%) bottom, linear-gradient(rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, 0.06)) bottom;":void 0}
|
|
26
|
-
|
|
27
|
-
background-repeat: no-repeat;
|
|
28
|
-
background-size:
|
|
29
|
-
100% 32px,
|
|
30
|
-
100% 16px;
|
|
31
|
-
background-attachment: local, scroll;
|
|
32
|
-
max-height: 400px;
|
|
33
|
-
overflow-y: auto;
|
|
34
|
-
scrollbar-width: none;
|
|
35
|
-
padding: 3px;
|
|
36
|
-
`;let we=p`
|
|
37
|
-
&& {
|
|
38
|
-
width: 100%;
|
|
39
|
-
font-size: 16px;
|
|
40
|
-
line-height: 24px;
|
|
41
|
-
min-height: 56px;
|
|
42
|
-
|
|
43
|
-
/* Tablet and Up */
|
|
44
|
-
@media (min-width: 440px) {
|
|
45
|
-
font-size: 14px;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
display: flex;
|
|
49
|
-
gap: 12px;
|
|
50
|
-
align-items: center;
|
|
51
|
-
color: var(--privy-color-foreground);
|
|
52
|
-
|
|
53
|
-
padding: 10px 12px;
|
|
54
|
-
border: 1px solid var(--privy-color-foreground-4) !important;
|
|
55
|
-
border-radius: var(--privy-border-radius-md);
|
|
56
|
-
transition: background-color 200ms ease;
|
|
57
|
-
|
|
58
|
-
cursor: pointer;
|
|
59
|
-
|
|
60
|
-
&:hover {
|
|
61
|
-
background-color: var(--privy-color-background-2);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
&:disabled {
|
|
65
|
-
cursor: pointer;
|
|
66
|
-
background-color: var(--privy-color-background-2);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
`;const fe=h.div`
|
|
70
|
-
text-align: center;
|
|
71
|
-
font-size: 14px;
|
|
72
|
-
margin-bottom: 24px;
|
|
73
|
-
`,ye=h.button.attrs({className:"login-method-button"})`
|
|
74
|
-
${we}
|
|
75
|
-
`;h.a`
|
|
76
|
-
${we}
|
|
77
|
-
`;const ge=h.div`
|
|
78
|
-
width: 32px;
|
|
79
|
-
height: 32px;
|
|
80
|
-
border-radius: ${e=>e.$fullSize?"0":"4px"};
|
|
81
|
-
background: ${e=>e.$fullSize?"transparent":"var(--privy-color-background-2)"};
|
|
82
|
-
display: flex;
|
|
83
|
-
align-items: center;
|
|
84
|
-
justify-content: center;
|
|
85
|
-
flex-shrink: 0;
|
|
86
|
-
|
|
87
|
-
svg {
|
|
88
|
-
width: ${e=>e.$fullSize?"32px":"18px"};
|
|
89
|
-
height: ${e=>e.$fullSize?"32px":"18px"};
|
|
90
|
-
color: ${e=>e.$fullSize?"inherit":"var(--privy-color-icon-muted)"};
|
|
91
|
-
}
|
|
92
|
-
`,be=h.div`
|
|
93
|
-
width: 100%;
|
|
94
|
-
height: 100%;
|
|
95
|
-
min-height: inherit;
|
|
96
|
-
display: flex;
|
|
97
|
-
flex-direction: column;
|
|
98
|
-
${e=>e.$if?"display: none;":""}
|
|
99
|
-
`,ve=h.div`
|
|
100
|
-
width: 100%;
|
|
101
|
-
height: 100%;
|
|
102
|
-
padding: ${e=>e.$withPadding?"64px 0px":"0px"};
|
|
103
|
-
`,xe=h.div`
|
|
104
|
-
display: flex;
|
|
105
|
-
flex-direction: column;
|
|
106
|
-
align-items: center;
|
|
107
|
-
justify-content: center;
|
|
108
|
-
margin-bottom: 32px;
|
|
109
|
-
gap: 12px;
|
|
110
|
-
& h3 {
|
|
111
|
-
font-size: 18px;
|
|
112
|
-
font-style: normal;
|
|
113
|
-
font-weight: 600;
|
|
114
|
-
line-height: 24px;
|
|
115
|
-
}
|
|
116
|
-
& p {
|
|
117
|
-
max-width: 300px;
|
|
118
|
-
font-size: 14px;
|
|
119
|
-
font-style: normal;
|
|
120
|
-
font-weight: 400;
|
|
121
|
-
line-height: 20px;
|
|
122
|
-
}
|
|
123
|
-
`,ke=({success:e,fail:t})=>/*#__PURE__*/m(_e,{children:[/*#__PURE__*/u(Ce,{children:/*#__PURE__*/u(Pe,{className:e?"success":t?"fail":""})}),/*#__PURE__*/u(Ce,{children:/*#__PURE__*/u(Te,{className:e?"success":t?"fail":""})})]});let Ce=h.span`
|
|
124
|
-
&& {
|
|
125
|
-
position: absolute;
|
|
126
|
-
top: 0;
|
|
127
|
-
left: 0;
|
|
128
|
-
z-index: 2;
|
|
129
|
-
}
|
|
130
|
-
`,_e=h.span`
|
|
131
|
-
position: relative;
|
|
132
|
-
width: 82px;
|
|
133
|
-
height: 82px;
|
|
134
|
-
display: inline-block;
|
|
135
|
-
`;const Te=h.span`
|
|
136
|
-
&& {
|
|
137
|
-
width: 82px;
|
|
138
|
-
height: 82px;
|
|
139
|
-
border-width: 4px;
|
|
140
|
-
border-style: solid;
|
|
141
|
-
border-color: ${e=>e.color??"var(--privy-color-icon-subtle)"};
|
|
142
|
-
border-bottom-color: transparent;
|
|
143
|
-
border-radius: 50%;
|
|
144
|
-
display: inline-block;
|
|
145
|
-
box-sizing: border-box;
|
|
146
|
-
animation: rotation 1.2s linear infinite;
|
|
147
|
-
transition: border-color 800ms;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
@keyframes rotation {
|
|
151
|
-
0% {
|
|
152
|
-
transform: rotate(0deg);
|
|
153
|
-
}
|
|
154
|
-
100% {
|
|
155
|
-
transform: rotate(360deg);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
&&&.success {
|
|
160
|
-
border-color: var(--privy-color-icon-success);
|
|
161
|
-
border-bottom-color: var(--privy-color-icon-success);
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
&&&.fail {
|
|
165
|
-
border-color: var(--privy-color-icon-error);
|
|
166
|
-
border-bottom-color: var(--privy-color-icon-error);
|
|
167
|
-
}
|
|
168
|
-
`,Pe=h(Te)`
|
|
169
|
-
&& {
|
|
170
|
-
border-bottom-color: ${e=>e.color??"var(--privy-color-border-default)"};
|
|
171
|
-
border-color: ${e=>e.color??"var(--privy-color-border-default)"};
|
|
172
|
-
animation: none;
|
|
173
|
-
opacity: 0.5;
|
|
174
|
-
}
|
|
175
|
-
`,We=e=>/*#__PURE__*/u(ze,{color:e.color||"var(--privy-color-foreground-3)"});let ze=h(Te)`
|
|
176
|
-
&& {
|
|
177
|
-
height: 1rem;
|
|
178
|
-
width: 1rem;
|
|
179
|
-
margin: 2px 0;
|
|
180
|
-
border-width: 1.5px;
|
|
181
|
-
|
|
182
|
-
/* Override default Loader to match button transitions */
|
|
183
|
-
transition: border-color 200ms ease;
|
|
184
|
-
}
|
|
185
|
-
`;const $e=["metamask","phantom","brave_wallet","rainbow","uniswap_wallet_extension","uniswap_extension","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","crypto.com_wallet_extension","crypto.com_onchain","binance","bitget_wallet","coinbase_wallet","coinbase_smart_wallet","base_account","metamask","trust","safe","rainbow","uniswap","zerion","argent","spot","omni","cryptocom","blockchain","safepal","bitget_wallet","zengo","1inch","binance","exodus","mew_wallet","alphawallet","keyring_pro","mathwallet","unstoppable","obvious","ambire","internet_money_wallet","coin98","abc_wallet","arculus_wallet","haha","cling_wallet","broearn","copiosa","burrito_wallet","enjin_wallet","plasma_wallet","avacus","bee","pitaka","pltwallet","minerva","kryptogo","prema","slingshot","kriptonio","timeless","secux","bitizen","blocto","okx_wallet","safemoon","rabby_wallet","bybit_wallet","ronin_wallet","haha_wallet","privy","unknown","phantom","solflare","glow","backpack","jupiter","mobile_wallet_adapter"],Se=Object.freeze({phantom:{client:"phantom",name:"Phantom",installLink:w.isFirefox?"https://addons.mozilla.org/en-US/firefox/addon/phantom-app/":"https://chrome.google.com/webstore/detail/phantom/bfnaelmomeimhlpmgjnjophhpkkoljpa?hl=en",chainTypes:["ethereum","solana"],get isInstalled(){if("phantom"in window){let e=window;if(e?.phantom?.ethereum?.isPhantom&&e?.phantom?.ethereum?.chainId||e?.phantom?.solana?.isPhantom)return!0}return!1},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"phantom://":"https://phantom.app/ul/"}browse/${i}?ref=${i}`}},solflare:{client:"solflare",name:"Solflare",installLink:w.isFirefox?"https://addons.mozilla.org/es/firefox/addon/solflare-wallet/":"https://chromewebstore.google.com/detail/solflare-wallet/bhhhlbepdkbapadjdnnojkbgioiodbic",chainTypes:["solana"],get isInstalled(){return"solflare"in window&&!!window?.solflare?.isSolflare},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"solflare://ul/v1/":"https://solflare.com/ul/v1/"}browse/${i}?ref=${i}`}},jupiter:{client:"jupiter",name:"Jupiter Wallet",installLink:"https://chromewebstore.google.com/detail/jupiter-wallet/iledlaeogohbilgbfhmbgkgmpplbfboh",chainTypes:["solana"],get isInstalled(){return"jupiter"in window&&!!window?.jupiter?.isJupiter},getMobileRedirect({isSolana:e,connectOnly:t}){let n=je({client:this.client,isSolana:e,connectOnly:t});return`jupjupjup://jup.ag/browse/${n}?ref=${n}`}},backpack:{client:"backpack",name:"Backpack",installLink:"https://chromewebstore.google.com/detail/backpack/aflkmfhebedbjioipglgcbcmnbpgliof",chainTypes:["ethereum","solana"],get isInstalled(){return!(!("backpack"in window)||!window?.backpack?.ethereum?.isBackpack&&!window?.backpack?.solana?.isBackpack)},getMobileRedirect({useUniversalLink:e,isSolana:t,connectOnly:n}){let i=je({client:this.client,isSolana:t,connectOnly:n});return`${e?"backpack://ul/v1/":"https://backpack.app/ul/v1/"}browse/${i}?ref=${i}`}},okx_wallet:{client:"okx_wallet",name:"OKX Wallet",installLink:"https://chromewebstore.google.com/detail/okx-wallet/mcohilncbfahbmgdjkbpemcciiolgcge",chainTypes:["ethereum","solana"],get isInstalled(){return"okxwallet"in window&&!!window?.okxwallet?.isOkxWallet},getMobileRedirect({isSolana:e,connectOnly:t}){return`okx://wallet/dapp/url?dappUrl=${je({client:this.client,isSolana:e,connectOnly:t})}`}}});function Ie({connectorType:e,walletClientType:t}){for(let n of $e)if(e===n||t===n)return Se[n]}function je({client:e,isSolana:t,connectOnly:n}){let i=new URL(window.location.href);return i.searchParams.set("privy_connector",t?"solana_adapter":"injected"),i.searchParams.set("privy_wallet_client",e),i.searchParams.set("privy_connect_only",String(n)),encodeURIComponent(i.href.replace(/\/$/g,""))}class Ee extends v{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the SolanaNullConnector")}constructor({id:e,name:t,icon:n}){super({name:t},!1),this.connectorType="null",this.proxyProvider=new ce(void 0,s),this.disconnect=async()=>{throw Error("disconnect called for an uninstalled wallet via the SolanaNullConnector")},this.promptConnection=async()=>{throw Error("promptConnection called for an uninstalled wallet via the SolanaNullConnector")},this.id=e,this.name=t,this.icon=n}}function De(e){return"solana"===e.chainType}function Oe(e){return"solana"===e.type}let Ne=/*#__PURE__*/n({});const Ae=({children:n})=>{let i=o(),[a,r]=t({});return x("login",{onComplete:({loginAccount:e})=>{e&&"passkey"!==e.type&&"cross_app"!==e.type&&("wallet"!==e.type||"privy"!==e.walletClientType)&&(y.put(Me(i.id),e.type),"wallet"===e.type?(y.put(Le(i.id),e.walletClientType),y.put(Fe(i.id),e.chainType),r({accountType:e.type,walletClientType:e.walletClientType,chainType:e.chainType})):(y.del(Le(i.id)),y.del(Fe(i.id)),r({accountType:e.type})))}}),e((()=>{if(!i.id)return;let e=y.get(Me(i.id)),t=y.get(Le(i.id)),n=y.get(Fe(i.id));e&&r("wallet"===e?{accountType:e,walletClientType:t,chainType:n}:{accountType:e})}),[i.id]),/*#__PURE__*/u(Ne.Provider,{value:a,children:n})};let Me=e=>`privy:${e}:recent-login-method`,Le=e=>`privy:${e}:recent-login-wallet-client`,Fe=e=>`privy:${e}:recent-login-chain-type`;const Be=()=>i(Ne);class Ue extends se{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the EthereumNullConnector")}disconnect(){throw Error("disconnect called for an uninstalled wallet via the EthereumNullConnector")}promptConnection(e){throw Error(`promptConnection called for an uninstalled wallet via the EthereumNullConnector for ${e}`)}constructor({id:e,name:t,icon:n,walletClientType:i,defaultChain:a}){super(i,[],a,{}),this.connectorType="null",this.proxyProvider=new ce(void 0,s),this.id=e,this.name=t,this.icon=n}}const Re=({...e})=>/*#__PURE__*/m("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",...e,children:[/*#__PURE__*/u("rect",{width:"32",height:"32",rx:"6",fill:"#121314"}),/*#__PURE__*/u("g",{transform:"translate(4, 4)",children:/*#__PURE__*/m("svg",{width:"24",height:"24",viewBox:"0 0 318.6 318.6",children:[/*#__PURE__*/u("style",{children:".s1{stroke-linecap:round;stroke-linejoin:round}.s2{fill:#e4761b;stroke:#e4761b}.s3{fill:#f6851b;stroke:#f6851b}"}),/*#__PURE__*/u("path",{fill:"#e2761b",stroke:"#e2761b",className:"s1",d:"m274.1 35.5-99.5 73.9L193 65.8z"}),/*#__PURE__*/u("path",{d:"m44.4 35.5 98.7 74.6-17.5-44.3zm193.9 171.3-26.5 40.6 56.7 15.6 16.3-55.3zm-204.4.9L50.1 263l56.7-15.6-26.5-40.6z",className:"s1 s2"}),/*#__PURE__*/u("path",{d:"m103.6 138.2-15.8 23.9 56.3 2.5-2-60.5zm111.3 0-39-34.8-1.3 61.2 56.2-2.5zM106.8 247.4l33.8-16.5-29.2-22.8zm71.1-16.5 33.9 16.5-4.7-39.3z",className:"s1 s2"}),/*#__PURE__*/u("path",{fill:"#d7c1b3",stroke:"#d7c1b3",className:"s1",d:"m211.8 247.4-33.9-16.5 2.7 22.1-.3 9.3zm-105 0 31.5 14.9-.2-9.3 2.5-22.1z"}),/*#__PURE__*/u("path",{fill:"#233447",stroke:"#233447",className:"s1",d:"m138.8 193.5-28.2-8.3 19.9-9.1zm40.9 0 8.3-17.4 20 9.1z"}),/*#__PURE__*/u("path",{fill:"#cd6116",stroke:"#cd6116",className:"s1",d:"m106.8 247.4 4.8-40.6-31.3.9zM207 206.8l4.8 40.6 26.5-39.7zm23.8-44.7-56.2 2.5 5.2 28.9 8.3-17.4 20 9.1zm-120.2 23.1 20-9.1 8.2 17.4 5.3-28.9-56.3-2.5z"}),/*#__PURE__*/u("path",{fill:"#e4751f",stroke:"#e4751f",className:"s1",d:"m87.8 162.1 23.6 46-.8-22.9zm120.3 23.1-1 22.9 23.7-46zm-64-20.6-5.3 28.9 6.6 34.1 1.5-44.9zm30.5 0-2.7 18 1.2 45 6.7-34.1z"}),/*#__PURE__*/u("path",{d:"m179.8 193.5-6.7 34.1 4.8 3.3 29.2-22.8 1-22.9zm-69.2-8.3.8 22.9 29.2 22.8 4.8-3.3-6.6-34.1z",className:"s3"}),/*#__PURE__*/u("path",{fill:"#c0ad9e",stroke:"#c0ad9e",className:"s1",d:"m180.3 262.3.3-9.3-2.5-2.2h-37.7l-2.3 2.2.2 9.3-31.5-14.9 11 9 22.3 15.5h38.3l22.4-15.5 11-9z"}),/*#__PURE__*/u("path",{fill:"#161616",stroke:"#161616",className:"s1",d:"m177.9 230.9-4.8-3.3h-27.7l-4.8 3.3-2.5 22.1 2.3-2.2h37.7l2.5 2.2z"}),/*#__PURE__*/u("path",{fill:"#763d16",stroke:"#763d16",className:"s1",d:"m278.3 114.2 8.5-40.8-12.7-37.9-96.2 71.4 37 31.3 52.3 15.3 11.6-13.5-5-3.6 8-7.3-6.2-4.8 8-6.1zM31.8 73.4l8.5 40.8-5.4 4 8 6.1-6.1 4.8 8 7.3-5 3.6 11.5 13.5 52.3-15.3 37-31.3-96.2-71.4z"}),/*#__PURE__*/u("path",{d:"m267.2 153.5-52.3-15.3 15.9 23.9-23.7 46 31.2-.4h46.5zm-163.6-15.3-52.3 15.3-17.4 54.2h46.4l31.1.4-23.6-46zm71 26.4 3.3-57.7 15.2-41.1h-67.5l15 41.1 3.5 57.7 1.2 18.2.1 44.8h27.7l.2-44.8z",className:"s3"})]})})]});function qe(e){let{login:t}=i(z);return x("login",e),{login:t}}function Ke(e){let{logout:t}=i(z);return x("logout",e),{logout:t}}function He(e){let{connectWallet:t}=i(z);return x("connectWallet",e),{connectWallet:t}}const Ze=e=>{x("fundWallet",e);let{fundWallet:t}=P();return{fundWallet:({address:e,options:n})=>t(e,n)}},Xe=l((()=>({isModalOpen:!1,resolvers:null})));let Ge=l((()=>({})));const Je=(e,t)=>Ge((n=>n[e]?.[t])),Qe=(e,t,n)=>{Ge.setState((i=>({[e]:{...i[e],[t]:n}})))},Ve=async()=>{let e,t,n=new Promise(((n,i)=>{e=n,t=i}));return Ge.setState({}),Xe.setState({isModalOpen:!0,resolvers:{resolve:e,reject:t}}),await n},Ye=()=>{let e=Xe.getState().resolvers;e||console.warn("useActiveWalletStore: Called close while modal was not open"),Xe.setState({isModalOpen:!1}),e?.resolve({wallet:Xe.getState().wallet})},et=({address:e,client:t,appId:n})=>{let i=`${t}:${e}`;n&&y.put(nt(n),i),Xe.setState({wallet:i})},tt=()=>Xe((e=>e.isModalOpen)),nt=e=>`privy:${e}:active-wallet-connection`,it=()=>{let t=o(),{wallets:n}=$(),{connectors:i}=P(),l=a((()=>i.filter(De).flatMap((e=>e.wallets))),[i]),s=Xe((e=>e.wallet));e((()=>{if(!t.id)return;let e=y.get(nt(t.id));Xe.setState({wallet:e})}),[t.id]);let c=a((()=>{if(!s)return;let[,e]=s.split(":");return n.find((t=>t.address===e))||l.find((t=>t.address===e))}),[s,n,l]),d=a((()=>c?"ethereum"===c.type?c.chainId:"solana":void 0),[c]);return{connect:async e=>{e?.reset&&(y.del(nt(t.id)),Xe.setState({wallet:void 0}));let{wallet:i}=await Ve();if(!i)return{};let[,a]=i.split(":"),r=n.find((e=>e.address===a));if(r)return{wallet:r,network:r.chainId};let o=l.find((e=>e.address===a));return o?{wallet:o,network:"solana"}:{}},setActiveWallet:r((e=>{et({address:e.address,client:e.walletClientType,appId:t.id})}),[t.id]),wallet:c,network:d}};export{fe as $,He as A,Ze as B,it as C,q as D,se as E,Be as F,We as G,be as H,Je as I,Qe as J,et as K,Te as L,Re as M,tt as N,Ye as O,ce as P,O as Q,Ae as R,Ee as S,F as T,ye as U,ge as V,ve as W,xe as X,he as Y,me as Z,B as _,Y as a,pe as a0,U as a1,ne as a2,R as a3,ke as a4,ee as a5,K as a6,Pe as a7,ue as a8,j as b,le as c,D as d,A as e,ae as f,E as g,re as h,X as i,te as j,H as k,V as l,Ie as m,Oe as n,Q as o,Z as p,Se as q,oe as r,G as s,J as t,de as u,De as v,Ue as w,ie as x,qe as y,Ke as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{isMobile as e}from"react-device-detect";import{a as t,b as r,u as a}from"./internal-context-Z-fyxadS.mjs";import{useCallback as n,useContext as o}from"react";import{u as i}from"./use-export-wallet-DyNNbsJn.mjs";import{d as l,c as s,g as d,a as c,k as p,f as u,u as y,P as m}from"./get-is-unified-wallet-GcvxyU9r.mjs";import{a as E,u as w}from"./events-context-CI0iqAXA.mjs";import{create as h}from"@privy-io/js-sdk-core";import{g as f}from"./useWallets-izyyA2re.mjs";import{u as v,W as T}from"./context-bWeWAiND.mjs";function W(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}function A(r,a){let n=W(a);if(e&&n.universalLink)return _(n.universalLink,r);if(n.deepLink)return k(n.deepLink,r);if(n.universalLink)return _(n.universalLink,r);throw new t(`Unsupported wallet ${a.id}`)}function g(e,t){let r=W(t);if(r.universalLink)return _(r.universalLink,e)}let D="WALLETCONNECT_DEEPLINK_CHOICE";function U(){try{localStorage.removeItem(D)}catch{}}function I({href:e,name:t}){try{localStorage.setItem(D,JSON.stringify({href:e,name:t}))}catch{}}function x(){try{localStorage.removeItem(D)}catch{}}function S(e){return e.startsWith("http://")||e.startsWith("https://")}function k(e,t){if(S(e))return _(e,t);let r=e;return r.includes("://")||(r=e.replaceAll("/","").replaceAll(":",""),r=`${r}://`),r.endsWith("/")||(r=`${r}/`),{redirect:`${r}wc?uri=${encodeURIComponent(t)}`,href:r}}function _(e,t){if(!S(e))return k(e,t);let r=e;return r.endsWith("/")||(r=`${r}/`),{redirect:`${r}wc?uri=${encodeURIComponent(t)}`,href:r}}function M(e,t){window.open(e,t,"noreferrer noopener")}const b=({address:e,nonce:t})=>`${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: ${t}\nIssued At: ${(new Date).toISOString()}\nResources:\n- https://privy.io`,L=Symbol("solana-funding-plugin"),C=Symbol("solana-ledger-plugin"),R=(e,{chainType:t,walletIndex:r}={})=>e?.linkedAccounts.filter((e=>!("wallet"!==e.type||"privy"!==e.walletClientType||void 0!==r&&e.walletIndex!==r||void 0!==t&&e.chainType!==t)))??[],P=async({user:e,accessToken:t,proxy:r,refreshSessionAndUser:a,privy:n,appConfig:o,recoverEmbeddedWallet:i,setUser:d,walletIndex:c,chainType:p,recoveryMethod:u,recoveryPassword:y,recoveryAccessToken:m,idempotencyKey:E})=>{if(0===c)if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await h(n,{request:{chain_type:p},headers:E?{"privy-idempotency-key":E}:void 0});else if("ethereum"===p){let a=l(e);a&&await i({address:a.address}),await r.create({accessToken:t,solanaAddress:a?.address,recoveryMethod:u,recoveryPassword:y,recoveryAccessToken:m})}else{if("solana"!==p)throw Error("Invalid input to create wallet");{let a=s(e);a&&await i({address:a.address}),await r.createSolana({accessToken:t,ethereumAddress:a?.address,recoveryMethod:u,recoveryPassword:y,recoveryAccessToken:m})}}else if("user-controlled-server-wallets-only"===o.embeddedWallets.mode)await h(n,{request:{chain_type:p}});else{let{entropyId:a,entropyIdVerifier:n}=f(e);await i(),await r.addWallet({accessToken:t,entropyId:a,entropyIdVerifier:n,chainType:p,hdWalletIndex:c})}let w=await a(),v=R(w,{chainType:p,walletIndex:c})[0];return d(w),{user:w,account:v}},N=e=>e.reduce(((e,t)=>!e||e.walletIndex<t.walletIndex?t:e),null);let O=async({accessToken:e,appConfig:t,privy:a,emitPrivyEvent:n,proxy:o,refreshSessionAndUser:i,recoverEmbeddedWallet:l,user:s,walletIndex:c,setModalData:p,openModal:u,chainType:y,setUser:m,idempotencyKey:E})=>{if(c<0)throw n("createWallet","onError",r.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${c}) is invalid.`);let w=d(s);if(c>0&&!w)throw n("createWallet","onError",r.EMBEDDED_WALLET_NOT_FOUND),Error("Must have an existing embedded wallet to create an additional wallet.");if(t.embeddedWallets.requireUserOwnedRecoveryOnCreate&&"user-controlled-server-wallets-only"===t.embeddedWallets.mode)throw n("createWallet","onError",r.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!w&&t.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await K({emitPrivyEvent:n,setModalData:p,openModal:u,chainType:y});let h=R(s,{chainType:y,walletIndex:c})[0];if(h)return{user:s,account:h};if(0===c&&!o)return K({emitPrivyEvent:n,setModalData:p,openModal:u,chainType:y});if(!o)throw n("createWallet","onError",r.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return P({appConfig:t,walletIndex:c,chainType:y,user:s,accessToken:e,proxy:o,refreshSessionAndUser:i,privy:a,recoverEmbeddedWallet:l,setUser:m,idempotencyKey:E})},K=async({emitPrivyEvent:e,setModalData:t,openModal:a,chainType:n})=>new Promise(((o,i)=>{t({createWallet:{onSuccess:({user:t,account:r})=>{e("createWallet","onSuccess",{wallet:r}),o({user:t,account:r})},onFailure:t=>{e("createWallet","onError",r.UNKNOWN_EMBEDDED_WALLET_ERROR),i(t)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===n,shouldCreateSol:"solana"===n}}),a("EmbeddedWalletOnAccountCreateScreen")}));const $=()=>{let e=v(),t=E(),{setModalData:n}=c(),{initializeWalletProxy:o,recoverEmbeddedWallet:i,setUser:l,openModal:s,refreshSessionAndUser:d,privy:p,client:u}=a();return{create:async({chainType:a,options:c,latestUser:y,idempotencyKey:m})=>{let E=y;if(E||(E=await d()),!E)throw t("createWallet","onError",r.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await(async({appConfig:e,getAccessToken:t,initializeWalletProxy:a,user:n,privy:o,emitPrivyEvent:i,recoverEmbeddedWallet:l,setModalData:s,openModal:d,setUser:c,options:p,timeoutDuration:u,refreshSessionAndUser:y,chainType:m,idempotencyKey:E})=>{let[w,h]=await Promise.all([a(u),t()]);if(!h||!n)throw i("createWallet","onError",r.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!w&&e.customAuth?.enabled)throw i("createWallet","onError",r.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(p&&"walletIndex"in p&&"number"==typeof p.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw i("createWallet","onError",r.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return O({accessToken:h,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:w,refreshSessionAndUser:y,recoverEmbeddedWallet:l,setModalData:s,user:n,walletIndex:p.walletIndex,chainType:m,setUser:c})}let f=p&&"createAdditional"in p&&p.createAdditional,v=R(n,{chainType:m});if(v[0]&&!f)throw i("createWallet","onError",r.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return O({accessToken:h,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:w,recoverEmbeddedWallet:l,setModalData:s,user:n,walletIndex:(N(v)?.walletIndex??-1)+1,chainType:m,refreshSessionAndUser:y,setUser:c,idempotencyKey:E})})({appConfig:e,privy:p,getAccessToken:()=>u.getAccessToken(),refreshSessionAndUser:d,initializeWalletProxy:o,user:E,emitPrivyEvent:t,recoverEmbeddedWallet:i,setModalData:n,openModal:s,setUser:l,options:c,timeoutDuration:T,chainType:a,idempotencyKey:m})}}};function B(e){let{create:t}=$();return w("createWallet",e),{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:r}=await t({chainType:"ethereum",options:e});return r}}}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",r.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new t("User must be authenticated before linking an account.");let y="user-controlled-server-wallets-only"===l.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===y)throw new t("Specifying additionalSigners is only supported for TEE execution and this app uses On-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");let[m,E]=await Promise.all([a(),n(15e3)]);if(!E||!m)throw e("linkAccount","onError",r.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new t("User must be authenticated before linking an account.");let{address:w}=await E.importWallet({privateKey:s,accessToken:m,chainType:d,mode:y,additionalSigners:c}),h=await o(),f="solana"===d?p(h):u(h),v=f?.find((e=>e.address===w));if(!v)throw e("createWallet","onError",r.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:v}),v},z=()=>{let{user:e}=y(),{client:t,refreshSessionAndUser:r,initializeWalletProxy:o}=a(),i=E(),l=v();return{importWallet:n((({privateKey:a,additionalSigners:n})=>j({getAccessToken:()=>t.getAccessToken(),user:e,initializeWalletProxy:o,refreshSessionAndUser:r,emitPrivyEvent:i,appConfig:l},{privateKey:a,chainType:"ethereum",additionalSigners:n})),[e,t,r,o,i,l])}},F=()=>{let{importWallet:e}=z(),{exportWallet:t}=i(),{createWallet:r}=B();return{...o(m),importWallet:e,createWallet:r,exportWallet:t}};export{L as S,g as a,A as b,P as c,U as d,C as e,$ as f,B as g,z as h,j as i,M as o,b as p,x as r,I as s,F as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e}from"./get-is-unified-wallet-GcvxyU9r.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 +0,0 @@
|
|
|
1
|
-
import{getBase58Decoder as e,getTransactionDecoder as n,address as t,getTransactionEncoder as s}from"@solana/kit";import{useMemo as a,useEffect as i,useState as r}from"react";import{rpc as o,ConnectedStandardSolanaWallet as c}from"@privy-io/js-sdk-core";import{u as l,a as d,b as u,l as g}from"./internal-context-Z-fyxadS.mjs";import{a as h,h as p,b as f,o as w,k as A}from"./get-is-unified-wallet-GcvxyU9r.mjs";import{u as y}from"./usePrivy-CvOp4eQ7.mjs";import{g as v,u as m}from"./useWallets-izyyA2re.mjs";import T from"eventemitter3";import{base58 as b}from"@scure/base";import{u as O}from"./context-bWeWAiND.mjs";import{u as S}from"./use-sign-with-user-signer-Do5Oi_rb.mjs";import{b as _,a as E,u as I}from"./useSolanaRpcClient-BTAchFxj.mjs";import{g as W}from"./use-export-wallet-DyNNbsJn.mjs";const j=["solana:mainnet","solana:devnet","solana:testnet"];function M(n){return e().decode(n)}function P(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var C=0,F="__private_"+C+++"__implementation";function U(e,n){if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError("attempted to use private field on non-instance");return e}var D=0;function N(e){return"__private_"+D+++"_"+e}var B=/*#__PURE__*/N("_address"),x=/*#__PURE__*/N("_publicKey"),R=/*#__PURE__*/N("_chains"),L=/*#__PURE__*/N("_features"),V=/*#__PURE__*/N("_label"),Q=/*#__PURE__*/N("_icon");class G{get address(){return U(this,B)[B]}get publicKey(){return U(this,x)[x].slice()}get chains(){return U(this,R)[R].slice()}get features(){return U(this,L)[L].slice()}get label(){return U(this,V)[V]}get icon(){return U(this,Q)[Q]}constructor({address:e,publicKey:n,label:t,icon:s}){Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,x,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),U(this,B)[B]=e,U(this,x)[x]=n,U(this,R)[R]=j,U(this,V)[V]=t,U(this,Q)[Q]=s,U(this,L)[L]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===G&&Object.freeze(this)}}function K(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 J(e){return"__private_"+k+++"_"+e}var Y=/*#__PURE__*/J("_listeners"),H=/*#__PURE__*/J("_version"),Z=/*#__PURE__*/J("_name"),z=/*#__PURE__*/J("_icon"),q=/*#__PURE__*/J("_injection"),X=/*#__PURE__*/J("_isPrivyWallet"),$=/*#__PURE__*/J("_accounts"),ee=/*#__PURE__*/J("_on"),ne=/*#__PURE__*/J("_emit"),te=/*#__PURE__*/J("_off"),se=/*#__PURE__*/J("_connected"),ae=/*#__PURE__*/J("_connect"),ie=/*#__PURE__*/J("_disconnect"),re=/*#__PURE__*/J("_signMessage"),oe=/*#__PURE__*/J("_signAndSendTransaction"),ce=/*#__PURE__*/J("_signTransaction");function le(e,...n){K(this,Y)[Y][e]?.forEach((e=>e.apply(null,n)))}function de(e,n){K(this,Y)[Y][e]=K(this,Y)[Y][e]?.filter((e=>n!==e))}function ue(e,a,i){let r=structuredClone(n().decode(e)),o=t(a);return o in r.signatures&&(r.signatures[o]=i),new Uint8Array(s().encode(r))}function ge(){let{isHeadlessSigning:e,walletProxy:n,initializeWalletProxy:t,recoverEmbeddedWallet:s,openModal:a,privy:i,client:r}=l(),{user:c}=y(),{setModalData:g}=h(),{signWithUserSigner:w}=S();return{signMessage:({message:l,address:h,options:A})=>new Promise((async(y,m)=>{let T=p(c,h);if("privy"!==T?.walletClientType)return void m(new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:b,entropyIdVerifier:O}=v(c,T),S=f(T),E=_(l).toString("base64");if(E.length<1)return void m(new d("Message must be a non-empty string",void 0,u.INVALID_MESSAGE));let I=async()=>{let e;if(!c)throw Error("User must be authenticated before signing with a Privy wallet");let a=await r.getAccessToken();if(!a)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 s({address:T.address}))throw Error("Unable to connect to wallet");if(S){let n=await o(i,w,{chain_type:"solana",method:"signMessage",params:{message:E,encoding:"base64"},wallet_id: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:a,entropyId:b,entropyIdVerifier:O,chainType:"solana",hdWalletIndex:T.walletIndex??0,requesterAppId:A?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:E}}});e=n.data.signature}return e};if(e({showWalletUIs:A?.uiOptions?.showWalletUIs}))try{let e=await I(),n=new Uint8Array(_(e,"base64"));y({signature:n})}catch(e){m(e)}else g({signMessage:{method:"solana_signMessage",data:E,confirmAndSign:I,onSuccess:e=>{y({signature:new Uint8Array(_(e,"base64"))})},onFailure:e=>{m(e)},uiOptions:A?.uiOptions??{}},connectWallet:{recoveryMethod:T.recoveryMethod,connectingWalletAddress:T.address,entropyId:b,entropyIdVerifier:O,isUnifiedWallet:S,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{m(new d("Failed to connect to wallet",e,u.UNKNOWN_CONNECT_WALLET_ERROR))}}}),a("EmbeddedWalletConnectingScreen")}))}}function he(){let{isHeadlessSigning:e,openModal:n}=l(),{setModalData:t}=h(),{signMessage:s}=ge(),{user:a}=y();return{signTransaction:async({transaction:i,options:r,chain:o="solana:mainnet",address:c})=>{async function l(e){let{signature:n}=await s({message:E(e),address:c,options:{...r,uiOptions:{...r?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:ue(e,c,n)}}return e({showWalletUIs:r?.uiOptions?.showWalletUIs})?l(i):new Promise((async(e,s)=>{let g=p(a,c);if("privy"!==g?.walletClientType)return void s(new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:h,entropyIdVerifier:w}=v(a,g),A=f(g);function y(e){return n=>{s(n instanceof d?n:new d("Failed to connect to wallet",n,e))}}let m={account:g,transaction:i,chain:o,signOnly:!0,uiOptions:r?.uiOptions||{},onConfirm:l,onSuccess:e,onFailure:y(u.TRANSACTION_FAILURE)};t({connectWallet:{recoveryMethod:g.recoveryMethod,connectingWalletAddress:g.address,entropyId:h,entropyIdVerifier:w,isUnifiedWallet:A,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(u.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:m}),n("EmbeddedWalletConnectingScreen")}))}}}let pe=new class extends T{setImplementation(e){P(this,F)[F]=e}async signMessage(e){return P(this,F)[F].signMessage(e)}async signAndSendTransaction(e){return P(this,F)[F].signAndSendTransaction(e)}async signTransaction(e){return P(this,F)[F].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,F,{writable:!0,value:void 0}),P(this,F)[F]=e}}({signTransaction:g("signTransaction was not injected"),signAndSendTransaction:g("signAndSendTransaction was not injected"),signMessage:g("signMessage was not injected")}),fe=new class{get version(){return K(this,H)[H]}get name(){return K(this,Z)[Z]}get icon(){return K(this,z)[z]}get chains(){return j.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:K(this,ae)[ae]},"standard:disconnect":{version:"1.0.0",disconnect:K(this,ie)[ie]},"standard:events":{version:"1.0.0",on:K(this,ee)[ee]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:K(this,oe)[oe]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:K(this,ce)[ce]},"solana:signMessage":{version:"1.0.0",signMessage:K(this,re)[re]},"privy:":{privy:{signMessage:K(this,q)[q].signMessage,signTransaction:K(this,q)[q].signTransaction,signAndSendTransaction:K(this,q)[q].signAndSendTransaction}}}}get accounts(){return K(this,$)[$].slice()}get isPrivyWallet(){return K(this,X)[X]}constructor({name:e,icon:n,version:t,injection:s,wallets:a}){Object.defineProperty(this,ne,{value:le}),Object.defineProperty(this,te,{value:de}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,$,{writable:!0,value:void 0}),Object.defineProperty(this,ee,{writable:!0,value:void 0}),Object.defineProperty(this,se,{writable:!0,value:void 0}),Object.defineProperty(this,ae,{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}),K(this,Y)[Y]={},K(this,ee)[ee]=(e,n)=>(K(this,Y)[Y][e]?.push(n)||(K(this,Y)[Y][e]=[n]),()=>K(this,te)[te](e,n)),K(this,se)[se]=e=>{null!=e&&(K(this,$)[$]=e.map((({address:e})=>new G({address:e,publicKey:b.decode(e)})))),K(this,ne)[ne]("change",{accounts:this.accounts})},K(this,ae)[ae]=async()=>(K(this,ne)[ne]("change",{accounts:this.accounts}),{accounts:this.accounts}),K(this,ie)[ie]=async()=>{K(this,ne)[ne]("change",{accounts:this.accounts})},K(this,re)[re]=async(...e)=>{let n=[];for(let{account:t,...s}of e){let{signature:e}=await K(this,q)[q].signMessage({...s,address:t.address});n.push({signedMessage:s.message,signature:e})}return n},K(this,oe)[oe]=async(...e)=>{let n=[];for(let t of e){let{signature:e}=await K(this,q)[q].signAndSendTransaction({...t,transaction:t.transaction,address:t.account.address,chain:t.chain||"solana:mainnet",options:t.options});n.push({signature:e})}return n},K(this,ce)[ce]=async(...e)=>{let n=[];for(let{transaction:t,account:s,options:a,chain:i}of e){let{signedTransaction:e}=await K(this,q)[q].signTransaction({transaction:t,address:s.address,chain:i||"solana:mainnet",options:a});n.push({signedTransaction:e})}return n},K(this,Z)[Z]=e,K(this,z)[z]=n,K(this,H)[H]=t,K(this,q)[q]=s,K(this,$)[$]=[],K(this,X)[X]=!0,s.on("accountChanged",K(this,se)[se],this),K(this,se)[se](a)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:pe});function we(){let{ready:e}=m(),{user:n}=y(),{signMessage:t}=ge(),{signTransaction:s}=he(),{signAndSendTransaction:r}=function(){let e=O(),{isHeadlessSigning:n,openModal:t,privy:s}=l(),{setModalData:a}=h(),{signTransaction:i}=he(),r=I(),{user:c}=y(),{signWithUserSigner:g}=S();return{signAndSendTransaction:async({transaction:l,address:h,chain:w="solana:mainnet",options:A})=>{let y=p(c,h);if("privy"!==y?.walletClientType)throw new d("Wallet is not a Privy wallet",void 0,u.EMBEDDED_WALLET_NOT_FOUND);let m=f(y);async function T(e){if(A?.sponsor)return await(async e=>{if(!m)throw new d("Sponsoring transactions is only supported for wallets on the TEE stack",u.INVALID_DATA);let n=await o(s,g,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:_(e).toString("base64"),encoding:"base64"},caip2:`solana:${(await r(w).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:y.id});if(n.data&&"hash"in n.data)return{signature:b.decode(n.data.hash)};throw Error("Failed to sign and send transaction")})(e);let{signedTransaction:n}=await i({transaction:e,address:h,chain:w,options:{...A,uiOptions:{...A?.uiOptions,showWalletUIs:!1}}}),{signature:t}=await r(w).sendAndConfirmTransaction(n);return{signature:t}}return n({showWalletUIs:A?.uiOptions?.showWalletUIs})?T(l):new Promise((async(n,s)=>{let i,r,{entropyId:o,entropyIdVerifier:g}=v(c,y);function p(e){return n=>{s(n instanceof d?n:new d("Failed to connect to wallet",n,e))}}let f={account:y,transaction:l,chain:w,signOnly:!1,uiOptions:A?.uiOptions||{},onConfirm:T,onSuccess:n,onFailure:p(u.TRANSACTION_FAILURE),isSponsored:!!A?.sponsor},b={recoveryMethod:y.recoveryMethod,connectingWalletAddress:y.address,entropyId:o,entropyIdVerifier:g,isUnifiedWallet:m,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:p(u.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(i=W({address:h,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...A,asset:"native-currency",chain:w},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),r={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:w,destinationAddress:h,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),a({connectWallet:b,standardSignAndSendTransaction:f,funding:i,solanaFundingData:r}),t("EmbeddedWalletConnectingScreen")}))}}}(),c=a((()=>{let e=[...w(n).sort(((e,n)=>(e.walletIndex??0)-(n.walletIndex??0)))],t=A(n);return t.length?[...e,...t]:e}),[n]),g=a((()=>({signMessage:async({message:e,address:n,options:s})=>await t({message:e,address:n,options:s}),signTransaction:async({transaction:e,address:n,chain:t,options:a})=>await s({transaction:e,address:n,chain:t,options:a}),async signAndSendTransaction({transaction:e,address:n,chain:t,options:s}){let{signature:a}=await r({transaction:e,address:n,chain:t,options:s});return{signature:a}}})),[t,s,r]);return i((()=>{pe?.setImplementation(g)}),[g]),i((()=>{var n;!e||(n=fe.accounts).length===c.length&&n.every(((e,n)=>e.address===c[n]?.address))||pe?.emit("accountChanged",c)}),[e,c]),{ready:e,wallet:fe}}function Ae(){let{client:e}=l(),{ready:n,wallet:t}=we(),[s,a]=r([]),[o,c]=r([]);return i((()=>{let e=[t,...s.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];c(e);let n=s.flatMap((n=>{let t=()=>c([...e]);return n.on("walletsUpdated",t),{connector:n,off:t}})),a=e.map((n=>n.features["standard:events"]?.on("change",(()=>{c([...e])}))));return()=>{a.forEach((e=>e?.())),n.forEach((({connector:e,off:n})=>e.off("walletsUpdated",n)))}}),[s]),i((()=>{a(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let n=()=>{a(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 ye(){let{ready:e,wallets:n}=Ae();return{ready:e,wallets:a((()=>n.flatMap((e=>e.accounts.map((n=>new c({wallet:e,account:n})))))),[n])}}export{j as S,Ae as a,M as g,ye as u};
|