ESCROW_DEADLINE_SECONDS and PORT are parsed without validation — a typo makes every fund throw RangeError

Aperta
#610 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@urielit1313-creator ci sta già lavorando.

Dal 13/10/2026.

  • #623 di @urielit1313-creator — aperta
  • #655 di @yggdrasilworld — chiusa senza merge
  • #689 di @PINYOPATTANAWASANPORN — aperta

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
typescript
Ambito
backend

Direzione di ricerca

Start in configuration.ts, where ESCROW_DEADLINE_SECONDS and PORT are parsed with parseInt and no NaN check, and read assertRequiredConfig to see how boot-time checks are done. Then trace resolveDeadline to see where the NaN reaches BigInt. Three open pull requests (#623, #655, #689) already target this, so check them before starting. Done means a non-numeric value fails at boot with a clear message.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug good first issue

Problem

configuration.ts does parseInt(process.env.ESCROW_DEADLINE_SECONDS ?? '7776000', 10) and the same for PORT, with no NaN check. With ESCROW_DEADLINE_SECONDS=90d, resolveDeadline builds new Date(NaN), and BigInt(Math.floor(NaN / 1000)) throws RangeError: cannot convert NaN to BigInt on every escrow fund, after the PENDING row was already saved. assertRequiredConfig doesn't check numeric settings.

Suggested fix

Validate numeric env vars at boot (positive integers) and fail fast.

Related: #153

Lingua principale
TypeScript
Stelle
2
Fork
90
Merge medio
31m
PR unite (30g)
20

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

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 MergeFi/backend

Tutte le issue di MergeFi/backend

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.