mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-30 08:27:55 +00:00
[NTFs] Emit CollectionMaxSupplySet on collection create (#2626)
Closes #2293 if the max_supply is set during the collection creation, we emit the `CollectionMaxSupplySet` event
This commit is contained in:
@@ -66,7 +66,13 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> {
|
|||||||
|
|
||||||
CollectionConfigOf::<T, I>::insert(&collection, config);
|
CollectionConfigOf::<T, I>::insert(&collection, config);
|
||||||
CollectionAccount::<T, I>::insert(&owner, &collection, ());
|
CollectionAccount::<T, I>::insert(&owner, &collection, ());
|
||||||
|
|
||||||
Self::deposit_event(event);
|
Self::deposit_event(event);
|
||||||
|
|
||||||
|
if let Some(max_supply) = config.max_supply {
|
||||||
|
Self::deposit_event(Event::CollectionMaxSupplySet { collection, max_supply });
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2191,6 +2191,10 @@ fn max_supply_should_work() {
|
|||||||
default_collection_config()
|
default_collection_config()
|
||||||
));
|
));
|
||||||
assert_eq!(CollectionConfigOf::<Test>::get(collection_id).unwrap().max_supply, None);
|
assert_eq!(CollectionConfigOf::<Test>::get(collection_id).unwrap().max_supply, None);
|
||||||
|
assert!(!events().contains(&Event::<Test>::CollectionMaxSupplySet {
|
||||||
|
collection: collection_id,
|
||||||
|
max_supply,
|
||||||
|
}));
|
||||||
|
|
||||||
assert_ok!(Nfts::set_collection_max_supply(
|
assert_ok!(Nfts::set_collection_max_supply(
|
||||||
RuntimeOrigin::signed(user_id.clone()),
|
RuntimeOrigin::signed(user_id.clone()),
|
||||||
@@ -2242,9 +2246,31 @@ fn max_supply_should_work() {
|
|||||||
None
|
None
|
||||||
));
|
));
|
||||||
assert_noop!(
|
assert_noop!(
|
||||||
Nfts::mint(RuntimeOrigin::signed(user_id.clone()), collection_id, 2, user_id, None),
|
Nfts::mint(
|
||||||
|
RuntimeOrigin::signed(user_id.clone()),
|
||||||
|
collection_id,
|
||||||
|
2,
|
||||||
|
user_id.clone(),
|
||||||
|
None
|
||||||
|
),
|
||||||
Error::<Test>::MaxSupplyReached
|
Error::<Test>::MaxSupplyReached
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// validate the event gets emitted when we set the max supply on collection create
|
||||||
|
let collection_id = 1;
|
||||||
|
assert_ok!(Nfts::force_create(
|
||||||
|
RuntimeOrigin::root(),
|
||||||
|
user_id.clone(),
|
||||||
|
CollectionConfig { max_supply: Some(max_supply), ..default_collection_config() }
|
||||||
|
));
|
||||||
|
assert_eq!(
|
||||||
|
CollectionConfigOf::<Test>::get(collection_id).unwrap().max_supply,
|
||||||
|
Some(max_supply)
|
||||||
|
);
|
||||||
|
assert!(events().contains(&Event::<Test>::CollectionMaxSupplySet {
|
||||||
|
collection: collection_id,
|
||||||
|
max_supply,
|
||||||
|
}));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user