Solidity API
RelayPoolTimelock
Interface for initializing timelock contracts Used to initialize cloned timelock instances with proper access controlinitialize
Parameters
| 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) |
RelayPoolFactory
Factory contract for deploying RelayPool instances with associated timelocks Deploys pools with timelock governance and tracks pools by assetHYPERLANE_MAILBOX
WETH
TIMELOCK_TEMPLATE
MIN_TIMELOCK_DELAY
poolsByAsset
UnauthorizedCaller
Parameters
| Name | Type | Description |
|---|---|---|
| sender | address | The address that attempted the unauthorized action |
InsufficientInitialDeposit
Parameters
| Name | Type | Description |
|---|---|---|
| deposit | uint256 | The insufficient deposit amount provided |
InsufficientTimelockDelay
Parameters
| Name | Type | Description |
|---|---|---|
| delay | uint256 | The insufficient delay provided |
PoolDeployed
Parameters
| 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
Parameters
| 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 |
deployPool
Parameters
| 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 |
Return Values
| Name | Type | Description |
|---|---|---|
| [0] | address | The address of the newly deployed RelayPool |