YieldFlow

CertiKFiles named in the report

CertiK reviewed YieldFlow on 12 Sep 2023: 18 findings, 0 critical; 15 marked fixed, 3 open.

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

Report hosted on skynet.certik.com.

Trustblock does not review code.

Findings18

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

SeverityOpenAcknowledgedFixed
Critical000
High100
Medium000
Low2015
HighCentralization Risks in RangePositionManager.solOpen

In the contract `RangePositionManager` the role `owner` has authority over the functions shown in the diagram below. Any compromise to the `owner` account may allow the hacker to take advantage of this authority and: - initialize the first position of the contract with `mintOwner`; - force the decrease of a user liquidity; - replace the `owner` itself and the `feeRecipient` account; - change the contract main parameters, including the reference token pair, the pool contracts, and fees; if an attacker sets a too high fee may discourage users from using the protocol inherently decreasing gains for liquidity providers. - allow or deny accounts to move the contract position range; - pause and unpause the calls to the `mint` and `increaseLiquidity` methods; - change the cooldown period to pay earnings to users and set a really high limit preventing users from earning fees for their participation in the protocol. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ee-4569-2c961520-b780-5d650282bad3/diagrams/centralization_RangePositionManager-RangePositionManager-_owner.svg) In the contract `RangePositionManager` the role `feeReceiver` has authority over the functions shown in the diagram below. Any compromise to the `feeReceiver` account may allow the hacker to take advantage of this authority and set an arbitrary account as new `feeReceiver` in order to get the collected fees. ![](https://accelerator-tasks-prod.acc.corp.certik.com/11ee-4569-2c961520-b780-5d650282bad3/diagrams/centralization_RangePositionManager-RangePositionManager-feeReceiver.svg) Additionally, the contract allows the router address to be set arbitrarily during contract deployment. This introduces a potential vulnerability where a malicious router can be set during the contract deployment process. A malicious router could potentially behave in unexpected ways, leading to loss of funds or other vulnerabilities being exploited. Thus, it is crucial to ensure that the correct router address has been set during deployment. Once the contract is deployed with the correct router address and checked, there is no further need for validation, as the router address is then fixed and cannot be altered.

LowPotential Price ManipulationOpen

The code at the pointed location reads the spot price from a single pool, which is subject to potential price manipulation. `RangePositionManager.moveRange` uses the value from `IUniswapV3Pool` pool ```solidity=274 (params.sqrtPriceX96,params.currentTick,,,,,) = uniswapV3Pool.slot0(); ```

LowUsage of Native ETH with Wrapped ETH as PlaceholdOpen

The `RangePositionManager` contract generally allows the method caller to use native ETH by specifying the `WETH` contract address for one side of the pool pair. However, such solution constrains the WETH address to a mere placeholder of native ETH and forbids any user to directly use WETH tokens for WETH pools, which is a common use case for pools with WETH in the token pair.

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

  • contracts/libraries/LiquidityAmounts.sol
  • contracts/RangePositionManager.sol
  • contracts/libraries/PoolAddress.sol

Part of YieldFlow’s security record

YieldFlow
Audits2 audits by 1 firmLast audit Apr 2024, by CertiK.
Critical findingsNo open critical findingsAcross the 2 reports, 3 critical findings were reported. Each is marked fixed by the firm that reported it.
Open YieldFlow’s security record

Security firm

CertiK

1,044 projects reviewed · 1,375 reports · latest May 2025

See CertiK’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