Compare commits
1 Commits
main
...
pallet-net
| Author | SHA1 | Date | |
|---|---|---|---|
| f77ca05d3f |
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ghost-networks"
|
name = "ghost-networks"
|
||||||
version = "0.2.10"
|
version = "0.2.11"
|
||||||
description = "Registry and lifecycle management for external network metadata and cryptographic profiles."
|
description = "Registry and lifecycle management for external network metadata and cryptographic profiles."
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
authors.workspace = true
|
authors.workspace = true
|
||||||
|
|||||||
@ -833,23 +833,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
|
imbalance_state.incoming = imbalance_state.incoming
|
||||||
.checked_add(&final_amount)
|
.checked_add(&final_amount)
|
||||||
.ok_or(())?;
|
.ok_or(())?;
|
||||||
|
|
||||||
imbalance_state.curve_share = imbalance_state.curve_share
|
imbalance_state.curve_share = imbalance_state.curve_share
|
||||||
.checked_add(&curve_share)
|
.checked_add(&curve_share)
|
||||||
.ok_or(())?;
|
.ok_or(())?;
|
||||||
Ok(())
|
|
||||||
})?;
|
GatekeeperAmounts::<T>::insert(network_id, increased_gatekeeper_amount);
|
||||||
|
NetworkImbalance::<T>::put(imbalance_state);
|
||||||
|
|
||||||
Ok(final_amount)
|
Ok(final_amount)
|
||||||
}
|
}
|
||||||
@ -862,23 +864,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
|
imbalance_state.outgoing = imbalance_state.outgoing
|
||||||
.checked_add(&final_amount)
|
.checked_add(&final_amount)
|
||||||
.ok_or(())?;
|
.ok_or(())?;
|
||||||
|
|
||||||
imbalance_state.curve_share = imbalance_state.curve_share
|
imbalance_state.curve_share = imbalance_state.curve_share
|
||||||
.checked_add(&curve_share)
|
.checked_add(&curve_share)
|
||||||
.ok_or(())?;
|
.ok_or(())?;
|
||||||
Ok(())
|
|
||||||
})?;
|
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