Skip to main content

Solidity API

RelayPoolTimelock

Interface for initializing timelock contracts Used to initialize cloned timelock instances with proper access control

initialize

Initializes a timelock contract with the specified parameters

Parameters

RelayPoolFactory

Factory contract for deploying RelayPool instances with associated timelocks Deploys pools with timelock governance and tracks pools by asset

HYPERLANE_MAILBOX

The Hyperlane mailbox address used by all deployed pools Immutable to ensure consistency across all pools

WETH

The WETH contract address for native currency pools Used when creating pools that handle native currency

TIMELOCK_TEMPLATE

The timelock template contract to be cloned Each pool gets its own timelock instance cloned from this template

MIN_TIMELOCK_DELAY

The minimum timelock delay enforced for non-owner deployments Owner can deploy with shorter delays for testing/special cases

poolsByAsset

Mapping from asset address to array of deployed pool addresses Multiple pools can exist for the same asset

UnauthorizedCaller

Error when unauthorized address attempts restricted operation

Parameters

InsufficientInitialDeposit

Error when initial deposit is insufficient

Parameters

InsufficientTimelockDelay

Error when timelock delay is below minimum requirement

Parameters

PoolDeployed

Emitted when a new pool is deployed

Parameters

constructor

Initializes the factory with required infrastructure addresses

Parameters

deployPool

Deploys a new RelayPool with associated timelock governance Requires initial deposit to prevent inflation attacks, creates dedicated timelock

Parameters

Return Values