Labels: bug, priority:medium
Body:
Problem
Both functions return Ok(()) when amount <= 0 instead of returning an error. A relayer bug producing a zero-amount mint call will pass silently instead of surfacing as a defect.
Proposed fix
Add Error::InvalidAmount and return it for amount <= 0, forcing callers (the relayer) to handle it explicitly.
Acceptance criteria
Labels: bug, priority:medium
Body: