User Story:
As a developer, I want to read all milestones in one call so that the frontend can display the full milestone timeline efficiently.
Acceptance Criteria:
fn get_all_milestones(env: Env) -> Vec<MilestoneData>
- Returns milestones in index order
- No auth required
- Handles campaigns with 1–5 milestones
User Story:
As a developer, I want to read all milestones in one call so that the frontend can display the full milestone timeline efficiently.
Acceptance Criteria:
fn get_all_milestones(env: Env) -> Vec<MilestoneData>