Skip to content

fix(config): validate numeric env vars — fail at boot, not on a money path - #655

Closed
yggdrasilworld wants to merge 3 commits into
MergeFi:mainfrom
yggdrasilworld:fix/env-int-validation-610
Closed

yggdrasilworld wants to merge 3 commits into
MergeFi:mainfrom
yggdrasilworld:fix/env-int-validation-610

Conversation

@yggdrasilworld

@yggdrasilworld yggdrasilworld commented Oct 14, 2026 •

Copy link
Copy Markdown

What

parseInt returned NaN on garbage input — ESCROW_DEADLINE_SECONDS=90d made resolveDeadline build new Date(NaN) and throw RangeError: cannot convert NaN to BigInt on every escrow fund, after the PENDING row was already saved (a money path).

Fix

envInt() validates at config-load — a bad value is a clear boot-time error, not a mid-transaction crash. Applied to PORT, ESCROW_DEADLINE_SECONDS, and the analytics TTL.

Resolves #610

Payment: Base USDC 0xD40Df5c27cEa7dd78A3c345401995c319589334e

… path

parseInt returned NaN on garbage input — ESCROW_DEADLINE_SECONDS=90d made
resolveDeadline build new Date(NaN) and throw RangeError: cannot convert NaN
to BigInt on every escrow fund, after the PENDING row was already saved.

envInt() validates at config-load — a bad value is a clear boot error, not a
mid-transaction crash. Applied to PORT, ESCROW_DEADLINE_SECONDS, and the
analytics TTL.

Resolves MergeFi#610
@vercel

vercel Bot commented Oct 14, 2026

Copy link
Copy Markdown

@yggdrasilworld is attempting to deploy a commit to the chonilius' projects Team on Vercel.

A member of the Team first needs to authorize it.

yggdrasilworld and others added 2 commits October 18, 2026 21:50
The shared base carried half-written merge artifacts: an orphaned
invokeOnLockedEscrow block in escrow.service.ts, duplicated returns plus
a dead parsePagination in sponsors.controller.ts, and missing
describe/it closers in github-webhooks.service.spec.ts. Aligned each
with the intended form so the branch typechecks and its specs load.
@yggdrasilworld
yggdrasilworld deleted the fix/env-int-validation-610 branch October 19, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

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

2 participants