mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 12:17:58 +00:00
Nfts attribute read interface (#13349)
* feat: add custom and system attributes to Inspect * feat: add nfts runtime api * fix: pass std feature to runtime api * fix: api copyright Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com> --------- Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
This commit is contained in:
@@ -79,6 +79,7 @@ pallet-message-queue = { version = "7.0.0-dev", default-features = false, path =
|
||||
pallet-mmr = { version = "4.0.0-dev", default-features = false, path = "../../../frame/merkle-mountain-range" }
|
||||
pallet-multisig = { version = "4.0.0-dev", default-features = false, path = "../../../frame/multisig" }
|
||||
pallet-nfts = { version = "4.0.0-dev", default-features = false, path = "../../../frame/nfts" }
|
||||
pallet-nfts-runtime-api = { version = "4.0.0-dev", default-features = false, path = "../../../frame/nfts/runtime-api" }
|
||||
pallet-nomination-pools = { version = "1.0.0", default-features = false, path = "../../../frame/nomination-pools"}
|
||||
pallet-nomination-pools-benchmarking = { version = "1.0.0", default-features = false, optional = true, path = "../../../frame/nomination-pools/benchmarking" }
|
||||
pallet-nomination-pools-runtime-api = { version = "1.0.0-dev", default-features = false, path = "../../../frame/nomination-pools/runtime-api" }
|
||||
@@ -203,6 +204,7 @@ std = [
|
||||
"pallet-recovery/std",
|
||||
"pallet-uniques/std",
|
||||
"pallet-nfts/std",
|
||||
"pallet-nfts-runtime-api/std",
|
||||
"pallet-vesting/std",
|
||||
"log/std",
|
||||
"frame-try-runtime?/std",
|
||||
|
||||
@@ -33,10 +33,10 @@ use frame_support::{
|
||||
pallet_prelude::Get,
|
||||
parameter_types,
|
||||
traits::{
|
||||
fungible::ItemOf, AsEnsureOriginWithArg, ConstBool, ConstU128, ConstU16, ConstU32,
|
||||
Currency, EitherOfDiverse, EqualPrivilegeOnly, Everything, Imbalance, InstanceFilter,
|
||||
KeyOwnerProofSystem, LockIdentifier, Nothing, OnUnbalanced, U128CurrencyToVote,
|
||||
WithdrawReasons,
|
||||
fungible::ItemOf, tokens::nonfungibles_v2::Inspect, AsEnsureOriginWithArg, ConstBool,
|
||||
ConstU128, ConstU16, ConstU32, Currency, EitherOfDiverse, EqualPrivilegeOnly, Everything,
|
||||
Imbalance, InstanceFilter, KeyOwnerProofSystem, LockIdentifier, Nothing, OnUnbalanced,
|
||||
U128CurrencyToVote, WithdrawReasons,
|
||||
},
|
||||
weights::{
|
||||
constants::{
|
||||
@@ -2187,6 +2187,50 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
impl pallet_nfts_runtime_api::NftsApi<Block, AccountId, u32, u32> for Runtime {
|
||||
fn owner(collection: u32, item: u32) -> Option<AccountId> {
|
||||
<Nfts as Inspect<AccountId>>::owner(&collection, &item)
|
||||
}
|
||||
|
||||
fn collection_owner(collection: u32) -> Option<AccountId> {
|
||||
<Nfts as Inspect<AccountId>>::collection_owner(&collection)
|
||||
}
|
||||
|
||||
fn attribute(
|
||||
collection: u32,
|
||||
item: u32,
|
||||
key: Vec<u8>,
|
||||
) -> Option<Vec<u8>> {
|
||||
<Nfts as Inspect<AccountId>>::attribute(&collection, &item, &key)
|
||||
}
|
||||
|
||||
fn custom_attribute(
|
||||
account: AccountId,
|
||||
collection: u32,
|
||||
item: u32,
|
||||
key: Vec<u8>,
|
||||
) -> Option<Vec<u8>> {
|
||||
<Nfts as Inspect<AccountId>>::custom_attribute(
|
||||
&account,
|
||||
&collection,
|
||||
&item,
|
||||
&key,
|
||||
)
|
||||
}
|
||||
|
||||
fn system_attribute(
|
||||
collection: u32,
|
||||
item: u32,
|
||||
key: Vec<u8>,
|
||||
) -> Option<Vec<u8>> {
|
||||
<Nfts as Inspect<AccountId>>::system_attribute(&collection, &item, &key)
|
||||
}
|
||||
|
||||
fn collection_attribute(collection: u32, key: Vec<u8>) -> Option<Vec<u8>> {
|
||||
<Nfts as Inspect<AccountId>>::collection_attribute(&collection, &key)
|
||||
}
|
||||
}
|
||||
|
||||
impl pallet_mmr::primitives::MmrApi<
|
||||
Block,
|
||||
mmr::Hash,
|
||||
|
||||
Reference in New Issue
Block a user