Merge branch 'pallet-networks' into pallet-combined
Signed-off-by: Uncle Stretch <uncle.stretch@ghostchain.io>
This commit is contained in:
commit
5380ac0b36
@ -878,23 +878,25 @@ impl<T: Config> NetworkDataMutateHandler<NetworkData, BalanceOf<T>> for Pallet<T
|
|||||||
.map(|network| network.incoming_share)
|
.map(|network| network.incoming_share)
|
||||||
.ok_or(())?;
|
.ok_or(())?;
|
||||||
|
|
||||||
GatekeeperAmounts::<T>::try_mutate(network_id, |gatekeeper_amount| -> Result<(), ()> {
|
let increased_gatekeeper_amount = GatekeeperAmounts::<T>::get(network_id)
|
||||||
*gatekeeper_amount = gatekeeper_amount.checked_add(&amount).ok_or(())?;
|
.checked_add(&amount)
|
||||||
Ok(())
|
.ok_or(())?;
|
||||||
})?;
|
|
||||||
|
|
||||||
let curve_share = Perbill::from_parts(incoming_share).mul_ceil(amount);
|
let curve_share = Perbill::from_parts(incoming_share).mul_ceil(amount);
|
||||||
let final_amount = amount.saturating_sub(curve_share);
|
let final_amount = amount.saturating_sub(curve_share);
|
||||||
|
|
||||||
NetworkImbalance::<T>::try_mutate(|imbalance_state| -> Result<(), ()> {
|
let mut imbalance_state = NetworkImbalance::<T>::get();
|
||||||
imbalance_state.incoming = imbalance_state.incoming
|
|
||||||
.checked_add(&final_amount)
|
imbalance_state.incoming = imbalance_state.incoming
|
||||||
.ok_or(())?;
|
.checked_add(&final_amount)
|
||||||
imbalance_state.curve_share = imbalance_state.curve_share
|
.ok_or(())?;
|
||||||
.checked_add(&curve_share)
|
|
||||||
.ok_or(())?;
|
imbalance_state.curve_share = imbalance_state.curve_share
|
||||||
Ok(())
|
.checked_add(&curve_share)
|
||||||
})?;
|
.ok_or(())?;
|
||||||
|
|
||||||
|
GatekeeperAmounts::<T>::insert(network_id, increased_gatekeeper_amount);
|
||||||
|
NetworkImbalance::<T>::put(imbalance_state);
|
||||||
|
|
||||||
Ok(final_amount)
|
Ok(final_amount)
|
||||||
}
|
}
|
||||||
@ -907,23 +909,25 @@ impl<T: Config> NetworkDataMutateHandler<NetworkData, BalanceOf<T>> for Pallet<T
|
|||||||
.map(|network| network.outgoing_share)
|
.map(|network| network.outgoing_share)
|
||||||
.ok_or(())?;
|
.ok_or(())?;
|
||||||
|
|
||||||
GatekeeperAmounts::<T>::try_mutate(network_id, |gatekeeper_amount| -> Result<(), ()> {
|
let decreased_gatekeeper_amount = GatekeeperAmounts::<T>::get(network_id)
|
||||||
*gatekeeper_amount = gatekeeper_amount.checked_sub(&amount).ok_or(())?;
|
.checked_sub(&amount)
|
||||||
Ok(())
|
.ok_or(())?;
|
||||||
})?;
|
|
||||||
|
|
||||||
let curve_share = Perbill::from_parts(outgoing_share).mul_ceil(amount);
|
let curve_share = Perbill::from_parts(outgoing_share).mul_ceil(amount);
|
||||||
let final_amount = amount.saturating_sub(curve_share);
|
let final_amount = amount.saturating_sub(curve_share);
|
||||||
|
|
||||||
NetworkImbalance::<T>::try_mutate(|imbalance_state| -> Result<(), ()> {
|
let mut imbalance_state = NetworkImbalance::<T>::get();
|
||||||
imbalance_state.outgoing = imbalance_state.outgoing
|
|
||||||
.checked_add(&final_amount)
|
imbalance_state.outgoing = imbalance_state.outgoing
|
||||||
.ok_or(())?;
|
.checked_add(&final_amount)
|
||||||
imbalance_state.curve_share = imbalance_state.curve_share
|
.ok_or(())?;
|
||||||
.checked_add(&curve_share)
|
|
||||||
.ok_or(())?;
|
imbalance_state.curve_share = imbalance_state.curve_share
|
||||||
Ok(())
|
.checked_add(&curve_share)
|
||||||
})?;
|
.ok_or(())?;
|
||||||
|
|
||||||
|
GatekeeperAmounts::<T>::insert(network_id, decreased_gatekeeper_amount);
|
||||||
|
NetworkImbalance::<T>::put(imbalance_state);
|
||||||
|
|
||||||
Ok(final_amount)
|
Ok(final_amount)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user