CertiK reviewed Optix Protocol (Optix) on 14 Nov 2022: 13 findings, 0 critical; 8 marked fixed, 1 acknowledged, 4 open.
Report hosted on skynet.certik.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 | 1 | 0 |
| Medium | 0 | 0 | 1 |
| Low | 4 | 0 | 7 |
In the contract `OptionERC721`, in the function `create()`, the amount locked may not be the same as the amount transferred. The calculated `remain` amount is transferred while the amount locked is `option.lockedAmount`. The result could be a mismatch of locked funds.
The **require** can be used to check for conditions and throw an exception if the condition is not met. It is better to provide a string message containing details about the error that will be passed back to the caller.
The requirement case is set to the value `true`. Therefore, the requirement will never fail.
```solidity=71 event SetGlobalAddressPair(address indexed byAccount, SetVariableType indexed eventType, address a1, address a2, bool from, bool to); ``` - `SetGlobalAddressPair` is declared in `IStructs` but never emitted. --- ```solidity=72 event SetGlobalAddressPairBoolState(address indexed byAccount, SetVariableType indexed eventType, address a1, address a2, BoolState from, BoolState to); ``` - `SetGlobalAddressPairBoolState` is declared in `IStructs` but never emitted.
The linked parameters are never used.
The role `CONTRACT_CALLER_ROLE` is defined in the `OptionsVaultFactory` contract but it is never used.
In the contract `SimpleSeller`, in the function `findMatchFee()`, the variable `matchStrike` is instantiated locally and assigned but never utilized.
The linked variables assigned in the constructor can be declared as `immutable`. Immutable state variables can be assigned during contract creation but will remain constant throughout the lifetime of a deployed contract. A big advantage of immutable variables is that reading them is significantly cheaper than reading from regular state variables since they will not be stored in storage.
The report names a repository or files. Open the report to see its scope.
Repository and files the report names (7)
1,044 projects reviewed · 1,375 reports · latest May 2025
See CertiK’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