From fbb7e698c1c4034e4e65e03e1706fefb38fc8096 Mon Sep 17 00:00:00 2001 From: Sorin Petreasca Date: Wed, 25 Mar 2026 15:58:39 +0200 Subject: [PATCH] supernova sc fixes --- dex/pair/src/safe_price_view.rs | 4 ++++ dex/router/src/contract.rs | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/dex/pair/src/safe_price_view.rs b/dex/pair/src/safe_price_view.rs index d894905fa..7566e8f3a 100644 --- a/dex/pair/src/safe_price_view.rs +++ b/dex/pair/src/safe_price_view.rs @@ -622,6 +622,10 @@ pub trait SafePriceViewModule: let left_weight = right_observation.recording_timestamp - target_timestamp; let right_weight = target_timestamp - left_observation.recording_timestamp; + if left_weight == 0 && right_weight == 0 { + return left_observation.recording_round; + } + weighted_average( left_observation.recording_round, left_weight, diff --git a/dex/router/src/contract.rs b/dex/router/src/contract.rs index 5d4040921..c28d48cf2 100644 --- a/dex/router/src/contract.rs +++ b/dex/router/src/contract.rs @@ -365,6 +365,7 @@ pub trait Router: self.default_safe_price_rounds_offset().set(new_offset); } + #[only_owner] #[endpoint(claimDeveloperRewardsPairs)] fn claim_developer_rewards_pairs(&self, pairs: MultiValueEncoded) { let sc_address = self.blockchain().get_sc_address(); @@ -380,7 +381,7 @@ pub trait Router: require!(egld_balance_after > egld_balance_before, "No EGLD received"); let total_egld_received = egld_balance_after - egld_balance_before; - let owner = self.blockchain().get_caller(); + let owner = self.blockchain().get_owner_address(); self.send().direct_egld(&owner, &total_egld_received); }