At the function _renZapToIbbtc of IbbtcVaultZap You call RENCRV_TOKEN.balanceOf(address(this)) twice while you could save the value of the first call and use it to compute the value of the second call and save gas of calling external contract and reading its storage value.
Agree with sponsor. RENCRV_TOKEN.balanceOf(address(this)) and RENCRV_VAULT.balanceOf(address(this)) are both only called once from within _renZapToIbbtc
Handle
pants
Vulnerability details
At the function _renZapToIbbtc of IbbtcVaultZap You call RENCRV_TOKEN.balanceOf(address(this)) twice while you could save the value of the first call and use it to compute the value of the second call and save gas of calling external contract and reading its storage value.