# PlusPool Factory

이 컨트랙트는 PlusPool을 생성하고 각 PlusPool 의 상태를 관리하는 컨트랙트입니다. &#x20;

## Address

* Cypress : [0x01431f2a0d8c25646d1995e9ad345581d523341d](https://scope.klaytn.com/account/0x01431f2a0d8c25646d1995e9ad345581d523341d?tabId=txList)

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

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

## Events

**CreatePool**

```solidity
event CreatePool(address tokenA, address tokenB, address lpToken, uint borrowFactor, uint liquidationFactor, bool borrowableA, bool borrowableB, address poolAddress, uint exid);
```

* PlusPool 생성 시 발생하는 이벤트&#x20;
* Parameters
  * tokenA : LP의 tokenA 주소
  * tokenB : LP의 tokenB 주소
  * lpToken : LP 주소
  * borrowFactor : 활용 자산 이자율
  * liquidationFactor : 자동반환 기준비율
  * borrowableA : tokenA 활용 가능 여부
  * borrowableB : tokenB 활용 가능 여부
  * poolAddress : 생성된 PlusPool 주소
  * exid : PlusPool ID&#x20;

**SetDepositActive**

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

* PlusPool 예치 가능여부 변경시 발생되는 이벤트

**SetWithdrawActive**

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

* PlusPool 출금 가능여부 변경시 발생되는 이벤트

{% endtab %}

{% tab title="Read-Only Functions" %}

#### getPoolCount

* Plus Pool 개수

**getPoolAddressByIndex**

```solidity
function getPoolAddressByIndex(uint idx) public view returns (address) 
```

* Plus Pool 주소 조회
  {% endtab %}
  {% endtabs %}
