DittoETH

Ditto
DeFiFoundryOracle
55,000 USDC
View results
Submission Details
Severity: low
Invalid

Missing event

Summary

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.

Vulnerability Details

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)

Impact

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.

Tools Used

Manual review

Recommendations

Add emit() to two Bridges BridgeReth.sol and BridgeSeth.sol in the following functions they both have: deposit(), depositEth(), withdraw(), unstake().

Updates

Lead Judging Commences

0xnevi Lead Judge
almost 2 years ago
0xnevi Lead Judge almost 2 years ago
Submission Judgement Published
Invalidated
Reason: Other

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.