Smart Contracts

Compiler Version

  • Solidity 0.8.30+commit.73712a01

Contract List

IndexVault.sol

  • Custody contract for all index constituent assets

  • Holds and rebalances underlying tokens

IndexRouter.sol

  • Manages mint/redeem logic for index tokens

  • Routes deposits/withdrawals and interacts with DEX aggregators

AssetManager.sol

  • Executes token swaps during index entry/exit

  • Integrates with Uniswap v3 (Base testnet deployment)

TestUSDC.sol

  • ERC-20 mock stablecoin (18 decimals)

  • Controlled minting for user testing

IndexToken.sol

  • ERC-20 token representing user ownership of index shares (IRT-Core6, IRT-Core10)

  • Minted on entry, burned on exit

Detailed contract structure, deployment scripts, and architecture diagrams will be made available in the upcoming GitHub repository to support developer reviews and external contributions.

Entry Flow (Minting)

  1. User deposits test USDC

  2. IndexRouter validates allocation logic and calls AssetManager

  3. AssetManager performs swaps for index assets via Uniswap v3

  4. IndexVault receives assets

  5. IndexToken is minted to user wallet

Exit Flow (Redemption)

  1. User redeems index token

  2. IndexRouter calculates pro-rata distribution

  3. IndexVault sends assets to AssetManager

  4. Assets are swapped back to test USDC

  5. USDC is returned to user

Oracle Integration

  • Price feeds sourced from Chainlink testnet oracles

  • Used for NAV, slippage tolerance, and index balancing

  • Oracle update frequency monitored for latency or failure

Admin Functions (Testnet Only)

  • Pause/unpause contracts for emergency testing

  • Adjustable slippage thresholds for simulation purposes

  • Faucet minting for TestUSDC and $OLTA

All contracts are modular, upgrade-ready, and security-restricted for testnet. Ownership is managed by a testnet Safe (multi-sig).

Last updated