# ICore

## Functions

### init

```solidity
function init() external
```

### setChi

```solidity
function setChi(
    address token
) external
```

#### Parameters

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| `token` | address |             |

### setZen

```solidity
function setZen(
    address token
) external
```

#### Parameters

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| `token` | address |             |

### allocateZen

```solidity
function allocateZen(
    address to,
    uint256 amount
) external
```

#### Parameters

| Name     | Type    | Description |
| -------- | ------- | ----------- |
| `to`     | address |             |
| `amount` | uint256 |             |

### chi

```solidity
function chi() external returns (contract IChi)
```

### zen

```solidity
function zen() external returns (contract IERC20)
```

## Events

### ChiUpdate

```solidity
event ChiUpdate(
    address _chi
)
```

#### Parameters

| Name          | Type    | Description |
| ------------- | ------- | ----------- |
| `_chi`        | address |             |
| ### ZenUpdate |         |             |

```solidity
event ZenUpdate(
    address _zen
)
```

#### Parameters

| Name   | Type    | Description |
| ------ | ------- | ----------- |
| `_zen` | address |             |

### ZenAllocation

```solidity
event ZenAllocation(
    address _to,
    uint256 _amount
)
```

#### Parameters

| Name      | Type    | Description |
| --------- | ------- | ----------- |
| `_to`     | address |             |
| `_amount` | uint256 |             |
