import { NetworkType } from "../core/chains"; import { Address, PartialRecord } from "../utils/types"; import { AaveV2LPToken, AaveV2PoolTokenData, WrappedAaveV2LPToken, WrappedAaveV2PoolTokenData } from "./aave"; import { AuraLPToken, AuraLPTokenData, AuraStakedToken, AuraStakedTokenData } from "./aura"; import { BalancerLPToken, BalancerLpTokenData } from "./balancer"; import { CompoundV2LPToken, CompoundV2PoolTokenData } from "./compound"; import { ConvexL2StakedToken, ConvexL2StakedTokenData, ConvexLPToken, ConvexLPTokenData, ConvexPhantomTokenData, ConvexStakedPhantomToken } from "./convex"; import { CurveLPToken, CurveLPTokenData, MetaCurveLPTokenData } from "./curveLP"; import { ERC4626LPToken, ERC4626VaultOfCurveLPTokenData, ERC4626VaultTokenData } from "./erc4626"; import { DieselStakedTokenData, DieselStakedTokenTypes, DieselTokenData, DieselTokenTypes, GearboxToken, GearboxTokenData } from "./gear"; import { NormalToken, NormalTokenData } from "./normal"; import { StakingRewardsPhantomToken, StakingRewardsPhantomTokenData } from "./stakingRewards"; import { WrappedToken, WrappedTokenData } from "./wrapped"; import { YearnLPToken, YearnVaultOfCurveLPTokenData, YearnVaultOfMetaCurveLPTokenData, YearnVaultTokenData } from "./yearn"; import { ZircuitPhantomTokenData, ZircuitStakedPhantomToken } from "./zircuit"; export type LPTokens = YearnLPToken | CurveLPToken | ConvexLPToken | ConvexStakedPhantomToken | ConvexL2StakedToken | BalancerLPToken | AaveV2LPToken | WrappedAaveV2LPToken | CompoundV2LPToken | ERC4626LPToken | AuraLPToken | AuraStakedToken | ZircuitStakedPhantomToken | StakingRewardsPhantomToken; export type SupportedToken = NormalToken | WrappedToken | LPTokens | DieselTokenTypes | DieselStakedTokenTypes | GearboxToken; export interface TokenBase { name: string; symbol: string; } export type LPTokenDataI = CurveLPTokenData | MetaCurveLPTokenData | YearnVaultTokenData | YearnVaultOfCurveLPTokenData | YearnVaultOfMetaCurveLPTokenData | ConvexLPTokenData | ConvexPhantomTokenData | ConvexL2StakedTokenData | BalancerLpTokenData | AaveV2PoolTokenData | WrappedAaveV2PoolTokenData | CompoundV2PoolTokenData | ERC4626VaultTokenData | ERC4626VaultOfCurveLPTokenData | AuraLPTokenData | AuraStakedTokenData | ZircuitPhantomTokenData | StakingRewardsPhantomTokenData; export type TokenDataI = NormalTokenData | WrappedTokenData | LPTokenDataI | DieselTokenData | DieselStakedTokenData | GearboxTokenData; export declare const lpTokens: Record; export declare const supportedTokens: Record; export declare const ETH_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; export declare const tokenDataByNetwork: Record>; export type TickerToken = "weETH/ETH" | "ezETH/ETH" | "rsETH/ETH" | "pufETH/ETH" | "rswETH/ETH" | "LBTC/BTC" | "eBTC/BTC" | "solvBTC/BTC" | "pumpBTC/BTC" | "beraSTONE/ETH" | "crvUSD" | "USDC" | "USDT" | "DAI" | "LBTC" | "eBTC" | "ETH" | "USDe" | "BTC" | "PushUSDe" | "stS/S"; export interface TickerInfo { symbol: TickerToken; dataId: string; address: Address; priceFeed: Address; reserve: boolean; } export declare const tickerInfoTokensByNetwork: Record>>; export declare const tickerTokensByNetwork: Record>>; export declare const tokenSymbolByAddress: Record; export declare const tickerSymbolByAddress: Record; export declare function getTokenSymbol(address: Address): SupportedToken | undefined; export declare function getTokenSymbolOrTicker(address: Address): SupportedToken | TickerToken | undefined; export declare function getTokenSymbolOrETH(address: Address): SupportedToken | "ETH" | undefined; export declare const isSupportedToken: (t: unknown) => t is SupportedToken; export declare const isLPToken: (t: unknown) => t is LPTokens; export declare function getDecimals(token: SupportedToken | string): number; export declare function extractTokenData(tokenAddress: string): [SupportedToken | undefined, number | undefined];