mirror of
https://github.com/arkorty/B.Tech-Project-III.git
synced 2026-04-19 12:41:48 +00:00
init
This commit is contained in:
38
dmtp/client/hooks/useCUSDBalance.ts
Normal file
38
dmtp/client/hooks/useCUSDBalance.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
'use client';
|
||||
|
||||
import { getCUSDContract, getProvider } from '@/lib/contracts';
|
||||
import { useQuery } from '@tanstack/react-query';
|
||||
import { ethers } from 'ethers';
|
||||
|
||||
export function useCUSDBalance(address: string | null) {
|
||||
return useQuery({
|
||||
queryKey: ['cusd-balance', address],
|
||||
queryFn: async () => {
|
||||
if (!address) return '0';
|
||||
|
||||
const provider = getProvider();
|
||||
const cUSDContract = getCUSDContract(provider);
|
||||
|
||||
const balance = await cUSDContract.balanceOf(address);
|
||||
return ethers.formatEther(balance);
|
||||
},
|
||||
enabled: !!address,
|
||||
refetchInterval: 10000, // Refetch every 10 seconds
|
||||
});
|
||||
}
|
||||
|
||||
export function useCUSDAllowance(owner: string | null, spender: string) {
|
||||
return useQuery({
|
||||
queryKey: ['cusd-allowance', owner, spender],
|
||||
queryFn: async () => {
|
||||
if (!owner) return '0';
|
||||
|
||||
const provider = getProvider();
|
||||
const cUSDContract = getCUSDContract(provider);
|
||||
|
||||
const allowance = await cUSDContract.allowance(owner, spender);
|
||||
return ethers.formatEther(allowance);
|
||||
},
|
||||
enabled: !!owner,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user