Summary
Off-chain consumers (the Swipely backend and dashboard) rely on contract events to track bridge activity, but event emission looks inconsistent across modules. Standardizing event topics and payloads makes indexing far more reliable and future-proof.
What we'd like
- Define a shared convention for event topics and data shapes (naming, versioning, indexed fields)
- Audit each contract that changes state and ensure it emits a well-formed event
- Document the full event catalog so downstream indexers know exactly what to expect
Where to look
soroban/src/event_query.rs — existing event querying
soroban/src/alert_system.rs, escrow_contract.rs, operator_rotation.rs, governance.rs — key state transitions that should emit events
soroban/docs/ — where the event catalog doc should live
Acceptance criteria
Notes
Coordinate the payload shapes with whoever owns backend indexing so we only define this once.
Summary
Off-chain consumers (the Swipely backend and dashboard) rely on contract events to track bridge activity, but event emission looks inconsistent across modules. Standardizing event topics and payloads makes indexing far more reliable and future-proof.
What we'd like
Where to look
soroban/src/event_query.rs— existing event queryingsoroban/src/alert_system.rs,escrow_contract.rs,operator_rotation.rs,governance.rs— key state transitions that should emit eventssoroban/docs/— where the event catalog doc should liveAcceptance criteria
EVENTS.mdcatalog lists every event, its topics, and payloadNotes
Coordinate the payload shapes with whoever owns backend indexing so we only define this once.