keeper

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2019 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	QueryWithdrawAddr          = "withdraw_addr"
	QueryDelegationDistInfo    = "delegation_dist_info"
	QueryAllDelegationDistInfo = "all_delegation_dist_info"
	QueryValidatorDistInfo     = "validator_dist_info"
	QueryRewards               = "rewards"
	QueryCommunityTax          = "community_tax"
)

nolint

View Source
const (
	// default paramspace for params keeper
	DefaultParamspace = "distr"
)
View Source
const MetricsSubsystem = "module_distribution"

Variables

View Source
var (
	FeePoolKey               = []byte{0x00} // key for global distribution state
	ValidatorDistInfoKey     = []byte{0x01} // prefix for each key to a validator distribution
	DelegationDistInfoKey    = []byte{0x02} // prefix for each key to a delegation distribution
	DelegatorWithdrawInfoKey = []byte{0x03} // prefix for each key to a delegator withdraw info
	ProposerKey              = []byte{0x04} // key for storing the proposer operator address

	// params store
	ParamStoreKeyCommunityTax        = []byte("communitytax")
	ParamStoreKeyBaseProposerReward  = []byte("baseproposerreward")
	ParamStoreKeyBonusProposerReward = []byte("bonusproposerreward")
)

keys/key-prefixes

Functions

func GetDelegationDistInfoKey

func GetDelegationDistInfoKey(delAddr sdk.AccAddress, valAddr sdk.ValAddress) []byte

gets the key for delegator distribution for a validator VALUE: distribution/types.DelegationDistInfo

func GetDelegationDistInfosKey

func GetDelegationDistInfosKey(delAddr sdk.AccAddress) []byte

gets the prefix for a delegator's distributions across all validators

func GetDelegatorWithdrawAddrKey

func GetDelegatorWithdrawAddrKey(delAddr sdk.AccAddress) []byte

gets the prefix for a delegator's withdraw info

func GetDelegatorWithdrawInfoAddress

func GetDelegatorWithdrawInfoAddress(key []byte) (delAddr sdk.AccAddress)

gets an address from a delegator's withdraw info key

func GetValidatorDistInfoKey

func GetValidatorDistInfoKey(operatorAddr sdk.ValAddress) []byte

gets the key for the validator distribution info from address VALUE: distribution/types.ValidatorDistInfo

func NewQuerier added in v0.14.0

func NewQuerier(k Keeper) sdk.Querier

func ParamTypeTable

func ParamTypeTable() params.TypeTable

Type declaration for parameters

Types

type CommunityTax added in v0.14.0

type CommunityTax struct {
	Amount types.DecCoins `json:"amount"`
}

func (CommunityTax) String added in v0.14.0

func (ct CommunityTax) String() string

type DelegationsReward added in v0.14.0

type DelegationsReward struct {
	Validator sdk.ValAddress `json:"validator"`
	Reward    sdk.Coins      `json:"reward"`
}

func (DelegationsReward) String added in v0.14.0

func (dr DelegationsReward) String() string

type Hooks

type Hooks struct {
	// contains filtered or unexported fields
}

Wrapper struct

func (Hooks) OnDelegationCreated

func (h Hooks) OnDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)

func (Hooks) OnDelegationRemoved

func (h Hooks) OnDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)

func (Hooks) OnDelegationSharesModified

func (h Hooks) OnDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress)

func (Hooks) OnValidatorBeginUnbonding

func (h Hooks) OnValidatorBeginUnbonding(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress)

func (Hooks) OnValidatorBonded

func (h Hooks) OnValidatorBonded(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress)

func (Hooks) OnValidatorCreated

func (h Hooks) OnValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress)

nolint

func (Hooks) OnValidatorModified

func (h Hooks) OnValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress)

func (Hooks) OnValidatorPowerDidChange

func (h Hooks) OnValidatorPowerDidChange(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress)

func (Hooks) OnValidatorRemoved

func (h Hooks) OnValidatorRemoved(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress)

type Keeper

type Keeper struct {
	// contains filtered or unexported fields
}

keeper of the stake store

func NewKeeper

