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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions