From 4a5346053ba4bf38399c9a457b370957a9277556 Mon Sep 17 00:00:00 2001 From: Sergej Date: Thu, 30 Jan 2025 21:29:29 +0100 Subject: [PATCH] use mutate --- polkadot/runtime/parachains/src/on_demand/mod.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/polkadot/runtime/parachains/src/on_demand/mod.rs b/polkadot/runtime/parachains/src/on_demand/mod.rs index 7ed14ea46e0f..2ed70264138a 100644 --- a/polkadot/runtime/parachains/src/on_demand/mod.rs +++ b/polkadot/runtime/parachains/src/on_demand/mod.rs @@ -495,9 +495,11 @@ where }, PaymentType::Credits => { // Charge the sending account the spot price in credits. - let credits = Credits::::get(&sender); - ensure!(spot_price <= credits, Error::::InsufficientCredits); - Credits::::insert(&sender, credits.saturating_sub(spot_price)); + Credits::::try_mutate(&sender, |credits| -> DispatchResult { + ensure!(spot_price <= *credits, Error::::InsufficientCredits); + *credits = credits.saturating_sub(spot_price); + Ok(()) + })?; }, }