The contract publishes two Soroban events, defined with
#[contractevent] in lib.rs:
Emitted by issue_ticket and purchase_primary.
| Field | Type | Notes |
|---|---|---|
ticket_id |
u64 |
topic |
event_id |
u64 |
Emitted by check_in.
| Field | Type | Notes |
|---|---|---|
ticket_id |
u64 |
topic |
organizer |
Address |
Indexers and the backend's reconciliation job can subscribe to these
instead of polling get_ticket for every ticket on every block.