Pausing the withdrawal function can prevent a protected mode Ask offer maker (non-OriginalMaker) from withdrawing their pointTokens, leading to various issues.
When users call PreMarket::listOffer
to sell points bought from another offer in protected mode, it creates another link in the chain of offers that must settle with each other, starting from the original offer maker. Consider the scenario discussed in the [Tadle documentation, where a chain of offer makers relies on each other to settle the bidder takers](https://tadle.gitbook.io/tadle/how-t works/mechanics-of-tadle/protected-mode#for-sell-offers).
As we can see, before Dany can settle with Evan and avoid the punishment for failing to settle on time, he must wait for everyone up the chain to settle themselves.
The settlement process sends the received pointTokens to the receiver's Tadle balance. If the withdrawal function is paused, it causes a significant delay in the settlement process, especially since users have a "settlement deadline" of 24 to 72 (max) hours, according to the documentation. Additionally, considering there is no limit to how long this chain can grow, the likelihood of the vulnerability increases significantly, especially as the protocol's user base grows.
There is a high likelihood of potential loss of collateral funds for the Ask settlers.
Manual
Consider sending the received pointTokens directly to the receiver's address. Also, cap the chain of sub-offers. Lastly, perform a pro and con analysis of having the pause functionality on the TokenManager::withdraw
function.
The following issues and its duplicates are invalid as admin errors/input validation/malicious intents are1 generally considered invalid based on [codehawks guidelines](https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity#findings-that-may-be-invalid). If they deploy/set inputs of the contracts appropriately, there will be no issue. Additionally admins are trusted as noted in READ.ME they can break certain assumption of the code based on their actions, and
The following issues and its duplicates are invalid as admin errors/input validation/malicious intents are1 generally considered invalid based on [codehawks guidelines](https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity#findings-that-may-be-invalid). If they deploy/set inputs of the contracts appropriately, there will be no issue. Additionally admins are trusted as noted in READ.ME they can break certain assumption of the code based on their actions, and
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.