Contracts Reference
RelayPoolFactory
Was this page helpful?
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
function initialize(uint256 minDelay, address[] proposers, address[] executors, address admin) external
| Name | Type | Description |
|---|---|---|
| minDelay | uint256 | The minimum delay in seconds for timelock operations |
| proposers | address[] | Array of addresses that can propose operations |
| executors | address[] | Array of addresses that can execute operations |
| admin | address | The admin address (use address(0) for no admin) |
address HYPERLANE_MAILBOX
address WETH
address TIMELOCK_TEMPLATE
uint256 MIN_TIMELOCK_DELAY
mapping(address => address[]) poolsByAsset
error UnauthorizedCaller(address sender)
| Name | Type | Description |
|---|---|---|
| sender | address | The address that attempted the unauthorized action |
error InsufficientInitialDeposit(uint256 deposit)
| Name | Type | Description |
|---|---|---|
| deposit | uint256 | The insufficient deposit amount provided |
error InsufficientTimelockDelay(uint256 delay)
| Name | Type | Description |
|---|---|---|
| delay | uint256 | The insufficient delay provided |
event PoolDeployed(address pool, address creator, address asset, string name, string symbol, address thirdPartyPool, address timelock)
| Name | Type | Description |
|---|---|---|
| pool | address | The address of the deployed RelayPool |
| creator | address | The address that deployed the pool |
| asset | address | The underlying asset of the pool |
| name | string | The name of the pool’s share token |
| symbol | string | The symbol of the pool’s share token |
| thirdPartyPool | address | The yield pool where assets will be deposited |
| timelock | address | The timelock contract governing the pool |
constructor(address hMailbox, address weth, address timelock, uint256 minTimelockDelay) public
| Name | Type | Description |
|---|---|---|
| hMailbox | address | The Hyperlane mailbox contract address |
| weth | address | The WETH contract address |
| timelock | address | The timelock template to be cloned for each pool |
| minTimelockDelay | uint256 | The minimum delay for timelock operations |
function deployPool(contract ERC20 asset, string name, string symbol, address thirdPartyPool, uint256 timelockDelay, uint256 initialDeposit, address curator) public returns (address)
| Name | Type | Description |
|---|---|---|
| asset | contract ERC20 | The ERC20 asset for the pool |
| name | string | The name for the pool’s share token |
| symbol | string | The symbol for the pool’s share token |
| thirdPartyPool | address | The yield pool where idle assets will be deposited |
| timelockDelay | uint256 | The delay in seconds for timelock operations |
| initialDeposit | uint256 | The initial deposit amount (must be at least 1 unit of asset) |
| curator | address | The address that will control the pool through the timelock |
| Name | Type | Description |
|---|---|---|
| [0] | address | The address of the newly deployed RelayPool |
Was this page helpful?