types

package
v0.28.0-rc0 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2018 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

nolint

Index

Constants

View Source
const (

	// Delay, in blocks, between when validator updates are returned to Tendermint and when they are applied
	// For example, if this is 0, the validator set at the end of a block will sign the next block, or
	// if this is 1, the validator set at the end of a block will sign the block after the next.
	// Constant as this should not change without a hard fork.
	ValidatorUpdateDelay int64 = 1

	// Default bondable coin denomination
	DefaultBondDenom = "STAKE"
)
View Source
const DoNotModifyDesc = "[do-not-modify]"

constant used in flags to indicate that description field should not be updated

View Source
const MsgRoute = "stake"

name to identify transaction routes

Variables

View Source
var (
	KeyUnbondingTime = []byte("UnbondingTime")
	KeyMaxValidators = []byte("MaxValidators")
	KeyBondDenom     = []byte("BondDenom")
)

nolint - Keys for parameter access

View Source
var MsgCdc *codec.Codec

generic sealed codec to be used throughout sdk

Functions

func ErrBadDelegationAddr added in v0.25.0

func ErrBadDelegationAddr(codespace sdk.CodespaceType) sdk.Error

func ErrBadDelegationAmount

func ErrBadDelegationAmount(codespace sdk.CodespaceType) sdk.Error

func ErrBadDelegatorAddr

func ErrBadDelegatorAddr(codespace sdk.CodespaceType) sdk.Error

func ErrBadDenom

func ErrBadDenom(codespace sdk.CodespaceType) sdk.Error

func ErrBadRedelegationAddr added in v0.25.0

func ErrBadRedelegationAddr(codespace sdk.CodespaceType) sdk.Error

func ErrBadRedelegationDst

func ErrBadRedelegationDst(codespace sdk.CodespaceType) sdk.Error

func ErrBadRemoveValidator

func ErrBadRemoveValidator(codespace sdk.CodespaceType) sdk.Error

func ErrBadSharesAmount

func ErrBadSharesAmount(codespace sdk.CodespaceType) sdk.Error

func ErrBadSharesPercent

func ErrBadSharesPercent(codespace sdk.CodespaceType) sdk.Error

func ErrBadValidatorAddr added in v0.25.0

func ErrBadValidatorAddr(codespace sdk.CodespaceType) sdk.Error

func ErrBothShareMsgsGiven

func ErrBothShareMsgsGiven(codespace sdk.CodespaceType) sdk.Error

func ErrCommissionChangeRateGTMaxRate added in v0.25.0

func ErrCommissionChangeRateGTMaxRate(codespace sdk.CodespaceType) sdk.Error

func ErrCommissionChangeRateNegative added in v0.25.0

func ErrCommissionChangeRateNegative(codespace sdk.CodespaceType) sdk.Error

func ErrCommissionGTMaxChangeRate added in v0.25.0

func ErrCommissionGTMaxChangeRate(codespace sdk.CodespaceType) sdk.Error

func ErrCommissionGTMaxRate added in v0.25.0

func ErrCommissionGTMaxRate(codespace sdk.CodespaceType) sdk.Error

func ErrCommissionHuge

func ErrCommissionHuge(codespace sdk.CodespaceType) sdk.Error

func ErrCommissionNegative

func ErrCommissionNegative(codespace sdk.CodespaceType) sdk.Error

func ErrCommissionUpdateTime added in v0.25.0

func ErrCommissionUpdateTime(codespace sdk.CodespaceType) sdk.Error

func ErrConflictingRedelegation added in v0.25.0

func ErrConflictingRedelegation(codespace sdk.CodespaceType) sdk.Error

func ErrDelegationValidatorEmpty

func ErrDelegationValidatorEmpty(codespace sdk.CodespaceType) sdk.Error

func ErrDelegatorShareExRateInvalid added in v0.26.0

func ErrDelegatorShareExRateInvalid(codespace sdk.CodespaceType) sdk.Error

func ErrDescriptionLength

func ErrDescriptionLength(codespace sdk.CodespaceType, descriptor string, got, max int) sdk.Error

