Skip to content

Standardize structured event emission across all contracts #3

Description

@Meshmulla

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

  • A documented event-topic convention exists (with a version field)
  • Core state-changing functions emit standardized events
  • An EVENTS.md catalog lists every event, its topics, and payload
  • Tests assert the expected events are published for key flows

Notes

Coordinate the payload shapes with whoever owns backend indexing so we only define this once.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial Campaign | FWC26Campaign: Official Campaign | FWC26enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions