@reservoir0x/relay-kit-hooks
Version:
Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.
27 lines • 1.21 kB
JavaScript
import { configureViemChain, convertViemChainToRelayChain, MAINNET_RELAY_API, setParams } from '@reservoir0x/relay-sdk';
import fetcher from '../fetcher.js';
import { useQuery } from '@tanstack/react-query';
import { useMemo } from 'react';
import { mainnet } from 'viem/chains';
export const queryRelayChains = function (baseApiUrl = MAINNET_RELAY_API, options, headers) {
const url = new URL(`${baseApiUrl}/chains`);
setParams(url, options ?? {});
return fetcher(url.href, headers);
};
export default function (baseApiUrl, options, queryOptions) {
const response = useQuery({
queryKey: ['useRelayChains', baseApiUrl, options],
queryFn: () => queryRelayChains(baseApiUrl, options),
retry: false,
...queryOptions
});
return useMemo(() => {
const chains = response?.data?.chains?.map((chain) => configureViemChain(chain));
return {
...response,
viemChains: chains?.map((chain) => chain.viemChain),
chains: chains ? chains : [convertViemChainToRelayChain(mainnet)]
};
}, [response.data, response.data?.chains, response.error, response.isLoading]);
}
//# sourceMappingURL=useRelayChains.js.map