Function: upgradeContract(address clone_address, bytes[32] upgrade_data)
This allows the owner to manually upgrade a clone to a new implementation.
Inputs
clone_address
Control: Fully controlled by the owner.
Constraints: None.
Impact: The clone to be upgraded.
upgrade_data
Control: Fully controlled by the owner.
Constraints: None.
Impact: The upgrade data to be passed to the clone's upgrade function.
Branches and code coverage (including function calls)
Intended branches
Call the clone's upgrade function.
Ensure that the clone is a valid clone.
Negative behavior
Should not be callable by anyone other than the owner.