Holdfast — Aderyn static analysis ==================================== Tool: Aderyn 0.6.8 (Cyfrin) Date: 2026-07-15 (UTC) Commit: a85eb33598f4d946ce524e86916fe6ae85b67f30 Contract: contracts/TimeLockVault.sol (solc 0.8.24) Command: aderyn --src contracts/ . Result: 3 findings, all LOW, all cosmetic or irrelevant on Base (see SECURITY.md). 0 high, 0 medium. ---------------------------------------------------------------------- # Aderyn Analysis Report This report was generated by [Aderyn](https://github.com/Cyfrin/aderyn), a static analysis tool built by [Cyfrin](https://cyfrin.io), a blockchain security company. This report is not a substitute for manual audit or security review. It should not be relied upon for any purpose other than to assist in the identification of potential security vulnerabilities. # Table of Contents - [Summary](#summary) - [Files Summary](#files-summary) - [Files Details](#files-details) - [Issue Summary](#issue-summary) - [Low Issues](#low-issues) - [L-1: Large Numeric Literal](#l-1-large-numeric-literal) - [L-2: PUSH0 Opcode](#l-2-push0-opcode) - [L-3: Unspecific Solidity Pragma](#l-3-unspecific-solidity-pragma) # Summary ## Files Summary | Key | Value | | --- | --- | | .sol Files | 1 | | Total nSLOC | 75 | ## Files Details | Filepath | nSLOC | | --- | --- | | contracts/TimeLockVault.sol | 75 | | **Total** | **75** | ## Issue Summary | Category | No. of Issues | | --- | --- | | High | 0 | | Low | 3 | # Low Issues ## L-1: Large Numeric Literal Large literal values multiples of 10000 can be replaced with scientific notation.Use `e` notation, for example: `1e18`, instead of its full numeric value.
1 Found Instances - Found in contracts/TimeLockVault.sol [Line: 178](../../../../../home/kp/projects/holdfast/contracts/TimeLockVault.sol#L178) ```solidity fee = (amount * feeBps) / 10_000; ```
## L-2: PUSH0 Opcode Solc compiler version 0.8.20 switches the default target EVM version to Shanghai, which means that the generated bytecode will include PUSH0 opcodes. Be sure to select the appropriate EVM version in case you intend to deploy on a chain other than mainnet like L2 chains that may not support PUSH0, otherwise deployment of your contracts will fail.
1 Found Instances - Found in contracts/TimeLockVault.sol [Line: 2](../../../../../home/kp/projects/holdfast/contracts/TimeLockVault.sol#L2) ```solidity pragma solidity ^0.8.24; ```
## L-3: Unspecific Solidity Pragma Consider using a specific version of Solidity in your contracts instead of a wide version. For example, instead of `pragma solidity ^0.8.0;`, use `pragma solidity 0.8.0;`
1 Found Instances - Found in contracts/TimeLockVault.sol [Line: 2](../../../../../home/kp/projects/holdfast/contracts/TimeLockVault.sol#L2) ```solidity pragma solidity ^0.8.24; ```