From 940b0a339ab0dca724037eed77bef585fdbbdf56 Mon Sep 17 00:00:00 2001 From: Grigoriy Simonov Date: Mon, 05 Jun 2023 15:04:34 +0000 Subject: [PATCH] fix: clippy warnings --- --- a/node/cli/src/chain_spec.rs +++ b/node/cli/src/chain_spec.rs @@ -110,7 +110,7 @@ /// Helper function to generate a crypto pair from seed pub fn get_from_seed(seed: &str) -> ::Public { - TPublic::Pair::from_string(&format!("//{}", seed), None) + TPublic::Pair::from_string(&format!("//{seed}"), None) .expect("static values are valid; qed") .public() } --- a/node/cli/src/command.rs +++ b/node/cli/src/command.rs @@ -83,7 +83,7 @@ "" | "local" => Box::new(chain_spec::local_testnet_config()), path => { let path = std::path::PathBuf::from(path); - let chain_spec = Box::new(chain_spec::OpalChainSpec::from_json_file(path.clone())?) + let chain_spec = Box::new(chain_spec::OpalChainSpec::from_json_file(path)?) as Box; match chain_spec.runtime_id() { @@ -352,7 +352,7 @@ &polkadot_cli, config.tokio_handle.clone(), ) - .map_err(|err| format!("Relay chain argument error: {}", err))?; + .map_err(|err| format!("Relay chain argument error: {err}"))?; cmd.run(config, polkadot_config) }) @@ -464,7 +464,7 @@ runner.run_node_until_exit(|config| async move { let hwbench = if !cli.no_hardware_benchmarks { config.database.path().map(|database_path| { - let _ = std::fs::create_dir_all(&database_path); + let _ = std::fs::create_dir_all(database_path); sc_sysinfo::gather_hwbench(Some(database_path)) }) } else { @@ -513,7 +513,7 @@ let state_version = RelayChainCli::native_runtime_version(&config.chain_spec).state_version(); let block: Block = generate_genesis_block(&*config.chain_spec, state_version) - .map_err(|e| format!("{:?}", e))?; + .map_err(|e| format!("{e:?}"))?; let genesis_state = format!("0x{:?}", HexDisplay::from(&block.header().encode())); let genesis_hash = format!("0x{:?}", HexDisplay::from(&block.header().hash().0)); @@ -522,7 +522,7 @@ &polkadot_cli, config.tokio_handle.clone(), ) - .map_err(|err| format!("Relay chain argument error: {}", err))?; + .map_err(|err| format!("Relay chain argument error: {err}"))?; info!("Parachain id: {:?}", para_id); info!("Parachain Account: {}", parachain_account); --- a/node/cli/src/service.rs +++ b/node/cli/src/service.rs @@ -698,7 +698,7 @@ { let slot_duration = cumulus_client_consensus_aura::slot_duration(&*client)?; - let block_import = ParachainBlockImport::new(client.clone(), backend.clone()); + let block_import = ParachainBlockImport::new(client.clone(), backend); cumulus_client_consensus_aura::import_queue::< sp_consensus_aura::sr25519::AuthorityPair, @@ -709,7 +709,7 @@ _, >(cumulus_client_consensus_aura::ImportQueueParams { block_import, - client: client.clone(), + client, create_inherent_data_providers: move |_, _| async move { let time = sp_timestamp::InherentDataProvider::from_system_time(); @@ -787,7 +787,7 @@ telemetry.clone(), ); - let block_import = ParachainBlockImport::new(client.clone(), backend.clone()); + let block_import = ParachainBlockImport::new(client.clone(), backend); Ok(AuraConsensus::build::< sp_consensus_aura::sr25519::AuthorityPair, @@ -864,7 +864,7 @@ ExecutorDispatch: NativeExecutionDispatch + 'static, { Ok(sc_consensus_manual_seal::import_queue( - Box::new(client.clone()), + Box::new(client), &task_manager.spawn_essential_handle(), config.prometheus_registry(), )) @@ -956,7 +956,7 @@ let collator = config.role.is_authority(); - let select_chain = maybe_select_chain.clone(); + let select_chain = maybe_select_chain; if collator { let block_import = --- a/node/rpc/src/lib.rs +++ b/node/rpc/src/lib.rs @@ -289,7 +289,7 @@ io.merge( Net::new( client.clone(), - network.clone(), + network, // Whether to format the `peer_count` response as Hex (default) or not. true, ) --- a/pallets/app-promotion/src/lib.rs +++ b/pallets/app-promotion/src/lib.rs @@ -296,7 +296,7 @@ if !block_pending.is_empty() { block_pending.into_iter().for_each(|(staker, amount)| { - Self::get_frozen_balance(&staker).map(|b| { + if let Some(b) = Self::get_frozen_balance(&staker) { let new_state = b.checked_sub(&amount).unwrap_or_default(); // In this case, setting a new state for the frozen funds cannot fail @@ -305,7 +305,7 @@ // that we cannot (in the current implementation) unfreeze more funds // than were originally frozen by the pallet. Either way, `on_initialize()` cannot fail. Self::set_freeze_unchecked(&staker, new_state); - }); + }; }); } @@ -598,8 +598,8 @@ // this value is set for the stakers to whom the recalculation will be performed let next_recalc_block = current_recalc_block + config.recalculation_interval; - let mut storage_iterator = Self::get_next_calculated_key() - .map_or(Staked::::iter(), |key| Staked::::iter_from(key)); + let storage_iterator = + Self::get_next_calculated_key().map_or(Staked::::iter(), Staked::::iter_from); PreviousCalculatedRecord::::set(None); @@ -658,10 +658,8 @@ // stakers_number - keeps the remaining number of iterations (staker addresses to handle) // next_recalc_block_for_stake - is taken from the state and stores the starting relay block from which reward should be paid out // income_acc - stores the reward amount to pay to the staker address (accumulates over all address stake records) - while let Some(( - (current_id, staked_block), - (amount, next_recalc_block_for_stake), - )) = storage_iterator.next() + for ((current_id, staked_block), (amount, next_recalc_block_for_stake)) in + storage_iterator { // last_id is not equal current_id when we switch to handling a new staker address // or just start handling the very first address. In the latter case last_id will be None and @@ -859,11 +857,11 @@ if acc_amount < balance_per_block { let res = (block, balance_per_block - acc_amount); acc_amount = >::default(); - return Some(res); + Some(res) } else { acc_amount -= balance_per_block; will_deleted_stakes_count += 1; - return Some((block, >::default())); + Some((block, >::default())) } }) .collect::>(); @@ -926,7 +924,7 @@ if amount.is_zero() { <::Currency as MutateFreeze>::thaw( &T::FreezeIdentifier::get(), - &staker, + staker, ) } else { <::Currency as MutateFreeze>::set_freeze( @@ -1026,10 +1024,10 @@ ) { let income = Self::calculate_income(base, iters); - base.checked_add(&income).map(|res| { + if let Some(res) = base.checked_add(&income) { >::insert((staker, staked_block), (res, next_recalc_block)); *income_acc += income; - }); + }; } fn calculate_income(base: I, iters: u32) -> I --- a/pallets/app-promotion/src/types.rs +++ b/pallets/app-promotion/src/types.rs @@ -149,16 +149,16 @@ Self { recalculation_interval: config .recalculation_interval - .unwrap_or_else(|| T::RecalculationInterval::get()), + .unwrap_or_else(T::RecalculationInterval::get), pending_interval: config .pending_interval - .unwrap_or_else(|| T::PendingInterval::get()), + .unwrap_or_else(T::PendingInterval::get), interval_income: config .interval_income - .unwrap_or_else(|| T::IntervalIncome::get()), + .unwrap_or_else(T::IntervalIncome::get), max_stakers_per_calculation: config .max_stakers_per_calculation - .unwrap_or_else(|| MAX_NUMBER_PAYOUTS), + .unwrap_or(MAX_NUMBER_PAYOUTS), } } } --- a/pallets/balances-adapter/src/lib.rs +++ b/pallets/balances-adapter/src/lib.rs @@ -31,6 +31,12 @@ } } +impl Default for NativeFungibleHandle { + fn default() -> Self { + Self::new() + } +} + impl WithRecorder for NativeFungibleHandle { fn recorder(&self) -> &pallet_evm_coder_substrate::SubstrateRecorder { &self.0 --- a/pallets/common/src/eth.rs +++ b/pallets/common/src/eth.rs @@ -136,7 +136,7 @@ fn try_from(from: up_data_structs::Property) -> Result { let key = evm_coder::types::String::from_utf8(from.key.into()) - .map_err(|e| Self::Error::Revert(format!("utf8 conversion error: {}", e)))?; + .map_err(|e| Self::Error::Revert(format!("utf8 conversion error: {e}")))?; let value = evm_coder::types::Bytes(from.value.to_vec()); Ok(Property { key, value }) } @@ -201,10 +201,7 @@ pub fn new(field: CollectionLimitField, value: Option) -> Self { Self { field, - value: match value { - Some(value) => Some(value.into()), - None => None, - }, + value: value.map(|value| value.into()), } } /// Whether the field contains a value. @@ -222,8 +219,7 @@ .ok_or::("can't convert `None` value to boolean".into())?; let value = Some(value.try_into().map_err(|error| { Self::Error::Revert(format!( - "can't convert value to u32 \"{}\" because: \"{error}\"", - value + "can't convert value to u32 \"{value}\" because: \"{error}\"" )) })?); @@ -249,10 +245,8 @@ limits.sponsored_data_size = value; } CollectionLimitField::SponsoredDataRateLimit => { - limits.sponsored_data_rate_limit = match value { - Some(value) => Some(up_data_structs::SponsoringRateLimit::Blocks(value)), - None => None, - }; + limits.sponsored_data_rate_limit = + value.map(up_data_structs::SponsoringRateLimit::Blocks); } CollectionLimitField::TokenLimit => { limits.token_limit = value; @@ -454,9 +448,9 @@ } } -impl Into for AccessMode { - fn into(self) -> up_data_structs::AccessMode { - match self { +impl From for up_data_structs::AccessMode { + fn from(value: AccessMode) -> Self { + match value { AccessMode::Normal => up_data_structs::AccessMode::Normal, AccessMode::AllowList => up_data_structs::AccessMode::AllowList, } --- a/pallets/evm-coder-substrate/src/lib.rs +++ b/pallets/evm-coder-substrate/src/lib.rs @@ -260,9 +260,9 @@ message: Some(msg), .. }) => ExError::Revert(msg.into()), DispatchError::Module(ModuleError { index, error, .. }) => { - ExError::Revert(format!("error {:?} in pallet {}", error, index)) + ExError::Revert(format!("error {error:?} in pallet {index}")) } - e => ExError::Revert(format!("substrate error: {:?}", e)), + e => ExError::Revert(format!("substrate error: {e:?}")), } } --- a/pallets/evm-contract-helpers/src/eth.rs +++ b/pallets/evm-contract-helpers/src/eth.rs @@ -184,10 +184,9 @@ /// @param contractAddress The contract for which a sponsor is requested. /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw. fn sponsor(&self, contract_address: Address) -> Result> { - Ok(match Pallet::::get_sponsor(contract_address) { - Some(ref value) => Some(eth::CrossAddress::from_sub_cross_account::(value)), - None => None, - }) + Ok(Pallet::::get_sponsor(contract_address) + .as_ref() + .map(eth::CrossAddress::from_sub_cross_account::)) } /// Check tat contract has confirmed sponsor. @@ -275,7 +274,7 @@ self.recorder().consume_sstore()?; >::ensure_owner(contract_address, caller).map_err(dispatch_to_evm::)?; - >::set_sponsoring_fee_limit(contract_address, fee_limit.into()) + >::set_sponsoring_fee_limit(contract_address, fee_limit) .map_err(dispatch_to_evm::)?; Ok(()) } --- a/pallets/evm-contract-helpers/src/lib.rs +++ b/pallets/evm-contract-helpers/src/lib.rs @@ -376,7 +376,7 @@ >::get(contract) .or_else(|| { #[allow(deprecated)] - >::get(contract).then(|| SponsoringModeT::Allowlisted) + >::get(contract).then_some(SponsoringModeT::Allowlisted) }) .unwrap_or_default() } @@ -410,7 +410,7 @@ /// Is user added to allowlist, or he is owner of specified contract pub fn allowed(contract: H160, user: H160) -> bool { - >::get(&contract, &user) || >::get(&contract) == user + >::get(contract, user) || >::get(contract) == user } /// Toggle contract allowlist access @@ -425,7 +425,7 @@ /// Throw error if user is not allowed to reconfigure target contract pub fn ensure_owner(contract: H160, user: H160) -> DispatchResult { - ensure!(>::get(&contract) == user, Error::::NoPermission); + ensure!(>::get(contract) == user, Error::::NoPermission); Ok(()) } } --- a/pallets/evm-migration/src/lib.rs +++ b/pallets/evm-migration/src/lib.rs @@ -78,7 +78,7 @@ pub fn begin(origin: OriginFor, address: H160) -> DispatchResult { ensure_root(origin)?; ensure!( - >::is_account_empty(&address) && !>::get(&address), + >::is_account_empty(&address) && !>::get(address), >::AccountNotEmpty, ); @@ -97,12 +97,12 @@ ) -> DispatchResult { ensure_root(origin)?; ensure!( - >::get(&address), + >::get(address), >::AccountIsNotMigrating, ); for (k, v) in data { - >::insert(&address, k, v); + >::insert(address, k, v); } Ok(()) } @@ -115,11 +115,11 @@ pub fn finish(origin: OriginFor, address: H160, code: Vec) -> DispatchResult { ensure_root(origin)?; ensure!( - >::get(&address), + >::get(address), >::AccountIsNotMigrating, ); - >::insert(&address, code); + >::insert(address, code); >::remove(address); Ok(()) } @@ -166,7 +166,7 @@ pub struct OnMethodCall(PhantomData); impl pallet_evm::OnMethodCall for OnMethodCall { fn is_reserved(contract: &H160) -> bool { - >::get(&contract) + >::get(contract) } fn is_used(_contract: &H160) -> bool { --- a/pallets/foreign-assets/src/impl_fungibles.rs +++ b/pallets/foreign-assets/src/impl_fungibles.rs @@ -333,7 +333,7 @@ &Value::new(0), )?; - Ok(amount.into()) + Ok(amount) } } } --- a/pallets/foreign-assets/src/lib.rs +++ b/pallets/foreign-assets/src/lib.rs @@ -161,7 +161,7 @@ fn get_currency_id(multi_location: MultiLocation) -> Option { log::trace!(target: "fassets::get_currency_id", "call"); - Pallet::::location_to_currency_ids(multi_location).map(|id| AssetIds::ForeignAssetId(id)) + Pallet::::location_to_currency_ids(multi_location).map(AssetIds::ForeignAssetId) } } @@ -378,7 +378,7 @@ foreign_asset_id, |maybe_location| -> DispatchResult { ensure!(maybe_location.is_none(), Error::::MultiLocationExisted); - *maybe_location = Some(location.clone()); + *maybe_location = Some(*location); AssetMetadatas::::try_mutate( AssetIds::ForeignAssetId(foreign_asset_id), @@ -422,7 +422,7 @@ // modify location if location != old_multi_locations { - LocationToCurrencyIds::::remove(old_multi_locations.clone()); + LocationToCurrencyIds::::remove(*old_multi_locations); LocationToCurrencyIds::::try_mutate( location, |maybe_currency_ids| -> DispatchResult { @@ -437,7 +437,7 @@ )?; } *maybe_asset_metadatas = Some(metadata.clone()); - *old_multi_locations = location.clone(); + *old_multi_locations = *location; Ok(()) }, ) --- a/pallets/identity/src/types.rs +++ b/pallets/identity/src/types.rs @@ -104,7 +104,7 @@ Data::Raw(ref x) => { let l = x.len().min(32); let mut r = vec![l as u8 + 1; l + 1]; - r[1..].copy_from_slice(&x[..l as usize]); + r[1..].copy_from_slice(&x[..l]); r } Data::BlakeTwo256(ref h) => once(34u8).chain(h.iter().cloned()).collect(), @@ -287,7 +287,7 @@ fn decode(input: &mut I) -> sp_std::result::Result { let field = u64::decode(input)?; Ok(Self( - >::from_bits(field as u64).map_err(|_| "invalid value")?, + >::from_bits(field).map_err(|_| "invalid value")?, )) } } --- a/pallets/nonfungible/src/erc.rs +++ b/pallets/nonfungible/src/erc.rs @@ -20,6 +20,8 @@ //! Method implementations are mostly doing parameter conversion and calling Nonfungible Pallet methods. extern crate alloc; + +use alloc::string::ToString; use core::{ char::{REPLACEMENT_CHARACTER, decode_utf16}, convert::TryInto, @@ -356,8 +358,7 @@ .transpose() .map_err(|e| { Error::Revert(alloc::format!( - "Can not convert value \"baseURI\" to string with error \"{}\"", - e + "Can not convert value \"baseURI\" to string with error \"{e}\"" )) })?; @@ -675,7 +676,7 @@ .try_into() .map_err(|_| "token uri is too long")?, }) - .map_err(|e| Error::Revert(alloc::format!("Can't add property: {:?}", e)))?; + .map_err(|e| Error::Revert(alloc::format!("Can't add property: {e:?}")))?; >::create_item( self, @@ -717,7 +718,7 @@ .map(Clone::clone) .ok_or_else(|| { let key = String::from_utf8(key.clone().into_inner()).unwrap_or_default(); - Error::Revert(alloc::format!("No permission for key {}", key)) + Error::Revert(alloc::format!("No permission for key {key}")) })?; Ok(a) } @@ -752,14 +753,14 @@ /// @param tokenId Id for the token. #[solidity(hide)] fn cross_owner_of(&self, token_id: U256) -> Result { - Self::owner_of_cross(&self, token_id) + Self::owner_of_cross(self, token_id) } /// Returns the owner (in cross format) of the token. /// /// @param tokenId Id for the token. fn owner_of_cross(&self, token_id: U256) -> Result { - Self::token_owner(&self, token_id.try_into()?) + Self::token_owner(self, token_id.try_into()?) .map(|o| eth::CrossAddress::from_sub_cross_account::(&o)) .map_err(|_| Error::Revert("token not found".into())) } @@ -789,7 +790,7 @@ .collect::>>()?; >::token_properties( - &self, + self, token_id.try_into()?, if keys.is_empty() { None } else { Some(keys) }, ) @@ -1021,7 +1022,7 @@ .try_into() .map_err(|_| "token uri is too long")?, }) - .map_err(|e| Error::Revert(alloc::format!("Can't add property: {:?}", e)))?; + .map_err(|e| Error::Revert(alloc::format!("Can't add property: {e:?}")))?; data.push(CreateItemData:: { properties, @@ -1056,7 +1057,7 @@ .map(eth::Property::try_into) .collect::>>()? .try_into() - .map_err(|_| Error::Revert(alloc::format!("too many properties")))?; + .map_err(|_| Error::Revert("too many properties".to_string()))?; let caller = T::CrossAccountId::from_eth(caller); --- a/pallets/nonfungible/src/lib.rs +++ b/pallets/nonfungible/src/lib.rs @@ -166,10 +166,7 @@ #[pallet::config] pub trait Config: - frame_system::Config - + pallet_common::Config - + pallet_structure::Config - + pallet_evm::Config + frame_system::Config + pallet_common::Config + pallet_structure::Config + pallet_evm::Config { type WeightInfo: WeightInfo; } @@ -860,13 +857,7 @@ >::unnest_if_nested(&token_data.owner, collection.id, token); - >::insert( - (collection.id, token), - ItemData { - owner: to.clone(), - ..token_data - }, - ); + >::insert((collection.id, token), ItemData { owner: to.clone() }); if let Some(balance_to) = balance_to { // from != to --- a/pallets/refungible/src/erc.rs +++ b/pallets/refungible/src/erc.rs @@ -21,6 +21,7 @@ extern crate alloc; +use alloc::string::ToString; use core::{ char::{REPLACEMENT_CHARACTER, decode_utf16}, convert::TryInto, @@ -353,8 +354,7 @@ .transpose() .map_err(|e| { Error::Revert(alloc::format!( - "Can not convert value \"baseURI\" to string with error \"{}\"", - e + "Can not convert value \"baseURI\" to string with error \"{e}\"" )) })?; @@ -482,8 +482,8 @@ .recorder .weight_calls_budget(>::find_parent()); - let balance = balance(&self, token, &from)?; - ensure_single_owner(&self, token, balance)?; + let balance = balance(self, token, &from)?; + ensure_single_owner(self, token, balance)?; >::transfer_from(self, &caller, &from, &to, token, balance, &budget) .map_err(dispatch_to_evm::)?; @@ -575,8 +575,8 @@ let caller = T::CrossAccountId::from_eth(caller); let token = token_id.try_into()?; - let balance = balance(&self, token, &caller)?; - ensure_single_owner(&self, token, balance)?; + let balance = balance(self, token, &caller)?; + ensure_single_owner(self, token, balance)?; >::burn(self, &caller, token, balance).map_err(dispatch_to_evm::)?; Ok(()) @@ -622,7 +622,7 @@ return Err("item id should be next".into()); } - let users = [(to.clone(), 1)] + let users = [(to, 1)] .into_iter() .collect::>() .try_into() @@ -706,9 +706,9 @@ .try_into() .map_err(|_| "token uri is too long")?, }) - .map_err(|e| Error::Revert(alloc::format!("Can't add property: {:?}", e)))?; + .map_err(|e| Error::Revert(alloc::format!("Can't add property: {e:?}")))?; - let users = [(to.clone(), 1)] + let users = [(to, 1)] .into_iter() .collect::>() .try_into() @@ -750,7 +750,7 @@ .map(Clone::clone) .ok_or_else(|| { let key = String::from_utf8(key.clone().into_inner()).unwrap_or_default(); - Error::Revert(alloc::format!("No permission for key {}", key)) + Error::Revert(alloc::format!("No permission for key {key}")) })?; Ok(a) } @@ -785,14 +785,14 @@ /// @param tokenId Id for the token. #[solidity(hide)] fn cross_owner_of(&self, token_id: U256) -> Result { - Self::owner_of_cross(&self, token_id) + Self::owner_of_cross(self, token_id) } /// Returns the owner (in cross format) of the token. /// /// @param tokenId Id for the token. fn owner_of_cross(&self, token_id: U256) -> Result { - Self::token_owner(&self, token_id.try_into()?) + Self::token_owner(self, token_id.try_into()?) .map(|o| eth::CrossAddress::from_sub_cross_account::(&o)) .or_else(|err| match err { TokenOwnerError::NotFound => Err(Error::Revert("token not found".into())), @@ -827,7 +827,7 @@ .collect::>>()?; >::token_properties( - &self, + self, token_id.try_into()?, if keys.is_empty() { None } else { Some(keys) }, ) @@ -1004,7 +1004,7 @@ } expected_index = expected_index.checked_add(1).ok_or("item id overflow")?; } - let users = [(to.clone(), 1)] + let users = [(to, 1)] .into_iter() .collect::>() .try_into() @@ -1046,7 +1046,7 @@ .weight_calls_budget(>::find_parent()); let mut data = Vec::with_capacity(tokens.len()); - let users: BoundedBTreeMap<_, _, _> = [(to.clone(), 1)] + let users: BoundedBTreeMap<_, _, _> = [(to, 1)] .into_iter() .collect::>() .try_into() @@ -1067,7 +1067,7 @@ .try_into() .map_err(|_| "token uri is too long")?, }) - .map_err(|e| Error::Revert(alloc::format!("Can't add property: {:?}", e)))?; + .map_err(|e| Error::Revert(alloc::format!("Can't add property: {e:?}")))?; let create_item_data = CreateItemData:: { users: users.clone(), @@ -1103,7 +1103,7 @@ .map(eth::Property::try_into) .collect::>>()? .try_into() - .map_err(|_| Error::Revert(alloc::format!("too many properties")))?; + .map_err(|_| Error::Revert("too many properties".to_string()))?; let caller = T::CrossAccountId::from_eth(caller); --- a/pallets/refungible/src/lib.rs +++ b/pallets/refungible/src/lib.rs @@ -1124,7 +1124,7 @@ if collection.ignores_token_restrictions(spender) { return Ok(Self::compute_allowance_decrease( - collection, token, from, &spender, amount, + collection, token, from, spender, amount, )); } @@ -1143,7 +1143,7 @@ return Ok(None); } - let allowance = Self::compute_allowance_decrease(collection, token, from, &spender, amount); + let allowance = Self::compute_allowance_decrease(collection, token, from, spender, amount); if allowance.is_some() { return Ok(allowance); } --- a/pallets/scheduler-v2/src/lib.rs +++ b/pallets/scheduler-v2/src/lib.rs @@ -969,7 +969,7 @@ call: ScheduledCall, ) -> Result, DispatchError> { // ensure id it is unique - if Lookup::::contains_key(&id) { + if Lookup::::contains_key(id) { return Err(Error::::FailedToSchedule.into()); } --- a/pallets/structure/src/lib.rs +++ b/pallets/structure/src/lib.rs @@ -280,7 +280,7 @@ ) -> DispatchResultWithPostInfo { let dispatch = T::CollectionDispatch::dispatch(collection)?; let dispatch = dispatch.as_dyn(); - dispatch.burn_item_recursively(from.clone(), token, self_budget, breadth_budget) + dispatch.burn_item_recursively(from, token, self_budget, breadth_budget) } /// Check if `token` indirectly owned by `user` @@ -396,7 +396,7 @@ account: &T::CrossAccountId, action: impl FnOnce(&dyn CommonCollectionOperations, TokenId) -> DispatchResult, ) -> DispatchResult { - if is_collection(&account.as_eth()) { + if is_collection(account.as_eth()) { fail!(>::CantNestTokenUnderCollection); } let Some((collection, token)) = T::CrossTokenAddressMapping::address_to_token(account) else { --- a/pallets/unique/src/eth/mod.rs +++ b/pallets/unique/src/eth/mod.rs @@ -113,13 +113,9 @@ let collection_helpers_address = T::CrossAccountId::from_eth(::ContractAddress::get()); - let collection_id = T::CollectionDispatch::create( - caller.clone(), - collection_helpers_address, - data, - Default::default(), - ) - .map_err(pallet_evm_coder_substrate::dispatch_to_evm::)?; + let collection_id = + T::CollectionDispatch::create(caller, collection_helpers_address, data, Default::default()) + .map_err(pallet_evm_coder_substrate::dispatch_to_evm::)?; let address = pallet_common::eth::collection_id_to_address(collection_id); Ok(address) } @@ -132,8 +128,7 @@ .expect("Collection creation price should be convertible to u128"); if value != creation_price { return Err(format!( - "Sent amount not equals to collection creation price ({0})", - creation_price + "Sent amount not equals to collection creation price ({creation_price})", ) .into()); } @@ -383,8 +378,7 @@ map_eth_to_id(&collection_address) .map(|id| id.0) .ok_or(Error::Revert(format!( - "failed to convert address {} into collectionId.", - collection_address + "failed to convert address {collection_address} into collectionId." ))) } } @@ -422,5 +416,5 @@ generate_stubgen!(collection_helper_iface, CollectionHelpersCall<()>, false); fn error_field_too_long(feild: &str, bound: usize) -> Error { - Error::Revert(format!("{} is too long. Max length is {}.", feild, bound)) + Error::Revert(format!("{feild} is too long. Max length is {bound}.")) } --- a/pallets/unique/src/lib.rs +++ b/pallets/unique/src/lib.rs @@ -507,7 +507,7 @@ let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?); let new_owner = T::CrossAccountId::from_sub(new_owner); let mut target_collection = >::try_get(collection_id)?; - target_collection.change_owner(sender, new_owner.clone()) + target_collection.change_owner(sender, new_owner) } /// Add an admin to a collection. @@ -667,7 +667,7 @@ /// * `owner`: Address of the initial owner of the item. /// * `data`: Token data describing the item to store on chain. #[pallet::call_index(11)] - #[pallet::weight(T::CommonWeightInfo::create_item(&data))] + #[pallet::weight(T::CommonWeightInfo::create_item(data))] pub fn create_item( origin: OriginFor, collection_id: CollectionId, @@ -701,7 +701,7 @@ /// * `owner`: Address of the initial owner of the tokens. /// * `items_data`: Vector of data describing each item to be created. #[pallet::call_index(12)] - #[pallet::weight(T::CommonWeightInfo::create_multiple_items(&items_data))] + #[pallet::weight(T::CommonWeightInfo::create_multiple_items(items_data))] pub fn create_multiple_items( origin: OriginFor, collection_id: CollectionId, @@ -889,7 +889,7 @@ /// * `collection_id`: ID of the collection to which the tokens would belong. /// * `data`: Explicit item creation data. #[pallet::call_index(18)] - #[pallet::weight(T::CommonWeightInfo::create_multiple_items_ex(&data))] + #[pallet::weight(T::CommonWeightInfo::create_multiple_items_ex(data))] pub fn create_multiple_items_ex( origin: OriginFor, collection_id: CollectionId, @@ -1313,7 +1313,7 @@ collection_id: CollectionId, ) -> DispatchResult { let mut target_collection = >::try_get(collection_id)?; - target_collection.force_set_sponsor(sponsor.clone()) + target_collection.force_set_sponsor(sponsor) } /// Force remove `sponsor` for `collection`. --- a/primitives/data-structs/src/bounded.rs +++ b/primitives/data-structs/src/bounded.rs @@ -63,7 +63,7 @@ V: fmt::Debug, { use core::fmt::Debug; - (&v as &Vec).fmt(f) + (v as &Vec).fmt(f) } #[cfg(feature = "serde1")] @@ -114,7 +114,7 @@ V: fmt::Debug, { use core::fmt::Debug; - (&v as &BTreeMap).fmt(f) + (v as &BTreeMap).fmt(f) } #[cfg(feature = "serde1")] @@ -157,5 +157,5 @@ K: fmt::Debug + Ord, { use core::fmt::Debug; - (&v as &BTreeSet).fmt(f) + (v as &BTreeSet).fmt(f) } --- a/primitives/data-structs/src/lib.rs +++ b/primitives/data-structs/src/lib.rs @@ -536,7 +536,7 @@ type Target = Vec; fn deref(&self) -> &Self::Target { - return &self.0; + &self.0 } } @@ -816,6 +816,11 @@ Self(Default::default()) } } +impl Default for OwnerRestrictedSet { + fn default() -> Self { + Self::new() + } +} impl core::ops::Deref for OwnerRestrictedSet { type Target = OwnerRestrictedSetInner; fn deref(&self) -> &Self::Target { @@ -1098,9 +1103,9 @@ pub value: PropertyValue, } -impl Into<(PropertyKey, PropertyValue)> for Property { - fn into(self) -> (PropertyKey, PropertyValue) { - (self.key, self.value) +impl From for (PropertyKey, PropertyValue) { + fn from(value: Property) -> Self { + (value.key, value.value) } } @@ -1116,9 +1121,9 @@ pub permission: PropertyPermission, } -impl Into<(PropertyKey, PropertyPermission)> for PropertyKeyPermission { - fn into(self) -> (PropertyKey, PropertyPermission) { - (self.key, self.permission) +impl From for (PropertyKey, PropertyPermission) { + fn from(value: PropertyKeyPermission) -> Self { + (value.key, value.permission) } } @@ -1415,7 +1420,7 @@ value: Self::Value, ) -> Result, PropertiesError> { let key_size = scoped_slice_size(scope, &key); - let value_size = slice_size(&value) as u32; + let value_size = slice_size(&value); if self.consumed_space + value_size + key_size > S && !cfg!(feature = "runtime-benchmarks") { @@ -1425,7 +1430,7 @@ let old_value = self.map.try_scoped_set(scope, key, value)?; if let Some(old_value) = old_value.as_ref() { - let old_value_size = slice_size(&old_value); + let old_value_size = slice_size(old_value); self.consumed_space = self.consumed_space.saturating_sub(old_value_size) + value_size; } else { self.consumed_space += key_size + value_size; --- a/runtime/common/config/xcm/foreignassets.rs +++ b/runtime/common/config/xcm/foreignassets.rs @@ -65,7 +65,7 @@ return ConvertAssetId::convert_ref(AssetIds::NativeAssetId(NativeCurrency::Here)); } - match XcmForeignAssetIdMapping::::get_currency_id(id.clone()) { + match XcmForeignAssetIdMapping::::get_currency_id(*id) { Some(AssetIds::ForeignAssetId(foreign_asset_id)) => { ConvertAssetId::convert_ref(AssetIds::ForeignAssetId(foreign_asset_id)) } @@ -206,9 +206,7 @@ return Some(AssetIds::NativeAssetId(NativeCurrency::Parent)); } - if let Some(currency_id) = - XcmForeignAssetIdMapping::::get_currency_id(location.clone()) - { + if let Some(currency_id) = XcmForeignAssetIdMapping::::get_currency_id(location) { return Some(currency_id); } --- a/runtime/common/ethereum/precompiles/mod.rs +++ b/runtime/common/ethereum/precompiles/mod.rs @@ -37,6 +37,16 @@ [hash(1), hash(20482)] } } + +impl Default for UniquePrecompiles +where + R: pallet_evm::Config, +{ + fn default() -> Self { + Self::new() + } +} + impl PrecompileSet for UniquePrecompiles where R: pallet_evm::Config, --- a/runtime/common/ethereum/precompiles/sr25519.rs +++ b/runtime/common/ethereum/precompiles/sr25519.rs @@ -64,7 +64,7 @@ // Parse arguments let public: sr25519::Public = - sr25519::Public::unchecked_from(input.read::(gasometer)?).into(); + sr25519::Public::unchecked_from(input.read::(gasometer)?); let signature_bytes: Vec = input.read::(gasometer)?.into(); let message: Vec = input.read::(gasometer)?.into(); --- a/runtime/common/ethereum/precompiles/utils/data.rs +++ b/runtime/common/ethereum/precompiles/utils/data.rs @@ -60,7 +60,7 @@ } impl Into> for Bytes { - fn into(self: Self) -> Vec { + fn into(self) -> Vec { self.0 } } --- a/runtime/common/ethereum/precompiles/utils/mod.rs +++ b/runtime/common/ethereum/precompiles/utils/mod.rs @@ -73,7 +73,6 @@ } } - #[must_use] /// Check that a function call is compatible with the context it is /// called into. pub fn check_function_modifier( --- a/runtime/common/ethereum/sponsoring.rs +++ b/runtime/common/ethereum/sponsoring.rs @@ -78,7 +78,7 @@ let token_id: TokenId = token_id.try_into().ok()?; withdraw_set_token_property::( &collection, - &who, + who, &token_id, key.len() + value.len(), ) @@ -88,7 +88,7 @@ ERC721UniqueExtensionsCall::Transfer { token_id, .. }, ) => { let token_id: TokenId = token_id.try_into().ok()?; - withdraw_transfer::(&collection, &who, &token_id).map(|()| sponsor) + withdraw_transfer::(&collection, who, &token_id).map(|()| sponsor) } UniqueNFTCall::ERC721UniqueMintable( ERC721UniqueMintableCall::Mint { .. } @@ -97,7 +97,7 @@ | ERC721UniqueMintableCall::MintWithTokenUriCheckId { .. }, ) => withdraw_create_item::( &collection, - &who, + who, &CreateItemData::NFT(CreateNftData::default()), ) .map(|()| sponsor), --- a/runtime/common/ethereum/sponsoring/refungible.rs +++ b/runtime/common/ethereum/sponsoring/refungible.rs @@ -16,7 +16,6 @@ //! Implements EVM sponsoring logic via TransactionValidityHack -use core::convert::TryInto; use pallet_common::CollectionHandle; use pallet_evm::account::CrossAccountId; use pallet_fungible::Config as FungibleConfig; @@ -95,7 +94,7 @@ .. } => { let token_id = TokenId::try_from(token_id).ok()?; - withdraw_set_token_property::(&collection, &who, &token_id, key.len() + value.len()) + withdraw_set_token_property::(&collection, who, &token_id, key.len() + value.len()) } } } @@ -242,7 +241,7 @@ MintCross { .. } => withdraw_create_item::( &collection, - &who, + who, &CreateItemData::NFT(CreateNftData::default()), ), @@ -250,7 +249,7 @@ | TransferFromCross { token_id, .. } | Transfer { token_id, .. } => { let token_id = TokenId::try_from(token_id).ok()?; - withdraw_transfer::(&collection, &who, &token_id) + withdraw_transfer::(&collection, who, &token_id) } } } @@ -275,7 +274,7 @@ | MintWithTokenUri { .. } | MintWithTokenUriCheckId { .. } => withdraw_create_item::( &collection, - &who, + who, &CreateItemData::NFT(CreateNftData::default()), ), } @@ -311,18 +310,15 @@ Transfer { .. } => { let RefungibleTokenHandle(handle, token_id) = token; - let token_id = token_id.try_into().ok()?; - withdraw_transfer::(&handle, &who, &token_id) + withdraw_transfer::(&handle, who, &token_id) } TransferFrom { from, .. } => { let RefungibleTokenHandle(handle, token_id) = token; - let token_id = token_id.try_into().ok()?; let from = T::CrossAccountId::from_eth(from); withdraw_transfer::(&handle, &from, &token_id) } Approve { .. } => { let RefungibleTokenHandle(handle, token_id) = token; - let token_id = token_id.try_into().ok()?; withdraw_approve::(&handle, who.as_sub(), &token_id) } } @@ -351,13 +347,11 @@ TransferCross { .. } | TransferFromCross { .. } => { let RefungibleTokenHandle(handle, token_id) = token; - let token_id = token_id.try_into().ok()?; - withdraw_transfer::(&handle, &who, &token_id) + withdraw_transfer::(&handle, who, &token_id) } ApproveCross { .. } => { let RefungibleTokenHandle(handle, token_id) = token; - let token_id = token_id.try_into().ok()?; withdraw_approve::(&handle, who.as_sub(), &token_id) } } --- a/runtime/common/mod.rs +++ b/runtime/common/mod.rs @@ -204,10 +204,7 @@ &[], ); - let should_upgrade = match version { - None => true, - Some(_) => false, - }; + let should_upgrade = version.is_none(); if should_upgrade { log::info!( @@ -220,7 +217,7 @@ .cloned() .filter_map(|authority_id| { weight.saturating_accrue(::DbWeight::get().reads_writes(1, 1)); - let vec = authority_id.clone().to_raw_vec(); + let vec = authority_id.to_raw_vec(); let slice = vec.as_slice(); let array: Option<[u8; 32]> = match slice.try_into() { Ok(a) => Some(a), @@ -248,20 +245,20 @@ .into_iter() .map(|(acc, aura)| { ( - acc.clone(), // account id - acc, // validator id - SessionKeys { aura: aura.clone() }, // session keys + acc.clone(), // account id + acc, // validator id + SessionKeys { aura }, // session keys ) }) .collect::>(); - for (account, val, keys) in keys.iter().cloned() { + for (account, val, keys) in keys.iter() { for id in ::Keys::key_ids() { - >::insert((*id, keys.get_raw(*id)), &val) + >::insert((*id, keys.get_raw(*id)), val) } - >::insert(&val, &keys); + >::insert(val, keys); // todo exercise caution, the following is taken from genesis - if frame_system::Pallet::::inc_consumers_without_limit(&account) + if frame_system::Pallet::::inc_consumers_without_limit(account) .is_err() { log::warn!( @@ -271,7 +268,7 @@ // genesis) so it's really not a big deal and we assume that the user wants to // do this since it's the only way a non-endowed account can contain a session // key. - frame_system::Pallet::::inc_providers(&account); + frame_system::Pallet::::inc_providers(account); } } --- a/runtime/common/runtime_apis.rs +++ b/runtime/common/runtime_apis.rs @@ -84,7 +84,7 @@ fn topmost_token_owner(collection: CollectionId, token: TokenId) -> Result, DispatchError> { let budget = up_data_structs::budget::Value::new(10); - Ok(>::find_topmost_owner(collection, token, &budget)?) + >::find_topmost_owner(collection, token, &budget) } fn token_children(collection: CollectionId, token: TokenId) -> Result, DispatchError> { Ok(>::token_children_ids(collection, token)) --- a/runtime/common/sponsoring.rs +++ b/runtime/common/sponsoring.rs @@ -240,7 +240,7 @@ withdraw_set_token_property( &collection, &T::CrossAccountId::from_sub(who.clone()), - &token_id, + token_id, // No overflow may happen, as data larger than usize can't reach here properties.iter().map(|p| p.key.len() + p.value.len()).sum(), ) --- a/test-pallets/utils/src/lib.rs +++ b/test-pallets/utils/src/lib.rs @@ -170,7 +170,7 @@ fn ensure_origin_and_enabled(origin: OriginFor) -> DispatchResult { ensure_signed(origin)?; >::get() - .then(|| ()) + .then_some(()) .ok_or(>::TestPalletDisabled.into()) } } -- gitstuff