commit 79cb33f07bf4581a01ce7eadb548f1adf434ac0b
parent 4cd1c5039f5772e747e20249a7a58fa94d4fac03
Author: Christian Grothoff <christian@grothoff.org>
Date: Wed, 20 Nov 2024 22:44:24 +0100
spec for #9346
Diffstat:
1 file changed, 31 insertions(+), 24 deletions(-)
diff --git a/core/api-exchange.rst b/core/api-exchange.rst
@@ -59,7 +59,7 @@ possibly by using HTTPS.
as well as the list of possible KYC requirements. This endpoint is largely
for the SPA for AML officers. Merchants should use ``/keys`` which also
contains the protocol version and currency.
- This specification corresponds to ``current`` protocol being **v21**.
+ This specification corresponds to ``current`` protocol being **v23**.
**Response:**
@@ -78,7 +78,7 @@ possibly by using HTTPS.
name: "taler-exchange";
// URN of the implementation (needed to interpret 'revision' in version).
- // @since **v18**, may become mandatory in the future.
+ // @since protocol **v18**, may become mandatory in the future.
implementation?: string;
// Currency supported by this exchange, given
@@ -87,7 +87,7 @@ possibly by using HTTPS.
// Shopping URL where users may find shops that accept
// digital cash issued by this exchange.
- // @since **v21**.
+ // @since protocol **v21**.
shopping_url?: string;
// How wallets should render this currency.
@@ -105,8 +105,8 @@ possibly by using HTTPS.
name: string;
// Code of the currency.
- // Deprecated in protocol **v18** for the exchange
- // and in protocol **v6** for the merchant.
+ // @deprecated in protocol **v18** for the exchange, and
+ // @deprecated in protocol **v6** for the merchant.
currency: string;
// how many digits the user may enter after the decimal_separator
@@ -232,7 +232,7 @@ possibly by using HTTPS.
// All of the given limits will be hard limits.
// Wallets and merchants are expected to obey them
// and not even allow the user to cross them.
- // Since protocol **v21**.
+ // @since protocol **v21**.
hard_limits: AccountLimit[];
// Array of limits with a soft threshold of zero
@@ -240,7 +240,7 @@ possibly by using HTTPS.
// Wallets and merchants are expected to trigger
// a KYC process before attempting any zero-limited
// operations.
- // Since protocol **v21**.
+ // @since protocol **v21**.
zero_limits: ZeroLimitedOperation[];
// Denominations offered by this exchange
@@ -314,12 +314,12 @@ possibly by using HTTPS.
// Display label wallets should use to show this
// bank account.
- // Since protocol **v19**.
+ // @since protocol **v19**.
bank_label?: string;
// *Signed* integer with the display priority for
// this bank account. Optional, 0 if missing.
- // Since protocol **v19**.
+ // @since protocol **v19**.
priority?: Integer;
}
@@ -1190,12 +1190,12 @@ Management operations authorized by master key
// Display label wallets should use to show this
// bank account.
- // Since protocol **v19**.
+ // @since protocol **v19**.
bank_label?: string;
// *Signed* integer with the display priority for
// this bank account.
- // Since protocol **v19**.
+ // @since protocol **v19**.
priority?: Integer;
}
@@ -1507,6 +1507,13 @@ exchange.
// Balance left in the reserve.
balance: Amount;
+ // Full payto URI of the bank account that
+ // (most recently) funded this reserve.
+ // Useful as a hint for deposit operations for wallets.
+ // Missing if this reserve was only filled via P2P merges.
+ // @since protocol **v23**.
+ last_origin?: string;
+
// If set, age restriction is required to be set for each coin to this
// value during the withdrawal from this reserve. The client then MUST
// use a denomination with support for age restriction enabled for the
@@ -2789,7 +2796,7 @@ proof to the seller for the escrow of sufficient fund.
This merchant has not yet passed the KYC checks.
The client must pass KYC checks before proceeding with the deposit.
The response will be an `LegitimizationNeededResponse` object.
- Since protocol **v21**.
+ @since protocol **v21**.
**Details:**
@@ -2809,7 +2816,7 @@ proof to the seller for the escrow of sufficient fund.
h_contract_terms: HashCode;
// Merchant's signature over the h_contract_terms.
- // @since v22
+ // @since protocol **v22**
merchant_sig: EddsaSignature;
// The list of coins that are going to be deposited with this Request.
@@ -3727,7 +3734,7 @@ typically also view the balance.)
// Refunds that were applied to the value of
// this coin. Optional.
- // Since protocol **v19**. Before, refunds were
+ // @since protocol **v19**. Before, refunds were
// incorrectly still included in the
// ``deposit_value`` (!).
refund_total?: Amount;
@@ -3754,7 +3761,7 @@ typically also view the balance.)
Specifies what status change we are long-polling for.
Use 1 to wait for the a 202 state where ``kyc_ok`` is false *or* a 200 OK response.
2 to wait exclusively for a 200 OK response.
- Since protocol **v21**.
+ @since protocol **v21**.
**Response:**
@@ -3833,7 +3840,7 @@ typically also view the balance.)
// with the account and the client MUST thus first
// credit the exchange via an inbound wire transfer
// to associate a public key with the debited account.
- // Since protocol **v20**.
+ // @since protocol **v20**.
account_pub?: EddsaPublicKey;
}
@@ -4806,7 +4813,7 @@ regulatory compliance.
Use 1 to wait for the KYC auth transfer (access token available),
2 to wait for an AML investigation to be done,
and 3 to wait for the KYC status to be OK.
- Since protocol **v21**.
+ @since protocol **v21**.
:query timeout_ms=NUMBER: *Optional.* If specified, the exchange will
wait up to ``timeout_ms`` milliseconds if the requirement continues
to be mandatory provisioning of KYC data by the client.
@@ -4969,7 +4976,7 @@ regulatory compliance.
is_and_combinator?: boolean
// List of available voluntary checks the client could undertake.
- // Since **vATTEST**.
+ // @since protocol **vATTEST**.
voluntary_measures?: KycRequirementInformation[];
}
@@ -5069,7 +5076,7 @@ regulatory compliance.
As this endpoint is involved in every KYC check at the beginning, this
is also the place where we could integrate the payment process for the KYC fee
- in the future (since **vATTEST**).
+ in the future (since protocol **vATTEST**).
.. http:get:: /kyc-proof/$PROVIDER_NAME?state=$H_NORMALIZED_PAYTO
@@ -5234,12 +5241,12 @@ and freeze or unfreeze accounts suspected of money laundering.
// (p2p) "MERGE", (wallet) "BALANCE",
// (reserve) "CLOSE", "AGGREGATE",
// "TRANSACTION" or "REFUND".
- // New in protocol **v21**.
+ // @since protocol **v21**.
operation_type?: string;
// Can this measure be undertaken voluntarily?
// Optional, default is false.
- // Since protocol **vATTEST**.
+ // @since protocol **vATTEST**.
voluntary?: boolean;
}
@@ -5654,7 +5661,7 @@ and freeze or unfreeze accounts suspected of money laundering.
// Optional. Must be given if the account is not yet
// known to the exchange. If given, must match ``h_payto``
// (when normalized and then hashed).
- // New since protocol **v21**.
+ // @since protocol **v21**.
payto_uri?: string;
// What are the new rules?
@@ -5676,11 +5683,11 @@ and freeze or unfreeze accounts suspected of money laundering.
// specified, only the first measure's program will
// run immediately.
//
- // New since protocol **v21**.
+ // @since protocol **v21**.
new_measures?: string;
// True if the account should remain under investigation by AML staff.
- // New since protocol **v20**.
+ // @since protocol **v20**.
keep_investigating: boolean;
// Signature by the AML officer over a `TALER_AmlDecisionPS`.