From 48ebb54c2948ca1d13736970667ee3ae3da7d89b Mon Sep 17 00:00:00 2001 From: Daniel Shiposha Date: Mon, 27 Mar 2023 11:07:36 +0000 Subject: [PATCH] fix: weights in tests --- --- a/runtime/common/weights.rs +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2019-2022 Unique Network (Gibraltar) Ltd. -// This file is part of Unique Network. - -// Unique Network is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Unique Network is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Unique Network. If not, see . - -use core::marker::PhantomData; -use frame_support::{weights::Weight}; -use pallet_common::{CommonWeightInfo, dispatch::dispatch_weight, RefungibleExtensionsWeightInfo}; - -use pallet_fungible::{Config as FungibleConfig, common::CommonWeights as FungibleWeights}; -use pallet_nonfungible::{Config as NonfungibleConfig, common::CommonWeights as NonfungibleWeights}; - -#[cfg(feature = "refungible")] -use pallet_refungible::{ - Config as RefungibleConfig, weights::WeightInfo, common::CommonWeights as RefungibleWeights, -}; -use up_data_structs::{CreateItemExData, CreateItemData}; - -pub mod xcm; - -macro_rules! max_weight_of { - ($method:ident ( $($args:tt)* )) => {{ - let max_weight = >::$method($($args)*) - .max(>::$method($($args)*)); - - #[cfg(feature = "refungible")] - let max_weight = max_weight.max(>::$method($($args)*)); - - max_weight - }}; -} - -#[cfg(not(feature = "refungible"))] -pub trait CommonWeightConfigs: FungibleConfig + NonfungibleConfig {} - -#[cfg(not(feature = "refungible"))] -impl CommonWeightConfigs for T {} - -#[cfg(feature = "refungible")] -pub trait CommonWeightConfigs: FungibleConfig + NonfungibleConfig + RefungibleConfig {} - -#[cfg(feature = "refungible")] -impl CommonWeightConfigs for T {} - -pub struct CommonWeights(PhantomData); - -impl CommonWeightInfo for CommonWeights -where - T: CommonWeightConfigs, -{ - fn create_item(data: &CreateItemData) -> Weight { - dispatch_weight::() + max_weight_of!(create_item(data)) - } - - fn create_multiple_items(data: &[CreateItemData]) -> Weight { - dispatch_weight::() + max_weight_of!(create_multiple_items(data)) - } - - fn create_multiple_items_ex(data: &CreateItemExData) -> Weight { - dispatch_weight::() + max_weight_of!(create_multiple_items_ex(data)) - } - - fn burn_item() -> Weight { - dispatch_weight::() + max_weight_of!(burn_item()) - } - - fn set_collection_properties(amount: u32) -> Weight { - dispatch_weight::() + max_weight_of!(set_collection_properties(amount)) - } - - fn delete_collection_properties(amount: u32) -> Weight { - dispatch_weight::() + max_weight_of!(delete_collection_properties(amount)) - } - - fn set_token_properties(amount: u32) -> Weight { - dispatch_weight::() + max_weight_of!(set_token_properties(amount)) - } - - fn delete_token_properties(amount: u32) -> Weight { - dispatch_weight::() + max_weight_of!(delete_token_properties(amount)) - } - - fn set_token_property_permissions(amount: u32) -> Weight { - dispatch_weight::() + max_weight_of!(set_token_property_permissions(amount)) - } - - fn transfer() -> Weight { - dispatch_weight::() + max_weight_of!(transfer()) - } - - fn approve() -> Weight { - dispatch_weight::() + max_weight_of!(approve()) - } - - fn approve_from() -> Weight { - dispatch_weight::() + max_weight_of!(approve_from()) - } - - fn transfer_from() -> Weight { - dispatch_weight::() + max_weight_of!(transfer_from()) - } - - fn burn_from() -> Weight { - dispatch_weight::() + max_weight_of!(burn_from()) - } - - fn burn_recursively_self_raw() -> Weight { - max_weight_of!(burn_recursively_self_raw()) - } - - fn burn_recursively_breadth_raw(amount: u32) -> Weight { - max_weight_of!(burn_recursively_breadth_raw(amount)) - } - - fn token_owner() -> Weight { - max_weight_of!(token_owner()) - } - - fn set_allowance_for_all() -> Weight { - max_weight_of!(set_allowance_for_all()) - } - - fn force_repair_item() -> Weight { - max_weight_of!(force_repair_item()) - } -} - -#[cfg(feature = "refungible")] -impl RefungibleExtensionsWeightInfo for CommonWeights -where - T: FungibleConfig + NonfungibleConfig + RefungibleConfig, -{ - fn repartition() -> Weight { - dispatch_weight::() + <::WeightInfo>::repartition_item() - } -} - -#[cfg(not(feature = "refungible"))] -impl RefungibleExtensionsWeightInfo for CommonWeights -where - T: FungibleConfig + NonfungibleConfig, -{ - fn repartition() -> Weight { - dispatch_weight::() - } -} --- /dev/null +++ b/runtime/common/weights/mod.rs @@ -0,0 +1,157 @@ +// Copyright 2019-2022 Unique Network (Gibraltar) Ltd. +// This file is part of Unique Network. + +// Unique Network is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Unique Network is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Unique Network. If not, see . + +use core::marker::PhantomData; +use frame_support::{weights::Weight}; +use pallet_common::{CommonWeightInfo, dispatch::dispatch_weight, RefungibleExtensionsWeightInfo}; + +use pallet_fungible::{Config as FungibleConfig, common::CommonWeights as FungibleWeights}; +use pallet_nonfungible::{Config as NonfungibleConfig, common::CommonWeights as NonfungibleWeights}; + +#[cfg(feature = "refungible")] +use pallet_refungible::{ + Config as RefungibleConfig, weights::WeightInfo, common::CommonWeights as RefungibleWeights, +}; +use up_data_structs::{CreateItemExData, CreateItemData}; + +pub mod xcm; + +macro_rules! max_weight_of { + ($method:ident ( $($args:tt)* )) => {{ + let max_weight = >::$method($($args)*) + .max(>::$method($($args)*)); + + #[cfg(feature = "refungible")] + let max_weight = max_weight.max(>::$method($($args)*)); + + max_weight + }}; +} + +#[cfg(not(feature = "refungible"))] +pub trait CommonWeightConfigs: FungibleConfig + NonfungibleConfig {} + +#[cfg(not(feature = "refungible"))] +impl CommonWeightConfigs for T {} + +#[cfg(feature = "refungible")] +pub trait CommonWeightConfigs: FungibleConfig + NonfungibleConfig + RefungibleConfig {} + +#[cfg(feature = "refungible")] +impl CommonWeightConfigs for T {} + +pub struct CommonWeights(PhantomData); + +impl CommonWeightInfo for CommonWeights +where + T: CommonWeightConfigs, +{ + fn create_item(data: &CreateItemData) -> Weight { + dispatch_weight::() + max_weight_of!(create_item(data)) + } + + fn create_multiple_items(data: &[CreateItemData]) -> Weight { + dispatch_weight::() + max_weight_of!(create_multiple_items(data)) + } + + fn create_multiple_items_ex(data: &CreateItemExData) -> Weight { + dispatch_weight::() + max_weight_of!(create_multiple_items_ex(data)) + } + + fn burn_item() -> Weight { + dispatch_weight::() + max_weight_of!(burn_item()) + } + + fn set_collection_properties(amount: u32) -> Weight { + dispatch_weight::() + max_weight_of!(set_collection_properties(amount)) + } + + fn delete_collection_properties(amount: u32) -> Weight { + dispatch_weight::() + max_weight_of!(delete_collection_properties(amount)) + } + + fn set_token_properties(amount: u32) -> Weight { + dispatch_weight::() + max_weight_of!(set_token_properties(amount)) + } + + fn delete_token_properties(amount: u32) -> Weight { + dispatch_weight::() + max_weight_of!(delete_token_properties(amount)) + } + + fn set_token_property_permissions(amount: u32) -> Weight { + dispatch_weight::() + max_weight_of!(set_token_property_permissions(amount)) + } + + fn transfer() -> Weight { + dispatch_weight::() + max_weight_of!(transfer()) + } + + fn approve() -> Weight { + dispatch_weight::() + max_weight_of!(approve()) + } + + fn approve_from() -> Weight { + dispatch_weight::() + max_weight_of!(approve_from()) + } + + fn transfer_from() -> Weight { + dispatch_weight::() + max_weight_of!(transfer_from()) + } + + fn burn_from() -> Weight { + dispatch_weight::() + max_weight_of!(burn_from()) + } + + fn burn_recursively_self_raw() -> Weight { + max_weight_of!(burn_recursively_self_raw()) + } + + fn burn_recursively_breadth_raw(amount: u32) -> Weight { + max_weight_of!(burn_recursively_breadth_raw(amount)) + } + + fn token_owner() -> Weight { + max_weight_of!(token_owner()) + } + + fn set_allowance_for_all() -> Weight { + max_weight_of!(set_allowance_for_all()) + } + + fn force_repair_item() -> Weight { + max_weight_of!(force_repair_item()) + } +} + +#[cfg(feature = "refungible")] +impl RefungibleExtensionsWeightInfo for CommonWeights +where + T: FungibleConfig + NonfungibleConfig + RefungibleConfig, +{ + fn repartition() -> Weight { + dispatch_weight::() + <::WeightInfo>::repartition_item() + } +} + +#[cfg(not(feature = "refungible"))] +impl RefungibleExtensionsWeightInfo for CommonWeights +where + T: FungibleConfig + NonfungibleConfig, +{ + fn repartition() -> Weight { + dispatch_weight::() + } +} --- a/runtime/tests/Cargo.toml +++ b/runtime/tests/Cargo.toml @@ -43,4 +43,5 @@ evm-coder = { workspace = true } up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.39" } xcm = { workspace = true } +pallet-xcm = { workspace = true } pallet-configuration = { workspace = true } --- a/runtime/tests/src/lib.rs +++ b/runtime/tests/src/lib.rs @@ -44,7 +44,7 @@ use dispatch::CollectionDispatchT; -#[path = "../../common/weights.rs"] +#[path = "../../common/weights/mod.rs"] mod weights; use weights::CommonWeights; -- gitstuff