From ad64b30667193f3303ded1b931c14ad77d99c35b Mon Sep 17 00:00:00 2001 From: coderipper Date: Tue, 17 Dec 2024 15:43:34 -0300 Subject: [PATCH] small fix --- apps/contracts/vault/src/lib.rs | 7 ++----- apps/contracts/vault/src/report.rs | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/apps/contracts/vault/src/lib.rs b/apps/contracts/vault/src/lib.rs index 37ab3bc3..1a924abf 100755 --- a/apps/contracts/vault/src/lib.rs +++ b/apps/contracts/vault/src/lib.rs @@ -557,11 +557,8 @@ impl VaultTrait for DeFindexVault { let (_, strategy_allocations) = fetch_invested_funds_for_asset(&e, &asset); for strategy_allocation in strategy_allocations.iter() { - let mut report = get_report(&e, &strategy_allocation.strategy_address); - report.report(strategy_allocation.amount); - set_report(&e, &strategy_allocation.strategy_address, &report); - - reports.push_back(report); + let report_result = report::report(&e, &strategy_allocation.strategy_address, &strategy_allocation.amount); + reports.push_back(report_result); } } diff --git a/apps/contracts/vault/src/report.rs b/apps/contracts/vault/src/report.rs index e7927440..336e5185 100644 --- a/apps/contracts/vault/src/report.rs +++ b/apps/contracts/vault/src/report.rs @@ -37,4 +37,22 @@ impl Report { self.gains_or_losses += gains_or_losses; self.prev_balance = current_balance; } +} + +/// Reports the gains or losses for a strategy based on the current balance. +/// +/// # Arguments +/// * `e` - A reference to the environment. +/// * `strategy` - The address of the strategy. +/// * `current_balance` - A reference to the current balance. +/// +/// # Returns +/// Report struct containing the previous balance, gains or losses, and locked fee. +pub fn report(e: &Env, strategy: &Address, current_balance: &i128) -> Report { + let mut report = get_report(e, strategy); + + report.report(current_balance.clone()); + set_report(e, strategy, &report); + + report } \ No newline at end of file