Using IERC20() standard will fail for tokens like USDT
Summary
Using IERC20() standard will fail for tokens like USDT
Vulnerability Detail
IERC20(components[i]) will fail for some tokens as they may not conform to the standard IERC20 interface. Like USDT because it not support IERC20() standard.
Impact
If transferFrom() fails, user can mint _setToken for free.
Avci
medium
Using IERC20() standard will fail for tokens like USDT
Summary
Using IERC20() standard will fail for tokens like USDT
Vulnerability Detail
IERC20(components[i]) will fail for some tokens as they may not conform to the standard IERC20 interface. Like USDT because it not support IERC20() standard.
Impact
If transferFrom() fails, user can mint _setToken for free.
Code Snippet
https://github.com/sherlock-audit/2023-06-Index/blob/8d348ed344635a068d458aa04956f966b6d3d4f3/index-protocol/contracts/protocol/modules/v1/BasicIssuanceModule.sol#L107-L112
Tool used
Manual Review
Recommendation
Consider Using safeTransferFrom. G