diff options
author | Florian Dold <florian.dold@gmail.com> | 2020-01-18 13:52:10 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2020-01-18 13:52:19 +0100 |
commit | 4993863c4cc7e7758f8532ea90253cc60c3358fa (patch) | |
tree | 3a5b49f71c5de72487553e635d31288669340bd9 /src/lib | |
parent | ccb88693447dba52bf2b2ae84fd4f329bbcd81f6 (diff) | |
download | exchange-4993863c4cc7e7758f8532ea90253cc60c3358fa.tar.xz |
allow skipping of denom fees check
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/exchange_api_common.c | 73 |
1 files changed, 41 insertions, 32 deletions
diff --git a/src/lib/exchange_api_common.c b/src/lib/exchange_api_common.c index 02ff73601..792477af9 100644 --- a/src/lib/exchange_api_common.c +++ b/src/lib/exchange_api_common.c @@ -136,18 +136,21 @@ TALER_EXCHANGE_verify_coin_history (const struct GNUNET_break_op (0); return GNUNET_SYSERR; } - /* check that deposit fee matches our expectations from /keys! */ - TALER_amount_ntoh (&fee, - &dr.deposit_fee); - if ( (GNUNET_YES != - TALER_amount_cmp_currency (&fee, - &dk->fee_deposit)) || - (0 != - TALER_amount_cmp (&fee, - &dk->fee_deposit)) ) + if (NULL != dk) { - GNUNET_break_op (0); - return GNUNET_SYSERR; + /* check that deposit fee matches our expectations from /keys! */ + TALER_amount_ntoh (&fee, + &dr.deposit_fee); + if ( (GNUNET_YES != + TALER_amount_cmp_currency (&fee, + &dk->fee_deposit)) || + (0 != + TALER_amount_cmp (&fee, + &dk->fee_deposit)) ) + { + GNUNET_break_op (0); + return GNUNET_SYSERR; + } } add = GNUNET_YES; } @@ -188,18 +191,21 @@ TALER_EXCHANGE_verify_coin_history (const struct GNUNET_break_op (0); return GNUNET_SYSERR; } - /* check that melt fee matches our expectations from /keys! */ - TALER_amount_ntoh (&fee, - &rm.melt_fee); - if ( (GNUNET_YES != - TALER_amount_cmp_currency (&fee, - &dk->fee_refresh)) || - (0 != - TALER_amount_cmp (&fee, - &dk->fee_refresh)) ) + if (NULL != dk) { - GNUNET_break_op (0); - return GNUNET_SYSERR; + /* check that melt fee matches our expectations from /keys! */ + TALER_amount_ntoh (&fee, + &rm.melt_fee); + if ( (GNUNET_YES != + TALER_amount_cmp_currency (&fee, + &dk->fee_refresh)) || + (0 != + TALER_amount_cmp (&fee, + &dk->fee_refresh)) ) + { + GNUNET_break_op (0); + return GNUNET_SYSERR; + } } add = GNUNET_YES; } @@ -253,17 +259,20 @@ TALER_EXCHANGE_verify_coin_history (const struct well-formendess check). */// /* check that refund fee matches our expectations from /keys! */ - TALER_amount_ntoh (&fee, - &rr.refund_fee); - if ( (GNUNET_YES != - TALER_amount_cmp_currency (&fee, - &dk->fee_refund)) || - (0 != - TALER_amount_cmp (&fee, - &dk->fee_refund)) ) + if (NULL != dk) { - GNUNET_break_op (0); - return GNUNET_SYSERR; + TALER_amount_ntoh (&fee, + &rr.refund_fee); + if ( (GNUNET_YES != + TALER_amount_cmp_currency (&fee, + &dk->fee_refund)) || + (0 != + TALER_amount_cmp (&fee, + &dk->fee_refund)) ) + { + GNUNET_break_op (0); + return GNUNET_SYSERR; + } } add = GNUNET_NO; } |