From 8fd7e3f92d3d7edaeccf42231dcb47946ece6505 Mon Sep 17 00:00:00 2001 From: Kazunobu Ndong Date: Sat, 18 Feb 2023 17:12:17 +0900 Subject: [PATCH] all points in issues #246 & #247 except voting weights --- pallets/asset_management/src/functions.rs | 11 ++++++++++- pallets/asset_management/src/lib.rs | 9 +++++++++ runtime/src/lib.rs | 2 +- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/pallets/asset_management/src/functions.rs b/pallets/asset_management/src/functions.rs index e86fdafe..75827f36 100644 --- a/pallets/asset_management/src/functions.rs +++ b/pallets/asset_management/src/functions.rs @@ -300,7 +300,7 @@ impl Pallet { //check how many rents were payed let payed = (time as u128 - remaining_p as u128) * rent.clone(); - let asset_account = tenant.asset_account.unwrap(); + let asset_account = tenant.asset_account.clone().unwrap(); let asset_account_free_balance = ::Currency::free_balance(&asset_account); @@ -337,6 +337,15 @@ impl Pallet { //Reserve maintenance fees let reservation = ::Currency::reserve(&asset_account, maintenance.into()); + + //Emmit maintenance fee payment event + Self::deposit_event(Event::MaintenanceFeesPayment { + tenant: tenant.account_id.clone(), + when: now, + asset_account: tenant.asset_account.unwrap(), + amount: maintenance.clone(), + + }); debug_assert!(reservation.is_ok()); diff --git a/pallets/asset_management/src/lib.rs b/pallets/asset_management/src/lib.rs index 2908d794..141eb913 100644 --- a/pallets/asset_management/src/lib.rs +++ b/pallets/asset_management/src/lib.rs @@ -228,6 +228,15 @@ pub mod pallet { amount: Payment::BalanceOf, when: BlockNumberOf, }, + + //Asset maintenance fees, have been taken from the rent received, and reserved + MaintenanceFeesPayment + { + tenant: T::AccountId, + when: BlockNumberOf, + asset_account: T::AccountId, + amount: BalanceOf, + }, } // Errors inform users that something went wrong. diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 0e67884c..02d07a11 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -174,7 +174,7 @@ parameter_types! { impl frame_system::Config for Runtime { /// The basic call filter to use in dispatchable. - type BaseCallFilter = frame_support::traits::Everything; + type BaseCallFilter = DontAllowCollectiveAndDemocracy; /// Block & extrinsics weights: base values and limits. type BlockWeights = RuntimeBlockWeights; /// The maximum length of a block (in bytes).