difftreelog
Add properties to create item(s)
in: master
4 files changed
pallets/nonfungible/src/common.rsdiffbeforeafterboth100 up_data_structs::CreateItemData::NFT(data) => Ok(CreateItemData::<T> {100 up_data_structs::CreateItemData::NFT(data) => Ok(CreateItemData::<T> {101 const_data: data.const_data,101 const_data: data.const_data,102 variable_data: data.variable_data,102 variable_data: data.variable_data,103 properties: data.properties,103 owner: to.clone(),104 owner: to.clone(),104 }),105 }),105 _ => fail!(<Error<T>>::NotNonfungibleDataUsedToMintFungibleCollectionToken),106 _ => fail!(<Error<T>>::NotNonfungibleDataUsedToMintFungibleCollectionToken),pallets/nonfungible/src/erc.rsdiffbeforeafterboth274 CreateItemData::<T> {274 CreateItemData::<T> {275 const_data: BoundedVec::default(),275 const_data: BoundedVec::default(),276 variable_data: BoundedVec::default(),276 variable_data: BoundedVec::default(),277 properties: BoundedVec::default(),277 owner: to,278 owner: to,278 },279 },279 &budget,280 &budget,321 .try_into()322 .try_into()322 .map_err(|_| "token uri is too long")?,323 .map_err(|_| "token uri is too long")?,323 variable_data: BoundedVec::default(),324 variable_data: BoundedVec::default(),325 properties: BoundedVec::default(),324 owner: to,326 owner: to,325 },327 },326 &budget,328 &budget,438 .map(|_| CreateItemData::<T> {440 .map(|_| CreateItemData::<T> {439 const_data: BoundedVec::default(),441 const_data: BoundedVec::default(),440 variable_data: BoundedVec::default(),442 variable_data: BoundedVec::default(),443 properties: BoundedVec::default(),441 owner: to.clone(),444 owner: to.clone(),442 })445 })443 .collect();446 .collect();481 .try_into()484 .try_into()482 .map_err(|_| "token uri is too long")?,485 .map_err(|_| "token uri is too long")?,483 variable_data: vec![].try_into().unwrap(),486 variable_data: vec![].try_into().unwrap(),487 properties: BoundedVec::default(),484 owner: to.clone(),488 owner: to.clone(),485 });489 });486 }490 }pallets/nonfungible/src/lib.rsdiffbeforeafterboth21use up_data_structs::{21use up_data_structs::{22 AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,22 AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,23 mapping::TokenAddressMapping, NestingRule, budget::Budget, Property, PropertyPermission,23 mapping::TokenAddressMapping, NestingRule, budget::Budget, Property, PropertyPermission,24 PropertyKey, PropertyKeyPermission,24 PropertyKey, PropertyKeyPermission, Properties,25};25};26use pallet_evm::account::CrossAccountId;26use pallet_evm::account::CrossAccountId;27use pallet_common::{27use pallet_common::{99 #[pallet::getter(fn token_properties)]99 #[pallet::getter(fn token_properties)]100 pub type TokenProperties<T: Config> = StorageNMap<100 pub type TokenProperties<T: Config> = StorageNMap<101 Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),101 Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),102 Value = up_data_structs::Properties,102 Value = Properties,103 QueryKind = ValueQuery,103 QueryKind = ValueQuery,104 OnEmpty = up_data_structs::TokenProperties,104 OnEmpty = up_data_structs::TokenProperties,105 >;105 >;571 );571 );572 <Owned<T>>::insert((collection.id, &data.owner, token), true);572 <Owned<T>>::insert((collection.id, &data.owner, token), true);573574 Self::set_token_properties(575 collection,576 sender,577 TokenId(token),578 data.properties.into_inner(),579 )?;573580574 collection.log_mirrored(ERC721Events::Transfer {581 collection.log_mirrored(ERC721Events::Transfer {575 from: H160::default(),582 from: H160::default(),primitives/data-structs/src/lib.rsdiffbeforeafterboth29use serde::{Serialize, Deserialize};29use serde::{Serialize, Deserialize};303031use 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>,489490 #[cfg_attr(feature = "serde1", serde(with = "bounded::vec_serde"))]491 #[derivative(Debug(format_with = "bounded::vec_debug"))]492 pub properties: CollectionPropertiesVec,489}493}490494491#[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