diff --git a/substrate/frame/vesting/src/lib.rs b/substrate/frame/vesting/src/lib.rs
index a729777c24..d8e937d550 100644
--- a/substrate/frame/vesting/src/lib.rs
+++ b/substrate/frame/vesting/src/lib.rs
@@ -190,11 +190,13 @@ decl_module! {
///
/// #
/// - `O(1)`.
- /// - One balance-lock operation.
- /// - One storage read (codec `O(1)`) and up to one removal.
- /// - One event.
+ /// - DbWeight: 2 Reads, 2 Writes
+ /// - Reads: Vesting Storage, Balances Locks, [Sender Account]
+ /// - Writes: Vesting Storage, Balances Locks, [Sender Account]
+ /// - Benchmark: 147.5 µs (min square analysis)
+ /// - Assuming less than 50 locks on any user, else we may want factor in number of locks.
/// #
- #[weight = 0]
+ #[weight = 150_000_000 + T::DbWeight::get().reads_writes(2, 2)]
fn vest(origin) -> DispatchResult {
let who = ensure_signed(origin)?;
Self::update_lock(who)
@@ -211,12 +213,13 @@ decl_module! {
///
/// #
/// - `O(1)`.
- /// - Up to one account lookup.
- /// - One balance-lock operation.
- /// - One storage read (codec `O(1)`) and up to one removal.
- /// - One event.
+ /// - DbWeight: 3 Reads, 3 Writes
+ /// - Reads: Vesting Storage, Balances Locks, Target Account
+ /// - Writes: Vesting Storage, Balances Locks, Target Account
+ /// - Benchmark: 150.4 µs (min square analysis)
+ /// - Assuming less than 50 locks on any user, else we may want factor in number of locks.
/// #
- #[weight = 0]
+ #[weight = 150_000_000 + T::DbWeight::get().reads_writes(3, 3)]
fn vest_other(origin, target: ::Source) -> DispatchResult {
ensure_signed(origin)?;
Self::update_lock(T::Lookup::lookup(target)?)
@@ -233,10 +236,14 @@ decl_module! {
/// Emits `VestingCreated`.
///
/// #
- /// - Creates a new storage entry, but is protected by a minimum transfer
- /// amount needed to succeed.
+ /// - `O(1)`.
+ /// - DbWeight: 3 Reads, 3 Writes
+ /// - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]
+ /// - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]
+ /// - Benchmark: 263 µs (min square analysis)
+ /// - Assuming less than 50 locks on any user, else we may want factor in number of locks.
/// #
- #[weight = 1_000_000_000]
+ #[weight = 300_000_000 + T::DbWeight::get().reads_writes(3, 3)]
pub fn vested_transfer(
origin,
target: ::Source,