OracleMart LogoOracleMart
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

  1. Market ends
  2. Oracle fetches price from Chainlink
  3. Validate data (recent, within deviation bounds, approved source)
  4. Compare to market condition (above/below/equal)
  5. Submit result to ResolutionEngine

Key Functions

  • getPrice(asset) — read price with correct decimals
  • resolveWithPrice(marketId, asset, condition) — resolve a market using data
  • updatePriceFeed(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