> For the complete documentation index, see [llms.txt](https://docs.rigoblock.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rigoblock.com/readme-2/protocol/proxies/proxy-factory/proxyfactory-docs.md).

# proxyFactory docs

## RigoblockPoolProxyFactory

### implementation

```solidity
address implementation
```

Returns the implementation address for the pool proxies.

#### Return Values

### \_registry

```solidity
address _registry
```

### \_parameters

```solidity
struct IRigoblockPoolProxyFactory.Parameters _parameters
```

### onlyRigoblockDao

```solidity
modifier onlyRigoblockDao()
```

### constructor

```solidity
constructor(address newImplementation, address registry) public
```

### createPool

```solidity
function createPool(string name, string symbol, address baseToken) external returns (address newPoolAddress, bytes32 poolId)
```

Creates a new Rigoblock pool.

#### Parameters

| Name      | Type    | Description                |
| --------- | ------- | -------------------------- |
| name      | string  | String of the name.        |
| symbol    | string  | String of the symbol.      |
| baseToken | address | Address of the base token. |

#### Return Values

| Name           | Type    | Description              |
| -------------- | ------- | ------------------------ |
| newPoolAddress | address | Address of the new pool. |
| poolId         | bytes32 | Id of the new pool.      |

### setImplementation

```solidity
function setImplementation(address newImplementation) external
```

Allows Rigoblock Dao to update factory pool implementation.

#### Parameters

| Name              | Type    | Description                                 |
| ----------------- | ------- | ------------------------------------------- |
| newImplementation | address | Address of the new implementation contract. |

### setRegistry

```solidity
function setRegistry(address newRegistry) external
```

Allows owner to update the registry.

#### Parameters

| Name        | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| newRegistry | address | Address of the new registry. |

### parameters

```solidity
function parameters() external view returns (struct IRigoblockPoolProxyFactory.Parameters)
```

Returns the pool initialization parameters at proxy deploy.

#### Return Values

| Name | Type                                         | Description                   |
| ---- | -------------------------------------------- | ----------------------------- |
| \[0] | struct IRigoblockPoolProxyFactory.Parameters | Tuple of the pool parameters. |

### getRegistry

```solidity
function getRegistry() public view returns (address)
```

Returns the address of the pool registry.

#### Return Values

| Name | Type    | Description              |
| ---- | ------- | ------------------------ |
| \[0] | address | Address of the registry. |

### \_createPool

```solidity
function _createPool(string name, string symbol, address baseToken) internal returns (bytes32 salt, contract RigoblockPoolProxy newProxy)
```

*Creates a pool and routes to eventful.*

#### Parameters

| Name      | Type    | Description                |
| --------- | ------- | -------------------------- |
| name      | string  | String of the name.        |
| symbol    | string  | String of the symbol.      |
| baseToken | address | Address of the base token. |

### \_isContract

```solidity
function _isContract(address target) private view returns (bool)
```

*Returns whether an address is a contract.*

#### Return Values

| Name | Type | Description                   |
| ---- | ---- | ----------------------------- |
| \[0] | bool | Bool target address has code. |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rigoblock.com/readme-2/protocol/proxies/proxy-factory/proxyfactory-docs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
