UNPKG

@roochnetwork/rooch-sdk-kit

Version:
57 lines (50 loc) 1.49 kB
// src/hooks/client/useRoochClientQuery.ts import { useQuery } from "@tanstack/react-query"; // src/hooks/client/useCurrentNetwork.ts function useCurrentNetwork() { return useRoochContext().network; } // src/hooks/client/useRoochContext.ts import { useContext } from "react"; // src/provider/clientProvider.tsx import { createContext, useMemo, useState } from "react"; import { getRoochNodeUrl, RoochClient } from "@roochnetwork/rooch-sdk"; import { jsx } from "react/jsx-runtime"; var ClientContext = createContext(null); var DEFAULT_NETWORKS = { localnet: { url: getRoochNodeUrl("localnet") } }; // src/hooks/client/useRoochContext.ts function useRoochContext() { const context = useContext(ClientContext); if (!context) { throw new Error( "Could not find RoochClientContext. Ensure that you have set up the RoochClientProvider." ); } return context; } // src/hooks/client/useRoochClient.ts function useRoochClient() { return useRoochContext().client; } // src/hooks/client/useRoochClientQuery.ts function useRoochClientQuery(...args) { const [method, params, { queryKey = [], ...options } = {}] = args; const network = useCurrentNetwork(); const roochClient = useRoochClient(); return useQuery({ ...options, queryKey: [network, method, params, ...queryKey], queryFn: async () => { return await roochClient[method](params); } }); } export { useRoochClientQuery }; //# sourceMappingURL=useRoochClientQuery.js.map