@privy-io/react-auth 3.12.0 → 3.12.1-beta-20260129222736
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-CvwC6yT4.js +1 -0
- package/dist/cjs/{Address-6qDWL5TN.js → Address-DLuP2x_5.js} +2 -2
- package/dist/cjs/AffirmativeConsentScreen-CrhHpJIl.js +6 -0
- package/dist/cjs/AllowlistRejectionScreen-C9DisX-N.js +1 -0
- package/dist/cjs/AuthenticateWithWalletScreen-B0VgWu8q.js +1 -0
- package/dist/cjs/AwaitingEvmToSolBridgingScreen-Bi_9PQ7B.js +2 -0
- package/dist/cjs/AwaitingExternalEthereumTransferScreen-CtGjd9b2.js +2 -0
- package/dist/cjs/AwaitingPasswordlessCodeScreen-Du5DTUHu.js +103 -0
- package/dist/cjs/AwaitingSolToEvmBridgingScreen-CV_xP4JF.js +2 -0
- package/dist/cjs/{BridgeNetworkSelectionView-DKA06V8u.js → BridgeNetworkSelectionView-C19AGc9H.js} +6 -6
- package/dist/cjs/CaptchaScreen-C7iLHHeQ.js +1 -0
- package/dist/cjs/CoinbaseOnrampStatusScreen-XHQ8dOpA.js +16 -0
- package/dist/cjs/{ConnectEmailForm-DZrCSv9t.js → ConnectEmailForm-h3tPoI4G.js} +1 -1
- package/dist/cjs/ConnectLedgerScreen-B4LtfSk5.js +9 -0
- package/dist/cjs/ConnectOnlyLandingScreen-CyuMbSMg.js +1 -0
- package/dist/cjs/ConnectOnlyStatusScreen-jOUGVKy8.js +1 -0
- package/dist/cjs/ConnectOrCreateScreen-D0CrcQ_S.js +1 -0
- package/dist/cjs/{ConnectPhoneForm-BWSmRonl.js → ConnectPhoneForm-DuatDKeD.js} +1 -1
- package/dist/cjs/{ConnectWalletView-Bh1DK9t5.js → ConnectWalletView--gsCLvGp.js} +8 -8
- package/dist/cjs/ConnectionStatusScreen-BcbrfKI9.js +7 -0
- package/dist/cjs/CrossAppAuthScreen-C5K_S48z.js +1 -0
- package/dist/cjs/{CustomLandingScreenView-DP1fJrBU.js → CustomLandingScreenView-StZ_yRGy.js} +3 -3
- package/dist/cjs/DelegatedActionsConsentScreen-BWp1I7xP.js +1 -0
- package/dist/cjs/DelegatedActionsRevokeScreen-1cfiT1k4.js +1 -0
- package/dist/cjs/EmbeddedWalletConnectingScreen-ClAC2HXm.js +1 -0
- package/dist/cjs/EmbeddedWalletCreatedScreen-DZOyC1XZ.js +1 -0
- package/dist/cjs/{EmbeddedWalletKeyExportScreen-_4GMdJuo.js → EmbeddedWalletKeyExportScreen-B4OidTNt.js} +2 -2
- package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-BWb19zPz.js +1 -0
- package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-BpSceG6F.js +1 -0
- package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-C3uD-zGl.js +1 -0
- package/dist/cjs/{EnrollTotp-leOB_B4o.js → EnrollTotp-DXOQ92Bg.js} +7 -7
- package/dist/cjs/ErrorScreen-Ca3XKcKy.js +4 -0
- package/dist/cjs/{FarcasterConnectStatusScreen-Bzmd4izn.js → FarcasterConnectStatusScreen-D5txkfHt.js} +6 -6
- package/dist/cjs/FarcasterSignerStatusScreen-DgkNomKJ.js +29 -0
- package/dist/cjs/FundSolWalletWithExternalSolanaWallet-72S7di11.js +2 -0
- package/dist/cjs/{FundWalletMethodHeader-YwNCXAU_.js → FundWalletMethodHeader-CWW5VpOx.js} +1 -1
- package/dist/cjs/FundingEditAmountScreen-B0NyVMoY.js +1 -0
- package/dist/cjs/FundingMethodSelectionScreen-CNI0RNo7.js +1 -0
- package/dist/cjs/InAppBrowserLoginNotPossible-DulwvV6c.js +1 -0
- package/dist/cjs/InstallWalletScreen-DGqXUqL5.js +1 -0
- package/dist/cjs/LandingScreen-DJnCYsej.js +1 -0
- package/dist/cjs/{LinkConflictScreen-BCzS7Szr.js → LinkConflictScreen-CCpIoVFH.js} +2 -2
- package/dist/cjs/LinkEmailScreen-CbmbWy0A.js +1 -0
- package/dist/cjs/{LinkPasskeyScreen-o4qdrAL3.js → LinkPasskeyScreen-kbYgKEvh.js} +11 -11
- package/dist/cjs/LinkPhoneScreen-CPl7prX6.js +1 -0
- package/dist/cjs/LoginFailedScreen-B_S_MDGQ.js +1 -0
- package/dist/cjs/ManualTransferScreen-DRCNNQIx.js +1 -0
- package/dist/cjs/MfaAuthEnrollmentFlowScreen-DidF4v4i.js +1 -0
- package/dist/cjs/MfaAuthVerifyFlowScreen-CiIWaxe5.js +1 -0
- package/dist/cjs/MfaEnrollmentFlowScreen-D9q7Pm2b.js +1 -0
- package/dist/cjs/MfaVerifyFlowScreen-nhta_lwt.js +1 -0
- package/dist/cjs/{ModalHeader-C5O9gNUP.js → ModalHeader-MJIvqOQn.js} +1 -1
- package/dist/cjs/MoonpayStatusScreen-D4mvfrrO.js +16 -0
- package/dist/cjs/OAuthStatusScreen-BX78aDWF.js +1 -0
- package/dist/cjs/PasskeySelectSignupOrLogin-Dc5VcXgD.js +1 -0
- package/dist/cjs/PasskeyStatusScreen-C8zDLZtC.js +3 -0
- package/dist/cjs/PasswordRecoveryScreen-C-p9tQkF.js +20 -0
- package/dist/cjs/PrivyPluginContext-DsgaS6n9.js +1 -0
- package/dist/cjs/{QrCode-CLd3Ytk7.js → QrCode-CmGLmb4U.js} +1 -1
- package/dist/cjs/RecoveryOAuthStatusScreen-BEk1qz-9.js +1 -0
- package/dist/cjs/RecoveryPasswordCreateScreen-kurEzKju.js +1 -0
- package/dist/cjs/{RecoverySelectionScreen-Bw9_M6y0.js → RecoverySelectionScreen-g3W6i8D1.js} +2 -2
- package/dist/cjs/{Screen-BSwlHqPg.js → Screen-Dl-2NR2R.js} +4 -5
- package/dist/cjs/{ScreenLayout-BtVIYAso.js → ScreenLayout-CZexjGvo.js} +1 -1
- package/dist/cjs/{SetAutomaticRecoveryScreen-SUOUjBk4.js → SetAutomaticRecoveryScreen-5SOYfazO.js} +2 -2
- package/dist/cjs/{SetWalletPasswordForm-Gkq-DskE.js → SetWalletPasswordForm-CORYNAig.js} +3 -3
- package/dist/cjs/{SignRequestScreen-BNcy6yU_.js → SignRequestScreen-BDWDopt-.js} +2 -2
- package/dist/cjs/{StandardSignAndSendTransactionScreen-z_EUNaeD.js → StandardSignAndSendTransactionScreen-BxGI9yOT.js} +2 -2
- package/dist/cjs/TelegramAuthScreen-DQgQP8nT.js +1 -0
- package/dist/cjs/{TransactionDetails-DYow9ihU.js → TransactionDetails-B9vDqM-f.js} +4 -4
- package/dist/cjs/{TransactionErrorView-yUMJqqF2.js → TransactionErrorView-poVXJ4DK.js} +7 -7
- package/dist/cjs/{TransferFromWalletScreen-Duk7CEcq.js → TransferFromWalletScreen-B6W7ML55.js} +2 -2
- package/dist/cjs/{TransferOrBridgeLoadingScreen-DuBLyfE1.js → TransferOrBridgeLoadingScreen-DOaFBoVa.js} +2 -2
- package/dist/cjs/UpdateEmailScreen-P2vgr8MG.js +1 -0
- package/dist/cjs/UpdatePhoneScreen-C_Au2OyY.js +1 -0
- package/dist/cjs/UserLimitReachedScreen-BMwVWooZ.js +1 -0
- package/dist/cjs/{WalletInfoCard-CHEynRZS.js → WalletInfoCard-CPUWxQfs.js} +1 -1
- package/dist/cjs/WalletInterstitialScreen-R1cSmCDR.js +1 -0
- package/dist/cjs/{WalletLink-CZLtiI7E.js → WalletLink-DtgmIeIx.js} +1 -1
- package/dist/cjs/{WalletOverflowButton-FlgoA77a.js → WalletOverflowButton-_kpl5IST.js} +1 -1
- package/dist/cjs/abstract-smart-wallets.js +1 -1
- package/dist/cjs/{context-BeSQM-Ma.js → context-BVLU-tYD.js} +1 -1
- package/dist/cjs/{ethers-XrYC9HG-.js → ethers-D6Dbymha.js} +1 -1
- package/dist/cjs/extended-chains.js +1 -1
- package/dist/cjs/get-is-unified-wallet-CXggv1wa.js +1 -0
- package/dist/cjs/getEmbeddedConnectedWallet-C1vXXRY1.js +1 -0
- package/dist/cjs/getErc20Balance-CJvcxOe9.js +1 -0
- package/dist/cjs/{getErc20TokenInfo-DxDd_HN6.js → getErc20TokenInfo-DqY-nDYo.js} +1 -1
- package/dist/cjs/{index-0-2WrPDo.js → index-BF9t9wE_.js} +3 -3
- package/dist/cjs/index-Dq984Fi7.js +174 -0
- package/dist/cjs/{index-W2ZSukRW.js → index-DsvpCkrq.js} +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/internal.js +1 -1
- package/dist/cjs/{shared-BcueHfN-.js → shared-2UXrNGgN.js} +6 -6
- package/dist/cjs/{shouldProceedtoEmbeddedWalletCreationFlow-j6p9PEm-.js → shouldProceedtoEmbeddedWalletCreationFlow-wKHDOYL2.js} +1 -1
- package/dist/cjs/smart-wallets-NOwTquhw.js +1 -0
- package/dist/cjs/smart-wallets.js +1 -1
- package/dist/cjs/solana.js +1 -1
- package/dist/cjs/{styles-Csarwypj.js → styles-DC56SrYn.js} +4 -4
- package/dist/cjs/{to-ui-error-C4aac_aM.js → to-ui-error-B8N9wF4a.js} +2 -2
- package/dist/cjs/ui.js +14 -14
- package/dist/cjs/use-export-wallet-BmvX9OV-.js +1 -0
- package/dist/cjs/use-export-wallet-Bu1R636G.js +1 -0
- package/dist/cjs/{useActiveWallet-vlXeDPzp.js → useActiveWallet-C0_0HOZ9.js} +2 -2
- package/dist/cjs/{useGetTokenPrice-DJpJnTij.js → useGetTokenPrice-BqMAydh1.js} +1 -1
- package/dist/cjs/{useI18n-CnsBjm9v.js → useI18n-lYbeUUHb.js} +1 -1
- package/dist/cjs/usePrivy-DrdYrRZ_.js +1 -0
- package/dist/cjs/{useSolanaRpcClient-CYMWkK7E.js → useSolanaRpcClient-v9i37J6k.js} +1 -1
- package/dist/cjs/useWallets-D2MmNN1k.js +1 -0
- package/dist/cjs/{useWallets-DMyuB5aJ.js → useWallets-DHI-M9UM.js} +1 -1
- package/dist/dts/{events-context-DeukTtar.d.ts → events-context-CV9PiG6M.d.mts} +1 -1
- package/dist/dts/{events-context-DeukTtar.d.mts → events-context-CV9PiG6M.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 +58 -5
- package/dist/dts/index.d.ts +58 -5
- 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-FifkyCQc.d.mts → types-xIUh0rN4.d.mts} +43 -1
- package/dist/dts/{types-FifkyCQc.d.ts → types-xIUh0rN4.d.ts} +43 -1
- package/dist/dts/ui.d.mts +1 -1
- package/dist/dts/ui.d.ts +1 -1
- package/dist/esm/AccountNotFoundScreen-D87I7apb.mjs +1 -0
- package/dist/esm/{Address-QmAVCQtO.mjs → Address-DBfY9I-V.mjs} +2 -2
- package/dist/esm/AffirmativeConsentScreen-D16OZSmw.mjs +6 -0
- package/dist/esm/AllowlistRejectionScreen-JvRo0diS.mjs +1 -0
- package/dist/esm/AuthenticateWithWalletScreen-DDeFbi3u.mjs +1 -0
- package/dist/esm/AwaitingEvmToSolBridgingScreen-D-G-QBXt.mjs +2 -0
- package/dist/esm/AwaitingExternalEthereumTransferScreen-C2uzV8gi.mjs +2 -0
- package/dist/esm/AwaitingPasswordlessCodeScreen-C6ndKKq5.mjs +103 -0
- package/dist/esm/AwaitingSolToEvmBridgingScreen-DYYVMql3.mjs +2 -0
- package/dist/esm/{BridgeNetworkSelectionView-DQGcampg.mjs → BridgeNetworkSelectionView-Cjx8-IzN.mjs} +11 -11
- package/dist/esm/CaptchaScreen-CPAef6q_.mjs +1 -0
- package/dist/esm/CoinbaseOnrampStatusScreen-5d3RVBO4.mjs +16 -0
- package/dist/esm/ConnectEmailForm-BPjeSmPk.mjs +3 -0
- package/dist/esm/ConnectLedgerScreen-BK_mUJJI.mjs +9 -0
- package/dist/esm/ConnectOnlyLandingScreen-qCRi3yCR.mjs +1 -0
- package/dist/esm/ConnectOnlyStatusScreen-DJtqyGSa.mjs +1 -0
- package/dist/esm/ConnectOrCreateScreen-C5ZA94p5.mjs +1 -0
- package/dist/esm/{ConnectPhoneForm-BMtTIItD.mjs → ConnectPhoneForm-gCDafmIx.mjs} +1 -1
- package/dist/esm/{ConnectWalletView-BMjEKo1_.mjs → ConnectWalletView-C4bswOSc.mjs} +4 -4
- package/dist/esm/ConnectionStatusScreen-Cl93wmJu.mjs +7 -0
- package/dist/esm/CrossAppAuthScreen-Cty8_Ahn.mjs +1 -0
- package/dist/esm/{CustomLandingScreenView-BlDfJaDr.mjs → CustomLandingScreenView-CtWV0s2_.mjs} +4 -4
- package/dist/esm/DelegatedActionsConsentScreen-DK0-n7eC.mjs +1 -0
- package/dist/esm/DelegatedActionsRevokeScreen-Bs63J15E.mjs +1 -0
- package/dist/esm/EmbeddedWalletConnectingScreen-CNakW1x5.mjs +1 -0
- package/dist/esm/EmbeddedWalletCreatedScreen-BYKlkO28.mjs +1 -0
- package/dist/esm/EmbeddedWalletKeyExportScreen-CkjaBu62.mjs +40 -0
- package/dist/esm/EmbeddedWalletOnAccountCreateScreen-BAZWMs_z.mjs +1 -0
- package/dist/esm/EmbeddedWalletPasswordUpdateScreen-BXI5GhNt.mjs +1 -0
- package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-8WX4n_ay.mjs +1 -0
- package/dist/esm/{EnrollTotp-DVLg14UT.mjs → EnrollTotp-CMppkqgm.mjs} +5 -5
- package/dist/esm/ErrorScreen-Big2etvs.mjs +4 -0
- package/dist/esm/{FarcasterConnectStatusScreen-CUO9DKCJ.mjs → FarcasterConnectStatusScreen-D7RZUwHm.mjs} +9 -9
- package/dist/esm/FarcasterSignerStatusScreen-CWuWkoF4.mjs +28 -0
- package/dist/esm/FundSolWalletWithExternalSolanaWallet-QzSbA2oo.mjs +1 -0
- package/dist/esm/{FundWalletMethodHeader-PIxwFzzh.mjs → FundWalletMethodHeader-vji6aDSN.mjs} +1 -1
- package/dist/esm/FundingEditAmountScreen-s9OZdLiy.mjs +1 -0
- package/dist/esm/FundingMethodSelectionScreen-BdEvfdJc.mjs +1 -0
- package/dist/esm/InAppBrowserLoginNotPossible-BDBIGEny.mjs +1 -0
- package/dist/esm/InstallWalletScreen-Dg9B6Qnm.mjs +1 -0
- package/dist/esm/LandingScreen-BVkfsda3.mjs +1 -0
- package/dist/esm/{LinkConflictScreen-B94e_-2N.mjs → LinkConflictScreen-7xtZJDDB.mjs} +3 -3
- package/dist/esm/LinkEmailScreen-Yjqv2tgJ.mjs +1 -0
- package/dist/esm/{LinkPasskeyScreen-DYfWSjKR.mjs → LinkPasskeyScreen-Dv9oGCVR.mjs} +1 -1
- package/dist/esm/LinkPhoneScreen-Cqf6I8DD.mjs +1 -0
- package/dist/esm/LoginFailedScreen-BWjivPRz.mjs +1 -0
- package/dist/esm/ManualTransferScreen-CmVkHC5K.mjs +1 -0
- package/dist/esm/MfaAuthEnrollmentFlowScreen-x-7wkWPc.mjs +1 -0
- package/dist/esm/MfaAuthVerifyFlowScreen-BCRn1A57.mjs +1 -0
- package/dist/esm/MfaEnrollmentFlowScreen-D9DED3dF.mjs +1 -0
- package/dist/esm/MfaVerifyFlowScreen-Cdu8dM2B.mjs +1 -0
- package/dist/esm/{ModalHeader-rCMpqA2a.mjs → ModalHeader-B7JiUyZG.mjs} +1 -1
- package/dist/esm/MoonpayStatusScreen-C42VxDI1.mjs +16 -0
- package/dist/esm/OAuthStatusScreen-BJoRrpcI.mjs +1 -0
- package/dist/esm/PasskeySelectSignupOrLogin-Dj1Z_dqZ.mjs +1 -0
- package/dist/esm/PasskeyStatusScreen-DgV-VxQU.mjs +3 -0
- package/dist/esm/PasswordRecoveryScreen-DLf3wdqx.mjs +20 -0
- package/dist/esm/PrivyPluginContext-2QN2dVUw.mjs +1 -0
- package/dist/esm/{QrCode-DjnQgnaZ.mjs → QrCode-D32W0rFB.mjs} +1 -1
- package/dist/esm/RecoveryOAuthStatusScreen-DA0EIZSq.mjs +1 -0
- package/dist/esm/RecoveryPasswordCreateScreen-DN3Xx4uG.mjs +1 -0
- package/dist/esm/RecoverySelectionScreen-8W7R6tWd.mjs +7 -0
- package/dist/esm/{Screen-CV2tt2Ap.mjs → Screen-DcqZvHom.mjs} +8 -9
- package/dist/esm/{ScreenLayout-DF3DCKOK.mjs → ScreenLayout-fGlkd51E.mjs} +1 -1
- package/dist/esm/{SetAutomaticRecoveryScreen-C6cFVbSx.mjs → SetAutomaticRecoveryScreen-CulFt8fI.mjs} +2 -2
- package/dist/esm/{SetWalletPasswordForm-ChA4tW4Y.mjs → SetWalletPasswordForm-DL7Siy6x.mjs} +4 -4
- package/dist/esm/SignRequestScreen-BpvOtDI4.mjs +26 -0
- package/dist/esm/{StandardSignAndSendTransactionScreen-D4OBsj5k.mjs → StandardSignAndSendTransactionScreen-C9ZKS0nz.mjs} +2 -2
- package/dist/esm/TelegramAuthScreen--uacrzGV.mjs +1 -0
- package/dist/esm/{TransactionDetails-BP142O9n.mjs → TransactionDetails-BJYUvpDT.mjs} +1 -1
- package/dist/esm/{TransactionErrorView-BwwGMqSj.mjs → TransactionErrorView-B0BIC9ro.mjs} +8 -8
- package/dist/esm/{TransferFromWalletScreen-BHH0YcI4.mjs → TransferFromWalletScreen-DrEg4Khy.mjs} +2 -2
- package/dist/esm/{TransferOrBridgeLoadingScreen-VLQTcf_6.mjs → TransferOrBridgeLoadingScreen-JVja_xjb.mjs} +1 -1
- package/dist/esm/UpdateEmailScreen-D_WM1VCn.mjs +1 -0
- package/dist/esm/UpdatePhoneScreen-ztnDFAV4.mjs +1 -0
- package/dist/esm/UserLimitReachedScreen-Bg0_GPm-.mjs +1 -0
- package/dist/esm/{WalletInfoCard-ChBHG5L5.mjs → WalletInfoCard-ClsfGrjn.mjs} +2 -2
- package/dist/esm/WalletInterstitialScreen-BIHDkMKZ.mjs +1 -0
- package/dist/esm/{WalletLink-CN4enmsE.mjs → WalletLink-BDeauVaR.mjs} +6 -6
- package/dist/esm/{WalletOverflowButton-B-nEN4GW.mjs → WalletOverflowButton-DMJ0BOTe.mjs} +1 -1
- package/dist/esm/abstract-smart-wallets.mjs +1 -1
- package/dist/esm/context-UVzNo7-f.mjs +1 -0
- package/dist/esm/{ethers-BQ45eiVv.mjs → ethers-DFsoKesJ.mjs} +1 -1
- package/dist/esm/extended-chains.mjs +1 -1
- package/dist/esm/{get-is-unified-wallet-CNcx75Dp.mjs → get-is-unified-wallet-gEMK9zAN.mjs} +1 -1
- package/dist/esm/getEmbeddedConnectedWallet-pC2McXxQ.mjs +1 -0
- package/dist/esm/{getErc20Balance-DA4dGV9O.mjs → getErc20Balance-D0MGUaOw.mjs} +1 -1
- package/dist/esm/getErc20TokenInfo-CZJTqd4c.mjs +1 -0
- package/dist/esm/index-B2BfxLtd.mjs +174 -0
- package/dist/esm/{index-DoasOxbi.mjs → index-BwwizPYT.mjs} +1 -1
- package/dist/esm/{index-2knYP69D.mjs → index-njSRcD7r.mjs} +3 -3
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal.mjs +1 -1
- package/dist/esm/{shared-DwO5pr5t.mjs → shared-DEutgj0-.mjs} +1 -1
- package/dist/esm/{shouldProceedtoEmbeddedWalletCreationFlow-Cv_C9s3_.mjs → shouldProceedtoEmbeddedWalletCreationFlow-DzY1kKF2.mjs} +1 -1
- package/dist/esm/smart-wallets-1REmVzqk.mjs +1 -0
- package/dist/esm/smart-wallets.mjs +1 -1
- package/dist/esm/solana.mjs +1 -1
- package/dist/esm/{styles-BNn7MnP1.mjs → styles-B0ZcCJkO.mjs} +15 -15
- package/dist/esm/{to-ui-error-CCqAdorW.mjs → to-ui-error-EcEpo27f.mjs} +2 -2
- package/dist/esm/ui.mjs +40 -40
- package/dist/esm/use-export-wallet-BYgD16yE.mjs +1 -0
- package/dist/esm/use-export-wallet-aRKrQFFh.mjs +1 -0
- package/dist/esm/{useActiveWallet-RZ4w-uGq.mjs → useActiveWallet-BXJJRlvj.mjs} +2 -2
- package/dist/esm/{useGetTokenPrice-DERdsrmf.mjs → useGetTokenPrice-Dng0EqD0.mjs} +1 -1
- package/dist/esm/{useI18n-Dk9y58cU.mjs → useI18n-CnQzCQ4x.mjs} +1 -1
- package/dist/esm/usePrivy-Bfd0Mlrx.mjs +1 -0
- package/dist/esm/{useSolanaRpcClient-B7UDPdLi.mjs → useSolanaRpcClient-BW09SdSK.mjs} +1 -1
- package/dist/esm/{useWalletBalance-CRXiZUj2.mjs → useWalletBalance-BDrbQBDX.mjs} +1 -1
- package/dist/esm/useWallets-BZEdWBgc.mjs +1 -0
- package/dist/esm/{useWallets-DlGuNtGR.mjs → useWallets-DeRPXypD.mjs} +1 -1
- package/package.json +6 -6
- package/dist/cjs/AccountNotFoundScreen-BBWWze9O.js +0 -1
- package/dist/cjs/AffirmativeConsentScreen-CCwAwjH1.js +0 -6
- package/dist/cjs/AllowlistRejectionScreen-DEMYbzGA.js +0 -1
- package/dist/cjs/AuthenticateWithWalletScreen-dBvBC7MB.js +0 -1
- package/dist/cjs/AwaitingEvmToSolBridgingScreen-D9NwI47L.js +0 -2
- package/dist/cjs/AwaitingExternalEthereumTransferScreen-D_0NulpI.js +0 -2
- package/dist/cjs/AwaitingPasswordlessCodeScreen-B4HAKL4-.js +0 -103
- package/dist/cjs/AwaitingSolToEvmBridgingScreen-CnuLLTC0.js +0 -2
- package/dist/cjs/CaptchaScreen-N-ueJQF3.js +0 -1
- package/dist/cjs/CoinbaseOnrampStatusScreen-06yaO6r4.js +0 -16
- package/dist/cjs/ConnectLedgerScreen-C7vGQocf.js +0 -9
- package/dist/cjs/ConnectOnlyLandingScreen-_9y9kOsT.js +0 -1
- package/dist/cjs/ConnectOnlyStatusScreen-mZHx4a7S.js +0 -1
- package/dist/cjs/ConnectOrCreateScreen-Cp4uExOd.js +0 -1
- package/dist/cjs/ConnectionStatusScreen-B27DUsGt.js +0 -7
- package/dist/cjs/CrossAppAuthScreen-BbLFbCdU.js +0 -1
- package/dist/cjs/DelegatedActionsConsentScreen-DzWruJOn.js +0 -1
- package/dist/cjs/DelegatedActionsRevokeScreen-D-TwUXyj.js +0 -1
- package/dist/cjs/EmbeddedWalletConnectingScreen-CYav4Mjb.js +0 -1
- package/dist/cjs/EmbeddedWalletCreatedScreen-m0t_c_AA.js +0 -1
- package/dist/cjs/EmbeddedWalletOnAccountCreateScreen-B5-JBZRJ.js +0 -1
- package/dist/cjs/EmbeddedWalletPasswordUpdateScreen-CITAy3i6.js +0 -1
- package/dist/cjs/EmbeddedWalletPasswordUpdateSplashScreen-DG5LKyjo.js +0 -1
- package/dist/cjs/ErrorScreen-xNDIVXx8.js +0 -4
- package/dist/cjs/FarcasterSignerStatusScreen-Cxoi54pp.js +0 -29
- package/dist/cjs/FundSolWalletWithExternalSolanaWallet-BCyBv_xe.js +0 -2
- package/dist/cjs/FundingEditAmountScreen-CDlb4Acx.js +0 -1
- package/dist/cjs/FundingMethodSelectionScreen-DlPxjsJq.js +0 -1
- package/dist/cjs/InAppBrowserLoginNotPossible-Bdx0vKyA.js +0 -1
- package/dist/cjs/InstallWalletScreen-Cshn01eK.js +0 -1
- package/dist/cjs/LandingScreen-0FdwpJ9w.js +0 -1
- package/dist/cjs/LinkEmailScreen-B7rxdQso.js +0 -1
- package/dist/cjs/LinkPhoneScreen-DweFqlM1.js +0 -1
- package/dist/cjs/LoginFailedScreen-mHcvCBEz.js +0 -1
- package/dist/cjs/ManualTransferScreen-CfYgtyLD.js +0 -1
- package/dist/cjs/MfaAuthEnrollmentFlowScreen-D631h0XW.js +0 -1
- package/dist/cjs/MfaAuthVerifyFlowScreen-BZ3IyqAd.js +0 -1
- package/dist/cjs/MfaEnrollmentFlowScreen-_tNeX5lT.js +0 -1
- package/dist/cjs/MfaVerifyFlowScreen-D_7nkuBq.js +0 -1
- package/dist/cjs/MoonpayStatusScreen-DoFbZ_0d.js +0 -16
- package/dist/cjs/OAuthStatusScreen-BZY7BiP5.js +0 -1
- package/dist/cjs/PasskeySelectSignupOrLogin-C3k_ixTz.js +0 -1
- package/dist/cjs/PasskeyStatusScreen-BX-SOBDr.js +0 -3
- package/dist/cjs/PasswordRecoveryScreen-VZQDtt5v.js +0 -20
- package/dist/cjs/RecoveryOAuthStatusScreen-DKYx6ECd.js +0 -1
- package/dist/cjs/RecoveryPasswordCreateScreen-DP0xOBMA.js +0 -1
- package/dist/cjs/TelegramAuthScreen-DV8KYJMX.js +0 -1
- package/dist/cjs/UpdateEmailScreen-DRJv5CZs.js +0 -1
- package/dist/cjs/UpdatePhoneScreen-C3myqOv0.js +0 -1
- package/dist/cjs/UserLimitReachedScreen-l_e6Vhr0.js +0 -1
- package/dist/cjs/WalletInterstitialScreen-BgoDwKIp.js +0 -1
- package/dist/cjs/get-is-unified-wallet-BwdzQwn_.js +0 -1
- package/dist/cjs/getEmbeddedConnectedWallet-6TsVZJkD.js +0 -1
- package/dist/cjs/getErc20Balance-CN3JMVjF.js +0 -1
- package/dist/cjs/index-CzmnSRoa.js +0 -174
- package/dist/cjs/prepareFundingModalData-DDf6xLze.js +0 -1
- package/dist/cjs/smart-wallets-BBh3vgRq.js +0 -1
- package/dist/cjs/use-export-wallet-C9HWu0Dq.js +0 -1
- package/dist/cjs/usePrivy-Bx2PKTrU.js +0 -1
- package/dist/cjs/useWallets-BwB7ALB8.js +0 -1
- package/dist/esm/AccountNotFoundScreen-C6S8_GyN.mjs +0 -1
- package/dist/esm/AffirmativeConsentScreen-QfJBfI_f.mjs +0 -6
- package/dist/esm/AllowlistRejectionScreen-CX57yv4U.mjs +0 -1
- package/dist/esm/AuthenticateWithWalletScreen-CZJ-aWhZ.mjs +0 -1
- package/dist/esm/AwaitingEvmToSolBridgingScreen-C1CMtT4Y.mjs +0 -2
- package/dist/esm/AwaitingExternalEthereumTransferScreen-DX91STcF.mjs +0 -2
- package/dist/esm/AwaitingPasswordlessCodeScreen-BuExr50N.mjs +0 -103
- package/dist/esm/AwaitingSolToEvmBridgingScreen-Bm1i_2qW.mjs +0 -2
- package/dist/esm/CaptchaScreen-B-hFDb5f.mjs +0 -1
- package/dist/esm/CoinbaseOnrampStatusScreen-OHm2RUBv.mjs +0 -16
- package/dist/esm/ConnectEmailForm-Df5OtmDR.mjs +0 -3
- package/dist/esm/ConnectLedgerScreen-BHLYW-F3.mjs +0 -9
- package/dist/esm/ConnectOnlyLandingScreen-C6nzEwpN.mjs +0 -1
- package/dist/esm/ConnectOnlyStatusScreen-CremlXDY.mjs +0 -1
- package/dist/esm/ConnectOrCreateScreen-262UvCdD.mjs +0 -1
- package/dist/esm/ConnectionStatusScreen-mk5beBL7.mjs +0 -7
- package/dist/esm/CrossAppAuthScreen-BXjEJQv6.mjs +0 -1
- package/dist/esm/DelegatedActionsConsentScreen-ANmQe-9G.mjs +0 -1
- package/dist/esm/DelegatedActionsRevokeScreen-D9X7mWmI.mjs +0 -1
- package/dist/esm/EmbeddedWalletConnectingScreen-2g-RrIvW.mjs +0 -1
- package/dist/esm/EmbeddedWalletCreatedScreen-BXTAv4_-.mjs +0 -1
- package/dist/esm/EmbeddedWalletKeyExportScreen-DYVHVHOj.mjs +0 -40
- package/dist/esm/EmbeddedWalletOnAccountCreateScreen-CYyMoMFF.mjs +0 -1
- package/dist/esm/EmbeddedWalletPasswordUpdateScreen-oT5ZcPQV.mjs +0 -1
- package/dist/esm/EmbeddedWalletPasswordUpdateSplashScreen-BQcHDyuV.mjs +0 -1
- package/dist/esm/ErrorScreen-CLfeO5pd.mjs +0 -4
- package/dist/esm/FarcasterSignerStatusScreen-B135UOnV.mjs +0 -28
- package/dist/esm/FundSolWalletWithExternalSolanaWallet-DO3ttgom.mjs +0 -1
- package/dist/esm/FundingEditAmountScreen-BRQb2ffL.mjs +0 -1
- package/dist/esm/FundingMethodSelectionScreen-DTt1Z5RI.mjs +0 -1
- package/dist/esm/InAppBrowserLoginNotPossible-DH96QD2c.mjs +0 -1
- package/dist/esm/InstallWalletScreen-PnK6VfrP.mjs +0 -1
- package/dist/esm/LandingScreen-D_EvjOHf.mjs +0 -1
- package/dist/esm/LinkEmailScreen-CT8gAQr3.mjs +0 -1
- package/dist/esm/LinkPhoneScreen-ccrKA6tf.mjs +0 -1
- package/dist/esm/LoginFailedScreen-BwgxhbMf.mjs +0 -1
- package/dist/esm/ManualTransferScreen-DgCG2P3B.mjs +0 -1
- package/dist/esm/MfaAuthEnrollmentFlowScreen-CNVUTOnE.mjs +0 -1
- package/dist/esm/MfaAuthVerifyFlowScreen-2nvvFipu.mjs +0 -1
- package/dist/esm/MfaEnrollmentFlowScreen-DfnIqNNU.mjs +0 -1
- package/dist/esm/MfaVerifyFlowScreen-BwerwBz5.mjs +0 -1
- package/dist/esm/MoonpayStatusScreen-D5fRCEb3.mjs +0 -16
- package/dist/esm/OAuthStatusScreen-DtLgYw89.mjs +0 -1
- package/dist/esm/PasskeySelectSignupOrLogin-QoPhmagh.mjs +0 -1
- package/dist/esm/PasskeyStatusScreen-DzjU3ZVT.mjs +0 -3
- package/dist/esm/PasswordRecoveryScreen-LZYGRBkP.mjs +0 -20
- package/dist/esm/RecoveryOAuthStatusScreen-DKfp8Udh.mjs +0 -1
- package/dist/esm/RecoveryPasswordCreateScreen-D4DI5Bom.mjs +0 -1
- package/dist/esm/RecoverySelectionScreen-B2V3518x.mjs +0 -7
- package/dist/esm/SignRequestScreen-BslfKJ1N.mjs +0 -26
- package/dist/esm/TelegramAuthScreen-BJq5f_Rq.mjs +0 -1
- package/dist/esm/UpdateEmailScreen-CMFBvYz5.mjs +0 -1
- package/dist/esm/UpdatePhoneScreen-DmhHcNq3.mjs +0 -1
- package/dist/esm/UserLimitReachedScreen-DNqgCf3B.mjs +0 -1
- package/dist/esm/WalletInterstitialScreen-RS89fm6t.mjs +0 -1
- package/dist/esm/context-LVpDfP2H.mjs +0 -1
- package/dist/esm/getEmbeddedConnectedWallet-CM6cDQCS.mjs +0 -1
- package/dist/esm/getErc20TokenInfo-CxatSwzi.mjs +0 -1
- package/dist/esm/index-DNz_w3-G.mjs +0 -174
- package/dist/esm/prepareFundingModalData-DjTxAoJ1.mjs +0 -1
- package/dist/esm/smart-wallets-9LKzbfWj.mjs +0 -1
- package/dist/esm/use-export-wallet-DllHf-2F.mjs +0 -1
- package/dist/esm/usePrivy-Dj52a5sp.mjs +0 -1
- package/dist/esm/useWallets-cSQYA-Jk.mjs +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var e=require("react"),t=require("zustand"),n=require("./context-BeSQM-Ma.js"),r=require("styled-components"),i=require("react/jsx-runtime"),o=require("react-device-detect"),l=require("./prepareFundingModalData-DDf6xLze.js"),a=require("./events-context-Di6--rDg.js"),s=require("viem"),c=require("viem/utils"),d=require("./internal-context-BJv4f_bO.js"),p=require("./getPublicClient-BsmZyCGX.js"),u=require("./get-is-unified-wallet-BwdzQwn_.js"),h=require("./useWallets-DMyuB5aJ.js");function m(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var w=/*#__PURE__*/m(o);const y=t.create((()=>({listings:[],loading:!1}))),f=y.setState,g=(t=!0)=>{let r=n.useAppConfig(),i=y((e=>e.listings)),o=y((e=>e.loading)),l=!!i.length;return e.useEffect((()=>{t&&!l&&(f({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."))}`),[])})(r.walletConnectCloudProjectId).then((e=>f({listings:e,loading:!1}))).catch((e=>{console.error(e),f({listings:[],loading:!1})})))}),[t,l,r.walletConnectCloudProjectId]),{listings:i,loading:o}};function b(e){return"cryptocom"===e?"cryptocom-defi":"binance"===e?"binance-defi":e.replace(/[-_]wallet$/,"")}const x=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,v=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||"MetaMask"!==x(e))return!1;if(e.providers)for(let t of e.providers)if(!v(t))return!1;return!0},C=(e,t=3,n=4,r="ethereum")=>{if(!e)return"";let i="ethereum"===r?2:0;return t+n+i+3>=e.length?e:`${e.slice(0,i+t)}...${e.slice(e.length-n,e.length)}`},k=e=>new Promise((t=>setTimeout(t,e)));const P=(e,t={})=>{let n=t.delayMs||150,r=t.maxAttempts||270;return new Promise((async(i,o)=>{let l=!1,a=0;for(;!l&&a<r;){if(t.abortSignal?.aborted)return;e().then((e=>{l=!0,i(e)}),((...e)=>{l=!0,o(...e)})),a+=1,await k(n)}l||o(Error("Exceeded max attempts before resolving function"))}))};function W(e){return`eip155:${String(Number(e))}`}function T(e){return"ethereum"===e.type}function _(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(r?.address!==i?.address||r&&i&&T(r)&&T(i)&&r?.chainId!==i?.chainId||r?.connectorType!==i?.connectorType||r?.connectedAt!==i?.connectedAt||r?.walletClientType!==i?.walletClientType||r?.isConnected!==i?.isConnected||r?.linked!==i?.linked)return!1}return!0}const E=(e,t)=>e.rpcTimeouts&&e.rpcTimeouts[t]||n.DEFAULT_RPC_TIMEOUT;class j extends l.WalletConnector{buildConnectedWallet(e,t,n,r){let i=async()=>!!this.wallets.find((t=>c.getAddress(t.address)===c.getAddress(e)));return{type:"ethereum",address:c.getAddress(e),chainId:t,meta:n,imported:r,switchChain:async n=>{let r,o;if(!i)throw new d.PrivyConnectorError("Wallet is not currently connected.");let l=this.wallets.find((t=>c.getAddress(t.address)===c.getAddress(e)))?.chainId;if(!l)throw new d.PrivyConnectorError("Unable to determine current chainId.");if("number"==typeof n?(r=`0x${n.toString(16)}`,o=n):(r=n,o=Number(n)),l===W(r))return;let a=this.chains.find((e=>e.id===o));if(!a)throw new d.PrivyConnectorError(`Unsupported chainId: ${n}`);let s=async()=>{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:r}]})};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 k(300),await this.proxyProvider.request({method:"wallet_addEthereumChain",params:[{chainId:r,chainName:a.name,nativeCurrency:a.nativeCurrency,rpcUrls:[a.rpcUrls.default?.http[0]??""],blockExplorerUrls:[a.blockExplorers?.default.url??""]}]}),s();if("rainbow"===this.walletClientType&&e.message?.includes("wallet_switchEthereumChain"))throw new d.PrivyConnectorError(`Rainbow does not support the chainId ${t}`);throw e}},connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:i,getEthereumProvider:async()=>{if(!await i())throw new d.PrivyConnectorError("Wallet is not currently connected.");return this.proxyProvider},sign:async e=>{if(!await i())throw new d.PrivyConnectorError("Wallet is not currently connected.");return await this.sign(e)},disconnect:()=>{this.disconnect()}}}async syncAccounts(e){let t,r=e;try{if(void 0===r){let e=await P((()=>this.proxyProvider.request({method:"eth_accounts"})),{maxAttempts:10,delayMs:500});console.debug(`eth_accounts for ${this.walletClientType}:`,e),Array.isArray(e)&&(r=e)}}catch(e){console.debug("Wallet did not respond to eth_accounts. Defaulting to prefetched accounts.",e)}if(!r||!Array.isArray(r)||r.length<=0||!r[0])return;let i=r[0];if(!s.isAddress(i))return void console.warn(`Invalid ethereum address reported by ${this.walletClientType}: ${i}`);let o=c.getAddress(i),a=[];if("privy"===this.walletClientType){let e=l.u.get(n.getPrivyWalletKey(o));this.chains.find((t=>t.id===Number(e)))||(l.u.del(n.getPrivyWalletKey(o)),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 P((()=>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 ${n.DEFAULT_NETWORK}`,e),t=n.DEFAULT_NETWORK}let d=W(t);if(!a.find((e=>c.getAddress(e.address)===o))){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};a.push(this.buildConnectedWallet(c.getAddress(i),d,e,"embedded_imported"===this.connectorType))}_(a,this.wallets)||(this.wallets=a,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.getAddress(e)===c.getAddress(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:[c.toHex(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,r,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=W(e),"privy"===this.walletClientType&&l.u.put(n.getPrivyWalletKey(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 k(500),this.syncAccounts())},this.wallets=[],this.walletClientType=e,this.chains=t,this.defaultChain=r,this.rpcConfig=i,this.rpcTimeoutDuration=E(i,e),this.connected=!1,this.initialized=!1}}class S{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 d.PrivyConnectorError(`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 l.formatConnectorError(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 l.WalletTimeoutError,t=this.rpcTimeoutDuration)=>new Promise(((n,r)=>setTimeout((()=>{r(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||n.DEFAULT_RPC_TIMEOUT,this._subscriptions=[]}}const I=r.styled.div`
|
|
1
|
+
"use strict";var e=require("react"),t=require("zustand"),n=require("./context-BVLU-tYD.js"),r=require("styled-components"),i=require("react/jsx-runtime"),o=require("react-device-detect"),l=require("./use-export-wallet-BmvX9OV-.js"),a=require("./events-context-Di6--rDg.js"),s=require("viem"),c=require("viem/utils"),d=require("./internal-context-BJv4f_bO.js"),p=require("./getPublicClient-BsmZyCGX.js"),u=require("./get-is-unified-wallet-CXggv1wa.js"),h=require("./useWallets-DHI-M9UM.js");function m(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var w=/*#__PURE__*/m(o);const y=t.create((()=>({listings:[],loading:!1}))),f=y.setState,g=(t=!0)=>{let r=n.useAppConfig(),i=y((e=>e.listings)),o=y((e=>e.loading)),l=!!i.length;return e.useEffect((()=>{t&&!l&&(f({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."))}`),[])})(r.walletConnectCloudProjectId).then((e=>f({listings:e,loading:!1}))).catch((e=>{console.error(e),f({listings:[],loading:!1})})))}),[t,l,r.walletConnectCloudProjectId]),{listings:i,loading:o}};function b(e){return"cryptocom"===e?"cryptocom-defi":"binance"===e?"binance-defi":e.replace(/[-_]wallet$/,"")}const x=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,v=(e,t)=>{if(!e.isMetaMask)return!1;if(e.isMetaMask&&!t)return!0;if(e.isBraveWallet&&!e._events&&!e._state||"MetaMask"!==x(e))return!1;if(e.providers)for(let t of e.providers)if(!v(t))return!1;return!0},C=(e,t=3,n=4,r="ethereum")=>{if(!e)return"";let i="ethereum"===r?2:0;return t+n+i+3>=e.length?e:`${e.slice(0,i+t)}...${e.slice(e.length-n,e.length)}`},k=e=>new Promise((t=>setTimeout(t,e)));const P=(e,t={})=>{let n=t.delayMs||150,r=t.maxAttempts||270;return new Promise((async(i,o)=>{let l=!1,a=0;for(;!l&&a<r;){if(t.abortSignal?.aborted)return;e().then((e=>{l=!0,i(e)}),((...e)=>{l=!0,o(...e)})),a+=1,await k(n)}l||o(Error("Exceeded max attempts before resolving function"))}))};function W(e){return`eip155:${String(Number(e))}`}function T(e){return"ethereum"===e.type}function _(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],i=t[n];if(r?.address!==i?.address||r&&i&&T(r)&&T(i)&&r?.chainId!==i?.chainId||r?.connectorType!==i?.connectorType||r?.connectedAt!==i?.connectedAt||r?.walletClientType!==i?.walletClientType||r?.isConnected!==i?.isConnected||r?.linked!==i?.linked)return!1}return!0}const E=(e,t)=>e.rpcTimeouts&&e.rpcTimeouts[t]||n.DEFAULT_RPC_TIMEOUT;class j extends l.WalletConnector{buildConnectedWallet(e,t,n,r){let i=async()=>!!this.wallets.find((t=>c.getAddress(t.address)===c.getAddress(e)));return{type:"ethereum",address:c.getAddress(e),chainId:t,meta:n,imported:r,switchChain:async n=>{let r,o;if(!i)throw new d.PrivyConnectorError("Wallet is not currently connected.");let l=this.wallets.find((t=>c.getAddress(t.address)===c.getAddress(e)))?.chainId;if(!l)throw new d.PrivyConnectorError("Unable to determine current chainId.");if("number"==typeof n?(r=`0x${n.toString(16)}`,o=n):(r=n,o=Number(n)),l===W(r))return;let a=this.chains.find((e=>e.id===o));if(!a)throw new d.PrivyConnectorError(`Unsupported chainId: ${n}`);let s=async()=>{await this.proxyProvider.request({method:"wallet_switchEthereumChain",params:[{chainId:r}]})};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 k(300),await this.proxyProvider.request({method:"wallet_addEthereumChain",params:[{chainId:r,chainName:a.name,nativeCurrency:a.nativeCurrency,rpcUrls:[a.rpcUrls.default?.http[0]??""],blockExplorerUrls:[a.blockExplorers?.default.url??""]}]}),s();if("rainbow"===this.walletClientType&&e.message?.includes("wallet_switchEthereumChain"))throw new d.PrivyConnectorError(`Rainbow does not support the chainId ${t}`);throw e}},connectedAt:Date.now(),walletClientType:this.walletClientType,connectorType:this.connectorType,isConnected:i,getEthereumProvider:async()=>{if(!await i())throw new d.PrivyConnectorError("Wallet is not currently connected.");return this.proxyProvider},sign:async e=>{if(!await i())throw new d.PrivyConnectorError("Wallet is not currently connected.");return await this.sign(e)},disconnect:()=>{this.disconnect()}}}async syncAccounts(e){let t,r=e;try{if(void 0===r){let e=await P((()=>this.proxyProvider.request({method:"eth_accounts"})),{maxAttempts:10,delayMs:500});console.debug(`eth_accounts for ${this.walletClientType}:`,e),Array.isArray(e)&&(r=e)}}catch(e){console.debug("Wallet did not respond to eth_accounts. Defaulting to prefetched accounts.",e)}if(!r||!Array.isArray(r)||r.length<=0||!r[0])return;let i=r[0];if(!s.isAddress(i))return void console.warn(`Invalid ethereum address reported by ${this.walletClientType}: ${i}`);let o=c.getAddress(i),a=[];if("privy"===this.walletClientType){let e=l.s.get(n.getPrivyWalletKey(o));this.chains.find((t=>t.id===Number(e)))||(l.s.del(n.getPrivyWalletKey(o)),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 P((()=>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 ${n.DEFAULT_NETWORK}`,e),t=n.DEFAULT_NETWORK}let d=W(t);if(!a.find((e=>c.getAddress(e.address)===o))){let e={name:this.walletBranding.name,icon:"string"==typeof this.walletBranding.icon?this.walletBranding.icon:void 0,id:this.walletBranding.id};a.push(this.buildConnectedWallet(c.getAddress(i),d,e,"embedded_imported"===this.connectorType))}_(a,this.wallets)||(this.wallets=a,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.getAddress(e)===c.getAddress(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:[c.toHex(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,r,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=W(e),"privy"===this.walletClientType&&l.s.put(n.getPrivyWalletKey(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 k(500),this.syncAccounts())},this.wallets=[],this.walletClientType=e,this.chains=t,this.defaultChain=r,this.rpcConfig=i,this.rpcTimeoutDuration=E(i,e),this.connected=!1,this.initialized=!1}}class S{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 d.PrivyConnectorError(`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 l.formatConnectorError(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 l.WalletTimeoutError,t=this.rpcTimeoutDuration)=>new Promise(((n,r)=>setTimeout((()=>{r(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||n.DEFAULT_RPC_TIMEOUT,this._subscriptions=[]}}const I=r.styled.div`
|
|
2
2
|
text-align: left;
|
|
3
3
|
flex-grow: 1;
|
|
4
4
|
`,z=r.styled.div`
|
|
@@ -182,4 +182,4 @@
|
|
|
182
182
|
/* Override default Loader to match button transitions */
|
|
183
183
|
transition: border-color 200ms ease;
|
|
184
184
|
}
|
|
185
|
-
`;const Z=["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"],J=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 r=X({client:this.client,isSolana:t,connectOnly:n});return`${e?"phantom://":"https://phantom.app/ul/"}browse/${r}?ref=${r}`}},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 r=X({client:this.client,isSolana:t,connectOnly:n});return`${e?"solflare://ul/v1/":"https://solflare.com/ul/v1/"}browse/${r}?ref=${r}`}},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=X({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 r=X({client:this.client,isSolana:t,connectOnly:n});return`${e?"backpack://ul/v1/":"https://backpack.app/ul/v1/"}browse/${r}?ref=${r}`}},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=${X({client:this.client,isSolana:e,connectOnly:t})}`}}});function X({client:e,isSolana:t,connectOnly:n}){let r=new URL(window.location.href);return r.searchParams.set("privy_connector",t?"solana_adapter":"injected"),r.searchParams.set("privy_wallet_client",e),r.searchParams.set("privy_connect_only",String(n)),encodeURIComponent(r.href.replace(/\/$/g,""))}class G extends l.SolanaWalletConnector{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:r}){super({name:t},!1),this.connectorType="null",this.proxyProvider=new S(void 0,n.DEFAULT_RPC_TIMEOUT),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=r}}function Q(e){return"solana"===e.chainType}let V=/*#__PURE__*/e.createContext({});let Y=e=>`privy:${e}:recent-login-method`,ee=e=>`privy:${e}:recent-login-wallet-client`,te=e=>`privy:${e}:recent-login-chain-type`;const ne=t.create((()=>({isModalOpen:!1,resolvers:null})));let re=t.create((()=>({})));const ie=async()=>{let e,t,n=new Promise(((n,r)=>{e=n,t=r}));return re.setState({}),ne.setState({isModalOpen:!0,resolvers:{resolve:e,reject:t}}),await n},oe=({address:e,client:t,appId:n})=>{let r=`${t}:${e}`;n&&l.u.put(le(n),r),ne.setState({wallet:r})},le=e=>`privy:${e}:active-wallet-connection`;exports.AlignBottom=z,exports.ButtonLoader=e=>/*#__PURE__*/i.jsx(H,{color:e.color||"var(--privy-color-foreground-3)"}),exports.ConnectionLoader=({success:e,fail:t})=>/*#__PURE__*/i.jsxs(R,{children:[/*#__PURE__*/i.jsx(B,{children:/*#__PURE__*/i.jsx(K,{className:e?"success":t?"fail":""})}),/*#__PURE__*/i.jsx(B,{children:/*#__PURE__*/i.jsx(q,{className:e?"success":t?"fail":""})})]}),exports.EmptyWalletState=U,exports.EthereumNullConnector=class extends j{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the EthereumNullConnector")}disconnect(){throw Error("disconnect called for an uninstalled wallet via the EthereumNullConnector")}promptConnection(e){throw Error(`promptConnection called for an uninstalled wallet via the EthereumNullConnector for ${e}`)}constructor({id:e,name:t,icon:r,walletClientType:i,defaultChain:o}){super(i,[],o,{}),this.connectorType="null",this.proxyProvider=new S(void 0,n.DEFAULT_RPC_TIMEOUT),this.id=e,this.name=t,this.icon=r}},exports.EthereumWalletConnector=j,exports.Grow=I,exports.Header=N,exports.Hide=F,exports.Loader=q,exports.LoaderFaint=K,exports.LoginMethodButton=D,exports.LoginMethodContainer=A,exports.LoginMethodContainerWithScrollShadows=$,exports.LoginMethodIconWrapper=M,exports.Metamask=({...e})=>/*#__PURE__*/i.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",...e,children:[/*#__PURE__*/i.jsx("rect",{width:"32",height:"32",rx:"6",fill:"#121314"}),/*#__PURE__*/i.jsx("g",{transform:"translate(4, 4)",children:/*#__PURE__*/i.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 318.6 318.6",children:[/*#__PURE__*/i.jsx("style",{children:".s1{stroke-linecap:round;stroke-linejoin:round}.s2{fill:#e4761b;stroke:#e4761b}.s3{fill:#f6851b;stroke:#f6851b}"}),/*#__PURE__*/i.jsx("path",{fill:"#e2761b",stroke:"#e2761b",className:"s1",d:"m274.1 35.5-99.5 73.9L193 65.8z"}),/*#__PURE__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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"})]})})]}),exports.PrivyProxyProvider=S,exports.RecentlyUsedAccountProvider=({children:t})=>{let r=n.useAppConfig(),[o,s]=e.useState({});return a.usePrivyEventSubscription("login",{onComplete:({loginAccount:e})=>{e&&"passkey"!==e.type&&"cross_app"!==e.type&&("wallet"!==e.type||"privy"!==e.walletClientType)&&(l.u.put(Y(r.id),e.type),"wallet"===e.type?(l.u.put(ee(r.id),e.walletClientType),l.u.put(te(r.id),e.chainType),s({accountType:e.type,walletClientType:e.walletClientType,chainType:e.chainType})):(l.u.del(ee(r.id)),l.u.del(te(r.id)),s({accountType:e.type})))}}),e.useEffect((()=>{if(!r.id)return;let e=l.u.get(Y(r.id)),t=l.u.get(ee(r.id)),n=l.u.get(te(r.id));e&&s("wallet"===e?{accountType:e,walletClientType:t,chainType:n}:{accountType:e})}),[r.id]),/*#__PURE__*/i.jsx(V.Provider,{value:o,children:t})},exports.SolanaNullConnector=G,exports.Subtitle=O,exports.areWalletArraysEqual=_,exports.clamp=function(e,{min:t,max:n}){return Math.min(Math.max(e,t),n)},exports.close=()=>{let e=ne.getState().resolvers;e||console.warn("useActiveWalletStore: Called close while modal was not open"),ne.setState({isModalOpen:!1}),e?.resolve({wallet:ne.getState().wallet})},exports.convert1dTo2dArray=(e,t)=>{let n=e.slice(0),r=[];for(;n.length;)r.push(n.splice(0,t));return r},exports.detectInjectedConnectors=async function({store:e,walletList:t,externalWalletConfig:n,walletChainType:r,timeout:i=3e3}){let o=!1,l=window;return new Promise((a=>{function s(){if(o)return;o=!0,window.removeEventListener("ethereum#initialized",s);let i=e.getProviders();console.debug("Detected injected providers:",i.map((e=>e.info)));let l=[];for(let e of i)t.includes("coinbase_wallet")&&"com.coinbase.wallet"===e.info.rdns||"solana-only"===r&&"app.phantom"===e.info.rdns||l.push({type:e.info.name.toLowerCase().replace(/\s/g,"_"),eip6963InjectedProvider:e});if("solana-only"!==r)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=x(e);if(!i.some((e=>e.info.name===t))){if(v(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})}}a(l)}l.ethereum?s():(window.addEventListener("ethereum#initialized",s,{once:!0}),setTimeout((()=>{s()}),i))}))},exports.formatChainIdToCAIP2=W,exports.formatSolanaWalletAddress=(e,t=3,n=4)=>C(e,t,n,"solana"),exports.formatWalletAddress=C,exports.generateTypedDataWithDomainType=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}}},exports.getBlockExplorer=(e,t)=>{let n=Number(e),r=t.find((e=>e.id===n));if(!r)throw new d.PrivyConnectorError(`Unsupported chainId ${e}`,4901);return r.blockExplorers?.default.url},exports.getExternalWalletData=e=>y.getState().listings.find((({slug:t})=>b(t)===b(e))),exports.getExternalWalletDataByUrl=e=>{let t;try{t=new URL(e).hostname}catch(e){return}return y.getState().listings.find((({homepage:e})=>{let n;try{n=new URL(e).hostname}catch(e){return!1}return t.includes(n)}))},exports.getJsonRpcEndpoint=(e,t,n,r)=>{let i=Number(e),o=t.find((e=>e.id===i));if(!o)throw new d.PrivyConnectorError(`Unsupported chainId ${e}`,4901);return p.getJsonRpcEndpointFromChain(o,n,r)},exports.getRpcTimeout=E,exports.getWalletConfigForConnector=function({connectorType:e,walletClientType:t}){for(let n of Z)if(e===n||t===n)return J[n]},exports.invokeUntilSettled=P,exports.isBaseConnectedEthereumWallet=T,exports.isBaseConnectedSolanaWallet=function(e){return"solana"===e.type},exports.isCoinbaseWalletInstalled=()=>{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},exports.isEthereumWalletConnector=function(e){return"ethereum"===e.chainType},exports.isSolanaWalletConnector=Q,exports.mobileWalletsConfig=J,exports.parseAdditionalSigners=e=>e?.map((e=>({signer_id:e.signerId,override_policy_ids:e.policyIds}))),exports.pollForResult=function(e,{interval:t=100,timeout:n=5e3}={}){return new Promise(((r,i)=>{let o,l=0,a=()=>{l>=n?i("Max attempts reached without result"):(o=e(),l+=t,null==o?setTimeout(a,t):r(o))};a()}))},exports.setActiveWallet=oe,exports.shouldFetchWcRegistryListings=function(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)))},exports.sleep=k,exports.splitAtIndex=(e,t)=>{let n=[],r=[];for(let[i,o]of e.entries())i<t?n.push(o):r.push(o);return[n,r]},exports.stripEmoji=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,""),exports.toHex=e=>"string"==typeof e?e:"0x"+e.toString(16),exports.updateBalance=(e,t,n)=>{re.setState((r=>({[e]:{...r[e],[t]:n}})))},exports.useActiveWallet=()=>{let t=n.useAppConfig(),{wallets:r}=h.useWallets(),{connectors:i}=d.usePrivyInternal(),o=e.useMemo((()=>i.filter(Q).flatMap((e=>e.wallets))),[i]),a=ne((e=>e.wallet));e.useEffect((()=>{if(!t.id)return;let e=l.u.get(le(t.id));ne.setState({wallet:e})}),[t.id]);let s=e.useMemo((()=>{if(!a)return;let[,e]=a.split(":");return r.find((t=>t.address===e))||o.find((t=>t.address===e))}),[a,r,o]),c=e.useMemo((()=>s?"ethereum"===s.type?s.chainId:"solana":void 0),[s]);return{connect:async e=>{e?.reset&&(l.u.del(le(t.id)),ne.setState({wallet:void 0}));let{wallet:n}=await ie();if(!n)return{};let[,i]=n.split(":"),a=r.find((e=>e.address===i));if(a)return{wallet:a,network:a.chainId};let s=o.find((e=>e.address===i));return s?{wallet:s,network:"solana"}:{}},setActiveWallet:e.useCallback((e=>{oe({address:e.address,client:e.walletClientType,appId:t.id})}),[t.id]),wallet:s,network:c}},exports.useBalance=(e,t)=>re((n=>n[e]?.[t])),exports.useConnectWallet=function(t){let{connectWallet:n}=e.useContext(u.PrivyContext);return a.usePrivyEventSubscription("connectWallet",t),{connectWallet:n}},exports.useElementHeight=t=>{let[n,r]=e.useState("auto");return e.useEffect((()=>{let e=new ResizeObserver((e=>{r(e[0]?.contentRect.height??"auto")}));return t.current&&e.observe(t.current),()=>{t.current&&e.unobserve(t.current)}}),[t.current]),n},exports.useExternalWalletListing=e=>{let{listings:t}=g();return t.find((({slug:t})=>b(t)===b(e)))},exports.useExternalWalletListings=g,exports.useFundWallet=e=>{a.usePrivyEventSubscription("fundWallet",e);let{fundWallet:t}=d.usePrivyInternal();return{fundWallet:({address:e,options:n})=>t(e,n)}},exports.useIsModalOpen=()=>ne((e=>e.isModalOpen)),exports.useLogin=function(t){let{login:n}=e.useContext(u.PrivyContext);return a.usePrivyEventSubscription("login",t),{login:n}},exports.useLogout=function(t){let{logout:n}=e.useContext(u.PrivyContext);return a.usePrivyEventSubscription("logout",t),{logout:n}},exports.useRecentlyUsedLogin=()=>e.useContext(V),exports.validateEmail=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,}))$/);
|
|
185
|
+
`;const Z=["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"],J=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 r=X({client:this.client,isSolana:t,connectOnly:n});return`${e?"phantom://":"https://phantom.app/ul/"}browse/${r}?ref=${r}`}},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 r=X({client:this.client,isSolana:t,connectOnly:n});return`${e?"solflare://ul/v1/":"https://solflare.com/ul/v1/"}browse/${r}?ref=${r}`}},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=X({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 r=X({client:this.client,isSolana:t,connectOnly:n});return`${e?"backpack://ul/v1/":"https://backpack.app/ul/v1/"}browse/${r}?ref=${r}`}},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=${X({client:this.client,isSolana:e,connectOnly:t})}`}}});function X({client:e,isSolana:t,connectOnly:n}){let r=new URL(window.location.href);return r.searchParams.set("privy_connector",t?"solana_adapter":"injected"),r.searchParams.set("privy_wallet_client",e),r.searchParams.set("privy_connect_only",String(n)),encodeURIComponent(r.href.replace(/\/$/g,""))}class G extends l.SolanaWalletConnector{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:r}){super({name:t},!1),this.connectorType="null",this.proxyProvider=new S(void 0,n.DEFAULT_RPC_TIMEOUT),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=r}}function Q(e){return"solana"===e.chainType}let V=/*#__PURE__*/e.createContext({});let Y=e=>`privy:${e}:recent-login-method`,ee=e=>`privy:${e}:recent-login-wallet-client`,te=e=>`privy:${e}:recent-login-chain-type`;const ne=t.create((()=>({isModalOpen:!1,resolvers:null})));let re=t.create((()=>({})));const ie=async()=>{let e,t,n=new Promise(((n,r)=>{e=n,t=r}));return re.setState({}),ne.setState({isModalOpen:!0,resolvers:{resolve:e,reject:t}}),await n},oe=({address:e,client:t,appId:n})=>{let r=`${t}:${e}`;n&&l.s.put(le(n),r),ne.setState({wallet:r})},le=e=>`privy:${e}:active-wallet-connection`;exports.AlignBottom=z,exports.ButtonLoader=e=>/*#__PURE__*/i.jsx(H,{color:e.color||"var(--privy-color-foreground-3)"}),exports.ConnectionLoader=({success:e,fail:t})=>/*#__PURE__*/i.jsxs(R,{children:[/*#__PURE__*/i.jsx(B,{children:/*#__PURE__*/i.jsx(K,{className:e?"success":t?"fail":""})}),/*#__PURE__*/i.jsx(B,{children:/*#__PURE__*/i.jsx(q,{className:e?"success":t?"fail":""})})]}),exports.EmptyWalletState=U,exports.EthereumNullConnector=class extends j{get walletBranding(){return{id:this.id,name:this.name,icon:this.icon}}async initialize(){this.initialized=!0,this.emit("initialized")}async connect(){throw Error("connect called for an uninstalled wallet via the EthereumNullConnector")}disconnect(){throw Error("disconnect called for an uninstalled wallet via the EthereumNullConnector")}promptConnection(e){throw Error(`promptConnection called for an uninstalled wallet via the EthereumNullConnector for ${e}`)}constructor({id:e,name:t,icon:r,walletClientType:i,defaultChain:o}){super(i,[],o,{}),this.connectorType="null",this.proxyProvider=new S(void 0,n.DEFAULT_RPC_TIMEOUT),this.id=e,this.name=t,this.icon=r}},exports.EthereumWalletConnector=j,exports.Grow=I,exports.Header=N,exports.Hide=F,exports.Loader=q,exports.LoaderFaint=K,exports.LoginMethodButton=D,exports.LoginMethodContainer=A,exports.LoginMethodContainerWithScrollShadows=$,exports.LoginMethodIconWrapper=M,exports.Metamask=({...e})=>/*#__PURE__*/i.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",...e,children:[/*#__PURE__*/i.jsx("rect",{width:"32",height:"32",rx:"6",fill:"#121314"}),/*#__PURE__*/i.jsx("g",{transform:"translate(4, 4)",children:/*#__PURE__*/i.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 318.6 318.6",children:[/*#__PURE__*/i.jsx("style",{children:".s1{stroke-linecap:round;stroke-linejoin:round}.s2{fill:#e4761b;stroke:#e4761b}.s3{fill:#f6851b;stroke:#f6851b}"}),/*#__PURE__*/i.jsx("path",{fill:"#e2761b",stroke:"#e2761b",className:"s1",d:"m274.1 35.5-99.5 73.9L193 65.8z"}),/*#__PURE__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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__*/i.jsx("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"})]})})]}),exports.PrivyProxyProvider=S,exports.RecentlyUsedAccountProvider=({children:t})=>{let r=n.useAppConfig(),[o,s]=e.useState({});return a.usePrivyEventSubscription("login",{onComplete:({loginAccount:e})=>{e&&"passkey"!==e.type&&"cross_app"!==e.type&&("wallet"!==e.type||"privy"!==e.walletClientType)&&(l.s.put(Y(r.id),e.type),"wallet"===e.type?(l.s.put(ee(r.id),e.walletClientType),l.s.put(te(r.id),e.chainType),s({accountType:e.type,walletClientType:e.walletClientType,chainType:e.chainType})):(l.s.del(ee(r.id)),l.s.del(te(r.id)),s({accountType:e.type})))}}),e.useEffect((()=>{if(!r.id)return;let e=l.s.get(Y(r.id)),t=l.s.get(ee(r.id)),n=l.s.get(te(r.id));e&&s("wallet"===e?{accountType:e,walletClientType:t,chainType:n}:{accountType:e})}),[r.id]),/*#__PURE__*/i.jsx(V.Provider,{value:o,children:t})},exports.SolanaNullConnector=G,exports.Subtitle=O,exports.areWalletArraysEqual=_,exports.clamp=function(e,{min:t,max:n}){return Math.min(Math.max(e,t),n)},exports.close=()=>{let e=ne.getState().resolvers;e||console.warn("useActiveWalletStore: Called close while modal was not open"),ne.setState({isModalOpen:!1}),e?.resolve({wallet:ne.getState().wallet})},exports.convert1dTo2dArray=(e,t)=>{let n=e.slice(0),r=[];for(;n.length;)r.push(n.splice(0,t));return r},exports.detectInjectedConnectors=async function({store:e,walletList:t,externalWalletConfig:n,walletChainType:r,timeout:i=3e3}){let o=!1,l=window;return new Promise((a=>{function s(){if(o)return;o=!0,window.removeEventListener("ethereum#initialized",s);let i=e.getProviders();console.debug("Detected injected providers:",i.map((e=>e.info)));let l=[];for(let e of i)t.includes("coinbase_wallet")&&"com.coinbase.wallet"===e.info.rdns||"solana-only"===r&&"app.phantom"===e.info.rdns||l.push({type:e.info.name.toLowerCase().replace(/\s/g,"_"),eip6963InjectedProvider:e});if("solana-only"!==r)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=x(e);if(!i.some((e=>e.info.name===t))){if(v(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})}}a(l)}l.ethereum?s():(window.addEventListener("ethereum#initialized",s,{once:!0}),setTimeout((()=>{s()}),i))}))},exports.formatChainIdToCAIP2=W,exports.formatSolanaWalletAddress=(e,t=3,n=4)=>C(e,t,n,"solana"),exports.formatWalletAddress=C,exports.generateTypedDataWithDomainType=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}}},exports.getBlockExplorer=(e,t)=>{let n=Number(e),r=t.find((e=>e.id===n));if(!r)throw new d.PrivyConnectorError(`Unsupported chainId ${e}`,4901);return r.blockExplorers?.default.url},exports.getExternalWalletData=e=>y.getState().listings.find((({slug:t})=>b(t)===b(e))),exports.getExternalWalletDataByUrl=e=>{let t;try{t=new URL(e).hostname}catch(e){return}return y.getState().listings.find((({homepage:e})=>{let n;try{n=new URL(e).hostname}catch(e){return!1}return t.includes(n)}))},exports.getJsonRpcEndpoint=(e,t,n,r)=>{let i=Number(e),o=t.find((e=>e.id===i));if(!o)throw new d.PrivyConnectorError(`Unsupported chainId ${e}`,4901);return p.getJsonRpcEndpointFromChain(o,n,r)},exports.getRpcTimeout=E,exports.getWalletConfigForConnector=function({connectorType:e,walletClientType:t}){for(let n of Z)if(e===n||t===n)return J[n]},exports.invokeUntilSettled=P,exports.isBaseConnectedEthereumWallet=T,exports.isBaseConnectedSolanaWallet=function(e){return"solana"===e.type},exports.isCoinbaseWalletInstalled=()=>{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},exports.isEthereumWalletConnector=function(e){return"ethereum"===e.chainType},exports.isSolanaWalletConnector=Q,exports.mobileWalletsConfig=J,exports.parseAdditionalSigners=e=>e?.map((e=>({signer_id:e.signerId,override_policy_ids:e.policyIds}))),exports.pollForResult=function(e,{interval:t=100,timeout:n=5e3}={}){return new Promise(((r,i)=>{let o,l=0,a=()=>{l>=n?i("Max attempts reached without result"):(o=e(),l+=t,null==o?setTimeout(a,t):r(o))};a()}))},exports.setActiveWallet=oe,exports.shouldFetchWcRegistryListings=function(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)))},exports.sleep=k,exports.splitAtIndex=(e,t)=>{let n=[],r=[];for(let[i,o]of e.entries())i<t?n.push(o):r.push(o);return[n,r]},exports.stripEmoji=e=>e.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g,""),exports.toHex=e=>"string"==typeof e?e:"0x"+e.toString(16),exports.updateBalance=(e,t,n)=>{re.setState((r=>({[e]:{...r[e],[t]:n}})))},exports.useActiveWallet=()=>{let t=n.useAppConfig(),{wallets:r}=h.useWallets(),{connectors:i}=d.usePrivyInternal(),o=e.useMemo((()=>i.filter(Q).flatMap((e=>e.wallets))),[i]),a=ne((e=>e.wallet));e.useEffect((()=>{if(!t.id)return;let e=l.s.get(le(t.id));ne.setState({wallet:e})}),[t.id]);let s=e.useMemo((()=>{if(!a)return;let[,e]=a.split(":");return r.find((t=>t.address===e))||o.find((t=>t.address===e))}),[a,r,o]),c=e.useMemo((()=>s?"ethereum"===s.type?s.chainId:"solana":void 0),[s]);return{connect:async e=>{e?.reset&&(l.s.del(le(t.id)),ne.setState({wallet:void 0}));let{wallet:n}=await ie();if(!n)return{};let[,i]=n.split(":"),a=r.find((e=>e.address===i));if(a)return{wallet:a,network:a.chainId};let s=o.find((e=>e.address===i));return s?{wallet:s,network:"solana"}:{}},setActiveWallet:e.useCallback((e=>{oe({address:e.address,client:e.walletClientType,appId:t.id})}),[t.id]),wallet:s,network:c}},exports.useBalance=(e,t)=>re((n=>n[e]?.[t])),exports.useConnectWallet=function(t){let{connectWallet:n}=e.useContext(u.PrivyContext);return a.usePrivyEventSubscription("connectWallet",t),{connectWallet:n}},exports.useElementHeight=t=>{let[n,r]=e.useState("auto");return e.useEffect((()=>{let e=new ResizeObserver((e=>{r(e[0]?.contentRect.height??"auto")}));return t.current&&e.observe(t.current),()=>{t.current&&e.unobserve(t.current)}}),[t.current]),n},exports.useExternalWalletListing=e=>{let{listings:t}=g();return t.find((({slug:t})=>b(t)===b(e)))},exports.useExternalWalletListings=g,exports.useFundWallet=e=>{a.usePrivyEventSubscription("fundWallet",e);let{fundWallet:t}=d.usePrivyInternal();return{fundWallet:({address:e,options:n})=>t(e,n)}},exports.useIsModalOpen=()=>ne((e=>e.isModalOpen)),exports.useLogin=function(t){let{login:n}=e.useContext(u.PrivyContext);return a.usePrivyEventSubscription("login",t),{login:n}},exports.useLogout=function(t){let{logout:n}=e.useContext(u.PrivyContext);return a.usePrivyEventSubscription("logout",t),{logout:n}},exports.useRecentlyUsedLogin=()=>e.useContext(V),exports.validateEmail=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,}))$/);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react"),r=require("@privy-io/js-sdk-core"),i=require("./context-
|
|
1
|
+
"use strict";var e=require("react"),r=require("@privy-io/js-sdk-core"),i=require("./context-BVLU-tYD.js"),o=require("./internal-context-BJv4f_bO.js"),t=require("./useGetSolPrice-Ca32VAbF.js");let n=t=>{let{showFiatPrices:n,getUsdTokenPrice:c,chains:a}=o.usePrivyInternal(),[s,l]=e.useState(!0),[P,u]=e.useState(void 0),[d,k]=e.useState(void 0);return e.useEffect((()=>{t||=i.CHAIN_ID_MAINNET;let e=r.addToDefaultChains(a).find((e=>e.id===Number(t)));(async()=>{if(n){if(!e)return l(!1),void u(Error(`Unable to fetch token price on chain id ${t}`));try{l(!0);let r=await c(e);r?k(r):u(Error(`Unable to fetch token price on chain id ${e.id}`))}catch(e){u(e)}finally{l(!1)}}else l(!1)})()}),[t]),{tokenPrice:d,isTokenPriceLoading:s,tokenPriceError:P}};exports.useGetTokenPrice=function(e){let{tokenPrice:r,isTokenPriceLoading:i,tokenPriceError:o}=n("solana"===e?-1:e),{solPrice:c,isSolPriceLoading:a,solPriceError:s}=t.useGetSolPrice({enabled:"solana"===e});return"solana"===e?{tokenPrice:c,isTokenPriceLoading:a,tokenPriceError:s}:{tokenPrice:r,isTokenPriceLoading:i,tokenPriceError:o}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./context-
|
|
1
|
+
"use strict";var e=require("./context-BVLU-tYD.js");const n={"connectionStatus.successfullyConnected":"Successfully connected with {walletName}","connectionStatus.errorTitle":"{errorMessage}","connectionStatus.connecting":"Connecting","connectionStatus.connectOneWallet":"For the best experience, connect only one wallet at a time.","connectionStatus.checkOtherWindows":"Don't see your wallet? Check your other browser windows.","connectionStatus.stillHere":"Still here?","connectionStatus.tryConnectingAgain":"Try connecting again","connectionStatus.or":"or","connectionStatus.useDifferentLink":"use this different link","connectWallet.connectYourWallet":"Connect a wallet","connectWallet.waitingForWallet":"Waiting for {walletName}","connectWallet.connectToAccount":"Connect a wallet to your {appName} account","connectWallet.installAndConnect":"To connect to {walletName}, install and open the app. Then confirm the connection when prompted.","connectWallet.tryConnectingAgain":"Please try connecting again.","connectWallet.openInApp":"Open in app","connectWallet.copyLink":"Copy link","connectWallet.retry":"Retry","connectWallet.searchPlaceholder":"Search through {count} wallets","connectWallet.noWalletsFound":"No wallets found. Try another search.","connectWallet.lastUsed":"Last used","connectWallet.selectYourWallet":"Select your wallet","connectWallet.selectNetwork":"Select network","connectWallet.goToWallet":"Go to {walletName} to continue","connectWallet.scanToConnect":"Scan code to connect to {walletName}","connectWallet.openOrInstall":"Open or install {walletName}"};exports.useI18n=function(){let t=e.useAppConfig();return{t:(e,o)=>function(e,t,o){let c=t?.[e]??n[e];return o&&0!==Object.keys(o).length?c.replace(/\{(\w+)\}/g,((e,n)=>o[n]??e)):c}(e,t.intl.textLocalization,o)}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react-device-detect"),r=require("./internal-context-BJv4f_bO.js"),t=require("react"),n=require("./use-export-wallet-BmvX9OV-.js"),a=require("./get-is-unified-wallet-CXggv1wa.js"),o=require("./events-context-Di6--rDg.js"),i=require("@privy-io/js-sdk-core"),l=require("./useWallets-DHI-M9UM.js"),s=require("./context-BVLU-tYD.js");function d(e){return{name:e.metadata?.shortName||e.name||"",universalLink:e.mobile.universal,deepLink:e.mobile.native}}let c="WALLETCONNECT_DEEPLINK_CHOICE";function u(e){return e.startsWith("http://")||e.startsWith("https://")}function p(e,r){if(u(e))return y(e,r);let t=e;return t.includes("://")||(t=e.replaceAll("/","").replaceAll(":",""),t=`${t}://`),t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}function y(e,r){if(!u(e))return p(e,r);let t=e;return t.endsWith("/")||(t=`${t}/`),{redirect:`${t}wc?uri=${encodeURIComponent(r)}`,href:t}}const E=Symbol("solana-funding-plugin"),v=Symbol("solana-ledger-plugin"),w=(e,{chainType:r,walletIndex:t}={})=>e?.linkedAccounts.filter((e=>!("wallet"!==e.type||"privy"!==e.walletClientType||void 0!==t&&e.walletIndex!==t||void 0!==r&&e.chainType!==r)))??[],h=async({user:e,accessToken:r,proxy:t,refreshSessionAndUser:n,privy:o,appConfig:s,recoverEmbeddedWallet:d,setUser:c,walletIndex:u,chainType:p,recoveryMethod:y,recoveryPassword:E,recoveryAccessToken:v,idempotencyKey:h})=>{if(0===u)if("user-controlled-server-wallets-only"===s.embeddedWallets.mode)await i.create(o,{request:{chain_type:p},headers:h?{"privy-idempotency-key":h}:void 0});else if("ethereum"===p){let n=a.getPrivySolanaWallet(e);n&&await d({address:n.address}),await t.create({accessToken:r,solanaAddress:n?.address,recoveryMethod:y,recoveryPassword:E,recoveryAccessToken:v})}else{if("solana"!==p)throw Error("Invalid input to create wallet");{let n=a.getPrivyEthereumWallet(e);n&&await d({address:n.address}),await t.createSolana({accessToken:r,ethereumAddress:n?.address,recoveryMethod:y,recoveryPassword:E,recoveryAccessToken:v})}}else if("user-controlled-server-wallets-only"===s.embeddedWallets.mode)await i.create(o,{request:{chain_type:p}});else{let{entropyId:n,entropyIdVerifier:a}=l.getEntropyDetailsForUser(e);await d(),await t.addWallet({accessToken:r,entropyId:n,entropyIdVerifier:a,chainType:p,hdWalletIndex:u})}let m=await n(),f=w(m,{chainType:p,walletIndex:u})[0];return c(m),{user:m,account:f}},m=e=>e.reduce(((e,r)=>!e||e.walletIndex<r.walletIndex?r:e),null);let f=async({accessToken:e,appConfig:t,privy:n,emitPrivyEvent:o,proxy:i,refreshSessionAndUser:l,recoverEmbeddedWallet:s,user:d,walletIndex:c,setModalData:u,openModal:p,chainType:y,setUser:E,idempotencyKey:v})=>{if(c<0)throw o("createWallet","onError",r.PrivyErrorCode.EMBEDDED_WALLET_CREATE_ERROR),Error(`A negative walletIndex (${c}) is invalid.`);let m=a.getPrivyPrimaryWallet(d);if(c>0&&!m)throw o("createWallet","onError",r.PrivyErrorCode.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 o("createWallet","onError",r.PrivyErrorCode.EMBEDDED_WALLET_CREATE_ERROR),Error("User owned recovery not yet supported for this app.");if(!m&&t.embeddedWallets.requireUserOwnedRecoveryOnCreate)return await W({emitPrivyEvent:o,setModalData:u,openModal:p,chainType:y});let f=w(d,{chainType:y,walletIndex:c})[0];if(f)return{user:d,account:f};if(0===c&&!i)return W({emitPrivyEvent:o,setModalData:u,openModal:p,chainType:y});if(!i)throw o("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");return h({appConfig:t,walletIndex:c,chainType:y,user:d,accessToken:e,proxy:i,refreshSessionAndUser:l,privy:n,recoverEmbeddedWallet:s,setUser:E,idempotencyKey:v})},W=async({emitPrivyEvent:e,setModalData:t,openModal:n,chainType:a})=>new Promise(((o,i)=>{t({createWallet:{onSuccess:({user:r,account:t})=>{e("createWallet","onSuccess",{wallet:t}),o({user:r,account:t})},onFailure:t=>{e("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),i(t)},callAuthOnSuccessOnClose:!1,shouldCreateEth:"ethereum"===a,shouldCreateSol:"solana"===a}}),n("EmbeddedWalletOnAccountCreateScreen")}));const T=()=>{let e=s.useAppConfig(),t=o.useEmitPrivyEvent(),{setModalData:n}=a.usePrivyModal(),{initializeWalletProxy:i,recoverEmbeddedWallet:l,setUser:d,openModal:c,refreshSessionAndUser:u,privy:p,client:y}=r.usePrivyInternal();return{create:async({chainType:a,options:o,latestUser:E,idempotencyKey:v})=>{let h=E;if(h||(h=await u()),!h)throw t("createWallet","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");return await(async({appConfig:e,getAccessToken:t,initializeWalletProxy:n,user:a,privy:o,emitPrivyEvent:i,recoverEmbeddedWallet:l,setModalData:s,openModal:d,setUser:c,options:u,timeoutDuration:p,refreshSessionAndUser:y,chainType:E,idempotencyKey:v})=>{let[h,W]=await Promise.all([n(p),t()]);if(!W||!a)throw i("createWallet","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED),Error("User must be authenticated before creating a Privy wallet");if(!h&&e.customAuth?.enabled)throw i("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to connect to wallet proxy");if(u&&"walletIndex"in u&&"number"==typeof u.walletIndex){if("user-controlled-server-wallets-only"===e.embeddedWallets.mode)throw i("createWallet","onError",r.PrivyErrorCode.INVALID_DATA),Error("Invalid input, use `createAdditional` instead of `walletIndex` to create additional wallets.");return f({accessToken:W,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:h,refreshSessionAndUser:y,recoverEmbeddedWallet:l,setModalData:s,user:a,walletIndex:u.walletIndex,chainType:E,setUser:c})}let T=u&&"createAdditional"in u&&u.createAdditional,A=w(a,{chainType:E});if(A[0]&&!T)throw i("createWallet","onError",r.PrivyErrorCode.EMBEDDED_WALLET_ALREADY_EXISTS),Error("User already has an embedded wallet.");return f({accessToken:W,appConfig:e,privy:o,emitPrivyEvent:i,openModal:d,proxy:h,recoverEmbeddedWallet:l,setModalData:s,user:a,walletIndex:(m(A)?.walletIndex??-1)+1,chainType:E,refreshSessionAndUser:y,setUser:c,idempotencyKey:v})})({appConfig:e,privy:p,getAccessToken:()=>y.getAccessToken(),refreshSessionAndUser:u,initializeWalletProxy:i,user:h,emitPrivyEvent:t,recoverEmbeddedWallet:l,setModalData:n,openModal:c,setUser:d,options:o,timeoutDuration:s.WALLET_PROXY_TIMEOUT,chainType:a,idempotencyKey:v})}}};function A(e){let{create:r}=T();return o.usePrivyEventSubscription("createWallet",e),{createWallet:async e=>{e&&"target"in e&&e&&(e=void 0);let{account:t}=await r({chainType:"ethereum",options:e});return t}}}const x=async({emitPrivyEvent:e,getAccessToken:t,initializeWalletProxy:n,refreshSessionAndUser:o,user:i,appConfig:l},{privateKey:s,chainType:d,additionalSigners:c})=>{if(!i)throw e("linkAccount","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r.PrivyClientError("User must be authenticated before linking an account.");let u="user-controlled-server-wallets-only"===l.embeddedWallets.mode?"tee":"on-device";if(c&&"on-device"===u)throw new r.PrivyClientError("Specifying additionalSigners is only supported for TEE execution and this app uses On-device execution. Learn more https://docs.privy.io/recipes/tee-wallet-migration-guide");let[p,y]=await Promise.all([t(),n(15e3)]);if(!y||!p)throw e("linkAccount","onError",r.PrivyErrorCode.MUST_BE_AUTHENTICATED,{linkMethod:"siwe"}),new r.PrivyClientError("User must be authenticated before linking an account.");let{address:E}=await y.importWallet({privateKey:s,accessToken:p,chainType:d,mode:u,additionalSigners:c}),v=await o(),w="solana"===d?a.getImportedPrivySolanaWallets(v):a.getImportedPrivyEthereumWallets(v),h=w?.find((e=>e.address===E));if(!h)throw e("createWallet","onError",r.PrivyErrorCode.UNKNOWN_EMBEDDED_WALLET_ERROR),Error("Failed to import wallet");return e("createWallet","onSuccess",{wallet:h}),h},P=()=>{let{user:e}=a.usePrivyContext(),{client:n,refreshSessionAndUser:i,initializeWalletProxy:l}=r.usePrivyInternal(),d=o.useEmitPrivyEvent(),c=s.useAppConfig();return{importWallet:t.useCallback((({privateKey:r,additionalSigners:t})=>x({getAccessToken:()=>n.getAccessToken(),user:e,initializeWalletProxy:l,refreshSessionAndUser:i,emitPrivyEvent:d,appConfig:c},{privateKey:r,chainType:"ethereum",additionalSigners:t})),[e,n,i,l,d,c])}};exports.SOLANA_FUNDING_PLUGIN_ID=E,exports.SOLANA_LEDGER_PLUGIN_ID=v,exports.buildTargetUrl=function(t,n){let a=d(n);if(e.isMobile&&a.universalLink)return y(a.universalLink,t);if(a.deepLink)return p(a.deepLink,t);if(a.universalLink)return y(a.universalLink,t);throw new r.PrivyClientError(`Unsupported wallet ${n.id}`)},exports.buildUniversalFallbackUrl=function(e,r){let t=d(r);if(t.universalLink)return y(t.universalLink,e)},exports.createWalletAtIndex=h,exports.deleteWalletConnectDeepLink=function(){try{localStorage.removeItem(c)}catch{}},exports.importWallet=x,exports.openHref=function(e,r){window.open(e,r,"noreferrer noopener")},exports.prepareSiwsMessageWithNonce=({address:e,nonce:r})=>`${window.location.host} wants you to sign in with your Solana account:\n${e}\n\n${`You are proving you own ${e}.`}\n\nURI: ${window.location.origin}\nVersion: 1\nChain ID: mainnet\nNonce: ${r}\nIssued At: ${(new Date).toISOString()}\nResources:\n- https://privy.io`,exports.removeWalletConnectDeepLink=function(){try{localStorage.removeItem(c)}catch{}},exports.setWalletConnectDeepLink=function({href:e,name:r}){try{localStorage.setItem(c,JSON.stringify({href:e,name:r}))}catch{}},exports.useCreateWallet=A,exports.useCreateWalletInternal=T,exports.useImportWallet=P,exports.usePrivy=()=>{let{importWallet:e}=P(),{exportWallet:r}=n.useExportWallet(),{createWallet:o}=A();return{...t.useContext(a.PrivyContext),importWallet:e,createWallet:o,exportWallet:r}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@solana/kit"),r=require("react"),n=require("./context-
|
|
1
|
+
"use strict";var e=require("@solana/kit"),r=require("react"),n=require("./context-BVLU-tYD.js"),t=require("./internal-context-BJv4f_bO.js");function o(r){return new Uint8Array(e.getTransactionDecoder().decode(r).messageBytes)}const a=(...e)=>{if("undefined"==typeof Buffer)throw new t.PrivyClientError("Buffer is not defined.",void 0,t.PrivyErrorCode.BUFFER_NOT_DEFINED);return Buffer.from(...e)};async function i({rpcSubscriptions:e,signature:r,timeout:n}){let t=new AbortController,o=await e.signatureNotifications(r,{commitment:"confirmed"}).subscribe({abortSignal:t.signal}),a=await Promise.race([new Promise((e=>{setTimeout((()=>{t.abort(),e(Error("Transaction confirmation timed out"))}),n)})),new Promise((async e=>{for await(let r of o){if(t.abort(),r.value.err)return e(Error("Transaction confirmation failed"));e(void 0)}}))]);if(a instanceof Error)throw a}function s({rpc:r,rpcSubscriptions:n,chain:t,blockExplorerUrl:o}){let s=function({rpc:r,rpcSubscriptions:n}){return async t=>new Promise((async(o,s)=>{try{let s=await r.sendTransaction(a(t).toString("base64"),{preflightCommitment:"confirmed",encoding:"base64"}).send();await i({rpcSubscriptions:n,signature:s,timeout:1e4}),o({signature:new Uint8Array(e.getBase58Encoder().encode(s))})}catch(e){s(e)}}))}({rpc:r,rpcSubscriptions:n});return{rpc:r,rpcSubscriptions:n,chain:t,blockExplorerUrl:o,sendAndConfirmTransaction:s}}exports.bufferFrom=a,exports.fetchTransactionEstimatedFees=async function({solanaClient:r,tx:n}){let t=e.getBase64Decoder().decode(o(n)),{value:a}=await r.rpc.getFeeForMessage(t).send();return a??0n},exports.getSolanaRpcClient=s,exports.getTransactionMessageBytes=o,exports.simulateTransaction=async function r({solanaClient:n,tx:t,replaceRecentBlockhash:o}){let{value:a}=await n.rpc.simulateTransaction(e.getBase64Decoder().decode(t),{commitment:"confirmed",encoding:"base64",sigVerify:!1,replaceRecentBlockhash:o}).send();if("BlockhashNotFound"===a.err&&o)throw Error("Simulation failed: Blockhash not found");return"BlockhashNotFound"===a.err?await r({solanaClient:n,tx:t,replaceRecentBlockhash:!0}):{logs:a.logs??[],error:a.err,hasError:!!a.err,hasFunds:a.logs?.every((e=>!/insufficient funds/gi.test(e)&&!/insufficient lamports/gi.test(e)))??!0}},exports.useSolanaRpcClient=function(){let e=n.useAppConfig(),t=r.useMemo((()=>Object.fromEntries(["solana:mainnet","solana:devnet","solana:testnet"].map((r=>[r,e.solanaRpcs[r]?s({chain:r,rpc:e.solanaRpcs[r].rpc,rpcSubscriptions:e.solanaRpcs[r].rpcSubscriptions,blockExplorerUrl:e.solanaRpcs[r].blockExplorerUrl??`https://explorer.solana.com?cluster=${r.replace("solana:","")}`}):null])))),[e.solanaRpcs]);return r.useCallback((e=>{if(!t[e])throw Error(`No RPC configuration found for chain ${e}`);return t[e]}),[t])},exports.waitForSignatureConfirmation=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("@solana/kit"),t=require("react"),n=require("@privy-io/js-sdk-core"),i=require("./internal-context-BJv4f_bO.js"),s=require("./get-is-unified-wallet-CXggv1wa.js"),a=require("./usePrivy-DrdYrRZ_.js"),r=require("./useWallets-DHI-M9UM.js"),o=require("eventemitter3"),l=require("@scure/base"),d=require("./context-BVLU-tYD.js"),c=require("./use-sign-with-user-signer-Cu_6Bx7m.js"),u=require("./useSolanaRpcClient-v9i37J6k.js"),g=require("./use-export-wallet-BmvX9OV-.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=/*#__PURE__*/h(o);const y=["solana:mainnet","solana:devnet","solana:testnet"];function f(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var v=0,A="__private_"+v+++"__implementation";class w extends p.default{setImplementation(e){f(this,A)[A]=e}async signMessage(e){return f(this,A)[A].signMessage(e)}async signAndSendTransaction(e){return f(this,A)[A].signAndSendTransaction(e)}async signTransaction(e){return f(this,A)[A].signTransaction(e)}constructor(e){super(),Object.defineProperty(this,A,{writable:!0,value:void 0}),f(this,A)[A]=e}}function E(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var T=0;function b(e){return"__private_"+T+++"_"+e}var m=/*#__PURE__*/b("_address"),S=/*#__PURE__*/b("_publicKey"),P=/*#__PURE__*/b("_chains"),O=/*#__PURE__*/b("_features"),W=/*#__PURE__*/b("_label"),I=/*#__PURE__*/b("_icon");class C{get address(){return E(this,m)[m]}get publicKey(){return E(this,S)[S].slice()}get chains(){return E(this,P)[P].slice()}get features(){return E(this,O)[O].slice()}get label(){return E(this,W)[W]}get icon(){return E(this,I)[I]}constructor({address:e,publicKey:t,label:n,icon:i}){Object.defineProperty(this,m,{writable:!0,value:void 0}),Object.defineProperty(this,S,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,O,{writable:!0,value:void 0}),Object.defineProperty(this,W,{writable:!0,value:void 0}),Object.defineProperty(this,I,{writable:!0,value:void 0}),E(this,m)[m]=e,E(this,S)[S]=t,E(this,P)[P]=y,E(this,W)[W]=n,E(this,I)[I]=i,E(this,O)[O]=["solana:signAndSendTransaction","solana:signTransaction","solana:signMessage"],new.target===C&&Object.freeze(this)}}function _(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}var M=0;function j(e){return"__private_"+M+++"_"+e}var F=/*#__PURE__*/j("_listeners"),U=/*#__PURE__*/j("_version"),D=/*#__PURE__*/j("_name"),N=/*#__PURE__*/j("_icon"),B=/*#__PURE__*/j("_injection"),x=/*#__PURE__*/j("_isPrivyWallet"),R=/*#__PURE__*/j("_accounts"),L=/*#__PURE__*/j("_on"),V=/*#__PURE__*/j("_emit"),q=/*#__PURE__*/j("_off"),Q=/*#__PURE__*/j("_connected"),G=/*#__PURE__*/j("_connect"),H=/*#__PURE__*/j("_disconnect"),K=/*#__PURE__*/j("_signMessage"),J=/*#__PURE__*/j("_signAndSendTransaction"),Y=/*#__PURE__*/j("_signTransaction");function k(e,...t){_(this,F)[F][e]?.forEach((e=>e.apply(null,t)))}function Z(e,t){_(this,F)[F][e]=_(this,F)[F][e]?.filter((e=>t!==e))}function z(t,n,i){let s=structuredClone(e.getTransactionDecoder().decode(t)),a=e.address(n);return a in s.signatures&&(s.signatures[a]=i),new Uint8Array(e.getTransactionEncoder().encode(s))}function X(){let{isHeadlessSigning:e,walletProxy:t,initializeWalletProxy:o,recoverEmbeddedWallet:l,openModal:d,privy:g,client:h}=i.usePrivyInternal(),{user:p}=a.usePrivy(),{setModalData:y}=s.usePrivyModal(),{signWithUserSigner:f}=c.useSignWithUserSigner();return{signMessage:({message:a,address:c,options:v})=>new Promise((async(A,w)=>{let E=s.getPrivyWalletWithAddress(p,c);if("privy"!==E?.walletClientType)return void w(new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:T,entropyIdVerifier:b}=r.getEntropyDetailsForUser(p,E),m=s.getIsUnifiedWallet(E),S=u.bufferFrom(a).toString("base64");if(S.length<1)return void w(new i.PrivyClientError("Message must be a non-empty string",void 0,i.PrivyErrorCode.INVALID_MESSAGE));let P=async()=>{let e;if(!p)throw Error("User must be authenticated before signing with a Privy wallet");let i=await h.getAccessToken();if(!i)throw Error("User must be authenticated to use their embedded wallet.");let s=t??await o(15e3);if(!s)throw Error("Failed to initialize embedded wallet proxy.");if(!await l({address:E.address}))throw Error("Unable to connect to wallet");if(m){let t=await n.rpc(g,f,{chain_type:"solana",method:"signMessage",params:{message:S,encoding:"base64"},wallet_id:E.id});if(!t.data||!("signature"in t.data))throw Error("Failed to sign message");e=t.data.signature}else{let{response:t}=await s.rpc({accessToken:i,entropyId:T,entropyIdVerifier:b,chainType:"solana",hdWalletIndex:E.walletIndex??0,requesterAppId:v?.uiOptions?.requesterAppId,request:{method:"signMessage",params:{message:S}}});e=t.data.signature}return e};if(e({showWalletUIs:v?.uiOptions?.showWalletUIs}))try{let e=await P(),t=new Uint8Array(u.bufferFrom(e,"base64"));A({signature:t})}catch(e){w(e)}else y({signMessage:{method:"solana_signMessage",data:S,confirmAndSign:P,onSuccess:e=>{A({signature:new Uint8Array(u.bufferFrom(e,"base64"))})},onFailure:e=>{w(e)},uiOptions:v?.uiOptions??{}},connectWallet:{recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,entropyId:T,entropyIdVerifier:b,isUnifiedWallet:m,onCompleteNavigateTo:"SignRequestScreen",onFailure:e=>{w(new i.PrivyClientError("Failed to connect to wallet",e,i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR))}}}),d("EmbeddedWalletConnectingScreen")}))}}function $(){let{isHeadlessSigning:e,openModal:t}=i.usePrivyInternal(),{setModalData:n}=s.usePrivyModal(),{signMessage:o}=X(),{user:l}=a.usePrivy();return{signTransaction:async({transaction:a,options:d,chain:c="solana:mainnet",address:g})=>{async function h(e){let{signature:t}=await o({message:u.getTransactionMessageBytes(e),address:g,options:{...d,uiOptions:{...d?.uiOptions,showWalletUIs:!1}}});return{signedTransaction:z(e,g,t)}}return e({showWalletUIs:d?.uiOptions?.showWalletUIs})?h(a):new Promise((async(e,o)=>{let u=s.getPrivyWalletWithAddress(l,g);if("privy"!==u?.walletClientType)return void o(new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND));let{entropyId:p,entropyIdVerifier:y}=r.getEntropyDetailsForUser(l,u),f=s.getIsUnifiedWallet(u);function v(e){return t=>{t instanceof i.PrivyClientError?o(t):o(new i.PrivyClientError("Failed to connect to wallet",t,e))}}let A={account:u,transaction:a,chain:c,signOnly:!0,uiOptions:d?.uiOptions||{},onConfirm:h,onSuccess:e,onFailure:v(i.PrivyErrorCode.TRANSACTION_FAILURE)};n({connectWallet:{recoveryMethod:u.recoveryMethod,connectingWalletAddress:u.address,entropyId:p,entropyIdVerifier:y,isUnifiedWallet:f,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:v(i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)},standardSignAndSendTransaction:A}),t("EmbeddedWalletConnectingScreen")}))}}}let ee=new w({signTransaction:i.notImplementedWithMessage("signTransaction was not injected"),signAndSendTransaction:i.notImplementedWithMessage("signAndSendTransaction was not injected"),signMessage:i.notImplementedWithMessage("signMessage was not injected")}),te=new class{get version(){return _(this,U)[U]}get name(){return _(this,D)[D]}get icon(){return _(this,N)[N]}get chains(){return y.slice()}get features(){return{"standard:connect":{version:"1.0.0",connect:_(this,G)[G]},"standard:disconnect":{version:"1.0.0",disconnect:_(this,H)[H]},"standard:events":{version:"1.0.0",on:_(this,L)[L]},"solana:signAndSendTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signAndSendTransaction:_(this,J)[J]},"solana:signTransaction":{version:"1.0.0",supportedTransactionVersions:["legacy",0],signTransaction:_(this,Y)[Y]},"solana:signMessage":{version:"1.0.0",signMessage:_(this,K)[K]},"privy:":{privy:{signMessage:_(this,B)[B].signMessage,signTransaction:_(this,B)[B].signTransaction,signAndSendTransaction:_(this,B)[B].signAndSendTransaction}}}}get accounts(){return _(this,R)[R].slice()}get isPrivyWallet(){return _(this,x)[x]}constructor({name:e,icon:t,version:n,injection:i,wallets:s}){Object.defineProperty(this,V,{value:k}),Object.defineProperty(this,q,{value:Z}),Object.defineProperty(this,F,{writable:!0,value:void 0}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,N,{writable:!0,value:void 0}),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,Q,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),_(this,F)[F]={},_(this,L)[L]=(e,t)=>(_(this,F)[F][e]?.push(t)||(_(this,F)[F][e]=[t]),()=>_(this,q)[q](e,t)),_(this,Q)[Q]=e=>{null!=e&&(_(this,R)[R]=e.map((({address:e})=>new C({address:e,publicKey:l.base58.decode(e)})))),_(this,V)[V]("change",{accounts:this.accounts})},_(this,G)[G]=async()=>(_(this,V)[V]("change",{accounts:this.accounts}),{accounts:this.accounts}),_(this,H)[H]=async()=>{_(this,V)[V]("change",{accounts:this.accounts})},_(this,K)[K]=async(...e)=>{let t=[];for(let{account:n,...i}of e){let{signature:e}=await _(this,B)[B].signMessage({...i,address:n.address});t.push({signedMessage:i.message,signature:e})}return t},_(this,J)[J]=async(...e)=>{let t=[];for(let n of e){let{signature:e}=await _(this,B)[B].signAndSendTransaction({...n,transaction:n.transaction,address:n.account.address,chain:n.chain||"solana:mainnet",options:n.options});t.push({signature:e})}return t},_(this,Y)[Y]=async(...e)=>{let t=[];for(let{transaction:n,account:i,options:s,chain:a}of e){let{signedTransaction:e}=await _(this,B)[B].signTransaction({transaction:n,address:i.address,chain:a||"solana:mainnet",options:s});t.push({signedTransaction:e})}return t},_(this,D)[D]=e,_(this,N)[N]=t,_(this,U)[U]=n,_(this,B)[B]=i,_(this,R)[R]=[],_(this,x)[x]=!0,i.on("accountChanged",_(this,Q)[Q],this),_(this,Q)[Q](s)}}({name:"Privy",version:"1.0.0",icon:"data:image/png;base64,AAABAAEAFBQAAAAAIABlAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAUAAAAFAgGAAAAjYkdDQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAQVJREFUeJxiYMANZIC4E4ivAPFPIP4FxDeAuB+IlfDowwBMQFwJxF+B+D8O/AOI66Bq8QJGIF6ExyB0vAqImfEZmEeCYTDcgMswPiB+T4aB34FYApuBsWQYBsP52AycToGBK7EZuJECAw9jM3AVBQbuwWZgIwUGTsZmoDkFBnpiMxAEjpJh2FV8iVsbiD+TYBgoDVrgMgwGnID4HRGGgTKBGyHDYEAaiBdCSxh0g/5AU4Q8sYYhAzEgjoGmABBOgFo2eACowFABYn0oVgViAVINkQTiZUD8DIj/ATF6GILEXgLxCiCWIsZAbiAuBeKtQHwHiEHJ6C8UfwHie0C8E4jLoWpRAAAAAP//rcbhsQAAAAZJREFUAwBYFs3VKJ0cuQAAAABJRU5ErkJggg==",wallets:[],injection:ee});function ne(){let{ready:e}=r.useWallets(),{user:o}=a.usePrivy(),{signMessage:h}=X(),{signTransaction:p}=$(),{signAndSendTransaction:y}=function(){let e=d.useAppConfig(),{isHeadlessSigning:t,openModal:o,privy:h}=i.usePrivyInternal(),{setModalData:p}=s.usePrivyModal(),{signTransaction:y}=$(),f=u.useSolanaRpcClient(),{user:v}=a.usePrivy(),{signWithUserSigner:A}=c.useSignWithUserSigner();return{signAndSendTransaction:async({transaction:a,address:d,chain:c="solana:mainnet",options:w})=>{let E=s.getPrivyWalletWithAddress(v,d);if("privy"!==E?.walletClientType)throw new i.PrivyClientError("Wallet is not a Privy wallet",void 0,i.PrivyErrorCode.EMBEDDED_WALLET_NOT_FOUND);let T=s.getIsUnifiedWallet(E);async function b(e){if(w?.sponsor)return await(async e=>{if(!T)throw new i.PrivyClientError("Sponsoring transactions is only supported for wallets on the TEE stack",i.PrivyErrorCode.INVALID_DATA);let t=await n.rpc(h,A,{chain_type:"solana",method:"signAndSendTransaction",sponsor:!0,params:{transaction:u.bufferFrom(e).toString("base64"),encoding:"base64"},caip2:`solana:${(await f(c).rpc.getGenesisHash().send()).substring(0,32)}`,wallet_id:E.id});if(t.data&&"hash"in t.data)return{signature:l.base58.decode(t.data.hash)};throw Error("Failed to sign and send transaction")})(e);let{signedTransaction:t}=await y({transaction:e,address:d,chain:c,options:{...w,uiOptions:{...w?.uiOptions,showWalletUIs:!1}}}),{signature:s}=await f(c).sendAndConfirmTransaction(t);return{signature:s}}return t({showWalletUIs:w?.uiOptions?.showWalletUIs})?b(a):new Promise((async(t,n)=>{let s,l,{entropyId:u,entropyIdVerifier:h}=r.getEntropyDetailsForUser(v,E);function y(e){return t=>{t instanceof i.PrivyClientError?n(t):n(new i.PrivyClientError("Failed to connect to wallet",t,e))}}let f={account:E,transaction:a,chain:c,signOnly:!1,uiOptions:w?.uiOptions||{},onConfirm:b,onSuccess:t,onFailure:y(i.PrivyErrorCode.TRANSACTION_FAILURE),isSponsored:!!w?.sponsor},A={recoveryMethod:E.recoveryMethod,connectingWalletAddress:E.address,entropyId:u,entropyIdVerifier:h,isUnifiedWallet:T,onCompleteNavigateTo:"StandardSignAndSendTransactionScreen",onFailure:y(i.PrivyErrorCode.UNKNOWN_CONNECT_WALLET_ERROR)};e.fundingConfig&&(s=g.prepareSolanaFundingModalData({address:d,appConfig:e,methodScreen:"FundingMethodSelectionScreen",fundWalletConfig:{...w,asset:"native-currency",chain:c},externalSolanaFundingScreen:"FundSolWalletWithExternalSolanaWallet"}),l={amount:e.fundingConfig.defaultRecommendedAmount,asset:"SOL",chain:c,destinationAddress:d,afterSuccessScreen:"StandardSignAndSendTransactionScreen",sourceWalletData:void 0}),p({connectWallet:A,standardSignAndSendTransaction:f,funding:s,solanaFundingData:l}),o("EmbeddedWalletConnectingScreen")}))}}}(),f=t.useMemo((()=>{let e=[...s.getPrivySolanaHDWallets(o).sort(((e,t)=>(e.walletIndex??0)-(t.walletIndex??0)))],t=s.getImportedPrivySolanaWallets(o);return t.length?[...e,...t]:e}),[o]),v=t.useMemo((()=>({signMessage:async({message:e,address:t,options:n})=>await h({message:e,address:t,options:n}),signTransaction:async({transaction:e,address:t,chain:n,options:i})=>await p({transaction:e,address:t,chain:n,options:i}),async signAndSendTransaction({transaction:e,address:t,chain:n,options:i}){let{signature:s}=await y({transaction:e,address:t,chain:n,options:i});return{signature:s}}})),[h,p,y]);return t.useEffect((()=>{ee?.setImplementation(v)}),[v]),t.useEffect((()=>{var t;!e||(t=te.accounts).length===f.length&&t.every(((e,t)=>e.address===f[t]?.address))||ee?.emit("accountChanged",f)}),[e,f]),{ready:e,wallet:te}}function ie(){let{client:e}=i.usePrivyInternal(),{ready:n,wallet:s}=ne(),[a,r]=t.useState([]),[o,l]=t.useState([]);return t.useEffect((()=>{let e=[s,...a.filter((e=>"solana"===e.chainType&&!!e.wallet.features)).map((e=>e.wallet))];l(e);let t=a.flatMap((t=>{let n=()=>l([...e]);return t.on("walletsUpdated",n),{connector:t,off:n}})),n=e.map((t=>t.features["standard:events"]?.on("change",(()=>{l([...e])}))));return()=>{n.forEach((e=>e?.())),t.forEach((({connector:e,off:t})=>e.off("walletsUpdated",t)))}}),[a]),t.useEffect((()=>{r(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[]);let t=()=>{r(e.connectors?.walletConnectors.filter((e=>"solana"===e.chainType))??[])};return e.connectors?.on("connectorInitialized",t),()=>{e.connectors?.off("connectorInitialized",t)}}),[n,e.connectors]),{ready:n,wallets:o}}exports.SOLANA_CHAINS=y,exports.getAddressFromBuffer=function(t){return e.getBase58Decoder().decode(t)},exports.useSolanaStandardWallets=ie,exports.useWallets=function(){let{ready:e,wallets:i}=ie();return{ready:e,wallets:t.useMemo((()=>i.flatMap((e=>e.accounts.map((t=>new n.ConnectedStandardSolanaWallet({wallet:e,account:t})))))),[i])}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("./get-is-unified-wallet-
|
|
1
|
+
"use strict";var e=require("./get-is-unified-wallet-CXggv1wa.js"),r=require("react");const t=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")},o=/*#__PURE__*/r.createContext(null);exports.UseWalletsContext=o,exports.getEntropyDetailsForUser=(r,o)=>{if(o?.imported)return t(o);let i=e.getPrivyPrimaryWallet(r);if(!i)throw Error("Failed to find primary wallet");return t(i)},exports.toEntropyDetailsFromAccount=t,exports.useWallets=function(){let e=r.useContext(o);return null===e?(console.warn("`useWallets` was called outside the PrivyProvider component"),{wallets:[],ready:!1}):e};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Chain } from '@privy-io/js-sdk-core';
|
|
2
|
-
import { U as User, L as LoginMethod, a as LinkedAccountWithMetadata, P as PrivyErrorCode, B as BaseConnectedEthereumWallet, b as BaseConnectedSolanaWallet, W as Wallet, M as MfaMethod, c as UserRecoveryMethod, O as OAuthTokens, F as FundingMethod, S as SolanaChain } from './types-
|
|
2
|
+
import { U as User, L as LoginMethod, a as LinkedAccountWithMetadata, P as PrivyErrorCode, B as BaseConnectedEthereumWallet, b as BaseConnectedSolanaWallet, W as Wallet, M as MfaMethod, c as UserRecoveryMethod, O as OAuthTokens, F as FundingMethod, S as SolanaChain } from './types-xIUh0rN4.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `CallbackError` optionally includes a second parameter with further error details.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Chain } from '@privy-io/js-sdk-core';
|
|
2
|
-
import { U as User, L as LoginMethod, a as LinkedAccountWithMetadata, P as PrivyErrorCode, B as BaseConnectedEthereumWallet, b as BaseConnectedSolanaWallet, W as Wallet, M as MfaMethod, c as UserRecoveryMethod, O as OAuthTokens, F as FundingMethod, S as SolanaChain } from './types-
|
|
2
|
+
import { U as User, L as LoginMethod, a as LinkedAccountWithMetadata, P as PrivyErrorCode, B as BaseConnectedEthereumWallet, b as BaseConnectedSolanaWallet, W as Wallet, M as MfaMethod, c as UserRecoveryMethod, O as OAuthTokens, F as FundingMethod, S as SolanaChain } from './types-xIUh0rN4.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* `CallbackError` optionally includes a second parameter with further error details.
|
package/dist/dts/farcaster.d.mts
CHANGED
package/dist/dts/farcaster.d.ts
CHANGED
package/dist/dts/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { k as MfaSubmitArgs, c as UserRecoveryMethod, g as SessionSignerInput, E as EthereumRpcRequestType, l as SolanaRpcRequestType, m as EthereumRpcResponseType, n as SolanaRpcResponseType, o as PrivyFarcasterSignerInitResponse, p as EIP1193Provider, q as EntropyIdVerifier$1, H as HDWalletWithMetadata, r as RequestArguments, s as WalletConnector, B as BaseConnectedEthereumWallet, u as PrivyProxyProvider, v as WalletClientType, w as ConnectedWalletMetadata, x as PrivyClientConfig, y as ConnectorType, z as SetBaseAccountSdkType, A as WalletListEntry, D as AppConfig, G as BaseConnectedWallet, j as SolanaWalletConnector, U as User, I as ConnectWalletModalOptions, J as LoginModalOptions, C as CreateWalletOptions, W as Wallet, K as SetWalletRecoveryOptions, f as SignMessageModalUIOptions, N as SignTypedDataParams, M as MfaMethod, Q as UnsignedTransactionRequest, e as SendTransactionModalUIOptions, T as FundWalletConfig, V as ConnectedWallet, O as OAuthTokens, X as CrossAppProviderDetails, Y as MoonpaySignRequest, Z as MoonpaySignResponse, _ as SiwsMessageType, L as LoginMethod, $ as ExternalWalletMetadata, a0 as TelegramAuthResult, a1 as TelegramWebAppData, a2 as OAuthUserInfo, a3 as OAuthFlowState, a4 as LoginWithCode, a5 as OtpFlowState, a6 as PasskeyFlowState, a7 as SiweFlowState, a as LinkedAccountWithMetadata, a8 as FundingResult, a9 as BaseAccountSdkType, aa as UnsignedTransactionRequestWithChainId, ab as BaseConnectedWalletType, b as BaseConnectedSolanaWallet, ac as SignerInput, ad as TelegramAuthFlowState } from './types-
|
|
2
|
-
export { av as Apple, aI as AppleOAuthWithMetadata, aQ as ContractUIOptions, az as CrossAppAccount, aL as CrossAppAccountWithMetadata, as as Discord, aD as DiscordOAuthWithMetadata, aN as Email, an as EmailWithMetadata, aU as Farcaster, aJ as FarcasterWithMetadata, aR as FundingStatus, at as Github, aE as GithubOAuthWithMetadata, aq as Google, aB as GoogleOAuthWithMetadata, ax as Line, aG as LineOAuthWithMetadata, aA as LinkedAccountType, au as LinkedIn, aH as LinkedInOAuthWithMetadata, aW as LoginMethodOrderOption, af as MessageTypes, ah as MoonpayCurrencyCode, ai as MoonpayPaymentMethod, aS as NativeFundingConfig, am as NonEmptyArray, aV as Passkey, aM as PasskeyWithMetadata, aO as Phone, ao as PhoneWithMetadata, aT as PriceDisplayOptions, P as PrivyErrorCode, aY as PrivyI18nStrings, aj as Quantity, aX as SiwsFlowState, ag as SmartWallet, ay as Telegram, aK as TelegramWithMetadata, aw as Tiktok, aF as TiktokOAuthWithMetadata, ak as TransactionLog, al as TransactionReceipt, aP as TransactionUIOptions, ar as Twitter, aC as TwitterOAuthWithMetadata, ae as TypedMessage, ap as WalletWithMetadata } from './types-
|
|
1
|
+
import { k as MfaSubmitArgs, c as UserRecoveryMethod, g as SessionSignerInput, E as EthereumRpcRequestType, l as SolanaRpcRequestType, m as EthereumRpcResponseType, n as SolanaRpcResponseType, o as PrivyFarcasterSignerInitResponse, p as EIP1193Provider, q as EntropyIdVerifier$1, H as HDWalletWithMetadata, r as RequestArguments, s as WalletConnector, B as BaseConnectedEthereumWallet, u as PrivyProxyProvider, v as WalletClientType, w as ConnectedWalletMetadata, x as PrivyClientConfig, y as ConnectorType, z as SetBaseAccountSdkType, A as WalletListEntry, D as AppConfig, G as BaseConnectedWallet, j as SolanaWalletConnector, U as User, I as ConnectWalletModalOptions, J as LoginModalOptions, C as CreateWalletOptions, W as Wallet, K as SetWalletRecoveryOptions, f as SignMessageModalUIOptions, N as SignTypedDataParams, M as MfaMethod, Q as UnsignedTransactionRequest, e as SendTransactionModalUIOptions, T as FundWalletConfig, V as ConnectedWallet, O as OAuthTokens, X as CrossAppProviderDetails, Y as MoonpaySignRequest, Z as MoonpaySignResponse, _ as SiwsMessageType, L as LoginMethod, $ as ExternalWalletMetadata, a0 as TelegramAuthResult, a1 as TelegramWebAppData, a2 as OAuthUserInfo, a3 as OAuthFlowState, a4 as LoginWithCode, a5 as OtpFlowState, a6 as PasskeyFlowState, a7 as SiweFlowState, a as LinkedAccountWithMetadata, a8 as FundingResult, a9 as BaseAccountSdkType, aa as UnsignedTransactionRequestWithChainId, ab as BaseConnectedWalletType, b as BaseConnectedSolanaWallet, ac as SignerInput, ad as TelegramAuthFlowState } from './types-xIUh0rN4.js';
|
|
2
|
+
export { av as Apple, aI as AppleOAuthWithMetadata, aQ as ContractUIOptions, az as CrossAppAccount, aL as CrossAppAccountWithMetadata, as as Discord, aD as DiscordOAuthWithMetadata, aN as Email, an as EmailWithMetadata, aU as Farcaster, aJ as FarcasterWithMetadata, aR as FundingStatus, at as Github, aE as GithubOAuthWithMetadata, aq as Google, aB as GoogleOAuthWithMetadata, ax as Line, aG as LineOAuthWithMetadata, aA as LinkedAccountType, au as LinkedIn, aH as LinkedInOAuthWithMetadata, aW as LoginMethodOrderOption, af as MessageTypes, ah as MoonpayCurrencyCode, ai as MoonpayPaymentMethod, aS as NativeFundingConfig, am as NonEmptyArray, aV as Passkey, aM as PasskeyWithMetadata, aO as Phone, ao as PhoneWithMetadata, aT as PriceDisplayOptions, P as PrivyErrorCode, aY as PrivyI18nStrings, aj as Quantity, aX as SiwsFlowState, ag as SmartWallet, ay as Telegram, aK as TelegramWithMetadata, aw as Tiktok, aF as TiktokOAuthWithMetadata, ak as TransactionLog, al as TransactionReceipt, aP as TransactionUIOptions, ar as Twitter, aC as TwitterOAuthWithMetadata, ae as TypedMessage, ap as WalletWithMetadata, aZ as dataSuffix } from './types-xIUh0rN4.js';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import { TurnstileProps } from '@marsidev/react-turnstile';
|
|
5
5
|
import EventEmitter from 'eventemitter3';
|
|
@@ -15,8 +15,8 @@ import { MouseEvent } from 'react';
|
|
|
15
15
|
import * as _simplewebauthn_browser from '@simplewebauthn/browser';
|
|
16
16
|
import { PublicKeyCredentialRequestOptionsJSON } from '@simplewebauthn/browser';
|
|
17
17
|
import { FetchOptions } from 'ofetch';
|
|
18
|
-
import { P as PrivyEvents } from './events-context-
|
|
19
|
-
export { C as CallbackError } from './events-context-
|
|
18
|
+
import { P as PrivyEvents } from './events-context-CV9PiG6M.js';
|
|
19
|
+
export { C as CallbackError } from './events-context-CV9PiG6M.js';
|
|
20
20
|
import { PaymentRequirementsSelector } from 'x402/client';
|
|
21
21
|
import { X402Config } from 'x402/types';
|
|
22
22
|
import * as viem_accounts from 'viem/accounts';
|
|
@@ -8825,6 +8825,8 @@ interface PrivyInterface {
|
|
|
8825
8825
|
signature: `0x${string}`;
|
|
8826
8826
|
}>;
|
|
8827
8827
|
/**
|
|
8828
|
+
* @deprecated use the `useExportWallet` hook instead
|
|
8829
|
+
*
|
|
8828
8830
|
* Shows the user a Privy modal, from which they can copy their Ethereum embedded wallet's private
|
|
8829
8831
|
* key or seed phrase for easy export to another wallet client (e.g. MetaMask). The private key is loaded
|
|
8830
8832
|
* on an iframe running on a separate domain from your app, meaning your app cannot access it.
|
|
@@ -9757,6 +9759,25 @@ type UseLoginWithOAuth = {
|
|
|
9757
9759
|
*/
|
|
9758
9760
|
declare const useLoginWithOAuth: (callbacks?: PrivyEvents["login"]) => UseLoginWithOAuth;
|
|
9759
9761
|
|
|
9762
|
+
/**
|
|
9763
|
+
* Hook to export a Solana wallet.
|
|
9764
|
+
*/
|
|
9765
|
+
interface UseExportWalletInterface {
|
|
9766
|
+
/**
|
|
9767
|
+
* Shows the user a Privy modal, from which they can copy their Ethereum embedded wallet's private
|
|
9768
|
+
* key or seed phrase for easy export to another wallet client (e.g. MetaMask). The private key is loaded
|
|
9769
|
+
* on an iframe running on a separate domain from your app, meaning your app cannot access it.
|
|
9770
|
+
*
|
|
9771
|
+
* This method will error if the user is not authenticated or does not have an embedded wallet.
|
|
9772
|
+
* @param options {@link {address: string}} (optional) Ethereum wallet address to export the private key for
|
|
9773
|
+
* @returns Promise that resolves once the user exits the modal
|
|
9774
|
+
*/
|
|
9775
|
+
exportWallet: (options?: {
|
|
9776
|
+
address: string;
|
|
9777
|
+
} | MouseEvent<any, any>) => Promise<void>;
|
|
9778
|
+
}
|
|
9779
|
+
declare function useExportWallet(): UseExportWalletInterface;
|
|
9780
|
+
|
|
9760
9781
|
type SendCodeToEmail = {
|
|
9761
9782
|
email: string;
|
|
9762
9783
|
disableSignup?: boolean;
|
|
@@ -11112,6 +11133,38 @@ declare const useUser: () => {
|
|
|
11112
11133
|
refreshUser: () => Promise<User>;
|
|
11113
11134
|
};
|
|
11114
11135
|
|
|
11136
|
+
type EncryptedWalletKey = {
|
|
11137
|
+
/** Base64-encoded HPKE ciphertext containing the private key */
|
|
11138
|
+
ciphertext: string;
|
|
11139
|
+
/** Base64-encoded HPKE encapsulated key */
|
|
11140
|
+
encapsulatedKey: string;
|
|
11141
|
+
/** The chain type of the wallet */
|
|
11142
|
+
chainType: 'ethereum' | 'solana';
|
|
11143
|
+
};
|
|
11144
|
+
|
|
11145
|
+
interface UseGetWalletPrivateKeyInterface {
|
|
11146
|
+
/**
|
|
11147
|
+
* Exports an embedded wallet's private key, encrypted to the provided public key.
|
|
11148
|
+
*
|
|
11149
|
+
* This is used for programmatic key export where the app provides its own public key
|
|
11150
|
+
* and receives the HPKE-encrypted private key. The app is responsible for decrypting
|
|
11151
|
+
* the response using the corresponding private key.
|
|
11152
|
+
*
|
|
11153
|
+
* Only supported for unified stack wallets (TEE wallets). On-device wallets are not supported.
|
|
11154
|
+
*
|
|
11155
|
+
* @experimental
|
|
11156
|
+
*
|
|
11157
|
+
* @param options.address The wallet address to export
|
|
11158
|
+
* @param options.recipientPublicKey Base64-encoded SPKI P-256 public key to encrypt to
|
|
11159
|
+
* @returns The HPKE-encrypted private key data
|
|
11160
|
+
*/
|
|
11161
|
+
getWalletPrivateKey: (options: {
|
|
11162
|
+
address: string;
|
|
11163
|
+
recipientPublicKey: string;
|
|
11164
|
+
}) => Promise<EncryptedWalletKey>;
|
|
11165
|
+
}
|
|
11166
|
+
declare function useGetWalletPrivateKey(): UseGetWalletPrivateKeyInterface;
|
|
11167
|
+
|
|
11115
11168
|
type UseLoginWithTelegram = {
|
|
11116
11169
|
/**
|
|
11117
11170
|
* Trigger Telegram authenticate pop-up and authenticate the user without using Privy's UI.
|
|
@@ -11228,4 +11281,4 @@ declare const useMigrateWallets: () => {
|
|
|
11228
11281
|
}>;
|
|
11229
11282
|
};
|
|
11230
11283
|
|
|
11231
|
-
export { BaseConnectedWalletType, Captcha, ConnectWalletModalOptions, ConnectedWallet, ConnectorManager, type CustomAuthFlowState, EIP1193Provider, EthereumWalletConnector, FundWalletConfig, FundingResult, type JwtAuthFlowState, LinkedAccountWithMetadata, LoginModal, LoginModalOptions, LoginWithCode, MfaMethod, OAuthFlowState, OAuthTokens, OtpFlowState, PasskeyFlowState, PrivyClient, PrivyClientConfig, PrivyEvents, type PrivyInterface, PrivyModal, PrivyProvider, type PrivyProviderProps, type SendCodeToEmail, type SendCodeToSms, SendTransactionModalUIOptions, SignMessageModalUIOptions, SignTypedDataParams, SiweFlowState, TelegramAuthFlowState, UnsignedTransactionRequest, type UseAuthorizationSignatureInterface, type UseBaseAccountSdkInterface, type UseConnectBaseAccountInterface, type UseConnectCoinbaseSmartWalletInterface, type UseCustomAuth, type UseDelegatedActionsInterface, type UseFundWalletInterface, type UseGetAccessTokenForProvider, type UseImportWalletInterface, type UseLinkJwtAccount, type UseLinkWithPasskey, type UseLinkWithSiws, type UseLoginWithEmail, type UseLoginWithPasskey, type UseLoginWithSiws, type UseLoginWithSms, type UseLoginWithTelegram, type UseOAuthTokens, type UseRecoverEmbeddedWalletInterface, type UseSessionSignersInterface, type UseSignersInterface, type UseSignupWithPasskey, type UseSubscribeToJwtAuthWithFlagInput, type UseSyncJwtBasedAuthStateInput, type UseSyncJwtBasedAuthStateInterface, type UseWalletsInterface, type UseX402Fetch, User, VERSION, Wallet, WalletConnector, WalletListEntry, type WrapFetchWithPayment, errorIndicatesMaxMfaRetries, errorIndicatesMfaTimeout, errorIndicatesMfaVerificationFailed, getCustomerAccessToken as getAccessToken, getEmbeddedConnectedWallet, getIdentityToken, toViemAccount, useActiveWallet, useAuthMfa, useAuthMfaEnrollment, useAuthorizationSignature, useBaseAccountSdk, useConnectBaseAccount, useConnectCoinbaseSmartWallet, useConnectOrCreateWallet, useConnectWallet, useCreateWallet, useCrossAppAccounts, useCustomAuth, useDelegatedActions, useFarcasterSigner, useFundWallet, useGetAccessTokenForProvider, useGuestAccounts, useHeadlessDelegatedActions, useIdentityToken, useImportWallet, useLinkAccount, useLinkJwtAccount, useLinkWithPasskey, useLinkWithSiwe, useLinkWithSiws, useLogin, useLoginWithEmail, useLoginWithFarcasterV2, useLoginWithOAuth, useLoginWithPasskey, useLoginWithSiwe, useLoginWithSiws, useLoginWithSms, useLoginWithTelegram, useLogout, useMfa, useMfaEnrollment, useMigrateWallets, useModalStatus, useOAuthTokens, usePrivy, useRecoverEmbeddedWallet, useRegisterMfaListener, useSendTransaction, useSessionSigners, useSetWalletRecovery, useSign7702Authorization, useSignMessage, useSignTransaction, useSignTypedData, useSigners, useSignupWithPasskey, useSubscribeToJwtAuthWithFlag, useSyncJwtBasedAuthState, useToken, useUpdateAccount, useUpdateEmail, useUser, useWallets, useX402Fetch };
|
|
11284
|
+
export { BaseConnectedWalletType, Captcha, ConnectWalletModalOptions, ConnectedWallet, ConnectorManager, type CustomAuthFlowState, EIP1193Provider, type EncryptedWalletKey, EthereumWalletConnector, FundWalletConfig, FundingResult, type JwtAuthFlowState, LinkedAccountWithMetadata, LoginModal, LoginModalOptions, LoginWithCode, MfaMethod, OAuthFlowState, OAuthTokens, OtpFlowState, PasskeyFlowState, PrivyClient, PrivyClientConfig, PrivyEvents, type PrivyInterface, PrivyModal, PrivyProvider, type PrivyProviderProps, type SendCodeToEmail, type SendCodeToSms, SendTransactionModalUIOptions, SignMessageModalUIOptions, SignTypedDataParams, SiweFlowState, TelegramAuthFlowState, UnsignedTransactionRequest, type UseAuthorizationSignatureInterface, type UseBaseAccountSdkInterface, type UseConnectBaseAccountInterface, type UseConnectCoinbaseSmartWalletInterface, type UseCustomAuth, type UseDelegatedActionsInterface, type UseFundWalletInterface, type UseGetAccessTokenForProvider, type UseGetWalletPrivateKeyInterface, type UseImportWalletInterface, type UseLinkJwtAccount, type UseLinkWithPasskey, type UseLinkWithSiws, type UseLoginWithEmail, type UseLoginWithPasskey, type UseLoginWithSiws, type UseLoginWithSms, type UseLoginWithTelegram, type UseOAuthTokens, type UseRecoverEmbeddedWalletInterface, type UseSessionSignersInterface, type UseSignersInterface, type UseSignupWithPasskey, type UseSubscribeToJwtAuthWithFlagInput, type UseSyncJwtBasedAuthStateInput, type UseSyncJwtBasedAuthStateInterface, type UseWalletsInterface, type UseX402Fetch, User, VERSION, Wallet, WalletConnector, WalletListEntry, type WrapFetchWithPayment, errorIndicatesMaxMfaRetries, errorIndicatesMfaTimeout, errorIndicatesMfaVerificationFailed, getCustomerAccessToken as getAccessToken, getEmbeddedConnectedWallet, getIdentityToken, toViemAccount, useActiveWallet, useAuthMfa, useAuthMfaEnrollment, useAuthorizationSignature, useBaseAccountSdk, useConnectBaseAccount, useConnectCoinbaseSmartWallet, useConnectOrCreateWallet, useConnectWallet, useCreateWallet, useCrossAppAccounts, useCustomAuth, useDelegatedActions, useExportWallet, useFarcasterSigner, useFundWallet, useGetAccessTokenForProvider, useGetWalletPrivateKey, useGuestAccounts, useHeadlessDelegatedActions, useIdentityToken, useImportWallet, useLinkAccount, useLinkJwtAccount, useLinkWithPasskey, useLinkWithSiwe, useLinkWithSiws, useLogin, useLoginWithEmail, useLoginWithFarcasterV2, useLoginWithOAuth, useLoginWithPasskey, useLoginWithSiwe, useLoginWithSiws, useLoginWithSms, useLoginWithTelegram, useLogout, useMfa, useMfaEnrollment, useMigrateWallets, useModalStatus, useOAuthTokens, usePrivy, useRecoverEmbeddedWallet, useRegisterMfaListener, useSendTransaction, useSessionSigners, useSetWalletRecovery, useSign7702Authorization, useSignMessage, useSignTransaction, useSignTypedData, useSigners, useSignupWithPasskey, useSubscribeToJwtAuthWithFlag, useSyncJwtBasedAuthState, useToken, useUpdateAccount, useUpdateEmail, useUser, useWallets, useX402Fetch };
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { k as MfaSubmitArgs, c as UserRecoveryMethod, g as SessionSignerInput, E as EthereumRpcRequestType, l as SolanaRpcRequestType, m as EthereumRpcResponseType, n as SolanaRpcResponseType, o as PrivyFarcasterSignerInitResponse, p as EIP1193Provider, q as EntropyIdVerifier$1, H as HDWalletWithMetadata, r as RequestArguments, s as WalletConnector, B as BaseConnectedEthereumWallet, u as PrivyProxyProvider, v as WalletClientType, w as ConnectedWalletMetadata, x as PrivyClientConfig, y as ConnectorType, z as SetBaseAccountSdkType, A as WalletListEntry, D as AppConfig, G as BaseConnectedWallet, j as SolanaWalletConnector, U as User, I as ConnectWalletModalOptions, J as LoginModalOptions, C as CreateWalletOptions, W as Wallet, K as SetWalletRecoveryOptions, f as SignMessageModalUIOptions, N as SignTypedDataParams, M as MfaMethod, Q as UnsignedTransactionRequest, e as SendTransactionModalUIOptions, T as FundWalletConfig, V as ConnectedWallet, O as OAuthTokens, X as CrossAppProviderDetails, Y as MoonpaySignRequest, Z as MoonpaySignResponse, _ as SiwsMessageType, L as LoginMethod, $ as ExternalWalletMetadata, a0 as TelegramAuthResult, a1 as TelegramWebAppData, a2 as OAuthUserInfo, a3 as OAuthFlowState, a4 as LoginWithCode, a5 as OtpFlowState, a6 as PasskeyFlowState, a7 as SiweFlowState, a as LinkedAccountWithMetadata, a8 as FundingResult, a9 as BaseAccountSdkType, aa as UnsignedTransactionRequestWithChainId, ab as BaseConnectedWalletType, b as BaseConnectedSolanaWallet, ac as SignerInput, ad as TelegramAuthFlowState } from './types-
|
|
2
|
-
export { av as Apple, aI as AppleOAuthWithMetadata, aQ as ContractUIOptions, az as CrossAppAccount, aL as CrossAppAccountWithMetadata, as as Discord, aD as DiscordOAuthWithMetadata, aN as Email, an as EmailWithMetadata, aU as Farcaster, aJ as FarcasterWithMetadata, aR as FundingStatus, at as Github, aE as GithubOAuthWithMetadata, aq as Google, aB as GoogleOAuthWithMetadata, ax as Line, aG as LineOAuthWithMetadata, aA as LinkedAccountType, au as LinkedIn, aH as LinkedInOAuthWithMetadata, aW as LoginMethodOrderOption, af as MessageTypes, ah as MoonpayCurrencyCode, ai as MoonpayPaymentMethod, aS as NativeFundingConfig, am as NonEmptyArray, aV as Passkey, aM as PasskeyWithMetadata, aO as Phone, ao as PhoneWithMetadata, aT as PriceDisplayOptions, P as PrivyErrorCode, aY as PrivyI18nStrings, aj as Quantity, aX as SiwsFlowState, ag as SmartWallet, ay as Telegram, aK as TelegramWithMetadata, aw as Tiktok, aF as TiktokOAuthWithMetadata, ak as TransactionLog, al as TransactionReceipt, aP as TransactionUIOptions, ar as Twitter, aC as TwitterOAuthWithMetadata, ae as TypedMessage, ap as WalletWithMetadata } from './types-
|
|
1
|
+
import { k as MfaSubmitArgs, c as UserRecoveryMethod, g as SessionSignerInput, E as EthereumRpcRequestType, l as SolanaRpcRequestType, m as EthereumRpcResponseType, n as SolanaRpcResponseType, o as PrivyFarcasterSignerInitResponse, p as EIP1193Provider, q as EntropyIdVerifier$1, H as HDWalletWithMetadata, r as RequestArguments, s as WalletConnector, B as BaseConnectedEthereumWallet, u as PrivyProxyProvider, v as WalletClientType, w as ConnectedWalletMetadata, x as PrivyClientConfig, y as ConnectorType, z as SetBaseAccountSdkType, A as WalletListEntry, D as AppConfig, G as BaseConnectedWallet, j as SolanaWalletConnector, U as User, I as ConnectWalletModalOptions, J as LoginModalOptions, C as CreateWalletOptions, W as Wallet, K as SetWalletRecoveryOptions, f as SignMessageModalUIOptions, N as SignTypedDataParams, M as MfaMethod, Q as UnsignedTransactionRequest, e as SendTransactionModalUIOptions, T as FundWalletConfig, V as ConnectedWallet, O as OAuthTokens, X as CrossAppProviderDetails, Y as MoonpaySignRequest, Z as MoonpaySignResponse, _ as SiwsMessageType, L as LoginMethod, $ as ExternalWalletMetadata, a0 as TelegramAuthResult, a1 as TelegramWebAppData, a2 as OAuthUserInfo, a3 as OAuthFlowState, a4 as LoginWithCode, a5 as OtpFlowState, a6 as PasskeyFlowState, a7 as SiweFlowState, a as LinkedAccountWithMetadata, a8 as FundingResult, a9 as BaseAccountSdkType, aa as UnsignedTransactionRequestWithChainId, ab as BaseConnectedWalletType, b as BaseConnectedSolanaWallet, ac as SignerInput, ad as TelegramAuthFlowState } from './types-xIUh0rN4.js';
|
|
2
|
+
export { av as Apple, aI as AppleOAuthWithMetadata, aQ as ContractUIOptions, az as CrossAppAccount, aL as CrossAppAccountWithMetadata, as as Discord, aD as DiscordOAuthWithMetadata, aN as Email, an as EmailWithMetadata, aU as Farcaster, aJ as FarcasterWithMetadata, aR as FundingStatus, at as Github, aE as GithubOAuthWithMetadata, aq as Google, aB as GoogleOAuthWithMetadata, ax as Line, aG as LineOAuthWithMetadata, aA as LinkedAccountType, au as LinkedIn, aH as LinkedInOAuthWithMetadata, aW as LoginMethodOrderOption, af as MessageTypes, ah as MoonpayCurrencyCode, ai as MoonpayPaymentMethod, aS as NativeFundingConfig, am as NonEmptyArray, aV as Passkey, aM as PasskeyWithMetadata, aO as Phone, ao as PhoneWithMetadata, aT as PriceDisplayOptions, P as PrivyErrorCode, aY as PrivyI18nStrings, aj as Quantity, aX as SiwsFlowState, ag as SmartWallet, ay as Telegram, aK as TelegramWithMetadata, aw as Tiktok, aF as TiktokOAuthWithMetadata, ak as TransactionLog, al as TransactionReceipt, aP as TransactionUIOptions, ar as Twitter, aC as TwitterOAuthWithMetadata, ae as TypedMessage, ap as WalletWithMetadata, aZ as dataSuffix } from './types-xIUh0rN4.js';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import { TurnstileProps } from '@marsidev/react-turnstile';
|
|
5
5
|
import EventEmitter from 'eventemitter3';
|
|
@@ -15,8 +15,8 @@ import { MouseEvent } from 'react';
|
|
|
15
15
|
import * as _simplewebauthn_browser from '@simplewebauthn/browser';
|
|
16
16
|
import { PublicKeyCredentialRequestOptionsJSON } from '@simplewebauthn/browser';
|
|
17
17
|
import { FetchOptions } from 'ofetch';
|
|
18
|
-
import { P as PrivyEvents } from './events-context-
|
|
19
|
-
export { C as CallbackError } from './events-context-
|
|
18
|
+
import { P as PrivyEvents } from './events-context-CV9PiG6M.js';
|
|
19
|
+
export { C as CallbackError } from './events-context-CV9PiG6M.js';
|
|
20
20
|
import { PaymentRequirementsSelector } from 'x402/client';
|
|
21
21
|
import { X402Config } from 'x402/types';
|
|
22
22
|
import * as viem_accounts from 'viem/accounts';
|
|
@@ -8825,6 +8825,8 @@ interface PrivyInterface {
|
|
|
8825
8825
|
signature: `0x${string}`;
|
|
8826
8826
|
}>;
|
|
8827
8827
|
/**
|
|
8828
|
+
* @deprecated use the `useExportWallet` hook instead
|
|
8829
|
+
*
|
|
8828
8830
|
* Shows the user a Privy modal, from which they can copy their Ethereum embedded wallet's private
|
|
8829
8831
|
* key or seed phrase for easy export to another wallet client (e.g. MetaMask). The private key is loaded
|
|
8830
8832
|
* on an iframe running on a separate domain from your app, meaning your app cannot access it.
|
|
@@ -9757,6 +9759,25 @@ type UseLoginWithOAuth = {
|
|
|
9757
9759
|
*/
|
|
9758
9760
|
declare const useLoginWithOAuth: (callbacks?: PrivyEvents["login"]) => UseLoginWithOAuth;
|
|
9759
9761
|
|
|
9762
|
+
/**
|
|
9763
|
+
* Hook to export a Solana wallet.
|
|
9764
|
+
*/
|
|
9765
|
+
interface UseExportWalletInterface {
|
|
9766
|
+
/**
|
|
9767
|
+
* Shows the user a Privy modal, from which they can copy their Ethereum embedded wallet's private
|
|
9768
|
+
* key or seed phrase for easy export to another wallet client (e.g. MetaMask). The private key is loaded
|
|
9769
|
+
* on an iframe running on a separate domain from your app, meaning your app cannot access it.
|
|
9770
|
+
*
|
|
9771
|
+
* This method will error if the user is not authenticated or does not have an embedded wallet.
|
|
9772
|
+
* @param options {@link {address: string}} (optional) Ethereum wallet address to export the private key for
|
|
9773
|
+
* @returns Promise that resolves once the user exits the modal
|
|
9774
|
+
*/
|
|
9775
|
+
exportWallet: (options?: {
|
|
9776
|
+
address: string;
|
|
9777
|
+
} | MouseEvent<any, any>) => Promise<void>;
|
|
9778
|
+
}
|
|
9779
|
+
declare function useExportWallet(): UseExportWalletInterface;
|
|
9780
|
+
|
|
9760
9781
|
type SendCodeToEmail = {
|
|
9761
9782
|
email: string;
|
|
9762
9783
|
disableSignup?: boolean;
|
|
@@ -11112,6 +11133,38 @@ declare const useUser: () => {
|
|
|
11112
11133
|
refreshUser: () => Promise<User>;
|
|
11113
11134
|
};
|
|
11114
11135
|
|
|
11136
|
+
type EncryptedWalletKey = {
|
|
11137
|
+
/** Base64-encoded HPKE ciphertext containing the private key */
|
|
11138
|
+
ciphertext: string;
|
|
11139
|
+
/** Base64-encoded HPKE encapsulated key */
|
|
11140
|
+
encapsulatedKey: string;
|
|
11141
|
+
/** The chain type of the wallet */
|
|
11142
|
+
chainType: 'ethereum' | 'solana';
|
|
11143
|
+
};
|
|
11144
|
+
|
|
11145
|
+
interface UseGetWalletPrivateKeyInterface {
|
|
11146
|
+
/**
|
|
11147
|
+
* Exports an embedded wallet's private key, encrypted to the provided public key.
|
|
11148
|
+
*
|
|
11149
|
+
* This is used for programmatic key export where the app provides its own public key
|
|
11150
|
+
* and receives the HPKE-encrypted private key. The app is responsible for decrypting
|
|
11151
|
+
* the response using the corresponding private key.
|
|
11152
|
+
*
|
|
11153
|
+
* Only supported for unified stack wallets (TEE wallets). On-device wallets are not supported.
|
|
11154
|
+
*
|
|
11155
|
+
* @experimental
|
|
11156
|
+
*
|
|
11157
|
+
* @param options.address The wallet address to export
|
|
11158
|
+
* @param options.recipientPublicKey Base64-encoded SPKI P-256 public key to encrypt to
|
|
11159
|
+
* @returns The HPKE-encrypted private key data
|
|
11160
|
+
*/
|
|
11161
|
+
getWalletPrivateKey: (options: {
|
|
11162
|
+
address: string;
|
|
11163
|
+
recipientPublicKey: string;
|
|
11164
|
+
}) => Promise<EncryptedWalletKey>;
|
|
11165
|
+
}
|
|
11166
|
+
declare function useGetWalletPrivateKey(): UseGetWalletPrivateKeyInterface;
|
|
11167
|
+
|
|
11115
11168
|
type UseLoginWithTelegram = {
|
|
11116
11169
|
/**
|
|
11117
11170
|
* Trigger Telegram authenticate pop-up and authenticate the user without using Privy's UI.
|
|
@@ -11228,4 +11281,4 @@ declare const useMigrateWallets: () => {
|
|
|
11228
11281
|
}>;
|
|
11229
11282
|
};
|
|
11230
11283
|
|
|
11231
|
-
export { BaseConnectedWalletType, Captcha, ConnectWalletModalOptions, ConnectedWallet, ConnectorManager, type CustomAuthFlowState, EIP1193Provider, EthereumWalletConnector, FundWalletConfig, FundingResult, type JwtAuthFlowState, LinkedAccountWithMetadata, LoginModal, LoginModalOptions, LoginWithCode, MfaMethod, OAuthFlowState, OAuthTokens, OtpFlowState, PasskeyFlowState, PrivyClient, PrivyClientConfig, PrivyEvents, type PrivyInterface, PrivyModal, PrivyProvider, type PrivyProviderProps, type SendCodeToEmail, type SendCodeToSms, SendTransactionModalUIOptions, SignMessageModalUIOptions, SignTypedDataParams, SiweFlowState, TelegramAuthFlowState, UnsignedTransactionRequest, type UseAuthorizationSignatureInterface, type UseBaseAccountSdkInterface, type UseConnectBaseAccountInterface, type UseConnectCoinbaseSmartWalletInterface, type UseCustomAuth, type UseDelegatedActionsInterface, type UseFundWalletInterface, type UseGetAccessTokenForProvider, type UseImportWalletInterface, type UseLinkJwtAccount, type UseLinkWithPasskey, type UseLinkWithSiws, type UseLoginWithEmail, type UseLoginWithPasskey, type UseLoginWithSiws, type UseLoginWithSms, type UseLoginWithTelegram, type UseOAuthTokens, type UseRecoverEmbeddedWalletInterface, type UseSessionSignersInterface, type UseSignersInterface, type UseSignupWithPasskey, type UseSubscribeToJwtAuthWithFlagInput, type UseSyncJwtBasedAuthStateInput, type UseSyncJwtBasedAuthStateInterface, type UseWalletsInterface, type UseX402Fetch, User, VERSION, Wallet, WalletConnector, WalletListEntry, type WrapFetchWithPayment, errorIndicatesMaxMfaRetries, errorIndicatesMfaTimeout, errorIndicatesMfaVerificationFailed, getCustomerAccessToken as getAccessToken, getEmbeddedConnectedWallet, getIdentityToken, toViemAccount, useActiveWallet, useAuthMfa, useAuthMfaEnrollment, useAuthorizationSignature, useBaseAccountSdk, useConnectBaseAccount, useConnectCoinbaseSmartWallet, useConnectOrCreateWallet, useConnectWallet, useCreateWallet, useCrossAppAccounts, useCustomAuth, useDelegatedActions, useFarcasterSigner, useFundWallet, useGetAccessTokenForProvider, useGuestAccounts, useHeadlessDelegatedActions, useIdentityToken, useImportWallet, useLinkAccount, useLinkJwtAccount, useLinkWithPasskey, useLinkWithSiwe, useLinkWithSiws, useLogin, useLoginWithEmail, useLoginWithFarcasterV2, useLoginWithOAuth, useLoginWithPasskey, useLoginWithSiwe, useLoginWithSiws, useLoginWithSms, useLoginWithTelegram, useLogout, useMfa, useMfaEnrollment, useMigrateWallets, useModalStatus, useOAuthTokens, usePrivy, useRecoverEmbeddedWallet, useRegisterMfaListener, useSendTransaction, useSessionSigners, useSetWalletRecovery, useSign7702Authorization, useSignMessage, useSignTransaction, useSignTypedData, useSigners, useSignupWithPasskey, useSubscribeToJwtAuthWithFlag, useSyncJwtBasedAuthState, useToken, useUpdateAccount, useUpdateEmail, useUser, useWallets, useX402Fetch };
|
|
11284
|
+
export { BaseConnectedWalletType, Captcha, ConnectWalletModalOptions, ConnectedWallet, ConnectorManager, type CustomAuthFlowState, EIP1193Provider, type EncryptedWalletKey, EthereumWalletConnector, FundWalletConfig, FundingResult, type JwtAuthFlowState, LinkedAccountWithMetadata, LoginModal, LoginModalOptions, LoginWithCode, MfaMethod, OAuthFlowState, OAuthTokens, OtpFlowState, PasskeyFlowState, PrivyClient, PrivyClientConfig, PrivyEvents, type PrivyInterface, PrivyModal, PrivyProvider, type PrivyProviderProps, type SendCodeToEmail, type SendCodeToSms, SendTransactionModalUIOptions, SignMessageModalUIOptions, SignTypedDataParams, SiweFlowState, TelegramAuthFlowState, UnsignedTransactionRequest, type UseAuthorizationSignatureInterface, type UseBaseAccountSdkInterface, type UseConnectBaseAccountInterface, type UseConnectCoinbaseSmartWalletInterface, type UseCustomAuth, type UseDelegatedActionsInterface, type UseFundWalletInterface, type UseGetAccessTokenForProvider, type UseGetWalletPrivateKeyInterface, type UseImportWalletInterface, type UseLinkJwtAccount, type UseLinkWithPasskey, type UseLinkWithSiws, type UseLoginWithEmail, type UseLoginWithPasskey, type UseLoginWithSiws, type UseLoginWithSms, type UseLoginWithTelegram, type UseOAuthTokens, type UseRecoverEmbeddedWalletInterface, type UseSessionSignersInterface, type UseSignersInterface, type UseSignupWithPasskey, type UseSubscribeToJwtAuthWithFlagInput, type UseSyncJwtBasedAuthStateInput, type UseSyncJwtBasedAuthStateInterface, type UseWalletsInterface, type UseX402Fetch, User, VERSION, Wallet, WalletConnector, WalletListEntry, type WrapFetchWithPayment, errorIndicatesMaxMfaRetries, errorIndicatesMfaTimeout, errorIndicatesMfaVerificationFailed, getCustomerAccessToken as getAccessToken, getEmbeddedConnectedWallet, getIdentityToken, toViemAccount, useActiveWallet, useAuthMfa, useAuthMfaEnrollment, useAuthorizationSignature, useBaseAccountSdk, useConnectBaseAccount, useConnectCoinbaseSmartWallet, useConnectOrCreateWallet, useConnectWallet, useCreateWallet, useCrossAppAccounts, useCustomAuth, useDelegatedActions, useExportWallet, useFarcasterSigner, useFundWallet, useGetAccessTokenForProvider, useGetWalletPrivateKey, useGuestAccounts, useHeadlessDelegatedActions, useIdentityToken, useImportWallet, useLinkAccount, useLinkJwtAccount, useLinkWithPasskey, useLinkWithSiwe, useLinkWithSiws, useLogin, useLoginWithEmail, useLoginWithFarcasterV2, useLoginWithOAuth, useLoginWithPasskey, useLoginWithSiwe, useLoginWithSiws, useLoginWithSms, useLoginWithTelegram, useLogout, useMfa, useMfaEnrollment, useMigrateWallets, useModalStatus, useOAuthTokens, usePrivy, useRecoverEmbeddedWallet, useRegisterMfaListener, useSendTransaction, useSessionSigners, useSetWalletRecovery, useSign7702Authorization, useSignMessage, useSignTransaction, useSignTypedData, useSigners, useSignupWithPasskey, useSubscribeToJwtAuthWithFlag, useSyncJwtBasedAuthState, useToken, useUpdateAccount, useUpdateEmail, useUser, useWallets, useX402Fetch };
|
package/dist/dts/internal.d.mts
CHANGED
package/dist/dts/internal.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import react__default from 'react';
|
|
3
|
-
import { e as SendTransactionModalUIOptions, f as SignMessageModalUIOptions } from './types-
|
|
3
|
+
import { e as SendTransactionModalUIOptions, f as SignMessageModalUIOptions } from './types-xIUh0rN4.js';
|
|
4
4
|
import { SmartAccountClient } from 'permissionless';
|
|
5
5
|
import { EIP1193Provider, Chain, PublicClient, HttpTransport, WalletClient, PaymasterRpcSchema, SendTransactionParameters, Hash, SignableMessage, Hex, TypedData, SignTypedDataParameters } from 'viem';
|
|
6
6
|
import { SmartAccount, SendUserOperationParameters } from 'viem/account-abstraction';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import react__default from 'react';
|
|
3
|
-
import { e as SendTransactionModalUIOptions, f as SignMessageModalUIOptions } from './types-
|
|
3
|
+
import { e as SendTransactionModalUIOptions, f as SignMessageModalUIOptions } from './types-xIUh0rN4.js';
|
|
4
4
|
import { SmartAccountClient } from 'permissionless';
|
|
5
5
|
import { EIP1193Provider, Chain, PublicClient, HttpTransport, WalletClient, PaymasterRpcSchema, SendTransactionParameters, Hash, SignableMessage, Hex, TypedData, SignTypedDataParameters } from 'viem';
|
|
6
6
|
import { SmartAccount, SendUserOperationParameters } from 'viem/account-abstraction';
|