The deposit function in the Vault contract uses transferAndCall to send tokens to the Chainlink staking contract, despite not passing any additional data. This could potentially lead to unnecessary gas costs and complexity.
The deposit function is implemented as follows:
The function uses transferAndCall with an empty string as the data parameter. transferAndCall is typically used when additional data needs to be passed along with the transfer. In this case, no data is being passed, making the use of transferAndCall unnecessary.
Increased gas costs: transferAndCall may consume more gas than a simple transfer or safeTransfer.
manual review
Replace transferAndCall with safeTransfer:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.