func ErrExistingUnbondingDelegation added in v0.24.0

func ErrExistingUnbondingDelegation(codespace sdk.CodespaceType) sdk.Error

func ErrInsufficientShares

func ErrInsufficientShares(codespace sdk.CodespaceType) sdk.Error

func ErrMissingSignature

func ErrMissingSignature(codespace sdk.CodespaceType) sdk.Error

func ErrNeitherShareMsgsGiven

func ErrNeitherShareMsgsGiven(codespace sdk.CodespaceType) sdk.Error

func ErrNilDelegatorAddr

func ErrNilDelegatorAddr(codespace sdk.CodespaceType) sdk.Error

func ErrNilValidatorAddr

func ErrNilValidatorAddr(codespace sdk.CodespaceType) sdk.Error

validator

func ErrNoDelegation

func ErrNoDelegation(codespace sdk.CodespaceType) sdk.Error

func ErrNoDelegatorForAddress

func ErrNoDelegatorForAddress(codespace sdk.CodespaceType) sdk.Error

func ErrNoRedelegation

func ErrNoRedelegation(codespace sdk.CodespaceType) sdk.Error

func ErrNoUnbondingDelegation

func ErrNoUnbondingDelegation(codespace sdk.CodespaceType) sdk.Error

func ErrNoValidatorFound

func ErrNoValidatorFound(codespace sdk.CodespaceType) sdk.Error

func ErrNotEnoughDelegationShares

func ErrNotEnoughDelegationShares(codespace sdk.CodespaceType, shares string) sdk.Error

func ErrNotMature

func ErrNotMature(codespace sdk.CodespaceType, operation, descriptor string, got, min time.Time) sdk.Error

func ErrSelfRedelegation added in v0.26.0

func ErrSelfRedelegation(codespace sdk.CodespaceType) sdk.Error

func ErrTransitiveRedelegation

func ErrTransitiveRedelegation(codespace sdk.CodespaceType) sdk.Error

func ErrValidatorJailed added in v0.25.0

func ErrValidatorJailed(codespace sdk.CodespaceType) sdk.Error

func ErrValidatorOwnerExists

func ErrValidatorOwnerExists(codespace sdk.CodespaceType) sdk.Error

func ErrValidatorPubKeyExists

func ErrValidatorPubKeyExists(codespace sdk.CodespaceType) sdk.Error

func ErrValidatorPubKeyTypeNotSupported added in v0.27.0

func ErrValidatorPubKeyTypeNotSupported(codespace sdk.CodespaceType, keyType string, supportedTypes []string) sdk.Error

func ErrVerySmallRedelegation added in v0.27.0

func ErrVerySmallRedelegation(codespace sdk.CodespaceType) sdk.Error

func MustMarshalDelegation

func MustMarshalDelegation(cdc *codec.Codec, delegation Delegation) []byte

return the delegation without fields contained within the key for the store

func MustMarshalRED

func MustMarshalRED(cdc *codec.Codec, red Redelegation) []byte

return the redelegation without fields contained within the key for the store

func MustMarshalUBD

func MustMarshalUBD(cdc *codec.Codec, ubd UnbondingDelegation) []byte

return the unbonding delegation without fields contained within the key for the store

func MustMarshalValidator

func MustMarshalValidator(cdc *codec.Codec, validator Validator) []byte

return the redelegation without fields contained within the key for the store

func RegisterCodec added in v0.25.0

func RegisterCodec(cdc *codec.Codec)

Register concrete types on codec codec

Types

type CodeType

type CodeType = sdk.CodeType
const (
	DefaultCodespace sdk.CodespaceType = "STAKE"

	CodeInvalidValidator  CodeType = 101
	CodeInvalidDelegation CodeType = 102
	CodeInvalidInput      CodeType = 103
	CodeValidatorJailed   CodeType = 104
	CodeInvalidAddress    CodeType = sdk.CodeInvalidAddress
	CodeUnauthorized      CodeType = sdk.CodeUnauthorized
	CodeInternal          CodeType = sdk.CodeInternal
	CodeUnknownRequest    CodeType = sdk.CodeUnknownRequest
)

