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

Abierto
#610 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@urielit1313-creator ya está trabajando en esto.

Desde el 13/10/2026.

  • #623 de @urielit1313-creator — abierto
  • #655 de @yggdrasilworld — cerrado sin fusionar
  • #689 de @PINYOPATTANAWASANPORN — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
typescript
Área
backend

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
TypeScript
Estrellas
2
Forks
90
Merge medio
31 min
PR fusionados (30 d)
20

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de MergeFi/backend

Todos los issues de MergeFi/backend

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.