UNPKG

@funkit/connect

Version:

Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.

43 lines (42 loc) 1.87 kB
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 {};