Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Pool yield is not computed anywhere

オープン
#285 コメント 4 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 3 日以内に返信

@deslawson がすでに取り組んでいます。

2026年10月16日 から。

  • #317 @deslawson による — オープン
  • #477 @sparkysolutions10-pixel による — マージされずにクローズ

評価

この issue はまだ評価されていません。

説明

area:pricing difficulty:intermediate epic:analytics help wanted points:150 Stellar Wave
Background

An AMM pool earns its providers fees proportional to volume against reserves. Lens already stores both. Nothing multiplies them, so "what does providing liquidity on Stellar pay" has no public answer.

What to build
  • Fee APR per pool from realised volume over a window and the pool's own fee rate, annualised, with the window stated.
  • GET /yield listing pools by APR, with volume, reserves and fee rate shown so the figure can be checked.
  • An APR from a window with gaps is marked as covering an incomplete period.
Acceptance criteria
  • Fee APR per pool, with the inputs visible in the response
  • Windows of 24h, 7d and 30d
  • An incomplete window is marked, never silently annualised
  • A test pins the annualisation arithmetic

Drips Wave · Complexity: Intermediate · 150 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日 6時間
マージ済み PR(30日)
144

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Divinity-Labs/Lens のほかの issue

Divinity-Labs/Lens の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。