DeFiHardhatOracleProxyUpdates
100,000 USDC
View results
Submission Details
Severity: low
Invalid

`mowAndMigrate` is payable which is unnecessary

Summary

The function is marked as payable, but it does not interact with Ether transfers, and there are no payable functions being called within it.

Vulnerability Details

See the below code:

function mowAndMigrate(
address account,
address[] calldata tokens,
uint32[][] calldata seasons,
uint256[][] calldata amounts,
uint256 stalkDiff,
uint256 seedsDiff,
bytes32[] calldata proof
) external payable {
uint256 seedsVariance = LibLegacyTokenSilo._mowAndMigrate(account, tokens, seasons, amounts);
//had to break up the migration function into two parts to avoid stack too deep errors
LibLegacyTokenSilo._mowAndMigrateMerkleCheck(account, stalkDiff, seedsDiff, proof, seedsVariance);
}

Impact

The presence of the payable modifier might mislead developers into thinking that the function interacts with Ether, potentially leading to confusion.

Tools Used

Manual Review

Recommendations

Unless there is a specific reason for the function to accept Ether, such as receiving payments or handling refunds, the payable modifier should be removed.

Updates

Lead Judging Commences

giovannidisiena Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

Informational/Invalid

Stuck funds

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.