IMO Architecture Overview
Last updated
Last updated
The IMO system consists of five main interconnected smart contracts that work together to manage the entire lifecycle of an IMO:
Serves as the entry point for the IMO process.
Manages the initial funding period (14 days by default).
Collects investment funds from eligible participants.
Deploys the ERC-7641 token contract after funding ends.
Distributes collected funds:
An initial portion is sent directly to the project wallet.
The remaining portion is transferred to the EscrowVesting
contract.
Controls tier-based investment rules and investor management.
Implements the ERC-7641 standard for revenue-sharing tokens.
Distributes tokens to investors proportionally based on their investment amounts.
Manages two distinct revenue pools:
Claim pool: Accessible exclusively to Gold tier holders.
Burn pool: Available to all token holders.
Handles revenue distribution through snapshot mechanism.
Provides burn functionality for token redemption.
Securely holds the reserved portion of raised funds.
Implements a time-locked, gradual release mechanism.
Releases funds only when authorized by the MilestoneChecker
contract.
Manages vesting schedules and release conditions.
Ensures the project team fulfils commitments before accessing funds.
Receives revenue deposits from the project team.
Forwards revenue to the IMOToken
contract's revenue pools.
Maintains a comprehensive history of revenue deposits.
Supports multiple revenue tokens:
Stablecoins.
Whitelisted ERC-20 tokens.
Project's native tokens.
Provides revenue data to the MilestoneChecker
contract.
Implements predefined revenue milestones.
Monitors project performance metrics.
Authorizes fund releases from the EscrowVesting
contract.
Protects investor interests through milestone-based validations.
Serves as a gatekeeper for releasing escrowed funds.