
//! Autogenerated weights for `pallet_pool_fees`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2024-06-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `runner`, CPU: `AMD EPYC 7763 64-Core Processor`
//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("altair-local")`, DB CACHE: 1024

// Executed Command:
// target/release/centrifuge-chain
// benchmark
// pallet
// --chain=altair-local
// --steps=50
// --repeat=20
// --pallet=pallet_pool_fees
// --extrinsic=*
// --wasm-execution=compiled
// --heap-pages=4096
// --output=/tmp/runtime/altair/src/weights/pallet_pool_fees.rs

#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(missing_docs)]

use frame_support::{traits::Get, weights::Weight};
use core::marker::PhantomData;

/// Weight functions for `pallet_pool_fees`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_pool_fees::WeightInfo for WeightInfo<T> {
	/// Storage: `PoolSystem::Pool` (r:1 w:0)
	/// Proof: `PoolSystem::Pool` (`max_values`: None, `max_size`: Some(813), added: 3288, mode: `MaxEncodedLen`)
	/// Storage: `Permissions::Permission` (r:1 w:0)
	/// Proof: `Permissions::Permission` (`max_values`: None, `max_size`: Some(228), added: 2703, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::LastFeeId` (r:1 w:1)
	/// Proof: `PoolFees::LastFeeId` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
	/// Storage: `Timestamp::Now` (r:1 w:0)
	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
	/// Storage: `PoolSystem::NotedChange` (r:0 w:1)
	/// Proof: `PoolSystem::NotedChange` (`max_values`: None, `max_size`: Some(5184), added: 7659, mode: `MaxEncodedLen`)
	fn propose_new_fee() -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `548`
		//  Estimated: `4278`
		// Minimum execution time: 33_503_000 picoseconds.
		Weight::from_parts(34_895_000, 0)
			.saturating_add(Weight::from_parts(0, 4278))
			.saturating_add(T::DbWeight::get().reads(4))
			.saturating_add(T::DbWeight::get().writes(2))
	}
	/// Storage: `PoolSystem::Pool` (r:1 w:0)
	/// Proof: `PoolSystem::Pool` (`max_values`: None, `max_size`: Some(813), added: 3288, mode: `MaxEncodedLen`)
	/// Storage: `PoolSystem::NotedChange` (r:1 w:1)
	/// Proof: `PoolSystem::NotedChange` (`max_values`: None, `max_size`: Some(5184), added: 7659, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::FeeIdsToPoolBucket` (r:1 w:1)
	/// Proof: `PoolFees::FeeIdsToPoolBucket` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::FeeIds` (r:1 w:1)
	/// Proof: `PoolFees::FeeIds` (`max_values`: None, `max_size`: Some(843), added: 3318, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::ActiveFees` (r:1 w:1)
	/// Proof: `PoolFees::ActiveFees` (`max_values`: None, `max_size`: Some(14043), added: 16518, mode: `MaxEncodedLen`)
	/// The range of component `n` is `[1, 99]`.
	fn apply_new_fee(n: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `1362 + n * (137 ±0)`
		//  Estimated: `17508`
		// Minimum execution time: 54_882_000 picoseconds.
		Weight::from_parts(55_626_623, 0)
			.saturating_add(Weight::from_parts(0, 17508))
			// Standard Error: 1_997
			.saturating_add(Weight::from_parts(291_547, 0).saturating_mul(n.into()))
			.saturating_add(T::DbWeight::get().reads(5))
			.saturating_add(T::DbWeight::get().writes(4))
	}
	/// Storage: `PoolFees::FeeIdsToPoolBucket` (r:1 w:1)
	/// Proof: `PoolFees::FeeIdsToPoolBucket` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::ActiveFees` (r:1 w:1)
	/// Proof: `PoolFees::ActiveFees` (`max_values`: None, `max_size`: Some(14043), added: 16518, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::FeeIds` (r:1 w:1)
	/// Proof: `PoolFees::FeeIds` (`max_values`: None, `max_size`: Some(843), added: 3318, mode: `MaxEncodedLen`)
	/// The range of component `n` is `[1, 100]`.
	fn remove_fee(n: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `676 + n * (136 ±0)`
		//  Estimated: `17508`
		// Minimum execution time: 32_881_000 picoseconds.
		Weight::from_parts(35_737_485, 0)
			.saturating_add(Weight::from_parts(0, 17508))
			// Standard Error: 4_070
			.saturating_add(Weight::from_parts(432_298, 0).saturating_mul(n.into()))
			.saturating_add(T::DbWeight::get().reads(3))
			.saturating_add(T::DbWeight::get().writes(3))
	}
	/// Storage: `PoolFees::FeeIdsToPoolBucket` (r:1 w:0)
	/// Proof: `PoolFees::FeeIdsToPoolBucket` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::ActiveFees` (r:1 w:1)
	/// Proof: `PoolFees::ActiveFees` (`max_values`: None, `max_size`: Some(14043), added: 16518, mode: `MaxEncodedLen`)
	/// The range of component `n` is `[1, 99]`.
	fn charge_fee(n: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `762 + n * (129 ±0)`
		//  Estimated: `17508`
		// Minimum execution time: 23_434_000 picoseconds.
		Weight::from_parts(23_271_217, 0)
			.saturating_add(Weight::from_parts(0, 17508))
			// Standard Error: 2_195
			.saturating_add(Weight::from_parts(266_858, 0).saturating_mul(n.into()))
			.saturating_add(T::DbWeight::get().reads(2))
			.saturating_add(T::DbWeight::get().writes(1))
	}
	/// Storage: `PoolFees::FeeIdsToPoolBucket` (r:1 w:0)
	/// Proof: `PoolFees::FeeIdsToPoolBucket` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::ActiveFees` (r:1 w:1)
	/// Proof: `PoolFees::ActiveFees` (`max_values`: None, `max_size`: Some(14043), added: 16518, mode: `MaxEncodedLen`)
	/// The range of component `n` is `[1, 99]`.
	fn uncharge_fee(n: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `762 + n * (129 ±0)`
		//  Estimated: `17508`
		// Minimum execution time: 23_053_000 picoseconds.
		Weight::from_parts(22_658_975, 0)
			.saturating_add(Weight::from_parts(0, 17508))
			// Standard Error: 2_172
			.saturating_add(Weight::from_parts(264_254, 0).saturating_mul(n.into()))
			.saturating_add(T::DbWeight::get().reads(2))
			.saturating_add(T::DbWeight::get().writes(1))
	}
	/// Storage: `PoolSystem::Pool` (r:1 w:0)
	/// Proof: `PoolSystem::Pool` (`max_values`: None, `max_size`: Some(813), added: 3288, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::PortfolioValuation` (r:1 w:1)
	/// Proof: `PoolFees::PortfolioValuation` (`max_values`: None, `max_size`: Some(4850), added: 7325, mode: `MaxEncodedLen`)
	/// Storage: `Timestamp::Now` (r:1 w:0)
	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::AssetsUnderManagement` (r:1 w:0)
	/// Proof: `PoolFees::AssetsUnderManagement` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
	/// Storage: `PoolFees::ActiveFees` (r:1 w:1)
	/// Proof: `PoolFees::ActiveFees` (`max_values`: None, `max_size`: Some(14043), added: 16518, mode: `MaxEncodedLen`)
	/// The range of component `n` is `[1, 100]`.
	fn update_portfolio_valuation(n: u32, ) -> Weight {
		// Proof Size summary in bytes:
		//  Measured:  `570 + n * (124 ±0)`
		//  Estimated: `17508`
		// Minimum execution time: 39_604_000 picoseconds.
		Weight::from_parts(36_665_866, 0)
			.saturating_add(Weight::from_parts(0, 17508))
			// Standard Error: 3_864
			.saturating_add(Weight::from_parts(2_935_673, 0).saturating_mul(n.into()))
			.saturating_add(T::DbWeight::get().reads(5))
			.saturating_add(T::DbWeight::get().writes(2))
	}
}
