From dd5fa9fcbeeaf458df7ecba528deeea2500f2f28 Mon Sep 17 00:00:00 2001 From: Muharem Ismailov <ismailov.m.h@gmail.com> Date: Wed, 23 Aug 2023 00:37:06 +0200 Subject: [PATCH] asset-conversion pallet: pool's `AccountId` derivation warn docs (#14811) * pool_id docs * fmt --- substrate/frame/asset-conversion/src/lib.rs | 7 ++++++- substrate/frame/asset-conversion/src/tests.rs | 6 +++++- substrate/frame/asset-conversion/src/types.rs | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/substrate/frame/asset-conversion/src/lib.rs b/substrate/frame/asset-conversion/src/lib.rs index 3a16ab875c0..d1d68f3e10f 100644 --- a/substrate/frame/asset-conversion/src/lib.rs +++ b/substrate/frame/asset-conversion/src/lib.rs @@ -147,6 +147,9 @@ pub mod pallet { /// Type that identifies either the native currency or a token class from `Assets`. /// `Ord` is added because of `get_pool_id`. + /// + /// The pool's `AccountId` is derived from this type. Any changes to the type may + /// necessitate a migration. type MultiAssetId: AssetId + Ord + From<Self::AssetId>; /// Type to convert an `AssetId` into `MultiAssetId`. @@ -1193,7 +1196,9 @@ pub mod pallet { () ); } else { - let MultiAssetIdConversionResult::Converted(asset_id) = T::MultiAssetIdConverter::try_convert(asset) else { + let MultiAssetIdConversionResult::Converted(asset_id) = + T::MultiAssetIdConverter::try_convert(asset) + else { return Err(()) }; let minimal = T::Assets::minimum_balance(asset_id); diff --git a/substrate/frame/asset-conversion/src/tests.rs b/substrate/frame/asset-conversion/src/tests.rs index 80faf5363b0..450a074ec36 100644 --- a/substrate/frame/asset-conversion/src/tests.rs +++ b/substrate/frame/asset-conversion/src/tests.rs @@ -66,7 +66,11 @@ fn pool_assets() -> Vec<u32> { fn create_tokens(owner: u128, tokens: Vec<NativeOrAssetId<u32>>) { for token_id in tokens { - let MultiAssetIdConversionResult::Converted(asset_id) = NativeOrAssetIdConverter::try_convert(&token_id) else { unreachable!("invalid token") }; + let MultiAssetIdConversionResult::Converted(asset_id) = + NativeOrAssetIdConverter::try_convert(&token_id) + else { + unreachable!("invalid token") + }; assert_ok!(Assets::force_create(RuntimeOrigin::root(), asset_id, owner, false, 1)); } } diff --git a/substrate/frame/asset-conversion/src/types.rs b/substrate/frame/asset-conversion/src/types.rs index 7cd9743ff04..9c28bd7666b 100644 --- a/substrate/frame/asset-conversion/src/types.rs +++ b/substrate/frame/asset-conversion/src/types.rs @@ -21,6 +21,10 @@ use codec::{Decode, Encode, MaxEncodedLen}; use scale_info::TypeInfo; use sp_std::{cmp::Ordering, marker::PhantomData}; +/// Pool ID. +/// +/// The pool's `AccountId` is derived from this type. Any changes to the type may necessitate a +/// migration. pub(super) type PoolIdOf<T> = (<T as Config>::MultiAssetId, <T as Config>::MultiAssetId); /// Stores the lp_token asset id a particular pool has been assigned. -- GitLab