remove redundant fields from ContractPS (#4859)

This commit is contained in:
Florian Dold 2017-01-13 16:47:09 +01:00
parent 0bfb5b2509
commit d2302da332
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B

View File

@ -1030,13 +1030,6 @@ struct TALER_WireDepositDataPS
/**
* The contract sent by the merchant to the wallet.
*
* Some fields are lifted from the contract and signed over in addition to the
* contract hash. This redundancy allows these pieces of information can be
* verified without knowing the whole content of the contract.
* The mechant backend's "/pay" handler, for example, can verify that a deposit
* permission relates to a valid contract this way without having to have the
* full contract.
*/
struct TALER_ContractPS
{
@ -1046,43 +1039,11 @@ struct TALER_ContractPS
*/
struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
/**
* Merchant-generated transaction ID to detect duplicate
* transactions, in big endian. The merchant must communicate a
* merchant-unique ID to the customer for each transaction. Note
* that different coins that are part of the same transaction can
* use the same transaction ID. The transaction ID is useful for
* later disputes, and the merchant's contract offer (@e h_contract)
* with the customer should include the offer's term and transaction
* ID signed with a key from the merchant. This field must match
* the corresponding field in the JSON contract.
*/
uint64_t transaction_id GNUNET_PACKED;
/**
* The total amount to be paid to the merchant. Note that if deposit
* fees are higher than @e max_fee, the actual total must be higher
* to cover the additional fees. This field must match the
* corresponding field in the JSON contract.
*/
struct TALER_AmountNBO total_amount;
/**
* The maximum fee the merchant is willing to cover. This field
* must match the corresponding field in the JSON contract.
*/
struct TALER_AmountNBO max_fee;
/**
* Hash of the JSON contract in UTF-8 including 0-termination,
* using JSON_COMPACT | JSON_SORT_KEYS
*/
struct GNUNET_HashCode h_contract;
/**
* Key of the merchant who is signing this contract
*/
struct TALER_MerchantPublicKeyP merchant_pub;
};
/**