Skip to content

Commit d606c9f

Browse files
committed
refactor: remove validate_distributions_size function and integrate its logic into dispute resolution conditions
1 parent e333a93 commit d606c9f

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

contracts/escrow/src/core/dispute.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use soroban_sdk::token::Client as TokenClient;
22
use soroban_sdk::{Address, Env, Map, String};
33

44
use crate::core::escrow::EscrowManager;
5-
use crate::core::validators::dispute::validate_distributions_size;
65
use crate::core::validators::milestone::validate_and_convert_milestone_index;
76
use crate::error::ContractError;
87
use crate::modules::{
@@ -25,8 +24,6 @@ impl DisputeManager {
2524
trustless_work_address: Address,
2625
distributions: Map<Address, i128>,
2726
) -> Result<Escrow, ContractError> {
28-
validate_distributions_size(&distributions)?;
29-
3027
let escrow = EscrowManager::get_escrow(e)?;
3128
let contract_address = e.current_contract_address();
3229

@@ -55,6 +52,7 @@ impl DisputeManager {
5552
all_processed,
5653
current_balance,
5754
total,
55+
&distributions,
5856
)?;
5957

6058
dispute_resolver.require_auth();
@@ -100,8 +98,6 @@ impl DisputeManager {
10098
trustless_work_address: Address,
10199
distributions: Map<Address, i128>,
102100
) -> Result<Escrow, ContractError> {
103-
validate_distributions_size(&distributions)?;
104-
105101
let mut escrow = EscrowManager::get_escrow(e)?;
106102
let contract_address = e.current_contract_address();
107103

@@ -128,6 +124,7 @@ impl DisputeManager {
128124
&dispute_resolver,
129125
current_balance,
130126
total,
127+
&distributions,
131128
)?;
132129

133130
dispute_resolver.require_auth();

contracts/escrow/src/core/validators/dispute.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,19 @@ use crate::{
88

99
const MAX_DISTRIBUTIONS: u32 = 50;
1010

11-
#[inline]
12-
pub fn validate_distributions_size(
13-
distributions: &Map<Address, i128>,
14-
) -> Result<(), ContractError> {
15-
if distributions.len() > MAX_DISTRIBUTIONS {
16-
return Err(ContractError::TooManyDistributions);
17-
}
18-
Ok(())
19-
}
20-
2111
#[inline]
2212
pub fn validate_dispute_resolution_conditions(
2313
escrow: &Escrow,
2414
milestone: &Milestone,
2515
dispute_resolver: &Address,
2616
current_balance: i128,
2717
total: i128,
18+
distributions: &Map<Address, i128>,
2819
) -> Result<(), ContractError> {
20+
if distributions.len() > MAX_DISTRIBUTIONS {
21+
return Err(ContractError::TooManyDistributions);
22+
}
23+
2924
if dispute_resolver != &escrow.roles.dispute_resolver {
3025
return Err(ContractError::OnlyDisputeResolverCanExecuteThisFunction);
3126
}
@@ -64,7 +59,12 @@ pub fn validate_withdraw_remaining_funds_conditions(
6459
all_processed: bool,
6560
current_balance: i128,
6661
total: i128,
62+
distributions: &Map<Address, i128>,
6763
) -> Result<(), ContractError> {
64+
if distributions.len() > MAX_DISTRIBUTIONS {
65+
return Err(ContractError::TooManyDistributions);
66+
}
67+
6868
if dispute_resolver != &escrow.roles.dispute_resolver {
6969
return Err(ContractError::OnlyDisputeResolverCanExecuteThisFunction);
7070
}

0 commit comments

Comments
 (0)