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 . Accounts are exposed externally as an interface and stored internally as a clawback vesting account.
An instance that implements the 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).
Implements the VestingAccount
interface. It contains all the necessary fields needed for any vesting account implementation.
Specifies the account which provides the original tokens and can perform clawback.
Defines the time at which the vesting and lockup schedules begin.
Defines the unlocking schedule relative to the start time.
Defines the vesting schedule relative to the start time.
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.