Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Pool yield is not computed anywhere

Aperta
#285 4 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 3 giorni

@deslawson ci sta già lavorando.

Dal 16/10/2026.

  • #317 di @deslawson — aperta
  • #477 di @sparkysolutions10-pixel — chiusa senza merge

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

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

Lingua principale
TypeScript
Stelle
4
Fork
71
Merge medio
3g 6h
PR unite (30g)
144

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Divinity-Labs/Lens

Tutte le issue di Divinity-Labs/Lens

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.