@sky-mavis/smart-order-router
Version:
Ronin Swap Smart Order Router
35 lines (34 loc) • 1.31 kB
TypeScript
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;