Documentation ¶
Index ¶
- Constants
- Variables
- func GetCandidateKey(candidateAddr string) []byte
- func GetDelegatorKey(candidateAddr, delegatorAddr string) []byte
- func GetDelegatorsKey(candidateAddr string) []byte
- func GetPendingRewardKey(candidateAddr string) []byte
- func GetRewardKey(ethAddr string) []byte
- func RegisterCodec(cdc *codec.Codec)
- type Candidate
- type Delegator
- type MsgEditCandidateDescription
- type MsgSetTransactors
- type MsgSignReward
- type MsgWithdrawReward
- type Params
- type PendingReward
- type QueryCandidateParams
- type QueryDelegatorParams
- type QueryRewardParams
- type Reward
- type RewardEpoch
- type RewardStats
- type Syncer
Constants ¶
const ( // module name ModuleName = "validator" // StoreKey to be used when creating the KVStore StoreKey = ModuleName AttributeKeyEthAddress = "eth_address" ActionInitiateWithdraw = "initate_withdraw" )
const ( TypeMsgSetTransactors = "set_transactors" TypeMsgEditCandidateDescription = "edit_candidate_description" TypeMsgWithdrawReward = "withdraw_reward" TypeMsgSignReward = "sign_reward" )
const ( DefaultSyncerDuration uint = 10 DefaultEpochLength uint = 5 DefaultMaxValidatorDiff uint = 10 DefaultWithdrawWindow time.Duration = time.Hour )
validator params default values
const ( QuerySyncer = "syncer" QueryDelegator = "delegator" QueryCandidate = "candidate" QueryCandidates = "candidates" QueryCandidateDelegators = "candidate-delegators" QueryReward = "reward" QueryRewardEpoch = "reward-epoch" QueryRewardStats = "reward-stats" QueryParameters = "parameters" )
const RouterKey = ModuleName // this was defined in your key.go file
Variables ¶
var ( SyncerKey = []byte{0x01} // key for syncer DelegatorKeyPrefix = []byte{0x03} // Key prefix for delegator CandidateKeyPrefix = []byte{0x04} // Key prefix for candidate RewardKeyPrefix = []byte{0x05} // Key prefix for reward RewardEpochKey = []byte{0x06} // Key for reward epoch PendingRewardKeyPrefix = []byte{0x07} // Key for pending reward )
var ( DefaultMiningReward = sdk.NewInt(10000000000000) DefaultPullerReward = sdk.NewInt(500000000000) )
var ( KeySyncerDuration = []byte("SyncerDuration") KeyEpochLength = []byte("EpochLength") KeyMaxValidatorDiff = []byte("KeyMaxValidatorDiff") KeyWithdrawWindow = []byte("WithdrawWindow") KeyMiningReward = []byte("MiningReward") KeyPullerReward = []byte("PullerReward") )
nolint - Keys for parameter access
var ModuleCdc = codec.New()
Functions ¶
func GetCandidateKey ¶
get candidate key from candidateAddr
func GetDelegatorKey ¶
get delegator key from candidate address and delegator address
func GetDelegatorsKey ¶
get delegators key from candidate address
func GetPendingRewardKey ¶ added in v0.2.4
func RegisterCodec ¶
RegisterCodec registers concrete types on the Amino codec
Types ¶
type Candidate ¶
type Candidate struct { EthAddress string `json:"eth_address"` ValAccount sdk.AccAddress `json:"val_account"` Transactors []sdk.AccAddress `json:"transactors"` StakingPool sdk.Int `json:"staking_pool"` CommissionRate sdk.Dec `json:"commission_rate"` RequestCount sdk.Int `json:"request_count"` Description staking.Description `json:"description"` }
valAccount will be used for running validator node, and transactors will be used for running gateway
func NewCandidate ¶
func NewCandidate(ethAddress string, acctAddress sdk.AccAddress) Candidate
type Delegator ¶
type Delegator struct { CandidateAddr string `json:"candidate_addr"` DelegatorAddr string `json:"delegator_addr"` DelegatedStake sdk.Int `json:"delegated_stake"` }
func NewDelegator ¶
type MsgEditCandidateDescription ¶ added in v0.2.3
type MsgEditCandidateDescription struct { EthAddress string `json:"eth_address"` Description staking.Description `json:"description"` Sender sdk.AccAddress `json:"sender"` }
func NewMsgEditCandidateDescription ¶ added in v0.2.3
func NewMsgEditCandidateDescription(ethAddress string, description staking.Description, sender sdk.AccAddress) MsgEditCandidateDescription
NewMsgEditCandidateDescription is a constructor function for MsgEditCandidateDescription
func (MsgEditCandidateDescription) GetSignBytes ¶ added in v0.2.3
func (msg MsgEditCandidateDescription) GetSignBytes() []byte
GetSignBytes encodes the message for signing
func (MsgEditCandidateDescription) GetSigners ¶ added in v0.2.3
func (msg MsgEditCandidateDescription) GetSigners() []sdk.AccAddress
GetSigners defines whose signature is required
func (MsgEditCandidateDescription) Route ¶ added in v0.2.3
func (msg MsgEditCandidateDescription) Route() string
Route should return the name of the module
func (MsgEditCandidateDescription) Type ¶ added in v0.2.3
func (msg MsgEditCandidateDescription) Type() string
Type should return the action
func (MsgEditCandidateDescription) ValidateBasic ¶ added in v0.2.3
func (msg MsgEditCandidateDescription) ValidateBasic() error
ValidateBasic runs stateless checks on the message
type MsgSetTransactors ¶ added in v0.2.0
type MsgSetTransactors struct { Transactors []sdk.AccAddress `json:"transactors"` Sender sdk.AccAddress `json:"sender"` }
func NewMsgSetTransactors ¶ added in v0.2.0
func NewMsgSetTransactors(transactors []sdk.AccAddress, sender sdk.AccAddress) MsgSetTransactors
NewMsgSetTransactors is a constructor function for MsgSetTransactors
func (MsgSetTransactors) GetSignBytes ¶ added in v0.2.0
func (msg MsgSetTransactors) GetSignBytes() []byte
GetSignBytes encodes the message for signing
func (MsgSetTransactors) GetSigners ¶ added in v0.2.0
func (msg MsgSetTransactors) GetSigners() []sdk.AccAddress
GetSigners defines whose signature is required
func (MsgSetTransactors) Route ¶ added in v0.2.0
func (msg MsgSetTransactors) Route() string
Route should return the name of the module
func (MsgSetTransactors) Type ¶ added in v0.2.0
func (msg MsgSetTransactors) Type() string
Type should return the action
func (MsgSetTransactors) ValidateBasic ¶ added in v0.2.0
func (msg MsgSetTransactors) ValidateBasic() error
ValidateBasic runs stateless checks on the message
type MsgSignReward ¶
type MsgSignReward struct { EthAddress string `json:"eth_address"` Sig []byte `json:"sig"` Sender sdk.AccAddress `json:"sender"` }
MsgSignReward defines a SyncValidator message
func NewMsgSignReward ¶
func NewMsgSignReward(ethAddress string, sig []byte, sender sdk.AccAddress) MsgSignReward
func (MsgSignReward) GetSignBytes ¶
func (msg MsgSignReward) GetSignBytes() []byte
GetSignBytes encodes the message for signing
func (MsgSignReward) GetSigners ¶
func (msg MsgSignReward) GetSigners() []sdk.AccAddress
GetSigners defines whose signature is required
func (MsgSignReward) Route ¶
func (msg MsgSignReward) Route() string
Route should return the name of the module
func (MsgSignReward) ValidateBasic ¶
func (msg MsgSignReward) ValidateBasic() error
ValidateBasic runs stateless checks on the message
type MsgWithdrawReward ¶
type MsgWithdrawReward struct { EthAddress string `json:"eth_address"` Sender sdk.AccAddress `json:"sender"` }
MsgWithdrawReward defines a SyncValidator message
func NewMsgWithdrawReward ¶
func NewMsgWithdrawReward(ethAddress string, sender sdk.AccAddress) MsgWithdrawReward
func (MsgWithdrawReward) GetSignBytes ¶
func (msg MsgWithdrawReward) GetSignBytes() []byte
GetSignBytes encodes the message for signing
func (MsgWithdrawReward) GetSigners ¶
func (msg MsgWithdrawReward) GetSigners() []sdk.AccAddress
GetSigners defines whose signature is required
func (MsgWithdrawReward) Route ¶
func (msg MsgWithdrawReward) Route() string
Route should return the name of the module
func (MsgWithdrawReward) Type ¶
func (msg MsgWithdrawReward) Type() string
Type should return the action
func (MsgWithdrawReward) ValidateBasic ¶
func (msg MsgWithdrawReward) ValidateBasic() error
ValidateBasic runs stateless checks on the message
type Params ¶
type Params struct { SyncerDuration uint `json:"syncer_duration" yaml:"syncer_duration"` EpochLength uint `json:"epoch_length" yaml:"epoch_length"` MaxValidatorDiff uint `json:"max_validator_diff" yaml:"max_validator_diff"` WithdrawWindow time.Duration `json:"withdraw_window" yaml:"withdraw_window"` MiningReward sdk.Int `json:"mining_reward" yaml:"mining_reward"` PullerReward sdk.Int `json:"puller_reward" yaml:"puller_reward"` }
func MustUnmarshalParams ¶
unmarshal the current validator params value from store key or panic
func NewParams ¶
func NewParams( syncerDuration, epochLength, maxValidatorDiff uint, withdrawWindow time.Duration, miningReward, pullerReward sdk.Int) Params
NewParams creates a new Params instance
func UnmarshalParams ¶
unmarshal the current validator params value from store key
func (*Params) ParamSetPairs ¶
func (p *Params) ParamSetPairs() params.ParamSetPairs
Implements params.ParamSet
type PendingReward ¶ added in v0.2.4
type PendingReward struct { CandidateAddr string `json:"candidate_addr"` MiningReward sdk.Int `json:"mining_reward"` ServiceReward sdk.Int `json:"service_reward"` }
func NewPendingReward ¶ added in v0.2.4
func NewPendingReward(ethAddress string) PendingReward
func (PendingReward) IsZero ¶ added in v0.2.4
func (pr PendingReward) IsZero() bool
type QueryCandidateParams ¶
type QueryCandidateParams struct {
CandidateAddress string
}
func NewQueryCandidateParams ¶
func NewQueryCandidateParams(candidateAddress string) QueryCandidateParams
type QueryDelegatorParams ¶
func NewQueryDelegatorParams ¶
func NewQueryDelegatorParams(candidateAddress, delegatorAddress string) QueryDelegatorParams
type QueryRewardParams ¶
type QueryRewardParams struct {
EthAddress string
}
func NewQueryRewardParams ¶
func NewQueryRewardParams(ethAddress string) QueryRewardParams
type Reward ¶
type Reward struct { Receiver string `json:"receiver"` MiningReward sdk.Int `json:"mining_reward"` ServiceReward sdk.Int `json:"service_reward"` RewardProtoBytes []byte `json:"reward_proto_bytes"` // proto msg for reward snapshot from latest intendWithdraw LastWithdrawTime time.Time `json:"last_withdraw_time"` // last time the user triggers withdraw Sigs []common.Sig `json:"sigs"` }
func (Reward) GetRewardRequest ¶
Generate rewardRequest msg
func (*Reward) InitateWithdraw ¶
Initiate the withdraw process
type RewardEpoch ¶ added in v0.2.4
type RewardEpoch struct { StartHeight int64 `json:"start_height"` MiningReward sdk.Int `json:"mining_reward"` ServiceReward sdk.Int `json:"service_reward"` }
func NewRewardEpoch ¶ added in v0.2.4
func NewRewardEpoch(height int64) RewardEpoch
type RewardStats ¶ added in v0.2.5
type RewardStats struct { TotalMiningReward sdk.Int `json:"total_mining_reward"` TotalServiceReward sdk.Int `json:"total_service_reward"` NumReceiver uint `json:"num_receiver"` NumWithdrawer uint `json:"num_withdrawer"` MaxReward sdk.Int `json:"max_reward"` MaxRewardReceiver string `json:"max_reward_receiver"` }
func NewRewardStats ¶ added in v0.2.5
func NewRewardStats() RewardStats