54 releases (major breaking)

38.0.0 Sep 26, 2024
37.0.0 Jul 18, 2024
36.0.0 Jul 12, 2024
35.0.0 Jun 24, 2024
2.0.0-alpha.5 Mar 24, 2020

#1 in #vesting

Download history 1408/week @ 2024-07-08 2462/week @ 2024-07-15 1296/week @ 2024-07-22 1716/week @ 2024-07-29 1491/week @ 2024-08-05 1857/week @ 2024-08-12 2004/week @ 2024-08-19 1713/week @ 2024-08-26 1040/week @ 2024-09-02 1474/week @ 2024-09-09 1520/week @ 2024-09-16 2165/week @ 2024-09-23 2095/week @ 2024-09-30 1704/week @ 2024-10-07 1934/week @ 2024-10-14 2408/week @ 2024-10-21

8,272 downloads per month
Used in 80 crates (7 directly)

Apache-2.0

2MB
38K SLoC

Vesting Module

Overview

A simple module providing a means of placing a linear curve on an account's locked balance. This module ensures that there is a lock in place preventing the balance to drop below the unvested amount for reason other than the ones specified in UnvestedFundsAllowedWithdrawReasons configuration value.

As the amount vested increases over time, the amount unvested reduces. However, locks remain in place and explicit action is needed on behalf of the user to ensure that the amount locked is equivalent to the amount remaining to be vested. This is done through a dispatchable function, either vest (in typical case where the sender is calling on their own behalf) or vest_other in case the sender is calling on another account's behalf.

Interface

This module implements the VestingSchedule trait.

Dispatchable Functions

  • vest - Update the lock, reducing it in line with the amount "vested" so far.
  • vest_other - Update the lock of another account, reducing it in line with the amount "vested" so far.

License: Apache-2.0

Release

Polkadot SDK stable2409

Dependencies

~17–33MB
~529K SLoC