Block a user
Bound each shutdown stage by the stop deadline (closes #100)
internal/routewatch/prefixhandler.go,PrefixHandler.Stop(withtakeBatch): the peer downs a running write has already taken are not counted. When the deadline passes while the final flush…
The HTTP hardening REPO_POLICIES requires before a 1.0 tag is missing: security headers, trusted proxies for forwarded headers, generic error messages
Implemented in sneak/routewatch#132: every answer carries the six security headers, and the pages' inline blocks are allowed by a nonce made for each answer rather than…
Add the HTTP hardening the policy requires before 1.0 (closes #108)
A V4 step shows its swap action's amount, not the larger SETTLE the user pays
fix: a swap split across steps the user pays for shows every amount it spends (closes #625)
Review: FAIL (needs-rework)
src/shared/uniswap.js,decodeV4Swap()and theV4_SWAPbranch ofdecode(): a later V4 step whoseSETTLEorSETTLE_ALLthe decoder cannot read is…
The daemon handles SIGINT and SIGTERM itself as well as through fx, and logs a shutdown failure on a clean stop
Shutdown ignores its deadline and upaas kills the container 10 seconds after SIGTERM, so the final writes are cut off and a stop exits with status 1
Built in sneak/routewatch#130: every shutdown stage is bounded by the stop deadline, the stop hook gives Shutdown 8 seconds inside fx's 9, and README "Running under…
Bound each shutdown stage by the stop deadline (closes #100)
Release 1.0: what stands between routewatch and a release candidate
State on 2026-10-19, 23:15 UTC.
The audit's findings are being fixed one PR each. Landed: sneak/routewatch#101, sneak/routewatch#102,…
The 5-second TRUNCATE checkpoint holds the database lock for up to the busy timeout while any read is in progress, and logs the busy result as a success
Checkpoint without waiting on readers and log a busy checkpoint (closes #102)
TransactionDetail reads a transaction's details from the active network's Blockscout
sneak/AutistMask#627: TransactionDetail now reads the transaction from the Blockscout Settings has for the network it was sent on, and decodes its calldata for that…
fix: TransactionDetail reads a transaction from the Blockscout of the network it was sent on (closes #623)