type Commission added in v0.25.0

type Commission struct {
	Rate          sdk.Dec   `json:"rate"`            // the commission rate charged to delegators
	MaxRate       sdk.Dec   `json:"max_rate"`        // maximum commission rate which this validator can ever charge
	MaxChangeRate sdk.Dec   `json:"max_change_rate"` // maximum daily increase of the validator commission
	UpdateTime    time.Time `json:"update_time"`     // the last time the commission rate was changed
}

Commission defines a commission parameters for a given validator.

func NewCommission added in v0.25.0

func NewCommission(rate, maxRate, maxChangeRate sdk.Dec) Commission

NewCommission returns an initialized validator commission.

func NewCommissionWithTime added in v0.25.0

func NewCommissionWithTime(rate, maxRate, maxChangeRate sdk.Dec, updatedAt time.Time) Commission

NewCommission returns an initialized validator commission with a specified update time which should be the current block BFT time.

func (Commission) Equal added in v0.25.0

func (c Commission) Equal(c2 Commission) bool

Equal checks if the given Commission object is equal to the receiving Commission object.

func (Commission) String added in v0.25.0

func (c Commission) String() string

String implements the Stringer interface for a Commission.

func (Commission) Validate added in v0.25.0

func (c Commission) Validate() sdk.Error

Validate performs basic sanity validation checks of initial commission parameters. If validation fails, an SDK error is returned.

func (Commission) ValidateNewRate added in v0.25.0

func (c Commission) ValidateNewRate(newRate sdk.Dec, blockTime time.Time) sdk.Error

ValidateNewRate performs basic sanity validation checks of a new commission rate. If validation fails, an SDK error is returned.

type CommissionMsg added in v0.25.0

type CommissionMsg struct {
	Rate          sdk.Dec `json:"rate"`            // the commission rate charged to delegators
	MaxRate       sdk.Dec `json:"max_rate"`        // maximum commission rate which validator can ever charge
	MaxChangeRate sdk.Dec `json:"max_change_rate"` // maximum daily increase of the validator commission
}

CommissionMsg defines a commission message to be used for creating a validator.

func NewCommissionMsg added in v0.25.0

func NewCommissionMsg(rate, maxRate, maxChangeRate sdk.Dec) CommissionMsg

NewCommissionMsg returns an initialized validator commission message.

type DVPair added in v0.25.0

type DVPair struct {
	DelegatorAddr sdk.AccAddress
	ValidatorAddr sdk.ValAddress
}

DVPair is struct that just has a delegator-validator pair with no other data. It is intended to be used as a marshalable pointer. For example, a DVPair can be used to construct the key to getting an UnbondingDelegation from state.

type DVVTriplet added in v0.25.0

type DVVTriplet struct {
	DelegatorAddr    sdk.AccAddress
	ValidatorSrcAddr sdk.ValAddress
	ValidatorDstAddr sdk.ValAddress
}

DVVTriplet is struct that just has a delegator-validator-validator triplet with no other data. It is intended to be used as a marshalable pointer. For example, a DVVTriplet can be used to construct the key to getting a Redelegation from state.

type Delegation

type Delegation struct {
	DelegatorAddr sdk.AccAddress `json:"delegator_addr"`
	ValidatorAddr sdk.ValAddress `json:"validator_addr"`
	Shares        sdk.Dec        `json:"shares"`
}

Delegation represents the bond with tokens held by an account. It is owned by one delegator, and is associated with the voting power of one pubKey.

func MustUnmarshalDelegation

func MustUnmarshalDelegation(cdc *codec.Codec, key, value []byte) Delegation

return the delegation without fields contained within the key for the store

func UnmarshalDelegation

func UnmarshalDelegation(cdc *codec.Codec, key, value []byte) (delegation Delegation, err error)

return the delegation without fields contained within the key for the store

func (Delegation) Equal

func (d Delegation) Equal(d2 Delegation) bool

nolint

