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 ErrBondNotNominated() error
- func ErrCandidateExistsAddr() error
- func ErrCandidateWithdrawalDisallowed() error
- func ErrDelegationNotExists() error
- func ErrInsufficientFunds() error
- func ErrInvalidCubeSignature() error
- func ErrInvalidWithdrawalAmount() error
- func ErrMissingSignature() error
- func ErrNoCandidateForAddress() error
- func ErrReachMaxAmount() error
- func ErrVerificationDisallowed() error
- func ErrVerifiedAlready() error
- func GetCandidateDailyStakeMax(pubKey types.PubKey, startDate string) string
- func HandlePendingUnstakeRequests(height int64, store state.SimpleDB) error
- func NewAwardDistributor(height int64, validators, backupValidators Validators, logger log.Logger) *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 PunishAbsentValidator(pubKey types.PubKey, absence *Absence) (err error)
- func PunishByzantineValidator(pubKey types.PubKey) (err error)
- func RecordCandidateDailyStakes() error
- func RemoveAbsentValidator(pubKey types.PubKey) (err error)
- func RemoveCandidateDailyStakes(pubKey types.PubKey, startDate string)
- func RemoveDelegation(delegation *Delegation)
- func RemoveDelegator(delegator *Delegator)
- 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 UpdateDelegation(d *Delegation)
- func UpdateValidatorSet(store state.SimpleDB) (change []abci.Validator, err error)
- func VerifyCubeSignature(address common.Address, nonce uint64, cubeBatch string, sig string) error
- type Absence
- type AbsentValidators
- type Candidate
- type CandidateDailyStake
- type Candidates
- type CubePubKey
- type DelegateHistory
- type Delegation
- func GetDelegation(delegatorAddress common.Address, pubKey types.PubKey) *Delegation
- func GetDelegationsByDelegator(delegatorAddress common.Address) (delegations []*Delegation)
- func GetDelegationsByPubKey(pubKey types.PubKey) (delegations []*Delegation)
- func QueryDelegationsByDelegator(delegatorAddress common.Address) (delegations []*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) 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
const (
HalfYear = 180
)
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 ErrBondNotNominated ¶
func ErrBondNotNominated() 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 ErrNoCandidateForAddress ¶
func ErrNoCandidateForAddress() error
func ErrReachMaxAmount ¶
func ErrReachMaxAmount() error
func ErrVerificationDisallowed ¶
func ErrVerificationDisallowed() error
func ErrVerifiedAlready ¶
func ErrVerifiedAlready() error
func NewAwardDistributor ¶
func NewAwardDistributor(height int64, validators, backupValidators Validators, logger log.Logger) *awardDistributor
func NewTxActivateCandidacy ¶
func NewTxDeclareCandidacy ¶
func NewTxDelegate ¶
func NewTxSetCompRate ¶
func NewTxUpdateCandidacy ¶
func NewTxUpdateCandidacy(maxAmount string, description Description) sdk.Tx
func NewTxVerifyCandidacy ¶
func NewTxWithdrawCandidacy ¶
func PunishAbsentValidator ¶
func RecordCandidateDailyStakes ¶
func RecordCandidateDailyStakes() error
func RemoveAbsentValidator ¶
func RemoveDelegation ¶
func RemoveDelegation(delegation *Delegation)
func RemoveDelegator ¶
func RemoveDelegator(delegator *Delegator)
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 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 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"` }
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) 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"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` }
func GetDelegation ¶
func GetDelegation(delegatorAddress common.Address, pubKey types.PubKey) *Delegation
func GetDelegationsByDelegator ¶
func GetDelegationsByDelegator(delegatorAddress common.Address) (delegations []*Delegation)
func GetDelegationsByPubKey ¶
func GetDelegationsByPubKey(pubKey types.PubKey) (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) 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)