func NewKeeper(cdc *codec.Codec, key sdk.StoreKey, paramSpace params.Subspace, ck types.BankKeeper,
	sk types.StakeKeeper, fk types.FeeKeeper, codespace sdk.CodespaceType, metrics *Metrics) Keeper

func (Keeper) AllocateFeeTax added in v0.9.0

func (k Keeper) AllocateFeeTax(ctx sdk.Context, destAddr sdk.AccAddress, percent sdk.Dec, burn bool)

Allocate fee tax from the community fee pool, burn or send to trustee account

func (Keeper) AllocateTokens

func (k Keeper) AllocateTokens(ctx sdk.Context, percentVotes sdk.Dec, proposer sdk.ConsAddress)

Allocate fees handles distribution of the collected fees

func (Keeper) CurrentDelegationReward

func (k Keeper) CurrentDelegationReward(ctx sdk.Context, delAddr sdk.AccAddress,
	valAddr sdk.ValAddress) (sdk.Coins, sdk.Error)

current rewards for a single delegation

func (Keeper) CurrentDelegationRewardsAll

func (k Keeper) CurrentDelegationRewardsAll(ctx sdk.Context,
	delAddr sdk.AccAddress) types.DecCoins

get all rewards for all delegations of a delegator

func (Keeper) CurrentValidatorRewardsAll

func (k Keeper) CurrentValidatorRewardsAll(ctx sdk.Context, operatorAddr sdk.ValAddress) (sdk.Coins, sdk.Error)

get all the validator rewards including the commission

func (Keeper) GetAllDelegationDistInfos

func (k Keeper) GetAllDelegationDistInfos(ctx sdk.Context) (ddis []types.DelegationDistInfo)

Get the set of all delegator-distribution-info's with no limits, used during genesis dump

func (Keeper) GetAllDelegatorWithdrawInfos

func (k Keeper) GetAllDelegatorWithdrawInfos(ctx sdk.Context) (dwis []types.DelegatorWithdrawInfo)

Get the set of all delegator-withdraw addresses with no limits, used during genesis dump

func (Keeper) GetAllValidatorDistInfos

func (k Keeper) GetAllValidatorDistInfos(ctx sdk.Context) (vdis []types.ValidatorDistInfo)

Get the set of all validator-distribution-info's with no limits, used during genesis dump

func (Keeper) GetBaseProposerReward

func (k Keeper) GetBaseProposerReward(ctx sdk.Context) sdk.Dec

Returns the current BaseProposerReward rate from the global param store nolint: errcheck

func (Keeper) GetBonusProposerReward

func (k Keeper) GetBonusProposerReward(ctx sdk.Context) sdk.Dec

Returns the current BaseProposerReward rate from the global param store nolint: errcheck

func (Keeper) GetCommunityTax

func (k Keeper) GetCommunityTax(ctx sdk.Context) sdk.Dec

func (Keeper) GetDelegationDistInfo

func (k Keeper) GetDelegationDistInfo(ctx sdk.Context, delAddr sdk.AccAddress,
	valOperatorAddr sdk.ValAddress) (ddi types.DelegationDistInfo)

get the delegator distribution info

func (Keeper) GetDelegatorWithdrawAddr

func (k Keeper) GetDelegatorWithdrawAddr(ctx sdk.Context, delAddr sdk.AccAddress) sdk.AccAddress

get the delegator withdraw address, return the delegator address if not set

func (Keeper) GetFeePool

func (k Keeper) GetFeePool(ctx sdk.Context) (feePool types.FeePool)

get the global fee pool distribution info

func (Keeper) GetFeePoolValAccum

func (k Keeper) GetFeePoolValAccum(ctx sdk.Context) sdk.Dec

get the total validator accum for the ctx height in the fee pool

func (Keeper) GetParams added in v0.10.0

func (k Keeper) GetParams(ctx sdk.Context) (res types.Params)

Get all parameteras as types.Params

func (Keeper) GetPreviousProposerConsAddr

func (k Keeper) GetPreviousProposerConsAddr(ctx sdk.Context) (consAddr sdk.ConsAddress)

set the proposer public key for this block

