Data

  • getTokenReserves

    • Function Signature

    • Input Parameters

    • Example Usage

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, or 42), or an underlying web3 provider connected to a chain with a supported chain id.

Example Usage

const tokenAddress = '0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359' // DAI Mainnet
const 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>
}
}
*/