@funkit/connect
Version:
Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.
43 lines (42 loc) • 1.87 kB
TypeScript
import { DirectExecutionType } from '@funkit/api-base';
import { type CheckoutQuoteResponse } from '@funkit/utils';
import type { Address, Hex } from 'viem';
import { PaymentMethod } from '~/domains/paymentMethods';
import type { FunkitCheckoutQuoteResult } from '~/domains/quote';
import type { FunkitActiveCheckoutItem, FunkitCheckoutActionParams, FunkitCheckoutConfig } from '~/providers/FunkitCheckoutContext';
interface DirectExecutionQuoteRequestParams {
actionParams: FunkitCheckoutActionParams[];
toChainId: string;
toTokenAddress: Address;
toTokenAmount: number;
toTokenDecimals: number;
fromChainId: string;
fromTokenAddress: Address;
recipientAddress: Address;
}
interface DirectExecutionStartParams {
checkoutItem: FunkitActiveCheckoutItem;
stepMessageSetter: (m: string) => void;
actionsParams: FunkitCheckoutActionParams[];
latestQuote: FunkitCheckoutQuoteResult;
}
export interface FunkitDirectExecutionInfo {
isDirectExecution: boolean;
directExecutionType: DirectExecutionType | null;
getDirectExecutionQuote: (params: DirectExecutionQuoteRequestParams) => Promise<CheckoutQuoteResponse | null>;
executeDirectExecution: (params: DirectExecutionStartParams) => Promise<Hex | null>;
}
interface UseCheckoutDirectExecutionReturn {
getDirectExecutionInfo: (checkoutItem: FunkitActiveCheckoutItem | null) => FunkitDirectExecutionInfo;
}
export declare function isVertexDirectExecution({ apiKey, config, paymentMethod, sourceAsset, sourceChain, targetAsset, targetChain, }: {
apiKey: string;
config: FunkitCheckoutConfig;
paymentMethod: PaymentMethod | undefined;
sourceAsset: string;
sourceChain: string;
targetAsset?: string;
targetChain?: string;
}): boolean;
export declare function useCheckoutDirectExecution(): UseCheckoutDirectExecutionReturn;
export {};