Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Major change / Improvement] Change sending flow, UX + allow all paths #129

Closed
WietseWind opened this issue Apr 11, 2020 · 3 comments
Closed
Assignees
Labels
App iOS/Android App Discussion Tristan, Ali, Wietse & possibly others will have to discuss this first.

Comments

@WietseWind
Copy link
Member

WietseWind commented Apr 11, 2020

Suggested new Send flow, to streamline sending any currency to any currency, taking care of paths, rates (DEX), & 'wizard' based sending. Allow to send anything and deliver anything. Allow the user to select what to SEND and what to DELIVER, with:

  • If only one option: auto select and don't allow to change (eg. user has no trust lines (currencies), just select XRP. User XRP balance fully reserved but IOU present: select IOU)
  • If multiple options available: select (if possible) the same one (eg send Gatehub EUR = deliver Gatehub EUR, unless the recipient doesn't have that currency (trust line) setup), then force picking.

To consider:

  • Show live rates, respect ~ for either SENDing or DELIVERing
  • Only show/allow selection of liquid pairs (other pairs disabled after the enabled pairs, for the sake of visibility/recognizability)
  • Check Rippling possibility, so no paths dry message will be given if wrongly configured line is selected
  • If SENDing: just send what user selects. If DELIVERing, add the (IOU) transfer fee if present on selected pairs to the SENDing amount so the recipient will get the full DELIVER amount.
  • Ensure full delivery, so if the selected SEND balance is not sufficient, don't allow the user to select (use) that currency.

Idea: to make this less intimidating to users: we could just allow users to enter the sending amount at first, then to just inform them what will be delivered (existing behaviour; xrp<>xrp, same IOU<>same IOU, or sending IOU> XRP. The user could then tap "Change" and go the the more advanced behaviour where they can select SEND/DELIVER and pick currencies.

Use ... to find the available options & rates:

image

Impacts:
#18 Destination tag handling
#109 IOU DEX exchange notification
#76 Cross IOU sending

❗ When doing this make over, we should implement the same logic for:

  • The sending side for Sign Requests (+path finding), like the "Amount to DELIVER" flow for payloads with a predefined amount. If the amount for the Sign Request payload is empty (so the user can decide on the amount) then implement the exact same logic (Amount to [send/deliver] » Amount to [deliver/send]
  • IOU Currency Exchange. When tapping an IOU in the home screen, and tapping the "Exchange" button, we can use this exact same flow, except both the Sending and the Receiving account are the same (Prefilled and hidden)
@WietseWind WietseWind added App iOS/Android App Improvement TODO XRPL Backlog Discussion Tristan, Ali, Wietse & possibly others will have to discuss this first. and removed Improvement TODO XRPL Backlog labels Apr 11, 2020
@WietseWind WietseWind added this to Planned in V3+ Apr 11, 2020
@WietseWind WietseWind added this to Suggested in V3 (Milestone release) Apr 11, 2020
@WietseWind WietseWind moved this from Suggested to Planned in V3 (Milestone release) Apr 11, 2020
@WietseWind WietseWind added this to Backlog (or wait for another release) in XUMM 0.X, 1.X & 2.1 Apr 11, 2020
@canny
Copy link

canny bot commented Apr 11, 2020

This issue has been linked to a Canny post: XRPL PathFinding: Currency conversions. 🎉

@WietseWind
Copy link
Member Author

Note: pretty cool @N3TC4T:

{
  "command": "path_find",
  "subcommand": "create",
  "source_account": "rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT",
  "destination_account": "rwiETSee2wMz3SBnAG8hkMsCgvGy9LWbZ1",
  "destination_amount": {
    "value": "100",
    "currency": "USD",
    "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
  }
}

»
image

@WietseWind
Copy link
Member Author

Duplicates:
#129
#76
#108

Will be implemented as xApp (anything to anything)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App iOS/Android App Discussion Tristan, Ali, Wietse & possibly others will have to discuss this first.
Projects
V3+
  
Planned
Development

No branches or pull requests

3 participants