# UniRef

defines some utilities around interacting with Uniswap

the uniswap pair should be CHI and another asset

## Functions

### constructor

```solidity
function constructor(
    address _core,
    address _pair,
    address _oracle,
    address _backupOracle
) internal
```

UniRef constructor

#### Parameters

| Name            | Type    | Description                |
| --------------- | ------- | -------------------------- |
| `_core`         | address | Chi Core to reference      |
| `_pair`         | address | Uniswap pair to reference  |
| `_oracle`       | address | oracle to reference        |
| `_backupOracle` | address | backup oracle to reference |

### setPair

```solidity
function setPair(
    address newPair
) external
```

set the new pair contract

#### Parameters

| Name      | Type    | Description  |
| --------- | ------- | ------------ |
| `newPair` | address | the new pair |

### getReserves

```solidity
function getReserves() public returns (uint256 chiReserves, uint256 tokenReserves)
```

pair reserves with chi listed first

### \_setupPair

```solidity
function _setupPair(
    address newPair
) internal
```

#### Parameters

| Name      | Type    | Description |
| --------- | ------- | ----------- |
| `newPair` | address |             |

### \_token

```solidity
function _token() internal returns (address)
```
