summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcello Stanisci <marcello.stanisci@inria.fr>2015-11-17 21:48:37 +0100
committerMarcello Stanisci <marcello.stanisci@inria.fr>2015-11-17 21:48:37 +0100
commitbdde6093d590566095cfcc34057cf98999493e1c (patch)
treec53108af5135a5ca55ecbd0d27b0855269c93938
parentab73adebf9dfb38d9d8a9edd89916f8a6f93b20a (diff)
downloadexchange-bdde6093d590566095cfcc34057cf98999493e1c.tar.gz
exchange-bdde6093d590566095cfcc34057cf98999493e1c.tar.bz2
exchange-bdde6093d590566095cfcc34057cf98999493e1c.zip
removing the bank Website
-rw-r--r--demo/bank/README3
-rw-r--r--demo/bank/fake_wire_transfer.php91
-rw-r--r--demo/bank/index.html115
-rw-r--r--demo/bank/style.css328
-rw-r--r--src/mint-lib/mint_api_deposit.c33
5 files changed, 33 insertions, 537 deletions
diff --git a/demo/bank/README b/demo/bank/README
deleted file mode 100644
index 153f9d03a..000000000
--- a/demo/bank/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This directory is the root of the "demo" bank website. The
-page being served simulates what a real bank does when transferring
-funds to some mint via SEPA.
diff --git a/demo/bank/fake_wire_transfer.php b/demo/bank/fake_wire_transfer.php
deleted file mode 100644
index c370f21dd..000000000
--- a/demo/bank/fake_wire_transfer.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>Fake Wire Transfer</title>
- <script>
- /*
- @licstart The following is the entire license notice for the
- JavaScript code in this page.
-
- Copyright (C) 2014,2015 GNUnet e.V.
-
- The JavaScript code in this page is free software: you can
- redistribute it and/or modify it under the terms of the GNU
- Lesser General Public License (GNU LGPL) as published by the Free Software
- Foundation, either version 2.1 of the License, or (at your option)
- any later version. The code is distributed WITHOUT ANY WARRANTY;
- without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU LGPL for more details.
-
- As additional permission under GNU LGPL version 2.1 section 7, you
- may distribute non-source (e.g., minimized or compacted) forms of
- that code without the copy of the GNU LGPL normally required by
- section 4, provided you include this license notice and a URL
- through which recipients can access the Corresponding Source.
-
- @licend The above is the entire license notice
- for the JavaScript code in this page.
- */
- </script>
-</head>
-<body>
-<!--
- This page's main aim is to forward the fake wire transfer
- request to the demonstrator and to inform the customer
- about the result. In a real-world deployment, this
- page would not be required as the customer would do a
- wire transfer with his bank instead.
- -->
-<?php
-
-// Evaluate form
-$reserve_pk = $_POST['reserve_pk'];
-$kudos_amount = $_POST['kudos_amount'];
-$mint = $_POST['mint_rcv'];
-// check if the webform has given a well formed amount
-$ret = preg_match ('/[0-9]+(\.[0-9][0-9]?)? [A-Z]+/', $kudos_amount, $matches);
-if ($matches[0] != $_POST['kudos_amount'])
-{
- http_response_code(400); // BAD REQUEST
- echo "Malformed amount given";
- return;
-}
-$amount_chunks = preg_split('/[ \.]/', $_POST['kudos_amount']);
-$amount_fraction = 0;
-if (count($amount_chunks) > 2)
- $amount_fraction = (double) ("0." . $amount_chunks[1]);
-$amount_fraction = $amount_fraction * 1000000;
-// pack the JSON
-$json = json_encode (array ('reserve_pub' => $reserve_pk,
- 'execution_date' => "/Date(" . time() . ")/",
- 'wire' => array ('type' => 'test'),
- 'amount' => array ('value' => intval($amount_chunks[0]),
- 'fraction' => $amount_fraction,
- 'currency' => $amount_chunks[count($amount_chunks) - 1])));
-
-// craft the HTTP request
-$req = new http\Client\Request ("POST",
- "http://" . $mint . "/admin/add/incoming",
- array ("Content-Type" => "application/json"));
-$req->getBody()->append ($json);
-
-// execute HTTP request
-$client = new http\Client;
-$client->enqueue($req)->send ();
-$resp = $client->getResponse ();
-
-// evaluate response
-$status_code = $resp->getResponseCode ();
-http_response_code ($status_code);
-
-if ($status_code != 200)
-{
- echo "Error $status_code when faking the wire transfer. Please report to taler@gnu.org";
-}
-else
-{
- echo "Pretend wire transfer successful. Exit through the <a href=\"http://shop.demo.taler.net\">gift shop</a> and enjoy shopping!";
-}
-?>
-</body>
-</html>
diff --git a/demo/bank/index.html b/demo/bank/index.html
deleted file mode 100644
index 7746e1e4e..000000000
--- a/demo/bank/index.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
- <title>Taler's "demo" bank</title>
- <link rel="stylesheet" type="text/css" href="style.css">
- <script>
- /*
- @licstart The following is the entire license notice for the
- JavaScript code in this page.
-
- Copyright (C) 2015 GNUnet e.V.
-
- The JavaScript code in this page is free software: you can
- redistribute it and/or modify it under the terms of the GNU
- Lesser General Public License (GNU LGPL) as published by the Free Software
- Foundation, either version 2.1 of the License, or (at your option)
- any later version. The code is distributed WITHOUT ANY WARRANTY;
- without even the implied warranty of MERCHANTABILITY or FITNESS
- FOR A PARTICULAR PURPOSE. See the GNU LGPL for more details.
-
- As additional permission under GNU LGPL version 2.1 section 7, you
- may distribute non-source (e.g., minimized or compacted) forms of
- that code without the copy of the GNU LGPL normally required by
- section 4, provided you include this license notice and a URL
- through which recipients can access the Corresponding Source.
-
- @licend The above is the entire license notice
- for the JavaScript code in this page.
- */
- </script>
-</head>
-<body id="css-zen-garden" onload="signal_me()">
- <div class="explanation" id="zen-explanation" role="article">
- <h1>Welcome to the KUDOS bank!</h1>
- <p>Through this page, you can wire funds to our demonstrator mint
- in order to create your reserves from where withdraw your coins.
- Once the reserve is created, the withdrawing of coins will be
- entirely handled by the wallet, with no intervention required
- to the user.
- </p>
- <p>
- Enter the deisired amount, and click 'Select mint'. Your wallet
- will make you choose a mint and will automatically submit all the
- needed data into the bank's system. At the end of the withdrawal,
- the wallet will show you the 'All coins withdrawn' nice message.
- </p>
-
- <p>Still missing a wallet? <a href="http://demo.taler.net/extension">Install one!</a>
- </p>
- </div>
- <form id="reserve-form" name="tform" action="/fake_wire_transfer.php" method="POST">
- <input type="text" id="reserve-pk-input" name="reserve_pk" hidden></input>
- Amount to withdraw:
- <select id="reserve-amn-id" name="kudos_amount">
- <option value="1 KUDOS">1 KUDOS</option>
- <option value="2 KUDOS">2 KUDOS</option>
- <option value="3.01 KUDOS">3.01 KUDOS</option>
- <option value="5 KUDOS">5 KUDOS</option>
- <option value="10 KUDOS">10 KUDOS</option>
- <option value="10.50 KUDOS">10.50 KUDOS</option>
- <option value="1000.3 KUDOS">1000.3 KUDOS</option>
- </select>
- <input type="text" name="mint_rcv" id="kudos-mint" hidden></input>
- <input id="select-mint"
- type="button"
- value="Select mint"
- onclick="wire_funds()"
- disabled></input>
- </form>
- </div>
- <script type="text/javascript">
-
- document.body.addEventListener("taler-wallet-present",
- has_taler_wallet_cb,
- false);
-
- document.body.addEventListener("taler-unload",
- no_taler_wallet_cb,
- false);
-
- document.body.addEventListener("taler-load",
- signal_me,
- false);
-
- function wire_funds(){
- var wallet_param = {
- form_id : 'reserve-form',
- input_amount : 'reserve-amn-id',
- input_pub : 'reserve-pk-input',
- mint_rcv : 'kudos-mint'
- //'base_url' : window.location.host not anymore: must be given by the mint
- };
- var trigger = new CustomEvent("taler-create-reserve", {detail: wallet_param});
- document.body.dispatchEvent(trigger);
- };
-
- /* The mint signals itself to the wallet */
- function signal_me(){
- var eve = new Event('taler-checkout-probe');
- document.body.dispatchEvent(eve);
- };
-
- function has_taler_wallet_cb(){
- var button = document.getElementById("select-mint");
- button.removeAttribute("disabled");
- }
-
- function no_taler_wallet_cb(){
- var button = document.getElementById("select-mint");
- button.setAttribute("disabled", "true");
- }
-
- </script>
-</body>
-</html>
diff --git a/demo/bank/style.css b/demo/bank/style.css
deleted file mode 100644
index a476a630e..000000000
--- a/demo/bank/style.css
+++ /dev/null
@@ -1,328 +0,0 @@
-/* css Zen Garden submission 020 - 'Friendly Beaches' by Sophie G - www.sophie-g.net */
-/* css released under Creative Commons ShareAlike License v1.0 - http://creativecommons.org/licenses/sa/1.0/ */
-/* All associated graphics copyright 2003, Sophie G */
-
-
-/* IMPORTANT */
-/* This design is not a template. You may not reproduce it elsewhere without the designer's written permission. */
-/* The CSS itself may freely be used for anything you wish, but the associated graphics belong to the designer. */
-/* What you may use - .css files. What you may not use - .jpg, .gif, and .png files. */
-
-
-
-body {
- background-color: #FFFFFF;
- margin: 0px;
- padding: 10px;
- font-family: Ubuntu, Tahoma, Sans;
- font-size: 90%;
-}
-
-p {
- line-height: 180%;
-}
-.page-wrapper {
- background-color: #EDEEF0;
- border: 1px solid #DAD5D9;
- padding: 0px;
- margin: 0px;
-}
-abbr {
- border-bottom: 1px #6BA0D2 dashed;
-}
-header,h1 {
- font-family: Impact, Georgia, serif;
- background-color: #FFFFFF;
-}
-header h1 {
- height: 190px;
- margin: 0px;
- background-color: black;
- background-image: url(Gala.jpg);
- background-repeat: no-repeat;
-}
-header h1, header h2 {
- text-indent: 100%;
- white-space: nowrap;
- overflow: hidden;
-}
-header h2 {
- background-color: #EDEEF0;
- margin: 0px;
- height: 24px;
- padding: 0px 14px 2px 14px;
- background-image: url(headerh2.gif);
- background-repeat: no-repeat;
-}
-header h2 abbr {
- color: #FFF;
- border-bottom: 1px #FFF dashed;
-}
-.summary p:first-child {
- position: absolute;
- right: 21px;
- top: 21px;
- width: 12em;
- height: 165px;
- padding: 3px 0 0 0;
- margin: 0px;
- border: 1px solid #0C2953;
- text-align: center;
- font-size: 90%;
- font-family: Impact, Georgia, serif;
- line-height: 110%;
- color: #FFF;
- background-image: url(summary.jpg);
- background-repeat: no-repeat;
- background-position: 50% 100%;
- background-color: #0C2953;
-}
-.preamble {
- padding: 0px 15em 0px 3em;
-}
-.preamble h3 {
- margin: 15px 0px 0px 0px;
- padding: 6px 20px 2px 6px;
- text-align: left;
- font-size: 180%;
- font-variant: small-caps;
- color: #6BA0D2;
- background-image: url(bordDroitPreambleh3.gif);
- background-repeat: no-repeat;
- background-position: 100% 0px;
- background-color: #F6F7F7;
-}
-.preamble h3::before {
- content: " ";
- display: inline-block;
- padding: 35px 0px 30px 48px;
- background-image: url(preambleShell.jpg);
- background-repeat: no-repeat;
- background-position: 0px 50%;
- vertical-align: middle;
-}
-.preamble p {
- text-align: justify;
-}
-.preamble p:nth-child(2), .preamble p:nth-child(3) {
- margin: 0px;
- padding: 10px 20px 2px 6px;
- background-image: url(bordDroitPreamble.gif);
- background-repeat: repeat-y;
- background-position: 100% 0px;
- background-color: #F6F7F7;
-}
-.preamble p:nth-child(4) {
- margin: 0px;
- padding: 0px;
- background-image: url(bordBasPreamble.gif);
- background-repeat: no-repeat;
- background-position: 100% 100%;
- background-color: #F6F7F7;
- padding: 10px 20px 20px 6px;
-}
-.preamble p:nth-child(4)::after {
- content: " ";
- display: block;
- margin: 0px;
- padding: 0 20px 0 6px;
- background-image: url(bordBasPreambleGauche.gif);
- background-repeat: no-repeat;
- background-position: 0% 100%;
-}
-.supporting {
- margin: 0px;
- padding: 10px 16em 0px 1em;
- font-size: 90%;
-}
-.explanation, .participation, .benefits, .requirements {
- border: 2px solid #FFF;
- padding: 0px;
-}
-.explanation {
- margin: 0px 0px 10px 0px;
-}
-.participation {
- margin: 0px 0px 10px 0px;
- float: left;
- width: 30%;
-}
-.benefits {
- margin: 0px 0px 10px 32%;
-}
-.requirements {
- margin: 0px 0px 10px 32%;
-}
-.supporting h3 {
- margin: 0px;
- padding: 5px 30px 1px 2px;
- text-align: left;
- font-size: 120%;
- font-variant: small-caps;
- color: #6BA0D2;
- border-bottom: 1px solid #6BA0D2;
- background-color: #F6F7F7;
- background-repeat: no-repeat;
- background-position: 100% 50%;
-}
-.explanation h3 {
- background-image: url(explanationShell.jpg);
-}
-.supporting form {
- padding: 30px;
- display: inline-block;
- clear: both;
- width: 120em;
-}
-.supporting input {
- margin: 8px;
-}
-.participation h3 {
- background-image: url(participationShell.jpg);
-}
-.benefits h3 {
- background-image: url(benefitsShell.jpg);
-}
-.requirements h3 {
- background-image: url(requirementsRock.jpg);
-}
-.supporting p {
- text-align: justify;
- margin: 10px 0px 0px 0px;
- padding: 1px 3px 2px 3px;
-}
-.supporting a:link {
- color: #0083FF;
- font-weight: bold;
-}
-.supporting a:visited {
- color: #204160;
- font-weight: bold;
-}
-.supporting a:hover, .supporting a:active {
- color: #8C0000;
- font-weight: bold;
- text-decoration: none;
-}
-.sidebar, .summary p:last-child {
- font-size: 90%;
- font-family: Impact, Georgia, serif;
- position: absolute;
- right: 21px;
- width: 12em;
- border: 1px solid #0C2953;
- padding: 0px;
- margin: 0px;
- background-color: #A4ACB3;
-}
-.summary p:last-child {
- height: 50px;
- text-align: center;
- top: 217px;
- font-size: 90%;
- display: block;
- padding: 3px 0;
- color: #FFF;
-}
-.sidebar {
- top: 266px;
-}
-.sidebar h3 {
- background-color: #0C2953;
- color: #FFF;
- margin: 0px;
- padding: 30px 1px 1px 1px;
- background-repeat: no-repeat;
-}
-.sidebar h3.select {
- background-image: url(selecth3.jpg);
- background-position: 50% 0%;
-}
-.sidebar h3.favorites {
- border-top: 1px solid #0C2953;
- background-image: url(favoritesh3.jpg);
- background-position: 40% 100%;
-}
-.sidebar h3.archives {
- border-top: 1px solid #0C2953;
- background-image: url(archivesh3.jpg);
- background-position: 40% 100%;
-}
-.sidebar h3.resources {
- border-top: 1px solid #0C2953;
- background-image: url(resourcesh3.jpg);
- background-position: 50% 30%;
-}
-.sidebar ul {
- list-style-type: none;
- font-size: 90%;
- color: #FFF;
- margin: 0px;
- padding: 0px;
- background-color: #A4ACB3;
-}
-.sidebar li {
- padding: 3px 2px 3px 2px;
- margin-bottom: 4px;
-}
-.sidebar li:hover {
- padding: 2px 1px 2px 1px;
- border: 1px dotted #0C2953;
- background-color: #6BA0D2;
-}
-.summary p:last-child a:link {
- color: #FFF;
- font-weight: bold;
-}
-.summary p:last-child a:visited {
- color: #204160;
-}
-.summary p:last-child a:hover, .summary p:last-child a:active {
- color: #FFD800;
- font-weight: bold;
- text-decoration: none;
-}
-.sidebar a:link, .sidebar a:visited {
- border-left: 6px solid #FFF;
- padding-left: 2px;
- font-weight: bold;
- color: #FFF;
-}
-.sidebar a:visited {
- color: #204160;
-}
-.sidebar a:hover, .sidebar a:active {
- border-left: 6px solid #FFD800;
- padding-left: 2px;
- color: #FFD800;
- text-decoration: none;
- font-weight: bold;
-}
-.sidebar a.designer-name:link, .sidebar a.designer-name:visited {
- border-left: none;
- padding-left: 0px;
- font-weight: normal;
- color: #FFF;
-}
-.sidebar a.designer-name:hover, .sidebar a.designer-name:active {
- border-left: none;
- padding-left: 0px;
- color: #FFD800;
- text-decoration: none;
-}
-.sidebar abbr {
- border-bottom: 1px #FFF dashed;
-}
-footer {
- clear: both;
- text-align: right;
- margin: 0px -16em 0px 0px;
- padding: 25px 0px 0px 0px;
- background-repeat: no-repeat;
- background-image: url(signSoph.gif);
- background-position: 0% 95%;
-}
-footer a {
- font-size: 70%;
- font-family: Impact, Georgia, serif;
-}
diff --git a/src/mint-lib/mint_api_deposit.c b/src/mint-lib/mint_api_deposit.c
index 541317763..bf00ffa28 100644
--- a/src/mint-lib/mint_api_deposit.c
+++ b/src/mint-lib/mint_api_deposit.c
@@ -312,6 +312,39 @@ verify_signatures (const struct TALER_MINT_DenomPublicKey *dki,
&dki->fee_deposit);
dr.merchant = *merchant_pub;
dr.coin_pub = *coin_pub;
+
+ char *contract_str = GNUNET_STRINGS_data_to_string_alloc (h_contract,
+ sizeof (struct GNUNET_HashCode));
+ char *wire_str = GNUNET_STRINGS_data_to_string_alloc (h_wire,
+ sizeof (struct GNUNET_HashCode));
+ char *merchant_pub_str = GNUNET_STRINGS_data_to_string_alloc (merchant_pub,
+ sizeof (struct TALER_MerchantPublicKeyP));
+ char *coin_pub_str = GNUNET_STRINGS_data_to_string_alloc (coin_pub,
+ sizeof (struct TALER_CoinSpendPublicKeyP));
+ printf ("verifying:\ncontract [%s]\nwire [%s]\n"
+ "timestamp [%llu]\nrefund deadline [%llu]\n"
+ "transaction id [%llu]\namount [%s %llu.%lu]\n"
+ "fee deposit [%s %llu.%lu]\nmerch pub [%s]\n"
+ "coin pub [%s]\n",
+ contract_str,
+ wire_str,
+ timestamp.abs_value_us,
+ refund_deadline.abs_value_us,
+ transaction_id,
+ amount->currency,
+ amount->value,
+ amount->fraction,
+ dki->fee_deposit.currency,
+ dki->fee_deposit.value,
+ dki->fee_deposit.fraction,
+ merchant_pub_str,
+ coin_pub_str);
+
+ GNUNET_free (contract_str);
+ GNUNET_free (wire_str);
+ GNUNET_free (merchant_pub_str);
+ GNUNET_free (coin_pub_str);
+
if (GNUNET_OK !=
GNUNET_CRYPTO_eddsa_verify (TALER_SIGNATURE_WALLET_COIN_DEPOSIT,
&dr.purpose,