Function: clone(address _vault)
This function can be used to create a new clone of the BeefyWrapper contract using an immutable proxy that delegatecalls the wrapper contract code.
Inputs
_vaultControl: Arbitrary.
Constraints: None.
Impact: Address of the contract to clone.
Branches and code coverage (including function calls)
Intended branches
Deploys the immutable proxy contract and calls
initializeon it.
Function call analysis
rootFunction -> IWrapper(proxy).initialize(...)What is controllable? All arguments;
_vaultis controlled andnameandsymbolare obtained by calling_vault.If return value controllable, how is it used and how can it go wrong? Not used.
What happens if it reverts, reenters, or does other unusual control flow? Reverts would abort the transaction; reentrancy is possible but not a concern.