MorpheusAI

MorpheusAI
Foundry
22,500 USDC
View results
Submission Details
Severity: low
Invalid

Unsafe Max Approve

Summary

For safety reasons It's not recommended to approve type(uint256).max . We should approve a relevant amount every time.

https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/L2TokenReceiver.sol#L143

TransferHelper.safeApprove(newParams_.tokenIn, router, type(uint256).max);

https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/L2TokenReceiver.sol#L144

TransferHelper.safeApprove(newParams_.tokenIn, nonfungiblePositionManager, type(uint256).max);

https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/L2TokenReceiver.sol#L146

TransferHelper.safeApprove(newParams_.tokenOut, nonfungiblePositionManager, type(uint256).max);

https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/L1Sender.sol#L76

IERC20(unwrappedToken_).approve(newToken_, type(uint256).max);

https://github.com/Cyfrin/2024-01-Morpheus/blob/main/contracts/L1Sender.sol#L95

IERC20(newToken_).approve(IGatewayRouter(newGateway_).getGateway(newToken_), type(uint256).max);
Updates

Lead Judging Commences

inallhonesty Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Too generic

Support

FAQs

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