UNPKG

@privy-io/react-auth

Version:

React client for the Privy Auth API

2 lines (1 loc) 1.55 kB
"use strict";var e=require("react"),t=require("./privy-provider-DEKIIG0u.js"),l=require("./use-sign-with-user-signer-gh4MDT3P.js"),n=require("./internal-context-B_aIJuQh.js");exports.useActiveWallet=()=>{let l=t.useAppConfig(),{wallets:n}=t.useWallets(),{wallets:r}=t.useSolanaWallets(),s=t.useActiveWalletStore((e=>e.wallet));e.useEffect((()=>{if(!l.id)return;let e=t.s.get(t.toActiveWalletKey(l.id));t.useActiveWalletStore.setState({wallet:e})}),[l.id]);let i=e.useMemo((()=>{if(!s)return;let[,e]=s.split(":");return n.find((t=>t.address===e))||r.find((t=>t.address===e))}),[s,n,r]),a=e.useMemo((()=>i?"ethereum"===i.type?i.chainId:"solana":void 0),[i]);return{connect:async e=>{e?.reset&&(t.s.del(t.toActiveWalletKey(l.id)),t.useActiveWalletStore.setState({wallet:void 0}));let{wallet:s}=await t.open();if(!s)return{};let[,i]=s.split(":"),a=n.find((e=>e.address===i));if(a)return{wallet:a,network:a.chainId};let u=r.find((e=>e.address===i));return u?{wallet:u,network:"solana"}:{}},setActiveWallet:e.useCallback((e=>{t.setActiveWallet({address:e.address,client:e.walletClientType,appId:l.id})}),[l.id]),wallet:i,network:a}},exports.useConnectWallet=function(n){let{connectWallet:r}=e.useContext(l.PrivyContext);return t.usePrivyEventSubscription("connectWallet",n),{connectWallet:r}},exports.useFundWallet=e=>{t.usePrivyEventSubscription("fundWallet",e);let{fundWallet:l}=n.usePrivyInternal();return{fundWallet:l}},exports.useLogin=function(n){let{login:r}=e.useContext(l.PrivyContext);return t.usePrivyEventSubscription("login",n),{login:r}};