Skip to content

Commit

Permalink
refac: try_mutate instead of getting and inserting
Browse files Browse the repository at this point in the history
  • Loading branch information
devwckd committed Dec 19, 2024
1 parent 7c83aee commit 3adcd1b
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions pallets/governance/src/curator.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::AccountIdOf;
use polkadot_sdk::frame_election_provider_support::Get;
use polkadot_sdk::sp_runtime::Percent;
use polkadot_sdk::sp_runtime::{DispatchError, Percent};
use polkadot_sdk::{
frame_support::dispatch::DispatchResult, frame_system::ensure_signed,
polkadot_sdk_frame::prelude::OriginFor,
Expand Down Expand Up @@ -32,13 +32,15 @@ pub fn penalize_agent<T: crate::Config>(
return Err(crate::Error::<T>::InvalidPenaltyPercentage.into());
}

let Some(mut agent) = pallet_torus0::Agents::<T>::get(&agent_key) else {
return Err(crate::Error::<T>::AgentNotFound.into());
};
pallet_torus0::Agents::<T>::try_mutate(&agent_key, |agent| {
let Some(agent) = agent else {
return Err(crate::Error::<T>::AgentNotFound.into());
};

agent.weight_factor = Percent::from_percent(100u8.saturating_sub(percentage));
agent.weight_factor = Percent::from_percent(100u8.saturating_sub(percentage));

pallet_torus0::Agents::<T>::insert(agent_key, agent);
Ok::<(), DispatchError>(())
})?;

Ok(())
}
Expand Down

0 comments on commit 3adcd1b

Please sign in to comment.