UNPKG

eamutils

Version:

Some reusable functions in some projects

62 lines (54 loc) 1.42 kB
import { getProviders } from './files/providers_list'; export interface IProvider { chainId: number; rpcs: string[]; logo: string; // Optional data weth?: IWETH; name?: string; explorer?: string; router?: string; factory?: string; factory_abi?: string; router_abi?: string; multicall?: string; base_pairs?: string[]; } export interface IWETH { address: string; name: string; symbol: string; decimals: number; } /* * Create a new provider object */ export const createProvider = (provider: IProvider): IProvider => { return provider; }; export const getDefaultProviders = (): IProvider[] => { const providers = getProviders(); return providers.map((i: any) => { return createProvider({ ...i, factory_abi: require(i.factory_abi), router_abi: require(i.router_abi), }); }); }; let Providers: IProvider[] = getDefaultProviders(); /* Configure providers on your application @returns providers */ export const configureProviders = (providers: IProvider[]) => { Providers = providers; return Providers; }; /* * Get provider by chain id * @returns provider or undefined if not found */ export const getProviderByChainId = (chainId: number): IProvider | undefined => { return Providers.find((provider: IProvider) => provider.chainId === chainId); };