Architecture
Overview
MarketFactory (singleton)
│
├── Creates markets (registers in OrderBook via mapping)
├── Manages protocol parameters
└── Admin controls
│
▼
┌──────────────────────────────────────────────────────┐
│ Singleton Contracts (per-market state via mappings) │
│ │
│ OrderBook ←→ BatchAuction (atomic clearing+settle) │
│ │ │ │
│ ▼ ▼ │
│ SegmentTree BatchResult storage │
│ (per-side) (per-batch) │
└──────────────────────────────────────────────────────┘
│ │
▼ ▼
Vault OutcomeToken
(internal escrow) (ERC-1155; future market types)
│ │
▼ ▼
PythResolver ──→ Redemption
│
Pyth Oracle (on-chain)
AIResolver ───→ Redemption (via MarketFactory.setResolved)
│
Flap AI Oracle (on-chain)
ParimutuelFactory
│
├── Creates 2–8 outcome pool markets
├── Tracks tradingCloseTime and resolutionTime separately
└── Coordinates admin / AI / Pyth resolution
│
▼
ParimutuelPoolManager ──→ ParimutuelVault (USDT escrow)
│
▼
ParimutuelRedemption
ParimutuelAIResolver ──→ Flap AI Oracle
ParimutuelPythResolver ──→ Pyth OracleContract Relationships
Contract
Role
Pattern
Design Principles
Access Control Graph
Sequence: Approve → Place Order → Clear (atomic) → Redeem
Last updated