i_arbiterFee
is a fixed value and can brick payment in resolution of disputes if the payment token has a rebasing balance.
Instead, i_arbiterFee
should be a percentage and should the actual fee should be based on the current balance of the contract.
As can be seen above, there are three values that are sent:
buyerAward
- controlled by the arbiter, the refund that the buyer
will receive
i_arbiterFee
- predefined fixed value that the arbiter will receive
tokenBalance
- the remaining of the the contract will be sent to the seller
in case i_tokenContract
is a token that has a rebasing balance. i_arbiterFee
can be bigger then the current balance and resolveDispute
will revert in the following statement
Note that it is popular to use rebasing tokens. Additionally, it is common that projects (buyer
s) will request the payouts in their own token (which can be rebasing).
Funds can be locked in the Escrow contract due to rebasing
Manual
Instead of setting a fixed i_arbiterFee
either calculate the percentage at the escrow deployment or set the percentage directly.
This will also require to change resolveDispute
to send a percentage of the balance to arbiter
instead of a fixed payment
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.