Skip to content

Commit a92225b

Browse files
committed
add new types for validations
1 parent 9f35818 commit a92225b

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

pallets/fruniques/src/functions.rs

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ impl<T: Config> Pallet<T> {
3939
class_id: &T::CollectionId,
4040
instance_id: &T::ItemId,
4141
key: &Vec<u8>,
42-
) -> BoundedVec<u8, T::ValueLimit> {
42+
) -> AttributeValue<T> {
4343
if let Some(a) = pallet_uniques::Pallet::<T>::attribute(class_id, instance_id, key) {
4444
return BoundedVec::<u8, T::ValueLimit>::try_from(a)
4545
.expect("Error on converting the attribute to BoundedVec");
@@ -55,8 +55,8 @@ impl<T: Config> Pallet<T> {
5555
origin: OriginFor<T>,
5656
class_id: &T::CollectionId,
5757
instance_id: T::ItemId,
58-
key: BoundedVec<u8, T::KeyLimit>,
59-
value: BoundedVec<u8, T::ValueLimit>,
58+
key: AttributeKey<T>,
59+
value: AttributeValue<T>,
6060
) -> DispatchResult {
6161
pallet_uniques::Pallet::<T>::set_attribute(
6262
origin,
@@ -106,6 +106,28 @@ impl<T: Config> Pallet<T> {
106106
Ok(())
107107
}
108108

109+
pub fn do_create_collection(
110+
origin: OriginFor<T>,
111+
class_id: T::CollectionId,
112+
metadata: BoundedVec<u8, T::StringLimit>,
113+
admin: <T::Lookup as sp_runtime::traits::StaticLookup>::Source,
114+
) -> DispatchResult {
115+
pallet_uniques::Pallet::<T>::create(
116+
origin.clone(),
117+
class_id,
118+
admin,
119+
)?;
120+
121+
pallet_uniques::Pallet::<T>::set_collection_metadata(
122+
origin,
123+
class_id,
124+
metadata,
125+
false
126+
)?;
127+
128+
Ok(())
129+
}
130+
109131
// TODO: add a function to transfer an instance
110132
pub fn do_create(
111133
origin: OriginFor<T>,

pallets/fruniques/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ pub mod pallet {
3131
#[pallet::generate_store(pub(super) trait Store)]
3232
pub struct Pallet<T>(_);
3333

34+
pub type AttributeKey<T> = BoundedVec<u8, <T as pallet_uniques::Config>::KeyLimit>;
35+
pub type AttributeValue<T> = BoundedVec<u8, <T as pallet_uniques::Config>::ValueLimit>;
36+
3437
#[pallet::event]
3538
#[pallet::generate_deposit(pub(super) fn deposit_event)]
3639
pub enum Event<T: Config> {

0 commit comments

Comments
 (0)