Versions in this module Expand all Collapse all v0 v0.16.3 Jan 26, 2022 v0.16.2 Dec 1, 2021 v0.16.1 Nov 4, 2021 v0.16.0 Jul 16, 2021 Changes in this version + const KeyDuplicateSignReportReward + const KeyIncreaseIssuanceRatio + const KeyMaxBlockGasLimit + const KeyMaxEvidenceAge + const KeyMaxTxDataLimit + const KeyMaxValidators + const KeyOperatingThreshold + const KeyRestrictingMinimumAmount + const KeyRewardPerChangeInterval + const KeyRewardPerMaxChangeRange + const KeySlashBlocksReward + const KeySlashFractionDuplicateSign + const KeyStakeThreshold + const KeyUnStakeFreezeDuration + const KeyZeroProduceCumulativeTime + const KeyZeroProduceFreezeDuration + const KeyZeroProduceNumberThreshold + const ModuleBlock + const ModuleRestricting + const ModuleReward + const ModuleSlashing + const ModuleStaking + const ModuleTxPool + const RateCoefficient + var ActiveVersionError = common.NewBizError(302001, "Current active version not found") + var DeclareVersionError = common.NewBizError(302028, "Declared version is invalid") + var EndVotingRoundsTooLarge = common.NewBizError(302010, "EndVotingRounds is too large") + var EndVotingRoundsTooSmall = common.NewBizError(302009, "EndVotingRounds is too small") + var GovernParamValueError = common.NewBizError(302033, "Govern parameter value error") + var KeyDelimiter = []byte(":") + var NewVersionError = common.NewBizError(302011, "NewVersion should larger than current active version") + var NotifyStakingDeclaredVersionError = common.NewBizError(302029, "Error is found when notifying staking for the declared version") + var PIPIDEmpty = common.NewBizError(302007, "PIPID is null") + var PIPIDExist = common.NewBizError(302008, "PIPID already existed") + var ParamProposalIsSameValue = common.NewBizError(302034, "The new value of the parameter proposal is the same as the old one") + var ParamVerifierMap = make(map[string]ParamVerifier) + var PreActiveVersionProposalExist = common.NewBizError(302013, "Another version proposal already existed at pre-active stage") + var ProposalIDEmpty = common.NewBizError(302004, "Proposal ID is null") + var ProposalIDExist = common.NewBizError(302005, "Proposal ID already existed") + var ProposalNotAtVoting = common.NewBizError(302026, "The proposal is not at voting stage") + var ProposalNotFound = common.NewBizError(302006, "Proposal not found") + var ProposalTypeError = common.NewBizError(302003, "Illegal proposal type") + var ProposerEmpty = common.NewBizError(302018, "The proposer is null") + var TallyResultNotFound = common.NewBizError(302030, "The result of proposal is not found") + var TobeCanceledProposalNotAtVoting = common.NewBizError(302017, "The proposal to be canceled is not at voting stage") + var TobeCanceledProposalNotFound = common.NewBizError(302015, "The proposal to be canceled is not found") + var TobeCanceledProposalTypeError = common.NewBizError(302016, "The proposal to be canceled proposal has an illegal version type") + var TxSenderDifferFromStaking = common.NewBizError(302021, "Transaction account is inconsistent with the staking account") + var TxSenderIsNotCandidate = common.NewBizError(302023, "Transaction node is not the candidate") + var TxSenderIsNotVerifier = common.NewBizError(302022, "Transaction node is not the validator") + var UnsupportedGovernParam = common.NewBizError(302031, "Unsupported governent parameter") + var ValueDelimiter = []byte(":") + var VerifierInfoNotFound = common.NewBizError(302019, "Detailed verifier information is not found") + var VerifierNotUpgraded = common.NewBizError(302025, "Verifier does not upgraded to the latest version") + var VerifierStatusInvalid = common.NewBizError(302020, "The verifier status is invalid") + var VersionSignError = common.NewBizError(302024, "Invalid version signature") + var VoteDuplicated = common.NewBizError(302027, "Duplicated votes found") + var VoteOptionError = common.NewBizError(302002, "Illegal voting option") + var VotingCancelProposalExist = common.NewBizError(302014, "Another cancel proposal already existed at voting stage") + var VotingParamProposalExist = common.NewBizError(302032, "Another parameter proposal already existed at voting stage") + var VotingVersionProposalExist = common.NewBizError(302012, "Another version proposal already existed at voting stage") + func AccuVerifiers(blockHash common.Hash, proposalID common.Hash, verifierList []discover.NodeID) error + func AddActiveNode(blockHash common.Hash, proposalID common.Hash, nodeID discover.NodeID) error + func AddActiveVersion(activeVersion uint32, activeBlock uint64, state xcom.StateDB) error + func AddPIPID(pipID string, state xcom.StateDB) error + func AddVoteValue(proposalID common.Hash, voter discover.NodeID, option VoteOption, ...) error + func AddVotingProposalID(blockHash common.Hash, proposalID common.Hash) error + func ClearAccuVerifiers(blockHash common.Hash, proposalID common.Hash) error + func ClearActiveNodes(blockHash common.Hash, proposalID common.Hash) error + func ClearProcessingProposals(blockHash common.Hash, state xcom.StateDB) error + func ClearVoteValue(proposalID common.Hash, blockHash common.Hash) error + func DeclareVersion(from common.Address, declaredNodeID discover.NodeID, declaredVersion uint32, ...) error + func GetActiveNodeList(blockHash common.Hash, proposalID common.Hash) ([]discover.NodeID, error) + func GetCurrentActiveVersion(state xcom.StateDB) uint32 + func GetGovernParamValue(module, name string, blockNumber uint64, blockHash common.Hash) (string, error) + func GetMaxEndVotingBlock(nodeID discover.NodeID, blockHash common.Hash, state xcom.StateDB) (uint64, error) + func GetPreActiveProposalID(blockHash common.Hash) (common.Hash, error) + func GetPreActiveVersion(blockHash common.Hash) uint32 + func GetVersionForStaking(blockHash common.Hash, state xcom.StateDB) uint32 + func GetVotedVerifierMap(proposalID common.Hash, blockHash common.Hash) (map[discover.NodeID]struct{}, error) + func GovernDuplicateSignReportReward(blockNumber uint64, blockHash common.Hash) (uint32, error) + func GovernIncreaseIssuanceRatio(blockNumber uint64, blockHash common.Hash) (uint16, error) + func GovernMaxBlockGasLimit(blockNumber uint64, blockHash common.Hash) (int, error) + func GovernMaxEvidenceAge(blockNumber uint64, blockHash common.Hash) (uint32, error) + func GovernMaxValidators(blockNumber uint64, blockHash common.Hash) (uint64, error) + func GovernOperatingThreshold(blockNumber uint64, blockHash common.Hash) (*big.Int, error) + func GovernRestrictingMinimumAmount(blockNumber uint64, blockHash common.Hash) (*big.Int, error) + func GovernRewardPerChangeInterval(blockNumber uint64, blockHash common.Hash) (uint16, error) + func GovernRewardPerMaxChangeRange(blockNumber uint64, blockHash common.Hash) (uint16, error) + func GovernSlashBlocksReward(blockNumber uint64, blockHash common.Hash) (uint32, error) + func GovernSlashFractionDuplicateSign(blockNumber uint64, blockHash common.Hash) (uint32, error) + func GovernStakeThreshold(blockNumber uint64, blockHash common.Hash) (*big.Int, error) + func GovernUnStakeFreezeDuration(blockNumber uint64, blockHash common.Hash) (uint64, error) + func GovernZeroProduceCumulativeTime(blockNumber uint64, blockHash common.Hash) (uint16, error) + func GovernZeroProduceFreezeDuration(blockNumber uint64, blockHash common.Hash) (uint64, error) + func GovernZeroProduceNumberThreshold(blockNumber uint64, blockHash common.Hash) (uint16, error) + func Gte0140Version(version uint32) bool + func Gte0140VersionState(state xcom.StateDB) bool + func Gte0150Version(version uint32) bool + func Gte0150VersionState(state xcom.StateDB) bool + func Gte0160Version(version uint32) bool + func Gte0160VersionState(state xcom.StateDB) bool + func InitGenesisGovernParam(prevHash common.Hash, snapDB snapshotdb.BaseDB, genesisVersion uint32) (common.Hash, error) + func KeyAccuVerifier(proposalID common.Hash) []byte + func KeyActiveNodes(proposalID common.Hash) []byte + func KeyActiveVersions() []byte + func KeyEndProposals() []byte + func KeyGovernHASHKey() []byte + func KeyPIPIDs() []byte + func KeyParamItems() []byte + func KeyParamValue(module, name string) []byte + func KeyPreActiveProposal() []byte + func KeyPreActiveVersion() []byte + func KeyProposal(proposalID common.Hash) []byte + func KeyTallyResult(proposalID common.Hash) []byte + func KeyVote(proposalID common.Hash) []byte + func KeyVotingProposals() []byte + func ListAccuVerifier(blockHash common.Hash, proposalID common.Hash) ([]discover.NodeID, error) + func ListEndProposalID(blockHash common.Hash) ([]common.Hash, error) + func ListPIPID(state xcom.StateDB) ([]string, error) + func ListVotingProposal(blockHash common.Hash) ([]common.Hash, error) + func ListVotingProposalID(blockHash common.Hash) ([]common.Hash, error) + func MovePreActiveProposalIDToEnd(blockHash common.Hash, proposalID common.Hash) error + func MoveVotingProposalIDToEnd(proposalID common.Hash, blockHash common.Hash) error + func MoveVotingProposalIDToPreActive(blockHash common.Hash, proposalID common.Hash, preactiveVersion uint32) error + func NotifyPunishedVerifiers(blockHash common.Hash, punishedVerifierMap map[discover.NodeID]struct{}, ...) error + func RegGovernParamVerifier(module, name string, callback ParamVerifier) + func RegisterGovernParamVerifiers() + func Set0140Param(hash common.Hash, curVersion uint32, db snapshotdb.DB) error + func SetEcParametersHash(state xcom.StateDB, rlpData []byte) + func SetGovernParam(module, name, desc, initValue string, activeBlockNumber uint64, ...) error + func SetPreActiveVersion(blockHash common.Hash, preActiveVersion uint32) error + func SetProposal(proposal Proposal, state xcom.StateDB) error + func SetTallyResult(tallyResult TallyResult, state xcom.StateDB) error + func Submit(from common.Address, proposal Proposal, blockHash common.Hash, ...) error + func TallyVoteValue(proposalID common.Hash, blockHash common.Hash) (yeas, nays, abstentions uint64, e error) + func UpdateGovernParamValue(module, name string, newValue string, activeBlock uint64, ...) error + func UpdateVoteValue(proposalID common.Hash, voteValueList []VoteValue, blockHash common.Hash) error + func Vote(from common.Address, vote VoteInfo, blockHash common.Hash, blockNumber uint64, ...) error + func WriteEcHash0140(state xcom.StateDB) error + type ActiveVersionValue struct + ActiveBlock uint64 + ActiveVersion uint32 + func ListActiveVersion(state xcom.StateDB) ([]ActiveVersionValue, error) + type CancelProposal struct + EndVotingBlock uint64 + EndVotingRounds uint64 + PIPID string + ProposalID common.Hash + ProposalType ProposalType + Proposer discover.NodeID + Result TallyResult + SubmitBlock uint64 + TobeCanceled common.Hash + func (cp *CancelProposal) GetEndVotingBlock() uint64 + func (cp *CancelProposal) GetPIPID() string + func (cp *CancelProposal) GetProposalID() common.Hash + func (cp *CancelProposal) GetProposalType() ProposalType + func (cp *CancelProposal) GetProposer() discover.NodeID + func (cp *CancelProposal) GetSubmitBlock() uint64 + func (cp *CancelProposal) GetTallyResult() TallyResult + func (cp *CancelProposal) String() string + func (cp *CancelProposal) Verify(submitBlock uint64, blockHash common.Hash, state xcom.StateDB, ...) error + type GovernParam struct + ParamItem *ParamItem + ParamValue *ParamValue + ParamVerifier ParamVerifier + func FindGovernParam(module, name string, blockHash common.Hash) (*GovernParam, error) + func ListGovernParam(module string, blockHash common.Hash) ([]*GovernParam, error) + type ParamItem struct + Desc string + Module string + Name string + type ParamProposal struct + EndVotingBlock uint64 + Module string + Name string + NewValue string + PIPID string + ProposalID common.Hash + ProposalType ProposalType + Proposer discover.NodeID + Result TallyResult + SubmitBlock uint64 + func (pp *ParamProposal) GetEndVotingBlock() uint64 + func (pp *ParamProposal) GetPIPID() string + func (pp *ParamProposal) GetProposalID() common.Hash + func (pp *ParamProposal) GetProposalType() ProposalType + func (pp *ParamProposal) GetProposer() discover.NodeID + func (pp *ParamProposal) GetSubmitBlock() uint64 + func (pp *ParamProposal) GetTallyResult() TallyResult + func (pp *ParamProposal) String() string + func (pp *ParamProposal) Verify(submitBlock uint64, blockHash common.Hash, state xcom.StateDB, ...) error + type ParamValue struct + ActiveBlock uint64 + StaleValue string + Value string + type ParamVerifier func(blockNumber uint64, blockHash common.Hash, value string) error + type Proposal interface + GetEndVotingBlock func() uint64 + GetPIPID func() string + GetProposalID func() common.Hash + GetProposalType func() ProposalType + GetProposer func() discover.NodeID + GetSubmitBlock func() uint64 + GetTallyResult func() TallyResult + String func() string + Verify func(blockNumber uint64, blockHash common.Hash, state xcom.StateDB, ...) error + func FindVotingProposal(blockHash common.Hash, state xcom.StateDB, proposalTypes ...ProposalType) (Proposal, error) + func GetExistProposal(proposalID common.Hash, state xcom.StateDB) (Proposal, error) + func GetProposal(proposalID common.Hash, state xcom.StateDB) (Proposal, error) + func GetProposalList(blockHash common.Hash, state xcom.StateDB) ([]Proposal, error) + func ListProposal(blockHash common.Hash, state xcom.StateDB) ([]Proposal, error) + type ProposalStatus uint8 + const Active + const Canceled + const Failed + const Pass + const PreActive + const Voting + func (status ProposalStatus) ToString() string + type ProposalType uint8 + const Cancel + const Param + const Text + const Version + type Staking interface + DeclarePromoteNotify func(blockHash common.Hash, blockNumber uint64, nodeId discover.NodeID, ...) error + GetCanBase func(blockHash common.Hash, addr common.NodeAddress) (*staking.CandidateBase, error) + GetCanBaseList func(blockHash common.Hash, blockNumber uint64) (staking.CandidateBaseQueue, error) + GetCanMutable func(blockHash common.Hash, addr common.NodeAddress) (*staking.CandidateMutable, error) + GetCandidateInfo func(blockHash common.Hash, addr common.NodeAddress) (*staking.Candidate, error) + GetVerifierList func(blockHash common.Hash, blockNumber uint64, isCommit bool) (staking.ValidatorExQueue, error) + ListVerifierNodeID func(blockHash common.Hash, blockNumber uint64) ([]discover.NodeID, error) + type TallyResult struct + Abstentions uint64 + AccuVerifiers uint64 + CanceledBy common.Hash + Nays uint64 + ProposalID common.Hash + Status ProposalStatus + Yeas uint64 + func GetTallyResult(proposalID common.Hash, state xcom.StateDB) (*TallyResult, error) + type TextProposal struct + EndVotingBlock uint64 + PIPID string + ProposalID common.Hash + ProposalType ProposalType + Proposer discover.NodeID + Result TallyResult + SubmitBlock uint64 + func (tp *TextProposal) GetEndVotingBlock() uint64 + func (tp *TextProposal) GetPIPID() string + func (tp *TextProposal) GetProposalID() common.Hash + func (tp *TextProposal) GetProposalType() ProposalType + func (tp *TextProposal) GetProposer() discover.NodeID + func (tp *TextProposal) GetSubmitBlock() uint64 + func (tp *TextProposal) GetTallyResult() TallyResult + func (tp *TextProposal) String() string + func (tp *TextProposal) Verify(submitBlock uint64, blockHash common.Hash, state xcom.StateDB, ...) error + type VersionProposal struct + ActiveBlock uint64 + EndVotingBlock uint64 + EndVotingRounds uint64 + NewVersion uint32 + PIPID string + ProposalID common.Hash + ProposalType ProposalType + Proposer discover.NodeID + Result TallyResult + SubmitBlock uint64 + func (vp *VersionProposal) GetActiveBlock() uint64 + func (vp *VersionProposal) GetEndVotingBlock() uint64 + func (vp *VersionProposal) GetNewVersion() uint32 + func (vp *VersionProposal) GetPIPID() string + func (vp *VersionProposal) GetProposalID() common.Hash + func (vp *VersionProposal) GetProposalType() ProposalType + func (vp *VersionProposal) GetProposer() discover.NodeID + func (vp *VersionProposal) GetSubmitBlock() uint64 + func (vp *VersionProposal) GetTallyResult() TallyResult + func (vp *VersionProposal) String() string + func (vp *VersionProposal) Verify(submitBlock uint64, blockHash common.Hash, state xcom.StateDB, ...) error + type VoteInfo struct + ProposalID common.Hash + VoteNodeID discover.NodeID + VoteOption VoteOption + type VoteOption uint8 + const Abstention + const No + const Yes + func ParseVoteOption(option uint8) VoteOption + type VoteValue struct + VoteNodeID discover.NodeID + VoteOption VoteOption + func ListVoteValue(proposalID common.Hash, blockHash common.Hash) ([]VoteValue, error)