The claimAndSwap
function is designed to be called by a keeper to claim WETH from a transmuter contract and then swap it to alETH at a premium
The function is design in a way in which under certain condition a keeper is triggered that perform a swap (WETH --> alETH) always at a gain. Observing the claimAndSwap
function
Claims an amount of WETH from the transmuter contract
Ensure that the amount of alETH to receive is greater than the amount of WETH claimed
Ensure that there is a enough WETH to handle the swap
Perform the Swap
Ensure that the resulting value from the swap is greater than the expectant value
Deposit the asset back into the transmuter contract
However, during the deposit back to the transmuter contract the function sent the entire balance of the asset to the transmuter which can be unintended since the essence of the swap is to send the swap result back to the transmuter.
This is an over-deposit, the keeper is trusted to properly handle the swap with an intention to deposit the swap output back into the transmuter, however, more than what is being intended is deposit especially if the contract held some reasonable amount of asset in the contract. This is problematic because the intent is likely to deposit only the output of the swap, which is the amount received from swapping WETH to alETH.
Manual
Deposit only the swap result(balAfter - balBefore
) back into the transmuter contract
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.