Skip to content

Commit fae2f57

Browse files
committed
use the value 0 for claimed delta when transfer fee is max fee
1 parent 5c19bb7 commit fae2f57

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

confidential-transfer/proof-generation/src/transfer_with_fee.rs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -186,12 +186,16 @@ pub fn transfer_with_fee_split_proof_data(
186186
// calculate fee
187187
let transfer_fee_basis_points = fee_rate_basis_points;
188188
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)
190190
.ok_or(TokenProofGenerationError::FeeCalculation)?;
191191

192192
// 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+
};
195199

196200
// split and encrypt fee
197201
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(
232236
.ok_or(TokenProofGenerationError::IllegalAmountBitLength)?;
233237

234238
// 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);
236240
let (delta_commitment, delta_opening) = compute_delta_commitment_and_opening(
237241
(
238242
&combined_transfer_amount_commitment,
@@ -249,7 +253,7 @@ pub fn transfer_with_fee_split_proof_data(
249253
fee_amount,
250254
&delta_commitment,
251255
&delta_opening,
252-
delta_fee,
256+
claimed_delta_fee,
253257
&claimed_commitment,
254258
&claimed_opening,
255259
transfer_fee_maximum_fee,
@@ -310,7 +314,7 @@ pub fn transfer_with_fee_split_proof_data(
310314

311315
// generate range proof data
312316
let delta_fee_complement = MAX_FEE_BASIS_POINTS
313-
.checked_sub(delta_fee)
317+
.checked_sub(claimed_delta_fee)
314318
.ok_or(TokenProofGenerationError::FeeCalculation)?;
315319

316320
let max_fee_basis_points_commitment =
@@ -334,7 +338,7 @@ pub fn transfer_with_fee_split_proof_data(
334338
new_decrypted_available_balance,
335339
transfer_amount_lo,
336340
transfer_amount_hi,
337-
delta_fee,
341+
claimed_delta_fee,
338342
delta_fee_complement,
339343
fee_amount_lo,
340344
fee_amount_hi,

0 commit comments

Comments
 (0)