The codebase transfers tokens in multiple parts of the code. In some of them, SafeERC20 library is used. However, other parts of the code directly perform unsafe ERC20 transfers and approvals. Concretely, the contracts that incorrectly transfer tokens are:
CollateralManager
TellerV2 (only in _sendOrEscrowFunds)
Recommendation
It is recommended to use SafeERC20 library consistently to ensure token transfers ( via safeTransfer/safeTransferFrom) and approvals (via forceApprove) are correctly handled.
The codebase transfers tokens in multiple parts of the code. In some of them, SafeERC20 library is used. However, other parts of the code directly perform unsafe ERC20 transfers and approvals. Concretely, the contracts that incorrectly transfer tokens are:
CollateralManager
TellerV2 (only in _sendOrEscrowFunds)
Recommendation
It is recommended to use SafeERC20 library consistently to ensure token transfers ( via safeTransfer/safeTransferFrom) and approvals (via forceApprove) are correctly handled.