HyperlaneImplementation
Introduction
This contract is used to allow Superform to send messages via Hyperlane.
Core Concepts
Hyperlane builds upon AMBImplementation
to formalize certain methods specific to the Hyperlane protocol.
Receiving Payloads
The implemented interface can be found in Hyperlane's MessageRecipient interface here.
handle
This function handles an interchain message sent via Hyperlane. Only the Hyperlane Mailbox may call this function.
origin_
uint32 domain id for the chain where the message came from
sender_
address of the message sender on the src chain
body_
bytes content of the message
Retrying Payloads
As mentioned in the AMB Implementations section, messages can be retried by calling retryPayload
with a bytes hash of relevant data. In the case of Hyperlane, the data is the following:
Configuration Setters
There are multiple bridge related configurations to be made on the contract. These configuration functions can only be set by the PROTOCOL_ADMIN.
Other important variables, like the Mailbox and InterchainGasPaymaster, are set in the constructor.
setChainId
This function allows the ProtocolAdmin
to map a Hyperlane chain id to Superform's chain id, the EVM id.
superChainId_
internal chain id used by Superform protocol. block.chainid
casted to uint64
ambChainId_
uint16 chain id allocated to each chain by Hyperlane
setReceiver
This function allows the ProtocolAdmin
to set receiver implementations on a new chain id.
chainId_
uint16 Hyperlane's chain id
authorizedImpl_
address of the Hyperlane message bridge on the respective chain
Last updated