Tadle

Tadle
DeFi
30,000 USDC
View results
Submission Details
Severity: low
Invalid

Protocol can't be paused, in case of emergency

Summary

Every smart contract on the project inherits Rescuable.sol, which on the other hand inherits OZ's Pausable.sol. This adds a pausing functionality, which will play a crutial role, if there is an emergency case.

Vulnerability Details

However in order to manage the pausing functionality properly the contracts/functions must implement the internal pause/unpause functions in external/public ones + whenNotPaused modifier. This is done only in the TokenManager::withdraw() function, i assume this is a design choice, but it might be best to protocol in case of emergency the offer taking/aborting or stock trading options to be stopped. Thus it can lead to unwanted results for the protocol and it's users.

Impact

  • Low, being able to take offers/trade stocks in an emergency moment can lead to unwanted results not in favor of the project or it's users

Tools Used

Manual Review

Recommendations

Add the whenNotPaused modifier on the necessary functions in PreMarkets and DeliveryPlace

Updates

Lead Judging Commences

0xnevi Lead Judge 10 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
Assigned finding tags:

[invalid] finding-Rescuable-pause-no-effect

I believe this is informational and non-acceptable severity because: - A single pause on withdraw to be sufficient to pause the markets during times of emergencies, given that is the only function where collateral/point tokens/native ETH can be pulled from market transactions. - Every tadle market place can be switched offline by the admin via [`updateMarketPlaceStatus`](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/SystemConfig.sol#L160-L171) and is checked in market actions via [`checkMarketPlaceStatus`](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/libraries/MarketPlaceLibraries.sol#L54-L67) to be online. This prevents many major market actions including the creation, listing and settlement of offers.

Support

FAQs

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