@funkit/connect
Version:
Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.
33 lines (32 loc) • 1.51 kB
TypeScript
import type { CheckoutInitTokenTransferResponse } from '@funkit/api-base';
import type { TokenTransferSourceChainsAndAssets } from '../modals/CheckoutModal/TransferToken/TransferToken';
export type TransferTokenDefault = {
token: string;
chainId: number;
};
interface UseTokenChainResult {
assets: TokenTransferSourceChainsAndAssets;
selectedChainId: number | undefined;
handleChainChange: (chainId?: number, autoUpdate?: boolean) => void;
selectedToken: string | undefined;
selectedChainName: string | undefined;
handleTokenChange: (token: string, chainId?: number, autoUpdate?: boolean) => void;
isLoadingAssets: boolean;
chainIdSortOrder: number[];
popularTokenSymbols: string[];
priorityTokenSymbols: string[];
}
export interface UseTokenAndChainDropdownOptions {
transferInit?: CheckoutInitTokenTransferResponse;
defaultValues?: TransferTokenDefault;
/** When true, resolves the withdrawal Statsig config instead of the token-transfer one. Defaults to false. */
isWithdrawal?: boolean;
/** When true, starts with no chain/token pre-selected (user must pick both). Defaults to false. */
noDefaultSelection?: boolean;
}
/**
* Semi reusable hook (tied into token transfer configuration)
* ensures token&chain dropdown preselection logic is reusable
*/
export declare const useTokenAndChainDropdown: ({ defaultValues, isWithdrawal, noDefaultSelection, transferInit, }: UseTokenAndChainDropdownOptions) => UseTokenChainResult;
export {};