From a34e1676a28d4322d449b34c2e0f493417268f6a Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Thu, 1 Sep 2022 08:28:18 +0200 Subject: [PATCH 01/15] Code style fixes --- node/src/chain_spec.rs | 20 ++++++++++---------- rustfmt.toml | 3 ++- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index 575617255..f15c3fdce 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -107,16 +107,16 @@ fn udon_testnet_config_genesis() -> GenesisConfig { ] .into(); - let enclave_developement_account: AccountId = hex![ - "90ea3ff124ecd5732b9e95a85f6bf17258e735be5dd950351f4269956de0b976" - ] - .into(); - let orderbook_test_main_account: AccountId = hex! [ - "6e9fb6f4db2e7efcb189ae75b98705976bf10a419edbce4b9a6a7a065826b82c" - ].into(); - testnet_genesis(initial_authorities, vec![], - Some(vec![enclave_developement_account, orderbook_test_main_account]), - root_key) + let enclave_developement_account: AccountId = + hex!["90ea3ff124ecd5732b9e95a85f6bf17258e735be5dd950351f4269956de0b976"].into(); + let orderbook_test_main_account: AccountId = + hex!["6e9fb6f4db2e7efcb189ae75b98705976bf10a419edbce4b9a6a7a065826b82c"].into(); + testnet_genesis( + initial_authorities, + vec![], + Some(vec![enclave_developement_account, orderbook_test_main_account]), + root_key, + ) } /// Staging testnet config. diff --git a/rustfmt.toml b/rustfmt.toml index f4d7ad637..410673ca6 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -2,6 +2,7 @@ hard_tabs = true max_width = 100 use_small_heuristics = "Max" +edition = "2021" # Imports imports_granularity = "Crate" reorder_imports = true @@ -20,4 +21,4 @@ match_arm_blocks = false match_block_trailing_comma = true trailing_comma = "Vertical" trailing_semicolon = false -use_field_init_shorthand = true \ No newline at end of file +use_field_init_shorthand = true From c79a0c66779656063b5993c50d989658aaf3b233 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Thu, 1 Sep 2022 08:29:20 +0200 Subject: [PATCH 02/15] Added fmt check in CI --- .github/workflows/build-ci.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index a24af53a1..49cee6d70 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -19,6 +19,19 @@ jobs: key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Install toolchain run: ./scripts/init.sh + - name: Add fmt + # v1.5.0 includes fixes of closures formatting + run: | + cd .. + git clone --depth 1 https://github.com/rust-lang/rustfmt + cd rustfmt + git fetch --tags + git checkout v1.5.0 + export CFG_RELEASE=nightly + export CFG_RELEASE_CHANNEL=nightly + cargo clean -p rustfmt-nightly + cargo install --path . --force + cd ../Polkadex - name: Build Project run: | cargo clean From beafb3b88fd79b280c473cb63c6013f0d1c2dba6 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Thu, 1 Sep 2022 08:32:10 +0200 Subject: [PATCH 03/15] Added fmt check action task --- .github/workflows/build-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 49cee6d70..f5da5d21d 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -37,6 +37,8 @@ jobs: cargo clean # cargo build --release --features runtime-benchmarks cargo build + - name: Check Formatting + run: cargo fmt --check - name: Test Project run: cargo test - name: Run Cargo Trampulin From b8a41b0d30156e6759a048ba376971e4b242515a Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sat, 3 Sep 2022 10:23:10 +0200 Subject: [PATCH 04/15] Added wasm toolchain to ci --- .github/workflows/build-ci.yml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index f5da5d21d..f1503d9b4 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -12,13 +12,17 @@ jobs: - name: Cache Rust Dependecies uses: actions/cache@v2 with: - path: | - ~/.cargo/registry - ~/.cargo/git - target - key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - - name: Install toolchain - run: ./scripts/init.sh + path: | + ~/.cargo/registry + ~/.cargo/git + target + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + - name: Add wasm toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + target: wasm32-unknown-unknown + override: true - name: Add fmt # v1.5.0 includes fixes of closures formatting run: | @@ -34,9 +38,9 @@ jobs: cd ../Polkadex - name: Build Project run: | - cargo clean - # cargo build --release --features runtime-benchmarks - cargo build + cargo clean + # cargo build --release --features runtime-benchmarks + cargo build - name: Check Formatting run: cargo fmt --check - name: Test Project From 59315226edc2fccfb732c996bd99572f6e56ea17 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sat, 3 Sep 2022 22:55:46 +0200 Subject: [PATCH 05/15] Code style fixes --- Cargo.toml | 2 -- client/Cargo.toml | 2 +- node/Cargo.toml | 2 -- pallets/ocex/common/Cargo.toml | 2 +- pallets/ocex/rpc/Cargo.toml | 2 +- pallets/ocex/rpc/runtime-api/Cargo.toml | 2 +- pallets/ocex/src/lib.rs | 7 ++++--- pallets/polkadex-ido/common/Cargo.toml | 2 +- pallets/polkadex-ido/rpc/Cargo.toml | 2 +- pallets/polkadex-ido/src/lib.rs | 6 +++--- pallets/test-token-provider/Cargo.toml | 1 - pallets/test-token-provider/src/lib.rs | 2 +- runtime/Cargo.toml | 4 +--- 13 files changed, 15 insertions(+), 21 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b7e2c6766..f127bbb12 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,5 @@ members = [ "pallets/test-token-provider" ] - [patch."https://github.com/open-web3-stack/open-runtime-module-library.git"] orml-vesting = { git = "https://github.com/Polkadex-Substrate/open-runtime-module-library.git", branch="polkadot-v0.9.28"} - diff --git a/client/Cargo.toml b/client/Cargo.toml index 101945ea7..5a0351582 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -8,4 +8,4 @@ edition = "2021" [dependencies] sc-executor = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.28" } node-polkadex-runtime = { path = "../runtime", version = "3.0.0" } -frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.28" } \ No newline at end of file +frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.28" } diff --git a/node/Cargo.toml b/node/Cargo.toml index 71215fa97..c09da0d51 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -100,8 +100,6 @@ sp-trie = { git = "https://github.com/paritytech/substrate", branch = "polkadot- frame-try-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.28", optional = true } try-runtime-cli = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.28", optional = true } - - [dev-dependencies] futures = "0.3.9" tempfile = "3.1.0" diff --git a/pallets/ocex/common/Cargo.toml b/pallets/ocex/common/Cargo.toml index 1b61b56b8..5c46bf05e 100644 --- a/pallets/ocex/common/Cargo.toml +++ b/pallets/ocex/common/Cargo.toml @@ -23,4 +23,4 @@ std = [ "sp-runtime/std", "sp-std/std", "serde", -] \ No newline at end of file +] diff --git a/pallets/ocex/rpc/Cargo.toml b/pallets/ocex/rpc/Cargo.toml index 91599dfb4..7ba4fcfb1 100644 --- a/pallets/ocex/rpc/Cargo.toml +++ b/pallets/ocex/rpc/Cargo.toml @@ -15,4 +15,4 @@ sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.28", default-features = false } pallet-ocex-primitives = {path = "../common", default-features = false} pallet-ocex-runtime-api = {path = "runtime-api" } -polkadex-primitives = { default-features = false, branch = "polkadot-v0.9.28", git = "https://github.com/Polkadex-Substrate/polkadex-primitives.git" } \ No newline at end of file +polkadex-primitives = { default-features = false, branch = "polkadot-v0.9.28", git = "https://github.com/Polkadex-Substrate/polkadex-primitives.git" } diff --git a/pallets/ocex/rpc/runtime-api/Cargo.toml b/pallets/ocex/rpc/runtime-api/Cargo.toml index 17e7d81e0..9cc168673 100644 --- a/pallets/ocex/rpc/runtime-api/Cargo.toml +++ b/pallets/ocex/rpc/runtime-api/Cargo.toml @@ -22,4 +22,4 @@ std = [ "sp-std/std", "sp-runtime/std", "pallet-ocex-primitives/std" -] \ No newline at end of file +] diff --git a/pallets/ocex/src/lib.rs b/pallets/ocex/src/lib.rs index 6ec51c1b3..7d33079cd 100644 --- a/pallets/ocex/src/lib.rs +++ b/pallets/ocex/src/lib.rs @@ -578,7 +578,7 @@ pub mod pallet { /// In order to register itself - enclave must send it's own report to this extrinsic #[pallet::weight(::WeightInfo::register_enclave())] pub fn register_enclave(origin: OriginFor, ias_report: Vec) -> DispatchResult { - let relayer = ensure_signed(origin)?; + let _ = ensure_signed(origin)?; let report = verify_ias_report(&ias_report) .map_err(|_| >::RemoteAttestationVerificationFailed)?; @@ -602,7 +602,8 @@ pub mod pallet { impl Pallet { // clean-up function - should be called on each block - fn unregister_timed_out_enclaves() { + // TODO: Commented out for testing. Should be restored before mainnet launch + /*fn unregister_timed_out_enclaves() { use sp_runtime::traits::CheckedSub; let mut enclave_to_remove = sp_std::vec![]; let iter = >::iter(); @@ -617,7 +618,7 @@ pub mod pallet { >::remove(enclave); } Self::deposit_event(Event::EnclaveCleanup(enclave_to_remove)); - } + }*/ } /// Events are a simple means of reporting specific conditions and diff --git a/pallets/polkadex-ido/common/Cargo.toml b/pallets/polkadex-ido/common/Cargo.toml index 53cda4971..0b6aa1220 100644 --- a/pallets/polkadex-ido/common/Cargo.toml +++ b/pallets/polkadex-ido/common/Cargo.toml @@ -24,4 +24,4 @@ std = [ "sp-runtime/std", "sp-std/std", "serde", -] \ No newline at end of file +] diff --git a/pallets/polkadex-ido/rpc/Cargo.toml b/pallets/polkadex-ido/rpc/Cargo.toml index 50ba80610..4ab028163 100644 --- a/pallets/polkadex-ido/rpc/Cargo.toml +++ b/pallets/polkadex-ido/rpc/Cargo.toml @@ -17,4 +17,4 @@ sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.28", default-features = false } pallet-polkadex-ido-primitives = {path = "../common", default-features = false} polkadex-ido-runtime-api = {path = "runtime-api" } -polkadex-primitives = { default-features = false, branch = "polkadot-v0.9.28", git = "https://github.com/Polkadex-Substrate/polkadex-primitives.git" } \ No newline at end of file +polkadex-primitives = { default-features = false, branch = "polkadot-v0.9.28", git = "https://github.com/Polkadex-Substrate/polkadex-primitives.git" } diff --git a/pallets/polkadex-ido/src/lib.rs b/pallets/polkadex-ido/src/lib.rs index 84c94d377..32329338d 100644 --- a/pallets/polkadex-ido/src/lib.rs +++ b/pallets/polkadex-ido/src/lib.rs @@ -69,7 +69,7 @@ //! - `attest_investor` - Attests the investor to take part in the IDO pallet. #![cfg_attr(not(feature = "std"), no_std)] -// Clippy warning diabled for to many arguments on line#157 +// Clippy warning disabled for to many arguments on line#157 #![allow(clippy::too_many_arguments)] #![allow(clippy::unused_unit)] @@ -628,7 +628,7 @@ pub mod pallet { // Mint random token if user selects none: TODO: Remove in production, only for beta // testes - ///TODO check if an old or new token again here and only mint the new + // TODO: check if an old or new token again here and only mint the new let vesting_period: u32 = (amount / vesting_per_block).saturated_into(); let vesting_period: T::BlockNumber = vesting_period.saturated_into(); let vesting_end_block: T::BlockNumber = @@ -848,7 +848,7 @@ pub mod pallet { // Max and Min allocation must be in token A to avoid the investor for under investing // or over investing - ///TODO make sure we have unit test for both paths. + // TODO: make sure we have unit test for both paths. let amount_in_token_a = if T::OnePDEX::get().saturated_into::>() >= funding_round.token_a_priceper_token_b { diff --git a/pallets/test-token-provider/Cargo.toml b/pallets/test-token-provider/Cargo.toml index 4d1169443..ca56e81d1 100644 --- a/pallets/test-token-provider/Cargo.toml +++ b/pallets/test-token-provider/Cargo.toml @@ -33,7 +33,6 @@ polkadex-primitives = { default-features = false, branch = "polkadot-v0.9.28", g sp-keystore = {default-features = false, optional=false,branch = "polkadot-v0.9.28",git = 'https://github.com/paritytech/substrate' } sp-application-crypto = {default-features = false, branch="polkadot-v0.9.28", git = 'https://github.com/paritytech/substrate'} - [features] default = ['std'] std = [ diff --git a/pallets/test-token-provider/src/lib.rs b/pallets/test-token-provider/src/lib.rs index 4293e6f8f..cde50552e 100644 --- a/pallets/test-token-provider/src/lib.rs +++ b/pallets/test-token-provider/src/lib.rs @@ -98,7 +98,7 @@ pub mod pallet { // Need to create Block treshold let current_block_no: T::BlockNumber = >::block_number(); let valid_tx = |account: &T::AccountId, asset_id: u128| { - let mut last_block_number: T::BlockNumber; + let last_block_number: T::BlockNumber; if let Some(block) = Self::fetch_block_number(&account, asset_id) { last_block_number = block; } else { diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 3be0a4684..0861a9094 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -118,7 +118,6 @@ substrate-wasm-builder = { git = "https://github.com/paritytech/substrate", bran sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.28", default-features = false } pallet-society = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.28"} - [features] default = ["std"] std = [ @@ -221,7 +220,6 @@ runtime-benchmarks = [ #"pdex-migration/runtime-benchmarks" ] - try-runtime = [ "frame-executive/try-runtime", "frame-try-runtime", @@ -254,4 +252,4 @@ try-runtime = [ "orml-vesting/try-runtime", "pdex-migration/try-runtime", "test-token-provider/try-runtime" -] \ No newline at end of file +] From f8af204051c4318076d08855c8f9b4a9d74c2f2f Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sat, 3 Sep 2022 22:58:34 +0200 Subject: [PATCH 06/15] Handled unhandled result --- pallets/test-token-provider/src/lib.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pallets/test-token-provider/src/lib.rs b/pallets/test-token-provider/src/lib.rs index cde50552e..83e0f078e 100644 --- a/pallets/test-token-provider/src/lib.rs +++ b/pallets/test-token-provider/src/lib.rs @@ -166,7 +166,7 @@ pub mod pallet { if asset == Assets::Unknown { return Err(Error::::NotAllowed.into()) } - Self::transfer_assets(&account, asset_id as u128); + Self::transfer_assets(&account, asset_id as u128)?; Self::deposit_event(Event::AccountCredited(account)); // Code here to mint tokens @@ -237,7 +237,7 @@ pub mod pallet { MODULE_ID.into_account_truncating() } - pub fn transfer_assets(account: &T::AccountId, asset_id: u128) { + pub fn transfer_assets(account: &T::AccountId, asset_id: u128) -> DispatchResult { if let Err(_e) = T::AssetManager::mint_into(asset_id, &account, 1000000000000000) { // Handling Unknown Asset by creating the Asset T::AssetManager::create( @@ -245,9 +245,9 @@ pub mod pallet { Self::account_id(), true, BalanceOf::::one().unique_saturated_into(), - ); + )?; // Minting Test Ether into the Account - T::AssetManager::mint_into(asset_id, &account, 1000000000000000); + T::AssetManager::mint_into(asset_id, &account, 1000000000000000)?; } match asset_id { 1_u128 => { @@ -268,7 +268,9 @@ pub mod pallet { _ => { // Do nothing }, - } + }; + + Ok(()) } pub fn fetch_block_number(account: &T::AccountId, asset: u128) -> Option { match asset { From 3c4d94acb493a9e841146cc9e00a21728e0a3120 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sat, 3 Sep 2022 22:59:35 +0200 Subject: [PATCH 07/15] Usage of deprecated method replaced with correct one --- pallets/polkadex-ido/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pallets/polkadex-ido/src/lib.rs b/pallets/polkadex-ido/src/lib.rs index 32329338d..20b101957 100644 --- a/pallets/polkadex-ido/src/lib.rs +++ b/pallets/polkadex-ido/src/lib.rs @@ -429,7 +429,7 @@ pub mod pallet { }; // Calculate investors share - let investor_share = Perquintill::from_rational_approximation( + let investor_share = Perquintill::from_rational( amount.saturated_into::(), total_raise.saturated_into::(), ); From e6c074eadb2f15cca39d485a46b0434b544b3903 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sat, 3 Sep 2022 23:00:14 +0200 Subject: [PATCH 08/15] Removed unused imports --- node/src/rpc.rs | 1 - pallets/ocex/common/src/lib.rs | 1 - pallets/ocex/rpc/runtime-api/src/lib.rs | 4 +-- pallets/ocex/rpc/src/lib.rs | 10 +++---- pallets/ocex/src/lib.rs | 4 +-- .../polkadex-ido/rpc/runtime-api/src/lib.rs | 1 - pallets/polkadex-ido/rpc/src/lib.rs | 1 - pallets/polkadex-ido/src/lib.rs | 26 +++++-------------- runtime/src/lib.rs | 3 --- 9 files changed, 12 insertions(+), 39 deletions(-) diff --git a/node/src/rpc.rs b/node/src/rpc.rs index 82d89f439..205b39bce 100644 --- a/node/src/rpc.rs +++ b/node/src/rpc.rs @@ -116,7 +116,6 @@ where B::State: sc_client_api::backend::StateBackend>, // C::Api: polkadex_ido_rpc::PolkadexIdoRuntimeApi, { - use pallet_ocex_rpc::{PolkadexOcexRpc, PolkadexOcexRpcApiServer}; use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; use sc_consensus_babe_rpc::{Babe, BabeApiServer}; use sc_finality_grandpa_rpc::{Grandpa, GrandpaApiServer}; diff --git a/pallets/ocex/common/src/lib.rs b/pallets/ocex/common/src/lib.rs index e4c519dd6..328bdacfb 100644 --- a/pallets/ocex/common/src/lib.rs +++ b/pallets/ocex/common/src/lib.rs @@ -4,7 +4,6 @@ use polkadex_primitives::assets::AssetId; pub use polkadex_primitives::{AccountId, Balance, BlockNumber, Hash}; #[cfg(feature = "std")] use serde::{Deserialize, Deserializer, Serialize, Serializer}; -use sp_std::vec::Vec; #[cfg_attr(feature = "std", derive(Serialize, Deserialize))] #[derive(Encode, Decode, Clone, PartialEq, Eq, Debug)] diff --git a/pallets/ocex/rpc/runtime-api/src/lib.rs b/pallets/ocex/rpc/runtime-api/src/lib.rs index 0babbff23..0182e6fbf 100644 --- a/pallets/ocex/rpc/runtime-api/src/lib.rs +++ b/pallets/ocex/rpc/runtime-api/src/lib.rs @@ -17,10 +17,8 @@ // along with this program. If not, see . #![cfg_attr(not(feature = "std"), no_std)] -use codec::{Codec, Decode}; +use codec::Codec; use pallet_ocex_primitives::WithdrawalWithPrimitives; -use polkadex_primitives::{assets::AssetId, withdrawal::Withdrawal, Balance}; -use sp_runtime::traits::Zero; use sp_std::vec::Vec; sp_api::decl_runtime_apis! { pub trait PolkadexOcexRuntimeApi where AccountId: Codec, Hash : Codec{ diff --git a/pallets/ocex/rpc/src/lib.rs b/pallets/ocex/rpc/src/lib.rs index d220f6724..386897c19 100644 --- a/pallets/ocex/rpc/src/lib.rs +++ b/pallets/ocex/rpc/src/lib.rs @@ -4,17 +4,13 @@ use codec::Codec; use jsonrpsee::{ core::{async_trait, Error as JsonRpseeError, RpcResult}, proc_macros::rpc, - types::error::{CallError, ErrorCode, ErrorObject}, + types::error::{CallError, ErrorObject}, }; use pallet_ocex_primitives::WithdrawalWithPrimitives; pub use pallet_ocex_runtime_api::PolkadexOcexRuntimeApi; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_rpc::number::NumberOrHex; -use sp_runtime::{ - generic::BlockId, - traits::{Block as BlockT, Header as HeaderT}, -}; +use sp_runtime::{generic::BlockId, traits::Block as BlockT}; const RUNTIME_ERROR: i32 = 1; @@ -32,7 +28,7 @@ pub trait PolkadexOcexRpcApi { pub struct PolkadexOcexRpc { client: Arc, - _marker: std::marker::PhantomData, + _marker: PhantomData, } impl PolkadexOcexRpc { diff --git a/pallets/ocex/src/lib.rs b/pallets/ocex/src/lib.rs index 7d33079cd..c5c8d0c1d 100644 --- a/pallets/ocex/src/lib.rs +++ b/pallets/ocex/src/lib.rs @@ -23,9 +23,7 @@ use frame_support::{ }; use frame_system::ensure_signed; -use pallet_ocex_primitives::{StringAssetId, WithdrawalWithPrimitives}; use polkadex_primitives::{assets::AssetId, OnChainEventsLimit}; -use sp_runtime::SaturatedConversion; use pallet_timestamp::{self as timestamp}; use sp_runtime::traits::{AccountIdConversion, UniqueSaturatedInto}; @@ -72,7 +70,7 @@ pub mod pallet { ocex::{AccountInfo, TradingPairConfig}, snapshot::{EnclaveSnapshot, Fees}, withdrawal::Withdrawal, - AccountId, AssetsLimit, ProxyLimit, SnapshotAccLimit, WithdrawalLimit, + AssetsLimit, ProxyLimit, SnapshotAccLimit, WithdrawalLimit, }; use sp_runtime::{ traits::{IdentifyAccount, Verify}, diff --git a/pallets/polkadex-ido/rpc/runtime-api/src/lib.rs b/pallets/polkadex-ido/rpc/runtime-api/src/lib.rs index cee25f21d..61d70895c 100644 --- a/pallets/polkadex-ido/rpc/runtime-api/src/lib.rs +++ b/pallets/polkadex-ido/rpc/runtime-api/src/lib.rs @@ -19,7 +19,6 @@ #![cfg_attr(not(feature = "std"), no_std)] use codec::Codec; use pallet_polkadex_ido_primitives::*; -use polkadex_primitives::assets::AssetId; use sp_std::vec::Vec; sp_api::decl_runtime_apis! { pub trait PolkadexIdoRuntimeApi where AccountId: Codec, Hash : Codec{ diff --git a/pallets/polkadex-ido/rpc/src/lib.rs b/pallets/polkadex-ido/rpc/src/lib.rs index 83fcde1e2..a0a21e7a2 100644 --- a/pallets/polkadex-ido/rpc/src/lib.rs +++ b/pallets/polkadex-ido/rpc/src/lib.rs @@ -21,7 +21,6 @@ use jsonrpc_core::{Error as RpcError, ErrorCode, Result}; use jsonrpc_derive::rpc; use pallet_polkadex_ido_primitives::{FundingRoundWithPrimitives, VoteStat}; pub use polkadex_ido_runtime_api::PolkadexIdoRuntimeApi; -use polkadex_primitives::assets::AssetId; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; use sp_runtime::{generic::BlockId, traits::Block as BlockT}; diff --git a/pallets/polkadex-ido/src/lib.rs b/pallets/polkadex-ido/src/lib.rs index 20b101957..4a2ff1f8f 100644 --- a/pallets/polkadex-ido/src/lib.rs +++ b/pallets/polkadex-ido/src/lib.rs @@ -73,25 +73,15 @@ #![allow(clippy::too_many_arguments)] #![allow(clippy::unused_unit)] -use frame_support::{ - dispatch::DispatchResult, - ensure, - pallet_prelude::*, - traits::{ - tokens::{ - fungible, - fungibles::{Create, Inspect, Mutate, Transfer, Unbalanced}, - }, - EnsureOrigin, Get, Randomness, WithdrawReasons, +use frame_support::traits::{ + tokens::{ + fungible, + fungibles::{Inspect, Transfer, Unbalanced}, }, - PalletId, + Get, Randomness, WithdrawReasons, }; -use frame_system as system; -use frame_system::ensure_signed; use rand::{Rng, SeedableRng}; use rand_chacha::ChaChaRng; -use scale_info::StaticTypeInfo; -use sp_core::H256; use sp_runtime::{ traits::{AccountIdConversion, Saturating, Zero}, Perbill, Perquintill, SaturatedConversion, @@ -130,14 +120,12 @@ pub mod pallet { traits::tokens::fungibles::{Create, Inspect, Mutate}, PalletId, }; - use frame_system::{offchain::CreateSignedTransaction, pallet_prelude::*}; - use sp_core::{H160, H256}; - use sp_runtime::traits::One; + use frame_system::pallet_prelude::*; + use sp_core::H256; use sp_std::prelude::*; use super::*; - use pallet_polkadex_ido_primitives::AccountId; use polkadex_primitives::assets::AssetId; /// The module configuration trait. diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index b731acae2..89235df06 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -89,9 +89,6 @@ use sp_version::NativeVersion; use sp_version::RuntimeVersion; use static_assertions::const_assert; -// use pallet_polkadex_ido_primitives::{FundingRoundWithPrimitives, VoteStat}; -use pallet_ocex_primitives::WithdrawalWithPrimitives; - use constants::{currency::*, time::*}; use frame_support::weights::{WeightToFeeCoefficients, WeightToFeePolynomial}; From 31b7ec390857a12f062914de53801033d82391a1 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sat, 3 Sep 2022 23:31:06 +0200 Subject: [PATCH 09/15] Added compiler flag to fail CI build on warnings --- .github/workflows/build-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index f1503d9b4..28a0b8aaa 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -40,7 +40,7 @@ jobs: run: | cargo clean # cargo build --release --features runtime-benchmarks - cargo build + RUSTFLAGS="-D warnings" cargo build - name: Check Formatting run: cargo fmt --check - name: Test Project From 6ea4d039943d7335111fe4d1e7dc4f10c244e139 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sun, 4 Sep 2022 20:59:09 +0200 Subject: [PATCH 10/15] Code style fixes (clippy) --- node/src/benchmarking.rs | 5 +- node/src/chain_spec.rs | 16 ++-- node/src/rpc.rs | 2 +- node/src/service.rs | 7 +- pallets/asset-handler/src/lib.rs | 12 +-- pallets/chainbridge/src/lib.rs | 2 +- pallets/ocex/common/src/lib.rs | 2 +- pallets/ocex/src/lib.rs | 79 ++++++++---------- pallets/ocex/src/weights.rs | 4 +- pallets/pdex-migration/src/lib.rs | 14 ++-- pallets/polkadex-ido/common/src/lib.rs | 2 +- pallets/polkadex-ido/src/lib.rs | 109 ++++++++++++------------- pallets/test-token-provider/src/lib.rs | 26 +++--- runtime/src/constants.rs | 4 +- runtime/src/lib.rs | 23 +++--- runtime/src/weights/pallet_babe.rs | 2 +- 16 files changed, 148 insertions(+), 161 deletions(-) diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index 69f2e5fc8..85545ce71 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -98,10 +98,7 @@ impl frame_benchmarking_cli::ExtrinsicBuilder for TransferKeepAliveBuilder { let extrinsic: OpaqueExtrinsic = create_extrinsic( self.client.as_ref(), acc, - BalancesCall::transfer_keep_alive { - dest: self.dest.clone().into(), - value: self.value.into(), - }, + BalancesCall::transfer_keep_alive { dest: self.dest.clone().into(), value: self.value }, Some(nonce), ) .into(); diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index f15c3fdce..ee7aa91fa 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -68,24 +68,24 @@ fn udon_testnet_config_genesis() -> GenesisConfig { )> = vec![]; for idx in 1..4 { let babe = sp_core::sr25519::Pair::from_string( - &*(seed.to_owned() + idx.to_string().as_str() + "//babe"), + &(seed.to_owned() + idx.to_string().as_str() + "//babe"), None, ) .unwrap(); let imon = sp_core::sr25519::Pair::from_string( - &*(seed.to_owned() + idx.to_string().as_str() + "//imon"), + &(seed.to_owned() + idx.to_string().as_str() + "//imon"), None, ) .unwrap(); let audi = sp_core::sr25519::Pair::from_string( - &*(seed.to_owned() + idx.to_string().as_str() + "//audi"), + &(seed.to_owned() + idx.to_string().as_str() + "//audi"), None, ) .unwrap(); // Granpda uses ed25519 cryptography let gran = sp_core::ed25519::Pair::from_string( - &*(seed.to_owned() + idx.to_string().as_str() + "//grandpa"), + &(seed.to_owned() + idx.to_string().as_str() + "//grandpa"), None, ) .unwrap(); @@ -325,7 +325,7 @@ pub fn testnet_genesis( const ERC20_PDEX_SUPPLY: u128 = 3_172_895 * PDEX; // Total funds in treasury also includes 2_000_000 PDEX for parachain auctions let mut treasury_funds: u128 = 10_200_000 * PDEX; - treasury_funds = treasury_funds - + treasury_funds -= adjust_treasury_balance_for_initial_validators(initial_authorities.len(), ENDOWMENT); // Treasury Account Id @@ -352,7 +352,7 @@ pub fn testnet_genesis( let mut total_claims: u128 = 0; for (_, balance) in &claims { - total_claims = total_claims + balance; + total_claims += balance; } assert_eq!(total_claims, 6_627_105 * PDEX, "Total claims is configured correctly"); @@ -363,7 +363,7 @@ pub fn testnet_genesis( let mut total_supply: u128 = 0; for (_, balance) in &endowed_accounts { - total_supply = total_supply + balance.clone() + total_supply += *balance } if development_accounts.is_none() { @@ -416,7 +416,7 @@ pub fn testnet_genesis( phantom: Default::default(), }, democracy: Default::default(), - sudo: SudoConfig { key: Some(root_key.clone()) }, + sudo: SudoConfig { key: Some(root_key) }, babe: BabeConfig { authorities: Default::default(), epoch_config: Some(node_polkadex_runtime::BABE_GENESIS_EPOCH_CONFIG), diff --git a/node/src/rpc.rs b/node/src/rpc.rs index 205b39bce..f9db6df89 100644 --- a/node/src/rpc.rs +++ b/node/src/rpc.rs @@ -166,7 +166,7 @@ where )?; // io.merge(StateMigration::new(client.clone(), backend, deny_unsafe).into_rpc())?; - io.merge(Dev::new(client.clone(), deny_unsafe).into_rpc())?; + io.merge(Dev::new(client, deny_unsafe).into_rpc())?; // TODO: Upgrade IDO RPC to match latest commit // io.merge(polkadex_ido_rpc::PolkadexIdoRpcApi::to_delegate( // polkadex_ido_rpc::PolkadexIdoRpc::new(client), diff --git a/node/src/service.rs b/node/src/service.rs index 653630fa2..cfd1a5ba9 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -112,14 +112,15 @@ pub fn create_extrinsic( let signature = raw_payload.using_encoded(|e| sender.sign(e)); node_polkadex_runtime::UncheckedExtrinsic::new_signed( - function.clone(), + function, sp_runtime::AccountId32::from(sender.public()).into(), - node_polkadex_runtime::Signature::Sr25519(signature.clone()), - extra.clone(), + node_polkadex_runtime::Signature::Sr25519(signature), + extra, ) } use sc_network_common::service::NetworkEventStream; +#[allow(clippy::type_complexity)] pub fn new_partial( config: &Configuration, ) -> Result< diff --git a/pallets/asset-handler/src/lib.rs b/pallets/asset-handler/src/lib.rs index a6d417532..15e0a6a5e 100644 --- a/pallets/asset-handler/src/lib.rs +++ b/pallets/asset-handler/src/lib.rs @@ -62,7 +62,7 @@ pub mod pallet { pub recipient: H160, } - #[derive(Clone, Copy, PartialEq, Encode, Decode)] + #[derive(Clone, Copy, PartialEq, Eq, Encode, Decode)] pub struct WithdrawalLimit; impl Get for WithdrawalLimit { fn get() -> u32 { @@ -176,12 +176,14 @@ pub mod pallet { if !withdrawal_execution_block.is_zero() { let pending_withdrawals = >::get(withdrawal_execution_block); for withdrawal in pending_withdrawals { - if let Err(_) = chainbridge::Pallet::::transfer_fungible( + if chainbridge::Pallet::::transfer_fungible( withdrawal.chain_id, withdrawal.rid, withdrawal.recipient.0.to_vec(), Self::convert_balance_to_eth_type(withdrawal.amount), - ) { + ) + .is_err() + { Self::deposit_event(Event::::FungibleTransferFailed); } } @@ -243,8 +245,8 @@ pub mod pallet { chainbridge::Pallet::::account_id() == sender, Error::::MinterMustBeRelayer ); - let amount = Self::convert_18dec_to_12dec(amount) - .ok_or_else(|| Error::::DivisionUnderflow)?; + let amount = + Self::convert_18dec_to_12dec(amount).ok_or(Error::::DivisionUnderflow)?; T::AssetManager::mint_into( Self::convert_asset_id(rid), &destination_acc, diff --git a/pallets/chainbridge/src/lib.rs b/pallets/chainbridge/src/lib.rs index 5639d9bdc..a0078b124 100644 --- a/pallets/chainbridge/src/lib.rs +++ b/pallets/chainbridge/src/lib.rs @@ -484,7 +484,7 @@ pub mod pallet { ensure!(id != T::BridgeChainId::get(), Error::::InvalidChainId); // Cannot whitelist with an existing entry ensure!(!Self::chain_whitelisted(id), Error::::ChainAlreadyWhitelisted); - ChainNonces::::insert(&id, 0); + ChainNonces::::insert(id, 0); Self::deposit_event(Event::ChainWhitelisted(id)); Ok(()) } diff --git a/pallets/ocex/common/src/lib.rs b/pallets/ocex/common/src/lib.rs index 328bdacfb..cdaf9d5e6 100644 --- a/pallets/ocex/common/src/lib.rs +++ b/pallets/ocex/common/src/lib.rs @@ -30,7 +30,7 @@ impl From for StringAssetId { fn from(asset: AssetId) -> Self { match asset { AssetId::polkadex => StringAssetId::POLKADEX, - AssetId::asset(num) => StringAssetId::Asset(num.into()), + AssetId::asset(num) => StringAssetId::Asset(num), } } } diff --git a/pallets/ocex/src/lib.rs b/pallets/ocex/src/lib.rs index c5c8d0c1d..b42108637 100644 --- a/pallets/ocex/src/lib.rs +++ b/pallets/ocex/src/lib.rs @@ -50,6 +50,7 @@ type BalanceOf = // Definition of the pallet logic, to be aggregated at runtime definition through // `construct_runtime`. +#[allow(clippy::too_many_arguments)] #[frame_support::pallet] pub mod pallet { // Import various types used to declare pallet in scope. @@ -77,7 +78,15 @@ pub mod pallet { SaturatedConversion, }; use sp_std::vec::Vec; - // use polkadex_primitives::SnapshotAccLimit; + + type WithdrawalsMap = BoundedBTreeMap< + ::AccountId, + BoundedVec< + Withdrawal<::AccountId, BalanceOf>, + WithdrawalLimit, + >, + SnapshotAccLimit, + >; /// Our pallet's configuration trait. All our types and constants go in here. If the /// pallet is dependent on specific other pallets, then their configuration traits @@ -274,13 +283,10 @@ pub mod pallet { ) -> DispatchResult { T::GovernanceOrigin::ensure_origin(origin)?; ensure!(base != quote, Error::::BothAssetsCannotBeSame); - ensure!( - >::contains_key(&base, "e), - Error::::TradingPairNotFound - ); + ensure!(>::contains_key(base, quote), Error::::TradingPairNotFound); - if let Some(trading_pair) = >::get(&base, "e) { - >::mutate(&base, "e, |status| *status = false); + if let Some(trading_pair) = >::get(base, quote) { + >::mutate(base, quote, |status| *status = false); >::mutate(|ingress_messages| { ingress_messages.push( polkadex_primitives::ingress::IngressMessages::CloseTradingPair( @@ -302,13 +308,10 @@ pub mod pallet { ) -> DispatchResult { T::GovernanceOrigin::ensure_origin(origin)?; ensure!(base != quote, Error::::BothAssetsCannotBeSame); - ensure!( - >::contains_key(&base, "e), - Error::::TradingPairNotFound - ); + ensure!(>::contains_key(base, quote), Error::::TradingPairNotFound); - if let Some(trading_pair) = >::get(&base, "e) { - >::mutate(&base, "e, |status| *status = true); + if let Some(trading_pair) = >::get(base, quote) { + >::mutate(base, quote, |status| *status = true); >::mutate(|ingress_messages| { ingress_messages.push( polkadex_primitives::ingress::IngressMessages::OpenTradingPair( @@ -337,11 +340,11 @@ pub mod pallet { T::GovernanceOrigin::ensure_origin(origin)?; ensure!(base != quote, Error::::BothAssetsCannotBeSame); ensure!( - !>::contains_key(&base, "e), + !>::contains_key(base, quote), Error::::TradingPairAlreadyRegistered ); ensure!( - !>::contains_key("e, &base), + !>::contains_key(quote, base), Error::::TradingPairAlreadyRegistered ); @@ -356,8 +359,8 @@ pub mod pallet { max_qty: max_order_qty, qty_step_size, }; - >::insert(&base, "e, trading_pair_info.clone()); - >::insert(&base, "e, true); + >::insert(base, quote, trading_pair_info.clone()); + >::insert(base, quote, true); >::mutate(|ingress_messages| { ingress_messages.push( polkadex_primitives::ingress::IngressMessages::OpenTradingPair( @@ -483,7 +486,7 @@ pub mod pallet { T::GovernanceOrigin::ensure_origin(origin)?; >::insert( encalve, - T::Moment::from(T::MsPerDay::get() * T::Moment::from(10000u32)), + T::MsPerDay::get() * T::Moment::from(10000u32), ); Ok(()) } @@ -534,11 +537,7 @@ pub mod pallet { // This is to build services that can enable free withdrawals similar to CEXes. let sender = ensure_signed(origin)?; - let mut withdrawals: BoundedBTreeMap< - T::AccountId, - BoundedVec>, WithdrawalLimit>, - SnapshotAccLimit, - > = >::get(snapshot_id); + let mut withdrawals: WithdrawalsMap = >::get(snapshot_id); ensure!(withdrawals.contains_key(&sender), Error::::InvalidWithdrawalIndex); if let Some(withdrawal_vector) = withdrawals.get(&sender) { for x in withdrawal_vector.iter() { @@ -551,7 +550,7 @@ pub mod pallet { } Self::deposit_event(Event::WithdrawalClaimed { main: sender.clone(), - withdrawals: withdrawal_vector.clone().to_owned(), + withdrawals: withdrawal_vector.clone(), }); ensure!( >::mutate(|onchain_events| { @@ -559,7 +558,7 @@ pub mod pallet { polkadex_primitives::ocex::OnChainEvents::OrderBookWithdrawalClaimed( snapshot_id, sender.clone(), - withdrawal_vector.clone().to_owned(), + withdrawal_vector.clone(), ), )?; Ok::<(), ()>(()) @@ -695,16 +694,19 @@ pub mod pallet { pub(super) type TradingPairsStatus = StorageDoubleMap<_, Blake2_128Concat, AssetId, Blake2_128Concat, AssetId, bool, ValueQuery>; + type EnclaveSnapshotType = EnclaveSnapshot< + ::AccountId, + BalanceOf, + WithdrawalLimit, + AssetsLimit, + SnapshotAccLimit, + >; + // Snapshots Storage #[pallet::storage] #[pallet::getter(fn snapshots)] - pub(super) type Snapshots = StorageMap< - _, - Blake2_128Concat, - u32, - EnclaveSnapshot, WithdrawalLimit, AssetsLimit, SnapshotAccLimit>, - OptionQuery, - >; + pub(super) type Snapshots = + StorageMap<_, Blake2_128Concat, u32, EnclaveSnapshotType, OptionQuery>; // Snapshots Nonce #[pallet::storage] @@ -730,17 +732,8 @@ pub mod pallet { // Withdrawals mapped by their trading pairs and snapshot numbers #[pallet::storage] #[pallet::getter(fn withdrawals)] - pub(super) type Withdrawals = StorageMap< - _, - Blake2_128Concat, - u32, - BoundedBTreeMap< - T::AccountId, - BoundedVec>, WithdrawalLimit>, - SnapshotAccLimit, - >, - ValueQuery, - >; + pub(super) type Withdrawals = + StorageMap<_, Blake2_128Concat, u32, WithdrawalsMap, ValueQuery>; // Queue for enclave ingress messages #[pallet::storage] diff --git a/pallets/ocex/src/weights.rs b/pallets/ocex/src/weights.rs index a22329e50..02f9eac87 100644 --- a/pallets/ocex/src/weights.rs +++ b/pallets/ocex/src/weights.rs @@ -85,7 +85,7 @@ impl WeightInfo for SubstrateWeight { } fn deposit() -> Weight { - (9_086_00 as Weight) + (908_600 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -130,7 +130,7 @@ impl WeightInfo for () { } fn deposit() -> Weight { - (9_086_00 as Weight) + (908_600 as Weight) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } diff --git a/pallets/pdex-migration/src/lib.rs b/pallets/pdex-migration/src/lib.rs index 513b6f8d7..c73ab253f 100644 --- a/pallets/pdex-migration/src/lib.rs +++ b/pallets/pdex-migration/src/lib.rs @@ -118,7 +118,7 @@ pub mod pallet { fn default() -> Self { Self { operational: false, - max_tokens: 3_172_895u128.saturating_mul(1000_000_000_000u128).saturated_into(), + max_tokens: 3_172_895u128.saturating_mul(1_000_000_000_000_u128).saturated_into(), } } } @@ -255,7 +255,7 @@ pub mod pallet { pallet_balances::Pallet::::burn_from(&beneficiary, amount_to_burn)?; // Increment total mintable tokens let mut mintable_tokens = MintableTokens::::get(); - mintable_tokens = mintable_tokens + amount_to_burn; + mintable_tokens += amount_to_burn; MintableTokens::::put(mintable_tokens); // Deposit event Self::deposit_event(Event::RevertedMintedTokens(beneficiary)); @@ -273,7 +273,7 @@ pub mod pallet { if relayer_status { let mut mintable_tokens = Self::mintable_tokens(); if amount <= mintable_tokens { - burn_details.approvals = burn_details.approvals + 1; + burn_details.approvals += 1; ensure!( burn_details.approvers.try_push(relayer.clone()).is_ok(), Error::RelayerLimitReached @@ -298,17 +298,17 @@ pub mod pallet { frame_system::Pallet::::current_block_number(); LockedTokenHolders::::insert(beneficiary.clone(), current_blocknumber); // Reduce possible mintable tokens - mintable_tokens = mintable_tokens - amount; + mintable_tokens -= amount; // Set reduced mintable tokens MintableTokens::::put(mintable_tokens); - EthTxns::::insert(ð_hash, burn_details); + EthTxns::::insert(eth_hash, burn_details); Self::deposit_event(Event::NativePDEXMintedAndLocked( relayer, beneficiary, amount, )); } else { - EthTxns::::insert(ð_hash, burn_details); + EthTxns::::insert(eth_hash, burn_details); Self::deposit_event(Event::TokenBurnDetected(eth_hash, relayer)); } Ok(()) @@ -346,7 +346,7 @@ pub mod pallet { prev_locked_amount = lock.amount; } } - return prev_locked_amount + prev_locked_amount } } } diff --git a/pallets/polkadex-ido/common/src/lib.rs b/pallets/polkadex-ido/common/src/lib.rs index bdedad167..108deb696 100644 --- a/pallets/polkadex-ido/common/src/lib.rs +++ b/pallets/polkadex-ido/common/src/lib.rs @@ -97,7 +97,7 @@ impl From for StringAssetId { fn from(asset: AssetId) -> Self { match asset { AssetId::polkadex => StringAssetId::POLKADEX, - AssetId::asset(num) => StringAssetId::Asset(num.into()), + AssetId::asset(num) => StringAssetId::Asset(num), } } } diff --git a/pallets/polkadex-ido/src/lib.rs b/pallets/polkadex-ido/src/lib.rs index 4a2ff1f8f..8a319dfcc 100644 --- a/pallets/polkadex-ido/src/lib.rs +++ b/pallets/polkadex-ido/src/lib.rs @@ -370,7 +370,7 @@ pub mod pallet { // Clean up WhiteListInvestors and InterestedParticipants in all expired rounds for (round_id, funding_round) in >::iter() { if block_number >= funding_round.vote_end_block { - let voting = >::get(&round_id); + let voting = >::get(round_id); let yes: BalanceOf = voting .ayes .iter() @@ -382,10 +382,10 @@ pub mod pallet { .map(|a| a.votes) .fold(Zero::zero(), |sum, vote| sum.saturating_add(vote)); if yes > no { - >::insert(round_id.clone(), funding_round); - >::remove(&round_id); + >::insert(round_id, funding_round); + >::remove(round_id); } else { - >::remove(&round_id); + >::remove(round_id); Self::deposit_event(Event::CleanedupExpiredRound(round_id)); } } @@ -421,7 +421,7 @@ pub mod pallet { amount.saturated_into::(), total_raise.saturated_into::(), ); - let round_account_id = Self::round_account_id(round_id.clone()); + let round_account_id = Self::round_account_id(round_id); match Self::transfer( funding_round.token_b, @@ -451,11 +451,11 @@ pub mod pallet { }, } } - >::insert(round_id.clone(), funding_round); + >::insert(round_id, funding_round); >::insert(round_id, true); } } - return call_weight + call_weight } } @@ -484,7 +484,7 @@ pub mod pallet { let investor_info = InvestorInfo { kyc_status: KYCStatus::Tier0, lock_data: Some(data) }; - >::insert(who.clone(), investor_info.clone()); + >::insert(who.clone(), investor_info); Self::deposit_event(Event::InvestorRegistered(who.clone())); Self::deposit_event(Event::InvestorLockFunds(who, amount, unlocking_block)); Ok(()) @@ -512,7 +512,7 @@ pub mod pallet { ); T::Currency::unreserve(&who, lock_data.amount); investor_info.lock_data = None; - >::insert(who.clone(), investor_info.clone()); + >::insert(who.clone(), investor_info); Self::deposit_event(Event::InvestorUnLockFunds(who, lock_data.amount)); Ok(()) } @@ -586,7 +586,7 @@ pub mod pallet { }; ensure!(token_a.ne(&token_b), >::TokenAEqTokenB); - let start_block = vote_end_block.clone().saturating_add(1_u128.saturated_into()); + let start_block = vote_end_block.saturating_add(1_u128.saturated_into()); let close_round_block = vote_end_block.saturating_add(funding_period); // Ensures that let token_a_priceper_token_b_perquintill = Perbill::from_rational( @@ -641,7 +641,7 @@ pub mod pallet { &(Self::get_wallet_account(), current_block_no, team.clone(), Self::incr_nonce()) .encode(), ); - let round_account_id = Self::round_account_id(round_id.clone()); + let round_account_id = Self::round_account_id(round_id); //Charge minimum 1 PDEX required to create an account for the round account id T::Currency::transfer( @@ -655,11 +655,11 @@ pub mod pallet { // This ensure that the creator has the tokens they are raising funds for if mintnew { - match token_a.clone() { + match token_a { AssetId::asset(token_a) => { - T::AssetManager::create(token_a.into(), team.clone(), true, 1)?; + T::AssetManager::create(token_a, team.clone(), true, 1)?; T::AssetManager::mint_into( - token_a.into(), + token_a, &round_account_id, amount.saturated_into(), )?; @@ -692,11 +692,11 @@ pub mod pallet { ) -> DispatchResult { let team: T::AccountId = ensure_signed(origin)?; ensure!( - !>::contains_key(&round_id), + !>::contains_key(round_id), Error::::FundingRoundNotApproved ); ensure!( - >::contains_key(&round_id), + >::contains_key(round_id), Error::::FundingRoundDoesNotExist ); let funding_round = >::get(round_id) @@ -730,11 +730,11 @@ pub mod pallet { >::InvestorDoesNotExist ); ensure!( - !>::contains_key(&round_id), + !>::contains_key(round_id), Error::::FundingRoundNotApproved ); ensure!( - >::contains_key(&round_id.clone()), + >::contains_key(round_id), Error::::FundingRoundDoesNotExist ); let current_block_no = >::block_number(); @@ -745,7 +745,7 @@ pub mod pallet { Error::::WithdrawalBlocked ); // Investor can only withdraw after the funding round is closed - let round_account_id = Self::round_account_id(round_id.clone()); + let round_account_id = Self::round_account_id(round_id); let investor_share = >::get(round_id, investor_address.clone()); // ensure the claiming block number falls with in the vesting period let claim_block: T::BlockNumber = @@ -763,9 +763,9 @@ pub mod pallet { .saturated_into(); //Check if investor previously claimed the tokens - let claimed_tokens = if >::contains_key(&round_id, &investor_address) + let claimed_tokens = if >::contains_key(round_id, &investor_address) { - >::get(&round_id, &investor_address) + >::get(round_id, &investor_address) } else { Zero::zero() }; @@ -809,15 +809,15 @@ pub mod pallet { >::InvestorDoesNotExist ); ensure!( - !>::contains_key(&round_id), + !>::contains_key(round_id), Error::::FundingRoundNotApproved ); ensure!( - >::contains_key(&round_id), + >::contains_key(round_id), Error::::FundingRoundDoesNotExist ); ensure!( - !>::contains_key(&round_id, &investor_address), + !>::contains_key(round_id, &investor_address), Error::::InvestorAlreadyShownInterest ); let funding_round = >::get(round_id) @@ -859,7 +859,7 @@ pub mod pallet { ); let mut interested_participants_amounts = - InterestedParticipantsAmounts::::get(&round_id); + InterestedParticipantsAmounts::::get(round_id); let total_potential_raise: BalanceOf = interested_participants_amounts .iter() .map(|(amount, investor)| *amount * (investor.len() as u128).saturated_into()) @@ -869,7 +869,7 @@ pub mod pallet { if total_potential_raise >= funding_round.amount { return Err(>::NotAllowed.into()) } - >::insert(round_id, investor_address.clone(), amount.clone()); + >::insert(round_id, investor_address.clone(), amount); let participants = interested_participants_amounts.entry(amount).or_insert(BTreeSet::new()); participants.insert(investor_address.clone()); @@ -899,11 +899,11 @@ pub mod pallet { >::InvestorDoesNotExist ); ensure!( - !>::contains_key(&round_id), + !>::contains_key(round_id), Error::::FundingRoundNotApproved ); ensure!( - >::contains_key(&round_id), + >::contains_key(round_id), Error::::FundingRoundDoesNotExist ); let funding_round = >::get(round_id) @@ -913,7 +913,7 @@ pub mod pallet { current_block_no >= funding_round.close_round_block, Error::::WithdrawalBlocked ); - let round_account_id = Self::round_account_id(round_id.clone()); + let round_account_id = Self::round_account_id(round_id); ensure!( Self::transfer( funding_round.token_b, @@ -948,13 +948,13 @@ pub mod pallet { ensure!(!amount.is_zero(), Error::::VoteCannotBeZero); let who: T::AccountId = ensure_signed(origin)?; ensure!( - >::contains_key(&round_id), + >::contains_key(round_id), Error::::FundingRoundDoesNotExist ); - let funding_round = >::get(&round_id) - .ok_or(Error::::FundingRoundDoesNotExist)?; + let funding_round = + >::get(round_id).ok_or(Error::::FundingRoundDoesNotExist)?; ensure!(current_block_no < funding_round.vote_end_block, Error::::VotingEnded); - let mut voting = >::get(&round_id); + let mut voting = >::get(round_id); let position_yes = voting.ayes.iter().position(|a| a.account_id == who); let position_no = voting.nays.iter().position(|a| a.account_id == who); @@ -968,8 +968,7 @@ pub mod pallet { account_id: who.clone(), votes: max(amount, amount.saturating_mul(vote_multiplier.saturated_into())), }; - let vote_cast = - VoteCast { amount: amount.clone(), unlocking_block, voter_account: who.clone() }; + let vote_cast = VoteCast { amount, unlocking_block, voter_account: who }; >::mutate(|reserve| { reserve.push(vote_cast); }); @@ -1026,17 +1025,17 @@ pub mod pallet { pub fn approve_ido_round(origin: OriginFor, round_id: T::Hash) -> DispatchResult { T::GovernanceOrigin::ensure_origin(origin)?; ensure!( - !>::contains_key(&round_id), + !>::contains_key(round_id), >::RoundAlreadyApproved ); ensure!( - >::contains_key(&round_id), + >::contains_key(round_id), >::FundingRoundDoesNotExist ); - let funding_round = >::get(&round_id) - .ok_or(Error::::FundingRoundDoesNotExist)?; - >::insert(round_id.clone(), funding_round); - >::remove(&round_id); + let funding_round = + >::get(round_id).ok_or(Error::::FundingRoundDoesNotExist)?; + >::insert(round_id, funding_round); + >::remove(round_id); Ok(()) } @@ -1060,11 +1059,11 @@ pub mod pallet { >::InvestorDoesNotExist ); ensure!( - !>::contains_key(&round_id), + !>::contains_key(round_id), Error::::FundingRoundNotApproved ); ensure!( - >::contains_key(&round_id), + >::contains_key(round_id), Error::::FundingRoundDoesNotExist ); let funding_round = >::get(round_id) @@ -1088,7 +1087,7 @@ pub mod pallet { Error::::WithdrawalBlocked ); ensure!(remaining_token > Zero::zero(), Error::::WithdrawalBlocked); - let round_account_id = Self::round_account_id(round_id.clone()); + let round_account_id = Self::round_account_id(round_id); //Transfers to remaining token back to creator after round. Self::transfer( funding_round.token_a, @@ -1397,11 +1396,8 @@ impl Pallet { if investor != account { None } else { - if let Some(round_info) = >::get(&round_id) { - Some((round_id, round_info.to_primitive())) - } else { - None - } + >::get(round_id) + .map(|round_info| (round_id, round_info.to_primitive())) } }) .collect() @@ -1465,7 +1461,7 @@ impl Pallet { /// # Paramteres /// * `round_id` : Account id pub fn votes_stat(round_id: T::Hash) -> VoteStat { - match >::try_get(&round_id) { + match >::try_get(round_id) { Ok(voting) => { let yes: BalanceOf = voting .ayes @@ -1508,7 +1504,7 @@ impl Pallet { AssetId::polkadex => T::Currency::transfer(from, to, amount, ExistenceRequirement::KeepAlive), AssetId::asset(token_id) => - T::AssetManager::transfer(token_id, &from, &to, amount.saturated_into(), false) + T::AssetManager::transfer(token_id, from, to, amount.saturated_into(), false) .map(|_| ()), } } @@ -1533,13 +1529,10 @@ impl Pallet { new_balance.saturated_into(), ) }, - AssetId::asset(token_id) => T::AssetManager::can_withdraw( - token_id.into(), - from_account, - amount.saturated_into(), - ) - .into_result() - .map(|_| ()), + AssetId::asset(token_id) => + T::AssetManager::can_withdraw(token_id, from_account, amount.saturated_into()) + .into_result() + .map(|_| ()), } } diff --git a/pallets/test-token-provider/src/lib.rs b/pallets/test-token-provider/src/lib.rs index 83e0f078e..298933808 100644 --- a/pallets/test-token-provider/src/lib.rs +++ b/pallets/test-token-provider/src/lib.rs @@ -99,7 +99,7 @@ pub mod pallet { let current_block_no: T::BlockNumber = >::block_number(); let valid_tx = |account: &T::AccountId, asset_id: u128| { let last_block_number: T::BlockNumber; - if let Some(block) = Self::fetch_block_number(&account, asset_id) { + if let Some(block) = Self::fetch_block_number(account, asset_id) { last_block_number = block; } else { return TransactionValidity::Err(TransactionValidityError::Invalid( @@ -142,9 +142,9 @@ pub mod pallet { }; match call { Call::credit_account_with_tokens_unsigned { account, asset_id } => - valid_tx(&account, *asset_id as u128), + valid_tx(account, *asset_id as u128), Call::credit_account_with_native_tokens_unsigned { account } => - valid_native_tx(&account), + valid_native_tx(account), _ => InvalidTransaction::Call.into(), } } @@ -158,8 +158,8 @@ pub mod pallet { account: T::AccountId, asset_id: u16, ) -> DispatchResultWithPostInfo { - let _ = ensure_none(origin)?; - if asset_id < 1 || asset_id > 5 { + ensure_none(origin)?; + if !(1..=5).contains(&asset_id) { return Err(Error::::NotAllowed.into()) } let asset: Assets = Assets::from_u8(asset_id as u8); @@ -178,7 +178,7 @@ pub mod pallet { origin: OriginFor, account: T::AccountId, ) -> DispatchResultWithPostInfo { - let _ = ensure_none(origin)?; + ensure_none(origin)?; NativeTokenMap::::insert(&account, >::block_number()); //Mint account with free tokens T::Currency::deposit_creating(&account, T::TokenAmount::get()); @@ -238,7 +238,7 @@ pub mod pallet { } pub fn transfer_assets(account: &T::AccountId, asset_id: u128) -> DispatchResult { - if let Err(_e) = T::AssetManager::mint_into(asset_id, &account, 1000000000000000) { + if let Err(_e) = T::AssetManager::mint_into(asset_id, account, 1000000000000000) { // Handling Unknown Asset by creating the Asset T::AssetManager::create( asset_id, @@ -247,23 +247,23 @@ pub mod pallet { BalanceOf::::one().unique_saturated_into(), )?; // Minting Test Ether into the Account - T::AssetManager::mint_into(asset_id, &account, 1000000000000000)?; + T::AssetManager::mint_into(asset_id, account, 1000000000000000)?; } match asset_id { 1_u128 => { - TokenDot::::insert(&account, >::block_number()); + TokenDot::::insert(account, >::block_number()); }, 2_u128 => { - TokenEth::::insert(&account, >::block_number()); + TokenEth::::insert(account, >::block_number()); }, 3_u128 => { - TokenBTC::::insert(&account, >::block_number()); + TokenBTC::::insert(account, >::block_number()); }, 4_u128 => { - TokenDoge::::insert(&account, >::block_number()); + TokenDoge::::insert(account, >::block_number()); }, 5_u128 => { - TokenBNB::::insert(&account, >::block_number()); + TokenBNB::::insert(account, >::block_number()); }, _ => { // Do nothing diff --git a/runtime/src/constants.rs b/runtime/src/constants.rs index bf1ee0798..e51f59a93 100644 --- a/runtime/src/constants.rs +++ b/runtime/src/constants.rs @@ -21,9 +21,9 @@ pub mod currency { use polkadex_primitives::Balance; - pub const PDEX: Balance = 1000_000_000_000; + pub const PDEX: Balance = 1_000_000_000_000; pub const UNITS: Balance = PDEX; - pub const DOLLARS: Balance = PDEX; // 1000_000_000_000 + pub const DOLLARS: Balance = PDEX; // 1_000_000_000_000 pub const CENTS: Balance = DOLLARS / 100; // 10_000_000_000 pub const MILLICENTS: Balance = CENTS / 1_000; // 1000_000_000 diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 89235df06..11314114d 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -273,6 +273,7 @@ use sp_npos_elections::ExtendedBalance; MaxEncodedLen, TypeInfo, )] +#[allow(clippy::unnecessary_cast)] pub enum ProxyType { Any = 0, NonTransfer = 1, @@ -354,9 +355,9 @@ impl pallet_scheduler::Config for Runtime { parameter_types! { pub const PreimageMaxSize: u32 = 4096 * 1024; - pub const PreimageBaseDeposit: Balance = 1 * DOLLARS; + pub const PreimageBaseDeposit: Balance = DOLLARS; // One cent: PDEX 10,000 / MB - pub const PreimageByteDeposit: Balance = 1 * CENTS; + pub const PreimageByteDeposit: Balance = CENTS; } impl pallet_preimage::Config for Runtime { @@ -667,7 +668,7 @@ impl Get> for OffchainRandomBalancing { use sp_runtime::traits::TrailingZeroInput; let iters = match MINER_MAX_ITERATIONS { 0 => 0, - max @ _ => { + max => { let seed = sp_io::offchain::random_seed(); let random = ::decode(&mut TrailingZeroInput::new(&seed)) .expect("input is padded with zeroes; qed") % @@ -817,7 +818,7 @@ impl pallet_collective::Config for Runtime { } parameter_types! { - pub const OrderbookMotionDuration: BlockNumber = 1 * DAYS; + pub const OrderbookMotionDuration: BlockNumber = DAYS; pub const OrderbookMaxProposals: u32 = 100; pub const OrderbookMaxMembers: u32 = 3; } @@ -862,11 +863,11 @@ parameter_types! { pub const ProposalBondMinimum: Balance = 100 * PDEX; pub const SpendPeriod: BlockNumber = 24 * DAYS; pub const Burn: Permill = Permill::from_percent(0); - pub const TipCountdown: BlockNumber = 1 * DAYS; + pub const TipCountdown: BlockNumber = DAYS; pub const TipFindersFee: Percent = Percent::from_percent(20); - pub const TipReportDepositBase: Balance = 1 * PDEX; - pub const DataDepositPerByte: Balance = 1 * CENTS; - pub const BountyDepositBase: Balance = 1 * PDEX; + pub const TipReportDepositBase: Balance = PDEX; + pub const DataDepositPerByte: Balance = CENTS; + pub const BountyDepositBase: Balance = PDEX; pub const BountyDepositPayoutDelay: BlockNumber = 8 * DAYS; pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); pub const BountyUpdatePeriod: BlockNumber = 90 * DAYS; @@ -875,7 +876,7 @@ parameter_types! { pub const BountyValueMinimum: Balance = 10 * PDEX; pub const MaxApprovals: u32 = 100; pub const MaxActiveChildBountyCount: u32 = 5; - pub const ChildBountyValueMinimum: Balance = 1 * PDEX; + pub const ChildBountyValueMinimum: Balance = PDEX; pub const CuratorDepositMax: Balance = 100 * PDEX; pub const CuratorDepositMin: Balance = 10 * PDEX; pub const ChildBountyCuratorDepositBase: Permill = Permill::from_percent(10); @@ -1130,10 +1131,10 @@ impl pallet_grandpa::Config for Runtime { } parameter_types! { pub const AssetDeposit: Balance = 100 * DOLLARS; - pub const ApprovalDeposit: Balance = 1 * DOLLARS; + pub const ApprovalDeposit: Balance = DOLLARS; pub const StringLimit: u32 = 50; pub const MetadataDepositBase: Balance = 10 * DOLLARS; - pub const MetadataDepositPerByte: Balance = 1 * DOLLARS; + pub const MetadataDepositPerByte: Balance = DOLLARS; } impl pallet_assets::Config for Runtime { diff --git a/runtime/src/weights/pallet_babe.rs b/runtime/src/weights/pallet_babe.rs index cd88a0cf1..fc09a6299 100644 --- a/runtime/src/weights/pallet_babe.rs +++ b/runtime/src/weights/pallet_babe.rs @@ -34,7 +34,7 @@ use sp_std::marker::PhantomData; pub struct WeightInfo(PhantomData); impl pallet_babe::WeightInfo for WeightInfo { fn plan_config_change() -> Weight { - (88_327_000 as Weight).saturating_add((10_000 as Weight)) + (88_327_000 as Weight).saturating_add(10_000 as Weight) } fn report_equivocation(x: u32, ) -> Weight { (88_327_000 as Weight) From bcc674deaf07255a3c10fa964aeab6e8dbf81114 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sun, 4 Sep 2022 20:59:32 +0200 Subject: [PATCH 11/15] Added CI clippy check --- .github/workflows/build-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 28a0b8aaa..ce45faf3c 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -27,7 +27,7 @@ jobs: # v1.5.0 includes fixes of closures formatting run: | cd .. - git clone --depth 1 https://github.com/rust-lang/rustfmt + git clone --depth 1 https://github.com/rust-lang/rustfmt cd rustfmt git fetch --tags git checkout v1.5.0 @@ -43,6 +43,8 @@ jobs: RUSTFLAGS="-D warnings" cargo build - name: Check Formatting run: cargo fmt --check + - name: Check Clippy + run: cargo +nightly clippy -- -D warnings - name: Test Project run: cargo test - name: Run Cargo Trampulin From 973f33da245a6aa5ef14ce7cfbaac56e071a6e2a Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sun, 4 Sep 2022 21:02:22 +0200 Subject: [PATCH 12/15] Updated branch name in CI --- .github/workflows/build-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index ce45faf3c..2b45792f5 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -1,9 +1,9 @@ name: Build-CI on: pull_request: - branches: [Develop, main] + branches: [Develop, main-net-runtime] push: - branches: [Develop, main] + branches: [Develop, main-net-runtime] jobs: build: runs-on: ubuntu-latest From 500719606a0b4b8a93e9026ba69e09bdd3922750 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sun, 4 Sep 2022 21:16:24 +0200 Subject: [PATCH 13/15] Activated and updated CI code coverage --- .github/workflows/build-ci.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 2b45792f5..8551f1766 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -48,16 +48,14 @@ jobs: - name: Test Project run: cargo test - name: Run Cargo Trampulin - if: github.event_name == 'push' uses: actions-rs/tarpaulin@v0.1 with: - version: '0.15.0' args: '--exclude polkadex-node node-polkadex-runtime polkadex-primitives --workspace' - name: Upload to codecov.io - if: github.event_name == 'push' - uses: codecov/codecov-action@v1.0.2 + uses: codecov/codecov-action@v3 with: token: ${{secrets.CODECOV_TOKEN}} + fail_ci_if_error: true - name: Archive code coverage results if: github.event_name == 'push' uses: actions/upload-artifact@v1 From 68c985640e74c2e14213ccbdb165970ac25f2a89 Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Sun, 4 Sep 2022 22:11:05 +0200 Subject: [PATCH 14/15] Installed clippy as a component in CI --- .github/workflows/build-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml index 8551f1766..5eaaf60df 100644 --- a/.github/workflows/build-ci.yml +++ b/.github/workflows/build-ci.yml @@ -44,7 +44,9 @@ jobs: - name: Check Formatting run: cargo fmt --check - name: Check Clippy - run: cargo +nightly clippy -- -D warnings + run: | + rustup component add clippy --toolchain=nightly + cargo +nightly clippy -- -D warnings - name: Test Project run: cargo test - name: Run Cargo Trampulin From 76709320eb2870990318b60056a06869d1ca383a Mon Sep 17 00:00:00 2001 From: Serhii Temchenko Date: Tue, 6 Sep 2022 04:43:30 +0200 Subject: [PATCH 15/15] Code style fixes --- pallets/asset-handler/src/lib.rs | 5 +++-- pallets/ocex/src/lib.rs | 20 ++++++++++---------- pallets/ocex/src/weights.rs | 4 ++-- pallets/pdex-migration/src/lib.rs | 2 +- pallets/polkadex-ido/src/lib.rs | 2 +- 5 files changed, 17 insertions(+), 16 deletions(-) diff --git a/pallets/asset-handler/src/lib.rs b/pallets/asset-handler/src/lib.rs index 15e0a6a5e..982d97640 100644 --- a/pallets/asset-handler/src/lib.rs +++ b/pallets/asset-handler/src/lib.rs @@ -231,6 +231,7 @@ pub mod pallet { /// * `destination_add`: Recipient's Account /// * `amount`: Amount to be minted in Recipient's Account /// * `rid`: Resource ID + #[allow(clippy::unnecessary_lazy_evaluations)] #[pallet::weight((195_000_000).saturating_add(T::DbWeight::get().writes(2 as Weight)))] pub fn mint_asset( origin: OriginFor, @@ -245,8 +246,8 @@ pub mod pallet { chainbridge::Pallet::::account_id() == sender, Error::::MinterMustBeRelayer ); - let amount = - Self::convert_18dec_to_12dec(amount).ok_or(Error::::DivisionUnderflow)?; + let amount = Self::convert_18dec_to_12dec(amount) + .ok_or_else(|| Error::::DivisionUnderflow)?; T::AssetManager::mint_into( Self::convert_asset_id(rid), &destination_acc, diff --git a/pallets/ocex/src/lib.rs b/pallets/ocex/src/lib.rs index b42108637..d9b20b132 100644 --- a/pallets/ocex/src/lib.rs +++ b/pallets/ocex/src/lib.rs @@ -88,6 +88,14 @@ pub mod pallet { SnapshotAccLimit, >; + type EnclaveSnapshotType = EnclaveSnapshot< + ::AccountId, + BalanceOf, + WithdrawalLimit, + AssetsLimit, + SnapshotAccLimit, + >; + /// Our pallet's configuration trait. All our types and constants go in here. If the /// pallet is dependent on specific other pallets, then their configuration traits /// should be added to our implied traits list. @@ -550,7 +558,7 @@ pub mod pallet { } Self::deposit_event(Event::WithdrawalClaimed { main: sender.clone(), - withdrawals: withdrawal_vector.clone(), + withdrawals: withdrawal_vector.to_owned(), }); ensure!( >::mutate(|onchain_events| { @@ -558,7 +566,7 @@ pub mod pallet { polkadex_primitives::ocex::OnChainEvents::OrderBookWithdrawalClaimed( snapshot_id, sender.clone(), - withdrawal_vector.clone(), + withdrawal_vector.to_owned(), ), )?; Ok::<(), ()>(()) @@ -694,14 +702,6 @@ pub mod pallet { pub(super) type TradingPairsStatus = StorageDoubleMap<_, Blake2_128Concat, AssetId, Blake2_128Concat, AssetId, bool, ValueQuery>; - type EnclaveSnapshotType = EnclaveSnapshot< - ::AccountId, - BalanceOf, - WithdrawalLimit, - AssetsLimit, - SnapshotAccLimit, - >; - // Snapshots Storage #[pallet::storage] #[pallet::getter(fn snapshots)] diff --git a/pallets/ocex/src/weights.rs b/pallets/ocex/src/weights.rs index 02f9eac87..1e1d24702 100644 --- a/pallets/ocex/src/weights.rs +++ b/pallets/ocex/src/weights.rs @@ -85,7 +85,7 @@ impl WeightInfo for SubstrateWeight { } fn deposit() -> Weight { - (908_600 as Weight) + (9_086_000 as Weight) .saturating_add(T::DbWeight::get().reads(3 as Weight)) .saturating_add(T::DbWeight::get().writes(1 as Weight)) } @@ -130,7 +130,7 @@ impl WeightInfo for () { } fn deposit() -> Weight { - (908_600 as Weight) + (9_086_000 as Weight) .saturating_add(RocksDbWeight::get().reads(3 as Weight)) .saturating_add(RocksDbWeight::get().writes(1 as Weight)) } diff --git a/pallets/pdex-migration/src/lib.rs b/pallets/pdex-migration/src/lib.rs index c73ab253f..ebeac557e 100644 --- a/pallets/pdex-migration/src/lib.rs +++ b/pallets/pdex-migration/src/lib.rs @@ -118,7 +118,7 @@ pub mod pallet { fn default() -> Self { Self { operational: false, - max_tokens: 3_172_895u128.saturating_mul(1_000_000_000_000_u128).saturated_into(), + max_tokens: 3_172_895u128.saturating_mul(1_000_000_000_000u128).saturated_into(), } } } diff --git a/pallets/polkadex-ido/src/lib.rs b/pallets/polkadex-ido/src/lib.rs index 8a319dfcc..6c5d04d70 100644 --- a/pallets/polkadex-ido/src/lib.rs +++ b/pallets/polkadex-ido/src/lib.rs @@ -586,7 +586,7 @@ pub mod pallet { }; ensure!(token_a.ne(&token_b), >::TokenAEqTokenB); - let start_block = vote_end_block.saturating_add(1_u128.saturated_into()); + let start_block = vote_end_block.saturating_add(1u128.saturated_into()); let close_round_block = vote_end_block.saturating_add(funding_period); // Ensures that let token_a_priceper_token_b_perquintill = Perbill::from_rational(