# PlusPool Factory

This contract creates PlusPools and manages the state of each PlusPool.

## Events, Read-Only Functions, and State-Changing Functions

{% tabs %}
{% tab title="Events" %}

## Events

**CreatePool**

```solidity
event CreatePool(address token0, address token1, address lpToken, uint borrowFactor, uint liquidationFactor, bool borrowable0, bool borrowable1, address poolAddress, uint exid);
```

* Event to create new PlusPool
* Parameters
  * `token0` : token0 address in LP
  * `token1` : token1 address in LP
  * `lpToken` : address in LP
  * `borrowFactor` : Utilization cost interest rate of utilized assets
  * `liquidationFactor` : automatic return factor
  * `borrowable0` : Whether token0 can be borrowable
  * `borrowable1` : Whether token1 can be borrowable
  * `poolAddress` : PlusPool contract address of this pool
  * `exid` : PlusPool id

**SetDepositActive**

```solidity
event SetDepositActive(address plusPoolAddress, bool b);
```

* Event that occurs when PlusPool deposit availability is changed

**SetWithdrawActive**

```solidity
event SetWithdrawActive(address plusPoolAddress, bool b);
```

* Event that occurs when PlusPool withdrawal availability is changed
  {% endtab %}
  {% endtabs %}