func (Delegation) GetDelegatorAddr added in v0.25.0

func (d Delegation) GetDelegatorAddr() sdk.AccAddress

nolint - for sdk.Delegation

func (Delegation) GetShares added in v0.25.0

func (d Delegation) GetShares() sdk.Dec

func (Delegation) GetValidatorAddr added in v0.25.0

func (d Delegation) GetValidatorAddr() sdk.ValAddress

func (Delegation) HumanReadableString

func (d Delegation) HumanReadableString() (string, error)

HumanReadableString returns a human readable string representation of a Delegation. An error is returned if the Delegation's delegator or validator addresses cannot be Bech32 encoded.

type Description

type Description struct {
	Moniker  string `json:"moniker"`  // name
	Identity string `json:"identity"` // optional identity signature (ex. UPort or Keybase)
	Website  string `json:"website"`  // optional website link
	Details  string `json:"details"`  // optional details
}

Description - description fields for a validator

func NewDescription

func NewDescription(moniker, identity, website, details string) Description

NewDescription returns a new Description with the provided values.

func (Description) EnsureLength

func (d Description) EnsureLength() (Description, sdk.Error)

EnsureLength ensures the length of a validator's description.

func (Description) UpdateDescription

func (d Description) UpdateDescription(d2 Description) (Description, sdk.Error)

UpdateDescription updates the fields of a given description. An error is returned if the resulting description contains an invalid length.

type GenesisState

type GenesisState struct {
	Pool                 Pool                  `json:"pool"`
	Params               Params                `json:"params"`
	IntraTxCounter       int16                 `json:"intra_tx_counter"`
	LastTotalPower       sdk.Int               `json:"last_total_power"`
	LastValidatorPowers  []LastValidatorPower  `json:"last_validator_powers"`
	Validators           []Validator           `json:"validators"`
	Bonds                []Delegation          `json:"bonds"`
	UnbondingDelegations []UnbondingDelegation `json:"unbonding_delegations"`
	Redelegations        []Redelegation        `json:"redelegations"`
	Exported             bool                  `json:"exported"`
}

GenesisState - all staking state that must be provided at genesis

func DefaultGenesisState

func DefaultGenesisState() GenesisState

get raw genesis raw message for testing

func NewGenesisState

func NewGenesisState(pool Pool, params Params, validators []Validator, bonds []Delegation) GenesisState

type LastValidatorPower added in v0.27.0

type LastValidatorPower struct {
	Address sdk.ValAddress
	Power   sdk.Int
}

Last validator power, needed for validator set update logic

type MsgBeginRedelegate

type MsgBeginRedelegate struct {
	DelegatorAddr    sdk.AccAddress `json:"delegator_addr"`
	ValidatorSrcAddr sdk.ValAddress `json:"validator_src_addr"`
	ValidatorDstAddr sdk.ValAddress `json:"validator_dst_addr"`
	SharesAmount     sdk.Dec        `json:"shares_amount"`
}

MsgDelegate - struct for bonding transactions

func NewMsgBeginRedelegate

func NewMsgBeginRedelegate(delAddr sdk.AccAddress, valSrcAddr,
	valDstAddr sdk.ValAddress, sharesAmount sdk.Dec) MsgBeginRedelegate

func (MsgBeginRedelegate) GetSignBytes

func (msg MsgBeginRedelegate) GetSignBytes() []byte

get the bytes for the message signer to sign on

func (MsgBeginRedelegate) GetSigners

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

func (MsgBeginRedelegate) Route added in v0.25.0

func (msg MsgBeginRedelegate) Route() string

nolint

func (MsgBeginRedelegate) Type

func (msg MsgBeginRedelegate) Type() string

func (MsgBeginRedelegate) ValidateBasic

func (msg MsgBeginRedelegate) ValidateBasic() sdk.Error

quick validity check

type MsgBeginUnbonding

type MsgBeginUnbonding struct {
	DelegatorAddr sdk.AccAddress `json:"delegator_addr"`
	ValidatorAddr sdk.ValAddress `json:"validator_addr"`
	SharesAmount  sdk.Dec        `json:"shares_amount"`
}

