git.delta.rocks / unique-network / refs/commits / 59d3ddeed175

difftreelog

Add properties to create item(s)

Daniel Shiposha2022-05-06parent: #399cd17.patch.diff
in: master

4 files changed

modifiedpallets/nonfungible/src/common.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -100,6 +100,7 @@
 		up_data_structs::CreateItemData::NFT(data) => Ok(CreateItemData::<T> {
 			const_data: data.const_data,
 			variable_data: data.variable_data,
+			properties: data.properties,
 			owner: to.clone(),
 		}),
 		_ => fail!(<Error<T>>::NotNonfungibleDataUsedToMintFungibleCollectionToken),
modifiedpallets/nonfungible/src/erc.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -274,6 +274,7 @@
 			CreateItemData::<T> {
 				const_data: BoundedVec::default(),
 				variable_data: BoundedVec::default(),
+				properties: BoundedVec::default(),
 				owner: to,
 			},
 			&budget,
@@ -321,6 +322,7 @@
 					.try_into()
 					.map_err(|_| "token uri is too long")?,
 				variable_data: BoundedVec::default(),
+				properties: BoundedVec::default(),
 				owner: to,
 			},
 			&budget,
@@ -438,6 +440,7 @@
 			.map(|_| CreateItemData::<T> {
 				const_data: BoundedVec::default(),
 				variable_data: BoundedVec::default(),
+				properties: BoundedVec::default(),
 				owner: to.clone(),
 			})
 			.collect();
@@ -481,6 +484,7 @@
 					.try_into()
 					.map_err(|_| "token uri is too long")?,
 				variable_data: vec![].try_into().unwrap(),
+				properties: BoundedVec::default(),
 				owner: to.clone(),
 			});
 		}
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -21,7 +21,7 @@
 use up_data_structs::{
 	AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,
 	mapping::TokenAddressMapping, NestingRule, budget::Budget, Property, PropertyPermission,
-	PropertyKey, PropertyKeyPermission,
+	PropertyKey, PropertyKeyPermission, Properties,
 };
 use pallet_evm::account::CrossAccountId;
 use pallet_common::{
@@ -99,7 +99,7 @@
 	#[pallet::getter(fn token_properties)]
 	pub type TokenProperties<T: Config> = StorageNMap<
 		Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
-		Value = up_data_structs::Properties,
+		Value = Properties,
 		QueryKind = ValueQuery,
 		OnEmpty = up_data_structs::TokenProperties,
 	>;
@@ -571,6 +571,13 @@
 			);
 			<Owned<T>>::insert((collection.id, &data.owner, token), true);
 
+			Self::set_token_properties(
+				collection,
+				sender,
+				TokenId(token),
+				data.properties.into_inner(),
+			)?;
+
 			collection.log_mirrored(ERC721Events::Transfer {
 				from: H160::default(),
 				to: *data.owner.as_eth(),
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
29use serde::{Serialize, Deserialize};29use serde::{Serialize, Deserialize};
3030
31use sp_core::U256;31use sp_core::U256;
32use sp_runtime::{ArithmeticError, sp_std::prelude::Vec, DispatchError};32use sp_runtime::{ArithmeticError, sp_std::prelude::Vec};
33use codec::{Decode, Encode, EncodeLike, MaxEncodedLen};33use codec::{Decode, Encode, EncodeLike, MaxEncodedLen};
34use frame_support::{BoundedVec, traits::ConstU32};34use frame_support::{BoundedVec, traits::ConstU32};
35use derivative::Derivative;35use derivative::Derivative;
487 #[derivative(Debug(format_with = "bounded::vec_debug"))]487 #[derivative(Debug(format_with = "bounded::vec_debug"))]
488 pub variable_data: BoundedVec<u8, CustomDataLimit>,488 pub variable_data: BoundedVec<u8, CustomDataLimit>,
489
490 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]
491 #[derivative(Debug(format_with = "bounded::vec_debug"))]
492 pub properties: CollectionPropertiesVec,
489}493}
490494
491#[derive(Encode, Decode, MaxEncodedLen, Default, Debug, Clone, PartialEq, TypeInfo)]495#[derive(Encode, Decode, MaxEncodedLen, Default, Debug, Clone, PartialEq, TypeInfo)]
536 pub const_data: BoundedVec<u8, CustomDataLimit>,540 pub const_data: BoundedVec<u8, CustomDataLimit>,
537 #[derivative(Debug(format_with = "bounded::vec_debug"))]541 #[derivative(Debug(format_with = "bounded::vec_debug"))]
538 pub variable_data: BoundedVec<u8, CustomDataLimit>,542 pub variable_data: BoundedVec<u8, CustomDataLimit>,
543 #[derivative(Debug(format_with = "bounded::vec_debug"))]
544 pub properties: CollectionPropertiesVec,
539 pub owner: CrossAccountId,545 pub owner: CrossAccountId,
540}546}
541547