The L2TokenReceiver
smart contract implements a collectFees
function that is intended to collect fees from Uniswap v3 liquidity pools. However, this function is not declared in the IL2TokenReceiver
interface, which the contract purports to implement.
This inconsistency can lead to integration issues with other contracts or services that rely on the IL2TokenReceiver
interface for interaction.
The IL2TokenReceiver
interface is expected to declare all public and external functions that the implementing contract provides. The absence of the collectFees
function declaration within the interface means that any external contract or service attempting to interact with the L2TokenReceiver
contract through the IL2TokenReceiver
interface reference will not be able to call the collectFees
function, even though it is implemented by the contract.
The primary impact of this issue is on interoperability and contract composability. Contracts or services that use the IL2TokenReceiver
interface to interact with instances of L2TokenReceiver
will not recognize the collectFees
function, potentially breaking functionality or leading to the development of incorrect or inefficient integrations.
Manual review
Update Interface: Add the collectFees
function declaration to the IL2TokenReceiver
interface to ensure consistency and correct interfacing. The declaration should match the function signature in the L2TokenReceiver
contract.
Example update to the interface:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.