constructor(tokenAmountA: CurrencyAmount, tokenAmountB: CurrencyAmount)
The Pair entity represents a SwapX pair with a balance of each of its pair tokens.
Example
import { Pair } from "@swapx/sdk-core";
import { ChainId, Token, CurrencyAmount } from "@swapx/v2-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(
CurrencyAmount.fromRawAmount(HOT, "2000000000000000000"),
CurrencyAmount.fromRawAmount(NOT, "1000000000000000000")
);
Static Methods
getAddress
getAddress(tokenA: Token, tokenB: Token): string
Computes the pair address for the passed Tokens. See Pair Addresses.
Properties
liquidityToken
liquidityToken: Token;
A Token representing the liquidity token for the pair. See Pair (ERC-20).
token0
token0: Token;
See Token0.
token1
token1: Token;
See Token1.
reserve0
reserve0: CurrencyAmount;
The reserve of token0.
reserve1
reserve1: CurrencyAmount;
The reserve of token1.
Methods
reserveOf
reserveOf(token: Token): CurrencyAmount
Returns reserve0 or reserve1, depending on whether token0 or token1 is passed in.
getOutputAmount
getOutputAmount(inputAmount: CurrencyAmount): [CurrencyAmount, 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: CurrencyAmount): [CurrencyAmount, 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: CurrencyAmount, tokenAmountA: CurrencyAmount, tokenAmountB: CurrencyAmount): CurrencyAmount
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
getLiquidityValue(
token: Token,
totalSupply: CurrencyAmount,
liquidity: CurrencyAmount,
feeOn: boolean = false,
kLast?: BigintIsh
): CurrencyAmount
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.