{"network":"Base","chainId":8453,"contractName":"ClearedOracle","description":"On-chain oracle for Cleared attestation status. Smart contracts query isCleared(origin) before interacting with off-chain APIs.","functions":[{"name":"isCleared","signature":"isCleared(string origin) → (bool pass, uint256 score, uint256 lastChecked)","description":"Returns attestation status for an origin. Score is 0-100. lastChecked is a unix timestamp."},{"name":"getCertifiedHash","signature":"getCertifiedHash(string origin) → (bytes32 hash, uint256 issuedAt, uint256 expiresAt)","description":"Returns the most recent certified hash for an origin."},{"name":"getCanaryStatus","signature":"getCanaryStatus(string origin) → (uint8 status, uint256 consecutiveFailures)","description":"Returns canary status: 0=healthy, 1=warning, 2=triggered, 3=recovered."}],"pricing":{"queryFee":"0.001 $AEO per on-chain query","updateFee":"Gas + 0.01 $AEO per state update"},"disclosure":"Oracle state is updated by the Cleared relayer network. Updates are not real-time — they reflect the most recent check cycle. Do not use for time-critical decisions without an off-chain verification.","interface":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IClearedOracle {\n    struct AttestationResult {\n        bool pass;\n        uint256 score;\n        uint256 lastChecked;\n    }\n\n    struct CertifiedHashResult {\n        bytes32 hash;\n        uint256 issuedAt;\n        uint256 expiresAt;\n    }\n\n    enum CanaryStatus { Healthy, Warning, Triggered, Recovered }\n\n    function isCleared(string calldata origin)\n        external view returns (AttestationResult memory);\n\n    function getCertifiedHash(string calldata origin)\n        external view returns (CertifiedHashResult memory);\n\n    function getCanaryStatus(string calldata origin)\n        external view returns (CanaryStatus status, uint256 consecutiveFailures);\n\n    function updateAttestation(\n        string calldata origin,\n        bool pass,\n        uint256 score,\n        bytes32 certifiedHash\n    ) external;\n\n    event AttestationUpdated(\n        string indexed origin,\n        bool pass,\n        uint256 score,\n        bytes32 certifiedHash,\n        uint256 timestamp\n    );\n\n    event CanaryTriggered(string indexed origin, uint256 consecutiveFailures);\n    event CanaryRecovered(string indexed origin);\n}\n","status":"specification","note":"The ClearedOracle contract is in specification phase. The Solidity interface is finalized. Deployment to Base mainnet is pending $AEO token launch."}