Function: redeemUnderlying(uint256 shares, uint256[] minAmounts, address receiver, address _owner)
This redeems multiple underlying assets for a given number of shares.
Inputs
shares
Control: Full.
Constraints: Must be less than or equal to the owner's vault-share balance.
Impact: The number of the owner's shares that will be burned.
minAmounts
Control: Full.
Constraints: N/A.
Impact:
minAmounts
.
receiver
Control: Full.
Constraints: Needs to be a valid, nonzero address.
Impact: Address to receive underlying assets.
_owner
Control: Full.
Constraints: Must have share balance greater than or equal to shares.
Impact: Accounts whose shares will be burned in exchange for the asset.
Branches and code coverage (including function calls)
Intended branches
Should burn shares when invoking
redeemUnderlying()
with LP tokens.
Negative behavior
redeemUnderlying()
should NOT revert when in safe harbor mode.previewRedeem()
should not revert when in safe harbor mode.maxRedeem()
should not revert when in safe harbor mode.
Function call analysis
rootFunction -> maxRedeem(address)
What is controllable? N/A.
If return value controllable, how is it used and how can it go wrong? N/A.
What happens if it reverts, reenters, or does other unusual control flow? N/A.
rootFunction -> previewRedeem(uint256)
What is controllable? N/A.
If return value controllable, how is it used and how can it go wrong? N/A.
What happens if it reverts, reenters, or does other unusual control flow? N/A.