18 releases (1 stable)
1.0.0 | Aug 1, 2024 |
---|---|
0.13.0 | Jun 26, 2024 |
0.12.0 | Jun 3, 2024 |
0.8.0 | Mar 18, 2024 |
0.1.1 | Jun 5, 2020 |
#3 in #vesting
244 downloads per month
37KB
931 lines
Vesting Module
Overview
Vesting module provides a means of scheduled balance lock on an account. It uses the graded vesting way, which unlocks a specific amount of balance every period of time, until all balance unlocked.
Vesting Schedule
The schedule of a vesting is described by data structure VestingSchedule
: from the block number of start
, for every period
amount of blocks, per_period
amount of balance would unlocked, until number of periods period_count
reached. Note in vesting schedules, time is measured by block number. All VestingSchedule
s under an account could be queried in chain state.
Locks
The implementation uses locks which allow tokens to be locked by other pallets that's also using locks, for example, the conviction-voting pallet.
lib.rs
:
Vesting Module
Overview
Vesting module provides a means of scheduled balance lock on an account. It uses the graded vesting way, which unlocks a specific amount of balance every period of time, until all balance unlocked.
Vesting Schedule
The schedule of a vesting is described by data structure VestingSchedule
:
from the block number of start
, for every period
amount of blocks,
per_period
amount of balance would unlocked, until number of periods
period_count
reached. Note in vesting schedules, time is measured by
block number. All VestingSchedule
s under an account could be queried in
chain state.
Interface
Dispatchable Functions
vested_transfer
- Add a new vesting schedule for an account.claim
- Claim unlocked balances.update_vesting_schedules
- Update all vesting schedules under an account,root
origin required.
Dependencies
~19–34MB
~557K SLoC