From 4f4c28c07604496507ffa939ccc0cdb1f1996c11 Mon Sep 17 00:00:00 2001 From: rakanalh Date: Mon, 27 Nov 2023 12:18:48 +0300 Subject: [PATCH] Restore merge removals --- pallets/ddc-payouts/src/lib.rs | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/pallets/ddc-payouts/src/lib.rs b/pallets/ddc-payouts/src/lib.rs index ad8430bda..6531ae000 100644 --- a/pallets/ddc-payouts/src/lib.rs +++ b/pallets/ddc-payouts/src/lib.rs @@ -714,6 +714,55 @@ pub mod pallet { } } + fn charge_treasury_fees( + treasury_fee: u128, + vault: &T::AccountId, + treasury_vault: &T::AccountId, + ) -> DispatchResult { + let amount_to_deduct = treasury_fee.saturated_into::>(); + ::Currency::transfer( + vault, + treasury_vault, + amount_to_deduct, + ExistenceRequirement::KeepAlive, + ) + } + + fn charge_cluster_reserve_fees( + cluster_reserve_fee: u128, + vault: &T::AccountId, + reserve_vault: &T::AccountId, + ) -> DispatchResult { + let amount_to_deduct = cluster_reserve_fee.saturated_into::>(); + ::Currency::transfer( + vault, + reserve_vault, + amount_to_deduct, + ExistenceRequirement::KeepAlive, + ) + } + + fn charge_validator_fees( + validators_fee: u128, + vault: &T::AccountId, + ) -> DispatchResult { + let amount_to_deduct = validators_fee + .checked_div(T::ValidatorList::count().try_into().unwrap()) + .ok_or(Error::::ArithmeticOverflow)? + .saturated_into::>(); + + for validator_account_id in T::ValidatorList::iter() { + ::Currency::transfer( + vault, + &validator_account_id, + amount_to_deduct, + ExistenceRequirement::KeepAlive, + )?; + } + + Ok(()) + } + fn get_node_reward( node_usage: &NodeUsage, total_nodes_usage: &NodeUsage,