git.delta.rocks / unique-network / refs/commits / 73ad88465834

difftreelog

CORE-302 Clean code

Trubnikov Sergey2022-04-26parent: #3912bc1.patch.diff
in: master

7 files changed

modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -153,7 +153,7 @@
 	pub fn set_sponsor(&mut self, sponsor: T::AccountId) {
 		self.collection.sponsorship = SponsorshipState::Unconfirmed(sponsor);
 	}
-	
+
 	pub fn confirm_sponsorship(&mut self, sender: &T::AccountId) -> bool {
 		if self.collection.sponsorship.pending_sponsor() != Some(sender) {
 			return false;
modifiedpallets/evm-collection/src/eth.rsdiffbeforeafterboth
--- a/pallets/evm-collection/src/eth.rs
+++ b/pallets/evm-collection/src/eth.rs
@@ -18,6 +18,7 @@
 use evm_coder::{abi::AbiWriter, execution::*, generate_stubgen, solidity_interface, types::*, ToLog};
 use ethereum as _;
 use pallet_common::CollectionById;
+use pallet_common::CollectionHandle;
 use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
 use pallet_evm::{
 	ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure,
modifiedpallets/evm-collection/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-collection/src/lib.rs
+++ b/pallets/evm-collection/src/lib.rs
@@ -18,22 +18,22 @@
 
 extern crate alloc;
 
-use codec::{Decode, Encode, MaxEncodedLen};
 pub use pallet::*;
 pub use eth::*;
-use scale_info::TypeInfo;
 pub mod eth;
 
 #[frame_support::pallet]
 pub mod pallet {
 	pub use super::*;
-	use evm_coder::execution::Result;
 	use frame_support::pallet_prelude::*;
 	use sp_core::H160;
 
 	#[pallet::config]
 	pub trait Config:
-		frame_system::Config + pallet_evm_coder_substrate::Config + pallet_evm::account::Config + pallet_nonfungible::Config
+		frame_system::Config
+		+ pallet_evm_coder_substrate::Config
+		+ pallet_evm::account::Config
+		+ pallet_nonfungible::Config
 	{
 		type ContractAddress: Get<H160>;
 	}
@@ -47,7 +47,6 @@
 	#[pallet::pallet]
 	// #[pallet::generate_store(pub(super) trait Store)]
 	pub struct Pallet<T>(_);
-
 
 	impl<T: Config> Pallet<T> {}
 }
modifiedpallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth
before · pallets/evm-contract-helpers/src/lib.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617#![cfg_attr(not(feature = "std"), no_std)]1819use codec::{Decode, Encode, MaxEncodedLen};20pub use pallet::*;21pub use eth::*;22use scale_info::TypeInfo;23pub mod eth;2425#[frame_support::pallet]26pub mod pallet {27	pub use super::*;28	use evm_coder::execution::Result;29	use frame_support::pallet_prelude::*;30	use sp_core::H160;3132	#[pallet::config]33	pub trait Config:34		frame_system::Config + pallet_evm_coder_substrate::Config + pallet_evm::account::Config + pallet_nonfungible::Config35	{36		type ContractAddress: Get<H160>;37		type DefaultSponsoringRateLimit: Get<Self::BlockNumber>;38	}3940	#[pallet::error]41	pub enum Error<T> {42		/// This method is only executable by owner43		NoPermission,44	}4546	#[pallet::pallet]47	#[pallet::generate_store(pub(super) trait Store)]48	pub struct Pallet<T>(_);4950	#[pallet::storage]51	pub(super) type Owner<T: Config> =52		StorageMap<Hasher = Twox128, Key = H160, Value = H160, QueryKind = ValueQuery>;5354	#[pallet::storage]55	#[deprecated]56	pub(super) type SelfSponsoring<T: Config> =57		StorageMap<Hasher = Twox128, Key = H160, Value = bool, QueryKind = ValueQuery>;5859	#[pallet::storage]60	pub(super) type SponsoringMode<T: Config> =61		StorageMap<Hasher = Twox128, Key = H160, Value = SponsoringModeT, QueryKind = OptionQuery>;6263	#[pallet::storage]64	pub(super) type SponsoringRateLimit<T: Config> = StorageMap<65		Hasher = Twox128,66		Key = H160,67		Value = T::BlockNumber,68		QueryKind = ValueQuery,69		OnEmpty = T::DefaultSponsoringRateLimit,70	>;7172	#[pallet::storage]73	pub(super) type SponsorBasket<T: Config> = StorageDoubleMap<74		Hasher1 = Twox128,75		Key1 = H160,76		Hasher2 = Twox128,77		Key2 = H160,78		Value = T::BlockNumber,79		QueryKind = OptionQuery,80	>;8182	#[pallet::storage]83	pub(super) type AllowlistEnabled<T: Config> =84		StorageMap<Hasher = Twox128, Key = H160, Value = bool, QueryKind = ValueQuery>;8586	#[pallet::storage]87	pub(super) type Allowlist<T: Config> = StorageDoubleMap<88		Hasher1 = Twox128,89		Key1 = H160,90		Hasher2 = Twox128,91		Key2 = H160,92		Value = bool,93		QueryKind = ValueQuery,94	>;9596	impl<T: Config> Pallet<T> {97		pub fn sponsoring_mode(contract: H160) -> SponsoringModeT {98			<SponsoringMode<T>>::get(contract)99				.or_else(|| {100					<SelfSponsoring<T>>::get(contract).then(|| SponsoringModeT::Allowlisted)101				})102				.unwrap_or_default()103		}104		pub fn set_sponsoring_mode(contract: H160, mode: SponsoringModeT) {105			if mode == SponsoringModeT::Disabled {106				<SponsoringMode<T>>::remove(contract);107			} else {108				<SponsoringMode<T>>::insert(contract, mode);109			}110			<SelfSponsoring<T>>::remove(contract)111		}112113		pub fn toggle_sponsoring(contract: H160, enabled: bool) {114			Self::set_sponsoring_mode(115				contract,116				if enabled {117					SponsoringModeT::Allowlisted118				} else {119					SponsoringModeT::Disabled120				},121			)122		}123124		pub fn set_sponsoring_rate_limit(contract: H160, rate_limit: T::BlockNumber) {125			<SponsoringRateLimit<T>>::insert(contract, rate_limit);126		}127128		pub fn allowed(contract: H160, user: H160) -> bool {129			<Allowlist<T>>::get(&contract, &user) || <Owner<T>>::get(&contract) == user130		}131132		pub fn toggle_allowlist(contract: H160, enabled: bool) {133			<AllowlistEnabled<T>>::insert(contract, enabled)134		}135136		pub fn toggle_allowed(contract: H160, user: H160, allowed: bool) {137			<Allowlist<T>>::insert(contract, user, allowed);138		}139140		pub fn ensure_owner(contract: H160, user: H160) -> Result<()> {141			ensure!(<Owner<T>>::get(&contract) == user, "no permission");142			Ok(())143		}144	}145}146147#[derive(Encode, Decode, PartialEq, TypeInfo, MaxEncodedLen)]148pub enum SponsoringModeT {149	Disabled,150	Allowlisted,151	Generous,152}153154impl SponsoringModeT {155	fn from_eth(v: u8) -> Option<Self> {156		Some(match v {157			0 => Self::Disabled,158			1 => Self::Allowlisted,159			2 => Self::Generous,160			_ => return None,161		})162	}163	fn to_eth(self) -> u8 {164		match self {165			SponsoringModeT::Disabled => 0,166			SponsoringModeT::Allowlisted => 1,167			SponsoringModeT::Generous => 2,168		}169	}170}171172impl Default for SponsoringModeT {173	fn default() -> Self {174		Self::Disabled175	}176}
after · pallets/evm-contract-helpers/src/lib.rs
1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617#![cfg_attr(not(feature = "std"), no_std)]1819use codec::{Decode, Encode, MaxEncodedLen};20pub use pallet::*;21pub use eth::*;22use scale_info::TypeInfo;23pub mod eth;2425#[frame_support::pallet]26pub mod pallet {27	pub use super::*;28	use evm_coder::execution::Result;29	use frame_support::pallet_prelude::*;30	use sp_core::H160;3132	#[pallet::config]33	pub trait Config:34		frame_system::Config35		+ pallet_evm_coder_substrate::Config36		+ pallet_evm::account::Config37		+ pallet_nonfungible::Config38	{39		type ContractAddress: Get<H160>;40		type DefaultSponsoringRateLimit: Get<Self::BlockNumber>;41	}4243	#[pallet::error]44	pub enum Error<T> {45		/// This method is only executable by owner46		NoPermission,47	}4849	#[pallet::pallet]50	#[pallet::generate_store(pub(super) trait Store)]51	pub struct Pallet<T>(_);5253	#[pallet::storage]54	pub(super) type Owner<T: Config> =55		StorageMap<Hasher = Twox128, Key = H160, Value = H160, QueryKind = ValueQuery>;5657	#[pallet::storage]58	#[deprecated]59	pub(super) type SelfSponsoring<T: Config> =60		StorageMap<Hasher = Twox128, Key = H160, Value = bool, QueryKind = ValueQuery>;6162	#[pallet::storage]63	pub(super) type SponsoringMode<T: Config> =64		StorageMap<Hasher = Twox128, Key = H160, Value = SponsoringModeT, QueryKind = OptionQuery>;6566	#[pallet::storage]67	pub(super) type SponsoringRateLimit<T: Config> = StorageMap<68		Hasher = Twox128,69		Key = H160,70		Value = T::BlockNumber,71		QueryKind = ValueQuery,72		OnEmpty = T::DefaultSponsoringRateLimit,73	>;7475	#[pallet::storage]76	pub(super) type SponsorBasket<T: Config> = StorageDoubleMap<77		Hasher1 = Twox128,78		Key1 = H160,79		Hasher2 = Twox128,80		Key2 = H160,81		Value = T::BlockNumber,82		QueryKind = OptionQuery,83	>;8485	#[pallet::storage]86	pub(super) type AllowlistEnabled<T: Config> =87		StorageMap<Hasher = Twox128, Key = H160, Value = bool, QueryKind = ValueQuery>;8889	#[pallet::storage]90	pub(super) type Allowlist<T: Config> = StorageDoubleMap<91		Hasher1 = Twox128,92		Key1 = H160,93		Hasher2 = Twox128,94		Key2 = H160,95		Value = bool,96		QueryKind = ValueQuery,97	>;9899	impl<T: Config> Pallet<T> {100		pub fn sponsoring_mode(contract: H160) -> SponsoringModeT {101			<SponsoringMode<T>>::get(contract)102				.or_else(|| {103					<SelfSponsoring<T>>::get(contract).then(|| SponsoringModeT::Allowlisted)104				})105				.unwrap_or_default()106		}107		pub fn set_sponsoring_mode(contract: H160, mode: SponsoringModeT) {108			if mode == SponsoringModeT::Disabled {109				<SponsoringMode<T>>::remove(contract);110			} else {111				<SponsoringMode<T>>::insert(contract, mode);112			}113			<SelfSponsoring<T>>::remove(contract)114		}115116		pub fn toggle_sponsoring(contract: H160, enabled: bool) {117			Self::set_sponsoring_mode(118				contract,119				if enabled {120					SponsoringModeT::Allowlisted121				} else {122					SponsoringModeT::Disabled123				},124			)125		}126127		pub fn set_sponsoring_rate_limit(contract: H160, rate_limit: T::BlockNumber) {128			<SponsoringRateLimit<T>>::insert(contract, rate_limit);129		}130131		pub fn allowed(contract: H160, user: H160) -> bool {132			<Allowlist<T>>::get(&contract, &user) || <Owner<T>>::get(&contract) == user133		}134135		pub fn toggle_allowlist(contract: H160, enabled: bool) {136			<AllowlistEnabled<T>>::insert(contract, enabled)137		}138139		pub fn toggle_allowed(contract: H160, user: H160, allowed: bool) {140			<Allowlist<T>>::insert(contract, user, allowed);141		}142143		pub fn ensure_owner(contract: H160, user: H160) -> Result<()> {144			ensure!(<Owner<T>>::get(&contract) == user, "no permission");145			Ok(())146		}147	}148}149150#[derive(Encode, Decode, PartialEq, TypeInfo, MaxEncodedLen)]151pub enum SponsoringModeT {152	Disabled,153	Allowlisted,154	Generous,155}156157impl SponsoringModeT {158	fn from_eth(v: u8) -> Option<Self> {159		Some(match v {160			0 => Self::Disabled,161			1 => Self::Allowlisted,162			2 => Self::Generous,163			_ => return None,164		})165	}166	fn to_eth(self) -> u8 {167		match self {168			SponsoringModeT::Disabled => 0,169			SponsoringModeT::Allowlisted => 1,170			SponsoringModeT::Generous => 2,171		}172	}173}174175impl Default for SponsoringModeT {176	fn default() -> Self {177		Self::Disabled178	}179}
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -368,30 +368,30 @@
 #[derive(Encode, Decode, Debug, Default, Clone, PartialEq, TypeInfo, MaxEncodedLen)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct CollectionLimits {
-	#[serde(alias="accountTokenOwnershipLimit")]
+	#[serde(alias = "accountTokenOwnershipLimit")]
 	pub account_token_ownership_limit: Option<u32>,
-	#[serde(alias="sponsoredDataSize")]
+	#[serde(alias = "sponsoredDataSize")]
 	pub sponsored_data_size: Option<u32>,
 
 	/// FIXME should we delete this or repurpose it?
 	/// None - setVariableMetadata is not sponsored
 	/// Some(v) - setVariableMetadata is sponsored
 	///           if there is v block between txs
-	#[serde(alias="sponsoredDataRateLimit")]
+	#[serde(alias = "sponsoredDataRateLimit")]
 	pub sponsored_data_rate_limit: Option<SponsoringRateLimit>,
-	#[serde(alias="tokenLimit")]
+	#[serde(alias = "tokenLimit")]
 	pub token_limit: Option<u32>,
-	
+
 	// Timeouts for item types in passed blocks
-	#[serde(alias="sponsorTransferTimeout")]
+	#[serde(alias = "sponsorTransferTimeout")]
 	pub sponsor_transfer_timeout: Option<u32>,
-	#[serde(alias="sponsorApproveTimeout")]
+	#[serde(alias = "sponsorApproveTimeout")]
 	pub sponsor_approve_timeout: Option<u32>,
-	#[serde(alias="ownerCanTransfer")]
+	#[serde(alias = "ownerCanTransfer")]
 	pub owner_can_transfer: Option<bool>,
-	#[serde(alias="ownerCanDestroy")]
+	#[serde(alias = "ownerCanDestroy")]
 	pub owner_can_destroy: Option<bool>,
-	#[serde(alias="transfersEnabled")]
+	#[serde(alias = "transfersEnabled")]
 	pub transfers_enabled: Option<bool>,
 }
 
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -975,7 +975,7 @@
 	pub const HelpersContractAddress: H160 = H160([
 		0x84, 0x28, 0x99, 0xec, 0xf3, 0x80, 0x55, 0x3e, 0x8a, 0x4d, 0xe7, 0x5b, 0xf5, 0x34, 0xcd, 0xf6, 0xfb, 0xf6, 0x40, 0x49,
 	]);
-	
+
 	// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f
 	pub const EvmCollectionAddress: H160 = H160([
 		0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,
modifiedtests/src/eth/createCollection.test.tsdiffbeforeafterboth
--- a/tests/src/eth/createCollection.test.ts
+++ b/tests/src/eth/createCollection.test.ts
@@ -101,7 +101,7 @@
     expect(collection.constOnChainSchema.toHuman()).to.be.eq(constShema);
   });
 
-  itWeb3.only('Set limits', async ({api, web3}) => {
+  itWeb3('Set limits', async ({api, web3}) => {
     const owner = await createEthAccountWithBalance(api, web3);
     const helper = collectionHelper(web3, owner);
     const result = await helper.methods.create721Collection('Const collection', '4', '4').send();