@safe-global/safe-react-hooks
Version:
A collection of React Hooks that facilitates the interaction of React apps with Safe Smart Accounts
22 lines • 1.07 kB
JavaScript
import { useCallback, useMemo } from 'react';
import { useQuery } from '@tanstack/react-query';
import { usePublicClient } from '../hooks/usePublicClient.js';
/**
* Hook to get the status of a specific Safe transaction.
* @param params Parameters to customize the hook behavior.
* @param params.config SafeConfig to use instead of the one provided by `SafeProvider`.
* @param params.safeTxHash Hash of Safe transaction to be fetched.
* @returns Query result object containing the transaction object.
*/
export function useSafeTransaction(params) {
const safeClient = usePublicClient({ config: params.config });
const getTransaction = useCallback(async () => {
if (!safeClient) {
throw new Error('SafeClient not initialized');
}
return safeClient.apiKit.getTransaction(params.safeTxHash);
}, [safeClient]);
const queryKey = useMemo(() => ['getSafeTransaction', params.safeTxHash], [params.safeTxHash]);
return useQuery({ queryKey, queryFn: getTransaction });
}
//# sourceMappingURL=useSafeTransaction.js.map