LiquiFi

QuantstampFiles named in the report

Quantstamp reviewed LiquiFi on 27 Jan 2022: 21 findings, 0 critical; 18 marked fixed, 1 acknowledged, 2 open.

No open critical findings
Open the reportOpen LiquiFi’s security record

Report hosted on certificate.quantstamp.com.

Trustblock does not review code.

Findings21

Statuses are the security firm’s own, from its report.

SeverityOpenAcknowledgedFixed
Critical000
High002
Medium011
Low2015
MediumPrivileged Roles and OwnershipAcknowledged

Certain contracts have state variables, e.g. `owner`, which provide certain addresses with privileged roles. Such roles may pose a risk to end-users. The contracts `CliffModule.sol`, `LinearModule.sol` and `StreamModule.sol` contain the following privileged roles: - `vestingControllerAddress`, as set by `setVestingController()` by the `owner` - Assign a new vesting controller or renounce their role by calling `setVestingController()`. - Create a plan, by calling `createPlan()`. - Update the book-keeping, by calling `release()`. - `owner`, set to `msg.sender` when `initialize()` is called - Same as `vestingControllerAddress`. - Assign a new `owner`, by calling `transferOwnership()` or renounce the ownership, by calling `renounceOwnership()`. Contract `EmployeeRegistry.sol` contains the following privileged roles: - `owner`, set to `msg.sender` when `initialize()` is called - Assign a new `owner`, by calling `transferOwnership()` or renounce the ownership, by calling `renounceOwnership()`. Contract `Escrow.sol` contains the following privileged roles: - `owner`, set to `msg.sender` when `initialize()` is called - Assign a new `owner`, by calling `transferOwnership()` or renounce the ownership, by calling `renounceOwnership()`. - Assign a new `vestingControllerAddress`, by calling `setVestingControllerAddress()`. - Retrieve the **public** address `vestingControllerAddress`, by calling `getVestingControllerAddress()`. - Deposit, by calling `deposit()`. - Withdraw, by calling `withdraw()`, bypassing any vesting schedules in the process. - Set or unset the paused state by calling `pause()` and `unpause()` respectively, therefore allowing or preventing calls to `deposit()` and `withdraw()`. - `vestingControllerAddress`, as initialized to `address(0)` or set by the `owner` when calling `setVestingControllerAddress()`: - Deposit, by calling `deposit()`. - Withdraw, by calling `withdraw()`.

Contracts in scope

No deployed address is recorded for this audit.

The report names a repository or files. Open the report to see its scope.

Repository and files the report names (8)

  • contracts/modules/BaseModule.sol
  • contracts/employee/EmployeeRegistry.sol
  • contracts/modules/LinearModule.sol
  • contracts/vesting/Vesting.sol
  • contracts/modules/CliffModule.sol
  • contracts/escrow/Escrow.sol
  • contracts/lib/Utils.sol
  • contracts/modules/StreamModule.sol

Part of LiquiFi’s security record

LiquiFi
Audits1 audit by 1 firmLast audit Jan 2022, by Quantstamp.
Critical findingsNo open critical findingsIn 1 report.
Open LiquiFi’s security record

Security firm

Quantstamp

236 projects reviewed · 332 reports · latest Oct 2026

See Quantstamp’s audits

Something 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