summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api-exchange.rst54
1 files changed, 51 insertions, 3 deletions
diff --git a/core/api-exchange.rst b/core/api-exchange.rst
index 4ae050d1..76631ee7 100644
--- a/core/api-exchange.rst
+++ b/core/api-exchange.rst
@@ -1188,7 +1188,55 @@ exchange.
| ReserveWithdrawTransaction
| ReserveCreditTransaction
| ReserveClosingTransaction
- | ReserveRecoupTransaction;
+ | PurseMergeTransaction;
+
+ .. ts:def:: PurseMergeTransaction
+
+ interface PurseMergeTransaction {
+ type: "MERGE";
+
+ // SHA-512 hash of the contact of the purse.
+ h_contract_terms: HashCode;
+
+ // EdDSA public key used to approve merges of this purse.
+ merge_pub: EddsaPublicKey;
+
+ // Minimum age required for all coins deposited into the purse.
+ min_age: Integer;
+
+ // Number that identifies who created the purse
+ // and how it was paid for.
+ flags: Integer;
+
+ // Purse public key.
+ purse_pub: EddsaPublicKey;
+
+ // EdDSA signature of the account/reserve affirming the merge
+ // over a `TALER_AccountMergeSignaturePS`.
+ // Must be of purpose ``TALER_SIGNATURE_ACCOUNT_MERGE``
+ reserve_sig: EddsaSignature;
+
+ // Client-side timestamp of when the merge request was made.
+ merge_timestamp: Timestamp;
+
+ // Indicative time by which the purse should expire
+ // if it has not been merged into an account. At this
+ // point, all of the deposits made should be
+ // auto-refunded.
+ purse_expiration: Timestamp;
+
+ // Purse fee the reserve owner paid for the purse creation.
+ purse_fee: Amount;
+
+ // Total amount merged into the reserve.
+ // (excludes fees).
+ amount: Amount;
+
+ // True if the purse was actually merged.
+ // If false, only the purse_fee has an impact
+ // on the reserve balance!
+ merged: Boolean;
+ }
.. ts:def:: ReserveHistoryTransaction
@@ -1196,7 +1244,7 @@ exchange.
type: "HISTORY";
// Fee agreed to by the reserve owner.
- history_fee: Amount;
+ amount: Amount;
// Time when the request was made.
request_timestamp: Timestamp;
@@ -1652,7 +1700,7 @@ exchange.
balance: Amount;
// History of the reserve's activity, in the same format
- // as returned by ``/reserve/status``.
+ // as returned by ``/reserve/$RID/history``.
history: TransactionHistoryItem[]
}