Contents

POST /csr-issue#

Obtain donau-side input values in preparation for a issue receipt step for certain donation unit cipher types, specifically at this point for Clause-Schnorr blind signatures. This API is used by the donor.

Request: The request body must be a IssuePrepareRequest object.

Response:

200 OK:

The request was successful, and the response is a IssuePrepareResponse. Note that repeating exactly the same request will again yield the same response (assuming none of the donation unit is expired).

404 Not found:

The donation unit key is not known to the donau.

410 Gone:

The requested donation unit key is not yet or no longer valid. It either before the validity year, past the year or was revoked. The response is a DonationUnitExpiredMessage. Clients must evaluate the error code provided to understand which of the cases this is and handle it accordingly.

Details:

interface IssuePrepareRequest {

  // Nonce to be used by the donau to derive
  // its private inputs from. Must not have ever
  // been used before.
  nonce: CSNonce;

  // Hash of the public key of the donation unit
  // the request relates to.
  du_pub_hash: HashCode;

}
type IssuePrepareResponse =
  | DonauIssueValue;
type DonauIssueValue =
  | DonauRsaIssueValue
  | DonauCsIssueValue;
interface DonauRsaIssueValue {
  cipher: "RSA";
}
interface DonauCsIssueValue {
  cipher: "CS";

  // CSR R0 value
  r_pub_0: CSRPublic;

  // CSR R1 value
  r_pub_1: CSRPublic;
}