git.delta.rocks / unique-network / refs/commits / 6cd8e0c2387a

difftreelog

source

primitives/rpc/src/lib.rs1.3 KiBsourcehistory
1#![cfg_attr(not(feature = "std"), no_std)]23use nft_data_structs::{CollectionId, TokenId};4use sp_std::vec::Vec;5use sp_core::H160;6use codec::Decode;78sp_api::decl_runtime_apis! {9	pub trait NftApi<CrossAccountId, AccountId> where10		AccountId: Decode,11		CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,12	{13		fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>;14		fn token_exists(collection: CollectionId, token: TokenId) -> bool;1516		fn token_owner(collection: CollectionId, token: TokenId) -> CrossAccountId;17		fn const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>;18		fn variable_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>;1920		fn collection_tokens(collection: CollectionId) -> u32;21		fn account_balance(collection: CollectionId, account: CrossAccountId) -> u32;22		fn balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> u128;23		fn allowance(24			collection: CollectionId,25			sender: CrossAccountId,26			spender: CrossAccountId,27			token: TokenId,28		) -> u128;2930		/// Used for ethereum integration31		fn eth_contract_code(account: H160) -> Option<Vec<u8>>;3233		fn adminlist(collection: CollectionId) -> Vec<AccountId>;34		fn allowlist(collection: CollectionId) -> Vec<AccountId>;35		fn last_token_id(collection: CollectionId) -> TokenId;36	}37}