@coin-voyage/paykit
Version:
Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.
25 lines (24 loc) • 1.07 kB
JavaScript
import { PayOrderStatus } from "@coin-voyage/shared/types";
import { useQuery } from "@tanstack/react-query";
import { useBackendApi } from "../components/contexts/api";
export function usePayOrderQuotes({ payOrder, address, chainType }) {
const api = useBackendApi();
const { data, isLoading, refetch, error: _error, } = useQuery({
queryKey: ["pay-order-quotes", payOrder?.id, address, chainType],
queryFn: async () => {
if (!address || !payOrder?.id || !chainType)
return null;
const { data, error } = await api.payOrderQuote(payOrder?.id, {
wallet_address: address,
chain_type: chainType,
});
if (error) {
throw new Error(JSON.stringify(error));
}
return data ?? null;
},
enabled: (!!address && !!chainType && payOrder && payOrder?.status === PayOrderStatus.PENDING) ||
payOrder?.status === PayOrderStatus.AWAITING_PAYMENT,
});
return { quotes: data, isLoading, refetch };
}