open-index/open-npm huggingface dataset:
npm package: @moraswap/universal-router-sdk
Description: sdk for integrating with the Universal Router contracts
Latest version: 1.4.7

# universal-router-sdk
This SDK facilitates interactions with the contracts in [Universal Router](https://github.com/moraswap/universal-router)

## Usage
Install latest version of universal-router-sdk. Then import the corresponding Trade class and Data object for each protocol you'd like to interact with.

// Use the raw calldata and value returned to call into Universal Swap Router contracts
// Trades will happen in the order that they are handed in
const { calldata, value } = SwapRouter.swapCallParameters([looksRareTrades, seaportTrades])
```

### Trading ERC20s on Moraswap
warning: `swapERC20CallParameters()` to be deprecated in favor of `swapCallParameters()`
```typescript
import { TradeType } from '@moraswap/sdk-core'
import { Trade as V2TradeSDK } from '@moraswap/v2-sdk'
import { Trade as V3TradeSDK } from '@moraswap/v3-sdk'
import { MixedRouteTrade, MixedRouteSDK, Trade as RouterTrade } from '@moraswap/router-sdk'

const options = { slippageTolerance, recipient }
const routerTrade = new MoraswapTrade(
  new RouterTrade({ v2Routes, v3Routes, mixedRoutes, tradeType: TradeType.EXACT_INPUT },
  options
)
// Use the raw calldata and value returned to call into Universal Swap Router contracts
const { calldata, value } = SwapRouter.swapCallParameters(routerTrade)
```

## Running this package
Make sure you are running `node v16`
Install dependencies and run typescript unit tests
```bash
yarn install
yarn test:hardhat
```

Run forge integration tests
```bash
yarn symlink # must install git submodules
forge install
yarn test:forge
```