The protocol will migrate the Bean:WETH Well LP to Bean:wsETH Well LP after initializing the bip migration:
InitMigrateUnripeBeanEthToBeanSteth -> LibFertilizer -> beginBarnRaiseMigration -> switchUnderlyingToken
This will change the underlying token of C.UNRIPE_LP to the new Bean:wsETH pool.
Whenever getBarnRaiseWell uses a fallback underlyingToken, the correct pool to be returned should be the new one added Bean:wsETH not Bean:WETH. But currently, the Bean:WETH pool is used.
As the getBarnRaiseWell is used in several areas of the protocol like:
Token conversions(LibConvert)
Calculate BDV
Calculate the caseId
Whenever the fallback underlyingToken is used it will completely break the protocol logic as Bean:WETH is not the current underlying token after the migration.
Add the following test inside BeanEthToBeanWstethMigration.test.js -> 'Initializes migration'
Output:
Hardhard & Manual Review
Add the C.BEAN_WSTETH_WELL as a fallback for the underlying token on LibBarnRaise. Also, ensure C.BEAN_WSTETH_WELL will have the correct address.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.