UNPKG

@reservoir0x/relay-kit-hooks

Version:

Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.

56 lines 1.78 kB
import { MAINNET_RELAY_API, RelayClient, setParams } from '@reservoir0x/relay-sdk'; import fetcher from '../fetcher.js'; import { useQuery } from '@tanstack/react-query'; import { useMemo } from 'react'; export const queryExecutionStatus = function (baseApiUrl = MAINNET_RELAY_API, options, headers) { return new Promise((resolve, reject) => { const url = new URL(`${baseApiUrl}/intents/status/v2`); let query = { ...options }; setParams(url, query); fetcher(url.href, headers) .then((response) => { const request = { url: url.href, method: 'get' }; resolve({ ...response, request }); }) .catch((e) => { reject(e); }); }); }; export default function (client, options, onRequest, onResponse, queryOptions) { const queryKey = ['useExecutionStatus', options]; const response = useQuery({ queryKey: queryKey, queryFn: () => { onRequest?.(); const promise = queryExecutionStatus(client?.baseApiUrl, options); promise.then((response) => { onResponse?.(response); }); return promise; }, enabled: client !== undefined && options !== undefined, retry: false, ...queryOptions }); return useMemo(() => ({ ...response, data: response.error ? undefined : response.data, queryKey }), [ response.data, response.error, response.isLoading, response.isFetching, response.isRefetching, response.dataUpdatedAt, queryKey ]); } //# sourceMappingURL=useExecutionStatus.js.map