From 1d93746b64e4eabbc3b849199353404b6b822290 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) --- substrate/frame/vesting/src/lib.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/substrate/frame/vesting/src/lib.rs b/substrate/frame/vesting/src/lib.rs index 371fdca691..d054b78357 100644 --- a/substrate/frame/vesting/src/lib.rs +++ b/substrate/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