Summary
Fees must be calculated consistently and shown with explainable line items so users and maintainers can reconcile outcomes.
This issue is scoped to Utix, a ticketing and event access protocol. Contributors should account for the current stack and integration points: TypeScript, ticket issuance, transfer, redemption, event operations, fraud controls, and organizer dashboards.
Difficulty
High - 200 points
Scope
- Centralize fee calculation logic.
- Expose fee breakdowns before final submission.
- Add rounding and asset precision tests.
Acceptance criteria
- Fee output is deterministic for identical inputs.
- Breakdowns match stored settlement records.
- Tests cover zero fee, minimum fee, multi-line fee, rounding, and invalid asset precision.
Technical notes
- Keep the implementation aligned with the existing repository architecture.
- Include automated tests, fixtures, or a clear validation command.
- Update contributor-facing documentation when behavior, setup, or API contracts change.
- Do not add labels; maintainers will assign labels manually.
Pull request expectations
- Explain design decisions and tradeoffs.
- Include relevant test output, screenshots, logs, or API examples.
- Call out any migration, configuration, or deployment steps.
Summary
Fees must be calculated consistently and shown with explainable line items so users and maintainers can reconcile outcomes.
This issue is scoped to Utix, a ticketing and event access protocol. Contributors should account for the current stack and integration points: TypeScript, ticket issuance, transfer, redemption, event operations, fraud controls, and organizer dashboards.
Difficulty
High - 200 points
Scope
Acceptance criteria
Technical notes
Pull request expectations