summaryrefslogtreecommitdiff
path: root/src/mintdb/plugin_mintdb_postgres.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-12-09 15:36:34 +0100
committerChristian Grothoff <christian@grothoff.org>2015-12-09 15:36:34 +0100
commitc20f955ae43a57208b40d9a7978a7f089592ad60 (patch)
tree93f142c11461c77654f76fb427d8ea5bbb57ef0d /src/mintdb/plugin_mintdb_postgres.c
parentc5204d3a213fb70d10ec873fc869013390a5435f (diff)
downloadexchange-c20f955ae43a57208b40d9a7978a7f089592ad60.tar.gz
exchange-c20f955ae43a57208b40d9a7978a7f089592ad60.tar.bz2
exchange-c20f955ae43a57208b40d9a7978a7f089592ad60.zip
towards /deposit/wtid handling (more skeleton work)
Diffstat (limited to 'src/mintdb/plugin_mintdb_postgres.c')
-rw-r--r--src/mintdb/plugin_mintdb_postgres.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/mintdb/plugin_mintdb_postgres.c b/src/mintdb/plugin_mintdb_postgres.c
index f2d652b2e..62af73c87 100644
--- a/src/mintdb/plugin_mintdb_postgres.c
+++ b/src/mintdb/plugin_mintdb_postgres.c
@@ -3356,7 +3356,6 @@ postgres_get_coin_transactions (void *cls,
}
PQclear (result);
}
- /* FIXME: Handle locked coins (#3625) */
return head;
cleanup:
if (NULL != head)
@@ -3367,6 +3366,36 @@ postgres_get_coin_transactions (void *cls,
/**
+ * Try to find the wire transfer details for a deposit operation.
+ * If we did not execute the deposit yet, return when it is supposed
+ * to be executed.
+ *
+ * @param cls closure
+ * @param h_contract hash of the contract
+ * @param h_wire hash of merchant wire details
+ * @param coin_pub public key of deposited coin
+ * @param merchant_pub merchant public key
+ * @param transaction_id transaction identifier
+ * @param cb function to call with the result
+ * @param cb_cls closure to pass to @a cb
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR on DB errors
+ */
+static int
+postgres_wire_lookup_deposit_wtid (void *cls,
+ const struct GNUNET_HashCode *h_contract,
+ const struct GNUNET_HashCode *h_wire,
+ const struct TALER_CoinSpendPublicKeyP *coin_pub,
+ const struct TALER_MerchantPublicKeyP *merchant_pub,
+ uint64_t transaction_id,
+ TALER_MINTDB_DepositWtidCallback cb,
+ void *cb_cls)
+{
+ GNUNET_break (0); // not implemented
+ return GNUNET_SYSERR;
+}
+
+
+/**
* Initialize Postgres database subsystem.
*
* @param cls a configuration instance
@@ -3437,6 +3466,7 @@ libtaler_plugin_mintdb_postgres_init (void *cls)
plugin->get_transfer = &postgres_get_transfer;
plugin->get_coin_transactions = &postgres_get_coin_transactions;
plugin->free_coin_transaction_list = &common_free_coin_transaction_list;
+ plugin->wire_lookup_deposit_wtid = &postgres_wire_lookup_deposit_wtid;
return plugin;
}