From 49b15615184fad010749d3e34282f70a3845da34 Mon Sep 17 00:00:00 2001 From: Gavin Wood Date: Thu, 28 May 2020 14:20:33 +0200 Subject: [PATCH] Update locks on upgrade (#6172) --- frame/vesting/src/lib.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/frame/vesting/src/lib.rs b/frame/vesting/src/lib.rs index 371fdca69188e..d054b78357f5f 100644 --- a/frame/vesting/src/lib.rs +++ b/frame/vesting/src/lib.rs @@ -53,12 +53,11 @@ use codec::{Encode, Decode}; use sp_runtime::{DispatchResult, RuntimeDebug, traits::{ StaticLookup, Zero, AtLeast32Bit, MaybeSerializeDeserialize, Convert }}; -use frame_support::{decl_module, decl_event, decl_storage, decl_error, ensure}; +use frame_support::{decl_module, decl_event, decl_storage, decl_error, ensure, IterableStorageMap}; use frame_support::traits::{ Currency, LockableCurrency, VestingSchedule, WithdrawReason, LockIdentifier, ExistenceRequirement, Get }; - use frame_system::{self as system, ensure_signed}; mod benchmarking; @@ -182,6 +181,13 @@ decl_module! { fn deposit_event() = default; + fn on_runtime_upgrade() -> frame_support::dispatch::Weight { + for (a, _) in Vesting::::iter() { + let _ = Self::update_lock(a); + } + 1_000_000_000_000 + } + /// Unlock any vested funds of the sender account. /// /// The dispatch origin for this call must be _Signed_ and the sender must have funds still