difftreelog
CORE-302 Clean code
in: master
7 files changed
pallets/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;
pallets/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,
pallets/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> {}
}
pallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth1// 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}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}primitives/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>,
}
runtime/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,
tests/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();