Quantstamp reviewed Fodl Finance (Fodl) on 13 Oct 2021: 11 findings, 0 critical; 4 marked fixed, 5 acknowledged, 2 open.
Report hosted on certificate.quantstamp.com.
Trustblock does not review code.
Statuses are the security firm’s own, from its report.
| Severity | Open | Acknowledged | Fixed |
|---|---|---|---|
| Critical | 0 | 0 | 0 |
| High | 0 | 0 | 0 |
| Medium | 0 | 0 | 0 |
| Low | 2 | 5 | 4 |
As it presently is constructed, the contract is vulnerable to the [allowance double-spend exploit](https://github.com/OpenZeppelin/openzeppelin-solidity/blob/b4f87bb8fc25fb07f73099701e39e167a3d36465/contracts/token/ERC20/ERC20.sol#L71-L78), as with other ERC20 tokens.
1. `FoldingRegistry.initialize()` does not check that each address argument is non-zero. **Update: ** fixed. 1. `FoldingRegistry. addImplementation()` does not check that each address argument is non-zero. **Update: ** fixed. 1. `FoldingRegistry. addPlatformWithAdapter()` does not check that each address argument is non-zero. **Update: ** fixed. 1. `FoldingRegistry. changePlatformAdapter()` does not check that each address argument is non-zero. **Update: ** fixed. 1. `FoldingRegistry. addCTokenOnPlatform()` does not check that each address argument is non-zero. **Update: ** fixed. 1. `FoldingRegistry. addExchangerWithAdapter()` does not check that each address argument is non-zero. **Update: ** fixed. 1. `FoldingRegistry. changeExchangerAdapter()` does not check that each address argument is non-zero. **Update: ** fixed. 1. `FoldingAccount.constructor()` does not check that each address argument is non-zero. **Update: ** acknowledged. 1. `FundsManager.constructor()` does not check that each address argument is non-zero. It also does not check that `_profit` and `_principle` are both `<= MANTISSA`. **Update: ** fixed. 1. `DecreaseWithV3FlashswapMultihopConnector.constructor()` does not check that each address argument is non-zero. 1. `IncreaseWithV3FlashswapMultihopConnector.constructor()` does not check that each address argument is non-zero. 1. `LeverageWithV3FlashswapConnector.constructor()` does not check that each address argument is non-zero. 1. `RewardsDistributor.constructor()` does not check that each address argument is non-zero.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (71)
236 projects reviewed · 332 reports · latest Oct 2026
See Quantstamp’s auditsSomething wrong on this page? A missing report, a wrong date, a finding that was fixed since. Tell us and we check it against its source.
Tell us