OpenBazaar / openbazaar-desktop

OpenBazaar 2.0 Desktop Client (talks to openbazaar-go server daemon)
MIT License
646 stars 186 forks source link

Requirements: All Parties Must Have ETH to Pay Gas #1849

Open jjeffryes opened 4 years ago

jjeffryes commented 4 years ago

There's a gap in our UX where any time funds are moved in a contract for an ETH order, gas needs to be paid into the contract, and if the user moving the funds does not have enough gas, the funds aren't moved. In some cases this happens automatically, and there isn't an obvious way to alert the user that something has failed.

There are 3 known places this can happen, and maybe others:

  1. Accepting a refund.
    • This requires user interaction, so showing an error would work here.
  2. Claiming payment after an order is complete.
    • This is tricky because currently sellers don't have to take any action to get funds from completed orders, so there isn't a natural area to warn sellers they have funds that aren't being collected due to insufficient gas.
  3. Accepting a dispute resolution.
    • This requires user interaction, so we could show an error here.
  4. We need to double check whether there are other places this could happen.
    • ex: does the buyer have to pay gas to create the purchase separate from funding the order?

We should consider whether we want to be proactive or reactive for this. Do we warn the user when they don't have enough ETH before hand, or wait until it is an issue?

ex: if a seller has ETH transactions in-flight, should we warn them then, or only when the order is completed?

Should they be warned when they create a listing that accepts ETH that they won't be able to collect payment unless they deposit some ETH? If they don't have an easy way to obtain ETH, this could be a very big problem.

There's a server issue with some suggestions for making this less of an issue by adjusting how the gas is paid that we should consider along with this: https://github.com/OpenBazaar/openbazaar-go/issues/1798

Pre-meeting TODOs:

jjeffryes commented 4 years ago

@drwasho did you find out when Ashwin could participate in a requirements meeting for this?

It looks like we'll probably need to do it in January, since we're getting a little tight on the 0.13.8 server update.

jjeffryes commented 4 years ago

@drwasho just a reminder here that we need to coordinate a time to go over this.