Crate pallet_vesting
source ·Expand description
Vesting Pallet
Overview
A simple pallet providing a means of placing a linear curve on an account’s locked balance. This
pallet ensures that there is a lock in place preventing the balance to drop below the unvested
amount for any 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 pallet 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.
Re-exports
pub use weights::WeightInfo;
pub use pallet::*;
Modules
- Storage migrations for the vesting pallet.
- The
pallet
module in each FRAME pallet hosts the most important items needed to construct this pallet. - Autogenerated weights for pallet_vesting
Structs
- Struct to encode the vesting schedule of an individual account.