[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-exchange] 99/130: add required payto URI traits
From: |
gnunet |
Subject: |
[taler-exchange] 99/130: add required payto URI traits |
Date: |
Wed, 17 Nov 2021 12:25:47 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository exchange.
commit 6ffb32aaab11b8c21de8c457b438044c4a2b37c3
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Nov 7 19:35:29 2021 +0100
add required payto URI traits
---
src/testing/testing_api_cmd_deposits_get.c | 12 ++-
src/testing/testing_api_cmd_kyc_wallet_get.c | 11 +++
src/testing/testing_api_cmd_withdraw.c | 112 ++++++++++++---------------
3 files changed, 73 insertions(+), 62 deletions(-)
diff --git a/src/testing/testing_api_cmd_deposits_get.c
b/src/testing/testing_api_cmd_deposits_get.c
index e0c7f47d..baddb2d0 100644
--- a/src/testing/testing_api_cmd_deposits_get.c
+++ b/src/testing/testing_api_cmd_deposits_get.c
@@ -61,6 +61,11 @@ struct TrackTransactionState
*/
const char *transaction_reference;
+ /**
+ * Payto URI of the merchant receiving the deposit.
+ */
+ char *merchant_payto_uri;
+
/**
* Index of the coin involved in the transaction. Recall:
* at the exchange, the tracking is done _per coin_.
@@ -222,7 +227,9 @@ track_transaction_run (void *cls,
TALER_TESTING_interpreter_fail (tts->is);
return;
}
-
+ tts->merchant_payto_uri
+ = GNUNET_strdup (json_string_value (json_object_get (wire_details,
+ "payto_uri")));
if (GNUNET_OK !=
TALER_TESTING_get_trait_contract_terms (transaction_cmd,
&contract_terms))
@@ -291,6 +298,7 @@ track_transaction_cleanup (void *cls,
TALER_EXCHANGE_deposits_get_cancel (tts->tth);
tts->tth = NULL;
}
+ GNUNET_free (tts->merchant_payto_uri);
GNUNET_free (tts);
}
@@ -314,6 +322,8 @@ track_transaction_traits (void *cls,
struct TALER_TESTING_Trait traits[] = {
TALER_TESTING_make_trait_wtid (&tts->wtid),
TALER_TESTING_make_trait_payment_target_uuid (&tts->kyc_uuid),
+ TALER_TESTING_make_trait_payto_uri (
+ (const char **) &tts->merchant_payto_uri),
TALER_TESTING_trait_end ()
};
diff --git a/src/testing/testing_api_cmd_kyc_wallet_get.c
b/src/testing/testing_api_cmd_kyc_wallet_get.c
index 9fd4d22b..e686590e 100644
--- a/src/testing/testing_api_cmd_kyc_wallet_get.c
+++ b/src/testing/testing_api_cmd_kyc_wallet_get.c
@@ -43,6 +43,11 @@ struct KycWalletGetState
*/
struct TALER_ReservePublicKeyP reserve_pub;
+ /**
+ * Payto URI of the reserve of the wallet.
+ */
+ char *reserve_payto_uri;
+
/**
* Command to get a reserve private key from.
*/
@@ -161,6 +166,9 @@ wallet_kyc_run (void *cls,
{
GNUNET_CRYPTO_eddsa_key_create (&kwg->reserve_priv.eddsa_priv);
}
+ kwg->reserve_payto_uri
+ = TALER_payto_from_reserve (TALER_EXCHANGE_get_base_url (is->exchange),
+ &kwg->reserve_pub);
GNUNET_CRYPTO_eddsa_key_get_public (&kwg->reserve_priv.eddsa_priv,
&kwg->reserve_pub.eddsa_pub);
kwg->kwh = TALER_EXCHANGE_kyc_wallet (is->exchange,
@@ -193,6 +201,7 @@ wallet_kyc_cleanup (void *cls,
TALER_EXCHANGE_kyc_wallet_cancel (kwg->kwh);
kwg->kwh = NULL;
}
+ GNUNET_free (kwg->reserve_payto_uri);
GNUNET_free (kwg);
}
@@ -217,6 +226,8 @@ wallet_kyc_traits (void *cls,
TALER_TESTING_make_trait_reserve_priv (&kwg->reserve_priv),
TALER_TESTING_make_trait_reserve_pub (&kwg->reserve_pub),
TALER_TESTING_make_trait_payment_target_uuid (&kwg->kyc_uuid),
+ TALER_TESTING_make_trait_payto_uri (
+ (const char **) &kwg->reserve_payto_uri),
TALER_TESTING_trait_end ()
};
diff --git a/src/testing/testing_api_cmd_withdraw.c
b/src/testing/testing_api_cmd_withdraw.c
index a9c599a4..ecb1a6eb 100644
--- a/src/testing/testing_api_cmd_withdraw.c
+++ b/src/testing/testing_api_cmd_withdraw.c
@@ -84,6 +84,21 @@ struct WithdrawState
*/
char *exchange_url;
+ /**
+ * URI if the reserve we are withdrawing from.
+ */
+ char *reserve_payto_uri;
+
+ /**
+ * Private key of the reserve we are withdrawing from.
+ */
+ struct TALER_ReservePrivateKeyP reserve_priv;
+
+ /**
+ * Public key of the reserve we are withdrawing from.
+ */
+ struct TALER_ReservePublicKeyP reserve_pub;
+
/**
* Interpreter state (during command).
*/
@@ -361,6 +376,15 @@ withdraw_run (void *cls,
TALER_TESTING_interpreter_fail (is);
return;
}
+ if (NULL == ws->exchange_url)
+ ws->exchange_url
+ = GNUNET_strdup (TALER_EXCHANGE_get_base_url (ws->is->exchange));
+ ws->reserve_priv = *rp;
+ GNUNET_CRYPTO_eddsa_key_get_public (&ws->reserve_priv.eddsa_priv,
+ &ws->reserve_pub.eddsa_pub);
+ ws->reserve_payto_uri
+ = TALER_payto_from_reserve (ws->exchange_url,
+ &ws->reserve_pub);
if (NULL == ws->reuse_coin_key_ref)
{
TALER_planchet_setup_random (&ws->ps);
@@ -463,6 +487,7 @@ withdraw_cleanup (void *cls,
ws->pk = NULL;
}
GNUNET_free (ws->exchange_url);
+ GNUNET_free (ws->reserve_payto_uri);
GNUNET_free (ws);
}
@@ -484,69 +509,34 @@ withdraw_traits (void *cls,
unsigned int index)
{
struct WithdrawState *ws = cls;
- const struct TALER_TESTING_Command *reserve_cmd;
- const struct TALER_ReservePrivateKeyP *reserve_priv;
- const struct TALER_ReservePublicKeyP *reserve_pub;
-
- /* We offer the reserve key where these coins were withdrawn
- * from. */
- reserve_cmd = TALER_TESTING_interpreter_lookup_command (ws->is,
-
ws->reserve_reference);
-
- if (NULL == reserve_cmd)
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (ws->is);
- return GNUNET_SYSERR;
- }
-
- if (GNUNET_OK !=
- TALER_TESTING_get_trait_reserve_priv (reserve_cmd,
- &reserve_priv))
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (ws->is);
- return GNUNET_SYSERR;
- }
- if (GNUNET_OK !=
- TALER_TESTING_get_trait_reserve_pub (reserve_cmd,
- &reserve_pub))
- {
- GNUNET_break (0);
- TALER_TESTING_interpreter_fail (ws->is);
- return GNUNET_SYSERR;
- }
- if (NULL == ws->exchange_url)
- ws->exchange_url
- = GNUNET_strdup (TALER_EXCHANGE_get_base_url (ws->is->exchange));
- {
- struct TALER_TESTING_Trait traits[] = {
- /* history entry MUST be first due to response code logic below! */
- TALER_TESTING_make_trait_reserve_history (&ws->reserve_history),
- TALER_TESTING_make_trait_coin_priv (0 /* only one coin */,
- &ws->ps.coin_priv),
- TALER_TESTING_make_trait_blinding_key (0 /* only one coin */,
- &ws->ps.blinding_key),
- TALER_TESTING_make_trait_denom_pub (0 /* only one coin */,
- ws->pk),
- TALER_TESTING_make_trait_denom_sig (0 /* only one coin */,
- &ws->sig),
- TALER_TESTING_make_trait_reserve_priv (reserve_priv),
- TALER_TESTING_make_trait_reserve_pub (reserve_pub),
- TALER_TESTING_make_trait_amount (&ws->amount),
- TALER_TESTING_make_trait_payment_target_uuid (&ws->kyc_uuid),
- TALER_TESTING_make_trait_exchange_url (
- (const char **) &ws->exchange_url),
- TALER_TESTING_trait_end ()
- };
-
- return TALER_TESTING_get_trait ((ws->expected_response_code == MHD_HTTP_OK)
+ struct TALER_TESTING_Trait traits[] = {
+ /* history entry MUST be first due to response code logic below! */
+ TALER_TESTING_make_trait_reserve_history (&ws->reserve_history),
+ TALER_TESTING_make_trait_coin_priv (0 /* only one coin */,
+ &ws->ps.coin_priv),
+ TALER_TESTING_make_trait_blinding_key (0 /* only one coin */,
+ &ws->ps.blinding_key),
+ TALER_TESTING_make_trait_denom_pub (0 /* only one coin */,
+ ws->pk),
+ TALER_TESTING_make_trait_denom_sig (0 /* only one coin */,
+ &ws->sig),
+ TALER_TESTING_make_trait_reserve_priv (&ws->reserve_priv),
+ TALER_TESTING_make_trait_reserve_pub (&ws->reserve_pub),
+ TALER_TESTING_make_trait_amount (&ws->amount),
+ TALER_TESTING_make_trait_payment_target_uuid (&ws->kyc_uuid),
+ TALER_TESTING_make_trait_payto_uri (
+ (const char **) &ws->reserve_payto_uri),
+ TALER_TESTING_make_trait_exchange_url (
+ (const char **) &ws->exchange_url),
+ TALER_TESTING_trait_end ()
+ };
+
+ return TALER_TESTING_get_trait ((ws->expected_response_code == MHD_HTTP_OK)
? &traits[0] /* we have reserve history */
: &traits[1],/* skip reserve history */
- ret,
- trait,
- index);
- }
+ ret,
+ trait,
+ index);
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-exchange] 80/130: RSA-despecialization, (continued)
- [taler-exchange] 80/130: RSA-despecialization, gnunet, 2021/11/17
- [taler-exchange] 96/130: add kyc-wallet test command, gnunet, 2021/11/17
- [taler-exchange] 117/130: complete oauth logic (in theory), gnunet, 2021/11/17
- [taler-exchange] 88/130: SQL fix, gnunet, 2021/11/17
- [taler-exchange] 106/130: -fix NPE, gnunet, 2021/11/17
- [taler-exchange] 120/130: [age restriction] progress 3/n, gnunet, 2021/11/17
- [taler-exchange] 98/130: fix payto:// construction routine and move it to libtalerutil, gnunet, 2021/11/17
- [taler-exchange] 101/130: add /kyc-proof cmd, gnunet, 2021/11/17
- [taler-exchange] 93/130: prepare for KYC tests, gnunet, 2021/11/17
- [taler-exchange] 67/130: fix sharding, gnunet, 2021/11/17
- [taler-exchange] 99/130: add required payto URI traits,
gnunet <=
- [taler-exchange] 78/130: more crypto refactoring, gnunet, 2021/11/17
- [taler-exchange] 65/130: style fixes, gnunet, 2021/11/17
- [taler-exchange] 97/130: add wallet for KYC status check, gnunet, 2021/11/17
- [taler-exchange] 73/130: more denom key refactoring, gnunet, 2021/11/17
- [taler-exchange] 100/130: fix comments, gnunet, 2021/11/17
- [taler-exchange] 79/130: more crypto refactoring, gnunet, 2021/11/17
- [taler-exchange] 116/130: avoid duplication, gnunet, 2021/11/17
- [taler-exchange] 121/130: fix warning, gnunet, 2021/11/17
- [taler-exchange] 113/130: age restriction (load per denomination). 3/n, gnunet, 2021/11/17
- [taler-exchange] 130/130: towards merging with master, gnunet, 2021/11/17