Oracle Publishing Model
TODO: Complete On-Chain Data Publishing Documentation
How EigenWatch publishes risk data on-chain as an oracle service.
Required Sections
-
Why On-Chain Oracle?
- Protocols need on-chain access to risk data
- Smart contracts can't call REST APIs
- Trustless verification of data
- Automation of risk-based decisions
-
Publishing Architecture
- Off-chain computation
- On-chain data store (smart contract)
- Publisher infrastructure
- Update triggers & frequency
-
Data Published On-Chain
- Operator risk scores
- Slashing events
- Reputation tiers
- Timestamp of last update
-
Publishing Frequency & Latency
- Update schedule (per-block? per-epoch?)
- Latency from computation → on-chain
- Cost considerations
- Batch publishing strategy
-
Publisher Identity & Permissions
- Who can publish data?
- Key management
- Multi-signer requirements
- Adding/removing publishers
-
Smart Contract Design
- Storage layout
- Update authorization
- Query interface
- Event emission for indexing
-
Cost Model
- Gas costs per update
- Update frequency vs cost tradeoff
- Who pays for updates?
- Optimization strategies (batch updates, Layer 2)
-
Data Staleness & Recency
- How to check if data is fresh
- Handling stale data in contracts
- Fallback mechanisms
- Data availability assumptions
-
Examples
// Pseudocode
interface IRiskOracle {
function getRiskScore(address operator) external view returns (uint8);
function lastUpdate() external view returns (uint256);
function isDataFresh() external view returns (bool);
}
Related
Status: NOT STARTED — Requires oracle contract implementation