Omniscia vfat Audit

EqualizerGaugeConnector Manual Review Findings

EqualizerGaugeConnector Manual Review Findings

EGC-01M: Incorrect Equalizer Gauge Integration

Description:

The Equalizer Exchange gauge implementation does not support the IEqualizerGauge::deposit(uint256) function signature as it expects one more uint256 argument to denote the tokenId that the deposit operation occurs for (or 0 if none is meant to be specified).

Impact:

The EqualizerGaugeConnector::deposit function will not be able to be executed as the relevant function of the IEqualizerGauge invoked is not supported by it per its documentation.

Example:

contracts/connectors/EqualizerGaugeConnector.sol
15function deposit(
16 Farm calldata farm,
17 address token,
18 bytes memory // _extraData
19) external payable override {
20 uint256 amount = IERC20(token).balanceOf(address(this));
21 if (amount > 0) {
22 SafeTransferLib.safeApprove(token, farm.stakingContract, amount);
23 IEqualizerGauge(farm.stakingContract).deposit(amount);
24 }
25}

Recommendation:

Similarly to the RamsesGaugeConnector implementation, we advise the correct IEqualizerGauge interface to be utilized and a token ID of 0 to be defined.

Alleviation (6ab7af3bb495b817ffec469255ea679b1813eecb):

The vfat team evaluated this exhibit and clarified that they do not interact with the Equalizer V1 implementation referenced and instead interact with a newer version that supports the expected function signature.

As the vfat team has evaluated this exhibit and has confirmed that the system they integrate with supports the relevant function, we consider it inapplicable.