Holdfast — Slither static analysis ==================================== Tool: Slither 0.11.5 (Trail of Bits) Date: 2026-07-15 (UTC) Commit: a85eb33598f4d946ce524e86916fe6ae85b67f30 Contract: contracts/TimeLockVault.sol (solc 0.8.24) Command: slither . --filter-paths "lib/|test/|script/" Result: 3 findings, all LOW / informational, all expected for a time-lock (see SECURITY.md for the interpretation). 0 high, 0 medium. ---------------------------------------------------------------------- 'forge clean' running (wd: /home/kp/projects/holdfast) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /home/kp/projects/holdfast) INFO:Detectors: Detector: incorrect-equality TimeLockVault.timeRemaining(uint256) (contracts/TimeLockVault.sol#162-166) uses a dangerous strict equality: - u == 0 || block.timestamp >= u (contracts/TimeLockVault.sol#164) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities INFO:Detectors: Detector: timestamp TimeLockVault.withdraw(uint256) (contracts/TimeLockVault.sol#146-159) uses timestamp for comparisons Dangerous comparisons: - require(bool,string)(block.timestamp >= d.unlockTime,still locked) (contracts/TimeLockVault.sol#151) TimeLockVault.timeRemaining(uint256) (contracts/TimeLockVault.sol#162-166) uses timestamp for comparisons Dangerous comparisons: - u == 0 || block.timestamp >= u (contracts/TimeLockVault.sol#164) Reference: https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp INFO:Slither:. analyzed (8 contracts with 101 detectors), 3 result(s) found