taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 420a45a8fe2ae23a7a182fa90e8d19513d04f462
parent e59e195ba52ae9793bcc3f8c2691f115f1c86817
Author: Bohdan Potuzhnyi <bohdan.potuzhnyi@gmail.com>
Date:   Tue, 23 Sep 2025 17:48:11 +0200

0010443

Diffstat:
Mcore/api-donau.rst | 47++++++++++++++---------------------------------
1 file changed, 14 insertions(+), 33 deletions(-)

diff --git a/core/api-donau.rst b/core/api-donau.rst @@ -100,47 +100,23 @@ long-term offline signing key of the Donau, which clients should cache. // The Donau's currency. currency: string; - // Donation Units offered by this Donau - donation_units: DonationUnitKeyGroup[]; + // Donation units offered by this Donau. Each entry enumerates a + // specific key together with its value and status. + donation_units: DonationUnit[]; // The Donau's signing keys. signkeys: SignKey[]; } - .. ts:def:: DonationUnitKeyGroup + .. ts:def:: DonationUnit - type DonationUnitKeyGroup = - | DonationUnitKeyGroupRsa - | DonationUnitKeyGroupCs; - - .. ts:def:: DonationUnitKeyGroupRsa - - interface DonationUnitKeyGroupRsa extends DonationUnitKeyGroupCommon { - cipher: "RSA"; - - donation_units: ({ - rsa_pub: RsaPublicKey; - } & DonationUnitKeyCommon)[]; - } - - .. ts:def:: DonationUnitKeyGroupCs - - interface DonationUnitKeyGroupCs extends DonationUnitKeyGroupCommon { - cipher: "CS"; - - donation_units: ({ - cs_pub: Cs25519Point; - } & DonationUnitKeyCommon)[]; - } - - .. ts:def:: DonationUnitKeyGroupCommon - - // Common attributes for all donation unit groups - interface DonationUnitKeyGroupCommon { - // How much was donated based on this donation receipt. + interface DonationUnit extends DonationUnitKeyCommon { + // How much a receipt signed with this key is worth. value: Amount; + // Public key material of the donation unit. + donation_unit_pub: DonationUnitKey; } .. ts:def:: DonationUnitKeyCommon @@ -170,6 +146,9 @@ long-term offline signing key of the Donau, which clients should cache. // RSA public key rsa_public_key: RsaPublicKey; + + // Hash of the RSA public key, as used in other API calls. + pub_key_hash: HashCode; } .. ts:def:: CSDonationUnitKey @@ -180,6 +159,8 @@ long-term offline signing key of the Donau, which clients should cache. // Public key of the donation unit. cs_public_key: Cs25519Point; + // Hash of the CS public key, as used in other API calls. + pub_key_hash: HashCode; } A signing key in the ``signkeys`` list is a JSON object with the following fields: @@ -288,7 +269,7 @@ CSR Issue // Hash of the public key of the donation unit // the request relates to. - donation_unit_pub_hash: HashCode; + du_pub_hash: HashCode; }