MsgBeginUnbonding - struct for unbonding transactions

func NewMsgBeginUnbonding

func NewMsgBeginUnbonding(delAddr sdk.AccAddress, valAddr sdk.ValAddress, sharesAmount sdk.Dec) MsgBeginUnbonding

func (MsgBeginUnbonding) GetSignBytes

func (msg MsgBeginUnbonding) GetSignBytes() []byte

get the bytes for the message signer to sign on

func (MsgBeginUnbonding) GetSigners

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

func (MsgBeginUnbonding) Route added in v0.25.0

func (msg MsgBeginUnbonding) Route() string

nolint

func (MsgBeginUnbonding) Type

func (msg MsgBeginUnbonding) Type() string

func (MsgBeginUnbonding) ValidateBasic

func (msg MsgBeginUnbonding) ValidateBasic() sdk.Error

quick validity check

type MsgCreateValidator

type MsgCreateValidator struct {
	Description
	Commission    CommissionMsg
	DelegatorAddr sdk.AccAddress `json:"delegator_address"`
	ValidatorAddr sdk.ValAddress `json:"validator_address"`
	PubKey        crypto.PubKey  `json:"pubkey"`
	Delegation    sdk.Coin       `json:"delegation"`
}

MsgCreateValidator - struct for bonding transactions

func NewMsgCreateValidator

func NewMsgCreateValidator(valAddr sdk.ValAddress, pubkey crypto.PubKey,
	selfDelegation sdk.Coin, description Description, commission CommissionMsg) MsgCreateValidator

Default way to create validator. Delegator address and validator address are the same

func NewMsgCreateValidatorOnBehalfOf added in v0.21.0

func NewMsgCreateValidatorOnBehalfOf(delAddr sdk.AccAddress, valAddr sdk.ValAddress,
	pubkey crypto.PubKey, delegation sdk.Coin, description Description, commission CommissionMsg) MsgCreateValidator

Creates validator msg by delegator address on behalf of validator address

func (MsgCreateValidator) GetSignBytes

func (msg MsgCreateValidator) GetSignBytes() []byte

get the bytes for the message signer to sign on

func (MsgCreateValidator) GetSigners

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

Return address(es) that must sign over msg.GetSignBytes()

func (MsgCreateValidator) Route added in v0.25.0

func (msg MsgCreateValidator) Route() string

nolint

func (MsgCreateValidator) Type

func (msg MsgCreateValidator) Type() string

func (MsgCreateValidator) ValidateBasic

func (msg MsgCreateValidator) ValidateBasic() sdk.Error

quick validity check

type MsgDelegate

type MsgDelegate struct {
	DelegatorAddr sdk.AccAddress `json:"delegator_addr"`
	ValidatorAddr sdk.ValAddress `json:"validator_addr"`
	Delegation    sdk.Coin       `json:"delegation"`
}

MsgDelegate - struct for bonding transactions

func NewMsgDelegate

func NewMsgDelegate(delAddr sdk.AccAddress, valAddr sdk.ValAddress, delegation sdk.Coin) MsgDelegate

func (MsgDelegate) GetSignBytes

func (msg MsgDelegate) GetSignBytes() []byte

get the bytes for the message signer to sign on

func (MsgDelegate) GetSigners

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

func (MsgDelegate) Route added in v0.25.0

func (msg MsgDelegate) Route() string

nolint

func (MsgDelegate) Type

func (msg MsgDelegate) Type() string

func (MsgDelegate) ValidateBasic

func (msg MsgDelegate) ValidateBasic() sdk.Error

quick validity check

type MsgEditValidator

type MsgEditValidator struct {
	Description
	ValidatorAddr sdk.ValAddress `json:"address"`

	// We pass a reference to the new commission rate as it's not mandatory to
	// update. If not updated, the deserialized rate will be zero with no way to
	// distinguish if an update was intended.
	//
	// REF: #2373
	CommissionRate *sdk.Dec `json:"commission_rate"`
}

MsgEditValidator - struct for editing a validator

