UNPKG

@privy-io/react-auth

Version:

React client for the Privy Auth API

2 lines (1 loc) 1.29 kB
import{useContext as e,useEffect as t,useMemo as a,useCallback as l}from"react";import{u as n,o as r,w as s,a7 as i,aL as d,aM as o,aN as u,aO as c,aH as f}from"./privy-provider-Ck8owl_s.mjs";import{P as w}from"./use-sign-with-user-signer-DYa7HrQH.mjs";import{u as p}from"./internal-context-qdNgTV5f.mjs";function m(t){let{login:a}=e(w);return n("login",t),{login:a}}function W(t){let{connectWallet:a}=e(w);return n("connectWallet",t),{connectWallet:a}}const g=e=>{n("fundWallet",e);let{fundWallet:t}=p();return{fundWallet:t}},v=()=>{let e=r(),{wallets:n}=s(),{wallets:w}=i(),p=d((e=>e.wallet));t((()=>{if(!e.id)return;let t=o.get(u(e.id));d.setState({wallet:t})}),[e.id]);let m=a((()=>{if(!p)return;let[,e]=p.split(":");return n.find((t=>t.address===e))||w.find((t=>t.address===e))}),[p,n,w]),W=a((()=>m?"ethereum"===m.type?m.chainId:"solana":void 0),[m]);return{connect:async t=>{t?.reset&&(o.del(u(e.id)),d.setState({wallet:void 0}));let{wallet:a}=await c();if(!a)return{};let[,l]=a.split(":"),r=n.find((e=>e.address===l));if(r)return{wallet:r,network:r.chainId};let s=w.find((e=>e.address===l));return s?{wallet:s,network:"solana"}:{}},setActiveWallet:l((t=>{f({address:t.address,client:t.walletClientType,appId:e.id})}),[e.id]),wallet:m,network:W}};export{W as a,g as b,v as c,m as u};