@maxosllc/smart-order-router
Version:
BlockDAG Smart Order Router
139 lines (138 loc) • 5.94 kB
TypeScript
import { ChainId } from '../../src/util/chains';
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 declare type TokenAccessor = {
getTokenByAddress(address: string): Token | undefined;
getTokenBySymbol(symbol: string): Token | undefined;
getAllTokens: () => Token[];
};
export declare const USDC_MAINNET: Token;
export declare const USDT_MAINNET: Token;
export declare const WBTC_MAINNET: Token;
export declare const DAI_MAINNET: Token;
export declare const AMPL_MAINNET: Token;
export declare const FEI_MAINNET: Token;
export declare const UNI_MAINNET: Token;
export declare const AAVE_MAINNET: Token;
export declare const LIDO_MAINNET: Token;
export declare const WSTETH_MAINNET: Token;
export declare const USDC_SEPOLIA: Token;
export declare const USDC_NATIVE_SEPOLIA: Token;
export declare const DAI_SEPOLIA: Token;
export declare const USDC_GOERLI: Token;
export declare const USDT_GOERLI: Token;
export declare const WBTC_GOERLI: Token;
export declare const DAI_GOERLI: Token;
export declare const UNI_GOERLI: Token;
export declare const USDC_OPTIMISM: Token;
export declare const USDC_NATIVE_OPTIMISM: Token;
export declare const USDT_OPTIMISM: Token;
export declare const WBTC_OPTIMISM: Token;
export declare const DAI_OPTIMISM: Token;
export declare const OP_OPTIMISM: Token;
export declare const USDC_OPTIMISM_GOERLI: Token;
export declare const USDT_OPTIMISM_GOERLI: Token;
export declare const WBTC_OPTIMISM_GOERLI: Token;
export declare const DAI_OPTIMISM_GOERLI: Token;
export declare const USDC_OPTIMISM_SEPOLIA: Token;
export declare const USDT_OPTIMISM_SEPOLIA: Token;
export declare const WBTC_OPTIMISM_SEPOLIA: Token;
export declare const DAI_OPTIMISM_SEPOLIA: Token;
export declare const USDC_ARBITRUM: Token;
export declare const USDC_NATIVE_ARBITRUM: Token;
export declare const USDT_ARBITRUM: Token;
export declare const WBTC_ARBITRUM: Token;
export declare const DAI_ARBITRUM: Token;
export declare const ARB_ARBITRUM: Token;
export declare const DAI_ARBITRUM_GOERLI: Token;
export declare const DAI_ARBITRUM_SEPOLIA: Token;
export declare const USDC_ARBITRUM_GOERLI: Token;
export declare const USDC_ARBITRUM_SEPOLIA: Token;
export declare const WMATIC_POLYGON: Token;
export declare const WETH_POLYGON: Token;
export declare const USDC_POLYGON: Token;
export declare const USDC_NATIVE_POLYGON: Token;
export declare const DAI_POLYGON: Token;
export declare const DAI_BASE_SEPOLIA: Token;
export declare const WMATIC_POLYGON_MUMBAI: Token;
export declare const USDC_POLYGON_MUMBAI: Token;
export declare const DAI_POLYGON_MUMBAI: Token;
export declare const WETH_POLYGON_MUMBAI: Token;
export declare const BTC_BNB: Token;
export declare const BUSD_BNB: Token;
export declare const DAI_BNB: Token;
export declare const ETH_BNB: Token;
export declare const USDC_BNB: Token;
export declare const USDT_BNB: Token;
export declare const CELO: Token;
export declare const DAI_CELO: Token;
export declare const CUSD_CELO: Token;
export declare const USDC_CELO: Token;
export declare const USDC_WORMHOLE_CELO: Token;
export declare const USDC_NATIVE_CELO: Token;
export declare const CEUR_CELO: Token;
export declare const CELO_ALFAJORES: Token;
export declare const DAI_CELO_ALFAJORES: Token;
export declare const CUSD_CELO_ALFAJORES: Token;
export declare const CEUR_CELO_ALFAJORES: Token;
export declare const DAI_AVAX: Token;
export declare const USDC_AVAX: Token;
export declare const USDC_BRIDGED_AVAX: Token;
export declare const USDC_NATIVE_AVAX: Token;
export declare const USDC_BASE: Token;
export declare const USDC_NATIVE_BASE: Token;
export declare const VIRTUAL_BASE: Token;
export declare const USDC_BASE_GOERLI: Token;
export declare const USDC_ETHEREUM_GNOSIS: Token;
export declare const WXDAI_GNOSIS: Token;
export declare const WBTC_GNOSIS: Token;
export declare const USDC_MOONBEAM: Token;
export declare const WGLMR_MOONBEAM: Token;
export declare const DAI_MOONBEAM: Token;
export declare const WBTC_MOONBEAM: Token;
export declare const USDB_BLAST: Token;
export declare const USDC_ZORA: Token;
export declare const USDC_ZKSYNC: Token;
export declare const USDCE_ZKSYNC: Token;
export declare const DAI_ZKSYNC: Token;
export declare const USDC_WORLDCHAIN: Token;
export declare const USDT_MONAD_TESTNET: Token;
export declare const WLD_WORLDCHAIN: Token;
export declare const WBTC_WORLDCHAIN: Token;
export declare const USDC_UNICHAIN_SEPOLIA: Token;
export declare const USDC_BASE_SEPOLIA: Token;
export declare const USDC_UNICHAIN: Token;
export declare const DAI_UNICHAIN: Token;
export declare const USDC_SONEIUM: Token;
export declare const USDT_BLOCKDAG_TESTNET: 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 DAI_ON: (chainId: ChainId) => Token;
export declare const USDT_ON: (chainId: ChainId) => Token;
export declare const USDC_ON: (chainId: ChainId) => Token;
export declare const WNATIVE_ON: (chainId: ChainId) => Token;
export declare const V4_SEPOLIA_TEST_A: Token;
export declare const V4_SEPOLIA_TEST_B: Token;