Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0
Why this matters
stream.controller.ts:73-74 calls BigInt(ratePerSecond) and BigInt(depositedAmount) BEFORE any validation guard. BigInt('abc') throws SyntaxError and BigInt(undefined) throws TypeError, but the catch only maps RangeError to 400 - every other throw falls through to the generic 500. So a malformed/missing numeric field yields 500 rather than 400.
Acceptance criteria
Files to touch
backend/src/controllers/stream.controller.ts
Out of scope
- Stellar address format validation (tracked separately)
Why this matters
stream.controller.ts:73-74 calls BigInt(ratePerSecond) and BigInt(depositedAmount) BEFORE any validation guard. BigInt('abc') throws SyntaxError and BigInt(undefined) throws TypeError, but the catch only maps RangeError to 400 - every other throw falls through to the generic 500. So a malformed/missing numeric field yields 500 rather than 400.
Acceptance criteria
Files to touch
backend/src/controllers/stream.controller.tsOut of scope