> For the complete documentation index, see [llms.txt](https://docs.native.org/old/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.native.org/old/native-v1/smart-contracts/core/nativepoolfactory.md).

# NativePoolFactory

## Functions <a href="#functions" id="functions"></a>

### checkPoolCreator

```solidity
function checkPoolCreator(
    address _poolcreator
) public view returns (bool)
```

Check if a given address is allowed to create pool

&#x20;**Parameters:**

| Name               | Type    | Description          |
| ------------------ | ------- | -------------------- |
| **`_poolcreator`** | address | The address to check |

#### addPoolCreator

```solidity
function addPoolCreator(
    address _poolcreator
) external {
```

Add a new address to be allowed to create pool

&#x20;**Parameters:**

| Name               | Type    | Description        |
| ------------------ | ------- | ------------------ |
| **`_poolcreator`** | address | The address to add |

### removePoolCreator

```solidity
function removePoolCreator(
    address _poolcreator
) external {
```

Remove an address's right to create pool

&#x20;**Parameters:**

<table><thead><tr><th width="417.3333333333333">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><strong><code>_poolcreator</code></strong></td><td>address</td><td>The address to remove</td></tr></tbody></table>

### createNewPool

```solidity
function createNewPool(
    address treasuryAddress,
    address poolOwnerAddress,
    address signerAddress,
    address pricingModelRegistry,
    uint256[] memory fees,
    address[] memory tokenAs,
    address[] memory tokenBs,
    uint256[] memory pricingModelIds
) external returns (IPool pool)
```

Create a new Native pool with initial parameters, returns the pool created

Must be called by pool creators. registry must be set for factory before creating any pools

| Name                  | Type    | Description         |
| --------------------- | ------- | ------------------- |
| **`treasuryAddress`** | address | Treasury that holds |
