- PUT /deposit-confirmation#
Submits a DepositConfirmation to the exchange. Should succeed unless the signature provided is invalid or the exchange is not audited by this auditor.
Response:
- 200 Ok:
The auditor responds with a DepositAudited object. This request should virtually always be successful.
- 403 Forbidden:
The signature on the deposit confirmation is invalid.
- 410 Gone:
The public key used to sign the deposit confirmation was revoked.
Details:
interface DepositAudited { // TODO: maybe change to 204 No content instead? }
interface DepositConfirmation { // Hash over the contract for which this deposit is made. h_contract_terms: HashCode; // Hash over the extensions. h_extensions: HashCode; // Hash over the wiring information of the merchant. h_wire: HashCode; // Time when the deposit confirmation confirmation was generated. timestamp: Timestamp; // How much time does the merchant have to issue a refund // request? Zero if refunds are not allowed. refund_deadline: Timestamp; // By what time does the exchange have to wire the funds? wire_deadline: Timestamp; // Amount to be deposited, excluding fee. Calculated from the // amount with fee and the fee from the deposit request. amount_without_fee: Amount; // Array of public keys of the deposited coins. coin_pubs: EddsaPublicKey[]; // Array of deposit signatures of the deposited coins. // Must have the same length as coin_pubs. coin_sigs: EddsaSignature[]; // The Merchant's public key. Allows the merchant to later refund // the transaction or to inquire about the wire transfer identifier. merchant_pub: EddsaPublicKey; // Signature from the exchange of type // TALER_SIGNATURE_EXCHANGE_CONFIRM_DEPOSIT. exchange_sig: EddsaSignature; // Public signing key from the exchange matching exchange_sig. exchange_pub: EddsaPublicKey; // Master public key of the exchange corresponding to master_sig. // Identifies the exchange this is about. // @deprecated since v1 (now ignored, global per auditor) master_pub: EddsaPublicKey; // When does the validity of the exchange_pub end? ep_start: Timestamp; // When will the exchange stop using the signing key? ep_expire: Timestamp; // When does the validity of the exchange_pub end? ep_end: Timestamp; // Exchange master signature over exchange_sig. master_sig: EddsaSignature; }
Note
This endpoint is still experimental (and is not yet implemented at the time of this writing). A key open question is whether the auditor should sign the response information.