summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/exchange-template/config/exchange-common.conf3
-rw-r--r--src/bank-lib/bank_api_admin.c13
-rw-r--r--src/bank-lib/test_bank_api.c15
-rw-r--r--src/exchange-lib/test-exchange-home/config/exchange-common.conf1
-rw-r--r--src/include/taler_bank_service.h6
-rw-r--r--src/wire/plugin_wire_test.c21
6 files changed, 46 insertions, 13 deletions
diff --git a/contrib/exchange-template/config/exchange-common.conf b/contrib/exchange-template/config/exchange-common.conf
index 5214fd816..d1df222fe 100644
--- a/contrib/exchange-template/config/exchange-common.conf
+++ b/contrib/exchange-template/config/exchange-common.conf
@@ -26,4 +26,5 @@ SEPA_RESPONSE_FILE = "sepa.json"
[wire-test]
REDIRECT_URL = "http://test/"
-BANK_URI = "http://bank/
+BANK_URI = "http://bank/"
+BANK_ACCOUNT_NO = 2
diff --git a/src/bank-lib/bank_api_admin.c b/src/bank-lib/bank_api_admin.c
index bfcf16a23..5deb4aa72 100644
--- a/src/bank-lib/bank_api_admin.c
+++ b/src/bank-lib/bank_api_admin.c
@@ -150,7 +150,8 @@ handle_admin_add_incoming_finished (void *cls,
* @param reserve_pub public key of the reserve
* @param amount amount that was deposited
* @param execution_date when did we receive the amount
- * @param account_no account number (53 bits at most)
+ * @param debit_account_no account number to withdraw from (53 bits at most)
+ * @param credit_account_no account number to deposit into (53 bits at most)
* @param res_cb the callback to call when the final result for this request is available
* @param res_cb_cls closure for the above callback
* @return NULL
@@ -161,7 +162,8 @@ struct TALER_BANK_AdminAddIncomingHandle *
TALER_BANK_admin_add_incoming (struct TALER_BANK_Context *bank,
const struct TALER_WireTransferIdentifierRawP *wtid,
const struct TALER_Amount *amount,
- uint64_t account_no,
+ uint64_t debit_account_no,
+ uint64_t credit_account_no,
TALER_BANK_AdminAddIncomingResultCallback res_cb,
void *res_cb_cls)
{
@@ -169,12 +171,13 @@ TALER_BANK_admin_add_incoming (struct TALER_BANK_Context *bank,
json_t *admin_obj;
CURL *eh;
- admin_obj = json_pack ("{s:o, s:o," /* reserve_pub/amount */
- " s:I}", /* execution_Date/wire */
+ admin_obj = json_pack ("{s:o, s:o,"
+ " s:I, s:I}",
"wtid", TALER_json_from_data (wtid,
sizeof (*wtid)),
"amount", TALER_json_from_amount (amount),
- "account", (json_int_t) account_no);
+ "debit_account", (json_int_t) debit_account_no,
+ "credit_account", (json_int_t) credit_account_no);
aai = GNUNET_new (struct TALER_BANK_AdminAddIncomingHandle);
aai->bank = bank;
aai->cb = res_cb;
diff --git a/src/bank-lib/test_bank_api.c b/src/bank-lib/test_bank_api.c
index b14f523ba..5e38ae2ec 100644
--- a/src/bank-lib/test_bank_api.c
+++ b/src/bank-lib/test_bank_api.c
@@ -103,9 +103,14 @@ struct Command
const char *amount;
/**
- * Account number.
+ * Credited account number.
*/
- uint64_t account_no;
+ uint64_t credit_account_no;
+
+ /**
+ * Debited account number.
+ */
+ uint64_t debit_account_no;
/**
* Wire transfer identifier to use. Initialized to
@@ -310,7 +315,8 @@ interpreter_run (void *cls,
= TALER_BANK_admin_add_incoming (ctx,
&cmd->details.admin_add_incoming.wtid,
&amount,
- cmd->details.admin_add_incoming.account_no,
+ cmd->details.admin_add_incoming.debit_account_no,
+ cmd->details.admin_add_incoming.credit_account_no,
&add_incoming_cb,
is);
if (NULL == cmd->details.admin_add_incoming.aih)
@@ -470,7 +476,8 @@ run (void *cls,
{ .oc = OC_ADMIN_ADD_INCOMING,
.label = "deposit-1",
.expected_response_code = MHD_HTTP_OK,
- .details.admin_add_incoming.account_no = 42,
+ .details.admin_add_incoming.credit_account_no = 1,
+ .details.admin_add_incoming.debit_account_no = 2,
.details.admin_add_incoming.amount = "EUR:5.01" },
{ .oc = OC_END }
diff --git a/src/exchange-lib/test-exchange-home/config/exchange-common.conf b/src/exchange-lib/test-exchange-home/config/exchange-common.conf
index 9e46fcb3b..806046588 100644
--- a/src/exchange-lib/test-exchange-home/config/exchange-common.conf
+++ b/src/exchange-lib/test-exchange-home/config/exchange-common.conf
@@ -28,3 +28,4 @@ SEPA_RESPONSE_FILE = "test-exchange-home/sepa.json"
[wire-test]
REDIRECT_URL = "http://www.taler.net/"
BANK_URI = "http://localhost/"
+BANK_ACCOUNT_NO = 2
diff --git a/src/include/taler_bank_service.h b/src/include/taler_bank_service.h
index a4f33fc97..508ca714b 100644
--- a/src/include/taler_bank_service.h
+++ b/src/include/taler_bank_service.h
@@ -133,7 +133,8 @@ typedef void
* @param reserve_pub public key of the reserve
* @param amount amount that was deposited
* @param execution_date when did we receive the amount
- * @param account_no account number (53 bits at most)
+ * @param debit_account_no account number to withdraw from (53 bits at most)
+ * @param credit_account_no account number to deposit into (53 bits at most)
* @param res_cb the callback to call when the final result for this request is available
* @param res_cb_cls closure for the above callback
* @return NULL
@@ -144,7 +145,8 @@ struct TALER_BANK_AdminAddIncomingHandle *
TALER_BANK_admin_add_incoming (struct TALER_BANK_Context *bank,
const struct TALER_WireTransferIdentifierRawP *wtid,
const struct TALER_Amount *amount,
- uint64_t account_no,
+ uint64_t debit_account_no,
+ uint64_t credit_account_no,
TALER_BANK_AdminAddIncomingResultCallback res_cb,
void *res_cb_cls);
diff --git a/src/wire/plugin_wire_test.c b/src/wire/plugin_wire_test.c
index 2f679bbaa..9503e1ca5 100644
--- a/src/wire/plugin_wire_test.c
+++ b/src/wire/plugin_wire_test.c
@@ -44,6 +44,11 @@ struct TestClosure
char *currency;
/**
+ * Number of the account that the exchange has at the bank.
+ */
+ unsigned long long exchange_account_no;
+
+ /**
* Handle to the bank task, or NULL.
*/
struct GNUNET_SCHEDULER_Task *bt;
@@ -482,13 +487,14 @@ test_execute_wire_transfer (void *cls,
GNUNET_break (0);
return NULL;
}
-
+
eh = GNUNET_new (struct TALER_WIRE_ExecuteHandle);
eh->cc = cc;
eh->cc_cls = cc_cls;
eh->aaih = TALER_BANK_admin_add_incoming (tc->bank,
&bf.wtid,
&amount,
+ (uint64_t) tc->exchange_account_no,
(uint64_t) account_no,
&execute_cb,
eh);
@@ -552,6 +558,19 @@ libtaler_plugin_wire_test_init (void *cls)
}
tc = GNUNET_new (struct TestClosure);
if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_number (cfg,
+ "wire-test",
+ "BANK_ACCOUNT_NO",
+ &tc->exchange_account_no))
+ {
+ GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR,
+ "wire-test",
+ "BANK_ACCOUNT_NO");
+ GNUNET_free (uri);
+ GNUNET_free (tc);
+ return NULL;
+ }
+ if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_string (cfg,
"exchange",
"CURRENCY",