Git Source
Inherits: CrossChainTellerBase
Base contract for the MultiChainTellers, We've noticed that many bridge options are L1 -> L2 only, which are quite simple IE Optimism Messenger While others like LZ that can contact many bridges, contain lots of additional complexity to manage the configuration for these chains To keep this separated we are using this MultiChain syntax for the > 2 chain messaging while only CrossChain for 2 chain messengers like OP
State Variables
selectorToChains
Copy mapping ( uint32 => Chain) public selectorToChains;
Functions
constructor
Copy constructor ( address _owner , address _vault , address _accountant ) CrossChainTellerBase (_owner, _vault, _accountant);
addChain
adds an acceptable chain to bridge to
Callable by OWNER_ROLE.
Copy function addChain (
uint32 chainSelector ,
bool allowMessagesFrom ,
bool allowMessagesTo ,
address targetTeller ,
uint64 messageGasLimit ,
uint64 messageGasMin
)
external
requiresAuth ;
Parameters
stopMessagesFromChain
block messages from a particular chain
Callable by OWNER_ROLE.
Copy function stopMessagesFromChain ( uint32 chainSelector) external requiresAuth ;
Parameters
allowMessagesFromChain
allow messages from a particular chain
Callable by OWNER_ROLE.
Copy function allowMessagesFromChain ( uint32 chainSelector , address targetTeller) external requiresAuth ;
Parameters
removeChain
Remove a chain from the teller.
Callable by OWNER_ROLE.
Callable by OWNER_ROLE.
Copy function removeChain ( uint32 chainSelector) external requiresAuth ;
allowMessagesToChain
Allow messages to a chain.
Callable by OWNER_ROLE.
Copy function allowMessagesToChain (
uint32 chainSelector ,
address targetTeller ,
uint64 messageGasLimit
)
external
requiresAuth ;
stopMessagesToChain
Stop messages to a chain.
Callable by OWNER_ROLE.
Copy function stopMessagesToChain ( uint32 chainSelector) external requiresAuth ;
setChainGasLimit
Set the gas limit for messages to a chain.
Callable by OWNER_ROLE.
Copy function setChainGasLimit ( uint32 chainSelector , uint64 messageGasLimit) external requiresAuth ;
_beforeBridge
override beforeBridge to check Chain struct
Copy function _beforeBridge ( BridgeData calldata data) internal override ;
Parameters
Events
ChainAdded
Copy event ChainAdded (
uint256 chainSelector,
bool allowMessagesFrom,
bool allowMessagesTo,
address targetTeller,
uint64 messageGasLimit,
uint64 messageGasMin
);
ChainRemoved
Copy event ChainRemoved ( uint256 chainSelector);
ChainAllowMessagesFrom
Copy event ChainAllowMessagesFrom ( uint256 chainSelector, address targetTeller);
ChainAllowMessagesTo
Copy event ChainAllowMessagesTo ( uint256 chainSelector, address targetTeller);
ChainStopMessagesFrom
Copy event ChainStopMessagesFrom ( uint256 chainSelector);
ChainStopMessagesTo
Copy event ChainStopMessagesTo ( uint256 chainSelector);
ChainSetGasLimit
Copy event ChainSetGasLimit ( uint256 chainSelector, uint64 messageGasLimit);