UNPKG

@funkit/connect

Version:

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

42 lines (41 loc) 1.58 kB
import { type CheckoutHistoryItem, type CheckoutState } from '@funkit/api-base'; import type { ApiFunkitCheckoutActionParams } from '@funkit/utils'; import type { Address, Hex } from 'viem'; import type { MergedMultiStepDirectExecution } from '../domains/checkoutNotifications'; export type PurifiedCheckoutHistoryItem = { depositAddr?: Address; directExecution: boolean; id: Hex; fromAmountBaseUnit: string; fromChainId: string; fromTokenAddress: Address; state: CheckoutState; toAmountBaseUnit: string; toChainId: string; toTokenAddress: Address; createdTimeMs: number; updatedTimeMs: number; additionalActions: ApiFunkitCheckoutActionParams[]; isWithdrawal: boolean; /** * Customer-specific, presentation-only metadata. Kept in its own bag so * customer concepts don't leak onto the shared top-level shape. Only present * when there's something to surface for the item's customer. */ customerMetadata?: { /** * For Lighter withdrawal direct executions: which route was used. * `'secure'` is Lighter's native bridge to mainnet (recorded as * `EXTERNALLY_FULFILLED`); `'fast'` routes through Fun + Relay. */ lighterWithdrawalType?: 'fast' | 'secure'; }; } & ({ depositAddr: Address; directExecution: false; } | { depositAddr?: never; directExecution: true; txHashes: Hex[]; }); export declare const purifyCheckoutHistoryItem: (item: CheckoutHistoryItem | MergedMultiStepDirectExecution) => PurifiedCheckoutHistoryItem;