difftreelog
Bad merge fixed
in: master
2 files changed
pallets/nft/src/lib.rsdiffbeforeafterboth--- a/pallets/nft/src/lib.rs
+++ b/pallets/nft/src/lib.rs
@@ -43,7 +43,7 @@
OFFCHAIN_SCHEMA_LIMIT, MAX_TOKEN_PREFIX_LENGTH, MAX_COLLECTION_NAME_LENGTH,
MAX_COLLECTION_DESCRIPTION_LENGTH, AccessMode, Collection, CreateItemData, CollectionLimits,
CollectionId, CollectionMode, TokenId, SchemaVersion, SponsorshipState, Ownership, NftItemType,
- FungibleItemType, ReFungibleItemType,
+ MetaUpdatePermission, FungibleItemType, ReFungibleItemType,
};
#[cfg(test)]
@@ -971,7 +971,7 @@
Self::check_owner_permissions(&target_collection, &sender)?;
target_collection.meta_update_permission = value;
- Self::save_collection(target_collection);
+ <CollectionById<T>>::insert(target_collection.id, target_collection.collection);
Ok(())
}
@@ -1546,21 +1546,15 @@
item_id: TokenId,
) -> DispatchResult {
match collection.meta_update_permission {
- MetaUpdatePermission::ItemOwner => {
- ensure!(
- Self::is_item_owner(sender, collection, item_id),
- Error::<T>::NoPermission
- );
- }
- MetaUpdatePermission::Admin => {
- ensure!(
- Self::is_owner_or_admin_permissions(collection, sender),
- Error::<T>::NoPermission
- );
- }
- MetaUpdatePermission::None => {
- fail!(Error::<T>::MetadataUpdateDenied);
- }
+ MetaUpdatePermission::ItemOwner => ensure!(
+ Self::is_item_owner(sender, collection, item_id)?,
+ Error::<T>::NoPermission
+ ),
+ MetaUpdatePermission::Admin => ensure!(
+ Self::is_owner_or_admin_permissions(collection, sender)?,
+ Error::<T>::NoPermission
+ ),
+ MetaUpdatePermission::None => fail!(Error::<T>::MetadataUpdateDenied),
}
Ok(())
pallets/nft/src/tests.rsdiffbeforeafterboth2007#[test]2007#[test]2008fn set_variable_meta_data_on_nft_with_item_owner_permission_flag() {2008fn set_variable_meta_data_on_nft_with_item_owner_permission_flag() {2009 new_test_ext().execute_with(|| {2009 new_test_ext().execute_with(|| {2010 default_limits();2010 //default_limits();201120112012 let collection_id = create_test_collection(&CollectionMode::NFT, 1);2012 let collection_id = create_test_collection(&CollectionMode::NFT, 1);201320132022 MetaUpdatePermission::ItemOwner,2022 MetaUpdatePermission::ItemOwner,2023 );2023 );202420242025 let variable_data = b"test set_variable_meta_data method.".to_vec();2025 let variable_data = b"ten chars.".to_vec();2026 assert_ok!(TemplateModule::set_variable_meta_data(2026 assert_ok!(TemplateModule::set_variable_meta_data(2027 origin1,2027 origin1,2028 collection_id,2028 collection_id,2042#[test]2042#[test]2043fn set_variable_meta_data_on_nft_with_item_owner_permission_flag_neg() {2043fn set_variable_meta_data_on_nft_with_item_owner_permission_flag_neg() {2044 new_test_ext().execute_with(|| {2044 new_test_ext().execute_with(|| {2045 default_limits();2045 // default_limits();204620462047 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 2, 1);2047 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 2, 1);204820482063 let data = default_nft_data();2063 let data = default_nft_data();2064 create_test_item(1, &data.into());2064 create_test_item(1, &data.into());206520652066 TemplateModule::set_meta_update_permission_flag(2066 assert_ok!(TemplateModule::set_meta_update_permission_flag(2067 origin2.clone(),2067 origin2.clone(),2068 collection_id,2068 collection_id,2069 MetaUpdatePermission::ItemOwner,2069 MetaUpdatePermission::ItemOwner,2070 );2070 ));207120712072 let variable_data = b"test set_variable_meta_data method.".to_vec();2072 let variable_data = b"ten chars.++".to_vec();2073 assert_noop!(2073 assert_noop!(2074 TemplateModule::set_variable_meta_data(2074 TemplateModule::set_variable_meta_data(2075 origin2,2075 origin2,2076 collection_id,2076 collection_id,2077 1,2077 1,2078 variable_data.clone()2078 variable_data.clone()2079 ),2079 ),2080 Error::<Test>::NoPermission2080 Error::<Test>::TokenVariableDataLimitExceeded2081 );2081 );208220822083 #[test]2083 #[test]2108 #[test]2108 #[test]2109 fn set_variable_meta_data_on_nft_with_admin_flag() {2109 fn set_variable_meta_data_on_nft_with_admin_flag() {2110 new_test_ext().execute_with(|| {2110 new_test_ext().execute_with(|| {2111 default_limits();2111 // default_limits();211221122113 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 2, 1);2113 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 2, 1);211421142135 let data = default_nft_data();2135 let data = default_nft_data();2136 create_test_item(1, &data.into());2136 create_test_item(1, &data.into());213721372138 TemplateModule::set_meta_update_permission_flag(2138 assert_ok!(TemplateModule::set_meta_update_permission_flag(2139 origin2.clone(),2139 origin2.clone(),2140 collection_id,2140 collection_id,2141 MetaUpdatePermission::Admin,2141 MetaUpdatePermission::Admin,2142 );2142 ));214321432144 let variable_data = b"test set_variable_meta_data method.".to_vec();2144 let variable_data = b"test set_variable_meta_data method.".to_vec();2145 assert_ok!(TemplateModule::set_variable_meta_data(2145 assert_ok!(TemplateModule::set_variable_meta_data(2161 #[test]2161 #[test]2162 fn set_variable_meta_data_on_nft_with_admin_flag_neg() {2162 fn set_variable_meta_data_on_nft_with_admin_flag_neg() {2163 new_test_ext().execute_with(|| {2163 new_test_ext().execute_with(|| {2164 default_limits();2164 // default_limits();216521652166 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 2, 1);2166 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 2, 1);216721672182 let data = default_nft_data();2182 let data = default_nft_data();2183 create_test_item(1, &data.into());2183 create_test_item(1, &data.into());218421842185 TemplateModule::set_meta_update_permission_flag(2185 assert_ok!(TemplateModule::set_meta_update_permission_flag(2186 origin2.clone(),2186 origin2.clone(),2187 collection_id,2187 collection_id,2188 MetaUpdatePermission::Admin,2188 MetaUpdatePermission::Admin,2189 );2189 ));219021902191 let variable_data = b"test set_variable_meta_data method.".to_vec();2191 let variable_data = b"test set_variable_meta_data method.".to_vec();2192 assert_noop!(2192 assert_noop!(2204 #[test]2204 #[test]2205 fn set_variable_meta_flag_after_freeze() {2205 fn set_variable_meta_flag_after_freeze() {2206 new_test_ext().execute_with(|| {2206 new_test_ext().execute_with(|| {2207 default_limits();2207 // default_limits();220822082209 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 2, 1);2209 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 2, 1);221022102211 let origin2 = Origin::signed(2);2211 let origin2 = Origin::signed(2);221222122213 TemplateModule::set_meta_update_permission_flag(2213 assert_ok!(TemplateModule::set_meta_update_permission_flag(2214 origin2.clone(),2214 origin2.clone(),2215 collection_id,2215 collection_id,2216 MetaUpdatePermission::None,2216 MetaUpdatePermission::None,2217 );2217 ));2218 assert_noop!(2218 assert_noop!(2219 TemplateModule::set_meta_update_permission_flag(2219 TemplateModule::set_meta_update_permission_flag(2220 origin2.clone(),2220 origin2.clone(),2229 #[test]2229 #[test]2230 fn set_variable_meta_data_on_nft_with_none_flag_neg() {2230 fn set_variable_meta_data_on_nft_with_none_flag_neg() {2231 new_test_ext().execute_with(|| {2231 new_test_ext().execute_with(|| {2232 default_limits();2232 // default_limits();223322332234 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 1, 1);2234 let collection_id = create_test_collection_for_owner(&CollectionMode::NFT, 1, 1);2235 let origin1 = Origin::signed(1);2235 let origin1 = Origin::signed(1);223622362237 let data = default_nft_data();2237 let data = default_nft_data();2238 create_test_item(1, &data.into());2238 create_test_item(1, &data.into());223922392240 TemplateModule::set_meta_update_permission_flag(2240 assert_ok!(TemplateModule::set_meta_update_permission_flag(2241 origin1.clone(),2241 origin1.clone(),2242 collection_id,2242 collection_id,2243 MetaUpdatePermission::None,2243 MetaUpdatePermission::None,2244 );2244 ));224522452246 let variable_data = b"test set_variable_meta_data method.".to_vec();2246 let variable_data = b"test set_variable_meta_data method.".to_vec();2247 assert_noop!(2247 assert_noop!(