There are some crucial functionalist that are missing the event emission. Event emissions should be used whenever something on the blockchain should be accounted for to keep transparency, accountability, historical data.
BridgeReth.sol All the crucial functions(depositEth, withdraw, unstake) don't have emit function, this should reflect the address of one who deposited in the deposit() an LTSs token in the BridgeReth contract and the particular amount deposited. In the depositEth() an emit function should be used to show accountability and historical data so an user can check who and who deposited Eth as collateral to the BridgeReth contract. Also this poor practice spans across in the withdraw() and unstake().
BrideSeth.sol: This contract lacks no best practice of ensuring that there would be a way of getting a notification if a calls the following funtions(deposit, withdraw, depositEth,unstake). There is no reflective of things happening as they are differences and event reflects differences.
The deposit() // should differentiate that onlyDiamond called this function and emits it details(address, amount)
The depositEth() // should differentiate that onlyDiamond called this function and emits it details.
unstake) // should differentiate that onlyDiamond called this function and emits it details(address, amount)
withdraw // should differentiate that onlyDiamond called this function and emits it details(address, amount)
This shortchanges various offchain tooling, monitoring, reporting, frontend services that may rely on events to adequately capture real time activities of the contracts. It may even be critical for security monitoring so project can respond adequately if events sufficiently detailed and informative. Any emissions suspicious can allow protocol to react quickly.
Manual review
Add emit()
to two Bridges BridgeReth.sol and BridgeSeth.sol in the following functions they both have: deposit(), depositEth(), withdraw(), unstake().
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.