Pair
constructor(tokenAmountA: TokenAmount, tokenAmountB: TokenAmount)The Pair entity represents a Uniswap pair with a balance of each of its pair tokens.
Example
import { ChainId, Token, TokenAmount, Pair } from '@uniswap/sdk'
const HOT = new Token(ChainId.MAINNET, '0xc0FFee0000000000000000000000000000000000', 18, 'HOT', 'Caffeine')
const NOT = new Token(ChainId.MAINNET, '0xDeCAf00000000000000000000000000000000000', 18, 'NOT', 'Caffeine')
const pair = new Pair(new TokenAmount(HOT, '2000000000000000000'), new TokenAmount(NOT, '1000000000000000000'))Static Methods
getAddress
getAddress(tokenA: Token, tokenB: Token): stringComputes the pair address for the passed Tokens. See Pair Addresses.
Properties
liquidityToken
liquidityToken: TokenA Token representing the liquidity token for the pair. See Pair (ERC-20).
token0
token0: TokenSee .
token1
token1: TokenSee .
reserve0
reserve0: TokenAmountThe reserve of token0.
reserve1
reserve1: TokenAmountThe reserve of token1.
Methods
reserveOf
reserveOf(token: Token): TokenAmountReturns reserve0 or reserve1, depending on whether token0 or token1 is passed in.
getOutputAmount
getOutputAmount(inputAmount: TokenAmount): [TokenAmount, Pair]Pricing function for exact input amounts. Returns maximum output amount based on current reserves and the new Pair that would exist if the trade were executed.
getInputAmount
getInputAmount(outputAmount: TokenAmount): [TokenAmount, Pair]Pricing function for exact output amounts. Returns minimum input amount based on current reserves and the new Pair that would exist if the trade were executed.
getLiquidityMinted
getLiquidityMinted(totalSupply: TokenAmount, tokenAmountA: TokenAmount, tokenAmountB: TokenAmount): TokenAmountCalculates the exact amount of liquidity tokens minted from a given amount of token0 and token1.
totalSupply must be looked up on-chain.
The value returned from this function cannot be used as an input to getLiquidityValue.
getLiquidityValue
getLiquidityValue(
token: Token,
totalSupply: TokenAmount,
liquidity: TokenAmount,
feeOn: boolean = false,
kLast?: BigintIsh
): TokenAmountCalculates the exact amount of token0 or token1 that the given amount of liquidity tokens represent.
totalSupply must be looked up on-chain.
If the protocol charge is on, feeOn must be set to true, and kLast must be provided from an on-chain lookup.
Values returned from this function cannot be used as inputs to getLiquidityMinted.