Function: deposit(uint256 amount)
This allows depositing in the SuperChargerVault.
Inputs
amountControl: Fully controlled.
Constraints: User needs to afford
amounttokens.Impact: The amount of tokens to deposit.
Branches and code coverage
Intended branches
Ensure that the deposit amount is greater than 10 so that the
instantWithdrawCapis updated properly.Accrue interest in the lending manager.
Calculate the amount of shares to mint.
Update the cost share price of the receiver.
If
want == weth, deposit the amount as native tokens in the reserve vault.If
want != weth, transfer the amount as ERC-20 tokens to the reserve vault.Mint the adequate amount of shares to the receiver.
Update the instant withdraw cap.
Negative behavior
Should not allow depositing an amount that is not afforded by the user.