github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/auth/vesting/exported/exported.go (about)

     1  package exported
     2  
     3  import (
     4  	"time"
     5  
     6  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     7  	authexported "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/auth/exported"
     8  )
     9  
    10  // VestingAccount defines an account type that vests coins via a vesting schedule.
    11  type VestingAccount interface {
    12  	authexported.Account
    13  
    14  	// Delegation and undelegation accounting that returns the resulting base
    15  	// coins amount.
    16  	TrackDelegation(blockTime time.Time, amount sdk.Coins)
    17  	TrackUndelegation(amount sdk.Coins)
    18  
    19  	GetVestedCoins(blockTime time.Time) sdk.Coins
    20  	GetVestingCoins(blockTime time.Time) sdk.Coins
    21  
    22  	GetStartTime() int64
    23  	GetEndTime() int64
    24  
    25  	GetOriginalVesting() sdk.Coins
    26  	GetDelegatedFree() sdk.Coins
    27  	GetDelegatedVesting() sdk.Coins
    28  }