Documentation ¶
Overview ¶
nolint
Index ¶
- Constants
- func CheckTx(ctx types.Context, store state.SimpleDB, tx sdk.Tx) (res sdk.CheckResult, err error)
- func DeliverTx(ctx types.Context, store state.SimpleDB, tx sdk.Tx, hash []byte) (res sdk.DeliverResult, err error)
- func ErrBadAmount() error
- func ErrBadCompRate() error
- func ErrBadValidatorAddr() error
- func ErrCandidateExistsAddr() error
- func ErrCandidateWithdrawalDisallowed() error
- func ErrDelegationNotExists() error
- func ErrInsufficientFunds() error
- func ErrInvalidCubeSignature() error
- func ErrInvalidWithdrawalAmount() error
- func ErrMissingSignature() error
- func ErrReachMaxAmount() error
- func ErrVerificationDisallowed() error
- func ErrVerifiedAlready() error
- func GetCandidateDailyStakeMaxValue(pubKey types.PubKey, startDate string) (res sdk.Int)
- func GetCandidatesTotalShares() (res sdk.Int)
- func HandlePendingUnstakeRequests(height int64) error
- func NewAwardDistributor(store state.SimpleDB, height int64, validators, backupValidators Validators, ...) *awardDistributor
- func NewTxActivateCandidacy() sdk.Tx
- func NewTxDeclareCandidacy(pubKey types.PubKey, maxAmount string, compRate sdk.Rat, ...) sdk.Tx
- func NewTxDelegate(validatorAddress common.Address, amount, cubeBatch, sig string) sdk.Tx
- func NewTxSetCompRate(delegatorAddress common.Address, compRate sdk.Rat) sdk.Tx
- func NewTxUpdateCandidacy(maxAmount string, description Description) sdk.Tx
- func NewTxVerifyCandidacy(candidateAddress common.Address, verified bool) sdk.Tx
- func NewTxWithdraw(validatorAddress common.Address, amount string) sdk.Tx
- func NewTxWithdrawCandidacy() sdk.Tx
- func RecordCandidateDailyStakes() error
- func RemoveCandidateDailyStakes(pubKey types.PubKey, startDate string)
- func RemoveDelegation(delegatorAddress common.Address, pubKey types.PubKey)
- func RemoveDelegator(delegator *Delegator)
- func RemoveValidator(pubKey types.PubKey) (err error)
- func ResetDeliverSqlTx()
- func SaveCandidate(candidate *Candidate)
- func SaveCandidateDailyStake(cds *CandidateDailyStake)
- func SaveDelegation(d *Delegation)
- func SaveDelegator(delegator *Delegator)
- func SetDeliverSqlTx(tx *sql.Tx)
- func SetGenesisValidator(val types.GenesisValidator, store state.SimpleDB) error
- func SlashAbsentValidator(pubKey types.PubKey, absence *Absence) (err error)
- func SlashBadProposer(pubKey types.PubKey) (err error)
- func SlashByzantineValidator(pubKey types.PubKey) (err error)
- func UpdateDelegation(d *Delegation)
- func UpdateValidatorSet() (change []abci.Validator, err error)
- func VerifyCubeSignature(address common.Address, nonce uint64, cubeBatch string, sig string) error
- type Absence
- type AbsentValidators
- type AwardInfo
- type AwardInfos
- type Candidate
- func (c *Candidate) AddShares(value sdk.Int) (res sdk.Int)
- func (c *Candidate) CalcVotingPower() (res int64)
- func (c *Candidate) Hash() []byte
- func (c *Candidate) ParseMaxShares() sdk.Int
- func (c *Candidate) ParseShares() sdk.Int
- func (c *Candidate) SelfStakingAmount(ssr sdk.Rat) (res sdk.Int)
- func (c *Candidate) Validator() Validator
- type CandidateDailyStake
- type Candidates
- type CubePubKey
- type DelegateHistory
- type Delegation
- func (d *Delegation) AddAwardAmount(value sdk.Int) (res sdk.Int)
- func (d *Delegation) AddDelegateAmount(value sdk.Int) (res sdk.Int)
- func (d *Delegation) AddSlashAmount(value sdk.Int) (res sdk.Int)
- func (d *Delegation) AddWithdrawAmount(value sdk.Int) (res sdk.Int)
- func (d *Delegation) CalcVotingPower(sharesPercentage sdk.Rat) int64
- func (d *Delegation) Hash() []byte
- func (d *Delegation) ParseAwardAmount() sdk.Int
- func (d *Delegation) ParseDelegateAmount() sdk.Int
- func (d *Delegation) ParseSlashAmount() sdk.Int
- func (d *Delegation) ParseWithdrawAmount() sdk.Int
- func (d *Delegation) Shares() (res sdk.Int)
- type Delegator
- type Description
- type PunishHistory
- type SqlTxWrapper
- type TxActivateCandidacy
- type TxDeclareCandidacy
- type TxDelegate
- type TxSetCompRate
- type TxUpdateCandidacy
- type TxVerifyCandidacy
- type TxWithdraw
- type TxWithdrawCandidacy
- type UnstakeRequest
- type Validator
- type Validators
Constants ¶
const ( ByteTxDeclareCandidacy = 0x55 ByteTxUpdateCandidacy = 0x56 ByteTxWithdrawCandidacy = 0x57 ByteTxVerifyCandidacy = 0x58 ByteTxActivateCandidacy = 0x59 ByteTxDelegate = 0x60 ByteTxWithdraw = 0x61 ByteTxSetCompRate = 0x62 TypeTxDeclareCandidacy = "stake/declareCandidacy" TypeTxUpdateCandidacy = "stake/updateCandidacy" TypeTxVerifyCandidacy = "stake/verifyCandidacy" TypeTxWithdrawCandidacy = "stake/withdrawCandidacy" TypeTxActivateCandidacy = "stake/activateCandidacy" TypeTxDelegate = "stake/delegate" TypeTxWithdraw = "stake/withdraw" TypeTxSetCompRate = "stake/set-comprate" )
register the tx type with its validation logic make sure to use the name of the handler as the prefix in the tx type, so it gets routed properly
Variables ¶
This section is empty.
Functions ¶
func DeliverTx ¶
func DeliverTx(ctx types.Context, store state.SimpleDB, tx sdk.Tx, hash []byte) (res sdk.DeliverResult, err error)
DeliverTx executes the tx if valid
func ErrBadAmount ¶
func ErrBadAmount() error
func ErrBadCompRate ¶
func ErrBadCompRate() error
func ErrBadValidatorAddr ¶
func ErrBadValidatorAddr() error
func ErrCandidateExistsAddr ¶
func ErrCandidateExistsAddr() error
func ErrCandidateWithdrawalDisallowed ¶
func ErrCandidateWithdrawalDisallowed() error
func ErrDelegationNotExists ¶
func ErrDelegationNotExists() error
func ErrInsufficientFunds ¶
func ErrInsufficientFunds() error
func ErrInvalidCubeSignature ¶
func ErrInvalidCubeSignature() error
func ErrInvalidWithdrawalAmount ¶
func ErrInvalidWithdrawalAmount() error
func ErrMissingSignature ¶
func ErrMissingSignature() error
func ErrReachMaxAmount ¶
func ErrReachMaxAmount() error
func ErrVerificationDisallowed ¶
func ErrVerificationDisallowed() error
func ErrVerifiedAlready ¶
func ErrVerifiedAlready() error
func NewAwardDistributor ¶
func NewTxActivateCandidacy ¶
func NewTxDeclareCandidacy ¶
func NewTxDelegate ¶
func NewTxSetCompRate ¶
func NewTxUpdateCandidacy ¶
func NewTxUpdateCandidacy(maxAmount string, description Description) sdk.Tx
func NewTxVerifyCandidacy ¶
func NewTxWithdrawCandidacy ¶
func RecordCandidateDailyStakes ¶
func RecordCandidateDailyStakes() error
func RemoveDelegator ¶
func RemoveDelegator(delegator *Delegator)
func RemoveValidator ¶
func ResetDeliverSqlTx ¶
func ResetDeliverSqlTx()
func SaveCandidate ¶
func SaveCandidate(candidate *Candidate)
func SaveCandidateDailyStake ¶
func SaveCandidateDailyStake(cds *CandidateDailyStake)
func SaveDelegation ¶
func SaveDelegation(d *Delegation)
func SaveDelegator ¶
func SaveDelegator(delegator *Delegator)
func SetDeliverSqlTx ¶
func SetGenesisValidator ¶
func SetGenesisValidator(val types.GenesisValidator, store state.SimpleDB) error
func SlashAbsentValidator ¶
func SlashBadProposer ¶
func SlashByzantineValidator ¶
func UpdateDelegation ¶
func UpdateDelegation(d *Delegation)
func UpdateValidatorSet ¶
UpdateValidatorSet - Updates the voting power for the candidate set and returns the subset of validators which have changed for Tendermint
Types ¶
type Absence ¶
type Absence struct {
// contains filtered or unexported fields
}
func (*Absence) Accumulate ¶
func (a *Absence) Accumulate()
type AbsentValidators ¶
func NewAbsentValidators ¶
func NewAbsentValidators() *AbsentValidators
func (AbsentValidators) Clear ¶
func (av AbsentValidators) Clear(currentBlockHeight int64)
func (AbsentValidators) Remove ¶
func (av AbsentValidators) Remove(pk types.PubKey)
type AwardInfos ¶
type AwardInfos []AwardInfo
type Candidate ¶
type Candidate struct { PubKey types.PubKey `json:"pub_key"` // Pubkey of candidate OwnerAddress string `json:"owner_address"` // Sender of BondTx - UnbondTx returns here VotingPower int64 `json:"voting_power"` // Voting power if pubKey is a considered a validator PendingVotingPower int64 `json:"pending_voting_power"` CompRate sdk.Rat `json:"comp_rate"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` Description Description `json:"description"` Verified string `json:"verified"` Active string `json:"active"` BlockHeight int64 `json:"block_height"` Rank int64 `json:"rank"` State string `json:"state"` NumOfDelegator int64 `json:"num_of_delegators"` }
Candidate 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 candidate, the candidate is credited with a DelegatorBond 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. NOTE if the Owner.Empty() == true then this is a candidate who has revoked candidacy
func GetCandidateByAddress ¶
func GetCandidateByPubKey ¶
func QueryCandidateByAddress ¶
func (*Candidate) CalcVotingPower ¶
func (*Candidate) ParseMaxShares ¶
func (*Candidate) ParseShares ¶
func (*Candidate) SelfStakingAmount ¶
type CandidateDailyStake ¶
type Candidates ¶
type Candidates []*Candidate
func GetBackupValidators ¶
func GetBackupValidators() (candidates Candidates)
func GetCandidates ¶
func GetCandidates() (candidates Candidates)
func QueryCandidates ¶
func QueryCandidates() (candidates Candidates)
func (Candidates) Less ¶
func (cs Candidates) Less(i, j int) bool
func (Candidates) Swap ¶
func (cs Candidates) Swap(i, j int)
func (Candidates) Validators ¶
func (cs Candidates) Validators() Validators
Validators - get the most recent updated validator set from the Candidates. These bonds are already sorted by VotingPower from the UpdateVotingPower function which is the only function which is to modify the VotingPower
type CubePubKey ¶
type DelegateHistory ¶
type Delegation ¶
type Delegation struct { DelegatorAddress common.Address `json:"delegator_address"` PubKey types.PubKey `json:"pub_key"` DelegateAmount string `json:"delegate_amount"` AwardAmount string `json:"award_amount"` WithdrawAmount string `json:"withdraw_amount"` SlashAmount string `json:"slash_amount"` CompRate sdk.Rat `json:"comp_rate"` VotingPower int64 `json:"voting_power"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` State string `json:"state"` }
func GetDelegation ¶
func GetDelegation(delegatorAddress common.Address, pubKey types.PubKey) *Delegation
func GetDelegationsByPubKey ¶
func GetDelegationsByPubKey(pubKey types.PubKey, state string) (delegations []*Delegation)
func QueryDelegationsByDelegator ¶
func QueryDelegationsByDelegator(delegatorAddress common.Address) (delegations []*Delegation)
func (*Delegation) AddAwardAmount ¶
func (d *Delegation) AddAwardAmount(value sdk.Int) (res sdk.Int)
func (*Delegation) AddDelegateAmount ¶
func (d *Delegation) AddDelegateAmount(value sdk.Int) (res sdk.Int)
func (*Delegation) AddSlashAmount ¶
func (d *Delegation) AddSlashAmount(value sdk.Int) (res sdk.Int)
func (*Delegation) AddWithdrawAmount ¶
func (d *Delegation) AddWithdrawAmount(value sdk.Int) (res sdk.Int)
func (*Delegation) CalcVotingPower ¶
func (d *Delegation) CalcVotingPower(sharesPercentage sdk.Rat) int64
func (*Delegation) Hash ¶
func (d *Delegation) Hash() []byte
func (*Delegation) ParseAwardAmount ¶
func (d *Delegation) ParseAwardAmount() sdk.Int
func (*Delegation) ParseDelegateAmount ¶
func (d *Delegation) ParseDelegateAmount() sdk.Int
func (*Delegation) ParseSlashAmount ¶
func (d *Delegation) ParseSlashAmount() sdk.Int
func (*Delegation) ParseWithdrawAmount ¶
func (d *Delegation) ParseWithdrawAmount() sdk.Int
func (*Delegation) Shares ¶
func (d *Delegation) Shares() (res sdk.Int)
type Delegator ¶
func GetDelegator ¶
type Description ¶
type PunishHistory ¶
type SqlTxWrapper ¶
type SqlTxWrapper struct {
// contains filtered or unexported fields
}
func (*SqlTxWrapper) Commit ¶
func (wrapper *SqlTxWrapper) Commit()
func (*SqlTxWrapper) Rollback ¶
func (wrapper *SqlTxWrapper) Rollback()
type TxActivateCandidacy ¶
type TxActivateCandidacy struct{}
func (TxActivateCandidacy) ValidateBasic ¶
func (tx TxActivateCandidacy) ValidateBasic() error
ValidateBasic - Check for non-empty candidate, and valid coins
func (TxActivateCandidacy) Wrap ¶
func (tx TxActivateCandidacy) Wrap() sdk.Tx
Wrap - Wrap a Tx as a Basecoin Tx
type TxDeclareCandidacy ¶
type TxDeclareCandidacy struct { PubKey string `json:"pub_key"` MaxAmount string `json:"max_amount"` CompRate sdk.Rat `json:"comp_rate"` Description Description `json:"description"` }
func (TxDeclareCandidacy) SelfStakingAmount ¶
func (tx TxDeclareCandidacy) SelfStakingAmount(ssr sdk.Rat) (res sdk.Int)
func (TxDeclareCandidacy) ValidateBasic ¶
func (tx TxDeclareCandidacy) ValidateBasic() error
func (TxDeclareCandidacy) Wrap ¶
func (tx TxDeclareCandidacy) Wrap() sdk.Tx
type TxDelegate ¶
type TxDelegate struct { ValidatorAddress common.Address `json:"validator_address"` Amount string `json:"amount"` CubeBatch string `json:"cube_batch"` Sig string `json:"sig"` }
TxDelegate - struct for bonding or unbonding transactions
func (TxDelegate) ValidateBasic ¶
func (tx TxDelegate) ValidateBasic() error
type TxSetCompRate ¶
type TxSetCompRate struct { DelegatorAddress common.Address `json:"delegator_address"` CompRate sdk.Rat `json:"comp_rate"` }
func (TxSetCompRate) ValidateBasic ¶
func (tx TxSetCompRate) ValidateBasic() error
type TxUpdateCandidacy ¶
type TxUpdateCandidacy struct { MaxAmount string `json:"max_amount"` Description Description `json:"description"` }
func (TxUpdateCandidacy) ValidateBasic ¶
func (tx TxUpdateCandidacy) ValidateBasic() error
func (TxUpdateCandidacy) Wrap ¶
func (tx TxUpdateCandidacy) Wrap() sdk.Tx
type TxVerifyCandidacy ¶
type TxVerifyCandidacy struct { CandidateAddress common.Address `json:"candidate_address"` Verified bool `json:"verified"` }
func (TxVerifyCandidacy) ValidateBasic ¶
func (tx TxVerifyCandidacy) ValidateBasic() error
ValidateBasic - Check for non-empty candidate, and valid coins
func (TxVerifyCandidacy) Wrap ¶
func (tx TxVerifyCandidacy) Wrap() sdk.Tx
Wrap - Wrap a Tx as a Basecoin Tx
type TxWithdraw ¶
type TxWithdraw struct { ValidatorAddress common.Address `json:"validator_address"` Amount string `json:"amount"` }
func (TxWithdraw) ValidateBasic ¶
func (tx TxWithdraw) ValidateBasic() error
type TxWithdrawCandidacy ¶
type TxWithdrawCandidacy struct{}
func (TxWithdrawCandidacy) ValidateBasic ¶
func (tx TxWithdrawCandidacy) ValidateBasic() error
ValidateBasic - Check for non-empty candidate, and valid coins
func (TxWithdrawCandidacy) Wrap ¶
func (tx TxWithdrawCandidacy) Wrap() sdk.Tx
Wrap - Wrap a Tx as a Basecoin Tx
type UnstakeRequest ¶
type UnstakeRequest struct { Id int64 DelegatorAddress common.Address PubKey types.PubKey InitiatedBlockHeight int64 PerformedBlockHeight int64 Amount string State string CreatedAt string UpdatedAt string }
func GetUnstakeRequests ¶
func GetUnstakeRequests(height int64) (reqs []*UnstakeRequest)
func (*UnstakeRequest) Hash ¶
func (r *UnstakeRequest) Hash() []byte
type Validator ¶
type Validator Candidate
Validator is one of the top Candidates
func (Validator) ABCIValidator ¶
ABCIValidator - Get the validator from a bond value
type Validators ¶
type Validators []Validator
Validators - list of Validators
func (Validators) Less ¶
func (vs Validators) Less(i, j int) bool
func (Validators) Remove ¶
func (vs Validators) Remove(i int) Validators
func (Validators) Swap ¶
func (vs Validators) Swap(i, j int)