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