Impermanent loss is invisible
维护者通常 4 天内回复
@abdulrahmanj383-creator 已经在做这个了。
开始于 2026年10月16日。
评估
这个 Issue 还没有评估数据。
描述
Background
Fee APR alone is a half-truth that has cost liquidity providers real money across every chain. A pool paying 40% while its pair diverges 30% is a loss presented as a yield, and Lens holds the price history needed to say so.
What to build
- Divergence loss per pool over a window, computed from the price history already stored.
- Reported beside the fee APR from L141, never separately — the two numbers are only meaningful together.
- A net figure, clearly labelled as an estimate with its assumptions stated.
Acceptance criteria
- Divergence loss per pool over a window, from stored history
- Always returned alongside fee APR, never alone
- Assumptions stated in the response and the docs
- A test against a hand-computed two-point example
Drips Wave · Complexity: Advanced · 200 points
Repo: Divinity-Labs/Lens. Node + Fastify + Prisma + Postgres. Tests are vitest (npm test), not jest — jest against this repo fails every file and tells you nothing.
?network= is not optional on a new route. Every row carries a network and the indexes lead with it. Read req.network ?? activeNetwork, filter on it, echo it in the response, and declare the parameter in openapi.yaml. tests/openapi.test.ts boots the server and fails if a registered route is missing from the spec.
A number without provenance is not an answer. Every figure this batch adds must carry what it was computed from: which venues, how many samples, how fresh. The point of Lens is that its numbers can be checked.
Never elide a contract id or an issuer. Take addresses from the protocol's own documentation and write them whole. A sibling repo's issue wrote CD2W5LUR…XZ4L and five contributors invented plausible contract ids to fill the gap.
Say when you cannot answer. An asset with no liquidity, a pair with one venue, a window with a gap — each has an honest answer that is not zero and not a 500. Zero is a number people act on.
Required: Before submitting, join the contributor Telegram so your work can be tracked and counted toward the Stellar Wave: https://t.me/+fxHXq8f1SwlkZDBk
- 主要语言
- TypeScript
- 星标
- 4
- 派生
- 71
- 平均合并
- 3 天 22 小时
- 30 天内合并 PR
- 142
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Divinity-Labs/Lens 的其他 Issue
-
Webhook retries have no jitter, so failures synchronise可能已有人在做 @Richard-tobi 于 20 天前认领。 未关闭area:reliability difficulty:easy help wanted points:100 Stellar Wave
难度 2/5 1-3 小时 新手友好度 80/100
Divinity-Labs/Lens#341 · 2 条评论 · 已指派 1 人 ·
维护者通常 4 天内回复
-
[Wave 10 Attribution] Link merged PRs & resolved issues for @sparkysolutions10-pixel on Drips Wave未关闭
难度 1/5 1 小时以内 新手友好度 5/100
Divinity-Labs/Lens#627 ·
维护者通常 4 天内回复
-
enhancement
难度 5/5 一周以上 新手友好度 35/100
Divinity-Labs/Lens#626 ·
维护者通常 4 天内回复
-
enhancement
难度 5/5 一周以上 新手友好度 35/100
Divinity-Labs/Lens#625 ·
维护者通常 4 天内回复
-
area:tests automated live-spec-report
难度 4/5 3-5 天 新手友好度 28/100
Divinity-Labs/Lens#606 · 13 条评论 ·
维护者通常 4 天内回复
查看 Divinity-Labs/Lens 的全部 Issue
相似的 Issue
-
unwrapDatabaseError masks real DB errors with TypeError: Cannot convert object to primitive value未关闭
难度 2/5 1-3 小时 新手友好度 74/100
NEARBuilders/everything-dev#798 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
vercel-labs/durable-harness#53 ·
维护者通常 1 天内回复
-
[Bug]: Redesign tab bars ignore clicks on Linux: hidden chat layers keep window drag regions可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
维护者通常 1 天内回复
-
experiência: a doc manda subir para o Micro do Supabase, mas não diz que exige plano pago nem quanto custa可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭area/docs area/ui enhancement
难度 1/5 1-3 小时 新手友好度 88/100
melgarafael/DeskcommCRM#4098 ·
维护者通常 1 天内回复
-
dependencies platform: ios
难度 1/5 1-3 小时 新手友好度 78/100
software-mansion/react-native-executorch#1617 ·
维护者通常 1 天内回复