# Full API reference

## Cozy Tokens

### CEther

### CErc20

### Shared

## Comptroller

The protocol's Comptroller is an instance of the `ComptrollerStatic` contract, which has the following interface.

## Chainlink Reporter

The `ChainlinkReporter` contract is the protocol's price oracle.

### Error Handling

#### Error Codes

| Code | Name           | Description              |
| ---- | -------------- | ------------------------ |
| 0    | `NO_ERROR`     | Call succeeded           |
| 1    | `UNAUTHORIZED` | Caller is not authorized |

#### Failure Info

| Code | Name                                |
| ---- | ----------------------------------- |
| 0    | `ACCEPT_ADMIN_PENDING_ADMIN_CHECK`  |
| 1    | `ADD_OR_UPDATE_ORACLES_OWNER_CHECK` |
| 2    | `SET_PENDING_ADMIN_OWNER_CHECK`     |

## Protection Market Factory

### Error Handling

#### Error Codes

| Code | Name                        | Description                           |
| ---- | --------------------------- | ------------------------------------- |
| 0    | `NO_ERROR`                  | Call succeeded                        |
| 1    | `UNAUTHORIZED`              | Caller is not authorized              |
| 2    | `INTEREST_RATE_MODEL_ERROR` | Invalid interest rate model specified |

#### Failure Info

| Code | Name                                             |
| ---- | ------------------------------------------------ |
| 0    | `SET_DEFAULT_INTEREST_RATE_MODEL_OWNER_CHECK`    |
| 1    | `SET_DEFAULT_INTEREST_RATE_MODEL_VALIDITY_CHECK` |
