Smart Contracts
AutomatedOracle
Oracle adapter for Chainlink and UMA integration
AutomatedOracle
AutomatedOracle is the bridge between on‑chain markets and off‑chain data. It fetches price data (for example ETH/USD) and submits automated outcomes to ResolutionEngine.
Overview
AutomatedOracle:
- Integrates with Chainlink price feeds
- Supports UMA Optimistic Oracle v3 (for disputed flows)
- Validates freshness and deviation
- Can batch‑resolve multiple markets
How automated resolution works
- Market ends
- Oracle fetches price from Chainlink
- Validate data (recent, within deviation bounds, approved source)
- Compare to market condition (above/below/equal)
- Submit result to
ResolutionEngine
Key Functions
getPrice(asset)— read price with correct decimalsresolveWithPrice(marketId, asset, condition)— resolve a market using dataupdatePriceFeed(asset, feedAddress)— admin updates feed mapping
UMA (Sepolia)
{
Finder: "0xf4C48eDAd256326086AEfbd1A53e1896815F8f13",
OptimisticOracleV3: "0xFd9e2642a170aDD10F53Ee14a93FcF2F31924944"
}On-chain (Sepolia)
{
address: "0xc3D6365491A4d83a87351D0323F90bD9d8bFC1Ac"
}Validation and security
- Freshness window for prices (for example, under 1 hour old)
- Deviation guard (reject extreme outliers)
- Approved feed registry
- Pause and role‑based access control
Performance
- Batch processing for multiple markets ending at the same time
- Target resolution time: under 1 minute after end