UNPKG

@kanalabs/kana-widget-v2

Version:

Kana Widget for cross-chain bridging and swap.

117 lines (116 loc) 3.3 kB
import { NetworkId } from "@kanalabs/aggregator"; import { RefObject } from "react"; import { ModalType } from "types"; interface SourceInfo { chainId: NetworkId; chainName: string; chainImg: string; tokenSymbol: string; tokenImg: string; tokenAmount: string; tokenAddress: string; tokenBalance: number; tokenDollarPrice: number; } interface TargetInfo { chainId: NetworkId; chainName: string; chainImg: string; tokenSymbol: string; tokenDecimal: number; tokenImg: string; tokenAmount: string; tokenAddress: string; tokenBalance: number; tokenDollarPrice: number; } interface chainAndTokenListVisibility { visibility: boolean; clickedFrom: string; } interface WalletConnectVisibility { visibility: boolean; clickedFrom: string; } interface ChainAddressState { targetChainAddress: string; sourceChainAddress: string; } interface Token { name: string; symbol: string; logoURL?: string; address?: string; fa_address?: string; } interface RouteHop { dexName: string; marketName: string; fromToken: Token; toToken: Token; parentType?: string; } interface RouteSplit { percentage: number; inputAmount: string; outputAmount: string; type: string; routeTaken: RouteHop[]; } interface RouteInfo { amountIn: number; amountOut: string; protocols: string[]; routeSplits: RouteSplit[]; } interface SwapView { availableRoutes: RouteInfo[]; crossChainRoutes: RouteInfo[]; sourceInfo: SourceInfo; targetInfo: TargetInfo; selectedRoute: any; slippage: number; model: ModalType; chainAndTokenListVisibility: chainAndTokenListVisibility; handleSameChain: () => void; handleCrossChain: () => void; isTour: boolean; isTablet: boolean; handleTourOpen: () => void; chainType: string; isRedeem: boolean; setRedeemVisible: () => void; getRoutes: () => Promise<void>; setSettingsViewVisibility: (visible: boolean) => void; setAggregatorSettingsVisibility: (visible: boolean) => void; setCrossChainSettingVisibility: (visible: boolean) => void; isDexSettingsVisible?: boolean; isDexSettingsVisibleForCrossChain?: boolean; isDexModified?: boolean; props: any; selectSameChain: (chainId: number) => void; sourcePair: NetworkId[]; targetPair: NetworkId[]; ref1: RefObject<HTMLDivElement>; ref2: RefObject<HTMLDivElement>; ref4: RefObject<HTMLDivElement>; ref5: RefObject<HTMLDivElement>; ref6: RefObject<HTMLDivElement>; ref8: RefObject<HTMLDivElement>; ref10: RefObject<HTMLInputElement>; ref11: RefObject<HTMLButtonElement>; displayTokenList: (value: string) => void; setWalletConnectVisibility: React.Dispatch<React.SetStateAction<WalletConnectVisibility>>; copyHash: (hash: any) => Promise<void>; chainAddress: ChainAddressState; onTokenAmountChange: (e: any) => void; getPercentageAmount: (percentage: any) => void; allowInterChange: boolean; isRouteLoading: boolean; interchangeSwap: () => void; startSwap: () => Promise<void>; isRoutesVisible: boolean; setConnectWallets: () => void; } declare const SwapView: React.FC<SwapView>; export default SwapView;