@funkit/connect
Version:
Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.
28 lines (27 loc) • 1.2 kB
TypeScript
import type { Address, Hex } from 'viem';
import { type CheckoutConfirmationError } from '../../domains/checkoutErrors';
import type { FunkitCheckoutQuoteResult } from '../../domains/quote';
import { type FunkitActiveWithdrawalItem, type FunkitWithdrawalConfig, type WithdrawalCustomerData } from '../../providers/FunkitCheckoutContext';
interface UseWithdrawalResult {
handleWithdrawal: (withdrawal: WithdrawalFormData) => Promise<Hex | null>;
isWithdrawing: boolean;
withdrawalError: CheckoutConfirmationError | null;
stepMessage: string | null;
}
export type WithdrawalFormData = {
destinationAddress: Address;
withdrawalUSD: string;
tokenSymbol: string;
tokenAddress: Address;
chainId: number;
quote?: FunkitCheckoutQuoteResult;
/** Customer-specific data for quoteless flows (e.g. Lighter Secure). */
customerData?: WithdrawalCustomerData;
userInputAmount: string;
};
export declare function useWithdrawal({ config, withdrawalItem, onSuccess, }: {
config: FunkitWithdrawalConfig;
withdrawalItem: FunkitActiveWithdrawalItem | null;
onSuccess?: (withdrawal: WithdrawalFormData, txHash: Hex) => void;
}): UseWithdrawalResult;
export {};