Skip to content

Commit 25a8922

Browse files
committed
use the value 0 for claimed delta when transfer fee is max fee
1 parent 34c9cfc commit 25a8922

File tree

3 files changed

+17
-13
lines changed

3 files changed

+17
-13
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,

scripts/rust/test-sbf.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
#!/usr/bin/env zx
22
import 'zx/globals';
33
import {
4-
cliArguments,
5-
workingDirectory,
4+
cliArguments,
5+
workingDirectory,
66
} from '../utils.mjs';
77

88
const [folder, ...args] = cliArguments();
99
const manifestPath = path.join(workingDirectory, folder, 'Cargo.toml');
1010

11-
await $`RUST_LOG=error cargo test-sbf --manifest-path ${manifestPath} ${args}`;
11+
await $`cargo test-sbf --manifest-path ${manifestPath} ${args}`;

scripts/rust/test.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
#!/usr/bin/env zx
22
import 'zx/globals';
33
import {
4-
cliArguments,
5-
workingDirectory,
4+
cliArguments,
5+
workingDirectory,
66
} from '../utils.mjs';
77

88
const [folder, ...args] = cliArguments();
99
const sbfOutDir = path.join(workingDirectory, 'target', 'deploy');
1010
const manifestPath = path.join(workingDirectory, folder, 'Cargo.toml');
1111

12-
await $`RUST_LOG=error SBF_OUT_DIR=${sbfOutDir} cargo test --manifest-path ${manifestPath} ${args}`;
12+
await $`SBF_OUT_DIR=${sbfOutDir} cargo test --manifest-path ${manifestPath} ${args}`;

0 commit comments

Comments
 (0)