commit cb5cd67d694a7227a4035062d79b37a61a980161
parent 10f80d4a9a3849c92b792de366b7213c07d27a09
Author: Florian Dold <florian@dold.me>
Date: Mon, 1 Jun 2026 18:19:48 +0200
util: parse all fields on ExchangePurseStatus
Diffstat:
1 file changed, 19 insertions(+), 0 deletions(-)
diff --git a/packages/taler-util/src/types-taler-exchange.ts b/packages/taler-util/src/types-taler-exchange.ts
@@ -1509,6 +1509,22 @@ export interface ExchangePurseStatus {
// However, this should also not be relied upon. The key
// property is that it is either "never" or in the past.
merge_timestamp?: TalerProtocolTimestamp;
+
+ // Time when the purse expires and
+ // funds that were not merged are refunded
+ // on the deposited coins.
+ // FIXME: Document the exchange protocol version
+ // in which this field became available.
+ purse_expiration?: Timestamp | undefined;
+
+ // EdDSA signature of the exchange over a
+ // TALER_PurseStatusResponseSignaturePS
+ // with purpose TALER_SIGNATURE_PURSE_STATUS_RESPONSE
+ // affirming the purse status.
+ exchange_sig: EddsaSignature;
+
+ // EdDSA public key exchange used for 'exchange_sig'.
+ exchange_pub: EddsaPublicKey;
}
export const codecForExchangePurseStatus = (): Codec<ExchangePurseStatus> =>
@@ -1516,6 +1532,9 @@ export const codecForExchangePurseStatus = (): Codec<ExchangePurseStatus> =>
.property("balance", codecForAmountString())
.property("deposit_timestamp", codecOptional(codecForTimestamp))
.property("merge_timestamp", codecOptional(codecForTimestamp))
+ .property("exchange_sig", codecForEddsaSignature())
+ .property("exchange_pub", codecForEddsaPublicKey())
+ .property("purse_expiration", codecOptional(codecForTimestamp))
.build("ExchangePurseStatus");
export interface TrackTransactionWired {