func (Keeper) GetValidatorAccum

func (k Keeper) GetValidatorAccum(ctx sdk.Context, operatorAddr sdk.ValAddress) (sdk.Dec, sdk.Error)

Get the calculated accum of a validator at the current block without affecting the state.

func (Keeper) GetValidatorDistInfo

func (k Keeper) GetValidatorDistInfo(ctx sdk.Context,
	operatorAddr sdk.ValAddress) (vdi types.ValidatorDistInfo)

get the validator distribution info

func (Keeper) GetWithdrawContext

func (k Keeper) GetWithdrawContext(ctx sdk.Context,
	valOperatorAddr sdk.ValAddress) types.WithdrawContext

get context required for withdraw operations

func (Keeper) HasDelegationDistInfo

func (k Keeper) HasDelegationDistInfo(ctx sdk.Context, delAddr sdk.AccAddress,
	valOperatorAddr sdk.ValAddress) (has bool)

check whether a delegator distribution info exists

func (Keeper) HasValidatorDistInfo

func (k Keeper) HasValidatorDistInfo(ctx sdk.Context,
	operatorAddr sdk.ValAddress) (exists bool)

check whether a validator has distribution info

func (Keeper) Hooks

func (k Keeper) Hooks() Hooks

New Validator Hooks

func (Keeper) IterateDelegationDistInfos added in v0.9.0

func (k Keeper) IterateDelegationDistInfos(ctx sdk.Context,
	fn func(index int64, distInfo types.DelegationDistInfo) (stop bool))

iterate over all the validator distribution infos

func (Keeper) IterateDelegatorDistInfos added in v0.14.0

func (k Keeper) IterateDelegatorDistInfos(ctx sdk.Context, delegator sdk.AccAddress,
	fn func(index int64, distInfo types.DelegationDistInfo) (stop bool))

iterate over all the validator distribution infos of one delegator

func (Keeper) IterateValidatorDistInfos

func (k Keeper) IterateValidatorDistInfos(ctx sdk.Context,
	fn func(index int64, distInfo types.ValidatorDistInfo) (stop bool))

iterate over all the validator distribution infos (inefficient, just used to check invariants)

func (Keeper) RemoveDelegationDistInfo

func (k Keeper) RemoveDelegationDistInfo(ctx sdk.Context, delAddr sdk.AccAddress,
	valOperatorAddr sdk.ValAddress)

remove a delegator distribution info

func (Keeper) RemoveDelegationDistInfos added in v0.9.0

func (k Keeper) RemoveDelegationDistInfos(ctx sdk.Context)

remove all delegation distribution infos

func (Keeper) RemoveDelegatorWithdrawAddr

func (k Keeper) RemoveDelegatorWithdrawAddr(ctx sdk.Context, delAddr, withdrawAddr sdk.AccAddress)

remove a delegator withdraw info

func (Keeper) RemoveValidatorDistInfo

func (k Keeper) RemoveValidatorDistInfo(ctx sdk.Context, valAddr sdk.ValAddress)

remove a validator distribution info

func (Keeper) SetDelegationDistInfo

func (k Keeper) SetDelegationDistInfo(ctx sdk.Context, ddi types.DelegationDistInfo)

set the delegator distribution info

func (Keeper) SetDelegatorWithdrawAddr

func (k Keeper) SetDelegatorWithdrawAddr(ctx sdk.Context, delAddr, withdrawAddr sdk.AccAddress)

set the delegator withdraw address

func (Keeper) SetFeePool

func (k Keeper) SetFeePool(ctx sdk.Context, feePool types.FeePool)

set the global fee pool distribution info

func (Keeper) SetGenesisFeePool added in v0.10.0

func (k Keeper) SetGenesisFeePool(ctx sdk.Context, feePool types.FeePool)

set the global fee pool distribution info

func (Keeper) SetParams added in v0.10.0

func (k Keeper) SetParams(ctx sdk.Context, params types.Params)

set the params

func (Keeper) SetPreviousProposerConsAddr

func (k Keeper) SetPreviousProposerConsAddr(ctx sdk.Context, consAddr sdk.ConsAddress)

