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

SEP-24 Fixed the missing link and changed pooled account to muxed account #1316

Merged
merged 5 commits into from
Nov 7, 2022
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions ecosystem/sep-0024.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Title: Hosted Deposit and Withdrawal
Author: SDF
Status: Active
Created: 2019-09-18
Updated: 2022-11-02
Version 2.6.1
Updated: 2022-11-07
Version 2.6.2
```

## Simple Summary
Expand Down Expand Up @@ -53,7 +53,7 @@ Authorization: Bearer <JWT>

In the case of the interactive webapp, since the client cannot add the authorization header, we recommend passing a short-lived JWT via URL query parameters and then using your own backend session scheme for the rest of the interactive flow. Query parameters can leak, so its important to have this JWT be one-time use, or at least short-lived.

### Shared, Omnibus, or Pooled Accounts
### Shared, Omnibus, or Muxed Accounts
lijamie98 marked this conversation as resolved.
Show resolved Hide resolved

Client applications can use a single Stellar account to hold multiple users' funds. To distinguish users that use the same Stellar account, the decoded SEP-10 JWT's `sub` value may contain a memo value after the Stellar account (`G...:2810101841641761712`) OR the `sub` value will be a [Muxed Account (`M...`)](../core/cap-0027.md). The anchor should use this `sub` attribute in their data model to identify unique users.

Expand Down Expand Up @@ -168,10 +168,10 @@ SEP-24 lays out many options for how deposit and withdrawal can work. These are
* **For `/transactions/deposit/interactive` and `/transactions/withdraw/interactive`**
* Optionally attach any fields from [SEP-9](sep-0009.md) as POST parameters in the `/deposit` or `/withdraw` endpoints in order to let the anchor pre-fill them in the interactive flow UI. This is optional, but can create a much nicer user experience. `email_address`, `first_name` and `last_name` are good examples of fields to help pre-fill the anchors website.
* **For `/transactions/deposit/interactive`**
* Handle the interactive flow, handle it as [described in detail](#2-interactive-customer-information-needed).
* Handle the interactive flow, handle it as [described in detail](#interactive-customer-information-needed).
* Handle the [special cases](#special-cases), they're relatively common.
* **For `/transactions/withdraw/interactive`**
* Handle the interactive flow, handle it as [described in detail](#2-interactive-customer-information-needed).
* Handle the interactive flow, handle it as [described in detail](#interactive-customer-information-needed).
* When the transaction status becomes `pending_user_transfer_start` send the required payment as described in the interactive webapp callback or the `/transaction` endpoint. This can be a `payment` or `path_payment` operation. Sending payments via `account_merge` or `create_account` is not supported at this time.
* Some wallets might exchange currencies only once they're ready to send the withdrawal payment, so exchange rate fluctuations might require withdrawal values to slightly vary from the originally provided `amount`. Anchors are instructed to accept a variation of ±10% between the informed `amount` and the actual value sent to the anchor's Stellar account. The withdrawn amount will be adjusted accordingly.
* **Transaction history**
Expand All @@ -183,7 +183,7 @@ SEP-24 lays out many options for how deposit and withdrawal can work. These are
* Provide a full-featured implementation of [`/info`](#info).
* Pick your approach to [fees](https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0006.md#fee). We recommend using `/info` to express fees as it provides a better user experience (the user can see the fee structure in the wallet early in the process).
* **For both deposit and withdrawal**:
* To start an interactive flow, provide the [Customer info needed response](#3-customer-information-needed-interactive).
* To start an interactive flow, provide the [Customer info needed response](#interactive-customer-information-needed).
* Some wallets may include other fields indicated in [SEP-9](sep-0009.md) as POST parameters added to the `/transactions/deposit/interactive` or `/transactions/withdraw/interactive` endpoints. These can be stored and used to pre-populate fields in the interactive flow. This is optional for the wallet to provide and optional for anchors to respect, but it does create a much nicer user experience.
* Include the `id` field in your response to `/transactions/deposit/interactive` and `/transactions/withdraw/interactive` so the wallet can check up on the status of the transaction if it wants.
* Also include the `id` field in the popup URL you provide to the wallet. This allows you to keep track of the transaction when the user visits the URL.
Expand Down Expand Up @@ -392,7 +392,7 @@ Responses are detailed in the [Deposit and Withdraw shared responses](#deposit-a

## Deposit and Withdraw shared responses

### 2. Interactive customer information needed
### Interactive customer information needed

Response code: `200 OK`

Expand Down Expand Up @@ -987,7 +987,7 @@ There is a small set of changes when upgrading from SEP-6 to SEP-24.
* Solar wallet: https://solarwallet.io

## Changelog

* `v2.6.2`: Fixed the missing link of customer information needed and renamed Pooled account to Muxed account. ([#1316](https://github.com/stellar/stellar-protocol/pull/1316))
* `v2.6.0`: Add callback signature and verification requirement. ([#1263](https://github.com/stellar/stellar-protocol/pull/1263))
* `v2.5.0`: Add `expired` transaction status. ([#1233](https://github.com/stellar/stellar-protocol/pull/1233))
* `v2.4.0`: Add `refunded` transaction status. ([#1195](https://github.com/stellar/stellar-protocol/pull/1195))
Expand Down