Escrow UI review

In order to test the UI of escrow, we offer some bounties for this review.

The escrow is running on the kovan network. The link is https://escrow.kleros.io .

Critical bugs (10 000PNK)

Throwing transactions, calling bad functions or calls with bad parameters.
Call Functions missing.

Majors bugs (5 000PNK)

Allow or run multiple unintended transactions.
The UI is not updated with the last state of Ethereum.

Minor bugs (1 000PNK)

Description of the call function is bad or not clear.
Bad UI/UX experience (colors, alignments…).

Form to subscribe to this program:

https://goo.gl/forms/SeGlCRK1D5dpvD0Y2
An email will be sent to you within 48 hours with additional information.

Note

There is no bounty for the responsive design, the “timeout” pages and the email notifications at this moment.

If you found a bug you can comment this post.

occurs when you lost the dispute as a submitter and try to appeal.


[minor bug] : can’t access dispute directly via url. but will works if we reload the page

[improval suggestion] : https://youtu.be/OpCS41cBylQ
incremental dispute ranking is terrible for privacy, hashing the index should be easy and better.

For the first message, did you use escrow.kleros.io or your own centralized arbitrator? In the second case if you use this arbitrator https://github.com/kleros/kleros-interaction/blob/6005619af04a2c882e8bd0e619a85ffa726bd980/contracts/standard/arbitration/CentralizedArbitrator.sol#L20 the appeal cost is very expensive to block to appeal. I send you in pm the private key of this appealable arbitrator.

For the second one, it’s a netlify wired bug. It happens in rare cases for reasons I don’t know about. But in general it works see https://youtu.be/OpCS41cBylQ :stuck_out_tongue:

For the third one, even if we use a hash for the UI we can scraping the smart contract (and general it’s easier to scrap the smart contract than the UI). And a hash in the smart contract it doesn’t really solve the problem. There are many improvements to be made on the privacy side I note for future versions. In this case the best way if you want to have more privacy is to use an “anonymous” ethereum address (but yes not very top for the UX).

  1. The date/time is not from local timezone of the machine - users get confused easily and he has to convert it.
  2. Raise dispute: you will need to pay the arbitration fee of 0.00000000000000001ETH. - is this number configured by the user?
  3. Button name is called ‘Raise dispute’ in receiver’s page is confusing if the sender raised dispute first - Receiver is wondering why should he raise dispute when the sender is not happy? Better to have some description to let the receiver know that sender raised the dispute and he has to response.
  4. “…” at the right bottom corner makes me clicking on it - but nothing happens.
  5. Share Transaction as an Invoice…The copy button should be enabled all the time even after clicking on it - If I copy something else before I paste this link I am not able to copy this again.
  1. Users can be different timezones, to avoid any misunderstanding and because in some ways the smart contract also uses UTC it is preferable that the UI displays UTC.
  2. It’s a dynamic variable. It depends the cost of the arbitration fee. For this demo, we use a very low amount but in practical it’s about 0.01ETH with Kleros.
  3. If any parties raised dispute, the other party has a screen to pay the arbitration fee to avoid to lose the dispute. Of course we could add a chat in the application so that the parties can discuss before raising a dispute but there are many applications that can have this role very well like Telegram or WhatsApp. On the other hand, if a party raises a dispute without having tried to resolve it in a friendly manner, it may be held against him/her in the court.
  4. Yes I can make this clickable. Normally we need to use the arrow on the top right.
  5. Yes.