@funkit/connect
Version:
Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.
244 lines (243 loc) • 9.11 kB
TypeScript
import type { Address } from 'viem';
import type { WithdrawalClient } from '~/wallets/Wallet';
interface CheckoutQuoteParams {
recipientAddress: string;
sourceAmount: number;
chainId: string;
symbol: string;
targetAsset: Address | undefined;
withdrawalClient: WithdrawalClient;
}
/**
* Simplified quoting logic used for withdrawal UI only.
*/
export declare function useWithdrawalQuote({ recipientAddress, sourceAmount, chainId, symbol, targetAsset, withdrawalClient, }: CheckoutQuoteParams): {
quoteEnabled: boolean;
isInstantQuoting: boolean;
data: {
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null;
error: Error;
isError: true;
isPending: false;
isLoading: false;
isLoadingError: false;
isRefetchError: true;
isSuccess: false;
isPlaceholderData: false;
status: "error";
dataUpdatedAt: number;
errorUpdatedAt: number;
failureCount: number;
failureReason: Error | null;
errorUpdateCount: number;
isFetched: boolean;
isFetchedAfterMount: boolean;
isFetching: boolean;
isInitialLoading: boolean;
isPaused: boolean;
isRefetching: boolean;
isStale: boolean;
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null, Error>>;
fetchStatus: import("@tanstack/react-query").FetchStatus;
promise: Promise<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null>;
} | {
quoteEnabled: boolean;
isInstantQuoting: boolean;
data: {
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null;
error: null;
isError: false;
isPending: false;
isLoading: false;
isLoadingError: false;
isRefetchError: false;
isSuccess: true;
isPlaceholderData: false;
status: "success";
dataUpdatedAt: number;
errorUpdatedAt: number;
failureCount: number;
failureReason: Error | null;
errorUpdateCount: number;
isFetched: boolean;
isFetchedAfterMount: boolean;
isFetching: boolean;
isInitialLoading: boolean;
isPaused: boolean;
isRefetching: boolean;
isStale: boolean;
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null, Error>>;
fetchStatus: import("@tanstack/react-query").FetchStatus;
promise: Promise<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null>;
} | {
quoteEnabled: boolean;
isInstantQuoting: boolean;
data: undefined;
error: Error;
isError: true;
isPending: false;
isLoading: false;
isLoadingError: true;
isRefetchError: false;
isSuccess: false;
isPlaceholderData: false;
status: "error";
dataUpdatedAt: number;
errorUpdatedAt: number;
failureCount: number;
failureReason: Error | null;
errorUpdateCount: number;
isFetched: boolean;
isFetchedAfterMount: boolean;
isFetching: boolean;
isInitialLoading: boolean;
isPaused: boolean;
isRefetching: boolean;
isStale: boolean;
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null, Error>>;
fetchStatus: import("@tanstack/react-query").FetchStatus;
promise: Promise<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null>;
} | {
quoteEnabled: boolean;
isInstantQuoting: boolean;
data: undefined;
error: null;
isError: false;
isPending: true;
isLoading: true;
isLoadingError: false;
isRefetchError: false;
isSuccess: false;
isPlaceholderData: false;
status: "pending";
dataUpdatedAt: number;
errorUpdatedAt: number;
failureCount: number;
failureReason: Error | null;
errorUpdateCount: number;
isFetched: boolean;
isFetchedAfterMount: boolean;
isFetching: boolean;
isInitialLoading: boolean;
isPaused: boolean;
isRefetching: boolean;
isStale: boolean;
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null, Error>>;
fetchStatus: import("@tanstack/react-query").FetchStatus;
promise: Promise<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null>;
} | {
quoteEnabled: boolean;
isInstantQuoting: boolean;
data: undefined;
error: null;
isError: false;
isPending: true;
isLoadingError: false;
isRefetchError: false;
isSuccess: false;
isPlaceholderData: false;
status: "pending";
dataUpdatedAt: number;
errorUpdatedAt: number;
failureCount: number;
failureReason: Error | null;
errorUpdateCount: number;
isFetched: boolean;
isFetchedAfterMount: boolean;
isFetching: boolean;
isLoading: boolean;
isInitialLoading: boolean;
isPaused: boolean;
isRefetching: boolean;
isStale: boolean;
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null, Error>>;
fetchStatus: import("@tanstack/react-query").FetchStatus;
promise: Promise<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null>;
} | {
quoteEnabled: boolean;
isInstantQuoting: boolean;
data: {
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null;
isError: false;
error: null;
isPending: false;
isLoading: false;
isLoadingError: false;
isRefetchError: false;
isSuccess: true;
isPlaceholderData: true;
status: "success";
dataUpdatedAt: number;
errorUpdatedAt: number;
failureCount: number;
failureReason: Error | null;
errorUpdateCount: number;
isFetched: boolean;
isFetchedAfterMount: boolean;
isFetching: boolean;
isInitialLoading: boolean;
isPaused: boolean;
isRefetching: boolean;
isStale: boolean;
refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null, Error>>;
fetchStatus: import("@tanstack/react-query").FetchStatus;
promise: Promise<{
baseQuote: import("@funkit/utils").CheckoutQuoteResponse;
checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
} | null>;
};
export {};