summaryrefslogtreecommitdiff
path: root/src/lib/exchange_api_withdraw.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/exchange_api_withdraw.c')
-rw-r--r--src/lib/exchange_api_withdraw.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/lib/exchange_api_withdraw.c b/src/lib/exchange_api_withdraw.c
index 477af5446..024cc5020 100644
--- a/src/lib/exchange_api_withdraw.c
+++ b/src/lib/exchange_api_withdraw.c
@@ -64,11 +64,21 @@ struct TALER_EXCHANGE_WithdrawHandle
const struct TALER_ReservePrivateKeyP *reserve_priv;
/**
- * Secrets of the planchet.
+ * Seed of the planchet.
*/
struct TALER_PlanchetSecretsP ps;
/**
+ * blinding secret
+ */
+ union DenominationBlindingKeyP bks;
+
+ /**
+ *
+ */
+ struct TALER_CoinSpendPrivateKeyP priv;
+
+ /**
* Details of the planchet.
*/
struct TALER_PlanchetDetail pd;
@@ -125,8 +135,8 @@ handle_reserve_withdraw_finished (
if (GNUNET_OK !=
TALER_planchet_to_coin (&wh->pk.key,
blind_sig,
- &wh->ps,
- &wh->c_hash,
+ &wh->
+ & wh->c_hash,
&wh->alg_values,
&fc))
{
@@ -246,15 +256,16 @@ TALER_EXCHANGE_withdraw (
switch (pk->key.cipher)
{
case TALER_DENOMINATION_RSA:
- struct TALER_CoinSpendPrivateKeyP priv;
- alg_values.cipher = TALER_DENOMINATION_RSA;
+ wh->alg_values.cipher = TALER_DENOMINATION_RSA;
- TALER_planchet_setup_coin_priv (ps, &wh->alg_values, &priv);
+ TALER_planchet_setup_coin_priv (ps, &wh->alg_values, &wh->priv);
+ TALER_planchet_blinding_secret_create (ps, &wh->alg_values, &wh->bks);
if (GNUNET_OK !=
TALER_planchet_prepare (&pk->key,
&wh->alg_values,
- ps,
+ &bks,
+ &priv,
&wh->c_hash,
&wh->pd))
{