# Oracle Troubleshooting Guide ## Common Issues ### Oracle Not Updating **Symptoms:** - Oracle price is stale - No recent updates **Diagnosis:** 1. Check transmitter status 2. Check oracle publisher service 3. Check heartbeat configuration 4. Review logs **Resolution:** 1. Verify transmitter is active 2. Restart oracle publisher if needed 3. Check heartbeat settings 4. Review error logs ### Price Deviation Alerts **Symptoms:** - Price deviation alerts - Unexpected price changes **Diagnosis:** 1. Check data sources 2. Verify aggregation logic 3. Review recent updates 4. Check for anomalies **Resolution:** 1. Verify data source health 2. Review aggregation logic 3. Check for data source issues 4. Adjust deviation threshold if needed ### Transmitter Failures **Symptoms:** - Transmitter unavailable - Update failures **Diagnosis:** 1. Check transmitter status 2. Review network connectivity 3. Check authentication 4. Review logs **Resolution:** 1. Restart transmitter service 2. Verify network connectivity 3. Check authentication credentials 4. Review error logs ## Diagnostic Commands ### Check Oracle State ```bash cast call $AGGREGATOR_ADDRESS "latestRoundData()" --rpc-url $RPC_URL ``` ### Check Transmitter Status ```bash cast call $AGGREGATOR_ADDRESS "isTransmitter(address)" $TRANSMITTER --rpc-url $RPC_URL ``` ### Check Heartbeat ```bash cast call $AGGREGATOR_ADDRESS "heartbeat()" --rpc-url $RPC_URL ``` ### Check Deviation Threshold ```bash cast call $AGGREGATOR_ADDRESS "deviationThreshold()" --rpc-url $RPC_URL ``` ## Log Analysis ### Oracle Publisher Logs ```bash kubectl logs -n besu-network -l app=oracle-publisher --tail=100 ``` ### CCIP Monitor Logs ```bash kubectl logs -n besu-network -l app=ccip-monitor --tail=100 ``` ## Escalation If issues persist: 1. Review incident response procedures 2. Contact on-call engineer 3. Document issue and resolution 4. Update runbooks if needed