summaryrefslogtreecommitdiff
path: root/src/include/taler_crypto_lib.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-12-29 11:48:57 +0100
committerChristian Grothoff <christian@grothoff.org>2022-12-29 11:48:57 +0100
commit26aa9d985e2f9ba6ce3895e7e2625226e2008bfb (patch)
tree951a3d49375a225103c363f005bd0399a195eed4 /src/include/taler_crypto_lib.h
parentfa840f7071da56c4794c887b813ca2a6f491f836 (diff)
downloadexchange-26aa9d985e2f9ba6ce3895e7e2625226e2008bfb.tar.gz
exchange-26aa9d985e2f9ba6ce3895e7e2625226e2008bfb.tar.bz2
exchange-26aa9d985e2f9ba6ce3895e7e2625226e2008bfb.zip
expand DB API with AML functions, fix purse refund calculations in libtalerexchange
Diffstat (limited to 'src/include/taler_crypto_lib.h')
-rw-r--r--src/include/taler_crypto_lib.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h
index d63fd7ccd..5e7ea6059 100644
--- a/src/include/taler_crypto_lib.h
+++ b/src/include/taler_crypto_lib.h
@@ -147,6 +147,18 @@ struct TALER_ReserveSignatureP
/**
+ * (Symmetric) key used to encrypt KYC attribute data in the database.
+ */
+struct TALER_AttributeKeyP
+{
+ /**
+ * Actual key material.
+ */
+ struct GNUNET_HashCode key;
+};
+
+
+/**
* @brief Type of public keys to for merchant authorizations.
* Merchants can issue refunds using the corresponding
* private key.
@@ -537,6 +549,30 @@ struct TALER_AmlOfficerSignatureP
/**
+ * Bitmask with possible AML decision states.
+ */
+enum TALER_AmlDecisionState
+{
+
+ /**
+ * All AML requirements are currently satisfied.
+ */
+ TALER_AML_NONE = 0,
+
+ /**
+ * An AML investigation is pending.
+ */
+ TALER_AML_PENDING = 1,
+
+ /**
+ * An AML decision has concluded that the funds must be frozen.
+ */
+ TALER_AML_FROZEN = 2
+
+};
+
+
+/**
* @brief Type of blinding keys for Taler.
* must be 32 bytes (DB)
*/
@@ -4597,6 +4633,7 @@ TALER_exchange_online_purse_status_verify (
* @param officer_name name of the officer
* @param change_date when to affect the status change
* @param is_active true to enable the officer
+ * @param read_only true to only allow read-only access
* @param master_priv private key to sign with
* @param[out] master_sig where to write the signature
*/
@@ -4606,6 +4643,7 @@ TALER_exchange_offline_aml_officer_status_sign (
const char *officer_name,
struct GNUNET_TIME_Timestamp change_date,
bool is_active,
+ bool read_only,
const struct TALER_MasterPrivateKeyP *master_priv,
struct TALER_MasterSignatureP *master_sig);
@@ -4617,6 +4655,7 @@ TALER_exchange_offline_aml_officer_status_sign (
* @param officer_name name of the officer
* @param change_date when to affect the status change
* @param is_active true to enable the officer
+ * @param read_only true to only allow read-only access
* @param master_pub public key to verify against
* @param master_sig the signature the signature
* @return #GNUNET_OK if the signature is valid
@@ -4627,6 +4666,7 @@ TALER_exchange_offline_aml_officer_status_verify (
const char *officer_name,
struct GNUNET_TIME_Timestamp change_date,
bool is_active,
+ bool read_only,
const struct TALER_MasterPublicKeyP *master_pub,
const struct TALER_MasterSignatureP *master_sig);