getTokenReserves
This function fetches Uniswap reserve data for a given token address on a given network.
- If only a chain id is specified, the Ethereum node used to fulfill data requests is determined by ethers.getDefaultProvider, else it is the one specified by the passed provider.
- This function throws an error if the provided tokenAddress is not a token with a Uniswap exchange.
Function Signature#
export async function getTokenReserves(  tokenAddress: string,  chainIdOrProvider: ChainIdOrProvider = 1): Promise<TokenReservesNormalized>;Input Parameters#
| Parameter | Type | Description | 
|---|---|---|
| tokenAddress | string | The checksummed address of a token with a Uniswap exchange. | 
| chainIdOrProvider | ChainIdOrProvider | A supported chain id ( 1,3,4, or42), or an underlying web3 provider connected to a chain with a supported chain id. | 
Example Usage#
const tokenAddress = "0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359"; // DAI Mainnetconst chainIdOrProvider: ChainIdOrProvider = 1; // could be e.g. window.ethereum instead
const tokenReserves: TokenReservesNormalized = await getTokenReserves(  tokenAddress,  chainIdOrProvider);
/*{  // details for the passed token  token: {    chainId: 1,    address: '0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359',    decimals: 18  },
  // details for the Uniswap exchange of the passed token  exchange: {    chainId: 1,    address: '0x09cabEC1eAd1c0Ba254B09efb3EE13841712bE14',    decimals: 18  },
  // details for the ETH portion of the reserves of the passed token  ethReserve: {    token: {      chainId: 1,      address: 'ETH',      decimals: 18    },    amount: <BigNumber>  },
  // details for the token portion of the reserves of the passed token  tokenReserve: {    token: {      chainId: 1,      address: '0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359',      decimals: 18    },    amount: <BigNumber>  }}*/