diff options
-rw-r--r-- | contrib/exchange-template/config/exchange-common.conf | 3 | ||||
-rw-r--r-- | src/bank-lib/bank_api_admin.c | 13 | ||||
-rw-r--r-- | src/bank-lib/test_bank_api.c | 15 | ||||
-rw-r--r-- | src/exchange-lib/test-exchange-home/config/exchange-common.conf | 1 | ||||
-rw-r--r-- | src/include/taler_bank_service.h | 6 | ||||
-rw-r--r-- | src/wire/plugin_wire_test.c | 21 |
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", |