commit f1f42d8d93384605dda66ab4234fdf16a1bbd2e7 parent e01561970b18f0b3b6d7f0c36ac587855a8da0a1 Author: Christian Grothoff <christian@grothoff.org> Date: Sun, 21 Sep 2025 19:34:36 +0200 add missing donau specs Diffstat:
| M | core/api-donau.rst | | | 28 | ++++++++++++++++++++++------ |
| M | core/api-merchant.rst | | | 22 | ++++++++++++++++++++++ |
2 files changed, 44 insertions(+), 6 deletions(-)
diff --git a/core/api-donau.rst b/core/api-donau.rst @@ -364,21 +364,37 @@ corresponding charity_id by the Donau. .. ts:def:: IssueReceiptsRequest interface IssueReceiptsRequest { + + // Signature by the charity approving that the + // Donau should sign the donation receipts below. charity_sig: EddsaSignature; + + // Year for which the donation receipts are expected. + // Also determines which keys are used to sign the + // blinded donation receipts. year: Integer; - budikeypairs: BUDIKeyPairs[]; + + // Array of blinded donation receipts to sign. + // Must NOT be empty (if no donation receipts + // are desired, just leave the entire ``donau`` + // argument blank). + budikeypairs: BlindedDonationReceiptKeyPair[]; } - .. ts:def:: BUDIKeyPairs + .. ts:def:: BlindedDonationReceiptKeyPair - interface BUDIKeyPairs { + interface BlindedDonationReceiptKeyPair { + // Hash of the public key that should be used to sign + // the donation receipt. h_donation_unit_pub: HashCode; - blinded_udi: BUDI; + + // Blinded value to give to the Donau to sign over. + blinded_udi: BlindedUniqueDonationIdentifier; } - .. ts:def:: BUDI + .. ts:def:: BlindedUniqueDonationIdentifier - type BUDI = RSABUDI | CSBUDI ; + type BlindedUniqueDonationIdentifier = RSABUDI | CSBUDI ; .. ts:def:: RSABUDI diff --git a/core/api-merchant.rst b/core/api-merchant.rst @@ -649,6 +649,28 @@ Making the payment // Output tokens specified in choice indicated by ``choice_index``. // @since protocol **v21** tokens_evs?: TokenEnvelope[]; + + // Request for donation receipts to be issued. + // @since protocol **v21** + donau?: DonationRequestData; + } + + .. ts:def:: DonationRequestData + + interface DonationRequestData { + // Base URL of the selected Donau + url: string; + + // Year for which the donation receipts are expected. + // Also determines which keys are used to sign the + // blinded donation receipts. + year: Integer; + + // Array of blinded donation receipts to sign. + // Must NOT be empty (if no donation receipts + // are desired, just leave the entire ``donau`` + // argument blank). + budikeypairs: BlindedDonationReceiptKeyPair[]; } .. ts:def:: CoinPaySig