@@ -50,8 +50,9 @@ impl DisputeManager {
5050 total = BasicMath::safe_add(total, amount)?;
5151 }
5252
53- let (trustless_fee, platform_fee, total_fees) =
54- FeeCalculator::calculate_total_fees(total, escrow.platform_fee)?;
53+ let fee_result =
54+ FeeCalculator::calculate_standard_fees(total, escrow.platform_fee)?;
55+ let total_fees = BasicMath::safe_add(fee_result.trustless_work_fee, fee_result.platform_fee)?;
5556
5657 validate_withdraw_remaining_funds_conditions(
5758 &escrow,
@@ -61,14 +62,14 @@ impl DisputeManager {
6162 total,
6263 )?;
6364
64- if trustless_fee > 0 {
65- token_client.transfer(&contract_address, &trustless_work_address, &trustless_fee );
65+ if fee_result.trustless_work_fee > 0 {
66+ token_client.transfer(&contract_address, &trustless_work_address, &fee_result.trustless_work_fee );
6667 }
67- if platform_fee > 0 {
68+ if fee_result. platform_fee > 0 {
6869 token_client.transfer(
6970 &contract_address,
7071 &escrow.roles.platform_address,
71- &platform_fee,
72+ &fee_result. platform_fee,
7273 );
7374 }
7475 for (addr, amount) in distributions.iter() {
@@ -129,28 +130,28 @@ impl DisputeManager {
129130 total,
130131 )?;
131132
132- let (trustless_fee, platform_fee, total_fees) =
133- FeeCalculator::calculate_total_fees(total, escrow.platform_fee)?;
133+ let fee_result =
134+ FeeCalculator::calculate_standard_fees(total, escrow.platform_fee)?;
135+ let total_fees = BasicMath::safe_add(fee_result.trustless_work_fee, fee_result.platform_fee)?;
134136
135- if trustless_fee > 0 {
136- token_client.transfer(&contract_address, &trustless_work_address, &trustless_fee );
137+ if fee_result.trustless_work_fee > 0 {
138+ token_client.transfer(&contract_address, &trustless_work_address, &fee_result.trustless_work_fee );
137139 }
138- if platform_fee > 0 {
140+ if fee_result. platform_fee > 0 {
139141 token_client.transfer(
140142 &contract_address,
141143 &escrow.roles.platform_address,
142- &platform_fee,
144+ &fee_result. platform_fee,
143145 );
144146 }
145147
146148 for (addr, amount) in distributions.iter() {
147- if amount <= 0 {
148- continue;
149- }
150- let fee_share = BasicMath::safe_div(BasicMath::safe_mul(amount, total_fees)?, total)?;
151- let net_amount = BasicMath::safe_sub(amount, fee_share)?;
152- if net_amount > 0 {
153- token_client.transfer(&contract_address, &addr, &net_amount);
149+ if amount > 0 {
150+ let fee_share = BasicMath::safe_div(BasicMath::safe_mul(amount, total_fees)?, total)?;
151+ let net_amount = BasicMath::safe_sub(amount, fee_share)?;
152+ if net_amount > 0 {
153+ token_client.transfer(&contract_address, &addr, &net_amount);
154+ }
154155 }
155156 }
156157
0 commit comments