Merge branch 'pallet-networks' into pallet-combined

Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
This commit is contained in:
Uncle Stretch 2026-10-29 14:24:57 +03:00
commit 5380ac0b36
Signed by: str3tch
GPG Key ID: 84F3190747EE79AA

View File

@ -878,23 +878,25 @@ impl<T: Config> NetworkDataMutateHandler<NetworkData, BalanceOf<T>> for Pallet<T
.map(|network| network.incoming_share)
.ok_or(())?;
GatekeeperAmounts::<T>::try_mutate(network_id, |gatekeeper_amount| -> Result<(), ()> {
*gatekeeper_amount = gatekeeper_amount.checked_add(&amount).ok_or(())?;
Ok(())
})?;
let increased_gatekeeper_amount = GatekeeperAmounts::<T>::get(network_id)
.checked_add(&amount)
.ok_or(())?;
let curve_share = Perbill::from_parts(incoming_share).mul_ceil(amount);
let final_amount = amount.saturating_sub(curve_share);
NetworkImbalance::<T>::try_mutate(|imbalance_state| -> Result<(), ()> {
imbalance_state.incoming = imbalance_state.incoming
.checked_add(&final_amount)
.ok_or(())?;
imbalance_state.curve_share = imbalance_state.curve_share
.checked_add(&curve_share)
.ok_or(())?;
Ok(())
})?;
let mut imbalance_state = NetworkImbalance::<T>::get();
imbalance_state.incoming = imbalance_state.incoming
.checked_add(&final_amount)
.ok_or(())?;
imbalance_state.curve_share = imbalance_state.curve_share
.checked_add(&curve_share)
.ok_or(())?;
GatekeeperAmounts::<T>::insert(network_id, increased_gatekeeper_amount);
NetworkImbalance::<T>::put(imbalance_state);
Ok(final_amount)
}
@ -907,23 +909,25 @@ impl<T: Config> NetworkDataMutateHandler<NetworkData, BalanceOf<T>> for Pallet<T
.map(|network| network.outgoing_share)
.ok_or(())?;
GatekeeperAmounts::<T>::try_mutate(network_id, |gatekeeper_amount| -> Result<(), ()> {
*gatekeeper_amount = gatekeeper_amount.checked_sub(&amount).ok_or(())?;
Ok(())
})?;
let decreased_gatekeeper_amount = GatekeeperAmounts::<T>::get(network_id)
.checked_sub(&amount)
.ok_or(())?;
let curve_share = Perbill::from_parts(outgoing_share).mul_ceil(amount);
let final_amount = amount.saturating_sub(curve_share);
NetworkImbalance::<T>::try_mutate(|imbalance_state| -> Result<(), ()> {
imbalance_state.outgoing = imbalance_state.outgoing
.checked_add(&final_amount)
.ok_or(())?;
imbalance_state.curve_share = imbalance_state.curve_share
.checked_add(&curve_share)
.ok_or(())?;
Ok(())
})?;
let mut imbalance_state = NetworkImbalance::<T>::get();
imbalance_state.outgoing = imbalance_state.outgoing
.checked_add(&final_amount)
.ok_or(())?;
imbalance_state.curve_share = imbalance_state.curve_share
.checked_add(&curve_share)
.ok_or(())?;
GatekeeperAmounts::<T>::insert(network_id, decreased_gatekeeper_amount);
NetworkImbalance::<T>::put(imbalance_state);
Ok(final_amount)
}