git.delta.rocks / unique-network / refs/commits / 12dc7ebeba3c

difftreelog

remove warnings

Trubnikov Sergey2023-04-28parent: #5a3127a.patch.diff
in: master

8 files changed

modifiedpallets/balances-adapter/src/common.rsdiffbeforeafterboth
--- a/pallets/balances-adapter/src/common.rs
+++ b/pallets/balances-adapter/src/common.rs
@@ -12,12 +12,12 @@
 
 pub struct CommonWeights<T: Config>(PhantomData<T>);
 impl<T: Config> CommonWeightInfo<T::CrossAccountId> for CommonWeights<T> {
-	fn create_multiple_items(amount: &[up_data_structs::CreateItemData]) -> Weight {
+	fn create_multiple_items(_amount: &[up_data_structs::CreateItemData]) -> Weight {
 		Weight::default()
 	}
 
 	fn create_multiple_items_ex(
-		cost: &up_data_structs::CreateItemExData<T::CrossAccountId>,
+		_cost: &up_data_structs::CreateItemExData<T::CrossAccountId>,
 	) -> Weight {
 		Weight::default()
 	}
@@ -26,23 +26,23 @@
 		Weight::default()
 	}
 
-	fn set_collection_properties(amount: u32) -> Weight {
+	fn set_collection_properties(_amount: u32) -> Weight {
 		Weight::default()
 	}
 
-	fn delete_collection_properties(amount: u32) -> Weight {
+	fn delete_collection_properties(_amount: u32) -> Weight {
 		Weight::default()
 	}
 
-	fn set_token_properties(amount: u32) -> Weight {
+	fn set_token_properties(_amount: u32) -> Weight {
 		Weight::default()
 	}
 
-	fn delete_token_properties(amount: u32) -> Weight {
+	fn delete_token_properties(_amount: u32) -> Weight {
 		Weight::default()
 	}
 
-	fn set_token_property_permissions(amount: u32) -> Weight {
+	fn set_token_property_permissions(_amount: u32) -> Weight {
 		Weight::default()
 	}
 
@@ -70,7 +70,7 @@
 		Weight::default()
 	}
 
-	fn burn_recursively_breadth_raw(amount: u32) -> Weight {
+	fn burn_recursively_breadth_raw(_amount: u32) -> Weight {
 		Weight::default()
 	}
 
@@ -92,92 +92,92 @@
 impl<T: Config> CommonCollectionOperations<T> for NativeFungibleHandle<T> {
 	fn create_item(
 		&self,
-		sender: <T>::CrossAccountId,
-		to: <T>::CrossAccountId,
-		data: up_data_structs::CreateItemData,
-		nesting_budget: &dyn up_data_structs::budget::Budget,
+		_sender: <T>::CrossAccountId,
+		_to: <T>::CrossAccountId,
+		_data: up_data_structs::CreateItemData,
+		_nesting_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn create_multiple_items(
 		&self,
-		sender: <T>::CrossAccountId,
-		to: <T>::CrossAccountId,
-		data: Vec<up_data_structs::CreateItemData>,
-		nesting_budget: &dyn up_data_structs::budget::Budget,
+		_sender: <T>::CrossAccountId,
+		_to: <T>::CrossAccountId,
+		_data: Vec<up_data_structs::CreateItemData>,
+		_nesting_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn create_multiple_items_ex(
 		&self,
-		sender: <T>::CrossAccountId,
-		data: up_data_structs::CreateItemExData<<T>::CrossAccountId>,
-		nesting_budget: &dyn up_data_structs::budget::Budget,
+		_sender: <T>::CrossAccountId,
+		_data: up_data_structs::CreateItemExData<<T>::CrossAccountId>,
+		_nesting_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn burn_item(
 		&self,
-		sender: <T>::CrossAccountId,
-		token: TokenId,
-		amount: u128,
+		_sender: <T>::CrossAccountId,
+		_token: TokenId,
+		_amount: u128,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn burn_item_recursively(
 		&self,
-		sender: <T>::CrossAccountId,
-		token: TokenId,
-		self_budget: &dyn up_data_structs::budget::Budget,
-		breadth_budget: &dyn up_data_structs::budget::Budget,
+		_sender: <T>::CrossAccountId,
+		_token: TokenId,
+		_self_budget: &dyn up_data_structs::budget::Budget,
+		_breadth_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn set_collection_properties(
 		&self,
-		sender: <T>::CrossAccountId,
-		properties: Vec<up_data_structs::Property>,
+		_sender: <T>::CrossAccountId,
+		_properties: Vec<up_data_structs::Property>,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn delete_collection_properties(
 		&self,
-		sender: &<T>::CrossAccountId,
-		property_keys: Vec<up_data_structs::PropertyKey>,
+		_sender: &<T>::CrossAccountId,
+		_property_keys: Vec<up_data_structs::PropertyKey>,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn set_token_properties(
 		&self,
-		sender: <T>::CrossAccountId,
-		token_id: TokenId,
-		properties: Vec<up_data_structs::Property>,
-		budget: &dyn up_data_structs::budget::Budget,
+		_sender: <T>::CrossAccountId,
+		_token_id: TokenId,
+		_properties: Vec<up_data_structs::Property>,
+		_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn delete_token_properties(
 		&self,
-		sender: <T>::CrossAccountId,
-		token_id: TokenId,
-		property_keys: Vec<up_data_structs::PropertyKey>,
-		budget: &dyn up_data_structs::budget::Budget,
+		_sender: <T>::CrossAccountId,
+		_token_id: TokenId,
+		_property_keys: Vec<up_data_structs::PropertyKey>,
+		_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn set_token_property_permissions(
 		&self,
-		sender: &<T>::CrossAccountId,
-		property_permissions: Vec<up_data_structs::PropertyKeyPermission>,
+		_sender: &<T>::CrossAccountId,
+		_property_permissions: Vec<up_data_structs::PropertyKeyPermission>,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
@@ -186,9 +186,9 @@
 		&self,
 		sender: <T>::CrossAccountId,
 		to: <T>::CrossAccountId,
-		token: TokenId,
+		_token: TokenId,
 		amount: u128,
-		budget: &dyn up_data_structs::budget::Budget,
+		_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		with_weight(
 			<T as Config>::Currency::transfer(
@@ -203,21 +203,21 @@
 
 	fn approve(
 		&self,
-		sender: <T>::CrossAccountId,
-		spender: <T>::CrossAccountId,
-		token: TokenId,
-		amount: u128,
+		_sender: <T>::CrossAccountId,
+		_spender: <T>::CrossAccountId,
+		_token: TokenId,
+		_amount: u128,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn approve_from(
 		&self,
-		sender: <T>::CrossAccountId,
-		from: <T>::CrossAccountId,
-		to: <T>::CrossAccountId,
-		token: TokenId,
-		amount: u128,
+		_sender: <T>::CrossAccountId,
+		_from: <T>::CrossAccountId,
+		_to: <T>::CrossAccountId,
+		_token: TokenId,
+		_amount: u128,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
@@ -227,9 +227,9 @@
 		sender: <T>::CrossAccountId,
 		from: <T>::CrossAccountId,
 		to: <T>::CrossAccountId,
-		token: TokenId,
+		_token: TokenId,
 		amount: u128,
-		budget: &dyn up_data_structs::budget::Budget,
+		_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		if sender != from {
 			fail!(<pallet_common::Error<T>>::NoPermission);
@@ -247,28 +247,28 @@
 
 	fn burn_from(
 		&self,
-		sender: <T>::CrossAccountId,
-		from: <T>::CrossAccountId,
-		token: TokenId,
-		amount: u128,
-		budget: &dyn up_data_structs::budget::Budget,
+		_sender: <T>::CrossAccountId,
+		_from: <T>::CrossAccountId,
+		_token: TokenId,
+		_amount: u128,
+		_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
 	fn check_nesting(
 		&self,
-		sender: <T>::CrossAccountId,
-		from: (up_data_structs::CollectionId, TokenId),
-		under: TokenId,
-		budget: &dyn up_data_structs::budget::Budget,
+		_sender: <T>::CrossAccountId,
+		_from: (up_data_structs::CollectionId, TokenId),
+		_under: TokenId,
+		_budget: &dyn up_data_structs::budget::Budget,
 	) -> frame_support::sp_runtime::DispatchResult {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
-	fn nest(&self, under: TokenId, to_nest: (up_data_structs::CollectionId, TokenId)) {}
+	fn nest(&self, _under: TokenId, _to_nest: (up_data_structs::CollectionId, TokenId)) {}
 
-	fn unnest(&self, under: TokenId, to_nest: (up_data_structs::CollectionId, TokenId)) {}
+	fn unnest(&self, _under: TokenId, _to_nest: (up_data_structs::CollectionId, TokenId)) {}
 
 	fn account_tokens(&self, account: <T>::CrossAccountId) -> Vec<TokenId> {
 		let balance = <T as Config>::Currency::total_balance(account.as_sub());
@@ -293,27 +293,27 @@
 
 	fn token_owner(
 		&self,
-		token: TokenId,
+		_token: TokenId,
 	) -> Result<<T>::CrossAccountId, up_data_structs::TokenOwnerError> {
 		Err(up_data_structs::TokenOwnerError::MultipleOwners)
 	}
 
-	fn token_owners(&self, token: TokenId) -> Vec<<T>::CrossAccountId> {
+	fn token_owners(&self, _token: TokenId) -> Vec<<T>::CrossAccountId> {
 		vec![]
 	}
 
 	fn token_property(
 		&self,
-		token_id: TokenId,
-		key: &up_data_structs::PropertyKey,
+		_token_id: TokenId,
+		_key: &up_data_structs::PropertyKey,
 	) -> Option<up_data_structs::PropertyValue> {
 		None
 	}
 
 	fn token_properties(
 		&self,
-		token: TokenId,
-		keys: Option<Vec<up_data_structs::PropertyKey>>,
+		_token: TokenId,
+		_keys: Option<Vec<up_data_structs::PropertyKey>>,
 	) -> Vec<up_data_structs::Property> {
 		vec![]
 	}
@@ -344,9 +344,9 @@
 
 	fn allowance(
 		&self,
-		sender: <T>::CrossAccountId,
-		spender: <T>::CrossAccountId,
-		token: TokenId,
+		_sender: <T>::CrossAccountId,
+		_spender: <T>::CrossAccountId,
+		_token: TokenId,
 	) -> u128 {
 		0
 	}
@@ -357,20 +357,24 @@
 
 	fn set_allowance_for_all(
 		&self,
-		owner: <T>::CrossAccountId,
-		operator: <T>::CrossAccountId,
-		approve: bool,
+		_owner: <T>::CrossAccountId,
+		_operator: <T>::CrossAccountId,
+		_approve: bool,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
 
-	fn allowance_for_all(&self, owner: <T>::CrossAccountId, operator: <T>::CrossAccountId) -> bool {
+	fn allowance_for_all(
+		&self,
+		_owner: <T>::CrossAccountId,
+		_operator: <T>::CrossAccountId,
+	) -> bool {
 		false
 	}
 
 	fn repair_item(
 		&self,
-		token: TokenId,
+		_token: TokenId,
 	) -> frame_support::pallet_prelude::DispatchResultWithPostInfo {
 		fail!(<pallet_common::Error<T>>::UnsupportedOperation);
 	}
modifiedpallets/balances-adapter/src/erc.rsdiffbeforeafterboth
before · pallets/balances-adapter/src/erc.rs
1use crate::{Config, NativeFungibleHandle, SelfWeightOf};2use evm_coder::{abi::AbiType, ToLog, generate_stubgen, solidity_interface, types::*};3use frame_support::traits::{Currency, ExistenceRequirement};4use pallet_balances::WeightInfo;5use pallet_common::{6	erc::{CommonEvmHandler, CrossAccountId, PrecompileHandle, PrecompileResult},7	eth::CrossAddress,8};9use pallet_evm_coder_substrate::{10	call, dispatch_to_evm,11	execution::{PreDispatch, Result},12	frontier_contract, WithRecorder, SubstrateRecorder,13};14use sp_core::{U256, Get};15use sp_std::vec::Vec;1617frontier_contract! {18	macro_rules! NativeFungibleHandle_result {...}19	impl<T: Config> Contract for NativeFungibleHandle<T> {...}20}2122#[derive(ToLog)]23pub enum ERC20Events {24	Transfer {25		#[indexed]26		from: Address,27		#[indexed]28		to: Address,29		value: U256,30	},31	Approval {32		#[indexed]33		owner: Address,34		#[indexed]35		spender: Address,36		value: U256,37	},38}3940#[solidity_interface(name = ERC20, events(ERC20Events), enum(derive(PreDispatch)), enum_attr(weight), expect_selector = 0x942e8b22)]41impl<T: Config> NativeFungibleHandle<T> {42	fn allowance(&self, _owner: Address, _spender: Address) -> Result<U256> {43		Ok(U256::zero())44	}4546	// #[weight(<SelfWeightOf<T>>::approve())]47	fn approve(&mut self, _caller: Caller, _spender: Address, _amount: U256) -> Result<bool> {48		// self.consume_store_reads(1)?;49		Err("Approve not supported".into())50	}5152	fn balance_of(&self, owner: Address) -> Result<U256> {53		// self.consume_store_reads(1)?;54		let owner = T::CrossAccountId::from_eth(owner);55		let balance = <T as Config>::Currency::free_balance(owner.as_sub());56		Ok(balance.into())57	}5859	fn decimals(&self) -> Result<u8> {60		Ok(T::Decimals::get())61	}6263	fn name(&self) -> Result<String> {64		Ok(T::Name::get())65	}6667	fn symbol(&self) -> Result<String> {68		Ok(T::Symbol::get())69	}7071	fn total_supply(&self) -> Result<U256> {72		// self.consume_store_reads(1)?;73		let total = <T as Config>::Currency::total_issuance();74		Ok(total.into())75	}7677	#[weight(<SelfWeightOf<T>>::transfer())]78	fn transfer(&mut self, caller: Caller, to: Address, amount: U256) -> Result<bool> {79		let caller = T::CrossAccountId::from_eth(caller);80		let to = T::CrossAccountId::from_eth(to);81		let amount = amount.try_into().map_err(|_| "amount overflow")?;82		// let budget = self83		// 	.recorder84		// 	.weight_calls_budget(<StructureWeight<T>>::find_parent());8586		// <Pallet<T>>::transfer(self, &caller, &to, amount, &budget).map_err(|_| "transfer error")?;87		<T as Config>::Currency::transfer(88			caller.as_sub(),89			to.as_sub(),90			amount,91			ExistenceRequirement::KeepAlive,92		)93		.map_err(dispatch_to_evm::<T>)?;94		Ok(true)95	}9697	#[weight(<SelfWeightOf<T>>::transfer())]98	fn transfer_from(99		&mut self,100		caller: Caller,101		from: Address,102		to: Address,103		amount: U256,104	) -> Result<bool> {105		let caller = T::CrossAccountId::from_eth(caller);106		let from = T::CrossAccountId::from_eth(from);107		let to = T::CrossAccountId::from_eth(to);108		let amount = amount.try_into().map_err(|_| "amount overflow")?;109110		if from != caller {111			return Err("no permission".into());112		}113		// let budget = self114		// 	.recorder115		// 	.weight_calls_budget(<StructureWeight<T>>::find_parent());116117		// <Pallet<T>>::transfer_from(self, &caller, &from, &to, amount, &budget)118		// 	.map_err(dispatch_to_evm::<T>)?;119		<T as Config>::Currency::transfer(120			caller.as_sub(),121			to.as_sub(),122			amount,123			ExistenceRequirement::KeepAlive,124		)125		.map_err(dispatch_to_evm::<T>)?;126		Ok(true)127	}128}129130#[solidity_interface(name = ERC20UniqueExtensions, enum(derive(PreDispatch)), enum_attr(weight))]131impl<T: Config> NativeFungibleHandle<T>132where133	T::AccountId: From<[u8; 32]>,134{135	fn balance_of_cross(&self, owner: CrossAddress) -> Result<U256> {136		// self.consume_store_reads(1)?;137		let owner = owner.into_sub_cross_account::<T>()?;138		let balance = <T as Config>::Currency::free_balance(owner.as_sub());139		Ok(balance.into())140	}141142	#[weight(<SelfWeightOf<T>>::transfer())]143	fn transfer_cross(&mut self, caller: Caller, to: CrossAddress, amount: U256) -> Result<bool> {144		let caller = T::CrossAccountId::from_eth(caller);145		let to = to.into_sub_cross_account::<T>()?;146		let amount = amount.try_into().map_err(|_| "amount overflow")?;147		// let budget = self148		// 	.recorder149		// 	.weight_calls_budget(<StructureWeight<T>>::find_parent());150151		// <Pallet<T>>::transfer(self, &caller, &to, amount, &budget).map_err(|_| "transfer error")?;152		<T as Config>::Currency::transfer(153			caller.as_sub(),154			to.as_sub(),155			amount,156			ExistenceRequirement::KeepAlive,157		)158		.map_err(dispatch_to_evm::<T>)?;159		Ok(true)160	}161162	#[weight(<SelfWeightOf<T>>::transfer())]163	fn transfer_from_cross(164		&mut self,165		caller: Caller,166		from: CrossAddress,167		to: CrossAddress,168		amount: U256,169	) -> Result<bool> {170		let caller = T::CrossAccountId::from_eth(caller);171		let from = from.into_sub_cross_account::<T>()?;172		let to = to.into_sub_cross_account::<T>()?;173		let amount = amount.try_into().map_err(|_| "amount overflow")?;174175		if from != caller {176			return Err("no permission".into());177		}178179		// let budget = self180		// 	.recorder181		// 	.weight_calls_budget(<StructureWeight<T>>::find_parent());182183		// <Pallet<T>>::transfer_from(self, &caller, &from, &to, amount, &budget)184		// 	.map_err(dispatch_to_evm::<T>)?;185		<T as Config>::Currency::transfer(186			caller.as_sub(),187			to.as_sub(),188			amount,189			ExistenceRequirement::KeepAlive,190		)191		.map_err(dispatch_to_evm::<T>)?;192		Ok(true)193	}194}195196#[solidity_interface(197	name = UniqueNativeFungible,198	is(ERC20, ERC20UniqueExtensions),199	enum(derive(PreDispatch))200)]201impl<T: Config> NativeFungibleHandle<T> where T::AccountId: From<[u8; 32]> + AsRef<[u8; 32]> {}202203generate_stubgen!(gen_impl, UniqueNativeFungibleCall<()>, true);204generate_stubgen!(gen_iface, UniqueNativeFungibleCall<()>, false);205206impl<T: Config> CommonEvmHandler for NativeFungibleHandle<T>207where208	T::AccountId: From<[u8; 32]> + AsRef<[u8; 32]>,209{210	const CODE: &'static [u8] = include_bytes!("./stubs/UniqueNativeFungible.raw");211212	fn call(self, handle: &mut impl PrecompileHandle) -> Option<PrecompileResult> {213		call::<T, UniqueNativeFungibleCall<T>, _, _>(handle, self)214	}215}
modifiedpallets/balances-adapter/src/lib.rsdiffbeforeafterboth
--- a/pallets/balances-adapter/src/lib.rs
+++ b/pallets/balances-adapter/src/lib.rs
@@ -1,11 +1,9 @@
 // #![doc = include_str!("../README.md")]
 #![cfg_attr(not(feature = "std"), no_std)]
-#![warn(missing_docs)]
 
 extern crate alloc;
 use frame_support::sp_runtime::DispatchResult;
 pub use pallet::*;
-use pallet_common::CollectionHandle;
 use pallet_evm_coder_substrate::{WithRecorder, SubstrateRecorder};
 
 pub mod common;
@@ -13,12 +11,15 @@
 
 pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
 
+/// Handle for native fungible collection
 pub struct NativeFungibleHandle<T: Config>(SubstrateRecorder<T>);
 impl<T: Config> NativeFungibleHandle<T> {
+	/// Creates a handle
 	pub fn new() -> NativeFungibleHandle<T> {
 		Self(SubstrateRecorder::new(u64::MAX))
 	}
 
+	/// Check if the collection is internal
 	pub fn check_is_internal(&self) -> DispatchResult {
 		Ok(())
 	}
@@ -35,7 +36,7 @@
 #[frame_support::pallet]
 pub mod pallet {
 	use alloc::string::String;
-	use frame_support::{traits::Get, sp_runtime::DispatchResult};
+	use frame_support::{traits::Get};
 	use pallet_balances::WeightInfo;
 	use sp_core::U256;
 
@@ -43,25 +44,24 @@
 	pub trait Config:
 		frame_system::Config + pallet_evm_coder_substrate::Config + pallet_common::Config
 	{
+		/// Currency from `pallet_balances`
 		type Currency: frame_support::traits::Currency<
 			Self::AccountId,
 			Balance = Self::CurrencyBalance,
 		>;
+		/// Balance type of chain
 		type CurrencyBalance: Into<U256> + TryFrom<U256> + PartialEq<u128> + From<u128> + Into<u128>;
 
+		/// Decimals of balance
 		type Decimals: Get<u8>;
+		/// Collection name
 		type Name: Get<String>;
+		/// Collection symbol
 		type Symbol: Get<String>;
 
+		/// Weight information
 		type WeightInfo: WeightInfo;
 	}
 	#[pallet::pallet]
 	pub struct Pallet<T>(_);
-
-	// #[pallet::call]
-	impl<T: Config> Pallet<T> {
-		pub fn dummy() -> DispatchResult {
-			Ok(())
-		}
-	}
 }
modifiedpallets/common/src/dispatch.rsdiffbeforeafterboth
--- a/pallets/common/src/dispatch.rs
+++ b/pallets/common/src/dispatch.rs
@@ -11,7 +11,7 @@
 use sp_runtime::DispatchError;
 use up_data_structs::{CollectionId, CreateCollectionData, CollectionFlags};
 
-use crate::{pallet::Config, CommonCollectionOperations, CollectionHandle};
+use crate::{pallet::Config, CommonCollectionOperations};
 
 // TODO: move to benchmarking
 /// Price of [`dispatch_tx`] call with noop `call` argument
@@ -66,6 +66,7 @@
 
 /// Interface for working with different collections through the dispatcher.
 pub trait CollectionDispatch<T: Config> {
+	/// Check if the collection is internal.
 	fn check_is_internal(&self) -> DispatchResult;
 
 	/// Create a collection. The collection will be created according to the value of [`data.mode`](CreateCollectionData::mode).
modifiedpallets/common/src/erc.rsdiffbeforeafterboth
--- a/pallets/common/src/erc.rs
+++ b/pallets/common/src/erc.rs
@@ -80,7 +80,7 @@
 impl CommonEvmHandler for () {
 	const CODE: &'static [u8] = &[];
 
-	fn call(self, handle: &mut impl PrecompileHandle) -> Option<PrecompileResult> {
+	fn call(self, _handle: &mut impl PrecompileHandle) -> Option<PrecompileResult> {
 		None
 	}
 }
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -462,6 +462,7 @@
 	}
 
 	const STORAGE_VERSION: StorageVersion = StorageVersion::new(1);
+	/// Collection id for native fungible collction.
 	pub const NATIVE_FINGIBLE_COLLECTION_ID: CollectionId = CollectionId(0);
 
 	#[pallet::pallet]
modifiedpallets/structure/src/lib.rsdiffbeforeafterboth
--- a/pallets/structure/src/lib.rs
+++ b/pallets/structure/src/lib.rs
@@ -60,7 +60,7 @@
 use frame_support::dispatch::{DispatchError, DispatchResult, DispatchResultWithPostInfo};
 use frame_support::fail;
 pub use pallet::*;
-use pallet_common::{dispatch::CollectionDispatch, CollectionHandle};
+use pallet_common::{dispatch::CollectionDispatch};
 use up_data_structs::{
 	CollectionId, TokenId, mapping::TokenAddressMapping, budget::Budget, TokenOwnerError,
 };
modifiedruntime/common/dispatch.rsdiffbeforeafterboth
--- a/runtime/common/dispatch.rs
+++ b/runtime/common/dispatch.rs
@@ -25,7 +25,7 @@
 };
 pub use pallet_common::dispatch::CollectionDispatch;
 use pallet_fungible::{Pallet as PalletFungible, FungibleHandle};
-use pallet_balances_adapter::{Pallet as PalletNativeFungible, NativeFungibleHandle};
+use pallet_balances_adapter::{NativeFungibleHandle};
 use pallet_nonfungible::{Pallet as PalletNonfungible, NonfungibleHandle};
 use pallet_refungible::{
 	Pallet as PalletRefungible, RefungibleHandle, erc_token::RefungibleTokenHandle,