40,000 USDC
View results
Submission Details
Severity: low

The refusal of the Arbiter to resolve disputes due to zero arbiter fees could lead to frozen funds

Summary

An issue has been identified where arbiters may refuse to resolve disputes if the arbiter fees are set to zero, resulting in funds becoming stuck within the Escrow contract.

Vulnerability Details

The Escrow contract currently lacks a validation mechanism to ensure that the buyer sets an appropriate arbiter's fee when selecting an arbiter. If the arbiter's fee is set to zero, arbiters might be disinclined to resolve disputes due to the substantial gas costs associated with executing the resolveDispute() function. Since this function involves multiple checks and token transfers, it becomes a gas-intensive operation for arbiters, and they may not be willing to bear the gas fees without receiving any compensation in return.

Recommendations

When a buyer sets an arbiter, it is crucial to enforce the setting of an appropriate arbiter's fee. This will incentivize arbiters to engage in dispute resolution, as they will receive compensation for their efforts.

if(arbiter != address(0){
if (arbiterFee <= 0) revert Escrow__ArbiterFeeNotSet();
}

Note: The protocol team has expressed interest in allowing reputable auditors to become arbiters in the future. So I believe this should be resolved on time.

Support

FAQs

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