Join our community: https://t.me/+DOylgFv1jyJlNzM0
Description
When the indexer goes down for maintenance or encounters a bug, there is no way to re-process missed events without restarting from scratch. An admin replay endpoint is needed for recovery.
What Needs to Happen
POST /v1/admin/indexer/replay?from_ledger=X — reprocess all contract events from ledger X
POST /v1/admin/indexer/reset — reset IndexerState.lastProcessedLedger to a given value
GET /v1/admin/indexer/status — show last ledger, events processed, current lag
- All endpoints require admin JWT
- Replay is idempotent (deduplicated by txHash)
Files
backend/src/routes/adminRoutes.ts (create)
backend/src/services/indexerService.ts
Acceptance Criteria
Description
When the indexer goes down for maintenance or encounters a bug, there is no way to re-process missed events without restarting from scratch. An admin replay endpoint is needed for recovery.
What Needs to Happen
POST /v1/admin/indexer/replay?from_ledger=X— reprocess all contract events from ledger XPOST /v1/admin/indexer/reset— resetIndexerState.lastProcessedLedgerto a given valueGET /v1/admin/indexer/status— show last ledger, events processed, current lagFiles
backend/src/routes/adminRoutes.ts(create)backend/src/services/indexerService.tsAcceptance Criteria