import type { TokenInfo as _TokenInfo, TokenList as _TokenList } from '@uniswap/token-lists';

export type BridgeInfo = Record<
    string,
    {
        tokenAddress?: string;
        originBridgeAddress?: string;
        destBridgeAddress?: string;
    }
>;

export interface TokenInfoExtensions {
    bridgeInfo?: BridgeInfo;
    pinned?: boolean;
    marketCapRank?: number;
    usdPrice?: number;
}

export interface TokenInfo extends Omit<_TokenInfo, 'extensions'> {
    extensions?: TokenInfoExtensions;
}

export interface TokenList extends Omit<_TokenList, 'tokens'> {
    tokens: TokenInfo[];
}
