Key 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 compliant token contracts (on Hub or Spokes) that wrap the native $M. They must implement the following
wrap
andunwrap
for Portal interaction.wrap(address recipient, uint256 amount) external returns (uint240 wrapped) unwrap(address recipient, uint256 amount) external returns (uint240 unwrapped)
-
HubPortal
(Ethereum):- Manages locking/releasing of native $M.
- Handles unwrap/wrap logic for extensions on the Hub.
- Initiates/receives Wormhole messages for transfers.
- Propagates metadata (Index, Registrar values) to Spokes.
- Inherits from Wormhole's
NttManager
.
-
SpokePortal
(Spoke Chains):- Manages minting/burning of the Spoke chain's $M representation.
- Handles unwrap/wrap logic for extensions on the Spoke.
- Initiates/receives Wormhole messages for transfers.
- Receives and applies metadata from the Hub.
- Inherits from Wormhole's
NttManager
.
-
Wormhole NTT Framework: The underlying technology used for cross-chain communication. M Portals utilize its
NttManager
contract as a base, extending its functionality for $M-specific logic and metadata propagation. -
Wormhole Transceiver: A Wormhole contract deployed on each chain, part of the NTT framework, responsible for the low-level sending and receiving of Wormhole messages used by the
NttManager
. -
Wormhole Core / Guardians / Relayers: The fundamental Wormhole infrastructure that observes, validates (Guardians creating VAAs), and delivers messages across chains. These are largely abstracted away by the NTT framework implementation used by the Portals.