Description
The event_manager has a cancel_event function that sets is_canceled = true, but there is no refund logic. Attendees who purchased tickets for a canceled event have no way to get their funds back.
Expected Behavior
When an event is canceled:
- Ticket holders should be able to claim refunds
- Or the organizer should be able to batch-refund all ticket holders
- The refund amount should match the
ticket_price paid
Implementation Options
- Pull model: Add
claim_refund(event_id) — attendee calls to get refund
- Push model: Organizer calls
process_refunds(event_id) to refund all holders
- Track payment token address per event to refund in the correct token
Files
soroban-contract/contracts/event_manager/src/lib.rs
Acceptance Criteria
Description
The
event_managerhas acancel_eventfunction that setsis_canceled = true, but there is no refund logic. Attendees who purchased tickets for a canceled event have no way to get their funds back.Expected Behavior
When an event is canceled:
ticket_pricepaidImplementation Options
claim_refund(event_id)— attendee calls to get refundprocess_refunds(event_id)to refund all holdersFiles
soroban-contract/contracts/event_manager/src/lib.rsAcceptance Criteria