https://github.com/graphprotocol/rewards-eligibility-oracle
Rewards Eligibility Oracle (REO) for The Graph Protocol. The REO evaluates indexer performance and, in a future update, will manage indexer eligibility for indexing rewards. A convenient visual dashboard has been provided by The Graph Foundation, linked here for easy access 👇. Note, the source of truth is the REO contract, not the dashboard.
https://github.com/graphprotocol/rewards-eligibility-oracle
Last synced: 17 days ago
JSON representation
Rewards Eligibility Oracle (REO) for The Graph Protocol. The REO evaluates indexer performance and, in a future update, will manage indexer eligibility for indexing rewards. A convenient visual dashboard has been provided by The Graph Foundation, linked here for easy access 👇. Note, the source of truth is the REO contract, not the dashboard.
- Host: GitHub
- URL: https://github.com/graphprotocol/rewards-eligibility-oracle
- Owner: graphprotocol
- Created: 2025-06-03T15:24:54.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-07T12:55:05.000Z (about 2 months ago)
- Last Synced: 2026-05-07T14:37:44.215Z (about 2 months ago)
- Language: Python
- Homepage: https://dashboards.thegraph.foundation/reo/
- Size: 277 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: .github/README.md
- Changelog: CHANGELOG.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# CI/CD Pipeline
## Workflows
### CI (`ci.yml`)
- **Code Quality**: Custom ruff script, MyPy, syntax validation
- **Docker Build**: Image build and compose validation
- **Runs on**: PRs and pushes to `main`
### Tests (`tests.yml`)
- **Unit/Integration Tests**: Auto-detects and runs tests when they exist
- **Runs on**: PRs and pushes to `main`
### Security (`security.yml`)
- **Daily Scans**: Dependencies (Safety), code security (Bandit), secrets (TruffleHog), Docker (Trivy)
- **Runs on**: Daily 2 AM UTC, PRs, pushes to `main`
### PR Check (`pr-check.yml`)
- **Basic Validation**: Non-empty PR title/description, merge conflict check
- **Runs on**: PRs to `main`
## Local Development
**Before pushing:**
```bash
# Setup venv
python3 -m venv venv
source venv/bin/activate
# Install requirements
pip install -r requirements.txt
# Use the custom ruff script for linting (includes SQL formatting and aggressive linting)
./scripts/ruff_check_format_assets.sh
```
**Optional checks:**
```bash
mypy src/ --ignore-missing-imports
bandit -r src/
```
## Requirements
- Non-empty PR title/description
- Pass code quality checks (ruff script must not make changes)
- Docker must build successfully
- No merge conflicts
## Tests
Create test files in `tests/` directory - CI will auto-detect and run them.