UNPKG

@privy-io/react-auth

Version:

React client for the Privy Auth API

2 lines (1 loc) 684 B
"use strict";var e=require("react"),r=require("viem"),t=require("./getPublicClient-CGlodIp_.js"),a=require("./internal-context-NWsAL807.js");exports.useWalletBalance=function({rpcConfig:n,appId:c,address:i,chain:s}){let{chains:l}=a.usePrivyInternal(),[u,o]=e.useState(0n),[d,p]=e.useState(!1),h=e.useMemo((()=>{let e=s||l[0];if(e)return r.createPublicClient({chain:s,transport:r.http(t.getJsonRpcEndpointFromChain(e,n,c))})}),[s,n,c]),f=e.useCallback((async()=>{if(!i||!h)return;p(!0);let e=await h.getBalance({address:i}).catch(console.error);return e?(o(e),p(!1),e):void 0}),[h,i,o]);return e.useEffect((()=>{f().catch(console.error)}),[]),{balance:u,isLoading:d,reloadBalance:f}};