git.delta.rocks / unique-network / refs/commits / befa82f13fdb

difftreelog

fix weight for `createItem`

PraetorP2023-01-23parent: #1154c05.patch.diff
in: master
Chnaged behaviour for `CommonWeightInfo` trait.

15 files changed

modifiedCargo.lockdiffbeforeafterboth
57835783
5784[[package]]5784[[package]]
5785name = "pallet-common"5785name = "pallet-common"
5786version = "0.1.12"5786version = "0.1.13"
5787dependencies = [5787dependencies = [
5788 "ethereum 0.14.0",5788 "ethereum 0.14.0",
5789 "evm-coder",5789 "evm-coder",
63406340
6341[[package]]6341[[package]]
6342name = "pallet-nonfungible"6342name = "pallet-nonfungible"
6343version = "0.1.12"6343version = "0.1.13"
6344dependencies = [6344dependencies = [
6345 "evm-coder",6345 "evm-coder",
6346 "frame-benchmarking",6346 "frame-benchmarking",
64996499
6500[[package]]6500[[package]]
6501name = "pallet-refungible"6501name = "pallet-refungible"
6502version = "0.2.11"6502version = "0.2.12"
6503dependencies = [6503dependencies = [
6504 "evm-coder",6504 "evm-coder",
6505 "frame-benchmarking",6505 "frame-benchmarking",
modifiedpallets/common/CHANGELOG.mddiffbeforeafterboth
44
5<!-- bureaucrate goes here -->5<!-- bureaucrate goes here -->
66
7## [0.1.13] - 2023-01-20
8
9### Changed
10
11- Behavior of the `CommonWeightInfo::create_item` method.
12
7## [0.1.12] - 2022-11-1613## [0.1.12] - 2022-11-16
814
9### Changed15### Changed
modifiedpallets/common/Cargo.tomldiffbeforeafterboth
2edition = "2021"2edition = "2021"
3license = "GPLv3"3license = "GPLv3"
4name = "pallet-common"4name = "pallet-common"
5version = "0.1.12"5version = "0.1.13"
66
7[dependencies]7[dependencies]
8codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.1.2" }8codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.1.2" }
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
53#![cfg_attr(not(feature = "std"), no_std)]53#![cfg_attr(not(feature = "std"), no_std)]
54extern crate alloc;54extern crate alloc;
5555
56use core::ops::{Deref, DerefMut};56use core::{
57 ops::{Deref, DerefMut},
58 slice::from_ref,
59};
57use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};60use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
58use sp_std::vec::Vec;61use sp_std::vec::Vec;
59use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};62use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
1780/// Return weights for various worst-case operations.1783/// Return weights for various worst-case operations.
1781pub trait CommonWeightInfo<CrossAccountId> {1784pub trait CommonWeightInfo<CrossAccountId> {
1782 /// Weight of item creation.1785 /// Weight of item creation.
1783 fn create_item() -> Weight;1786 fn create_item(data: &CreateItemData) -> Weight {
1787 Self::create_multiple_items(from_ref(data))
1788 }
17841789
1785 /// Weight of items creation.1790 /// Weight of items creation.
1786 fn create_multiple_items(amount: &[CreateItemData]) -> Weight;1791 fn create_multiple_items(amount: &[CreateItemData]) -> Weight;
modifiedpallets/fungible/src/common.rsdiffbeforeafterboth
3636
37pub struct CommonWeights<T: Config>(PhantomData<T>);37pub struct CommonWeights<T: Config>(PhantomData<T>);
38impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {38impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
39 fn create_item() -> Weight {
40 <SelfWeightOf<T>>::create_item()
41 }
42
43 fn create_multiple_items(_data: &[CreateItemData]) -> Weight {39 fn create_multiple_items(_data: &[CreateItemData]) -> Weight {
44 // All items minted for the same user, so it works same as create_item40 // All items minted for the same user, so it works same as create_item
45 Self::create_item()41 <SelfWeightOf<T>>::create_item()
46 }42 }
4743
48 fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {44 fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {
134 data: up_data_structs::CreateItemData,130 data: up_data_structs::CreateItemData,
135 nesting_budget: &dyn Budget,131 nesting_budget: &dyn Budget,
136 ) -> DispatchResultWithPostInfo {132 ) -> DispatchResultWithPostInfo {
137 match data {133 match &data {
138 up_data_structs::CreateItemData::Fungible(data) => with_weight(134 up_data_structs::CreateItemData::Fungible(fungible_data) => with_weight(
139 <Pallet<T>>::create_item(self, &sender, (to, data.value), nesting_budget),135 <Pallet<T>>::create_item(self, &sender, (to, fungible_data.value), nesting_budget),
140 <CommonWeights<T>>::create_item(),136 <CommonWeights<T>>::create_item(&data),
141 ),137 ),
142 _ => fail!(<Error<T>>::NotFungibleDataUsedToMintFungibleCollectionToken),138 _ => fail!(<Error<T>>::NotFungibleDataUsedToMintFungibleCollectionToken),
143 }139 }
151 nesting_budget: &dyn Budget,147 nesting_budget: &dyn Budget,
152 ) -> DispatchResultWithPostInfo {148 ) -> DispatchResultWithPostInfo {
153 let mut sum: u128 = 0;149 let mut sum: u128 = 0;
154 for data in data {150 for data in &data {
155 match data {151 match &data {
156 up_data_structs::CreateItemData::Fungible(data) => {152 up_data_structs::CreateItemData::Fungible(data) => {
157 sum = sum153 sum = sum
158 .checked_add(data.value)154 .checked_add(data.value)
164160
165 with_weight(161 with_weight(
166 <Pallet<T>>::create_item(self, &sender, (to, sum), nesting_budget),162 <Pallet<T>>::create_item(self, &sender, (to, sum), nesting_budget),
167 <CommonWeights<T>>::create_item(),163 <CommonWeights<T>>::create_multiple_items(&data),
168 )164 )
169 }165 }
170166
modifiedpallets/nonfungible/CHANGELOG.mddiffbeforeafterboth
44
5<!-- bureaucrate goes here -->5<!-- bureaucrate goes here -->
66
7## [0.1.13] - 2023-01-20
8
9### Fixed
10
11- The weight of properties when creating an item.
12
7## [0.1.12] - 2022-12-1613## [0.1.12] - 2022-12-16
814
9### Added15### Added
modifiedpallets/nonfungible/Cargo.tomldiffbeforeafterboth
2edition = "2021"2edition = "2021"
3license = "GPLv3"3license = "GPLv3"
4name = "pallet-nonfungible"4name = "pallet-nonfungible"
5version = "0.1.12"5version = "0.1.13"
66
7[dependencies]7[dependencies]
8codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.1.2" }8codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.1.2" }
modifiedpallets/nonfungible/src/common.rsdiffbeforeafterboth
3535
36pub struct CommonWeights<T: Config>(PhantomData<T>);36pub struct CommonWeights<T: Config>(PhantomData<T>);
37impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {37impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
38 fn create_item() -> Weight {
39 <SelfWeightOf<T>>::create_item()
40 }
41
42 fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {38 fn create_multiple_items_ex(data: &CreateItemExData<T::CrossAccountId>) -> Weight {
43 match data {39 match data {
159 data: up_data_structs::CreateItemData,155 data: up_data_structs::CreateItemData,
160 nesting_budget: &dyn Budget,156 nesting_budget: &dyn Budget,
161 ) -> DispatchResultWithPostInfo {157 ) -> DispatchResultWithPostInfo {
158 let weight = <CommonWeights<T>>::create_item(&data);
162 with_weight(159 with_weight(
163 <Pallet<T>>::create_item(160 <Pallet<T>>::create_item(
164 self,161 self,
165 &sender,162 &sender,
166 map_create_data::<T>(data, &to)?,163 map_create_data::<T>(data, &to)?,
167 nesting_budget,164 nesting_budget,
168 ),165 ),
169 <CommonWeights<T>>::create_item(),166 weight,
170 )167 )
171 }168 }
172169
modifiedpallets/nonfungible/src/erc.rsdiffbeforeafterboth
994 /// @param to The new owner crossAccountId994 /// @param to The new owner crossAccountId
995 /// @param properties Properties of minted token995 /// @param properties Properties of minted token
996 /// @return uint256 The id of the newly minted token996 /// @return uint256 The id of the newly minted token
997 #[weight(<SelfWeightOf<T>>::create_item())]997 #[weight(<SelfWeightOf<T>>::create_item() + <SelfWeightOf<T>>::set_token_properties(properties.len() as u32))]
998 fn mint_cross(998 fn mint_cross(
999 &mut self,999 &mut self,
1000 caller: Caller,1000 caller: Caller,
modifiedpallets/refungible/CHANGELOG.mddiffbeforeafterboth
44
5<!-- bureaucrate goes here -->5<!-- bureaucrate goes here -->
66
7## [0.2.12] - 2023-01-20
8
9### Fixed
10
11- The weight of properties when creating an item.
12
7## [0.2.11] - 2022-12-1613## [0.2.11] - 2022-12-16
814
9### Added15### Added
modifiedpallets/refungible/Cargo.tomldiffbeforeafterboth
2edition = "2021"2edition = "2021"
3license = "GPLv3"3license = "GPLv3"
4name = "pallet-refungible"4name = "pallet-refungible"
5version = "0.2.11"5version = "0.2.12"
66
7[dependencies]7[dependencies]
8codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.1.2" }8codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.1.2" }
modifiedpallets/refungible/src/common.rsdiffbeforeafterboth
5555
56pub struct CommonWeights<T: Config>(PhantomData<T>);56pub struct CommonWeights<T: Config>(PhantomData<T>);
57impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {57impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
58 fn create_item() -> Weight {
59 <SelfWeightOf<T>>::create_item()
60 }
61
62 fn create_multiple_items(data: &[up_data_structs::CreateItemData]) -> Weight {58 fn create_multiple_items(data: &[up_data_structs::CreateItemData]) -> Weight {
63 <SelfWeightOf<T>>::create_multiple_items(data.len() as u32).saturating_add(59 <SelfWeightOf<T>>::create_multiple_items(data.len() as u32).saturating_add(
193 data: up_data_structs::CreateItemData,189 data: up_data_structs::CreateItemData,
194 nesting_budget: &dyn Budget,190 nesting_budget: &dyn Budget,
195 ) -> DispatchResultWithPostInfo {191 ) -> DispatchResultWithPostInfo {
192 let weight = <CommonWeights<T>>::create_item(&data);
196 with_weight(193 with_weight(
197 <Pallet<T>>::create_item(194 <Pallet<T>>::create_item(
198 self,195 self,
199 &sender,196 &sender,
200 map_create_data::<T>(data, &to)?,197 map_create_data::<T>(data, &to)?,
201 nesting_budget,198 nesting_budget,
202 ),199 ),
203 <CommonWeights<T>>::create_item(),200 weight,
204 )201 )
205 }202 }
206203
modifiedpallets/refungible/src/erc.rsdiffbeforeafterboth
1051 /// @param to The new owner crossAccountId1051 /// @param to The new owner crossAccountId
1052 /// @param properties Properties of minted token1052 /// @param properties Properties of minted token
1053 /// @return uint256 The id of the newly minted token1053 /// @return uint256 The id of the newly minted token
1054 #[weight(<SelfWeightOf<T>>::create_item())]1054 #[weight(<SelfWeightOf<T>>::create_item() + <SelfWeightOf<T>>::set_token_properties(properties.len() as u32))]
1055 fn mint_cross(1055 fn mint_cross(
1056 &mut self,1056 &mut self,
1057 caller: Caller,1057 caller: Caller,
modifiedpallets/unique/src/lib.rsdiffbeforeafterboth
518 /// * `collection_id`: ID of the collection to which an item would belong.518 /// * `collection_id`: ID of the collection to which an item would belong.
519 /// * `owner`: Address of the initial owner of the item.519 /// * `owner`: Address of the initial owner of the item.
520 /// * `data`: Token data describing the item to store on chain.520 /// * `data`: Token data describing the item to store on chain.
521 #[weight = T::CommonWeightInfo::create_item()]521 #[weight = T::CommonWeightInfo::create_item(&data)]
522 pub fn create_item(origin, collection_id: CollectionId, owner: T::CrossAccountId, data: CreateItemData) -> DispatchResultWithPostInfo {522 pub fn create_item(origin, collection_id: CollectionId, owner: T::CrossAccountId, data: CreateItemData) -> DispatchResultWithPostInfo {
523 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);523 let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
524 let budget = budget::Value::new(NESTING_BUDGET);524 let budget = budget::Value::new(NESTING_BUDGET);
modifiedruntime/common/weights.rsdiffbeforeafterboth
57where57where
58 T: CommonWeightConfigs,58 T: CommonWeightConfigs,
59{59{
60 fn create_item() -> Weight {60 fn create_item(data: &CreateItemData) -> Weight {
61 dispatch_weight::<T>() + max_weight_of!(create_item())61 dispatch_weight::<T>() + max_weight_of!(create_item(data))
62 }62 }
6363
64 fn create_multiple_items(data: &[CreateItemData]) -> Weight {64 fn create_multiple_items(data: &[CreateItemData]) -> Weight {