mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 08:11:03 +00:00
inspect role for nonfungibles_v2 (#14341)
* inspect role * Update frame/nfts/src/impl_nonfungibles.rs Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com> * Update frame/support/src/traits/tokens/nonfungibles_v2.rs Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com> * Update as suggested * Update frame/nfts/src/impl_nonfungibles.rs Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com> * Update frame/nfts/src/impl_nonfungibles.rs Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com> * Update frame/nfts/src/impl_nonfungibles.rs Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com> --------- Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
This commit is contained in:
@@ -135,6 +135,18 @@ impl<T: Config<I>, I: 'static> Inspect<<T as SystemConfig>::AccountId> for Palle
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<T: Config<I>, I: 'static> InspectRole<<T as SystemConfig>::AccountId> for Pallet<T, I> {
|
||||||
|
fn is_issuer(collection: &Self::CollectionId, who: &<T as SystemConfig>::AccountId) -> bool {
|
||||||
|
Self::has_role(collection, who, CollectionRole::Issuer)
|
||||||
|
}
|
||||||
|
fn is_admin(collection: &Self::CollectionId, who: &<T as SystemConfig>::AccountId) -> bool {
|
||||||
|
Self::has_role(collection, who, CollectionRole::Admin)
|
||||||
|
}
|
||||||
|
fn is_freezer(collection: &Self::CollectionId, who: &<T as SystemConfig>::AccountId) -> bool {
|
||||||
|
Self::has_role(collection, who, CollectionRole::Freezer)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<T: Config<I>, I: 'static> Create<<T as SystemConfig>::AccountId, CollectionConfigFor<T, I>>
|
impl<T: Config<I>, I: 'static> Create<<T as SystemConfig>::AccountId, CollectionConfigFor<T, I>>
|
||||||
for Pallet<T, I>
|
for Pallet<T, I>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -180,6 +180,16 @@ pub trait InspectEnumerable<AccountId>: Inspect<AccountId> {
|
|||||||
) -> Self::OwnedInCollectionIterator;
|
) -> Self::OwnedInCollectionIterator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Trait for providing an interface to check the account's role within the collection.
|
||||||
|
pub trait InspectRole<AccountId>: Inspect<AccountId> {
|
||||||
|
/// Returns `true` if `who` is the issuer of the `collection`.
|
||||||
|
fn is_issuer(collection: &Self::CollectionId, who: &AccountId) -> bool;
|
||||||
|
/// Returns `true` if `who` is the admin of the `collection`.
|
||||||
|
fn is_admin(collection: &Self::CollectionId, who: &AccountId) -> bool;
|
||||||
|
/// Returns `true` if `who` is the freezer of the `collection`.
|
||||||
|
fn is_freezer(collection: &Self::CollectionId, who: &AccountId) -> bool;
|
||||||
|
}
|
||||||
|
|
||||||
/// Trait for providing the ability to create collections of nonfungible items.
|
/// Trait for providing the ability to create collections of nonfungible items.
|
||||||
pub trait Create<AccountId, CollectionConfig>: Inspect<AccountId> {
|
pub trait Create<AccountId, CollectionConfig>: Inspect<AccountId> {
|
||||||
/// Create a `collection` of nonfungible items to be owned by `who` and managed by `admin`.
|
/// Create a `collection` of nonfungible items to be owned by `who` and managed by `admin`.
|
||||||
|
|||||||
Reference in New Issue
Block a user