Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0
Why this matters
src/lib/api/streams.ts fetchIncomingStreams() powers the Incoming Streams page that feeds the withdraw flow: it iterates getStreamsEndpointCandidates(), skips on 404 to try the next candidate, accepts both array and {data:[]} payload shapes, and maps each via mapBackendStream (token-label resolution, toTokenAmount stroop scaling, status). With a mocked fetch this is fully testable, yet nothing covers the 404-then-succeed fallback or the status/scale mapping.
Acceptance criteria
Files to touch
frontend/src/lib/api/streams.ts
Out of scope
- _shared.ts helpers already covered
- Live backend integration
Why this matters
src/lib/api/streams.ts fetchIncomingStreams() powers the Incoming Streams page that feeds the withdraw flow: it iterates getStreamsEndpointCandidates(), skips on 404 to try the next candidate, accepts both array and {data:[]} payload shapes, and maps each via mapBackendStream (token-label resolution, toTokenAmount stroop scaling, status). With a mocked fetch this is fully testable, yet nothing covers the 404-then-succeed fallback or the status/scale mapping.
Acceptance criteria
Files to touch
frontend/src/lib/api/streams.tsOut of scope