get the proposer public key for this block

func (Keeper) SetValidatorDistInfo

func (k Keeper) SetValidatorDistInfo(ctx sdk.Context, vdi types.ValidatorDistInfo)

set the validator distribution info

func (Keeper) WithdrawDelegationReward

func (k Keeper) WithdrawDelegationReward(ctx sdk.Context, delAddr sdk.AccAddress,
	valAddr sdk.ValAddress) (types.DecCoins, sdk.Error)

withdraw all rewards for a single delegation NOTE: This gets called "onDelegationSharesModified", meaning any changes to bonded coins

func (Keeper) WithdrawDelegationRewardsAll

func (k Keeper) WithdrawDelegationRewardsAll(ctx sdk.Context, delAddr sdk.AccAddress) (types.DecCoins, sdk.Tags)

return all rewards for all delegations of a delegator

func (Keeper) WithdrawToDelegator

func (k Keeper) WithdrawToDelegator(ctx sdk.Context, feePool types.FeePool,
	delAddr sdk.AccAddress, amount types.DecCoins)

withdraw all rewards for a single delegation NOTE: This gets called "onDelegationSharesModified", meaning any changes to bonded coins

func (Keeper) WithdrawValidatorRewardsAll

func (k Keeper) WithdrawValidatorRewardsAll(ctx sdk.Context, operatorAddr sdk.ValAddress) (types.DecCoins, sdk.Tags, sdk.Error)

withdrawal all the validator rewards including the commission

type Metrics added in v0.12.0

type Metrics struct {
	CommunityTax metrics.Gauge
}

func NopMetrics added in v0.12.0

func NopMetrics() *Metrics

func PrometheusMetrics added in v0.12.0

func PrometheusMetrics(config *cfg.InstrumentationConfig) *Metrics

PrometheusMetrics returns Metrics build using Prometheus client library.

type QueryDelegationDistInfoParams added in v0.14.0

type QueryDelegationDistInfoParams struct {
	DelegatorAddress sdk.AccAddress `json:"delegator_address"`
	ValidatorAddress sdk.ValAddress `json:"validator_address"`
}

params for query 'custom/distr/delegation_dist_info'

func NewQueryDelegationDistInfoParams added in v0.14.0

func NewQueryDelegationDistInfoParams(delegatorAddr sdk.AccAddress, validatorAddr sdk.ValAddress) QueryDelegationDistInfoParams

creates a new instance of QueryDelegationDistInfoParams

type QueryDelegatorParams added in v0.14.0

type QueryDelegatorParams struct {
	DelegatorAddress sdk.AccAddress `json:"delegator_address"`
}

params for query 'custom/distr/delegation_dist_info', 'custom/distr/all_delegation_dist_info' and 'withdraw_addr'

func NewQueryDelegatorParams added in v0.14.0

func NewQueryDelegatorParams(delegatorAddr sdk.AccAddress) QueryDelegatorParams

type QueryRewardsParams added in v0.14.0

type QueryRewardsParams struct {
	Address sdk.AccAddress `json:"address"`
}

params for query 'custom/distr/rewards'

func NewQueryRewardsParams added in v0.14.0

func NewQueryRewardsParams(address sdk.AccAddress) QueryRewardsParams

creates a new instance of QueryRewardsParams

type QueryValidatorDistInfoParams added in v0.14.0

type QueryValidatorDistInfoParams struct {
	ValidatorAddress sdk.ValAddress `json:"validator_address"`
}

params for query 'custom/distr/validator_dist_info'

func NewQueryValidatorDistInfoParams added in v0.14.0

func NewQueryValidatorDistInfoParams(validatorAddr sdk.ValAddress) QueryValidatorDistInfoParams

creates a new instance of QueryValidatorDistInfoParams

type Rewards added in v0.14.0

type Rewards struct {
	Total       sdk.Coins           `json:"total"`
	Delegations []DelegationsReward `json:"delegations"`
	Commission  sdk.Coins           `json:"commission"`
}

func (Rewards) String added in v0.14.0

func (r Rewards) String() string

Jump to

Keyboard shortcuts

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