Skip to content

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 and unwrap 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 and SpokePortal inherit from its NttManager 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 of IBridge 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 and SpokePortal are built using the OpenZeppelin Upgrades pattern, allowing for proxy-based upgrades.