Component: VaultCrossChainManagerUpgradeable
Description
The VaultCrossChainManagerUpgradeable 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 vault contracts 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 vault contract based on the message's
payloadDataType
.The vault contract can call
deposit
,withdraw
,burnFinish
, andmintFinish
functions to send cross-chain messages to the ledger chain.
Attack surface
Cross-chain--message integrity
This contract can only receive messages from the cross-chain relayer contract and send messages to the ledger chain initiated by the vault contract.