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

  • _vault

    • Control: 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 initialize on it.

Function call analysis

  • rootFunction -> IWrapper(proxy).initialize(...)

    • What is controllable? All arguments; _vault is controlled and name and symbol are 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.

Zellic © 2024Back to top ↑