types

package
v0.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2021 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ModuleName defines the module's name.
	ModuleName = "vesting"

	// AttributeValueCategory is an alias for the message event value.
	AttributeValueCategory = ModuleName

	// RouterKey defines the module's message routing key
	RouterKey = ModuleName
)
View Source
const TypeMsgCreateVestingAccount = "msg_create_vesting_account"

TypeMsgCreateVestingAccount defines the type value for a MsgCreateVestingAccount.

Variables

View Source
var (
	ErrInvalidLengthTx        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTx          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthVesting        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowVesting          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupVesting = fmt.Errorf("proto: unexpected end of group")
)

Functions

func KeyTestPubAddr

func KeyTestPubAddr() (cryptotypes.PrivKey, cryptotypes.PubKey, sdk.AccAddress)

KeyTestPubAddr generates a test key pair

func NewTestCoins

func NewTestCoins() sdk.Coins

NewTestCoins coins to more than cover the fee

func NewTestMsg

func NewTestMsg(addrs ...sdk.AccAddress) *testdata.TestMsg

NewTestMsg generates a test message

func RegisterInterfaces

func RegisterInterfaces(registry types.InterfaceRegistry)

RegisterInterface associates protoName with AccountI and VestingAccount Interfaces and creates a registry of it's concrete implementations

func RegisterLegacyAminoCodec

func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

RegisterLegacyAminoCodec registers the vesting interfaces and concrete types on the provided LegacyAmino codec. These types are used for Amino JSON serialization

func RegisterMsgServer

func RegisterMsgServer(s grpc1.Server, srv MsgServer)

Types

type BankKeeper

type BankKeeper interface {
	IsSendEnabledCoins(ctx sdk.Context, coins ...sdk.Coin) error
	SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
	BlockedAddr(addr sdk.AccAddress) bool
}

BankKeeper defines the expected interface contract the vesting module requires for creating vesting accounts with funds.

type BaseVestingAccount

type BaseVestingAccount struct {
	*types.BaseAccount `protobuf:"bytes,1,opt,name=base_account,json=baseAccount,proto3,embedded=base_account" json:"base_account,omitempty"`
	OriginalVesting    github_com_soominhyunwoo_soominhyunwoo_sdk_types.Coins `` /* 180-byte string literal not displayed */
	DelegatedFree      github_com_soominhyunwoo_soominhyunwoo_sdk_types.Coins `` /* 172-byte string literal not displayed */
	DelegatedVesting   github_com_soominhyunwoo_soominhyunwoo_sdk_types.Coins `` /* 184-byte string literal not displayed */
	EndTime            int64                                                  `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty" yaml:"end_time"`
}

BaseVestingAccount implements the VestingAccount interface. It contains all the necessary fields needed for any vesting account implementation.

func NewBaseVestingAccount

func NewBaseVestingAccount(baseAccount *authtypes.BaseAccount, originalVesting sdk.Coins, endTime int64) *BaseVestingAccount

NewBaseVestingAccount creates a new BaseVestingAccount object. It is the callers responsibility to ensure the base account has sufficient funds with regards to the original vesting amount.

func (*BaseVestingAccount) Descriptor

func (*BaseVestingAccount) Descriptor() ([]byte, []int)

func (BaseVestingAccount) GetDelegatedFree

func (bva BaseVestingAccount) GetDelegatedFree() sdk.Coins

GetDelegatedFree returns a vesting account's delegation amount that is not vesting.

func (BaseVestingAccount) GetDelegatedVesting

func (bva BaseVestingAccount) GetDelegatedVesting() sdk.Coins

GetDelegatedVesting returns a vesting account's delegation amount that is still vesting.

func (BaseVestingAccount) GetEndTime

func (bva BaseVestingAccount) GetEndTime() int64

GetEndTime returns a vesting account's end time

func (BaseVestingAccount) GetOriginalVesting

func (bva BaseVestingAccount) GetOriginalVesting() sdk.Coins

GetOriginalVesting returns a vesting account's original vesting amount

func (BaseVestingAccount) LockedCoinsFromVesting

