1234567891011121314151617use core::marker::PhantomData;18use frame_support::{weights::Weight};19use pallet_common::{CommonWeightInfo, dispatch::dispatch_weight};2021use pallet_fungible::{Config as FungibleConfig, common::CommonWeights as FungibleWeights};22use pallet_nonfungible::{Config as NonfungibleConfig, common::CommonWeights as NonfungibleWeights};23use pallet_refungible::{Config as RefungibleConfig, common::CommonWeights as RefungibleWeights};24use up_data_structs::{CreateItemExData, CreateItemData};2526macro_rules! max_weight_of {27 ($method:ident ( $($args:tt)* )) => {28 <FungibleWeights<T>>::$method($($args)*)29 .max(<NonfungibleWeights<T>>::$method($($args)*))30 .max(<RefungibleWeights<T>>::$method($($args)*))31 };32}3334pub struct CommonWeights<T>(PhantomData<T>)35where36 T: FungibleConfig + NonfungibleConfig + RefungibleConfig;37impl<T> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T>38where39 T: FungibleConfig + NonfungibleConfig + RefungibleConfig,40{41 fn create_item() -> Weight {42 dispatch_weight::<T>() + max_weight_of!(create_item())43 }4445 fn create_multiple_items(data: &[CreateItemData]) -> Weight {46 dispatch_weight::<T>() + max_weight_of!(create_multiple_items(data))47 }4849 fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {50 dispatch_weight::<T>() + max_weight_of!(create_multiple_items_ex(data))51 }5253 fn burn_item() -> Weight {54 dispatch_weight::<T>() + max_weight_of!(burn_item())55 }5657 fn set_collection_properties(amount: u32) -> Weight {58 dispatch_weight::<T>() + max_weight_of!(set_collection_properties(amount))59 }6061 fn delete_collection_properties(amount: u32) -> Weight {62 dispatch_weight::<T>() + max_weight_of!(delete_collection_properties(amount))63 }6465 fn set_token_properties(amount: u32) -> Weight {66 dispatch_weight::<T>() + max_weight_of!(set_token_properties(amount))67 }6869 fn delete_token_properties(amount: u32) -> Weight {70 dispatch_weight::<T>() + max_weight_of!(delete_token_properties(amount))71 }7273 fn set_property_permissions(amount: u32) -> Weight {74 dispatch_weight::<T>() + max_weight_of!(set_property_permissions(amount))75 }7677 fn transfer() -> Weight {78 dispatch_weight::<T>() + max_weight_of!(transfer())79 }8081 fn approve() -> Weight {82 dispatch_weight::<T>() + max_weight_of!(approve())83 }8485 fn transfer_from() -> Weight {86 dispatch_weight::<T>() + max_weight_of!(transfer_from())87 }8889 fn burn_from() -> Weight {90 dispatch_weight::<T>() + max_weight_of!(burn_from())91 }9293 fn burn_recursively_self_raw() -> Weight {94 max_weight_of!(burn_recursively_self_raw())95 }9697 fn burn_recursively_breadth_raw(amount: u32) -> Weight {98 max_weight_of!(burn_recursively_breadth_raw(amount))99 }100}