# Crash Eth Oracle On Any LogicCallEvent

Eth oracle's LogicCallExecutedEvent::from_log is unimplemented!(), so any LogicCall event panics the oracle and freezes attestations.

- Payout: Audit contest
- Severity: medium
- Program: Althea Gravity Bridge
- Found by: nascent
- Disclosed: 2021-08-19
- Write-up quality: 6/10
- Original: https://github.com/code-423n4/2021-08-gravitybridge-findings/issues/11
- Library page: https://bugbountylibrary.com/r/c4%3A2021-08-gravitybridge%3AM-02
- Tags: area:web3 domain:web3 impact:dos kind:contest platform:code4rena sev:medium tech:rust technique:source-review vuln:dos

**Target:** eth_oracle_main_loop / check_for_events event parsing
**Root cause:** LogicCallExecutedEvent::from_log is a stub calling unimplemented!(), so parsing any LogicCall event panics the oracle loop instead of returning an error.
**Steps:**
1. Observe eth_oracle_main_loop calls get_last_checked_block then check_for_events with LOGIC_CALL_EVENT_SIG
2. Note the match arm calls LogicCallExecutedEvent::from_log(&event)
3. Read from_log: body is `unimplemented!()`
4. Emit any LogicCallExecutedEvent on the gravity contract to trigger the panic path
5. Oracle loop panics; attestations freeze until patched
**How found:** Code reading of the oracle event loop traced the LOGIC_CALL_EVENT_SIG handling into LogicCallExecutedEvent::from_log and found the unimplemented!() stub.
**Exploitation:** Any LogicCallExecutedEvent emitted on the gravity contract reaches from_log and panics the oracle process, halting attestation processing.
**Insight:** Grep oracle/relayer event decoders for unimplemented!(), todo!(), and panic!() stubs on event-signature branches; any on-chain event matching that signature becomes a remote crash trigger.

