difftreelog
Merge pull request #683 from UniqueNetwork/fix/collection-rpc-runtime-versioning
in: master
3 files changed
client/rpc/src/lib.rsdiffbeforeafterboth558 pass_method!(allowed(collection: CollectionId, user: CrossAccountId) -> bool, unique_api);558 pass_method!(allowed(collection: CollectionId, user: CrossAccountId) -> bool, unique_api);559 pass_method!(last_token_id(collection: CollectionId) -> TokenId, unique_api);559 pass_method!(last_token_id(collection: CollectionId) -> TokenId, unique_api);560 pass_method!(collection_by_id(collection: CollectionId) -> Option<RpcCollection<AccountId>>, unique_api);560 pass_method!(561 collection_by_id(collection: CollectionId) -> Option<RpcCollection<AccountId>>, unique_api;562 changed_in 3, collection_by_id_before_version_3(collection) => |value| value.map(|coll| coll.into())563 );561 pass_method!(collection_stats() -> CollectionStats, unique_api);564 pass_method!(collection_stats() -> CollectionStats, unique_api);562 pass_method!(next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Option<u64>, unique_api);565 pass_method!(next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Option<u64>, unique_api);primitives/data-structs/src/lib.rsdiffbeforeafterboth--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -447,6 +447,7 @@
}
/// Collection parameters, used in RPC calls (see [`Collection`] for the storage version).
+#[struct_versioning::versioned(version = 2, upper)]
#[derive(Encode, Decode, Clone, PartialEq, TypeInfo)]
#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
pub struct RpcCollection<AccountId> {
@@ -484,6 +485,7 @@
pub read_only: bool,
/// Extra collection flags
+ #[version(2.., upper(RpcCollectionFlags {foreign: false, erc721metadata: false}))]
pub flags: RpcCollectionFlags,
}
primitives/rpc/src/lib.rsdiffbeforeafterboth--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -16,9 +16,11 @@
#![cfg_attr(not(feature = "std"), no_std)]
+extern crate alloc;
+
use up_data_structs::{
CollectionId, TokenId, RpcCollection, CollectionStats, CollectionLimits, Property,
- PropertyKeyPermission, TokenData, TokenChild,
+ PropertyKeyPermission, TokenData, TokenChild, RpcCollectionVersion1,
};
use sp_std::vec::Vec;
@@ -28,15 +30,12 @@
type Result<T> = core::result::Result<T, DispatchError>;
sp_api::decl_runtime_apis! {
- #[api_version(2)]
+ #[api_version(3)]
/// Trait for generate rpc.
pub trait UniqueApi<CrossAccountId, AccountId> where
AccountId: Decode,
CrossAccountId: pallet_evm::account::CrossAccountId<AccountId>,
{
- #[changed_in(2)]
- fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;
-
/// Get number of tokens in collection owned by account.
fn account_tokens(collection: CollectionId, account: CrossAccountId) -> Result<Vec<TokenId>>;
@@ -110,6 +109,9 @@
/// Get collection by id.
fn collection_by_id(collection: CollectionId) -> Result<Option<RpcCollection<AccountId>>>;
+ #[changed_in(3)]
+ fn collection_by_id(collection: CollectionId) -> Result<Option<RpcCollectionVersion1<AccountId>>>;
+
/// Get collection stats.
fn collection_stats() -> Result<CollectionStats>;