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
#
getAddressgetAddress(tokenA: Token, tokenB: Token): string
Computes the pair address for the passed Tokens. See Pair Addresses.
Properties
#
liquidityTokenliquidityToken: Token;
A Token representing the liquidity token for the pair. See Pair (ERC-20).
#
token0token0: Token;
See Token0.
#
token1token1: Token;
See Token1.
#
reserve0reserve0: TokenAmount;
The reserve of token0.
#
reserve1reserve1: TokenAmount;
The reserve of token1.
Methods
#
reserveOfreserveOf(token: Token): TokenAmount
Returns reserve0 or reserve1, depending on whether token0 or token1 is passed in.
#
getOutputAmountgetOutputAmount(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.
#
getInputAmountgetInputAmount(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.
#
getLiquidityMintedgetLiquidityMinted(totalSupply: TokenAmount, tokenAmountA: TokenAmount, tokenAmountB: TokenAmount): TokenAmount
Calculates 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.
#
getLiquidityValuegetLiquidityValue( token: Token, totalSupply: TokenAmount, liquidity: TokenAmount, feeOn: boolean = false, kLast?: BigintIsh): TokenAmount
Calculates 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.