> For the complete documentation index, see [llms.txt](https://docs.dragonswap.app/dragonswap/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dragonswap.app/dragonswap/resources/developer-resources/smart-contracts/dragonswapv2/smart-router/libraries/dragonswaplibrary.md).

# DragonswapLibrary

### Functions <a href="#functions" id="functions"></a>

#### sortTokens <a href="#sorttokens" id="sorttokens"></a>

```solidity
function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1);
```

#### pairFor <a href="#pairfor" id="pairfor"></a>

```solidity
function pairFor(address factory, address tokenA, address tokenB) internal pure returns (address pair);
```

#### getReserves <a href="#getreserves" id="getreserves"></a>

```solidity
function getReserves(address factory, address tokenA, address tokenB)
    internal
    view
    returns (uint256 reserveA, uint256 reserveB);
```

#### getAmountOut <a href="#getamountout" id="getamountout"></a>

```solidity
function getAmountOut(uint256 amountIn, uint256 reserveIn, uint256 reserveOut)
    internal
    pure
    returns (uint256 amountOut);
```

#### getAmountIn <a href="#getamountin" id="getamountin"></a>

```solidity
function getAmountIn(uint256 amountOut, uint256 reserveIn, uint256 reserveOut)
    internal
    pure
    returns (uint256 amountIn);
```

#### getAmountsIn <a href="#getamountsin" id="getamountsin"></a>

```solidity
function getAmountsIn(address factory, uint256 amountOut, address[] memory path)
    internal
    view
    returns (uint256[] memory amounts);
```
