Skip to main content
Version: 2.0.0

Fraction

constructor(numerator: BigintIsh, denominator: BigintIsh = ONE)

The base class which all subsequent fraction classes extend. Not meant to be used directly.

Properties​

numerator​

numerator: JSBI

denominator​

denominator: JSBI

quotient​

quotient: JSBI

Performs floor division.

Methods​

invert​

invert(): Fraction

add​

add(other: Fraction | BigintIsh): Fraction

subtract​

subtract(other: Fraction | BigintIsh): Fraction

multiply​

multiply(other: Fraction | BigintIsh): Fraction

divide​

divide(other: Fraction | BigintIsh): Fraction

toSignificant​

toSignificant(
significantDigits: number,
format: object = { groupSeparator: '' },
rounding: Rounding = Rounding.ROUND_HALF_UP
): string

Formats a fraction to the specified number of significant digits.

toFixed​

toFixed(
decimalPlaces: number,
format: object = { groupSeparator: '' },
rounding: Rounding = Rounding.ROUND_HALF_UP
): string

Formats a fraction to the specified number of decimal places.

Percent

Responsible for formatting percentages (10% instead of 0.1).

Example​

import { Percent } from '@uniswap/sdk'

const percent = new Percent('60', '100')
console.log(percent.toSignificant(2)) // 60

toSignificant​

See toSignificant.

toFixed​

See toFixed.

TokenAmount

constructor(token: Token, amount: BigintIsh)

Responsible for formatting token amounts with specific decimal places.

Example​

import { Token, TokenAmount } from '@uniswap/sdk'

const FRIED = new Token(ChainId.MAINNET, '0xfa1aFe1000000000000000000000000000000000', 18, 'FRIED', 'Beans')

const tokenAmount = new TokenAmount(FRIED, '3000000000000000000')
console.log(tokenAmount.toExact()) // 3

Properties​

token​

token: Token

raw​

raw: JSBI

Returns the full token amount, unadjusted for decimals.

Methods​

add​

add(other: TokenAmount): TokenAmount

subtract​

subtract(other: TokenAmount): TokenAmount

toSignificant​

See toSignificant.

toFixed​

See toFixed.

toExact​

toExact(format: object = { groupSeparator: '' }): string

Price

constructor(baseToken: Token, quoteToken: Token, denominator: BigintIsh, numerator: BigintIsh)

Responsible for denominating the relative price between two tokens. Denominator and numerator must be unadjusted for decimals.

Example​

import { ChainId, WETH as WETHs, Token, Price } from '@uniswap/sdk'

const WETH = WETHs[ChainId.MAINNET]
const ABC = new Token(ChainId.MAINNET, '0xabc0000000000000000000000000000000000000', 18, 'ABC')

const price = new Price(WETH, ABC, '1000000000000000000', '123000000000000000000')
console.log(price.toSignificant(3)) // 123

This example shows theΒ ETH/XYZ price, where ETH is the base token, and XYZ is the quote token. The price is constructed from an amount of XYZ (the numerator) / an amount of WETH (the denominator).

Static Methods​

fromRoute​

fromRoute(route: Route): Price

Properties​

baseToken​

baseToken: Token

quoteToken​

quoteToken: Token

scalar​

scalar: Fraction

Used to adjust the price for the decimals of the base and quote tokens.

raw​

raw: Fraction

Returns the raw price, unadjusted for decimals.

adjusted​

adjusted: Fraction

Returns the price, adjusted for decimals.

Methods​

invert​

invert(): Price

multiply​

multiply(other: Price): Price

quote​

quote(tokenAmount: TokenAmount): TokenAmount

Given an asset amount, returns an equivalent value of the other asset, according to the current price.

toSignificant​

See toSignificant.

toFixed​

See toFixed.