func NewMsgEditValidator

func NewMsgEditValidator(valAddr sdk.ValAddress, description Description, newRate *sdk.Dec) MsgEditValidator

func (MsgEditValidator) GetSignBytes

func (msg MsgEditValidator) GetSignBytes() []byte

get the bytes for the message signer to sign on

func (MsgEditValidator) GetSigners

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

func (MsgEditValidator) Route added in v0.25.0

func (msg MsgEditValidator) Route() string

nolint

func (MsgEditValidator) Type

func (msg MsgEditValidator) Type() string

func (MsgEditValidator) ValidateBasic

func (msg MsgEditValidator) ValidateBasic() sdk.Error

quick validity check

type Params

type Params struct {
	UnbondingTime time.Duration `json:"unbonding_time"`

	MaxValidators uint16 `json:"max_validators"` // maximum number of validators
	BondDenom     string `json:"bond_denom"`     // bondable coin denomination
}

Params defines the high level settings for staking

func DefaultParams

func DefaultParams() Params

DefaultParams returns a default set of parameters.

func MustUnmarshalParams added in v0.25.0

func MustUnmarshalParams(cdc *codec.Codec, value []byte) Params

unmarshal the current staking params value from store key or panic

func UnmarshalParams added in v0.25.0

func UnmarshalParams(cdc *codec.Codec, value []byte) (params Params, err error)

unmarshal the current staking params value from store key

func (Params) Equal

func (p Params) Equal(p2 Params) bool

Equal returns a boolean determining if two Param types are identical.

func (Params) HumanReadableString added in v0.25.0

func (p Params) HumanReadableString() string

HumanReadableString returns a human readable string representation of the parameters.

func (*Params) KeyValuePairs added in v0.25.0

func (p *Params) KeyValuePairs() params.KeyValuePairs

Implements params.ParamSet

type Pool

type Pool struct {
	LooseTokens  sdk.Dec `json:"loose_tokens"`  // tokens which are not bonded in a validator
	BondedTokens sdk.Dec `json:"bonded_tokens"` // reserve of bonded tokens
}

Pool - dynamic parameters of the current state

func InitialPool

func InitialPool() Pool

initial pool for testing

func MustUnmarshalPool added in v0.25.0

func MustUnmarshalPool(cdc *codec.Codec, value []byte) Pool

unmarshal the current pool value from store key or panics

func UnmarshalPool added in v0.25.0

func UnmarshalPool(cdc *codec.Codec, value []byte) (pool Pool, err error)

unmarshal the current pool value from store key

func (Pool) BondedRatio

func (p Pool) BondedRatio() sdk.Dec

get the bond ratio of the global state

func (Pool) Equal

func (p Pool) Equal(p2 Pool) bool

nolint

func (Pool) HumanReadableString added in v0.25.0

func (p Pool) HumanReadableString() string

HumanReadableString returns a human readable string representation of a pool.

func (Pool) TokenSupply

func (p Pool) TokenSupply() sdk.Dec

Sum total of all staking tokens in the pool

type Redelegation

type Redelegation struct {
	DelegatorAddr    sdk.AccAddress `json:"delegator_addr"`     // delegator
	ValidatorSrcAddr sdk.ValAddress `json:"validator_src_addr"` // validator redelegation source operator addr
	ValidatorDstAddr sdk.ValAddress `json:"validator_dst_addr"` // validator redelegation destination operator addr
	CreationHeight   int64          `json:"creation_height"`    // height which the redelegation took place
	MinTime          time.Time      `json:"min_time"`           // unix time for redelegation completion
	InitialBalance   sdk.Coin       `json:"initial_balance"`    // initial balance when redelegation started
	Balance          sdk.Coin       `json:"balance"`            // current balance
	SharesSrc        sdk.Dec        `json:"shares_src"`         // amount of source shares redelegating
	SharesDst        sdk.Dec        `json:"shares_dst"`         // amount of destination shares redelegating
}

Redelegation reflects a delegation's passive re-delegation queue.

func MustUnmarshalRED

