Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
backend/src/services/claimable.service.ts has two small cleanups:
clearCache() is an empty method with a comment saying cache is handled by redis/MemoryCache — it does nothing but is publicly exported on the service, which is misleading to callers expecting it to clear cached claimable values.
- On a cache hit the method returns
{ ...cachedEntry, cached: true, cachedAt: metadata?.createdAt } as any. The cachedAt field isn't declared on ClaimableAmountResult, and the as any defeats type-checking on the return shape.
Acceptance criteria
Files to touch
backend/src/services/claimable.service.ts
Out of scope
Telegram: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
backend/src/services/claimable.service.tshas two small cleanups:clearCache()is an empty method with a comment saying cache is handled by redis/MemoryCache — it does nothing but is publicly exported on the service, which is misleading to callers expecting it to clear cached claimable values.{ ...cachedEntry, cached: true, cachedAt: metadata?.createdAt } as any. ThecachedAtfield isn't declared onClaimableAmountResult, and theas anydefeats type-checking on the return shape.Acceptance criteria
clearCache()(delete matching keys viacache.del) or remove the method and its referencescachedAt?: stringtoClaimableAmountResult(or drop the field) and remove theas anycastclaimable.service.test.tsstill passesFiles to touch
backend/src/services/claimable.service.tsOut of scope