┌─────────────────────────────────────────────────────────┐
│ BASE (Home Chain) │
│ │
│ OmniLaunchFactory ──→ LaunchToken + BondingCurve │
│ CCBuyerV3 ←── LZ _lzReceive() ← remote buys │
│ CrossChainSellerV3 ←── LZ _lzReceive() ← remote sells │
│ AcrossSellHandler ←── LZ lzCompose() ← OFT compose │
│ CrossChainLauncher ←── LZ _lzReceive() ← remote launch │
│ OFTFactory ──→ LZ messages to 6 OFTFactoryRemote│
│ OFTAdapter ←→ OFT lock/unlock (per token) │
│ │
│ Uniswap V3 ← graduation pool + post-grad trading │
│ FeeOnlyVault ← permanent LP lock (no admin, no keys) │
└─────────────┬───────────────────────────────┬─────────────┘
│ LayerZero V2 │ Across Protocol
│ (OApp + OFT) │ (USDC settlement)
▼ ▼
┌──────────────────────────────────────────────────────────┐
│ REMOTE CHAINS (7 EVM + Solana) │
│ │
│ EVM (Ethereum, Arbitrum, Optimism, Polygon, BSC, Avax): │
│ AcrossBuyAdapter → Across USDC deposit → buy Base │
│ NativeBuyAdapter → swap native→USDC → Across → buy │
│ AcrossSellAdapter → OFT bridge + LZ compose → sell │
│ OFTFactoryRemote → receives LZ → CREATE2 OmniOFT │
│ RemoteLauncher → LZ message → deploy on Base │
│ OmniOFT → burn/mint (LZ OFT standard) │
│ │
│ Solana: │
│ CC Buyer Program → LZ message → buy on Base │
│ CC Seller Program → LZ message → sell on Base │
│ OFT Program → SPL token bridging via LZ │
│ Token Launcher → LZ message → launch on Base │
└──────────────────────────────────────────────────────────┘