@reservoir0x/relay-kit-hooks
Version:
Relay is the Fastest and Cheapest Way to Bridge and Transact Across Chains.
33 lines • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.queryRelayChains = void 0;
const tslib_1 = require("tslib");
const relay_sdk_1 = require("@reservoir0x/relay-sdk");
const fetcher_js_1 = tslib_1.__importDefault(require("../fetcher.js"));
const react_query_1 = require("@tanstack/react-query");
const react_1 = require("react");
const chains_1 = require("viem/chains");
const queryRelayChains = function (baseApiUrl = relay_sdk_1.MAINNET_RELAY_API, options, headers) {
const url = new URL(`${baseApiUrl}/chains`);
(0, relay_sdk_1.setParams)(url, options ?? {});
return (0, fetcher_js_1.default)(url.href, headers);
};
exports.queryRelayChains = queryRelayChains;
function default_1(baseApiUrl, options, queryOptions) {
const response = react_query_1.useQuery({
queryKey: ['useRelayChains', baseApiUrl, options],
queryFn: () => (0, exports.queryRelayChains)(baseApiUrl, options),
retry: false,
...queryOptions
});
return (0, react_1.useMemo)(() => {
const chains = response?.data?.chains?.map((chain) => (0, relay_sdk_1.configureViemChain)(chain));
return {
...response,
viemChains: chains?.map((chain) => chain.viemChain),
chains: chains ? chains : [(0, relay_sdk_1.convertViemChainToRelayChain)(chains_1.mainnet)]
};
}, [response.data, response.data?.chains, response.error, response.isLoading]);
}
exports.default = default_1;
//# sourceMappingURL=useRelayChains.js.map