Omniscia Beanstalk Audit

LibInternal Manual Review Findings

LibInternal Manual Review Findings

LIL-01M: Inexistent Function Implementation

Description:

The linked function selector is not fulfilled by any of the contracts within the codebase.

Example:

protocol/contracts/libraries/LibInternal.sol
60function updateBip(uint32 bip) internal {
61 DiamondStorage storage ds = diamondStorage();
62 bytes4 functionSelector = bytes4(keccak256("updateBip(uint32)"));
63 address facet = ds.selectorToFacetAndPosition[functionSelector].facetAddress;
64 bytes memory myFunctionCall = abi.encodeWithSelector(functionSelector, bip);
65 (bool success,) = address(facet).delegatecall(myFunctionCall);
66 require(success, "Silo: updateBip failed.");
67}

Recommendation:

We advise its deprecation to be assessed and if valid the code to be removed from the contract. Alternatively, we advise the Beanstalk team to properly include the code meant to be executed by the updateBip function within the code repository for proper assessment.

Alleviation:

The relevant function has been excluded from the contract thereby rendering this exhibit null.