Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

@quickswap-defi/sdk

Uniswap V2-fork trading SDK for QuickSwap — Token, Pair, Route, Trade entities, fraction-based pricing math, on-chain reserve fetcher, and router calldata helpers.

Part of the QuickSwap-sdk monorepo.

Install

pnpm add @quickswap-defi/sdk @quickswap-defi/protocol-core
pnpm add @ethersproject/address @ethersproject/contracts @ethersproject/providers \
         @ethersproject/networks @ethersproject/solidity

ethers v5 packages are peer dependencies.

Quickstart

import {
  ChainId,
  Token,
  Fetcher,
  Route,
  Trade,
  TokenAmount,
  TradeType,
  Percent,
} from '@quickswap-defi/sdk'

const USDC = new Token(ChainId.MATIC, '0x2791...', 6, 'USDC', 'USD Coin')
const WMATIC = new Token(ChainId.MATIC, '0x0d50...', 18, 'WMATIC', 'Wrapped Matic')

const pair = await Fetcher.fetchPairData(USDC, WMATIC, provider)
const route = new Route([pair], WMATIC)
const trade = new Trade(route, new TokenAmount(WMATIC, '1000000000000000000'), TradeType.EXACT_INPUT)

const slippage = new Percent('50', '10000') // 0.5%
const minOut = trade.minimumAmountOut(slippage)

Public API

  • EntitiesToken, Currency, Pair, Route, Trade
  • FractionsFraction, Percent, Price, CurrencyAmount, TokenAmount
  • ConstantsChainId, TradeType, Rounding, FACTORY_ADDRESS, INIT_CODE_HASH, MINIMUM_LIQUIDITY, JSBI
  • Fetcher — on-chain reserve reads via ethers provider
  • Router — swap calldata builders
  • Errors — typed error classes for invariant violations

Dependencies

  • @quickswap-defi/protocol-core — sibling, chain registry and protocol metadata.
  • jsbi, big.js, decimal.js-light, tiny-invariant, tiny-warning, toformat.
  • @ethersproject/* v5 — peer dependencies.

Status

Published with provenance.

Documentation

License

MIT.