func MustUnmarshalRED(cdc *codec.Codec, key, value []byte) Redelegation

unmarshal a redelegation from a store key and value

func UnmarshalRED

func UnmarshalRED(cdc *codec.Codec, key, value []byte) (red Redelegation, err error)

unmarshal a redelegation from a store key and value

func (Redelegation) Equal

func (d Redelegation) Equal(d2 Redelegation) bool

nolint

func (Redelegation) HumanReadableString

func (d Redelegation) HumanReadableString() (string, error)

HumanReadableString returns a human readable string representation of a Redelegation. An error is returned if the UnbondingDelegation's delegator or validator addresses cannot be Bech32 encoded.

type UnbondingDelegation

type UnbondingDelegation struct {
	DelegatorAddr  sdk.AccAddress `json:"delegator_addr"`  // delegator
	ValidatorAddr  sdk.ValAddress `json:"validator_addr"`  // validator unbonding from operator addr
	CreationHeight int64          `json:"creation_height"` // height which the unbonding took place
	MinTime        time.Time      `json:"min_time"`        // unix time for unbonding completion
	InitialBalance sdk.Coin       `json:"initial_balance"` // atoms initially scheduled to receive at completion
	Balance        sdk.Coin       `json:"balance"`         // atoms to receive at completion
}

UnbondingDelegation reflects a delegation's passive unbonding queue.

func MustUnmarshalUBD

func MustUnmarshalUBD(cdc *codec.Codec, key, value []byte) UnbondingDelegation

unmarshal a unbonding delegation from a store key and value

func UnmarshalUBD

func UnmarshalUBD(cdc *codec.Codec, key, value []byte) (ubd UnbondingDelegation, err error)

unmarshal a unbonding delegation from a store key and value

func (UnbondingDelegation) Equal

nolint

func (UnbondingDelegation) HumanReadableString

func (d UnbondingDelegation) HumanReadableString() (string, error)

HumanReadableString returns a human readable string representation of an UnbondingDelegation. An error is returned if the UnbondingDelegation's delegator or validator addresses cannot be Bech32 encoded.

type Validator

type Validator struct {
	OperatorAddr sdk.ValAddress `json:"operator_address"` // address of the validator's operator; bech encoded in JSON
	ConsPubKey   crypto.PubKey  `json:"consensus_pubkey"` // the consensus public key of the validator; bech encoded in JSON
	Jailed       bool           `json:"jailed"`           // has the validator been jailed from bonded status?

	Status          sdk.BondStatus `json:"status"`           // validator status (bonded/unbonding/unbonded)
	Tokens          sdk.Dec        `json:"tokens"`           // delegated tokens (incl. self-delegation)
	DelegatorShares sdk.Dec        `json:"delegator_shares"` // total shares issued to a validator's delegators

	Description        Description `json:"description"`           // description terms for the validator
	BondHeight         int64       `json:"bond_height"`           // earliest height as a bonded validator
	BondIntraTxCounter int16       `json:"bond_intra_tx_counter"` // block-local tx index of validator change

	UnbondingHeight  int64     `json:"unbonding_height"` // if unbonding, height at which this validator has begun unbonding
	UnbondingMinTime time.Time `json:"unbonding_time"`   // if unbonding, min time for the validator to complete unbonding

	Commission Commission `json:"commission"` // commission parameters
}

Validator defines the total amount of bond shares and their exchange rate to coins. Accumulation of interest is modelled as an in increase in the exchange rate, and slashing as a decrease. When coins are delegated to this validator, the validator is credited with a Delegation whose number of bond shares is based on the amount of coins delegated divided by the current exchange rate. Voting power can be calculated as total bonds multiplied by exchange rate.

func MustUnmarshalValidator

func MustUnmarshalValidator(cdc *codec.Codec, operatorAddr, value []byte) Validator

unmarshal a redelegation from a store key and value

func NewValidator

func NewValidator(operator sdk.ValAddress, pubKey crypto.PubKey, description Description) Validator

NewValidator - initialize a new validator

func UnmarshalValidator

