on_initialize return weight consumed and default cost to default DispatchInfo instead of zero (#5382)

* frame update

* doc

* move offchain worker trait also

* fix weigh merge

* indentation

* reorder for better git diff

* comment

* fix benchmark

* remove test
This commit is contained in:
thiolliere
2020-03-24 19:51:04 +01:00
committed by GitHub
parent 2e558908e6
commit 8a41ac664b
32 changed files with 331 additions and 365 deletions
+3 -1
View File
@@ -96,6 +96,7 @@ use sp_std::{
use frame_support::{
decl_module, decl_storage, decl_event, ensure, decl_error,
traits::{ChangeMembers, InitializeMembers, Currency, Get, ReservableCurrency},
weights::{Weight, SimpleDispatchInfo, WeighData},
};
use frame_system::{self as system, ensure_root, ensure_signed};
use sp_runtime::{
@@ -245,11 +246,12 @@ decl_module! {
/// Every `Period` blocks the `Members` set is refreshed from the
/// highest scoring members in the pool.
fn on_initialize(n: T::BlockNumber) {
fn on_initialize(n: T::BlockNumber) -> Weight {
if n % T::Period::get() == Zero::zero() {
let pool = <Pool<T, I>>::get();
<Module<T, I>>::refresh_members(pool, ChangeReceiver::MembershipChanged);
}
SimpleDispatchInfo::default().weigh_data(())
}
/// Add `origin` to the pool of candidates.
+2 -2
View File
@@ -19,8 +19,8 @@
use super::*;
use mock::*;
use frame_support::{assert_ok, assert_noop};
use sp_runtime::traits::{OnInitialize, BadOrigin};
use frame_support::{assert_ok, assert_noop, traits::OnInitialize};
use sp_runtime::traits::BadOrigin;
type ScoredPool = Module<Test>;
type System = frame_system::Module<Test>;