Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0
Why this matters
tests/soroban.service.test.ts only asserts isStale. sorobanService.ts has untested logic that handles funds and chain decoding: submitContractCall error branches, getStreamFromChain/getClaimableFromChain decode + null-on-error fallback, topUpStream's KEEPER_SECRET guard, and its own decodeI128/decodeAddress.
Acceptance criteria
Files to touch
backend/tests/soroban.service.test.ts
backend/src/services/sorobanService.ts
Out of scope
- Live testnet submission tests
Why this matters
tests/soroban.service.test.ts only asserts isStale. sorobanService.ts has untested logic that handles funds and chain decoding: submitContractCall error branches, getStreamFromChain/getClaimableFromChain decode + null-on-error fallback, topUpStream's KEEPER_SECRET guard, and its own decodeI128/decodeAddress.
Acceptance criteria
Files to touch
backend/tests/soroban.service.test.tsbackend/src/services/sorobanService.tsOut of scope