difftreelog
Add properties to create item(s)
in: master
4 files changed
pallets/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),
pallets/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(),
});
}
pallets/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(),
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