remove redundant fields from ContractPS (#4859)
This commit is contained in:
parent
0bfb5b2509
commit
d2302da332
@ -1030,13 +1030,6 @@ struct TALER_WireDepositDataPS
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The contract sent by the merchant to the wallet.
|
* 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
|
struct TALER_ContractPS
|
||||||
{
|
{
|
||||||
@ -1046,43 +1039,11 @@ struct TALER_ContractPS
|
|||||||
*/
|
*/
|
||||||
struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
|
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,
|
* Hash of the JSON contract in UTF-8 including 0-termination,
|
||||||
* using JSON_COMPACT | JSON_SORT_KEYS
|
* using JSON_COMPACT | JSON_SORT_KEYS
|
||||||
*/
|
*/
|
||||||
struct GNUNET_HashCode h_contract;
|
struct GNUNET_HashCode h_contract;
|
||||||
|
|
||||||
/**
|
|
||||||
* Key of the merchant who is signing this contract
|
|
||||||
*/
|
|
||||||
struct TALER_MerchantPublicKeyP merchant_pub;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user