Documentation ¶
Index ¶
- Constants
- Variables
- func GetDelegatorStartingInfoKey(v sdk.AccAddress, d sdk.AccAddress) []byte
- func GetDelegatorWithdrawAddrKey(delAddr sdk.AccAddress) []byte
- func GetValidatorAccumulatedCommissionKey(v sdk.AccAddress) []byte
- func GetValidatorCurrentRewardsKey(v sdk.AccAddress) []byte
- func GetValidatorHistoricalRewardsKey(v sdk.AccAddress, k uint64) []byte
- func GetValidatorHistoricalRewardsPrefix(v sdk.AccAddress) []byte
- func GetValidatorOutstandingRewardsKey(valAddr sdk.AccAddress) []byte
- func GetValidatorSlashEventKey(v sdk.AccAddress, height, period uint64) []byte
- func GetValidatorSlashEventKeyPrefix(v sdk.AccAddress, height uint64) []byte
- func GetValidatorSlashEventPrefix(v sdk.AccAddress) []byte
- func ParamKeyTable() params.KeyTable
- func RegisterCodec(cdc *codec.Codec)
- func ValidateGenesis(gs GenesisState) error
- type CodeType
- type DelegatorAccountInfo
- type DelegatorStartingInfo
- type DelegatorStartingInfoRecord
- type DelegatorWithdrawInfo
- type FeePool
- type GenesisState
- type MsgFundCommunityPool
- type MsgSetWithdrawAddress
- type MsgWithdrawDelegatorReward
- type MsgWithdrawValidatorCommission
- func (msg *MsgWithdrawValidatorCommission) Bytes() []byte
- func (msg *MsgWithdrawValidatorCommission) GetFromAddress() sdk.AccAddress
- func (msg *MsgWithdrawValidatorCommission) MsgType() string
- func (msg *MsgWithdrawValidatorCommission) Route() string
- func (msg *MsgWithdrawValidatorCommission) ValidateBasic() error
- type Params
- type QueryDelegationRewardsParams
- type QueryDelegatorBalanceParams
- type QueryDelegatorParams
- type QueryDelegatorWithdrawAddrParams
- type QueryValidatorCommissionParams
- type QueryValidatorOutstandingRewardsParams
- type RewardAccount
- type RewardsAccount
- type ValidatorAccumulatedCommission
- type ValidatorAccumulatedCommissionRecord
- type ValidatorCurrentRewards
- type ValidatorCurrentRewardsRecord
- type ValidatorHistoricalRewards
- type ValidatorHistoricalRewardsRecord
- type ValidatorOutstandingRewards
- type ValidatorOutstandingRewardsRecord
- type ValidatorSlashEvent
- type ValidatorSlashEventRecord
Constants ¶
const ( EventTypeModifyWithdrawAddress = "modify_withdraw_address" EventTypeWithdrawCommission = "withdraw_commission" EventTypeWithdrawRewards = "withdraw_rewards" EventTypeFundCommunityPool = "fund_community_pool" AttributeKeyWithdrawAddress = "withdraw_address" AttributeValueCategory = ModuleName AttributeKeyValidator = "validator" )
const ( ModuleName = "distribution" RouteKey = ModuleName DefaultParamspace = ModuleName )
const ( QueryValidatorOutstandingRewards = "validator_outstanding_rewards" QueryCommunityPool = "community_pool" QueryWithdrawAddress = "withdraw_address" QueryValidatorCommission = "validator_commission" QueryDelegationRewards = "delegation_rewards" QueryAccountInfo = "account_info" )
Variables ¶
var ( ErrInvalidParams = sdkerrors.Register(string(DefaultCodespace), uint32(CodeErrInvalidParams), "invalid params") ErrEmptyDelegationStartingInfo = sdkerrors.Register(string(DefaultCodespace), uint32(CodeEmptyDelegationStartingInfo), "empty delegation starting info") ErrNoValidatorExist = sdkerrors.Register(string(DefaultCodespace), uint32(CodeNoValidatorExist), "no validator exist") ErrInternalCdcMarshal = sdkerrors.Register(string(DefaultCodespace), uint32(CodeCdcMarshalFailed), "cdc marshal failed") ErrNoDelegationExist = sdkerrors.Register(string(DefaultCodespace), uint32(CodeNoDelegationExist), "no delegation exist") ErrSetWithdrawAddrDisabled = sdkerrors.Register(string(DefaultCodespace), uint32(CodeSetWithdrawAddressFailed), "set withdraw addresss disabled") ErrNoValidatorCommission = sdkerrors.Register(string(DefaultCodespace), uint32(CodeNoValidatorCommission), "the validator has no commission now") )
var ( FeePoolKey = []byte{0x00} ProposerKey = []byte{001} ValidatorOutstandingRewardsPrefix = []byte{0x02} // key for outstanding rewards DelegatorWithdrawAddrPrefix = []byte{0x03} // key for delegator withdraw address DelegatorStartingInfoPrefix = []byte{0x04} // key for delegator starting info ValidatorHistoricalRewardsPrefix = []byte{0x05} // key for historical validators rewards / stake ValidatorCurrentRewardsPrefix = []byte{0x06} // key for current validator rewards ValidatorAccumulatedCommissionPrefix = []byte{0x07} // key for accumulated validator commission ValidatorSlashEventPrefix = []byte{0x08} // key for validator slash fraction )
var ( ParamStoreKeyCommunityTax = []byte("communitytax") ParamStoreKeyBaseProposerReward = []byte("baseproposerreward") ParamStoreKeyBonusProposerReward = []byte("bonusproposerreward") ParamStoreKeyWithdrawAddrEnabled = []byte("withdrawaddrenabled") )
Parameter keys
var DistributionCdc *codec.Codec
Functions ¶
func GetDelegatorStartingInfoKey ¶
func GetDelegatorStartingInfoKey(v sdk.AccAddress, d sdk.AccAddress) []byte
gets the key for a delegator's starting info
func GetDelegatorWithdrawAddrKey ¶
func GetDelegatorWithdrawAddrKey(delAddr sdk.AccAddress) []byte
gets the key for a delegator's withdraw addr
func GetValidatorAccumulatedCommissionKey ¶
func GetValidatorAccumulatedCommissionKey(v sdk.AccAddress) []byte
func GetValidatorCurrentRewardsKey ¶
func GetValidatorCurrentRewardsKey(v sdk.AccAddress) []byte
func GetValidatorHistoricalRewardsKey ¶
func GetValidatorHistoricalRewardsKey(v sdk.AccAddress, k uint64) []byte
gets the key for a validator's historical rewards
func GetValidatorHistoricalRewardsPrefix ¶
func GetValidatorHistoricalRewardsPrefix(v sdk.AccAddress) []byte
gets the prefix key for a validator's historical rewards
func GetValidatorOutstandingRewardsKey ¶
func GetValidatorOutstandingRewardsKey(valAddr sdk.AccAddress) []byte
gets the outstanding rewards key for a validator
func GetValidatorSlashEventKey ¶
func GetValidatorSlashEventKey(v sdk.AccAddress, height, period uint64) []byte
gets the key for a validator's slash fraction
func GetValidatorSlashEventKeyPrefix ¶
func GetValidatorSlashEventKeyPrefix(v sdk.AccAddress, height uint64) []byte
gets the prefix key for a validator's slash fraction (ValidatorSlashEventPrefix + height)
func GetValidatorSlashEventPrefix ¶
func GetValidatorSlashEventPrefix(v sdk.AccAddress) []byte
gets the prefix key for a validator's slash fractions
func ParamKeyTable ¶
ParamKeyTable returns the parameter key table.
func RegisterCodec ¶
func ValidateGenesis ¶
func ValidateGenesis(gs GenesisState) error
Types ¶
type CodeType ¶
const ( DefaultCodespace sdk.CodespaceType = "distribution" CodeEmptyDelegationStartingInfo CodeType = 1403 CodeNoValidatorExist CodeType = 1404 CodeCdcMarshalFailed CodeType = 1405 CodeNoDelegationExist CodeType = 1406 CodeSetWithdrawAddressFailed CodeType = 1407 CodeNoValidatorDistInfo CodeType = 1408 CodeNoDelegationDistInfo CodeType = 1409 CodeNoValidatorCommission CodeType = 1410 CodeErrInvalidParams CodeType = 1411 )
type DelegatorAccountInfo ¶
type DelegatorAccountInfo struct { Available sdk.Coin `json:"available"` ///本账户余额 Delegated sdk.Coin `json:"delegated"` ///本账户所有的抵押数 Unbonding sdk.Coin `json:"unbonding"` ///当前处于解押时期中的资金总数 Reward RewardsAccount `json:"reward"` ///目前可提取的奖励总数(从上次提取奖励到现在) Commission sdk.Coin `json:"commission"` ///本验证者账户目前可提取的佣金数(从上次提取佣金到现在,不是验证者账户则为0) }
func NewDelegatorAccountInfo ¶
func NewDelegatorAccountInfo(available, delegated, unbonding, commission sdk.Coin, reward RewardsAccount) DelegatorAccountInfo
type DelegatorStartingInfo ¶
type DelegatorStartingInfo struct { PreviousPeriod uint64 `json:"previous_period"` Stake sdk.Dec `json:"stake"` Height uint64 `json:"height"` }
PreviousPeriod:形成当前StartingInfo的时期;PreviousPeriod = CurrentRewards.Period - 1; Stake: 该委托者拥有的令牌数量; stake = Delegator.Shares * validator.Tokens/validator.Shares Height: 形成当前StartingInfo的区块高度;
func NewDelegatorStartingInfo ¶
func NewDelegatorStartingInfo(previousPeriod uint64, stake sdk.Dec, height uint64) DelegatorStartingInfo
create a new DelegatorStartingInfo
type DelegatorStartingInfoRecord ¶
type DelegatorStartingInfoRecord struct { DelegatorAddress sdk.AccAddress `json:"delegator_address"` ValidatorAddress sdk.AccAddress `json:"validator_address"` StartingInfo DelegatorStartingInfo `json:"starting_info"` }
StartingInfo 包含上一次操作的时期,比如 抵押或提取奖金; 包含 Delegator拥有的令牌数,即token数量; Height指上一次操作的高度;
type DelegatorWithdrawInfo ¶
type DelegatorWithdrawInfo struct { DelegatorAddress sdk.AccAddress `json:"delegator_address"` WithdrawAddress sdk.AccAddress `json:"withdraw_address"` }
type GenesisState ¶
type GenesisState struct { Params Params `json:"params"` FeePool FeePool `json:"fee_pool"` DelegatorWithdrawInfos []DelegatorWithdrawInfo `json:"delegator_withdraw_infos"` PreviousProposer sdk.AccAddr `json:"previous_proposer"` OutstandingRewards []ValidatorOutstandingRewardsRecord `json:"outstanding_rewards"` ValidatorAccumulatedCommissions []ValidatorAccumulatedCommissionRecord `json:"validator_accumulated_commissions"` ValidatorHistoricalRewards []ValidatorHistoricalRewardsRecord `json:"validator_historical_rewards"` ValidatorCurrentRewards []ValidatorCurrentRewardsRecord `json:"validator_current_rewards"` DelegatorStartingInfos []DelegatorStartingInfoRecord `json:"delegator_starting_infos"` ValidatorSlashEvents []ValidatorSlashEventRecord `json:"validator_slash_events"` }
func DefaultGenesisState ¶
func DefaultGenesisState(_ []tmtypes.GenesisValidator) GenesisState
get raw genesis raw message for testing
func NewGenesisState ¶
func NewGenesisState( params Params, fp FeePool, dwis []DelegatorWithdrawInfo, pp sdk.AccAddr, r []ValidatorOutstandingRewardsRecord, acc []ValidatorAccumulatedCommissionRecord, historical []ValidatorHistoricalRewardsRecord, cur []ValidatorCurrentRewardsRecord, dels []DelegatorStartingInfoRecord, slashes []ValidatorSlashEventRecord, ) GenesisState
type MsgFundCommunityPool ¶
type MsgFundCommunityPool struct { FromAddress sdk.AccAddress `json:"from_address"` Amount sdk.Coin `json:"amount"` Depositor sdk.AccAddress `json:"depositor"` }
func NewMsgFundCommunityPool ¶
func NewMsgFundCommunityPool(from sdk.AccAddress, amount sdk.Coin, _, _ uint64, depositor sdk.AccAddress) *MsgFundCommunityPool
func (*MsgFundCommunityPool) Bytes ¶
func (msg *MsgFundCommunityPool) Bytes() []byte
func (*MsgFundCommunityPool) GetFromAddress ¶
func (msg *MsgFundCommunityPool) GetFromAddress() sdk.AccAddress
func (*MsgFundCommunityPool) MsgType ¶
func (msg *MsgFundCommunityPool) MsgType() string
func (*MsgFundCommunityPool) Route ¶
func (msg *MsgFundCommunityPool) Route() string
Route returns the MsgFundCommunityPool message route.
func (*MsgFundCommunityPool) ValidateBasic ¶
func (msg *MsgFundCommunityPool) ValidateBasic() error
ValidateBasic performs basic MsgFundCommunityPool message validation.
type MsgSetWithdrawAddress ¶
type MsgSetWithdrawAddress struct { FromAddress sdk.AccAddress `json:"from_address"` DelegatorAddress sdk.AccAddress `json:"delegator_address"` WithdrawAddress sdk.AccAddress `json:"withdraw_address"` }
func NewMsgSetWithdrawAddress ¶
func NewMsgSetWithdrawAddress(from, withdraw, del sdk.AccAddress) *MsgSetWithdrawAddress
func (*MsgSetWithdrawAddress) Bytes ¶
func (msg *MsgSetWithdrawAddress) Bytes() []byte
func (*MsgSetWithdrawAddress) GetFromAddress ¶
func (msg *MsgSetWithdrawAddress) GetFromAddress() sdk.AccAddress
func (*MsgSetWithdrawAddress) MsgType ¶
func (msg *MsgSetWithdrawAddress) MsgType() string
func (*MsgSetWithdrawAddress) Route ¶
func (msg *MsgSetWithdrawAddress) Route() string
func (*MsgSetWithdrawAddress) ValidateBasic ¶
func (msg *MsgSetWithdrawAddress) ValidateBasic() error
type MsgWithdrawDelegatorReward ¶
type MsgWithdrawDelegatorReward struct { FromAddress sdk.AccAddress `json:"from_address"` DelegatorAddress sdk.AccAddress `json:"delegator_address"` ValidatorAddress sdk.AccAddress `json:"validator_address"` }
func NewMsgWithdrawDelegatorReward ¶
func NewMsgWithdrawDelegatorReward(from, val, del sdk.AccAddress) *MsgWithdrawDelegatorReward
func (*MsgWithdrawDelegatorReward) Bytes ¶
func (msg *MsgWithdrawDelegatorReward) Bytes() []byte
func (*MsgWithdrawDelegatorReward) GetFromAddress ¶
func (msg *MsgWithdrawDelegatorReward) GetFromAddress() sdk.AccAddress
func (*MsgWithdrawDelegatorReward) MsgType ¶
func (msg *MsgWithdrawDelegatorReward) MsgType() string
func (*MsgWithdrawDelegatorReward) Route ¶
func (msg *MsgWithdrawDelegatorReward) Route() string
func (*MsgWithdrawDelegatorReward) ValidateBasic ¶
func (msg *MsgWithdrawDelegatorReward) ValidateBasic() error
type MsgWithdrawValidatorCommission ¶
type MsgWithdrawValidatorCommission struct { FromAddress sdk.AccAddress `json:"from_address"` ValidatorAddress sdk.AccAddress `json:"validator_address"` }
func NewMsgWithdrawValidatorCommission ¶
func NewMsgWithdrawValidatorCommission(from, val sdk.AccAddress) *MsgWithdrawValidatorCommission
func (*MsgWithdrawValidatorCommission) Bytes ¶
func (msg *MsgWithdrawValidatorCommission) Bytes() []byte
func (*MsgWithdrawValidatorCommission) GetFromAddress ¶
func (msg *MsgWithdrawValidatorCommission) GetFromAddress() sdk.AccAddress
func (*MsgWithdrawValidatorCommission) MsgType ¶
func (msg *MsgWithdrawValidatorCommission) MsgType() string
func (*MsgWithdrawValidatorCommission) Route ¶
func (msg *MsgWithdrawValidatorCommission) Route() string
func (*MsgWithdrawValidatorCommission) ValidateBasic ¶
func (msg *MsgWithdrawValidatorCommission) ValidateBasic() error
type Params ¶
type Params struct { CommunityTax sdk.Dec `json:"community_tax"` BaseProposerReward sdk.Dec `json:"base_proposer_reward"` BonusProposerReward sdk.Dec `json:"bounse_proposer_reward"` WithdrawAddrEnabled bool `json:"withdraw_addr_enable"` }
CommunityTax : 增发货币 流向社区的百分比 BaseProposerReward: 基础提块奖励百分比 BonusProposerReward: 绑定提案奖励百分比 WithdrawAddrEnabled: 是否能更改提起奖金地址
func DefaultParams ¶
func DefaultParams() Params
func (*Params) ParamSetPairs ¶
func (p *Params) ParamSetPairs() params.ParamSetPairs
func (Params) ValidateBasic ¶
type QueryDelegationRewardsParams ¶
type QueryDelegationRewardsParams struct { DelegatorAddress sdk.AccAddress `json:"delegator_address" yaml:"delegator_address"` ValidatorAddress sdk.AccAddress `json:"validator_address" yaml:"validator_address"` }
params for query 'custom/distr/delegation_rewards'
func NewQueryDelegationRewardsParams ¶
func NewQueryDelegationRewardsParams(delegatorAddr sdk.AccAddress, validatorAddr sdk.AccAddress) QueryDelegationRewardsParams
creates a new instance of QueryDelegationRewardsParams
type QueryDelegatorBalanceParams ¶
type QueryDelegatorBalanceParams struct {
AccountAddress sdk.AccAddress `json:"account_address" yaml:"account_address"`
}
func NewQueryDelegatorBalanceParams ¶
func NewQueryDelegatorBalanceParams(accountAddr sdk.AccAddress) QueryDelegatorBalanceParams
type QueryDelegatorParams ¶
type QueryDelegatorParams struct {
DelegatorAddress sdk.AccAddress `json:"delegator_address" yaml:"delegator_address"`
}
params for query 'custom/distr/delegator_total_rewards' and 'custom/distr/delegator_validators'
func NewQueryDelegatorParams ¶
func NewQueryDelegatorParams(delegatorAddr sdk.AccAddress) QueryDelegatorParams
creates a new instance of QueryDelegationRewardsParams
type QueryDelegatorWithdrawAddrParams ¶
type QueryDelegatorWithdrawAddrParams struct {
DelegatorAddress sdk.AccAddress `json:"delegator_address" yaml:"delegator_address"`
}
params for query 'custom/distr/withdraw_addr'
func NewQueryDelegatorWithdrawAddrParams ¶
func NewQueryDelegatorWithdrawAddrParams(delegatorAddr sdk.AccAddress) QueryDelegatorWithdrawAddrParams
NewQueryDelegatorWithdrawAddrParams creates a new instance of QueryDelegatorWithdrawAddrParams.
type QueryValidatorCommissionParams ¶
type QueryValidatorCommissionParams struct {
ValidatorAddress sdk.AccAddress `json:"validator_address" yaml:"validator_address"`
}
params for query 'custom/distr/validator_commission'
func NewQueryValidatorCommissionParams ¶
func NewQueryValidatorCommissionParams(validatorAddr sdk.AccAddress) QueryValidatorCommissionParams
creates a new instance of QueryValidatorCommissionParams
type QueryValidatorOutstandingRewardsParams ¶
type QueryValidatorOutstandingRewardsParams struct {
ValidatorAddress sdk.AccAddress `json:"validator_address" yaml:"validator_address"`
}
params for query 'custom/distr/validator_outstanding_rewards'
func NewQueryValidatorOutstandingRewardsParams ¶
func NewQueryValidatorOutstandingRewardsParams(validatorAddr sdk.AccAddress) QueryValidatorOutstandingRewardsParams
creates a new instance of QueryValidatorOutstandingRewardsParams
type RewardAccount ¶
type RewardsAccount ¶
type RewardsAccount struct { sdk.Coin Validator []RewardAccount `json:"validator"` }
func NewRewardsAccount ¶
func NewRewardsAccount(amount sdk.Coin, validators []RewardAccount) RewardsAccount
type ValidatorAccumulatedCommission ¶
验证者的佣金
func InitialValidatorAccumulatedCommission ¶
func InitialValidatorAccumulatedCommission() ValidatorAccumulatedCommission
return the initial accumulated commission (zero)
type ValidatorAccumulatedCommissionRecord ¶
type ValidatorAccumulatedCommissionRecord struct { ValidatorAddress sdk.AccAddress `json:"validator_address"` Accumulated ValidatorAccumulatedCommission `json:"accumulated"` }
Accumulated 代表这个validator所拥有的佣金;
type ValidatorCurrentRewards ¶
type ValidatorCurrentRewards struct { Rewards sdk.DecCoin `json:"rewards"` Period uint64 `json:"period"` }
Period: 时期; Rewards: 奖金数量;累积值;每次的提取奖金操作会更新Period; 每次+1;
func NewValidatorCurrentRewards ¶
func NewValidatorCurrentRewards(rewards sdk.DecCoin, period uint64) ValidatorCurrentRewards
type ValidatorCurrentRewardsRecord ¶
type ValidatorCurrentRewardsRecord struct { ValidatorAddress sdk.AccAddress `json:"validator_address"` Rewards ValidatorCurrentRewards `json:"rewards"` }
ValidatorCurrentRewardsRecord 包含一个Period 时期,其中的Rewards 只代表 这个时期到目前的块高度为止,所积累的奖金数;
type ValidatorHistoricalRewards ¶
type ValidatorHistoricalRewards struct { CumulativeRewardRatio sdk.DecCoin `json:"cumulative_reward_ratio"` ReferenceCount uint32 `json:"reference_count"` }
以validator地址 和 period时期 作为key来存储;表示到某个时期为止,这个validator所获得的所有奖金; CumulativeRewardRatio: 累积的奖金数(表示的是每一个token所拥有的奖金数;)
func NewValidatorHistoricalRewards ¶
func NewValidatorHistoricalRewards(cumulativeRewardRatio sdk.DecCoin, referenceCount uint32) ValidatorHistoricalRewards
type ValidatorHistoricalRewardsRecord ¶
type ValidatorHistoricalRewardsRecord struct { ValidatorAddress sdk.AccAddress `json:"validator_address"` Period uint64 `json:"period"` Rewards ValidatorHistoricalRewards `json:"rewards"` }
Rewards 指代 到当前这个时期为止,一个Token所拥有的价值;
type ValidatorOutstandingRewards ¶
validator总的获得的奖金数;包括佣金,奖金
type ValidatorOutstandingRewardsRecord ¶
type ValidatorOutstandingRewardsRecord struct { ValidatorAddress sdk.AccAddress `json:"validator_address"` OutstandingRewards sdk.DecCoin `json:"outstanding_rewards"` }
OutstandingRewards 代表这个Validator所拥有的所有奖金;
type ValidatorSlashEvent ¶
type ValidatorSlashEvent struct { ValidatorPeriod uint64 `json:"validator_period"` Fraction sdk.Dec `json:"fraction"` }
惩罚
type ValidatorSlashEventRecord ¶
type ValidatorSlashEventRecord struct { ValidatorAddress sdk.AccAddress `json:"validator_address"` Height uint64 `json:"height"` Period uint64 `json:"period"` Event ValidatorSlashEvent `json:"event"` }