func (bva BaseVestingAccount) LockedCoinsFromVesting(vestingCoins sdk.Coins) sdk.Coins

LockedCoinsFromVesting returns all the coins that are not spendable (i.e. locked) for a vesting account given the current vesting coins. If no coins are locked, an empty slice of Coins is returned.

CONTRACT: Delegated vesting coins and vestingCoins must be sorted.

func (*BaseVestingAccount) Marshal

func (m *BaseVestingAccount) Marshal() (dAtA []byte, err error)

func (*BaseVestingAccount) MarshalTo

func (m *BaseVestingAccount) MarshalTo(dAtA []byte) (int, error)

func (*BaseVestingAccount) MarshalToSizedBuffer

func (m *BaseVestingAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (BaseVestingAccount) MarshalYAML

func (bva BaseVestingAccount) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of a BaseVestingAccount.

func (*BaseVestingAccount) ProtoMessage

func (*BaseVestingAccount) ProtoMessage()

func (*BaseVestingAccount) Reset

func (m *BaseVestingAccount) Reset()

func (*BaseVestingAccount) Size

func (m *BaseVestingAccount) Size() (n int)

func (BaseVestingAccount) String

func (bva BaseVestingAccount) String() string

func (*BaseVestingAccount) TrackDelegation

func (bva *BaseVestingAccount) TrackDelegation(balance, vestingCoins, amount sdk.Coins)

TrackDelegation tracks a delegation amount for any given vesting account type given the amount of coins currently vesting and the current account balance of the delegation denominations.

CONTRACT: The account's coins, delegation coins, vesting coins, and delegated vesting coins must be sorted.

func (*BaseVestingAccount) TrackUndelegation

func (bva *BaseVestingAccount) TrackUndelegation(amount sdk.Coins)

TrackUndelegation tracks an undelegation amount by setting the necessary values by which delegated vesting and delegated vesting need to decrease and by which amount the base coins need to increase.

NOTE: The undelegation (bond refund) amount may exceed the delegated vesting (bond) amount due to the way undelegation truncates the bond refund, which can increase the validator's exchange rate (tokens/shares) slightly if the undelegated tokens are non-integral.

CONTRACT: The account's coins and undelegation coins must be sorted.

func (*BaseVestingAccount) Unmarshal

func (m *BaseVestingAccount) Unmarshal(dAtA []byte) error

func (BaseVestingAccount) Validate

func (bva BaseVestingAccount) Validate() error

Validate checks for errors on the account fields

func (*BaseVestingAccount) XXX_DiscardUnknown

func (m *BaseVestingAccount) XXX_DiscardUnknown()

func (*BaseVestingAccount) XXX_Marshal

func (m *BaseVestingAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BaseVestingAccount) XXX_Merge

func (m *BaseVestingAccount) XXX_Merge(src proto.Message)

func (*BaseVestingAccount) XXX_Size

func (m *BaseVestingAccount) XXX_Size() int

func (*BaseVestingAccount) XXX_Unmarshal

func (m *BaseVestingAccount) XXX_Unmarshal(b []byte) error

type ContinuousVestingAccount

type ContinuousVestingAccount struct {
	*BaseVestingAccount ``    /* 147-byte string literal not displayed */
	StartTime           int64 `protobuf:"varint,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty" yaml:"start_time"`
}

ContinuousVestingAccount implements the VestingAccount interface. It continuously vests by unlocking coins linearly with respect to time.

func NewContinuousVestingAccount

func NewContinuousVestingAccount(baseAcc *authtypes.BaseAccount, originalVesting sdk.Coins, startTime, endTime int64) *ContinuousVestingAccount

NewContinuousVestingAccount returns a new ContinuousVestingAccount

func NewContinuousVestingAccountRaw

func NewContinuousVestingAccountRaw(bva *BaseVestingAccount, startTime int64) *ContinuousVestingAccount

NewContinuousVestingAccountRaw creates a new ContinuousVestingAccount object from BaseVestingAccount

func (*ContinuousVestingAccount) Descriptor

func (*ContinuousVestingAccount) Descriptor() ([]byte, []int)

func (ContinuousVestingAccount) GetStartTime

func (cva ContinuousVestingAccount) GetStartTime() int64

GetStartTime returns the time when vesting starts for a continuous vesting account.

func (ContinuousVestingAccount) GetVestedCoins

func (cva ContinuousVestingAccount) GetVestedCoins(blockTime time.Time) sdk.Coins

GetVestedCoins returns the total number of vested coins. If no coins are vested, nil is returned.

func (ContinuousVestingAccount) GetVestingCoins

func (cva ContinuousVestingAccount) GetVestingCoins(blockTime time.Time) sdk.Coins

GetVestingCoins returns the total number of vesting coins. If no coins are vesting, nil is returned.

func (ContinuousVestingAccount) LockedCoins

func (cva ContinuousVestingAccount) LockedCoins(blockTime time.Time) sdk.Coins

LockedCoins returns the set of coins that are not spendable (i.e. locked), defined as the vesting coins that are not delegated.

func (*ContinuousVestingAccount) Marshal

func (m *ContinuousVestingAccount) Marshal() (dAtA []byte, err error)

func (*ContinuousVestingAccount) MarshalTo

func (m *ContinuousVestingAccount) MarshalTo(dAtA []byte) (int, error)

func (*ContinuousVestingAccount) MarshalToSizedBuffer

func (m *ContinuousVestingAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (ContinuousVestingAccount) MarshalYAML

func (cva ContinuousVestingAccount) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of a ContinuousVestingAccount.

func (*ContinuousVestingAccount) ProtoMessage

func (*ContinuousVestingAccount) ProtoMessage()

func (*ContinuousVestingAccount) Reset

func (m *ContinuousVestingAccount) Reset()

func (*ContinuousVestingAccount) Size

func (m *ContinuousVestingAccount) Size() (n int)

func (ContinuousVestingAccount) String

func (cva ContinuousVestingAccount) String() string

func (*ContinuousVestingAccount) TrackDelegation

func (cva *ContinuousVestingAccount) TrackDelegation(blockTime time.Time, balance, amount sdk.Coins)

TrackDelegation tracks a desired delegation amount by setting the appropriate values for the amount of delegated vesting, delegated free, and reducing the overall amount of base coins.

func (*ContinuousVestingAccount) Unmarshal

func (m *ContinuousVestingAccount) Unmarshal(dAtA []byte) error

func (ContinuousVestingAccount) Validate

func (cva ContinuousVestingAccount) Validate() error

Validate checks for errors on the account fields

func (*ContinuousVestingAccount) XXX_DiscardUnknown

func (m *ContinuousVestingAccount) XXX_DiscardUnknown()

func (*ContinuousVestingAccount) XXX_Marshal

func (m *ContinuousVestingAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ContinuousVestingAccount) XXX_Merge

func (m *ContinuousVestingAccount) XXX_Merge(src proto.Message)

func (*ContinuousVestingAccount) XXX_Size

func (m *ContinuousVestingAccount) XXX_Size() int

func (*ContinuousVestingAccount) XXX_Unmarshal

func (m *ContinuousVestingAccount) XXX_Unmarshal(b []byte) error

type DelayedVestingAccount

type DelayedVestingAccount struct {
	*BaseVestingAccount `` /* 147-byte string literal not displayed */
}

DelayedVestingAccount implements the VestingAccount interface. It vests all coins after a specific time, but non prior. In other words, it keeps them locked until a specified time.

func NewDelayedVestingAccount

func NewDelayedVestingAccount(baseAcc *authtypes.BaseAccount, originalVesting sdk.Coins, endTime int64) *DelayedVestingAccount

NewDelayedVestingAccount returns a DelayedVestingAccount

func NewDelayedVestingAccountRaw

func NewDelayedVestingAccountRaw(bva *BaseVestingAccount) *DelayedVestingAccount

NewDelayedVestingAccountRaw creates a new DelayedVestingAccount object from BaseVestingAccount

func (*DelayedVestingAccount) Descriptor

func (*DelayedVestingAccount) Descriptor() ([]byte, []int)

func (DelayedVestingAccount) GetStartTime

func (dva DelayedVestingAccount) GetStartTime() int64

GetStartTime returns zero since a delayed vesting account has no start time.

func (DelayedVestingAccount) GetVestedCoins

func (dva DelayedVestingAccount) GetVestedCoins(blockTime time.Time) sdk.Coins

GetVestedCoins returns the total amount of vested coins for a delayed vesting account. All coins are only vested once the schedule has elapsed.

func (DelayedVestingAccount) GetVestingCoins

func (dva DelayedVestingAccount) GetVestingCoins(blockTime time.Time) sdk.Coins

GetVestingCoins returns the total number of vesting coins for a delayed vesting account.

func (DelayedVestingAccount) LockedCoins

func (dva DelayedVestingAccount) LockedCoins(blockTime time.Time) sdk.Coins

LockedCoins returns the set of coins that are not spendable (i.e. locked), defined as the vesting coins that are not delegated.

func (*DelayedVestingAccount) Marshal

func (m *DelayedVestingAccount) Marshal() (dAtA []byte, err error)

func (*DelayedVestingAccount) MarshalTo

func (m *DelayedVestingAccount) MarshalTo(dAtA []byte) (int, error)

func (*DelayedVestingAccount) MarshalToSizedBuffer

func (m *DelayedVestingAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*DelayedVestingAccount) ProtoMessage

func (*DelayedVestingAccount) ProtoMessage()

func (*DelayedVestingAccount) Reset

func (m *DelayedVestingAccount) Reset()

func (*DelayedVestingAccount) Size

func (m *DelayedVestingAccount) Size() (n int)

func (DelayedVestingAccount) String

func (dva DelayedVestingAccount) String() string

func (*DelayedVestingAccount) TrackDelegation

func (dva *DelayedVestingAccount) TrackDelegation(blockTime time.Time, balance, amount sdk.Coins)

TrackDelegation tracks a desired delegation amount by setting the appropriate values for the amount of delegated vesting, delegated free, and reducing the overall amount of base coins.

func (*DelayedVestingAccount) Unmarshal

func (m *DelayedVestingAccount) Unmarshal(dAtA []byte) error

func (DelayedVestingAccount) Validate

func (dva DelayedVestingAccount) Validate() error

Validate checks for errors on the account fields

func (*DelayedVestingAccount) XXX_DiscardUnknown

func (m *DelayedVestingAccount) XXX_DiscardUnknown()

func (*DelayedVestingAccount) XXX_Marshal

func (m *DelayedVestingAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DelayedVestingAccount) XXX_Merge

func (m *DelayedVestingAccount) XXX_Merge(src proto.Message)

func (*DelayedVestingAccount) XXX_Size

func (m *DelayedVestingAccount) XXX_Size() int

func (*DelayedVestingAccount) XXX_Unmarshal

func (m *DelayedVestingAccount) XXX_Unmarshal(b []byte) error

type MsgClient

type MsgClient interface {
	// CreateVestingAccount defines a method that enables creating a vesting
	// account.
	CreateVestingAccount(ctx context.Context, in *MsgCreateVestingAccount, opts ...grpc.CallOption) (*MsgCreateVestingAccountResponse, error)
}

MsgClient is the client API for Msg service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewMsgClient

func NewMsgClient(cc grpc1.ClientConn) MsgClient

type MsgCreateVestingAccount

type MsgCreateVestingAccount struct {
	FromAddress string                                                 `protobuf:"bytes,1,opt,name=from_address,json=fromAddress,proto3" json:"from_address,omitempty" yaml:"from_address"`
	ToAddress   string                                                 `protobuf:"bytes,2,opt,name=to_address,json=toAddress,proto3" json:"to_address,omitempty" yaml:"to_address"`
	Amount      github_com_soominhyunwoo_soominhyunwoo_sdk_types.Coins `protobuf:"bytes,3,rep,name=amount,proto3,castrepeated=github.com/soominhyunwoo/chain-sdk/types.Coins" json:"amount"`
	EndTime     int64                                                  `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty" yaml:"end_time"`
	Delayed     bool                                                   `protobuf:"varint,5,opt,name=delayed,proto3" json:"delayed,omitempty"`
}

MsgCreateVestingAccount defines a message that enables creating a vesting account.

func NewMsgCreateVestingAccount

func NewMsgCreateVestingAccount(fromAddr, toAddr sdk.AccAddress, amount sdk.Coins, endTime int64, delayed bool) *MsgCreateVestingAccount

NewMsgCreateVestingAccount returns a reference to a new MsgCreateVestingAccount.

func (*MsgCreateVestingAccount) Descriptor

func (*MsgCreateVestingAccount) Descriptor() ([]byte, []int)

func (*MsgCreateVestingAccount) Equal

func (this *MsgCreateVestingAccount) Equal(that interface{}) bool

func (*MsgCreateVestingAccount) GetAmount

func (*MsgCreateVestingAccount) GetDelayed

func (m *MsgCreateVestingAccount) GetDelayed() bool

func (*MsgCreateVestingAccount) GetEndTime

func (m *MsgCreateVestingAccount) GetEndTime() int64

func (*MsgCreateVestingAccount) GetFromAddress

func (m *MsgCreateVestingAccount) GetFromAddress() string

func (MsgCreateVestingAccount) GetSignBytes

func (msg MsgCreateVestingAccount) GetSignBytes() []byte

GetSignBytes returns the bytes all expected signers must sign over for a MsgCreateVestingAccount.

func (MsgCreateVestingAccount) GetSigners

func (msg MsgCreateVestingAccount) GetSigners() []sdk.AccAddress

GetSigners returns the expected signers for a MsgCreateVestingAccount.

func (*MsgCreateVestingAccount) GetToAddress

func (m *MsgCreateVestingAccount) GetToAddress() string

func (*MsgCreateVestingAccount) Marshal

func (m *MsgCreateVestingAccount) Marshal() (dAtA []byte, err error)

func (*MsgCreateVestingAccount) MarshalTo

func (m *MsgCreateVestingAccount) MarshalTo(dAtA []byte) (int, error)

func (*MsgCreateVestingAccount) MarshalToSizedBuffer

func (m *MsgCreateVestingAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MsgCreateVestingAccount) ProtoMessage

func (*MsgCreateVestingAccount) ProtoMessage()

func (*MsgCreateVestingAccount) Reset

func (m *MsgCreateVestingAccount) Reset()

func (MsgCreateVestingAccount) Route

func (msg MsgCreateVestingAccount) Route() string

Route returns the message route for a MsgCreateVestingAccount.

func (*MsgCreateVestingAccount) Size

func (m *MsgCreateVestingAccount) Size() (n int)

func (*MsgCreateVestingAccount) String

func (m *MsgCreateVestingAccount) String() string

func (MsgCreateVestingAccount) Type

func (msg MsgCreateVestingAccount) Type() string

Type returns the message type for a MsgCreateVestingAccount.

func (*MsgCreateVestingAccount) Unmarshal

func (m *MsgCreateVestingAccount) Unmarshal(dAtA []byte) error

func (MsgCreateVestingAccount) ValidateBasic

func (msg MsgCreateVestingAccount) ValidateBasic() error

ValidateBasic Implements Msg.

func (*MsgCreateVestingAccount) XXX_DiscardUnknown

func (m *MsgCreateVestingAccount) XXX_DiscardUnknown()

func (*MsgCreateVestingAccount) XXX_Marshal

func (m *MsgCreateVestingAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MsgCreateVestingAccount) XXX_Merge

func (m *MsgCreateVestingAccount) XXX_Merge(src proto.Message)

func (*MsgCreateVestingAccount) XXX_Size

func (m *MsgCreateVestingAccount) XXX_Size() int

func (*MsgCreateVestingAccount) XXX_Unmarshal

func (m *MsgCreateVestingAccount) XXX_Unmarshal(b []byte) error

type MsgCreateVestingAccountResponse

type MsgCreateVestingAccountResponse struct {
}

MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount response type.

func (*MsgCreateVestingAccountResponse) Descriptor

func (*MsgCreateVestingAccountResponse) Descriptor() ([]byte, []int)

func (*MsgCreateVestingAccountResponse) Marshal

func (m *MsgCreateVestingAccountResponse) Marshal() (dAtA []byte, err error)

func (*MsgCreateVestingAccountResponse) MarshalTo

func (m *MsgCreateVestingAccountResponse) MarshalTo(dAtA []byte) (int, error)

func (*MsgCreateVestingAccountResponse) MarshalToSizedBuffer

func (m *MsgCreateVestingAccountResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*MsgCreateVestingAccountResponse) ProtoMessage

func (*MsgCreateVestingAccountResponse) ProtoMessage()

func (*MsgCreateVestingAccountResponse) Reset

func (*MsgCreateVestingAccountResponse) Size

func (m *MsgCreateVestingAccountResponse) Size() (n int)

func (*MsgCreateVestingAccountResponse) String

func (*MsgCreateVestingAccountResponse) Unmarshal

func (m *MsgCreateVestingAccountResponse) Unmarshal(dAtA []byte) error

func (*MsgCreateVestingAccountResponse) XXX_DiscardUnknown

func (m *MsgCreateVestingAccountResponse) XXX_DiscardUnknown()

func (*MsgCreateVestingAccountResponse) XXX_Marshal

func (m *MsgCreateVestingAccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*MsgCreateVestingAccountResponse) XXX_Merge

func (m *MsgCreateVestingAccountResponse) XXX_Merge(src proto.Message)

func (*MsgCreateVestingAccountResponse) XXX_Size

func (m *MsgCreateVestingAccountResponse) XXX_Size() int

func (*MsgCreateVestingAccountResponse) XXX_Unmarshal

func (m *MsgCreateVestingAccountResponse) XXX_Unmarshal(b []byte) error

type MsgServer

type MsgServer interface {
	// CreateVestingAccount defines a method that enables creating a vesting
	// account.
	CreateVestingAccount(context.Context, *MsgCreateVestingAccount) (*MsgCreateVestingAccountResponse, error)
}

MsgServer is the server API for Msg service.

type Period

type Period struct {
	Length int64                                                  `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
	Amount github_com_soominhyunwoo_soominhyunwoo_sdk_types.Coins `protobuf:"bytes,2,rep,name=amount,proto3,castrepeated=github.com/soominhyunwoo/chain-sdk/types.Coins" json:"amount"`
}

Period defines a length of time and amount of coins that will vest.

func (*Period) Descriptor

func (*Period) Descriptor() ([]byte, []int)

func (*Period) GetLength

func (m *Period) GetLength() int64

func (*Period) Marshal

func (m *Period) Marshal() (dAtA []byte, err error)

func (*Period) MarshalTo

func (m *Period) MarshalTo(dAtA []byte) (int, error)

func (*Period) MarshalToSizedBuffer

func (m *Period) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Period) ProtoMessage

func (*Period) ProtoMessage()

func (*Period) Reset

func (m *Period) Reset()

func (*Period) Size

func (m *Period) Size() (n int)

func (Period) String

func (p Period) String() string

String Period implements stringer interface

func (*Period) Unmarshal

func (m *Period) Unmarshal(dAtA []byte) error

func (*Period) XXX_DiscardUnknown

func (m *Period) XXX_DiscardUnknown()

func (*Period) XXX_Marshal

func (m *Period) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Period) XXX_Merge

func (m *Period) XXX_Merge(src proto.Message)

func (*Period) XXX_Size

func (m *Period) XXX_Size() int

func (*Period) XXX_Unmarshal

func (m *Period) XXX_Unmarshal(b []byte) error

type PeriodicVestingAccount

type PeriodicVestingAccount struct {
	*BaseVestingAccount ``       /* 147-byte string literal not displayed */
	StartTime           int64    `protobuf:"varint,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty" yaml:"start_time"`
	VestingPeriods      []Period `protobuf:"bytes,3,rep,name=vesting_periods,json=vestingPeriods,proto3" json:"vesting_periods" yaml:"vesting_periods"`
}

PeriodicVestingAccount implements the VestingAccount interface. It periodically vests by unlocking coins during each specified period.

func NewPeriodicVestingAccount

func NewPeriodicVestingAccount(baseAcc *authtypes.BaseAccount, originalVesting sdk.Coins, startTime int64, periods Periods) *PeriodicVestingAccount

NewPeriodicVestingAccount returns a new PeriodicVestingAccount

func NewPeriodicVestingAccountRaw

func NewPeriodicVestingAccountRaw(bva *BaseVestingAccount, startTime int64, periods Periods) *PeriodicVestingAccount

NewPeriodicVestingAccountRaw creates a new PeriodicVestingAccount object from BaseVestingAccount

func (*PeriodicVestingAccount) Descriptor

func (*PeriodicVestingAccount) Descriptor() ([]byte, []int)

func (PeriodicVestingAccount) GetStartTime

func (pva PeriodicVestingAccount) GetStartTime() int64

GetStartTime returns the time when vesting starts for a periodic vesting account.

func (PeriodicVestingAccount) GetVestedCoins

func (pva PeriodicVestingAccount) GetVestedCoins(blockTime time.Time) sdk.Coins

GetVestedCoins returns the total number of vested coins. If no coins are vested, nil is returned.

func (PeriodicVestingAccount) GetVestingCoins

func (pva PeriodicVestingAccount) GetVestingCoins(blockTime time.Time) sdk.Coins

GetVestingCoins returns the total number of vesting coins. If no coins are vesting, nil is returned.

func (PeriodicVestingAccount) GetVestingPeriods

func (pva PeriodicVestingAccount) GetVestingPeriods() Periods

GetVestingPeriods returns vesting periods associated with periodic vesting account.

func (PeriodicVestingAccount) LockedCoins

func (pva PeriodicVestingAccount) LockedCoins(blockTime time.Time) sdk.Coins

LockedCoins returns the set of coins that are not spendable (i.e. locked), defined as the vesting coins that are not delegated.

func (*PeriodicVestingAccount) Marshal

func (m *PeriodicVestingAccount) Marshal() (dAtA []byte, err error)

func (*PeriodicVestingAccount) MarshalTo

func (m *PeriodicVestingAccount) MarshalTo(dAtA []byte) (int, error)

func (*PeriodicVestingAccount) MarshalToSizedBuffer

func (m *PeriodicVestingAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (PeriodicVestingAccount) MarshalYAML

func (pva PeriodicVestingAccount) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of a PeriodicVestingAccount.

func (*PeriodicVestingAccount) ProtoMessage

func (*PeriodicVestingAccount) ProtoMessage()

func (*PeriodicVestingAccount) Reset

func (m *PeriodicVestingAccount) Reset()

func (*PeriodicVestingAccount) Size

func (m *PeriodicVestingAccount) Size() (n int)

func (PeriodicVestingAccount) String

func (pva PeriodicVestingAccount) String() string

func (*PeriodicVestingAccount) TrackDelegation

func (pva *PeriodicVestingAccount) TrackDelegation(blockTime time.Time, balance, amount sdk.Coins)

TrackDelegation tracks a desired delegation amount by setting the appropriate values for the amount of delegated vesting, delegated free, and reducing the overall amount of base coins.

func (*PeriodicVestingAccount) Unmarshal

func (m *PeriodicVestingAccount) Unmarshal(dAtA []byte) error

func (PeriodicVestingAccount) Validate

func (pva PeriodicVestingAccount) Validate() error

Validate checks for errors on the account fields

func (*PeriodicVestingAccount) XXX_DiscardUnknown

func (m *PeriodicVestingAccount) XXX_DiscardUnknown()

func (*PeriodicVestingAccount) XXX_Marshal

func (m *PeriodicVestingAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PeriodicVestingAccount) XXX_Merge

func (m *PeriodicVestingAccount) XXX_Merge(src proto.Message)

func (*PeriodicVestingAccount) XXX_Size

func (m *PeriodicVestingAccount) XXX_Size() int

func (*PeriodicVestingAccount) XXX_Unmarshal

func (m *PeriodicVestingAccount) XXX_Unmarshal(b []byte) error

type Periods

type Periods []Period

Periods stores all vesting periods passed as part of a PeriodicVestingAccount

func (Periods) String

func (vp Periods) String() string

String Periods implements stringer interface

type PermanentLockedAccount

type PermanentLockedAccount struct {
	*BaseVestingAccount `` /* 147-byte string literal not displayed */
}

PermanentLockedAccount implements the VestingAccount interface. It does not ever release coins, locking them indefinitely. Coins in this account can still be used for delegating and for governance votes even while locked.

func NewPermanentLockedAccount

func NewPermanentLockedAccount(baseAcc *authtypes.BaseAccount, coins sdk.Coins) *PermanentLockedAccount

NewPermanentLockedAccount returns a PermanentLockedAccount

func (*PermanentLockedAccount) Descriptor

func (*PermanentLockedAccount) Descriptor() ([]byte, []int)

func (PermanentLockedAccount) GetEndTime

func (plva PermanentLockedAccount) GetEndTime() int64

GetEndTime returns a vesting account's end time, we return 0 to denote that a permanently locked vesting account has no end time.

func (PermanentLockedAccount) GetStartTime

func (plva PermanentLockedAccount) GetStartTime() int64

GetStartTime returns zero since a permanent locked vesting account has no start time.

func (PermanentLockedAccount) GetVestedCoins

func (plva PermanentLockedAccount) GetVestedCoins(_ time.Time) sdk.Coins

GetVestedCoins returns the total amount of vested coins for a permanent locked vesting account. All coins are only vested once the schedule has elapsed.

func (PermanentLockedAccount) GetVestingCoins

func (plva PermanentLockedAccount) GetVestingCoins(_ time.Time) sdk.Coins

GetVestingCoins returns the total number of vesting coins for a permanent locked vesting account.

func (PermanentLockedAccount) LockedCoins

func (plva PermanentLockedAccount) LockedCoins(_ time.Time) sdk.Coins

LockedCoins returns the set of coins that are not spendable (i.e. locked), defined as the vesting coins that are not delegated.

func (*PermanentLockedAccount) Marshal

func (m *PermanentLockedAccount) Marshal() (dAtA []byte, err error)

func (*PermanentLockedAccount) MarshalTo

func (m *PermanentLockedAccount) MarshalTo(dAtA []byte) (int, error)

func (*PermanentLockedAccount) MarshalToSizedBuffer

func (m *PermanentLockedAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*PermanentLockedAccount) ProtoMessage

func (*PermanentLockedAccount) ProtoMessage()

func (*PermanentLockedAccount) Reset

func (m *PermanentLockedAccount) Reset()

func (*PermanentLockedAccount) Size

func (m *PermanentLockedAccount) Size() (n int)

func (PermanentLockedAccount) String

func (plva PermanentLockedAccount) String() string

func (*PermanentLockedAccount) TrackDelegation

func (plva *PermanentLockedAccount) TrackDelegation(blockTime time.Time, balance, amount sdk.Coins)

TrackDelegation tracks a desired delegation amount by setting the appropriate values for the amount of delegated vesting, delegated free, and reducing the overall amount of base coins.

func (*PermanentLockedAccount) Unmarshal

func (m *PermanentLockedAccount) Unmarshal(dAtA []byte) error

func (PermanentLockedAccount) Validate

func (plva PermanentLockedAccount) Validate() error

Validate checks for errors on the account fields

func (*PermanentLockedAccount) XXX_DiscardUnknown

func (m *PermanentLockedAccount) XXX_DiscardUnknown()

func (*PermanentLockedAccount) XXX_Marshal

func (m *PermanentLockedAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*PermanentLockedAccount) XXX_Merge

func (m *PermanentLockedAccount) XXX_Merge(src proto.Message)

func (*PermanentLockedAccount) XXX_Size

func (m *PermanentLockedAccount) XXX_Size() int

func (*PermanentLockedAccount) XXX_Unmarshal

func (m *PermanentLockedAccount) XXX_Unmarshal(b []byte) error

type UnimplementedMsgServer

type UnimplementedMsgServer struct {
}

UnimplementedMsgServer can be embedded to have forward compatible implementations.

func (*UnimplementedMsgServer) CreateVestingAccount

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL