Vault.Inc

QuantstampFiles named in the report

Quantstamp reviewed Vault.Inc on 22 Dec 2021: 8 findings, 0 critical; 5 marked fixed, 2 acknowledged, 1 open.

No open critical findings
Open the reportOpen Vault.Inc’s security record

Report hosted on certificate.quantstamp.com.

Trustblock does not review code.

Findings8

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

SeverityOpenAcknowledgedFixed
Critical000
High001
Medium100
Low024
LowPrivileged Roles and OwnershipAcknowledged

Certain contracts have special roles, which provide certain addresses with privileged roles. Such roles may pose a risk to end-users. The owner of the `TimeLockPool.sol` or `TimeLockNonTransferablePool.sol` contracts may perform the following privileged actions: 1. Give or revoke the role of `TOKEN_SAVER_ROLE` to any arbitrary address. 1. Call `saveToken()`, thereby transferring an arbitrary amount of an arbitrary token from the current contract to an arbitrary address. 1. Renounce ownership, by calling `renounceOwnership()`, thereby preventing the change of the currently set `TOKEN_SAVER_ROLE` role. 1. Transfer ownership (the role of `DEFAULT_ADMIN_ROLE`) to an arbitrary address. The owner of the `LiquidityMiningManager.sol` contract may perform the following privileged actions: 1. Give or revoke the role of `TOKEN_SAVER_ROLE` to any arbitrary address. 1. Call `saveToken()`, thereby transferring an arbitrary amount of an arbitrary token of the `LiquidityMiningManager.sol` contract to an arbitrary address. 1. Give or revoke the role of `GOV_ROLE` to any arbitrary address. 1. Add or remove pools, change pool weights or `rewardPerSecond`, by calling `addPool()`, `removePool()`, `adjustWeight()` and `setRewardPerSecond()` respectively. 1. Give or revoke the role of `REWARD_DISTRIBUTOR_ROLE` to any arbitrary address. 1. Distribute rewards by calling distributeRewards()`. 1. Renounce ownership, by calling `renounceOwnership(),` thereby preventing the change of the currently set `TOKEN_SAVER_ROLE`, `GOV_ROLE` and `REWARD_DISTRIBUTOR_ROLE` roles. 1. Transfer ownership (the role of `DEFAULT_ADMIN_ROLE`) to an arbitrary address. Note: As functions `addPool()`, `removePool()` and `adjustWeight()` call `distributeRewards()`, which is only callable by a reward distributor role holding account, it entails that the `GOV_ROLE` holding account will also hold the role of `REWARD_DISTRIBUTOR_ROLE`.

LowUnknown Code in the ContractAcknowledged

The constructor of `contracts\base\AbstractRewards.sol` utilizes code unknown (variables of function type) during the audit period to initialize the implementation of two functions, that are: `getSharesOf` and `getTotalShares`. This could cause the contracts to result in very different behavior from what was expected.

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 (13)

  • contracts/interfaces/IBasePool.sol
  • contracts/base/BasePool.sol
  • contracts/interfaces/IAbstractRewards.sol
  • contracts/base/AbstractRewards.sol
  • contracts/TimeLockNonTransferablePool.sol
  • contracts/View.sol
  • contracts/TimeLockPool.sol
  • contracts/test/TestBasePool.sol
  • contracts/LiquidityMiningManager.sol
  • contracts/test/TestFaucetToken.sol
  • contracts/interfaces/ITimeLockPool.sol
  • contracts/base/TokenSaver.sol
  • contracts/test/TestToken.sol

Part of Vault.Inc’s security record

Vault.Inc
Audits1 audit by 1 firmLast audit Dec 2021, by Quantstamp.
Critical findingsNo open critical findingsIn 1 report.
Open Vault.Inc’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