Pair

constructor(tokenAmountA: TokenAmount, tokenAmountB: TokenAmount)

The Pair entity represents a WhiteSwap pair with a balance of each of its pair tokens.

Example

import { ChainId, Token, TokenAmount, Pair } from '@whiteswap/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): string

Computes the pair address for the passed Tokens. See Pair Addresses.

Properties

liquidityToken

A Token representing the liquidity token for the pair. See Pair (ERC-20).

token0

token1

reserve0

The reserve of token0.

reserve1

The reserve of token1.

Methods

reserveOf

Returns reserve0 or reserve1, depending on whether token0 or token1 is passed in.

getOutputAmount

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

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

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.

getLiquidityValue

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.

Last updated

Was this helpful?