# VaultTracker

## constructor

```solidity
  function constructor(
    uint256 m,
    address c,
    address s
  ) public
```

### Parameters:

| Name | Type    | Description                                                  |
| ---- | ------- | ------------------------------------------------------------ |
| `m`  | uint256 | Maturity timestamp of the new market                         |
| `c`  | address | cToken address associated with underlying for the new market |
| `s`  | address | address of the deployed swivel contract                      |

## addNotional

```solidity
  function addNotional(
    address o,
    uint256 a
  ) external returns (bool)
```

Adds notional to a given address

### Parameters:

| Name | Type    | Description               |
| ---- | ------- | ------------------------- |
| `o`  | address | Address that owns a vault |
| `a`  | uint256 | Amount of notional added  |

## removeNotional

```solidity
  function removeNotional(
    address o,
    uint256 a
  ) external returns (bool)
```

Removes notional from a given address

### Parameters:

| Name | Type    | Description                  |
| ---- | ------- | ---------------------------- |
| `o`  | address | Address that owns a vault    |
| `a`  | uint256 | Amount of notional to remove |

## redeemInterest

```solidity
  function redeemInterest(
    address o
  ) external returns (uint256)
```

Redeem's interest accrued by a given address

### Parameters:

| Name | Type    | Description               |
| ---- | ------- | ------------------------- |
| `o`  | address | Address that owns a vault |

## matureVault

```solidity
  function matureVault(
    uint256 c
  ) external returns (bool)
```

Matures the vault

### Parameters:

| Name | Type    | Description                      |
| ---- | ------- | -------------------------------- |
| `c`  | uint256 | The current cToken exchange rate |

## transferNotionalFrom

```solidity
  function transferNotionalFrom(
    address f,
    address t,
    uint256 a
  ) external returns (bool)
```

Transfers notional from one address to another

### Parameters:

| Name | Type    | Description             |
| ---- | ------- | ----------------------- |
| `f`  | address | Owner of the amount     |
| `t`  | address | Recipient of the amount |
| `a`  | uint256 | Amount to transfer      |

## transferNotionalFee

```solidity
  function transferNotionalFee(
    address f,
    uint256 a
  ) external returns (bool)
```

Transfers, in notional, a fee payment to the Swivel contract without recalculating marginal interest for the owner

### Parameters:

| Name | Type    | Description         |
| ---- | ------- | ------------------- |
| `f`  | address | Owner of the amount |
| `a`  | uint256 | Amount to transfer  |

## balancesOf

```solidity
  function balancesOf(
    address o
  ) external returns (uint256, uint256)
```

Returns both relevant balances for a given user's vault

### Parameters:

| Name | Type    | Description               |
| ---- | ------- | ------------------------- |
| `o`  | address | Address that owns a vault |
