From 901767ce85428ef3215504d65eccce13d1dcd7a4 Mon Sep 17 00:00:00 2001 From: yooml Date: Tue, 20 Feb 2024 11:23:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=F0=9F=90=9B=20claim=5Freward=20weig?= =?UTF-8?q?ht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pallets/lend-market/src/lib.rs | 2 +- pallets/lend-market/src/weights.rs | 150 +++++++++++++++-------------- 2 files changed, 80 insertions(+), 72 deletions(-) diff --git a/pallets/lend-market/src/lib.rs b/pallets/lend-market/src/lib.rs index 6ae64323e..7ed4b5a26 100644 --- a/pallets/lend-market/src/lib.rs +++ b/pallets/lend-market/src/lib.rs @@ -785,7 +785,7 @@ pub mod pallet { /// Claim reward from all market. #[pallet::call_index(8)] - #[pallet::weight(T::WeightInfo::claim_reward())] + #[pallet::weight(T::WeightInfo::claim_reward(Markets::::iter_keys().count() as u32))] #[transactional] pub fn claim_reward(origin: OriginFor) -> DispatchResultWithPostInfo { let who = ensure_signed(origin)?; diff --git a/pallets/lend-market/src/weights.rs b/pallets/lend-market/src/weights.rs index 2c62a2570..5d8199da9 100644 --- a/pallets/lend-market/src/weights.rs +++ b/pallets/lend-market/src/weights.rs @@ -52,7 +52,7 @@ pub trait WeightInfo { fn force_update_market() -> Weight; fn add_reward() -> Weight; fn update_market_reward_speed() -> Weight; - fn claim_reward() -> Weight; + fn claim_reward(n: u32, ) -> Weight; fn claim_reward_for_market() -> Weight; fn mint() -> Weight; fn borrow() -> Weight; @@ -171,42 +171,46 @@ impl WeightInfo for BifrostWeight { .saturating_add(T::DbWeight::get().reads(6_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:3 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:0) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - fn claim_reward() -> Weight { + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:0) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:0) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:1 w:0) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 1]`. + fn claim_reward(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `3492` - // Estimated: `80995` - // Minimum execution time: 210_812_000 picoseconds. - Weight::from_parts(211_623_000, 80995) - .saturating_add(T::DbWeight::get().reads(17_u64)) - .saturating_add(T::DbWeight::get().writes(7_u64)) + // Measured: `1280` + // Estimated: `7220` + // Minimum execution time: 145_736_000 picoseconds. + Weight::from_parts(150_117_344, 0) + .saturating_add(Weight::from_parts(0, 7220)) + // Standard Error: 189_715 + .saturating_add(Weight::from_parts(273_055, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(16)) + .saturating_add(T::DbWeight::get().writes(7)) } /// Storage: Loans RewardSupplyState (r:1 w:1) /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) @@ -791,42 +795,46 @@ impl WeightInfo for () { .saturating_add(RocksDbWeight::get().reads(6_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:3 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:0) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - fn claim_reward() -> Weight { + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:0) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:0) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:1 w:0) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `n` is `[0, 1]`. + fn claim_reward(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `3492` - // Estimated: `80995` - // Minimum execution time: 210_812_000 picoseconds. - Weight::from_parts(211_623_000, 80995) - .saturating_add(RocksDbWeight::get().reads(17_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) + // Measured: `1280` + // Estimated: `7220` + // Minimum execution time: 145_736_000 picoseconds. + Weight::from_parts(150_117_344, 0) + .saturating_add(Weight::from_parts(0, 7220)) + // Standard Error: 189_715 + .saturating_add(Weight::from_parts(273_055, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(16)) + .saturating_add(RocksDbWeight::get().writes(7)) } /// Storage: Loans RewardSupplyState (r:1 w:1) /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) From 1e52a879041c67ae07bbeb6cd87e0278d61ac750 Mon Sep 17 00:00:00 2001 From: yooml Date: Sat, 2 Mar 2024 22:28:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=F0=9F=92=A1=20benchmark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pallets/lend-market/src/benchmarking.rs | 209 ++++++++++++------------ 1 file changed, 106 insertions(+), 103 deletions(-) diff --git a/pallets/lend-market/src/benchmarking.rs b/pallets/lend-market/src/benchmarking.rs index dfdff93b9..e926cb572 100644 --- a/pallets/lend-market/src/benchmarking.rs +++ b/pallets/lend-market/src/benchmarking.rs @@ -2,7 +2,7 @@ #![cfg(feature = "runtime-benchmarks")] pub use crate::{AccountBorrows, Pallet as LendMarket, *}; -use bifrost_primitives::{currency::PHA, Balance, CurrencyId, DOT, DOT_U, KSM, VKSM, VSKSM}; +use bifrost_primitives::{currency::BNC, Balance, CurrencyId, KSM, VKSM}; use frame_benchmarking::{account, benchmarks, impl_benchmark_test_suite, whitelisted_caller}; use frame_support::{ assert_ok, @@ -12,8 +12,8 @@ use frame_system::{self, RawOrigin as SystemOrigin}; use rate_model::{InterestRateModel, JumpModel}; use sp_std::prelude::*; -pub const LKSM: CurrencyId = CurrencyId::Token2(11); -pub const LUSDT: CurrencyId = CurrencyId::Token2(12); +pub const LEND_KSM: CurrencyId = CurrencyId::Lend(0); +pub const LEND_VKSM: CurrencyId = CurrencyId::Lend(1); const SEED: u32 = 0; const RATE_MODEL_MOCK: InterestRateModel = InterestRateModel::Jump(JumpModel { @@ -40,7 +40,7 @@ fn market_mock() -> Market> { liquidate_incentive_reserved_factor: Ratio::from_percent(3), supply_cap: 1_000_000_000_000_000_000_000u128, // set to 1B borrow_cap: 1_000_000_000_000_000_000_000u128, // set to 1B - lend_token_id: LKSM, + lend_token_id: LEND_KSM, } } @@ -65,16 +65,18 @@ fn transfer_initial_balance< 10_000_000_000_000_u128, ) .unwrap(); - ::Assets::mint_into(DOT_U, &caller, INITIAL_AMOUNT.into()).unwrap(); + pallet_balances::Pallet::::force_set_balance( + SystemOrigin::Root.into(), + T::Lookup::unlookup(caller.clone()), + 10_000_000_000_000_u128, + ) + .unwrap(); + ::Assets::mint_into(BNC, &caller, 10_000_000_000_000_u128).unwrap(); ::Assets::mint_into(KSM, &caller, INITIAL_AMOUNT.into()).unwrap(); ::Assets::mint_into(VKSM, &caller, INITIAL_AMOUNT.into()).unwrap(); - ::Assets::mint_into(DOT, &caller, INITIAL_AMOUNT.into()).unwrap(); - ::Assets::mint_into(PHA, &caller, INITIAL_AMOUNT.into()).unwrap(); - pallet_prices::Pallet::::set_price(SystemOrigin::Root.into(), DOT_U, 1.into()).unwrap(); + pallet_prices::Pallet::::set_price(SystemOrigin::Root.into(), BNC, 1.into()).unwrap(); pallet_prices::Pallet::::set_price(SystemOrigin::Root.into(), KSM, 1.into()).unwrap(); pallet_prices::Pallet::::set_price(SystemOrigin::Root.into(), VKSM, 1.into()).unwrap(); - pallet_prices::Pallet::::set_price(SystemOrigin::Root.into(), DOT, 1.into()).unwrap(); - pallet_prices::Pallet::::set_price(SystemOrigin::Root.into(), PHA, 1.into()).unwrap(); } fn set_account_borrows( @@ -99,33 +101,40 @@ fn assert_last_event(generic_event: ::RuntimeEvent) { benchmarks! { where_clause { where - T: pallet_prices::Config + pallet_balances::Config // pallet_assets::Config + + T: pallet_prices::Config + pallet_balances::Config } add_market { - }: _(SystemOrigin::Root, VKSM, pending_market_mock::(VSKSM)) + }: _(SystemOrigin::Root, VKSM, pending_market_mock::(LEND_KSM)) verify { - assert_last_event::(Event::::NewMarket(VKSM, pending_market_mock::(VSKSM)).into()); + assert_last_event::(Event::::NewMarket(VKSM, pending_market_mock::(LEND_KSM)).into()); } activate_market { - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), VKSM, pending_market_mock::(VSKSM))); + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), VKSM, pending_market_mock::(LEND_VKSM))); }: _(SystemOrigin::Root, VKSM) verify { assert_last_event::(Event::::ActivatedMarket(VKSM).into()); } update_rate_model { - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - }: _(SystemOrigin::Root, DOT_U, RATE_MODEL_MOCK) + let caller: T::AccountId = whitelisted_caller(); + transfer_initial_balance::(caller.clone()); + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + }: _(SystemOrigin::Root, KSM, RATE_MODEL_MOCK) verify { - let mut market = pending_market_mock::(LUSDT); + let mut market = pending_market_mock::(LEND_KSM); market.rate_model = RATE_MODEL_MOCK; - assert_last_event::(Event::::UpdatedMarket(DOT_U, market).into()); + assert_last_event::(Event::::UpdatedMarket(KSM, market).into()); } + add_reward { + let caller: AccountIdOf = account("caller", 2, 2); + transfer_initial_balance::(caller.clone()); + }: _(SystemOrigin::Signed(caller.clone()), 1_000_000_000_000_u128) + update_market { - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LKSM))); + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); }: _( SystemOrigin::Root, KSM, @@ -139,31 +148,23 @@ benchmarks! { Some(1_000_000_000_000_000_000_000u128) ) verify { - let mut market = pending_market_mock::(LKSM); + let mut market = pending_market_mock::(LEND_KSM); market.reserve_factor = Ratio::from_percent(50); market.close_factor = Ratio::from_percent(15); assert_last_event::(Event::::UpdatedMarket(KSM, market).into()); } force_update_market { - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - let caller: T::AccountId = whitelisted_caller(); - transfer_initial_balance::(caller.clone()); - }: _(SystemOrigin::Root,DOT_U, pending_market_mock::(LUSDT)) - verify { - assert_last_event::(Event::::UpdatedMarket(DOT_U, pending_market_mock::(LUSDT)).into()); - } - - add_reward { + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); let caller: T::AccountId = whitelisted_caller(); transfer_initial_balance::(caller.clone()); - }: _(SystemOrigin::Signed(caller.clone()), 1_000_000_000_000_u128) + }: _(SystemOrigin::Root, KSM, pending_market_mock::(LEND_KSM)) verify { - assert_last_event::(Event::::RewardAdded(caller, 1_000_000_000_000_u128).into()); + assert_last_event::(Event::::UpdatedMarket(KSM, pending_market_mock::(LEND_KSM)).into()); } withdraw_missing_reward { - let caller: T::AccountId = whitelisted_caller(); + let caller: AccountIdOf = account("caller", 2, 2); transfer_initial_balance::(caller.clone()); assert_ok!(LendMarket::::add_reward(SystemOrigin::Signed(caller.clone()).into(), 1_000_000_000_000_u128)); let receiver = T::Lookup::unlookup(caller.clone()); @@ -173,21 +174,23 @@ benchmarks! { } update_market_reward_speed { - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(DOT_U))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - }: _(SystemOrigin::Root, DOT_U, Some(1_000_000), Some(1_000_000)) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + }: _(SystemOrigin::Root, KSM, Some(1_000_000), Some(1_000_000)) verify { - assert_last_event::(Event::::MarketRewardSpeedUpdated(DOT_U, 1_000_000, 1_000_000).into()); + assert_last_event::(Event::::MarketRewardSpeedUpdated(KSM, 1_000_000, 1_000_000).into()); } claim_reward { - let caller: T::AccountId = whitelisted_caller(); + let n in 0 .. 1; + + let caller: AccountIdOf = account("caller", 2, 2); transfer_initial_balance::(caller.clone()); - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(DOT_U))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), DOT_U, 100_000_000)); + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, 100_000_000)); assert_ok!(LendMarket::::add_reward(SystemOrigin::Signed(caller.clone()).into(), 1_000_000_000_000_u128)); - assert_ok!(LendMarket::::update_market_reward_speed(SystemOrigin::Root.into(), DOT_U, Some(1_000_000), Some(1_000_000))); + assert_ok!(LendMarket::::update_market_reward_speed(SystemOrigin::Root.into(), KSM, Some(1_000_000), Some(1_000_000))); let target_height = frame_system::Pallet::::block_number().saturating_add(One::one()); frame_system::Pallet::::set_block_number(target_height); }: _(SystemOrigin::Signed(caller.clone())) @@ -196,30 +199,29 @@ benchmarks! { } claim_reward_for_market { - let caller: T::AccountId = whitelisted_caller(); + let caller: AccountIdOf = account("caller", 2, 2); transfer_initial_balance::(caller.clone()); - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(DOT_U))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), DOT_U, 100_000_000)); + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, 100_000_000)); assert_ok!(LendMarket::::add_reward(SystemOrigin::Signed(caller.clone()).into(), 1_000_000_000_000_u128)); - assert_ok!(LendMarket::::update_market_reward_speed(SystemOrigin::Root.into(), DOT_U, Some(1_000_000), Some(1_000_000))); + assert_ok!(LendMarket::::update_market_reward_speed(SystemOrigin::Root.into(), KSM, Some(1_000_000), Some(1_000_000))); let target_height = frame_system::Pallet::::block_number().saturating_add(One::one()); frame_system::Pallet::::set_block_number(target_height); - }: _(SystemOrigin::Signed(caller.clone()), DOT_U) + }: _(SystemOrigin::Signed(caller.clone()), KSM) verify { assert_last_event::(Event::::RewardPaid(caller, 1_000_000).into()); } - mint { let caller: T::AccountId = whitelisted_caller(); transfer_initial_balance::(caller.clone()); - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(DOT_U))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - let amount: u32 = 100_000; - }: _(SystemOrigin::Signed(caller.clone()), DOT_U, amount.into()) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + let amount: u32 = 100_000_000; + }: _(SystemOrigin::Signed(caller.clone()), KSM, amount.into()) verify { - assert_last_event::(Event::::Deposited(caller, DOT_U, amount.into()).into()); + assert_last_event::(Event::::Deposited(caller, KSM, amount.into()).into()); } borrow { @@ -227,13 +229,13 @@ benchmarks! { transfer_initial_balance::(caller.clone()); let deposit_amount: u32 = 200_000_000; let borrowed_amount: u32 = 100_000_000; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), DOT_U, deposit_amount.into())); - assert_ok!(LendMarket::::collateral_asset(SystemOrigin::Signed(caller.clone()).into(), DOT_U, true)); - }: _(SystemOrigin::Signed(caller.clone()), DOT_U, borrowed_amount.into()) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, deposit_amount.into())); + assert_ok!(LendMarket::::collateral_asset(SystemOrigin::Signed(caller.clone()).into(), KSM, true)); + }: _(SystemOrigin::Signed(caller.clone()), KSM, borrowed_amount.into()) verify { - assert_last_event::(Event::::Borrowed(caller, DOT_U, borrowed_amount.into()).into()); + assert_last_event::(Event::::Borrowed(caller, KSM, borrowed_amount.into()).into()); } redeem { @@ -241,24 +243,24 @@ benchmarks! { transfer_initial_balance::(caller.clone()); let deposit_amount: u32 = 100_000_000; let redeem_amount: u32 = 100_000; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), DOT_U, deposit_amount.into())); - }: _(SystemOrigin::Signed(caller.clone()), DOT_U, redeem_amount.into()) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, deposit_amount.into())); + }: _(SystemOrigin::Signed(caller.clone()), KSM, redeem_amount.into()) verify { - assert_last_event::(Event::::Redeemed(caller, DOT_U, redeem_amount.into()).into()); + assert_last_event::(Event::::Redeemed(caller, KSM, redeem_amount.into()).into()); } redeem_all { let caller: T::AccountId = whitelisted_caller(); transfer_initial_balance::(caller.clone()); let deposit_amount: u32 = 100_000_000; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), DOT_U, deposit_amount.into())); - }: _(SystemOrigin::Signed(caller.clone()), DOT_U) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, deposit_amount.into())); + }: _(SystemOrigin::Signed(caller.clone()), KSM) verify { - assert_last_event::(Event::::Redeemed(caller, DOT_U, deposit_amount.into()).into()); + assert_last_event::(Event::::Redeemed(caller, KSM, deposit_amount.into()).into()); } repay_borrow { @@ -267,14 +269,14 @@ benchmarks! { let deposit_amount: u32 = 200_000_000; let borrowed_amount: u32 = 100_000_000; let repay_amount: u32 = 100; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), DOT_U, deposit_amount.into())); - assert_ok!(LendMarket::::collateral_asset(SystemOrigin::Signed(caller.clone()).into(), DOT_U, true)); - assert_ok!(LendMarket::::borrow(SystemOrigin::Signed(caller.clone()).into(), DOT_U, borrowed_amount.into())); - }: _(SystemOrigin::Signed(caller.clone()), DOT_U, repay_amount.into()) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, deposit_amount.into())); + assert_ok!(LendMarket::::collateral_asset(SystemOrigin::Signed(caller.clone()).into(), KSM, true)); + assert_ok!(LendMarket::::borrow(SystemOrigin::Signed(caller.clone()).into(), KSM, borrowed_amount.into())); + }: _(SystemOrigin::Signed(caller.clone()), KSM, repay_amount.into()) verify { - assert_last_event::(Event::::RepaidBorrow(caller, DOT_U, repay_amount.into()).into()); + assert_last_event::(Event::::RepaidBorrow(caller, KSM, repay_amount.into()).into()); } repay_borrow_all { @@ -282,26 +284,26 @@ benchmarks! { transfer_initial_balance::(caller.clone()); let deposit_amount: u32 = 200_000_000; let borrowed_amount: u32 = 100_000_000; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), DOT_U, deposit_amount.into())); - assert_ok!(LendMarket::::collateral_asset(SystemOrigin::Signed(caller.clone()).into(), DOT_U, true)); - assert_ok!(LendMarket::::borrow(SystemOrigin::Signed(caller.clone()).into(), DOT_U, borrowed_amount.into())); - }: _(SystemOrigin::Signed(caller.clone()), DOT_U) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, deposit_amount.into())); + assert_ok!(LendMarket::::collateral_asset(SystemOrigin::Signed(caller.clone()).into(), KSM, true)); + assert_ok!(LendMarket::::borrow(SystemOrigin::Signed(caller.clone()).into(), KSM, borrowed_amount.into())); + }: _(SystemOrigin::Signed(caller.clone()), KSM) verify { - assert_last_event::(Event::::RepaidBorrow(caller, DOT_U, borrowed_amount.into()).into()); + assert_last_event::(Event::::RepaidBorrow(caller, KSM, borrowed_amount.into()).into()); } collateral_asset { let caller: T::AccountId = whitelisted_caller(); transfer_initial_balance::(caller.clone()); let deposit_amount: u32 = 200_000_000; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), DOT_U, deposit_amount.into())); - }: _(SystemOrigin::Signed(caller.clone()), DOT_U, true) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, deposit_amount.into())); + }: _(SystemOrigin::Signed(caller.clone()), KSM, true) verify { - assert_last_event::(Event::::CollateralAssetAdded(caller, DOT_U).into()); + assert_last_event::(Event::::CollateralAssetAdded(caller, KSM).into()); } liquidate_borrow { @@ -313,9 +315,9 @@ benchmarks! { let borrowed_amount: u32 = 200_000_000; let liquidate_amount: u32 = 100_000_000; let incentive_amount: u32 = 110_000_000; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), VKSM, pending_market_mock::(VSKSM))); + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), VKSM, pending_market_mock::(LEND_VKSM))); assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), VKSM)); - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LKSM))); + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); assert_ok!(LendMarket::::mint(SystemOrigin::Signed(bob.clone()).into(), KSM, deposit_amount.into())); assert_ok!(LendMarket::::mint(SystemOrigin::Signed(alice.clone()).into(), VKSM, deposit_amount.into())); @@ -330,33 +332,34 @@ benchmarks! { let caller: T::AccountId = whitelisted_caller(); let payer = T::Lookup::unlookup(caller.clone()); transfer_initial_balance::(caller.clone()); - let amount: u32 = 2000; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - }: _(SystemOrigin::Root, payer, DOT_U, amount.into()) + let amount: u32 = 100_000_000; + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + }: _(SystemOrigin::Root, payer, KSM, amount.into()) verify { - assert_last_event::(Event::::ReservesAdded(caller, DOT_U, amount.into(), amount.into()).into()); + assert_last_event::(Event::::ReservesAdded(caller, KSM, amount.into(), amount.into()).into()); } reduce_reserves { let caller: T::AccountId = whitelisted_caller(); let payer = T::Lookup::unlookup(caller.clone()); transfer_initial_balance::(caller.clone()); - let add_amount: u32 = 2000; + let add_amount: u32 = 100_000_000; let reduce_amount: u32 = 1000; - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), DOT_U, pending_market_mock::(LUSDT))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), DOT_U)); - assert_ok!(LendMarket::::add_reserves(SystemOrigin::Root.into(), payer.clone(), DOT_U, add_amount.into())); - }: _(SystemOrigin::Root, payer, DOT_U, reduce_amount.into()) + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + assert_ok!(LendMarket::::add_reserves(SystemOrigin::Root.into(), payer.clone(), KSM, add_amount.into())); + }: _(SystemOrigin::Root, payer, KSM, reduce_amount.into()) verify { - assert_last_event::(Event::::ReservesReduced(caller, DOT_U, reduce_amount.into(), (add_amount-reduce_amount).into()).into()); + assert_last_event::(Event::::ReservesReduced(caller, KSM, reduce_amount.into(), (add_amount-reduce_amount).into()).into()); } update_liquidation_free_collateral { + let n in 0 .. 1; - }: _(SystemOrigin::Root, vec![PHA]) + }: _(SystemOrigin::Root, vec![KSM]) verify { - assert_last_event::(Event::::LiquidationFreeCollateralsUpdated(vec![PHA]).into()); + assert_last_event::(Event::::LiquidationFreeCollateralsUpdated(vec![KSM]).into()); } } From 5367811ace20a115d5216bee05de6cd1dd2f16a7 Mon Sep 17 00:00:00 2001 From: yooml Date: Thu, 7 Mar 2024 13:25:34 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=F0=9F=90=9B=20weight?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pallets/lend-market/src/benchmarking.rs | 21 +- pallets/lend-market/src/lib.rs | 2 +- pallets/lend-market/src/weights.rs | 2016 +++++++++++------------ 3 files changed, 950 insertions(+), 1089 deletions(-) diff --git a/pallets/lend-market/src/benchmarking.rs b/pallets/lend-market/src/benchmarking.rs index e926cb572..7485b17a0 100644 --- a/pallets/lend-market/src/benchmarking.rs +++ b/pallets/lend-market/src/benchmarking.rs @@ -182,12 +182,17 @@ benchmarks! { } claim_reward { - let n in 0 .. 1; + let n in 1 .. 2; let caller: AccountIdOf = account("caller", 2, 2); transfer_initial_balance::(caller.clone()); - assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), KSM, pending_market_mock::(LEND_KSM))); - assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), KSM)); + let tokens = vec![(KSM, LEND_KSM),(VKSM, LEND_VKSM)]; + for i in 0..n { + if let Some((token1,token2)) = tokens.get(i as usize) { + assert_ok!(LendMarket::::add_market(SystemOrigin::Root.into(), *token1, pending_market_mock::(*token2))); + assert_ok!(LendMarket::::activate_market(SystemOrigin::Root.into(), *token1)); + } + } assert_ok!(LendMarket::::mint(SystemOrigin::Signed(caller.clone()).into(), KSM, 100_000_000)); assert_ok!(LendMarket::::add_reward(SystemOrigin::Signed(caller.clone()).into(), 1_000_000_000_000_u128)); assert_ok!(LendMarket::::update_market_reward_speed(SystemOrigin::Root.into(), KSM, Some(1_000_000), Some(1_000_000))); @@ -355,11 +360,15 @@ benchmarks! { } update_liquidation_free_collateral { - let n in 0 .. 1; + let n in 0 .. 10; - }: _(SystemOrigin::Root, vec![KSM]) + let mut vec = Vec::new(); + for i in 0..n { + vec.push(CurrencyId::Lend(i.try_into().unwrap())) + } + }: _(SystemOrigin::Root, vec.clone()) verify { - assert_last_event::(Event::::LiquidationFreeCollateralsUpdated(vec![KSM]).into()); + assert_last_event::(Event::::LiquidationFreeCollateralsUpdated(vec).into()); } } diff --git a/pallets/lend-market/src/lib.rs b/pallets/lend-market/src/lib.rs index 7ed4b5a26..b259100a0 100644 --- a/pallets/lend-market/src/lib.rs +++ b/pallets/lend-market/src/lib.rs @@ -1113,7 +1113,7 @@ pub mod pallet { /// /// The `assets` won't be counted when do general #[pallet::call_index(21)] - #[pallet::weight(T::WeightInfo::update_liquidation_free_collateral())] + #[pallet::weight(T::WeightInfo::update_liquidation_free_collateral(collaterals.len() as u32))] #[transactional] pub fn update_liquidation_free_collateral( origin: OriginFor, diff --git a/pallets/lend-market/src/weights.rs b/pallets/lend-market/src/weights.rs index 5d8199da9..c6bf7bee6 100644 --- a/pallets/lend-market/src/weights.rs +++ b/pallets/lend-market/src/weights.rs @@ -60,119 +60,173 @@ pub trait WeightInfo { fn redeem_all() -> Weight; fn repay_borrow() -> Weight; fn repay_borrow_all() -> Weight; - fn deposit_all_collateral() -> Weight; - fn withdraw_all_collateral() -> Weight; fn liquidate_borrow() -> Weight; - fn reduce_incentive_reserves() -> Weight; fn add_reserves() -> Weight; fn reduce_reserves() -> Weight; fn withdraw_missing_reward() -> Weight; fn collateral_asset() -> Weight; - fn update_liquidation_free_collateral() -> Weight; + fn update_liquidation_free_collateral(n: u32, ) -> Weight; } /// Weights for loans using the Substrate node and recommended hardware. pub struct BifrostWeight(PhantomData); impl WeightInfo for BifrostWeight { - /// Storage: Loans Markets (r:2 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:1) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans ExchangeRate (r:0 w:1) - /// Proof Skipped: Loans ExchangeRate (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:0 w:1) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::UnderlyingAssetId` (r:1 w:1) + /// Proof: `LendMarket::UnderlyingAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::ExchangeRate` (r:0 w:1) + /// Proof: `LendMarket::ExchangeRate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:0 w:1) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) fn add_market() -> Weight { // Proof Size summary in bytes: - // Measured: `1207` - // Estimated: `13955` - // Minimum execution time: 63_487_000 picoseconds. - Weight::from_parts(64_509_000, 13955) - .saturating_add(T::DbWeight::get().reads(4_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + // Measured: `109` + // Estimated: `6049` + // Minimum execution time: 29_526_000 picoseconds. + Weight::from_parts(29_946_000, 0) + .saturating_add(Weight::from_parts(0, 6049)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(4)) } - /// Storage: Loans Markets (r:1 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:1 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) fn activate_market() -> Weight { // Proof Size summary in bytes: - // Measured: `1504` - // Estimated: `3979` - // Minimum execution time: 38_988_000 picoseconds. - Weight::from_parts(39_729_000, 3979) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) + // Measured: `379` + // Estimated: `3844` + // Minimum execution time: 19_587_000 picoseconds. + Weight::from_parts(19_998_000, 0) + .saturating_add(Weight::from_parts(0, 3844)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: Loans Markets (r:1 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:1 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) fn update_rate_model() -> Weight { // Proof Size summary in bytes: - // Measured: `1504` - // Estimated: `3979` - // Minimum execution time: 39_930_000 picoseconds. - Weight::from_parts(40_290_000, 3979) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) + // Measured: `379` + // Estimated: `3844` + // Minimum execution time: 21_500_000 picoseconds. + Weight::from_parts(21_801_000, 0) + .saturating_add(Weight::from_parts(0, 3844)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn add_reward() -> Weight { + // Proof Size summary in bytes: + // Measured: `103` + // Estimated: `6196` + // Minimum execution time: 69_972_000 picoseconds. + Weight::from_parts(70_544_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } - /// Storage: Loans Markets (r:1 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:1 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) fn update_market() -> Weight { // Proof Size summary in bytes: - // Measured: `1504` - // Estimated: `3979` - // Minimum execution time: 42_776_000 picoseconds. - Weight::from_parts(43_437_000, 3979) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) + // Measured: `379` + // Estimated: `3844` + // Minimum execution time: 22_432_000 picoseconds. + Weight::from_parts(22_633_000, 0) + .saturating_add(Weight::from_parts(0, 3844)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: Loans UnderlyingAssetId (r:1 w:1) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans Markets (r:1 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::UnderlyingAssetId` (r:1 w:1) + /// Proof: `LendMarket::UnderlyingAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::Markets` (r:1 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) fn force_update_market() -> Weight { // Proof Size summary in bytes: - // Measured: `1515` - // Estimated: `7980` - // Minimum execution time: 49_660_000 picoseconds. - Weight::from_parts(50_240_000, 7980) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) + // Measured: `387` + // Estimated: `3852` + // Minimum execution time: 30_087_000 picoseconds. + Weight::from_parts(30_378_000, 0) + .saturating_add(Weight::from_parts(0, 3852)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - fn add_reward() -> Weight { + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn withdraw_missing_reward() -> Weight { // Proof Size summary in bytes: - // Measured: `2308` - // Estimated: `7783` - // Minimum execution time: 94_319_000 picoseconds. - Weight::from_parts(95_110_000, 7783) - .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + // Measured: `206` + // Estimated: `6196` + // Minimum execution time: 61_206_000 picoseconds. + Weight::from_parts(61_637_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:1) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) fn update_market_reward_speed() -> Weight { // Proof Size summary in bytes: - // Measured: `1518` - // Estimated: `22440` - // Minimum execution time: 71_924_000 picoseconds. - Weight::from_parts(72_495_000, 22440) - .saturating_add(T::DbWeight::get().reads(6_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + // Measured: `387` + // Estimated: `6327` + // Minimum execution time: 44_244_000 picoseconds. + Weight::from_parts(44_735_000, 0) + .saturating_add(Weight::from_parts(0, 6327)) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().writes(4)) } - /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Storage: `LendMarket::Markets` (r:3 w:0) /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:2 w:2) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:2 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:0) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:2 w:2) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:2 w:0) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:2 w:2) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:2 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:2 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:2 w:2) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:2 w:0) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `n` is `[1, 2]`. + fn claim_reward(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1072 + n * (100 ±0)` + // Estimated: `6196 + n * (2575 ±0)` + // Minimum execution time: 150_596_000 picoseconds. + Weight::from_parts(102_946_100, 0) + .saturating_add(Weight::from_parts(0, 6196)) + // Standard Error: 172_321 + .saturating_add(Weight::from_parts(50_030_400, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(6)) + .saturating_add(T::DbWeight::get().reads((10_u64).saturating_mul(n.into()))) + .saturating_add(T::DbWeight::get().writes(3)) + .saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 2575).saturating_mul(n.into())) + } /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) @@ -199,604 +253,532 @@ impl WeightInfo for BifrostWeight { /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1]`. - fn claim_reward(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1280` - // Estimated: `7220` - // Minimum execution time: 145_736_000 picoseconds. - Weight::from_parts(150_117_344, 0) - .saturating_add(Weight::from_parts(0, 7220)) - // Standard Error: 189_715 - .saturating_add(Weight::from_parts(273_055, 0).saturating_mul(n.into())) - .saturating_add(T::DbWeight::get().reads(16)) - .saturating_add(T::DbWeight::get().writes(7)) - } - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans Markets (r:1 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:3 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:0) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) fn claim_reward_for_market() -> Weight { // Proof Size summary in bytes: - // Measured: `3492` - // Estimated: `78520` - // Minimum execution time: 196_984_000 picoseconds. - Weight::from_parts(197_816_000, 78520) - .saturating_add(T::DbWeight::get().reads(16_u64)) - .saturating_add(T::DbWeight::get().writes(7_u64)) + // Measured: `1135` + // Estimated: `6196` + // Minimum execution time: 143_321_000 picoseconds. + Weight::from_parts(143_993_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(T::DbWeight::get().reads(14)) + .saturating_add(T::DbWeight::get().writes(7)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:3 w:3) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:1) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:1) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:1) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountEarned` (r:1 w:1) + /// Proof: `LendMarket::AccountEarned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) fn mint() -> Weight { // Proof Size summary in bytes: - // Measured: `2944` - // Estimated: `73490` - // Minimum execution time: 274_890_000 picoseconds. - Weight::from_parts(276_413_000, 73490) - .saturating_add(T::DbWeight::get().reads(18_u64)) - .saturating_add(T::DbWeight::get().writes(9_u64)) + // Measured: `915` + // Estimated: `6855` + // Minimum execution time: 138_573_000 picoseconds. + Weight::from_parts(140_256_000, 0) + .saturating_add(Weight::from_parts(0, 6855)) + .saturating_add(T::DbWeight::get().reads(17)) + .saturating_add(T::DbWeight::get().writes(10)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalBorrows (r:1 w:1) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:1) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:1) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Prices::EmergencyPrice` (r:1 w:0) + /// Proof: `Prices::EmergencyPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:1 w:1) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:0) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:0) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::LiquidationFreeCollaterals` (r:1 w:0) + /// Proof: `LendMarket::LiquidationFreeCollaterals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) fn borrow() -> Weight { // Proof Size summary in bytes: - // Measured: `3312` - // Estimated: `90329` - // Minimum execution time: 262_856_000 picoseconds. - Weight::from_parts(265_230_000, 90329) - .saturating_add(T::DbWeight::get().reads(20_u64)) - .saturating_add(T::DbWeight::get().writes(8_u64)) + // Measured: `1778` + // Estimated: `7718` + // Minimum execution time: 190_240_000 picoseconds. + Weight::from_parts(192_134_000, 0) + .saturating_add(Weight::from_parts(0, 7718)) + .saturating_add(T::DbWeight::get().reads(20)) + .saturating_add(T::DbWeight::get().writes(8)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:1) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Tokens Accounts (r:3 w:3) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:1) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:3 w:3) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:1) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountEarned` (r:1 w:1) + /// Proof: `LendMarket::AccountEarned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) fn redeem() -> Weight { // Proof Size summary in bytes: - // Measured: `3368` - // Estimated: `82017` - // Minimum execution time: 324_119_000 picoseconds. - Weight::from_parts(324_981_000, 82017) - .saturating_add(T::DbWeight::get().reads(19_u64)) - .saturating_add(T::DbWeight::get().writes(8_u64)) + // Measured: `1789` + // Estimated: `8769` + // Minimum execution time: 217_011_000 picoseconds. + Weight::from_parts(218_233_000, 0) + .saturating_add(Weight::from_parts(0, 8769)) + .saturating_add(T::DbWeight::get().reads(19)) + .saturating_add(T::DbWeight::get().writes(12)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:3 w:3) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:1) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:1) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:1) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountEarned` (r:1 w:1) + /// Proof: `LendMarket::AccountEarned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) fn redeem_all() -> Weight { // Proof Size summary in bytes: - // Measured: `3368` - // Estimated: `82017` - // Minimum execution time: 325_041_000 picoseconds. - Weight::from_parts(327_495_000, 82017) - .saturating_add(T::DbWeight::get().reads(19_u64)) - .saturating_add(T::DbWeight::get().writes(8_u64)) + // Measured: `1687` + // Estimated: `7627` + // Minimum execution time: 174_661_000 picoseconds. + Weight::from_parts(175_633_000, 0) + .saturating_add(Weight::from_parts(0, 7627)) + .saturating_add(T::DbWeight::get().reads(17)) + .saturating_add(T::DbWeight::get().writes(10)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:1) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:1) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:1 w:1) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:1) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) fn repay_borrow() -> Weight { // Proof Size summary in bytes: - // Measured: `3407` - // Estimated: `61096` - // Minimum execution time: 179_189_000 picoseconds. - Weight::from_parts(180_952_000, 61096) - .saturating_add(T::DbWeight::get().reads(13_u64)) - .saturating_add(T::DbWeight::get().writes(8_u64)) + // Measured: `1651` + // Estimated: `7591` + // Minimum execution time: 125_017_000 picoseconds. + Weight::from_parts(126_169_000, 0) + .saturating_add(Weight::from_parts(0, 7591)) + .saturating_add(T::DbWeight::get().reads(14)) + .saturating_add(T::DbWeight::get().writes(8)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:1) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:1) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:1 w:1) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:1) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) fn repay_borrow_all() -> Weight { // Proof Size summary in bytes: - // Measured: `3407` - // Estimated: `61096` - // Minimum execution time: 197_625_000 picoseconds. - Weight::from_parts(198_568_000, 61096) - .saturating_add(T::DbWeight::get().reads(13_u64)) - .saturating_add(T::DbWeight::get().writes(8_u64)) + // Measured: `1651` + // Estimated: `7591` + // Minimum execution time: 139_484_000 picoseconds. + Weight::from_parts(140_927_000, 0) + .saturating_add(Weight::from_parts(0, 7591)) + .saturating_add(T::DbWeight::get().reads(14)) + .saturating_add(T::DbWeight::get().writes(8)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:1 w:1) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:1) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - fn deposit_all_collateral() -> Weight { - // Proof Size summary in bytes: - // Measured: `2295` - // Estimated: `19375` - // Minimum execution time: 102_335_000 picoseconds. - Weight::from_parts(103_146_000, 19375) - .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) - } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:1) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Tokens Accounts (r:2 w:1) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:0) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - fn withdraw_all_collateral() -> Weight { + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:1) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn collateral_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `3242` - // Estimated: `60764` - // Minimum execution time: 225_110_000 picoseconds. - Weight::from_parts(226_403_000, 60764) - .saturating_add(T::DbWeight::get().reads(15_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) + // Measured: `562` + // Estimated: `6502` + // Minimum execution time: 44_795_000 picoseconds. + Weight::from_parts(45_426_000, 0) + .saturating_add(Weight::from_parts(0, 6502)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(1)) } - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:2 w:2) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans Markets (r:3 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:4 w:1) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Tokens Accounts (r:6 w:5) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:4 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:2 w:1) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Security ParachainStatus (r:1 w:0) - /// Proof Skipped: Security ParachainStatus (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Oracle Aggregate (r:1 w:0) - /// Proof Skipped: Oracle Aggregate (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:3 w:1) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:3 w:3) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:3 w:3) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::LiquidationFreeCollaterals` (r:1 w:0) + /// Proof: `LendMarket::LiquidationFreeCollaterals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:2 w:2) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::Markets` (r:3 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:3 w:1) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Prices::EmergencyPrice` (r:2 w:0) + /// Proof: `Prices::EmergencyPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:2 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:4 w:3) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:0) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:3 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalBorrows` (r:2 w:1) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:3 w:3) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:3 w:3) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) fn liquidate_borrow() -> Weight { // Proof Size summary in bytes: - // Measured: `5226` - // Estimated: `201519` - // Minimum execution time: 762_145_000 picoseconds. - Weight::from_parts(766_944_000, 201519) - .saturating_add(T::DbWeight::get().reads(44_u64)) - .saturating_add(T::DbWeight::get().writes(21_u64)) - } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:1) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Tokens Accounts (r:4 w:4) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:2 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - fn reduce_incentive_reserves() -> Weight { - // Proof Size summary in bytes: - // Measured: `4362` - // Estimated: `99138` - // Minimum execution time: 413_086_000 picoseconds. - Weight::from_parts(417_575_000, 99138) - .saturating_add(T::DbWeight::get().reads(21_u64)) - .saturating_add(T::DbWeight::get().writes(10_u64)) + // Measured: `2687` + // Estimated: `13577` + // Minimum execution time: 375_001_000 picoseconds. + Weight::from_parts(379_198_000, 0) + .saturating_add(Weight::from_parts(0, 13577)) + .saturating_add(T::DbWeight::get().reads(39)) + .saturating_add(T::DbWeight::get().writes(18)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalReserves (r:1 w:1) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:1) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) fn add_reserves() -> Weight { // Proof Size summary in bytes: - // Measured: `2768` - // Estimated: `26490` - // Minimum execution time: 131_052_000 picoseconds. - Weight::from_parts(132_405_000, 26490) - .saturating_add(T::DbWeight::get().reads(8_u64)) - .saturating_add(T::DbWeight::get().writes(5_u64)) + // Measured: `843` + // Estimated: `6783` + // Minimum execution time: 77_206_000 picoseconds. + Weight::from_parts(77_888_000, 0) + .saturating_add(Weight::from_parts(0, 6783)) + .saturating_add(T::DbWeight::get().reads(7)) + .saturating_add(T::DbWeight::get().writes(4)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:1) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:1) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:3 w:3) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn reduce_reserves() -> Weight { // Proof Size summary in bytes: - // Measured: `2857` - // Estimated: `26757` - // Minimum execution time: 115_421_000 picoseconds. - Weight::from_parts(116_053_000, 26757) - .saturating_add(T::DbWeight::get().reads(8_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + // Measured: `1216` + // Estimated: `8769` + // Minimum execution time: 122_883_000 picoseconds. + Weight::from_parts(123_564_000, 0) + .saturating_add(Weight::from_parts(0, 8769)) + .saturating_add(T::DbWeight::get().reads(9)) + .saturating_add(T::DbWeight::get().writes(6)) } - fn withdraw_missing_reward() -> Weight { + /// Storage: `LendMarket::LiquidationFreeCollaterals` (r:1 w:1) + /// Proof: `LendMarket::LiquidationFreeCollaterals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 10]`. + fn update_liquidation_free_collateral(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2857` - // Estimated: `26757` - // Minimum execution time: 115_421_000 picoseconds. - Weight::from_parts(116_053_000, 26757) - .saturating_add(T::DbWeight::get().reads(8_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) - } - fn update_liquidation_free_collateral() -> Weight { - // Proof Size summary in bytes: - // Measured: `2857` - // Estimated: `26757` - // Minimum execution time: 115_421_000 picoseconds. - Weight::from_parts(116_053_000, 26757) - .saturating_add(T::DbWeight::get().reads(8_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) - } - fn collateral_asset() -> Weight { - // Proof Size summary in bytes: - // Measured: `2857` - // Estimated: `26757` - // Minimum execution time: 115_421_000 picoseconds. - Weight::from_parts(116_053_000, 26757) - .saturating_add(T::DbWeight::get().reads(8_u64)) - .saturating_add(T::DbWeight::get().writes(4_u64)) + // Measured: `109` + // Estimated: `1594` + // Minimum execution time: 16_260_000 picoseconds. + Weight::from_parts(16_942_631, 0) + .saturating_add(Weight::from_parts(0, 1594)) + // Standard Error: 2_095 + .saturating_add(Weight::from_parts(117_362, 0).saturating_mul(n.into())) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) } } + // For backwards compatibility and tests impl WeightInfo for () { - /// Storage: Loans Markets (r:2 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:1) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans ExchangeRate (r:0 w:1) - /// Proof Skipped: Loans ExchangeRate (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:0 w:1) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::UnderlyingAssetId` (r:1 w:1) + /// Proof: `LendMarket::UnderlyingAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::ExchangeRate` (r:0 w:1) + /// Proof: `LendMarket::ExchangeRate` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:0 w:1) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) fn add_market() -> Weight { // Proof Size summary in bytes: - // Measured: `1207` - // Estimated: `13955` - // Minimum execution time: 63_487_000 picoseconds. - Weight::from_parts(64_509_000, 13955) - .saturating_add(RocksDbWeight::get().reads(4_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) + // Measured: `109` + // Estimated: `6049` + // Minimum execution time: 29_526_000 picoseconds. + Weight::from_parts(29_946_000, 0) + .saturating_add(Weight::from_parts(0, 6049)) + .saturating_add(RocksDbWeight::get().reads(3)) + .saturating_add(RocksDbWeight::get().writes(4)) } - /// Storage: Loans Markets (r:1 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:1 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) fn activate_market() -> Weight { // Proof Size summary in bytes: - // Measured: `1504` - // Estimated: `3979` - // Minimum execution time: 38_988_000 picoseconds. - Weight::from_parts(39_729_000, 3979) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `379` + // Estimated: `3844` + // Minimum execution time: 19_587_000 picoseconds. + Weight::from_parts(19_998_000, 0) + .saturating_add(Weight::from_parts(0, 3844)) + .saturating_add(RocksDbWeight::get().reads(1)) + .saturating_add(RocksDbWeight::get().writes(1)) } - /// Storage: Loans Markets (r:1 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:1 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) fn update_rate_model() -> Weight { // Proof Size summary in bytes: - // Measured: `1504` - // Estimated: `3979` - // Minimum execution time: 39_930_000 picoseconds. - Weight::from_parts(40_290_000, 3979) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `379` + // Estimated: `3844` + // Minimum execution time: 21_500_000 picoseconds. + Weight::from_parts(21_801_000, 0) + .saturating_add(Weight::from_parts(0, 3844)) + .saturating_add(RocksDbWeight::get().reads(1)) + .saturating_add(RocksDbWeight::get().writes(1)) + } + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn add_reward() -> Weight { + // Proof Size summary in bytes: + // Measured: `103` + // Estimated: `6196` + // Minimum execution time: 69_972_000 picoseconds. + Weight::from_parts(70_544_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(RocksDbWeight::get().reads(2)) + .saturating_add(RocksDbWeight::get().writes(2)) } - /// Storage: Loans Markets (r:1 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:1 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) fn update_market() -> Weight { // Proof Size summary in bytes: - // Measured: `1504` - // Estimated: `3979` - // Minimum execution time: 42_776_000 picoseconds. - Weight::from_parts(43_437_000, 3979) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) + // Measured: `379` + // Estimated: `3844` + // Minimum execution time: 22_432_000 picoseconds. + Weight::from_parts(22_633_000, 0) + .saturating_add(Weight::from_parts(0, 3844)) + .saturating_add(RocksDbWeight::get().reads(1)) + .saturating_add(RocksDbWeight::get().writes(1)) } - /// Storage: Loans UnderlyingAssetId (r:1 w:1) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans Markets (r:1 w:1) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::UnderlyingAssetId` (r:1 w:1) + /// Proof: `LendMarket::UnderlyingAssetId` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::Markets` (r:1 w:1) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) fn force_update_market() -> Weight { // Proof Size summary in bytes: - // Measured: `1515` - // Estimated: `7980` - // Minimum execution time: 49_660_000 picoseconds. - Weight::from_parts(50_240_000, 7980) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `387` + // Estimated: `3852` + // Minimum execution time: 30_087_000 picoseconds. + Weight::from_parts(30_378_000, 0) + .saturating_add(Weight::from_parts(0, 3852)) + .saturating_add(RocksDbWeight::get().reads(2)) + .saturating_add(RocksDbWeight::get().writes(2)) } - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - fn add_reward() -> Weight { + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn withdraw_missing_reward() -> Weight { // Proof Size summary in bytes: - // Measured: `2308` - // Estimated: `7783` - // Minimum execution time: 94_319_000 picoseconds. - Weight::from_parts(95_110_000, 7783) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `206` + // Estimated: `6196` + // Minimum execution time: 61_206_000 picoseconds. + Weight::from_parts(61_637_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(RocksDbWeight::get().reads(2)) + .saturating_add(RocksDbWeight::get().writes(2)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:1) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) fn update_market_reward_speed() -> Weight { // Proof Size summary in bytes: - // Measured: `1518` - // Estimated: `22440` - // Minimum execution time: 71_924_000 picoseconds. - Weight::from_parts(72_495_000, 22440) - .saturating_add(RocksDbWeight::get().reads(6_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) + // Measured: `387` + // Estimated: `6327` + // Minimum execution time: 44_244_000 picoseconds. + Weight::from_parts(44_735_000, 0) + .saturating_add(Weight::from_parts(0, 6327)) + .saturating_add(RocksDbWeight::get().reads(6)) + .saturating_add(RocksDbWeight::get().writes(4)) } - /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Storage: `LendMarket::Markets` (r:3 w:0) /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:2 w:2) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:2 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:0) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:2 w:2) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:2 w:0) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:2 w:2) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:2 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:2 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:2 w:2) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:2 w:0) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// The range of component `n` is `[1, 2]`. + fn claim_reward(n: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `1072 + n * (100 ±0)` + // Estimated: `6196 + n * (2575 ±0)` + // Minimum execution time: 150_596_000 picoseconds. + Weight::from_parts(102_946_100, 0) + .saturating_add(Weight::from_parts(0, 6196)) + // Standard Error: 172_321 + .saturating_add(Weight::from_parts(50_030_400, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(6)) + .saturating_add(RocksDbWeight::get().reads((10_u64).saturating_mul(n.into()))) + .saturating_add(RocksDbWeight::get().writes(3)) + .saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(n.into()))) + .saturating_add(Weight::from_parts(0, 2575).saturating_mul(n.into())) + } /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) @@ -823,499 +805,369 @@ impl WeightInfo for () { /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) /// Storage: `System::Account` (r:2 w:2) /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// The range of component `n` is `[0, 1]`. - fn claim_reward(n: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `1280` - // Estimated: `7220` - // Minimum execution time: 145_736_000 picoseconds. - Weight::from_parts(150_117_344, 0) - .saturating_add(Weight::from_parts(0, 7220)) - // Standard Error: 189_715 - .saturating_add(Weight::from_parts(273_055, 0).saturating_mul(n.into())) - .saturating_add(RocksDbWeight::get().reads(16)) - .saturating_add(RocksDbWeight::get().writes(7)) - } - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans Markets (r:1 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:3 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:0) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) fn claim_reward_for_market() -> Weight { // Proof Size summary in bytes: - // Measured: `3492` - // Estimated: `78520` - // Minimum execution time: 196_984_000 picoseconds. - Weight::from_parts(197_816_000, 78520) - .saturating_add(RocksDbWeight::get().reads(16_u64)) - .saturating_add(RocksDbWeight::get().writes(7_u64)) + // Measured: `1135` + // Estimated: `6196` + // Minimum execution time: 143_321_000 picoseconds. + Weight::from_parts(143_993_000, 0) + .saturating_add(Weight::from_parts(0, 6196)) + .saturating_add(RocksDbWeight::get().reads(14)) + .saturating_add(RocksDbWeight::get().writes(7)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:3 w:3) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:1) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:1) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:1) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountEarned` (r:1 w:1) + /// Proof: `LendMarket::AccountEarned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) fn mint() -> Weight { // Proof Size summary in bytes: - // Measured: `2944` - // Estimated: `73490` - // Minimum execution time: 274_890_000 picoseconds. - Weight::from_parts(276_413_000, 73490) - .saturating_add(RocksDbWeight::get().reads(18_u64)) - .saturating_add(RocksDbWeight::get().writes(9_u64)) + // Measured: `915` + // Estimated: `6855` + // Minimum execution time: 138_573_000 picoseconds. + Weight::from_parts(140_256_000, 0) + .saturating_add(Weight::from_parts(0, 6855)) + .saturating_add(RocksDbWeight::get().reads(17)) + .saturating_add(RocksDbWeight::get().writes(10)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalBorrows (r:1 w:1) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:1) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:1) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Prices::EmergencyPrice` (r:1 w:0) + /// Proof: `Prices::EmergencyPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:1 w:1) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:0) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:0) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::LiquidationFreeCollaterals` (r:1 w:0) + /// Proof: `LendMarket::LiquidationFreeCollaterals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) fn borrow() -> Weight { // Proof Size summary in bytes: - // Measured: `3312` - // Estimated: `90329` - // Minimum execution time: 262_856_000 picoseconds. - Weight::from_parts(265_230_000, 90329) - .saturating_add(RocksDbWeight::get().reads(20_u64)) - .saturating_add(RocksDbWeight::get().writes(8_u64)) + // Measured: `1778` + // Estimated: `7718` + // Minimum execution time: 190_240_000 picoseconds. + Weight::from_parts(192_134_000, 0) + .saturating_add(Weight::from_parts(0, 7718)) + .saturating_add(RocksDbWeight::get().reads(20)) + .saturating_add(RocksDbWeight::get().writes(8)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:1) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Tokens Accounts (r:3 w:3) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:1) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:3 w:3) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:1) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountEarned` (r:1 w:1) + /// Proof: `LendMarket::AccountEarned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) fn redeem() -> Weight { // Proof Size summary in bytes: - // Measured: `3368` - // Estimated: `82017` - // Minimum execution time: 324_119_000 picoseconds. - Weight::from_parts(324_981_000, 82017) - .saturating_add(RocksDbWeight::get().reads(19_u64)) - .saturating_add(RocksDbWeight::get().writes(8_u64)) + // Measured: `1789` + // Estimated: `8769` + // Minimum execution time: 217_011_000 picoseconds. + Weight::from_parts(218_233_000, 0) + .saturating_add(Weight::from_parts(0, 8769)) + .saturating_add(RocksDbWeight::get().reads(19)) + .saturating_add(RocksDbWeight::get().writes(12)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:3 w:3) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:1) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:1) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:0) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:1) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountEarned` (r:1 w:1) + /// Proof: `LendMarket::AccountEarned` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) fn redeem_all() -> Weight { // Proof Size summary in bytes: - // Measured: `3368` - // Estimated: `82017` - // Minimum execution time: 325_041_000 picoseconds. - Weight::from_parts(327_495_000, 82017) - .saturating_add(RocksDbWeight::get().reads(19_u64)) - .saturating_add(RocksDbWeight::get().writes(8_u64)) + // Measured: `1687` + // Estimated: `7627` + // Minimum execution time: 174_661_000 picoseconds. + Weight::from_parts(175_633_000, 0) + .saturating_add(Weight::from_parts(0, 7627)) + .saturating_add(RocksDbWeight::get().reads(17)) + .saturating_add(RocksDbWeight::get().writes(10)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:1) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:1) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:1 w:1) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:1) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) fn repay_borrow() -> Weight { // Proof Size summary in bytes: - // Measured: `3407` - // Estimated: `61096` - // Minimum execution time: 179_189_000 picoseconds. - Weight::from_parts(180_952_000, 61096) - .saturating_add(RocksDbWeight::get().reads(13_u64)) - .saturating_add(RocksDbWeight::get().writes(8_u64)) + // Measured: `1651` + // Estimated: `7591` + // Minimum execution time: 125_017_000 picoseconds. + Weight::from_parts(126_169_000, 0) + .saturating_add(Weight::from_parts(0, 7591)) + .saturating_add(RocksDbWeight::get().reads(14)) + .saturating_add(RocksDbWeight::get().writes(8)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:1) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:1) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:1 w:1) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:1 w:1) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:1 w:1) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalBorrows` (r:1 w:1) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) fn repay_borrow_all() -> Weight { // Proof Size summary in bytes: - // Measured: `3407` - // Estimated: `61096` - // Minimum execution time: 197_625_000 picoseconds. - Weight::from_parts(198_568_000, 61096) - .saturating_add(RocksDbWeight::get().reads(13_u64)) - .saturating_add(RocksDbWeight::get().writes(8_u64)) - } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:1 w:1) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:1) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - fn deposit_all_collateral() -> Weight { - // Proof Size summary in bytes: - // Measured: `2295` - // Estimated: `19375` - // Minimum execution time: 102_335_000 picoseconds. - Weight::from_parts(103_146_000, 19375) - .saturating_add(RocksDbWeight::get().reads(5_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) + // Measured: `1651` + // Estimated: `7591` + // Minimum execution time: 139_484_000 picoseconds. + Weight::from_parts(140_927_000, 0) + .saturating_add(Weight::from_parts(0, 7591)) + .saturating_add(RocksDbWeight::get().reads(14)) + .saturating_add(RocksDbWeight::get().writes(8)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:1) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Tokens Accounts (r:2 w:1) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:1 w:0) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - fn withdraw_all_collateral() -> Weight { + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:1 w:1) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + fn collateral_asset() -> Weight { // Proof Size summary in bytes: - // Measured: `3242` - // Estimated: `60764` - // Minimum execution time: 225_110_000 picoseconds. - Weight::from_parts(226_403_000, 60764) - .saturating_add(RocksDbWeight::get().reads(15_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) + // Measured: `562` + // Estimated: `6502` + // Minimum execution time: 44_795_000 picoseconds. + Weight::from_parts(45_426_000, 0) + .saturating_add(Weight::from_parts(0, 6502)) + .saturating_add(RocksDbWeight::get().reads(3)) + .saturating_add(RocksDbWeight::get().writes(1)) } - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:2 w:2) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans Markets (r:3 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:4 w:1) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:0) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Tokens Accounts (r:6 w:5) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:4 w:2) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:2 w:1) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Security ParachainStatus (r:1 w:0) - /// Proof Skipped: Security ParachainStatus (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Oracle Aggregate (r:1 w:0) - /// Proof Skipped: Oracle Aggregate (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans AccountBorrows (r:3 w:1) - /// Proof Skipped: Loans AccountBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans BorrowIndex (r:1 w:0) - /// Proof Skipped: Loans BorrowIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowState (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowSpeed (r:1 w:0) - /// Proof Skipped: Loans RewardBorrowSpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardBorrowerIndex (r:1 w:1) - /// Proof Skipped: Loans RewardBorrowerIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:3 w:3) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:3 w:3) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::LiquidationFreeCollaterals` (r:1 w:0) + /// Proof: `LendMarket::LiquidationFreeCollaterals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// Storage: `Timestamp::Now` (r:1 w:0) + /// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::LastAccruedInterestTime` (r:2 w:2) + /// Proof: `LendMarket::LastAccruedInterestTime` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::Markets` (r:3 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountBorrows` (r:3 w:1) + /// Proof: `LendMarket::AccountBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::BorrowIndex` (r:1 w:0) + /// Proof: `LendMarket::BorrowIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Prices::EmergencyPrice` (r:2 w:0) + /// Proof: `Prices::EmergencyPrice` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:2 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::AccountDeposits` (r:4 w:3) + /// Proof: `LendMarket::AccountDeposits` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalSupply` (r:1 w:0) + /// Proof: `LendMarket::TotalSupply` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:3 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:2 w:0) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalBorrows` (r:2 w:1) + /// Proof: `LendMarket::TotalBorrows` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:0) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowState` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowSpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardBorrowSpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardBorrowerIndex` (r:1 w:1) + /// Proof: `LendMarket::RewardBorrowerIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardAccured` (r:3 w:3) + /// Proof: `LendMarket::RewardAccured` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplyState` (r:1 w:1) + /// Proof: `LendMarket::RewardSupplyState` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplySpeed` (r:1 w:0) + /// Proof: `LendMarket::RewardSupplySpeed` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::RewardSupplierIndex` (r:3 w:3) + /// Proof: `LendMarket::RewardSupplierIndex` (`max_values`: None, `max_size`: None, mode: `Measured`) fn liquidate_borrow() -> Weight { // Proof Size summary in bytes: - // Measured: `5226` - // Estimated: `201519` - // Minimum execution time: 762_145_000 picoseconds. - Weight::from_parts(766_944_000, 201519) - .saturating_add(RocksDbWeight::get().reads(44_u64)) - .saturating_add(RocksDbWeight::get().writes(21_u64)) - } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans UnderlyingAssetId (r:1 w:0) - /// Proof Skipped: Loans UnderlyingAssetId (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens TotalIssuance (r:1 w:1) - /// Proof: Tokens TotalIssuance (max_values: None, max_size: Some(35), added: 2510, mode: MaxEncodedLen) - /// Storage: Tokens Accounts (r:4 w:4) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:2 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalBorrows (r:1 w:0) - /// Proof Skipped: Loans TotalBorrows (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:0) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans MinExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MinExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans MaxExchangeRate (r:1 w:0) - /// Proof Skipped: Loans MaxExchangeRate (max_values: Some(1), max_size: None, mode: Measured) - /// Storage: Loans AccountDeposits (r:1 w:0) - /// Proof Skipped: Loans AccountDeposits (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplyState (r:1 w:1) - /// Proof Skipped: Loans RewardSupplyState (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplySpeed (r:1 w:0) - /// Proof Skipped: Loans RewardSupplySpeed (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardSupplierIndex (r:1 w:1) - /// Proof Skipped: Loans RewardSupplierIndex (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans RewardAccrued (r:1 w:1) - /// Proof Skipped: Loans RewardAccrued (max_values: None, max_size: None, mode: Measured) - fn reduce_incentive_reserves() -> Weight { - // Proof Size summary in bytes: - // Measured: `4362` - // Estimated: `99138` - // Minimum execution time: 413_086_000 picoseconds. - Weight::from_parts(417_575_000, 99138) - .saturating_add(RocksDbWeight::get().reads(21_u64)) - .saturating_add(RocksDbWeight::get().writes(10_u64)) + // Measured: `2687` + // Estimated: `13577` + // Minimum execution time: 375_001_000 picoseconds. + Weight::from_parts(379_198_000, 0) + .saturating_add(Weight::from_parts(0, 13577)) + .saturating_add(RocksDbWeight::get().reads(39)) + .saturating_add(RocksDbWeight::get().writes(18)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:1) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) - /// Storage: Loans TotalReserves (r:1 w:1) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:2 w:2) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:1) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) fn add_reserves() -> Weight { // Proof Size summary in bytes: - // Measured: `2768` - // Estimated: `26490` - // Minimum execution time: 131_052_000 picoseconds. - Weight::from_parts(132_405_000, 26490) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(5_u64)) + // Measured: `843` + // Estimated: `6783` + // Minimum execution time: 77_206_000 picoseconds. + Weight::from_parts(77_888_000, 0) + .saturating_add(Weight::from_parts(0, 6783)) + .saturating_add(RocksDbWeight::get().reads(7)) + .saturating_add(RocksDbWeight::get().writes(4)) } - /// Storage: Loans Markets (r:2 w:0) - /// Proof Skipped: Loans Markets (max_values: None, max_size: None, mode: Measured) - /// Storage: Timestamp Now (r:1 w:0) - /// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen) - /// Storage: Loans LastAccruedInterestTime (r:1 w:1) - /// Proof Skipped: Loans LastAccruedInterestTime (max_values: None, max_size: None, mode: Measured) - /// Storage: Loans TotalReserves (r:1 w:1) - /// Proof Skipped: Loans TotalReserves (max_values: None, max_size: None, mode: Measured) - /// Storage: Tokens Accounts (r:2 w:2) - /// Proof: Tokens Accounts (max_values: None, max_size: Some(115), added: 2590, mode: MaxEncodedLen) - /// Storage: System Account (r:1 w:0) - /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen) + /// Storage: `LendMarket::Markets` (r:2 w:0) + /// Proof: `LendMarket::Markets` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `LendMarket::TotalReserves` (r:1 w:1) + /// Proof: `LendMarket::TotalReserves` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `Tokens::Accounts` (r:3 w:3) + /// Proof: `Tokens::Accounts` (`max_values`: None, `max_size`: Some(118), added: 2593, mode: `MaxEncodedLen`) + /// Storage: `AssetRegistry::CurrencyMetadatas` (r:1 w:0) + /// Proof: `AssetRegistry::CurrencyMetadatas` (`max_values`: None, `max_size`: None, mode: `Measured`) + /// Storage: `System::Account` (r:2 w:2) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn reduce_reserves() -> Weight { // Proof Size summary in bytes: - // Measured: `2857` - // Estimated: `26757` - // Minimum execution time: 115_421_000 picoseconds. - Weight::from_parts(116_053_000, 26757) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) + // Measured: `1216` + // Estimated: `8769` + // Minimum execution time: 122_883_000 picoseconds. + Weight::from_parts(123_564_000, 0) + .saturating_add(Weight::from_parts(0, 8769)) + .saturating_add(RocksDbWeight::get().reads(9)) + .saturating_add(RocksDbWeight::get().writes(6)) } - fn withdraw_missing_reward() -> Weight { - // Proof Size summary in bytes: - // Measured: `2857` - // Estimated: `26757` - // Minimum execution time: 115_421_000 picoseconds. - Weight::from_parts(116_053_000, 26757) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - fn update_liquidation_free_collateral() -> Weight { - // Proof Size summary in bytes: - // Measured: `2857` - // Estimated: `26757` - // Minimum execution time: 115_421_000 picoseconds. - Weight::from_parts(116_053_000, 26757) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) - } - fn collateral_asset() -> Weight { + /// Storage: `LendMarket::LiquidationFreeCollaterals` (r:1 w:1) + /// Proof: `LendMarket::LiquidationFreeCollaterals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + /// The range of component `n` is `[0, 10]`. + fn update_liquidation_free_collateral(n: u32, ) -> Weight { // Proof Size summary in bytes: - // Measured: `2857` - // Estimated: `26757` - // Minimum execution time: 115_421_000 picoseconds. - Weight::from_parts(116_053_000, 26757) - .saturating_add(RocksDbWeight::get().reads(8_u64)) - .saturating_add(RocksDbWeight::get().writes(4_u64)) + // Measured: `109` + // Estimated: `1594` + // Minimum execution time: 16_260_000 picoseconds. + Weight::from_parts(16_942_631, 0) + .saturating_add(Weight::from_parts(0, 1594)) + // Standard Error: 2_095 + .saturating_add(Weight::from_parts(117_362, 0).saturating_mul(n.into())) + .saturating_add(RocksDbWeight::get().reads(1)) + .saturating_add(RocksDbWeight::get().writes(1)) } }