hl-frontends: switch headline from rolling 24h to last complete UTC day - #235
Merged
Conversation
5 tasks
Flotapponnier
added a commit
that referenced
this pull request
Aug 26, 2026
feat(rpc): add Dogecoin bench #235
Flotapponnier
added a commit
that referenced
this pull request
Aug 26, 2026
feat(rpc): dogecoin bench #235 → main (hotfix)
Flotapponnier
added a commit
that referenced
this pull request
Aug 27, 2026
* feat: fee-compare tool — Hyperliquid vs Gains wallet analysis (#2054) * feat: HL vs Gains wallet fee comparison tool * feat: HL vs Gains wallet fee comparison * fix: fetch Gains fee rates live, drop hardcoded 0.12% * fix: fetch Gains fee rates live, drop hardcoded rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * feat: fee-compare per-trade breakdown + live Gains rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings (#2046) * perf: reduce Vercel invocations - live-prices 1s->5s CDN TTL, alternatives+perp ISR 300s * fix: double-counted notional in HL vs Gains comparison (#2048) * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings * fix: double-counted notional in HL vs Gains comparison — use per-side rate * fix: rename Gains.trade -> Gains, HL -> Hyperliquid in UI (#2049) * feat: always show Gains simulated, bold winner, pro design (#2051) * fix: mobile responsive — stack VS card vertically, hide overflow columns (#2052) * fix: symmetric HL/Gains display + winner logic for single-platform wallets (#2053) * fix: mobile table Gains fee column always visible, symmetric panels (#2057) * fix: revalidate hl-cohort + hl-history on aggregate purge (#2069) * fix(app-store-ratings): last_over_time[31m] on reviews panel for 7d+ staleness (#2073) * fix: sitemap 90s timeout — maxDuration=60 + tighten internal deadline to 20s * fix: suppress orphaned buildFullSitemap rejection + guard unhandled getProvider throws * feat(rpc): add Dogecoin bench #235 (Tatum, dRPC, BlockCypher) * fix(dogecoin-rpc): remove em-dash from seo_intro * fix(dogecoin-rpc): em-dash in seo_intro * fix: sitemap aggregate timeout + CDN caching (#2090) (#2092) * feat: shareable wallet URLs + HL fee/funding breakdown - /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load - pushState updates URL after analyze so any comparison is shareable - FeeCompareClient accepts initialVenueA/B/Wallet/Days props - HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown * fix: remove 'No activity found' text from crossSim projection side * fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route) * fix: raise maxDuration to 300s and extend sitemap JS timeout to 240s SIGKILL (signal 9) was killing the function at 60s. The aggregate blob (4.25MB) exceeds Next.js Data Cache's 2MB cap, so unstable_cache never caches it and every request re-fetches from /api/aggregate (FETCH_TIMEOUT_MS = 65s > maxDuration = 60s). SIGKILL discards the buffered response -> 500. - maxDuration 60 -> 300: gives full build time on cold starts - JS timeout 55s -> 240s: allows aggregate fetch + HL-builder Prometheus sweeps to finish before falling back to the static sitemap * feat(zcash): add bench #236 with Tatum zcashd, Tatum Zebra, Blockchair * fix: include pre-window HL positions in carry projection
Flotapponnier
added a commit
that referenced
this pull request
Aug 27, 2026
* feat: fee-compare tool — Hyperliquid vs Gains wallet analysis (#2054) * feat: HL vs Gains wallet fee comparison tool * feat: HL vs Gains wallet fee comparison * fix: fetch Gains fee rates live, drop hardcoded 0.12% * fix: fetch Gains fee rates live, drop hardcoded rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * feat: fee-compare per-trade breakdown + live Gains rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings (#2046) * perf: reduce Vercel invocations - live-prices 1s->5s CDN TTL, alternatives+perp ISR 300s * fix: double-counted notional in HL vs Gains comparison (#2048) * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings * fix: double-counted notional in HL vs Gains comparison — use per-side rate * fix: rename Gains.trade -> Gains, HL -> Hyperliquid in UI (#2049) * feat: always show Gains simulated, bold winner, pro design (#2051) * fix: mobile responsive — stack VS card vertically, hide overflow columns (#2052) * fix: symmetric HL/Gains display + winner logic for single-platform wallets (#2053) * fix: mobile table Gains fee column always visible, symmetric panels (#2057) * fix: revalidate hl-cohort + hl-history on aggregate purge (#2069) * fix(app-store-ratings): last_over_time[31m] on reviews panel for 7d+ staleness (#2073) * fix: sitemap 90s timeout — maxDuration=60 + tighten internal deadline to 20s * fix: suppress orphaned buildFullSitemap rejection + guard unhandled getProvider throws * feat(rpc): add Dogecoin bench #235 (Tatum, dRPC, BlockCypher) * fix(dogecoin-rpc): remove em-dash from seo_intro * fix(dogecoin-rpc): em-dash in seo_intro * fix: sitemap aggregate timeout + CDN caching (#2090) (#2092) * feat: shareable wallet URLs + HL fee/funding breakdown - /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load - pushState updates URL after analyze so any comparison is shareable - FeeCompareClient accepts initialVenueA/B/Wallet/Days props - HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown * fix: remove 'No activity found' text from crossSim projection side * fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route) * fix: raise maxDuration to 300s and extend sitemap JS timeout to 240s SIGKILL (signal 9) was killing the function at 60s. The aggregate blob (4.25MB) exceeds Next.js Data Cache's 2MB cap, so unstable_cache never caches it and every request re-fetches from /api/aggregate (FETCH_TIMEOUT_MS = 65s > maxDuration = 60s). SIGKILL discards the buffered response -> 500. - maxDuration 60 -> 300: gives full build time on cold starts - JS timeout 55s -> 240s: allows aggregate fetch + HL-builder Prometheus sweeps to finish before falling back to the static sitemap * feat(zcash): add bench #236 with Tatum zcashd, Tatum Zebra, Blockchair * fix: sitemap JS timeout 240s -> 75s so smoke gate (<90s) can receive response JS timeout was 240s which exceeds the smoke script's 90s per-attempt window (scripts/sitemap-smoke.mjs getTextWithRetry). Every smoke attempt would abort at 90s before the function returned, causing 3-retry failure and auto-rollback. 75s: aggregate FETCH_TIMEOUT_MS is 65s, so cold-cache fallback fires at ~75s, returns static sitemap at ~76s — within the 90s smoke window. maxDuration=300s means the process exits cleanly at ~76s with no SIGKILL. * feat: add dYdX + Paradex carry projection for all HL/Gains crossSims * fix: filter Paradex to perp markets only in carry rate fetch
Flotapponnier
added a commit
that referenced
this pull request
Aug 27, 2026
* feat: fee-compare tool — Hyperliquid vs Gains wallet analysis (#2054) * feat: HL vs Gains wallet fee comparison tool * feat: HL vs Gains wallet fee comparison * fix: fetch Gains fee rates live, drop hardcoded 0.12% * fix: fetch Gains fee rates live, drop hardcoded rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * feat: fee-compare per-trade breakdown + live Gains rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings (#2046) * perf: reduce Vercel invocations - live-prices 1s->5s CDN TTL, alternatives+perp ISR 300s * fix: double-counted notional in HL vs Gains comparison (#2048) * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings * fix: double-counted notional in HL vs Gains comparison — use per-side rate * fix: rename Gains.trade -> Gains, HL -> Hyperliquid in UI (#2049) * feat: always show Gains simulated, bold winner, pro design (#2051) * fix: mobile responsive — stack VS card vertically, hide overflow columns (#2052) * fix: symmetric HL/Gains display + winner logic for single-platform wallets (#2053) * fix: mobile table Gains fee column always visible, symmetric panels (#2057) * fix: revalidate hl-cohort + hl-history on aggregate purge (#2069) * fix(app-store-ratings): last_over_time[31m] on reviews panel for 7d+ staleness (#2073) * fix: sitemap 90s timeout — maxDuration=60 + tighten internal deadline to 20s * fix: suppress orphaned buildFullSitemap rejection + guard unhandled getProvider throws * feat(rpc): add Dogecoin bench #235 (Tatum, dRPC, BlockCypher) * fix(dogecoin-rpc): remove em-dash from seo_intro * fix(dogecoin-rpc): em-dash in seo_intro * fix: sitemap aggregate timeout + CDN caching (#2090) (#2092) * feat: shareable wallet URLs + HL fee/funding breakdown - /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load - pushState updates URL after analyze so any comparison is shareable - FeeCompareClient accepts initialVenueA/B/Wallet/Days props - HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown * fix: remove 'No activity found' text from crossSim projection side * fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route) * fix: raise maxDuration to 300s and extend sitemap JS timeout to 240s SIGKILL (signal 9) was killing the function at 60s. The aggregate blob (4.25MB) exceeds Next.js Data Cache's 2MB cap, so unstable_cache never caches it and every request re-fetches from /api/aggregate (FETCH_TIMEOUT_MS = 65s > maxDuration = 60s). SIGKILL discards the buffered response -> 500. - maxDuration 60 -> 300: gives full build time on cold starts - JS timeout 55s -> 240s: allows aggregate fetch + HL-builder Prometheus sweeps to finish before falling back to the static sitemap * feat(zcash): add bench #236 with Tatum zcashd, Tatum Zebra, Blockchair * fix: sitemap JS timeout 240s -> 75s so smoke gate (<90s) can receive response JS timeout was 240s which exceeds the smoke script's 90s per-attempt window (scripts/sitemap-smoke.mjs getTextWithRetry). Every smoke attempt would abort at 90s before the function returned, causing 3-retry failure and auto-rollback. 75s: aggregate FETCH_TIMEOUT_MS is 65s, so cold-cache fallback fires at ~75s, returns static sitemap at ~76s — within the 90s smoke window. maxDuration=300s means the process exits cleanly at ~76s with no SIGKILL. * feat: GMX v2 carry rates — borrow projection for all GMX crossSims
Flotapponnier
added a commit
that referenced
this pull request
Aug 27, 2026
* feat: fee-compare tool — Hyperliquid vs Gains wallet analysis (#2054) * feat: HL vs Gains wallet fee comparison tool * feat: HL vs Gains wallet fee comparison * fix: fetch Gains fee rates live, drop hardcoded 0.12% * fix: fetch Gains fee rates live, drop hardcoded rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * feat: fee-compare per-trade breakdown + live Gains rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings (#2046) * perf: reduce Vercel invocations - live-prices 1s->5s CDN TTL, alternatives+perp ISR 300s * fix: double-counted notional in HL vs Gains comparison (#2048) * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings * fix: double-counted notional in HL vs Gains comparison — use per-side rate * fix: rename Gains.trade -> Gains, HL -> Hyperliquid in UI (#2049) * feat: always show Gains simulated, bold winner, pro design (#2051) * fix: mobile responsive — stack VS card vertically, hide overflow columns (#2052) * fix: symmetric HL/Gains display + winner logic for single-platform wallets (#2053) * fix: mobile table Gains fee column always visible, symmetric panels (#2057) * fix: revalidate hl-cohort + hl-history on aggregate purge (#2069) * fix(app-store-ratings): last_over_time[31m] on reviews panel for 7d+ staleness (#2073) * fix: sitemap 90s timeout — maxDuration=60 + tighten internal deadline to 20s * fix: suppress orphaned buildFullSitemap rejection + guard unhandled getProvider throws * feat(rpc): add Dogecoin bench #235 (Tatum, dRPC, BlockCypher) * fix(dogecoin-rpc): remove em-dash from seo_intro * fix(dogecoin-rpc): em-dash in seo_intro * fix: sitemap aggregate timeout + CDN caching (#2090) (#2092) * feat: shareable wallet URLs + HL fee/funding breakdown - /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load - pushState updates URL after analyze so any comparison is shareable - FeeCompareClient accepts initialVenueA/B/Wallet/Days props - HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown * fix: remove 'No activity found' text from crossSim projection side * fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route) * fix: raise maxDuration to 300s and extend sitemap JS timeout to 240s SIGKILL (signal 9) was killing the function at 60s. The aggregate blob (4.25MB) exceeds Next.js Data Cache's 2MB cap, so unstable_cache never caches it and every request re-fetches from /api/aggregate (FETCH_TIMEOUT_MS = 65s > maxDuration = 60s). SIGKILL discards the buffered response -> 500. - maxDuration 60 -> 300: gives full build time on cold starts - JS timeout 55s -> 240s: allows aggregate fetch + HL-builder Prometheus sweeps to finish before falling back to the static sitemap * feat(zcash): add bench #236 with Tatum zcashd, Tatum Zebra, Blockchair * fix: sitemap JS timeout 240s -> 75s so smoke gate (<90s) can receive response JS timeout was 240s which exceeds the smoke script's 90s per-attempt window (scripts/sitemap-smoke.mjs getTextWithRetry). Every smoke attempt would abort at 90s before the function returned, causing 3-retry failure and auto-rollback. 75s: aggregate FETCH_TIMEOUT_MS is 65s, so cold-cache fallback fires at ~75s, returns static sitemap at ~76s — within the 90s smoke window. maxDuration=300s means the process exits cleanly at ~76s with no SIGKILL. * feat(bench): Bitcoin Cash RPC bench #245 — Blockchair, Bitcore, BiggestFan
Flotapponnier
added a commit
that referenced
this pull request
Sep 11, 2026
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
…c-day-window hl-frontends: switch headline from rolling 24h to last complete UTC day
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
…bench feat(rpc): add Dogecoin bench ChainBench#235
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
…Bench#2121) * feat: fee-compare tool — Hyperliquid vs Gains wallet analysis (ChainBench#2054) * feat: HL vs Gains wallet fee comparison tool * feat: HL vs Gains wallet fee comparison * fix: fetch Gains fee rates live, drop hardcoded 0.12% * fix: fetch Gains fee rates live, drop hardcoded rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * feat: fee-compare per-trade breakdown + live Gains rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings (ChainBench#2046) * perf: reduce Vercel invocations - live-prices 1s->5s CDN TTL, alternatives+perp ISR 300s * fix: double-counted notional in HL vs Gains comparison (ChainBench#2048) * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings * fix: double-counted notional in HL vs Gains comparison — use per-side rate * fix: rename Gains.trade -> Gains, HL -> Hyperliquid in UI (ChainBench#2049) * feat: always show Gains simulated, bold winner, pro design (ChainBench#2051) * fix: mobile responsive — stack VS card vertically, hide overflow columns (ChainBench#2052) * fix: symmetric HL/Gains display + winner logic for single-platform wallets (ChainBench#2053) * fix: mobile table Gains fee column always visible, symmetric panels (ChainBench#2057) * fix: revalidate hl-cohort + hl-history on aggregate purge (ChainBench#2069) * fix(app-store-ratings): last_over_time[31m] on reviews panel for 7d+ staleness (ChainBench#2073) * fix: sitemap 90s timeout — maxDuration=60 + tighten internal deadline to 20s * fix: suppress orphaned buildFullSitemap rejection + guard unhandled getProvider throws * feat(rpc): add Dogecoin bench ChainBench#235 (Tatum, dRPC, BlockCypher) * fix(dogecoin-rpc): remove em-dash from seo_intro * fix(dogecoin-rpc): em-dash in seo_intro * fix: sitemap aggregate timeout + CDN caching (ChainBench#2090) (ChainBench#2092) * feat: shareable wallet URLs + HL fee/funding breakdown - /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load - pushState updates URL after analyze so any comparison is shareable - FeeCompareClient accepts initialVenueA/B/Wallet/Days props - HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown * fix: remove 'No activity found' text from crossSim projection side * fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route) * fix: raise maxDuration to 300s and extend sitemap JS timeout to 240s SIGKILL (signal 9) was killing the function at 60s. The aggregate blob (4.25MB) exceeds Next.js Data Cache's 2MB cap, so unstable_cache never caches it and every request re-fetches from /api/aggregate (FETCH_TIMEOUT_MS = 65s > maxDuration = 60s). SIGKILL discards the buffered response -> 500. - maxDuration 60 -> 300: gives full build time on cold starts - JS timeout 55s -> 240s: allows aggregate fetch + HL-builder Prometheus sweeps to finish before falling back to the static sitemap * feat(zcash): add bench ChainBench#236 with Tatum zcashd, Tatum Zebra, Blockchair * fix: include pre-window HL positions in carry projection
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
* feat: fee-compare tool — Hyperliquid vs Gains wallet analysis (ChainBench#2054) * feat: HL vs Gains wallet fee comparison tool * feat: HL vs Gains wallet fee comparison * fix: fetch Gains fee rates live, drop hardcoded 0.12% * fix: fetch Gains fee rates live, drop hardcoded rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * feat: fee-compare per-trade breakdown + live Gains rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings (ChainBench#2046) * perf: reduce Vercel invocations - live-prices 1s->5s CDN TTL, alternatives+perp ISR 300s * fix: double-counted notional in HL vs Gains comparison (ChainBench#2048) * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings * fix: double-counted notional in HL vs Gains comparison — use per-side rate * fix: rename Gains.trade -> Gains, HL -> Hyperliquid in UI (ChainBench#2049) * feat: always show Gains simulated, bold winner, pro design (ChainBench#2051) * fix: mobile responsive — stack VS card vertically, hide overflow columns (ChainBench#2052) * fix: symmetric HL/Gains display + winner logic for single-platform wallets (ChainBench#2053) * fix: mobile table Gains fee column always visible, symmetric panels (ChainBench#2057) * fix: revalidate hl-cohort + hl-history on aggregate purge (ChainBench#2069) * fix(app-store-ratings): last_over_time[31m] on reviews panel for 7d+ staleness (ChainBench#2073) * fix: sitemap 90s timeout — maxDuration=60 + tighten internal deadline to 20s * fix: suppress orphaned buildFullSitemap rejection + guard unhandled getProvider throws * feat(rpc): add Dogecoin bench ChainBench#235 (Tatum, dRPC, BlockCypher) * fix(dogecoin-rpc): remove em-dash from seo_intro * fix(dogecoin-rpc): em-dash in seo_intro * fix: sitemap aggregate timeout + CDN caching (ChainBench#2090) (ChainBench#2092) * feat: shareable wallet URLs + HL fee/funding breakdown - /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load - pushState updates URL after analyze so any comparison is shareable - FeeCompareClient accepts initialVenueA/B/Wallet/Days props - HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown * fix: remove 'No activity found' text from crossSim projection side * fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route) * fix: raise maxDuration to 300s and extend sitemap JS timeout to 240s SIGKILL (signal 9) was killing the function at 60s. The aggregate blob (4.25MB) exceeds Next.js Data Cache's 2MB cap, so unstable_cache never caches it and every request re-fetches from /api/aggregate (FETCH_TIMEOUT_MS = 65s > maxDuration = 60s). SIGKILL discards the buffered response -> 500. - maxDuration 60 -> 300: gives full build time on cold starts - JS timeout 55s -> 240s: allows aggregate fetch + HL-builder Prometheus sweeps to finish before falling back to the static sitemap * feat(zcash): add bench ChainBench#236 with Tatum zcashd, Tatum Zebra, Blockchair * fix: sitemap JS timeout 240s -> 75s so smoke gate (<90s) can receive response JS timeout was 240s which exceeds the smoke script's 90s per-attempt window (scripts/sitemap-smoke.mjs getTextWithRetry). Every smoke attempt would abort at 90s before the function returned, causing 3-retry failure and auto-rollback. 75s: aggregate FETCH_TIMEOUT_MS is 65s, so cold-cache fallback fires at ~75s, returns static sitemap at ~76s — within the 90s smoke window. maxDuration=300s means the process exits cleanly at ~76s with no SIGKILL. * feat: add dYdX + Paradex carry projection for all HL/Gains crossSims * fix: filter Paradex to perp markets only in carry rate fetch
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
* feat: fee-compare tool — Hyperliquid vs Gains wallet analysis (ChainBench#2054) * feat: HL vs Gains wallet fee comparison tool * feat: HL vs Gains wallet fee comparison * fix: fetch Gains fee rates live, drop hardcoded 0.12% * fix: fetch Gains fee rates live, drop hardcoded rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * feat: fee-compare per-trade breakdown + live Gains rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings (ChainBench#2046) * perf: reduce Vercel invocations - live-prices 1s->5s CDN TTL, alternatives+perp ISR 300s * fix: double-counted notional in HL vs Gains comparison (ChainBench#2048) * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings * fix: double-counted notional in HL vs Gains comparison — use per-side rate * fix: rename Gains.trade -> Gains, HL -> Hyperliquid in UI (ChainBench#2049) * feat: always show Gains simulated, bold winner, pro design (ChainBench#2051) * fix: mobile responsive — stack VS card vertically, hide overflow columns (ChainBench#2052) * fix: symmetric HL/Gains display + winner logic for single-platform wallets (ChainBench#2053) * fix: mobile table Gains fee column always visible, symmetric panels (ChainBench#2057) * fix: revalidate hl-cohort + hl-history on aggregate purge (ChainBench#2069) * fix(app-store-ratings): last_over_time[31m] on reviews panel for 7d+ staleness (ChainBench#2073) * fix: sitemap 90s timeout — maxDuration=60 + tighten internal deadline to 20s * fix: suppress orphaned buildFullSitemap rejection + guard unhandled getProvider throws * feat(rpc): add Dogecoin bench ChainBench#235 (Tatum, dRPC, BlockCypher) * fix(dogecoin-rpc): remove em-dash from seo_intro * fix(dogecoin-rpc): em-dash in seo_intro * fix: sitemap aggregate timeout + CDN caching (ChainBench#2090) (ChainBench#2092) * feat: shareable wallet URLs + HL fee/funding breakdown - /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load - pushState updates URL after analyze so any comparison is shareable - FeeCompareClient accepts initialVenueA/B/Wallet/Days props - HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown * fix: remove 'No activity found' text from crossSim projection side * fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route) * fix: raise maxDuration to 300s and extend sitemap JS timeout to 240s SIGKILL (signal 9) was killing the function at 60s. The aggregate blob (4.25MB) exceeds Next.js Data Cache's 2MB cap, so unstable_cache never caches it and every request re-fetches from /api/aggregate (FETCH_TIMEOUT_MS = 65s > maxDuration = 60s). SIGKILL discards the buffered response -> 500. - maxDuration 60 -> 300: gives full build time on cold starts - JS timeout 55s -> 240s: allows aggregate fetch + HL-builder Prometheus sweeps to finish before falling back to the static sitemap * feat(zcash): add bench ChainBench#236 with Tatum zcashd, Tatum Zebra, Blockchair * fix: sitemap JS timeout 240s -> 75s so smoke gate (<90s) can receive response JS timeout was 240s which exceeds the smoke script's 90s per-attempt window (scripts/sitemap-smoke.mjs getTextWithRetry). Every smoke attempt would abort at 90s before the function returned, causing 3-retry failure and auto-rollback. 75s: aggregate FETCH_TIMEOUT_MS is 65s, so cold-cache fallback fires at ~75s, returns static sitemap at ~76s — within the 90s smoke window. maxDuration=300s means the process exits cleanly at ~76s with no SIGKILL. * feat: GMX v2 carry rates — borrow projection for all GMX crossSims
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
* feat: fee-compare tool — Hyperliquid vs Gains wallet analysis (ChainBench#2054) * feat: HL vs Gains wallet fee comparison tool * feat: HL vs Gains wallet fee comparison * fix: fetch Gains fee rates live, drop hardcoded 0.12% * fix: fetch Gains fee rates live, drop hardcoded rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * feat: fee-compare per-trade breakdown + live Gains rates * feat: HL vs Gains wallet fee comparison tool * fix: fetch Gains fee rates live, drop hardcoded 0.12% * feat: per-trade table, live Gains rates per coin, PnL column * fix: remove duplicate gainsFeeCache declaration * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings (ChainBench#2046) * perf: reduce Vercel invocations - live-prices 1s->5s CDN TTL, alternatives+perp ISR 300s * fix: double-counted notional in HL vs Gains comparison (ChainBench#2048) * redesign: fee-compare UI — logos, VS card, trade table, per-fill savings * fix: double-counted notional in HL vs Gains comparison — use per-side rate * fix: rename Gains.trade -> Gains, HL -> Hyperliquid in UI (ChainBench#2049) * feat: always show Gains simulated, bold winner, pro design (ChainBench#2051) * fix: mobile responsive — stack VS card vertically, hide overflow columns (ChainBench#2052) * fix: symmetric HL/Gains display + winner logic for single-platform wallets (ChainBench#2053) * fix: mobile table Gains fee column always visible, symmetric panels (ChainBench#2057) * fix: revalidate hl-cohort + hl-history on aggregate purge (ChainBench#2069) * fix(app-store-ratings): last_over_time[31m] on reviews panel for 7d+ staleness (ChainBench#2073) * fix: sitemap 90s timeout — maxDuration=60 + tighten internal deadline to 20s * fix: suppress orphaned buildFullSitemap rejection + guard unhandled getProvider throws * feat(rpc): add Dogecoin bench ChainBench#235 (Tatum, dRPC, BlockCypher) * fix(dogecoin-rpc): remove em-dash from seo_intro * fix(dogecoin-rpc): em-dash in seo_intro * fix: sitemap aggregate timeout + CDN caching (ChainBench#2090) (ChainBench#2092) * feat: shareable wallet URLs + HL fee/funding breakdown - /fee-compare/[venueA]/[venueB]/[wallet] dynamic route auto-submits on load - pushState updates URL after analyze so any comparison is shareable - FeeCompareClient accepts initialVenueA/B/Wallet/Days props - HL wallet side: replace 2-cell grid with inline fee/funding/net breakdown * fix: remove 'No activity found' text from crossSim projection side * fix: sitemap aggregate timeout + CDN caching (s-maxage stripped by dynamic route) * fix: raise maxDuration to 300s and extend sitemap JS timeout to 240s SIGKILL (signal 9) was killing the function at 60s. The aggregate blob (4.25MB) exceeds Next.js Data Cache's 2MB cap, so unstable_cache never caches it and every request re-fetches from /api/aggregate (FETCH_TIMEOUT_MS = 65s > maxDuration = 60s). SIGKILL discards the buffered response -> 500. - maxDuration 60 -> 300: gives full build time on cold starts - JS timeout 55s -> 240s: allows aggregate fetch + HL-builder Prometheus sweeps to finish before falling back to the static sitemap * feat(zcash): add bench ChainBench#236 with Tatum zcashd, Tatum Zebra, Blockchair * fix: sitemap JS timeout 240s -> 75s so smoke gate (<90s) can receive response JS timeout was 240s which exceeds the smoke script's 90s per-attempt window (scripts/sitemap-smoke.mjs getTextWithRetry). Every smoke attempt would abort at 90s before the function returned, causing 3-retry failure and auto-rollback. 75s: aggregate FETCH_TIMEOUT_MS is 65s, so cold-cache fallback fires at ~75s, returns static sitemap at ~76s — within the 90s smoke window. maxDuration=300s means the process exits cleanly at ~76s with no SIGKILL. * feat(bench): Bitcoin Cash RPC bench ChainBench#245 — Blockchair, Bitcore, BiggestFan
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
feat(rpc): dogecoin bench ChainBench#235 → main (hotfix)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builders pvp.trade, Defiapp, Dexari showed 0% on the leaderboard despite having 10-28 KB of fills in yesterday's CSV. Root cause: the rolling-24h cutoff filtered out their fills.
Problem in action. At 18:19 UTC the rolling cutoff is yesterday 18:19 UTC. A builder whose flow happens between 00:00 UTC and 17:00 UTC the previous day — all rejected as 'before cutoff'. Phantom / Axiom / Insilico / MetaMask had fills later in the day so they survived; pvp.trade / Defiapp / Dexari didn't.
Fix. Headline window = last complete UTC day (T-1 CSV, no in-window time filter). Trade-off: 0-24 h staleness depending on time of day. Acceptable for a user-cost bench (frontends don't reprice minute-to-minute), much fairer (every builder judged on the same UTC-day surface).
Verified live against Defiapp's address (0x1922810825c90f4270048b96da7b1803cd8609ef): rolling 24 h returned 0 fills, UTC-day returns 791 fills / $1.84 M notional / 51 users / 5.02 bps. The other 4 working builders should now show similar fee numbers as before (their fills were inside both windows).
State layer untouched — SQLite still consumes both yesterday and today's CSVs so the in-progress day feeds D7/D30 retention math. YAML methodology + abstract updated to reference 'UTC day' instead of '24h'.