func UnmarshalValidator(cdc *codec.Codec, operatorAddr, value []byte) (validator Validator, err error)

unmarshal a redelegation from a store key and value

func (Validator) ABCIValidatorUpdate added in v0.25.0

func (v Validator) ABCIValidatorUpdate() abci.ValidatorUpdate

ABCIValidatorUpdate returns an abci.ValidatorUpdate from a staked validator type with the full validator power

func (Validator) ABCIValidatorUpdateZero added in v0.25.0

func (v Validator) ABCIValidatorUpdateZero() abci.ValidatorUpdate

ABCIValidatorUpdateZero returns an abci.ValidatorUpdate from a staked validator type with zero power used for validator updates.

func (Validator) AddTokensFromDel

func (v Validator) AddTokensFromDel(pool Pool, amount sdk.Int) (Validator, Pool, sdk.Dec)

AddTokensFromDel adds tokens to a validator

func (Validator) BondedTokens added in v0.21.0

func (v Validator) BondedTokens() sdk.Dec

Get the bonded tokens which the validator holds

func (Validator) ConsAddress added in v0.25.0

func (v Validator) ConsAddress() sdk.ConsAddress

return the TM validator address

func (Validator) DelegatorShareExRate

func (v Validator) DelegatorShareExRate() sdk.Dec

DelegatorShareExRate gets the exchange rate of tokens over delegator shares. UNITS: tokens/delegator-shares

func (Validator) Equal

func (v Validator) Equal(v2 Validator) bool

only the vitals - does not check bond height of IntraTxCounter

func (Validator) GetBondHeight

func (v Validator) GetBondHeight() int64

func (Validator) GetCommission added in v0.25.0

func (v Validator) GetCommission() sdk.Dec

func (Validator) GetConsAddr added in v0.25.0

func (v Validator) GetConsAddr() sdk.ConsAddress

func (Validator) GetConsPubKey added in v0.25.0

func (v Validator) GetConsPubKey() crypto.PubKey

func (Validator) GetDelegatorShares

func (v Validator) GetDelegatorShares() sdk.Dec

func (Validator) GetJailed added in v0.25.0

func (v Validator) GetJailed() bool

nolint - for sdk.Validator

func (Validator) GetMoniker

func (v Validator) GetMoniker() string

func (Validator) GetOperator added in v0.25.0

func (v Validator) GetOperator() sdk.ValAddress

func (Validator) GetPower

func (v Validator) GetPower() sdk.Dec

func (Validator) GetStatus

func (v Validator) GetStatus() sdk.BondStatus

func (Validator) GetTokens added in v0.24.0

func (v Validator) GetTokens() sdk.Dec

func (Validator) HumanReadableString

func (v Validator) HumanReadableString() (string, error)

HumanReadableString returns a human readable string representation of a validator. An error is returned if the operator or the operator's public key cannot be converted to Bech32 format.

func (Validator) MarshalJSON added in v0.25.0

func (v Validator) MarshalJSON() ([]byte, error)

MarshalJSON marshals the validator to JSON using Bech32

func (Validator) RemoveDelShares

func (v Validator) RemoveDelShares(pool Pool, delShares sdk.Dec) (Validator, Pool, sdk.Dec)

RemoveDelShares removes delegator shares from a validator.

func (Validator) RemoveTokens added in v0.21.0

func (v Validator) RemoveTokens(pool Pool, tokens sdk.Dec) (Validator, Pool)

removes tokens from a validator

func (Validator) SetInitialCommission added in v0.25.0

func (v Validator) SetInitialCommission(commission Commission) (Validator, sdk.Error)

SetInitialCommission attempts to set a validator's initial commission. An error is returned if the commission is invalid.

func (*Validator) UnmarshalJSON added in v0.25.0

func (v *Validator) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals the validator from JSON using Bech32

func (Validator) UpdateStatus

func (v Validator) UpdateStatus(pool Pool, NewStatus sdk.BondStatus) (Validator, Pool)

UpdateStatus updates the location of the shares within a validator to reflect the new status

Jump to

Keyboard shortcuts

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