Context
EventRepository can record deterministic event identity, and the guidelines require idempotent processing. The current poller and handler registry process events but do not yet skip already-recorded events or record successful processing as part of dispatch.
Scope
Out of Scope
- Creating the indexed events table
- Building domain-specific repositories
- Changing Soroban contract event formats
Acceptance Criteria
Dependencies
Suggested Files or Packages
indexer/common/src/poller/
indexer/common/src/handlers/
indexer/common/src/db/repository.ts
Context
EventRepositorycan record deterministic event identity, and the guidelines require idempotent processing. The current poller and handler registry process events but do not yet skip already-recorded events or record successful processing as part of dispatch.Scope
SorobanEventInputmaps to indexed event identity fieldsEventRepositoryOut of Scope
Acceptance Criteria
bun run indexer:type-checkpassesbun run indexer:testpassesbun run indexer:lintpassesDependencies
Suggested Files or Packages
indexer/common/src/poller/indexer/common/src/handlers/indexer/common/src/db/repository.ts