@@ -186,12 +186,16 @@ pub fn transfer_with_fee_split_proof_data(
186
186
// calculate fee
187
187
let transfer_fee_basis_points = fee_rate_basis_points;
188
188
let transfer_fee_maximum_fee = maximum_fee;
189
- let ( raw_fee_amount, delta_fee ) = calculate_fee ( transfer_amount, transfer_fee_basis_points)
189
+ let ( raw_fee_amount, raw_delta_fee ) = calculate_fee ( transfer_amount, transfer_fee_basis_points)
190
190
. ok_or ( TokenProofGenerationError :: FeeCalculation ) ?;
191
191
192
192
// if raw fee is greater than the maximum fee, then use the maximum fee for the
193
- // fee amount
194
- let fee_amount = std:: cmp:: min ( transfer_fee_maximum_fee, raw_fee_amount) ;
193
+ // fee amount and set the claimed delta fee to be 0 for simplicity
194
+ let ( fee_amount, claimed_delta_fee) = if transfer_fee_maximum_fee < raw_fee_amount {
195
+ ( transfer_fee_maximum_fee, 0 )
196
+ } else {
197
+ ( raw_fee_amount, raw_delta_fee)
198
+ } ;
195
199
196
200
// split and encrypt fee
197
201
let ( fee_amount_lo, fee_amount_hi) = try_split_u64 ( fee_amount, FEE_AMOUNT_LO_BITS )
@@ -232,7 +236,7 @@ pub fn transfer_with_fee_split_proof_data(
232
236
. ok_or ( TokenProofGenerationError :: IllegalAmountBitLength ) ?;
233
237
234
238
// compute claimed and real delta commitment
235
- let ( claimed_commitment, claimed_opening) = Pedersen :: new ( delta_fee ) ;
239
+ let ( claimed_commitment, claimed_opening) = Pedersen :: new ( claimed_delta_fee ) ;
236
240
let ( delta_commitment, delta_opening) = compute_delta_commitment_and_opening (
237
241
(
238
242
& combined_transfer_amount_commitment,
@@ -249,7 +253,7 @@ pub fn transfer_with_fee_split_proof_data(
249
253
fee_amount,
250
254
& delta_commitment,
251
255
& delta_opening,
252
- delta_fee ,
256
+ claimed_delta_fee ,
253
257
& claimed_commitment,
254
258
& claimed_opening,
255
259
transfer_fee_maximum_fee,
@@ -310,7 +314,7 @@ pub fn transfer_with_fee_split_proof_data(
310
314
311
315
// generate range proof data
312
316
let delta_fee_complement = MAX_FEE_BASIS_POINTS
313
- . checked_sub ( delta_fee )
317
+ . checked_sub ( claimed_delta_fee )
314
318
. ok_or ( TokenProofGenerationError :: FeeCalculation ) ?;
315
319
316
320
let max_fee_basis_points_commitment =
@@ -334,7 +338,7 @@ pub fn transfer_with_fee_split_proof_data(
334
338
new_decrypted_available_balance,
335
339
transfer_amount_lo,
336
340
transfer_amount_hi,
337
- delta_fee ,
341
+ claimed_delta_fee ,
338
342
delta_fee_complement,
339
343
fee_amount_lo,
340
344
fee_amount_hi,
0 commit comments