Unrestricted Buyer's Control on i_arbiterFee
Hinders Seller's Dispute Initiatives and disincentivize Seller from initialing dispute.
While deploying a new Escrow account, the value of arbiterFee
is controlled by the Protocol (Buyer).
The only condition for fee is that it should not be more than the total price
of the Audit.
Also, whenever the state of the contract goes into Disputed
state, Arbiter is guaranteed to be getting that fee because of the following line.
So now consider the following situation:
Protocol makes the Escrow account with price = 1000 USDC
and i_arbiterFee = 500 USDC
.
Now, if in case the initiateDispute
is called by anyone, the maximum final payout to be received by Auditor will be less than or equal to 500 USDC.
To visualize the impact for price = 1000 USDC
:
Percentage in Fee | arbiterFee | Max Seller can get |
---|---|---|
20% | 200 USDC | 800 USDC |
50% | 500 USDC | 500 USDC |
70% | 700 USDC | 300 USDC |
90% | 900 USDC | 100 USDC |
Given this situation, Buyer is incentivized to put i_arbiterFee
higher to have more power than seller and disincentive seller from calling initiateDispute
as seller will lose majority of the price to arbiter only in case seller chooses to go that path which you can see in the table above.
Despite Buyer not confirming the Receipt and releasing the payment for longer duration, the Seller will be hesitated to initiateDispute
because of losing the majority of his funds to arbiter
. And eventually even if seller indeed go that route, Seller will lose majority of his/her funds for his/her honest work.
Manual Review
I would recommend to put a Cap on the Maximum Percentage of value (5%, 10% or max 20%) a Buyer can put as i_arbiterFee
.
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.