Component: LedgerCrossChainManagerUpgradeable
Description
The LedgerCrossChainManagerUpgradeable contract is responsible for sending and receiving cross-chain messages between the chain with the ledger and the chain with the vault. It does not handle any business logic; it only calls the appropriate functions in the ledger contract based on the payloadDataType
of the message.
Invariants
Authorization
Only the cross-chain relayer can call the
receiveMessage
function.
Message processing
When receiving a message, it calls the corresponding function in the ledger contract based on the message's
payloadDataType
.The ledger contract can call the
withdraw
,withdraw2Contract
,burn
, andmint
functions to send cross-chain messages to the vault chain.
Attack surface
Cross-chain--message integrity
This contract can only receive messages from the cross-chain relayer contract and send messages to the vault chain initiated by the ledger contract.