UNPKG

@sky-mavis/smart-order-router

Version:
35 lines (34 loc) 1.31 kB
import { ChainId } from '@sky-mavis/katana-core'; import { Token } from '@uniswap/sdk-core'; import { IMulticallProvider } from './multicall-provider'; import { ProviderConfig } from './provider'; /** * Provider for getting token data. * * @export * @interface ITokenProvider */ export interface ITokenProvider { /** * Gets the token at each address. Any addresses that are not valid ERC-20 are ignored. * * @param addresses The token addresses to get. * @param [providerConfig] The provider config. * @returns A token accessor with methods for accessing the tokens. */ getTokens(addresses: string[], providerConfig?: ProviderConfig): Promise<TokenAccessor>; } export type TokenAccessor = { getTokenByAddress(address: string): Token | undefined; getTokenBySymbol(symbol: string): Token | undefined; getAllTokens: () => Token[]; }; export declare class TokenProvider implements ITokenProvider { private chainId; protected multicall2Provider: IMulticallProvider; constructor(chainId: ChainId, multicall2Provider: IMulticallProvider); private getTokenSymbol; private getTokenDecimals; getTokens(_addresses: string[], providerConfig?: ProviderConfig): Promise<TokenAccessor>; } export declare const USDC_ON: (chainId: ChainId) => Token;