## Overview Allow ticket holders (or admin) to cancel a ticket and receive a full refund before the event starts. Work inside `contracts/sandbox/event_ticketing/`. ## Acceptance Criteria - [ ] `cancel_ticket(env, caller, ticket_id)` is implemented - [ ] Only ticket owner or admin may cancel - [ ] Returns `Error::TicketNotFound` if ticket doesn't exist - [ ] Cannot cancel after event start time (returns appropriate error) - [ ] Refunds `ticket_price` from contract to ticket owner - [ ] Sets ticket status to `Cancelled` - [ ] Restores one unit of event capacity - [ ] Emits a cancellation event - [ ] Code compiles with `cargo build`
Overview
Allow ticket holders (or admin) to cancel a ticket and receive a full refund before the event starts. Work inside
contracts/sandbox/event_ticketing/.Acceptance Criteria
cancel_ticket(env, caller, ticket_id)is implementedError::TicketNotFoundif ticket doesn't existticket_pricefrom contract to ticket ownerCancelledcargo build