From 52730495c578a54c158d7c25f52a3bd2c18c0c67 Mon Sep 17 00:00:00 2001 From: Trubnikov Sergey Date: Mon, 25 Jul 2022 10:57:09 +0000 Subject: [PATCH] patch: Change dispathed call for create item (return collection id). --- --- a/pallets/common/src/dispatch.rs +++ b/pallets/common/src/dispatch.rs @@ -8,6 +8,7 @@ weights::Pays, traits::Get, }; +use sp_runtime::DispatchError; use up_data_structs::{CollectionId, CreateCollectionData}; use crate::{pallet::Config, CommonCollectionOperations, CollectionHandle}; @@ -78,7 +79,7 @@ fn create( sender: T::CrossAccountId, data: CreateCollectionData, - ) -> DispatchResult; + ) -> Result; /// Delete the collection. /// --- a/pallets/unique/src/eth/mod.rs +++ b/pallets/unique/src/eth/mod.rs @@ -32,6 +32,7 @@ static_property::{key, value as property_value}, CollectionHelpersEvents, }, + dispatch::CollectionDispatch, }; use crate::{SelfWeightOf, Config, weights::WeightInfo}; @@ -179,9 +180,8 @@ Default::default(), false, )?; - let collection_id = - >::init_collection(caller.clone(), data, false) - .map_err(pallet_evm_coder_substrate::dispatch_to_evm::)?; + let collection_id = T::CollectionDispatch::create(caller, data) + .map_err(pallet_evm_coder_substrate::dispatch_to_evm::)?; let address = pallet_common::eth::collection_id_to_address(collection_id); Ok(address) @@ -207,9 +207,8 @@ base_uri_value, true, )?; - let collection_id = - >::init_collection(caller.clone(), data, true) - .map_err(pallet_evm_coder_substrate::dispatch_to_evm::)?; + let collection_id = T::CollectionDispatch::create(caller, data) + .map_err(pallet_evm_coder_substrate::dispatch_to_evm::)?; let address = pallet_common::eth::collection_id_to_address(collection_id); Ok(address) @@ -233,7 +232,7 @@ Default::default(), false, )?; - let collection_id = >::init_collection(caller.clone(), data) + let collection_id = T::CollectionDispatch::create(caller, data) .map_err(pallet_evm_coder_substrate::dispatch_to_evm::)?; let address = pallet_common::eth::collection_id_to_address(collection_id); @@ -260,7 +259,7 @@ base_uri_value, true, )?; - let collection_id = >::init_collection(caller.clone(), data) + let collection_id = T::CollectionDispatch::create(caller, data) .map_err(pallet_evm_coder_substrate::dispatch_to_evm::)?; let address = pallet_common::eth::collection_id_to_address(collection_id); --- a/pallets/unique/src/lib.rs +++ b/pallets/unique/src/lib.rs @@ -352,7 +352,7 @@ // ========= - T::CollectionDispatch::create(T::CrossAccountId::from_sub(sender), data)?; + let _id = T::CollectionDispatch::create(T::CrossAccountId::from_sub(sender), data)?; Ok(()) } --- a/runtime/common/src/dispatch.rs +++ b/runtime/common/src/dispatch.rs @@ -17,6 +17,7 @@ use frame_support::{dispatch::DispatchResult, ensure}; use pallet_evm::{PrecompileHandle, PrecompileResult}; use sp_core::H160; +use sp_runtime::DispatchError; use sp_std::{borrow::ToOwned, vec::Vec}; use pallet_common::{ CollectionById, CollectionHandle, CommonCollectionOperations, erc::CommonEvmHandler, @@ -30,6 +31,7 @@ }; use up_data_structs::{ CollectionMode, CreateCollectionData, MAX_DECIMAL_POINTS, mapping::TokenAddressMapping, + CollectionId, }; pub enum CollectionDispatchT @@ -51,8 +53,8 @@ fn create( sender: T::CrossAccountId, data: CreateCollectionData, - ) -> DispatchResult { - let _id = match data.mode { + ) -> Result { + let id = match data.mode { CollectionMode::NFT => >::init_collection(sender, data, false)?, CollectionMode::Fungible(decimal_points) => { // check params @@ -64,7 +66,7 @@ } CollectionMode::ReFungible => >::init_collection(sender, data)?, }; - Ok(()) + Ok(id) } fn destroy(sender: T::CrossAccountId, collection: CollectionHandle) -> DispatchResult { -- gitstuff