In the Tadle protocol, when a seller fails to settle a transaction, the buyer should be able to withdraw their funds, along with any compensation from the seller, from the DeliveryPlace contract. However, due to the current implementation, the buyer is unable to do so.
The issue arises from the logic in the DeliveryPlace contract. The contract is supposed to facilitate the withdrawal of funds for the buyer if the seller fails to settle. However, the current implementation lacks the proper mechanisms or conditions that trigger this withdrawal process, leaving the buyer's funds locked within the contract.
Scenario: Alice (Seller) fails to settle a transaction for Bob (Buyer) within the specified timeframe.
Contract Interaction: Bob attempts to withdraw his funds plus compensation from the DeliveryPlace contract.
Expected Outcome: Bob successfully withdraws his funds and compensation.
Actual Outcome: Bob’s transaction fails, and he is unable to withdraw his funds.
This issue has a significant impact on the usability of the Tadle protocol.
Review and Refactor Withdrawal Logic: Ensure that the withdrawal function correctly checks the settlement state and allows buyers to withdraw their funds and compensation when a seller fails to settle.
Invalid, the makers are incentivized to settle offers to earn maker bonuses when subsequent takers and makers make trade using the original collateral put up for points as well as get back their initial collateral. Additionally, if they do not settle on time, they will lose all their initial collateral, forcing the `owner` to come in and perform the settlement and retrieving that collateral. This is noted as a design decision [here](https://tadle.gitbook.io/tadle/how-tadle-works/features-and-terminologies/settlement-and-collateral-rate) If all else fails, the `owner` can come in to settle as seen [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/DeliveryPlace.sol#L254-L256) and [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/DeliveryPlace.sol#L365-L367) offers to allow closing offers and subsequently allowing refunds. I acknowledge that perhaps a more decentralized
Invalid, the makers are incentivized to settle offers to earn maker bonuses when subsequent takers and makers make trade using the original collateral put up for points as well as get back their initial collateral. Additionally, if they do not settle on time, they will lose all their initial collateral, forcing the `owner` to come in and perform the settlement and retrieving that collateral. This is noted as a design decision [here](https://tadle.gitbook.io/tadle/how-tadle-works/features-and-terminologies/settlement-and-collateral-rate) If all else fails, the `owner` can come in to settle as seen [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/DeliveryPlace.sol#L254-L256) and [here](https://github.com/Cyfrin/2024-08-tadle/blob/04fd8634701697184a3f3a5558b41c109866e5f8/src/core/DeliveryPlace.sol#L365-L367) offers to allow closing offers and subsequently allowing refunds. I acknowledge that perhaps a more decentralized
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.