aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorThien-Thi Nguyen <ttn@gnuvola.org>2022-04-17 19:53:17 -0400
committerThien-Thi Nguyen <ttn@gnuvola.org>2022-04-17 19:53:17 -0400
commit509657bfef59221a6a113c49330ee06ed66c9da9 (patch)
treef6be46d7a2b6fa2d56d6744b53bd2f9cddeb1b6b /src/include
parenta7ad5a07e2eb80d942fcfd49a41330146ec36e45 (diff)
downloadexchange-509657bfef59221a6a113c49330ee06ed66c9da9.tar.xz
Add abstraction: TALER_merchant_contract_sign
Additionally, this change removes ‘struct TALER_ProposalDataPS’ from the public API. * src/include/taler_crypto_lib.h (TALER_merchant_contract_sign): New func decl. * src/include/taler_signatures.h (struct TALER_ProposalDataPS): Delete. * src/util/merchant_signatures.c (struct TALER_ProposalDataPS): Move here from taler_signatures.h. (TALER_merchant_contract_sign): New func.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_crypto_lib.h14
-rw-r--r--src/include/taler_signatures.h19
2 files changed, 14 insertions, 19 deletions
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h
index 6be9db9a4..554cb1a26 100644
--- a/src/include/taler_crypto_lib.h
+++ b/src/include/taler_crypto_lib.h
@@ -4601,6 +4601,20 @@ TALER_merchant_pay_verify (
const struct TALER_MerchantSignatureP *merchant_sig);
+/**
+ * Sign contract sent by the merchant to the wallet.
+ *
+ * @param h_contract_terms hash of the contract terms
+ * @param merch_priv private key to sign with
+ * @param[out] merch_sig where to write the signature
+ */
+void
+TALER_merchant_contract_sign (
+ const struct TALER_PrivateContractHashP *h_contract_terms,
+ const struct TALER_MerchantPrivateKeyP *merch_priv,
+ struct GNUNET_CRYPTO_EddsaSignature *merch_sig);
+
+
/* **************** /management/extensions offline signing **************** */
/**
diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h
index 249c01b68..0137ff65e 100644
--- a/src/include/taler_signatures.h
+++ b/src/include/taler_signatures.h
@@ -422,25 +422,6 @@ struct TALER_DepositTrackPS
};
-/**
- * The contract sent by the merchant to the wallet.
- */
-struct TALER_ProposalDataPS
-{
- /**
- * Purpose header for the signature over the proposal data
- * with purpose #TALER_SIGNATURE_MERCHANT_CONTRACT.
- */
- struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
-
- /**
- * Hash of the JSON contract in UTF-8 including 0-termination,
- * using JSON_COMPACT | JSON_SORT_KEYS
- */
- struct TALER_PrivateContractHashP hash;
-};
-
-
GNUNET_NETWORK_STRUCT_END
#endif