Key Components
Common Components
- User: The EOA or contract initiating or receiving cross-chain transfers.
- $M Token: The native ERC-20 compliant token contract deployed on Ethereum.
- Wrapped $M / Extensions: ERC-20 wrappers for $M that must implement
wrap
andunwrap
functions. HubPortal
(Ethereum): Manages locking/releasing of native $M and propagates metadata.SpokePortal
(Spoke Chains): Manages minting/burning of the Spoke chain's $M representation and receives metadata.
M Portal (Wormhole) Specific Components
- Wormhole NTT Framework: The underlying technology.
HubPortal
andSpokePortal
inherit from itsNttManager
contract. - Wormhole Transceiver: A Wormhole contract on each chain that
NttManager
uses to send/receive low-level messages. - Wormhole Core / Guardians / Relayers: The fundamental Wormhole infrastructure that validates and delivers messages (VAAs).
MerkleTreeBuilder.sol
: A contract used on the Hub to generate Merkle roots for propagating large datasets (like earner lists) efficiently to non-EVM chains like Solana.
M Portal Lite (Hyperlane) Specific Components
IBridge.sol
: A generic interface that decouples the Portal logic from the underlying bridge technology.HyperlaneBridge.sol
: The implementation ofIBridge
that interacts with the Hyperlane protocol (IMailbox
) to send and receive messages.- Hyperlane Mailbox / Relayers: The core Hyperlane infrastructure for message dispatch, security, and delivery.
- Upgradeable Contracts:
HubPortal
andSpokePortal
are built using the OpenZeppelin Upgrades pattern, allowing for proxy-based upgrades.