Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import { useApi } from './use-api'; import { ApiResource } from '@models'; import { cvToHex, standardPrincipalCV, tupleCV } from '@stacks/transactions'; import { useQuery } from 'react-query'; export function useFetchDelegationStatus(contractId?: string, address?: string) { const api = useApi(); const { data, refetch } = useQuery( [ApiResource.DelegationStatus, contractId, address], async ({ queryKey }) => { const [, innerContractId, innerAddress] = queryKey; Iif (!innerContractId || !innerAddress) return; const [contractAddress, contractName] = innerContractId.split('.'); const key = cvToHex( tupleCV({ stacker: standardPrincipalCV(innerAddress), }) ); return api.getContractDataMapEntry({ contractAddress, contractName, key, mapName: 'delegation-state', }) as Promise<{ data: string }>; }, { refetchInterval: 60_000, } ); return { refetch, delegationStatus: data }; } |