# ISousChef









## Methods

### checkpoint

```solidity
function checkpoint() external nonpayable
```






### createBill

```solidity
function createBill(uint256 pid) external nonpayable returns (address strategy)
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| pid | uint256 | undefined |

#### Returns

| Name | Type | Description |
|---|---|---|
| strategy | address | undefined |

### fSushi

```solidity
function fSushi() external view returns (address)
```






#### Returns

| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |

### flashStrategyFactory

```solidity
function flashStrategyFactory() external view returns (address)
```






#### Returns

| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |

### getBill

```solidity
function getBill(uint256 pid) external view returns (address)
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| pid | uint256 | undefined |

#### Returns

| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |

### kitchen

```solidity
function kitchen() external view returns (address)
```






#### Returns

| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |

### lastCheckpoint

```solidity
function lastCheckpoint() external view returns (uint256)
```






#### Returns

| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |

### mintFSushi

```solidity
function mintFSushi(uint256 pid, address to, uint256 amount) external nonpayable
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| pid | uint256 | undefined |
| to | address | undefined |
| amount | uint256 | undefined |

### predictBillAddress

```solidity
function predictBillAddress(uint256 pid) external view returns (address bill)
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| pid | uint256 | undefined |

#### Returns

| Name | Type | Description |
|---|---|---|
| bill | address | undefined |

### restaurant

```solidity
function restaurant() external view returns (address)
```






#### Returns

| Name | Type | Description |
|---|---|---|
| _0 | address | undefined |

### startWeek

```solidity
function startWeek() external view returns (uint256)
```






#### Returns

| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |

### updateKitchen

```solidity
function updateKitchen(address _kitchen) external nonpayable
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| _kitchen | address | undefined |

### updateRestaurant

```solidity
function updateRestaurant(address _restaurant) external nonpayable
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| _restaurant | address | undefined |

### weeklyRewards

```solidity
function weeklyRewards(uint256 week) external view returns (uint256)
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| week | uint256 | undefined |

#### Returns

| Name | Type | Description |
|---|---|---|
| _0 | uint256 | undefined |



## Events

### Checkpoint

```solidity
event Checkpoint()
```






### CreateBill

```solidity
event CreateBill(uint256 indexed pid, address indexed bill)
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| pid `indexed` | uint256 | undefined |
| bill `indexed` | address | undefined |

### UpdateKitchen

```solidity
event UpdateKitchen(address indexed kitchen)
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| kitchen `indexed` | address | undefined |

### UpdateRestaurant

```solidity
event UpdateRestaurant(address indexed restaurant)
```





#### Parameters

| Name | Type | Description |
|---|---|---|
| restaurant `indexed` | address | undefined |



## Errors

### BillCreated

```solidity
error BillCreated()
```






### Forbidden

```solidity
error Forbidden()
```






### InvalidKitchen

```solidity
error InvalidKitchen()
```






### InvalidRestaurant

```solidity
error InvalidRestaurant()
```







