aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-04-27 13:09:41 +0200
committerChristian Grothoff <christian@grothoff.org>2022-04-27 13:09:41 +0200
commitd623cab1a351040cca8729540327f948eb3027aa (patch)
tree2c73e0b394926aa1ab328b05c49269227b941fe1 /src/lib
parent1396afc13664e11fe869c1cfa2ad690df7856c21 (diff)
downloadexchange-d623cab1a351040cca8729540327f948eb3027aa.tar.xz
-work on p2p payments
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/exchange_api_contracts_get.c20
-rw-r--r--src/lib/exchange_api_purse_deposit.c5
2 files changed, 8 insertions, 17 deletions
diff --git a/src/lib/exchange_api_contracts_get.c b/src/lib/exchange_api_contracts_get.c
index 76ae0052c..263a0cbe9 100644
--- a/src/lib/exchange_api_contracts_get.c
+++ b/src/lib/exchange_api_contracts_get.c
@@ -106,7 +106,6 @@ handle_contract_get_finished (void *cls,
{
void *econtract;
size_t econtract_size;
- json_t *contract;
struct TALER_PurseContractSignatureP econtract_sig;
struct GNUNET_JSON_Specification spec[] = {
GNUNET_JSON_spec_fixed_auto ("purse_pub",
@@ -143,24 +142,11 @@ handle_contract_get_finished (void *cls,
GNUNET_JSON_parse_free (spec);
break;
}
- contract = TALER_CRYPTO_contract_decrypt_for_merge (
- &cgh->contract_priv,
- &dr.details.success.purse_pub,
- econtract,
- econtract_size,
- &dr.details.success.merge_priv);
- GNUNET_JSON_parse_free (spec);
- if (NULL == contract)
- {
- GNUNET_break (0);
- dr.hr.http_status = 0;
- dr.hr.ec = TALER_EC_EXCHANGE_CONTRACTS_DECRYPTION_FAILED;
- break;
- }
- dr.details.success.contract_terms = contract;
+ dr.details.success.econtract = econtract;
+ dr.details.success.econtract_size = econtract_size;
cgh->cb (cgh->cb_cls,
&dr);
- json_decref (contract);
+ GNUNET_JSON_parse_free (spec);
TALER_EXCHANGE_contract_get_cancel (cgh);
return;
}
diff --git a/src/lib/exchange_api_purse_deposit.c b/src/lib/exchange_api_purse_deposit.c
index f604b8ccd..540be0e2c 100644
--- a/src/lib/exchange_api_purse_deposit.c
+++ b/src/lib/exchange_api_purse_deposit.c
@@ -281,6 +281,7 @@ TALER_EXCHANGE_purse_deposit (
const struct TALER_EXCHANGE_PurseDeposit *deposit = &deposits[i];
json_t *jdeposit;
struct TALER_CoinSpendSignatureP coin_sig;
+ struct TALER_CoinSpendPublicKeyP coin_pub;
#if FIXME_OEC
struct TALER_AgeCommitmentHash agh;
struct TALER_AgeCommitmentHash *aghp = NULL;
@@ -300,6 +301,8 @@ TALER_EXCHANGE_purse_deposit (
GNUNET_free (pch);
return NULL;
}
+ GNUNET_CRYPTO_eddsa_key_get_public (&deposit->coin_priv.eddsa_priv,
+ &coin_pub.eddsa_pub);
#endif
TALER_wallet_purse_deposit_sign (
url,
@@ -322,6 +325,8 @@ TALER_EXCHANGE_purse_deposit (
&deposit->h_denom_pub),
TALER_JSON_pack_denom_sig ("ub_sig",
&deposit->denom_sig),
+ GNUNET_JSON_pack_data_auto ("coin_pub",
+ &coin_pub),
GNUNET_JSON_pack_data_auto ("coin_sig",
&coin_sig));
GNUNET_assert (0 ==