State
State Objects
The x/vesting
module does not keep objects in its own store. Instead, it uses the SDK auth
module to store account objects in state using the Account Interface. Accounts are exposed externally as an interface and stored internally as a clawback vesting account.
ClawbackVestingAccount
An instance that implements the Vesting Account interface. It provides an account that can hold contributions subject to lockup, or vesting which is subject to clawback of unvested tokens, or a combination (tokens vest, but are still locked).
BaseVestingAccount
Implements the VestingAccount
interface. It contains all the necessary fields needed for any vesting account implementation.
FunderAddress
Specifies the account which provides the original tokens and can perform clawback.
StartTime
Defines the time at which the vesting and lockup schedules begin.
LockupPeriods
Defines the unlocking schedule relative to the start time.
VestingPeriods
Defines the vesting schedule relative to the start time.
Genesis State
The x/vesting
module allows the definition of ClawbackVestingAccounts
at genesis. In this case, the account balance must be logged in the SDK bank
module balances or automatically adjusted through the add-genesis-account
CLI command.