taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

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:
Mpackages/taler-util/src/types-taler-exchange.ts | 19+++++++++++++++++++
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 {