Skip to content

Peg monitoring L3: GraphQL oracle-events alert consumer #302

Description

@spalen0

Context

Layer 3 (consumer side). Reads the Chainlink AnswerUpdated rows indexed by the Envio indexer (issue in chain-events/yearn-indexing-test) and turns anomalies into alerts. Mirrors the existing Envio→Telegram pattern.

Scope

  • New script (mirror protocols/timelock/timelock_alerts.py) querying ENVIO_GRAPHQL_URL for recent rounds per feed.
  • Detect: large round-over-round jumps, missed-heartbeat gaps, and sequence anomalies. Alert via utils/alert.py with per-asset channel routing from the shared registry.
  • De-dupe across runs via the cache (same pattern as timelock_alerts.py).
  • Add to the hourly (or 10-min) profile in automation/jobs.yaml.

Acceptance criteria

  • Given indexed rounds, anomalies produce alerts; reruns do not re-alert on the same round.

References

  • protocols/timelock/timelock_alerts.py, protocols/yearn/alert_large_flows.py (both use ENVIO_GRAPHQL_URL).
  • Indexer issue: chain-events/yearn-indexing-test.
  • Foundation issue (shared registry for routing).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions