Documentation ¶
Index ¶
- Constants
- Variables
- 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
- type CancelProposal
- 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
- type ParamItem
- type ParamProposal
- 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
- type ParamVerifier
- type Proposal
- 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
- type ProposalType
- type Staking
- type TallyResult
- type TextProposal
- 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
- 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
- type VoteOption
- type VoteValue
Constants ¶
const ( ModuleStaking = "staking" ModuleSlashing = "slashing" ModuleBlock = "block" ModuleTxPool = "txPool" ModuleReward = "reward" ModuleRestricting = "restricting" )
const ( KeyStakeThreshold = "stakeThreshold" KeyOperatingThreshold = "operatingThreshold" KeyMaxValidators = "maxValidators" KeyUnStakeFreezeDuration = "unStakeFreezeDuration" KeySlashFractionDuplicateSign = "slashFractionDuplicateSign" KeyDuplicateSignReportReward = "duplicateSignReportReward" KeyMaxEvidenceAge = "maxEvidenceAge" KeySlashBlocksReward = "slashBlocksReward" KeyMaxBlockGasLimit = "maxBlockGasLimit" KeyMaxTxDataLimit = "maxTxDataLimit" KeyZeroProduceNumberThreshold = "zeroProduceNumberThreshold" KeyZeroProduceCumulativeTime = "zeroProduceCumulativeTime" KeyRewardPerMaxChangeRange = "rewardPerMaxChangeRange" KeyRewardPerChangeInterval = "rewardPerChangeInterval" KeyIncreaseIssuanceRatio = "increaseIssuanceRatio" KeyZeroProduceFreezeDuration = "zeroProduceFreezeDuration" KeyRestrictingMinimumAmount = "minimumRelease" )
const RateCoefficient = uint64(10000)
in genesis.json, the config value of the supportRate( and voteRate...) is the real value * 10000. the RateCoefficient is used to calculate the supportRate (and voteRate) of a proposal correctly.
Variables ¶
var ( ActiveVersionError = common.NewBizError(302001, "Current active version not found") VoteOptionError = common.NewBizError(302002, "Illegal voting option") ProposalTypeError = common.NewBizError(302003, "Illegal proposal type") ProposalIDEmpty = common.NewBizError(302004, "Proposal ID is null") ProposalIDExist = common.NewBizError(302005, "Proposal ID already existed") ProposalNotFound = common.NewBizError(302006, "Proposal not found") PIPIDEmpty = common.NewBizError(302007, "PIPID is null") PIPIDExist = common.NewBizError(302008, "PIPID already existed") EndVotingRoundsTooSmall = common.NewBizError(302009, "EndVotingRounds is too small") EndVotingRoundsTooLarge = common.NewBizError(302010, "EndVotingRounds is too large") NewVersionError = common.NewBizError(302011, "NewVersion should larger than current active version") VotingVersionProposalExist = common.NewBizError(302012, "Another version proposal already existed at voting stage") PreActiveVersionProposalExist = common.NewBizError(302013, "Another version proposal already existed at pre-active stage") VotingCancelProposalExist = common.NewBizError(302014, "Another cancel proposal already existed at voting stage") TobeCanceledProposalNotFound = common.NewBizError(302015, "The proposal to be canceled is not found") TobeCanceledProposalTypeError = common.NewBizError(302016, "The proposal to be canceled proposal has an illegal version type") TobeCanceledProposalNotAtVoting = common.NewBizError(302017, "The proposal to be canceled is not at voting stage") ProposerEmpty = common.NewBizError(302018, "The proposer is null") VerifierInfoNotFound = common.NewBizError(302019, "Detailed verifier information is not found") VerifierStatusInvalid = common.NewBizError(302020, "The verifier status is invalid") TxSenderDifferFromStaking = common.NewBizError(302021, "Transaction account is inconsistent with the staking account") TxSenderIsNotVerifier = common.NewBizError(302022, "Transaction node is not the validator") TxSenderIsNotCandidate = common.NewBizError(302023, "Transaction node is not the candidate") VersionSignError = common.NewBizError(302024, "Invalid version signature") VerifierNotUpgraded = common.NewBizError(302025, "Verifier does not upgraded to the latest version") ProposalNotAtVoting = common.NewBizError(302026, "The proposal is not at voting stage") VoteDuplicated = common.NewBizError(302027, "Duplicated votes found") DeclareVersionError = common.NewBizError(302028, "Declared version is invalid") NotifyStakingDeclaredVersionError = common.NewBizError(302029, "Error is found when notifying staking for the declared version") TallyResultNotFound = common.NewBizError(302030, "The result of proposal is not found") UnsupportedGovernParam = common.NewBizError(302031, "Unsupported governent parameter") VotingParamProposalExist = common.NewBizError(302032, "Another parameter proposal already existed at voting stage") GovernParamValueError = common.NewBizError(302033, "Govern parameter value error") ParamProposalIsSameValue = common.NewBizError(302034, "The new value of the parameter proposal is the same as the old one") )
var (
KeyDelimiter = []byte(":")
)
var ParamVerifierMap = make(map[string]ParamVerifier)
var (
ValueDelimiter = []byte(":")
)
Functions ¶
func AccuVerifiers ¶
func AccuVerifiers(blockHash common.Hash, proposalID common.Hash, verifierList []discover.NodeID) error
AccuVerifiers accumulates all distinct verifiers those can vote this proposal ID
func AddActiveNode ¶
Add the node that has made a new version declare or vote during voting period
func AddActiveVersion ¶
Set active version record
func AddVoteValue ¶
func AddVoteValue(proposalID common.Hash, voter discover.NodeID, option VoteOption, blockHash common.Hash) error
Add the Vote detail
func AddVotingProposalID ¶
func ClearAccuVerifiers ¶
func ClearActiveNodes ¶
Clear the version declaration records after upgrade
func DeclareVersion ¶
func DeclareVersion(from common.Address, declaredNodeID discover.NodeID, declaredVersion uint32, programVersionSign common.VersionSign, blockHash common.Hash, blockNumber uint64, stk Staking, state xcom.StateDB) error
node declares it's version
func GetActiveNodeList ¶
Get the node list that have made a new version declare or vote during voting period
func GetCurrentActiveVersion ¶
Get current active version record
func GetGovernParamValue ¶
func GetMaxEndVotingBlock ¶
func GetMaxEndVotingBlock(nodeID discover.NodeID, blockHash common.Hash, state xcom.StateDB) (uint64, error)
GetMaxEndVotingBlock returns the max endVotingBlock of proposals those are at voting stage, and the nodeID has voted for those proposals. or returns 0 if there's no proposal at voting stage, or nodeID didn't voted for any proposal. if any error happened, return 0 and the error
func GetPreActiveProposalID ¶
func GetPreActiveVersion ¶
Get pre-active version
func GetVersionForStaking ¶
func GetVotedVerifierMap ¶
func GovernMaxBlockGasLimit ¶
func GovernMaxEvidenceAge ¶
func GovernMaxValidators ¶
func GovernSlashBlocksReward ¶
func GovernStakeThreshold ¶
func Gte0140Version ¶
func Gte0140VersionState ¶
func Gte0150Version ¶
func Gte0150VersionState ¶
func Gte0160Version ¶
func Gte0160VersionState ¶
func InitGenesisGovernParam ¶
func KeyAccuVerifier ¶
func KeyActiveNodes ¶
func KeyActiveVersions ¶
func KeyActiveVersions() []byte
func KeyEndProposals ¶
func KeyEndProposals() []byte
func KeyGovernHASHKey ¶
func KeyGovernHASHKey() []byte
func KeyParamItems ¶
func KeyParamItems() []byte
func KeyParamValue ¶
func KeyPreActiveProposal ¶
func KeyPreActiveProposal() []byte
func KeyPreActiveVersion ¶
func KeyPreActiveVersion() []byte
func KeyProposal ¶
func KeyTallyResult ¶
func KeyVotingProposals ¶
func KeyVotingProposals() []byte
func ListAccuVerifier ¶
Get the total number of all voting verifiers
func ListVotingProposal ¶
Get voting proposal
func ListVotingProposalID ¶
list all proposal IDs at voting stage
func NotifyPunishedVerifiers ¶
func NotifyPunishedVerifiers(blockHash common.Hash, punishedVerifierMap map[discover.NodeID]struct{}, state xcom.StateDB) error
NotifyPunishedVerifiers receives punished verifies notification from Staking
func RegGovernParamVerifier ¶
func RegGovernParamVerifier(module, name string, callback ParamVerifier)
func RegisterGovernParamVerifiers ¶
func RegisterGovernParamVerifiers()
func Set0140Param ¶
func SetEcParametersHash ¶
func SetGovernParam ¶
func SetPreActiveVersion ¶
Set pre-active version
func SetTallyResult ¶
func SetTallyResult(tallyResult TallyResult, state xcom.StateDB) error
func Submit ¶
func Submit(from common.Address, proposal Proposal, blockHash common.Hash, blockNumber uint64, stk Staking, state xcom.StateDB, chainID *big.Int) error
submit a proposal
func TallyVoteValue ¶
func TallyVoteValue(proposalID common.Hash, blockHash common.Hash) (yeas, nays, abstentions uint64, e error)
TallyVoteValue statistics vote option for a proposal
func UpdateGovernParamValue ¶
func UpdateVoteValue ¶
func Vote ¶
func Vote(from common.Address, vote VoteInfo, blockHash common.Hash, blockNumber uint64, programVersion uint32, programVersionSign common.VersionSign, stk Staking, state xcom.StateDB) error
vote for a proposal
func WriteEcHash0140 ¶
Types ¶
type ActiveVersionValue ¶
type ActiveVersionValue struct { ActiveVersion uint32 `json:"ActiveVersion"` ActiveBlock uint64 `json:"ActiveBlock"` }
func ListActiveVersion ¶
func ListActiveVersion(state xcom.StateDB) ([]ActiveVersionValue, error)
type CancelProposal ¶
type CancelProposal struct { ProposalID common.Hash ProposalType ProposalType PIPID string SubmitBlock uint64 EndVotingRounds uint64 EndVotingBlock uint64 Proposer discover.NodeID TobeCanceled common.Hash Result TallyResult `json:"-"` }
func (*CancelProposal) GetEndVotingBlock ¶
func (cp *CancelProposal) GetEndVotingBlock() uint64
func (*CancelProposal) GetPIPID ¶
func (cp *CancelProposal) GetPIPID() string
func (*CancelProposal) GetProposalID ¶
func (cp *CancelProposal) GetProposalID() common.Hash
func (*CancelProposal) GetProposalType ¶
func (cp *CancelProposal) GetProposalType() ProposalType
func (*CancelProposal) GetProposer ¶
func (cp *CancelProposal) GetProposer() discover.NodeID
func (*CancelProposal) GetSubmitBlock ¶
func (cp *CancelProposal) GetSubmitBlock() uint64
func (*CancelProposal) GetTallyResult ¶
func (cp *CancelProposal) GetTallyResult() TallyResult
func (*CancelProposal) String ¶
func (cp *CancelProposal) String() string
type GovernParam ¶
type GovernParam struct { ParamItem *ParamItem ParamValue *ParamValue ParamVerifier ParamVerifier `json:"-"` }
func FindGovernParam ¶
func FindGovernParam(module, name string, blockHash common.Hash) (*GovernParam, error)
func ListGovernParam ¶
func ListGovernParam(module string, blockHash common.Hash) ([]*GovernParam, error)
type ParamProposal ¶
type ParamProposal struct { ProposalID common.Hash ProposalType ProposalType PIPID string SubmitBlock uint64 EndVotingBlock uint64 Proposer discover.NodeID Result TallyResult `json:"-"` Module string Name string NewValue string }
func (*ParamProposal) GetEndVotingBlock ¶
func (pp *ParamProposal) GetEndVotingBlock() uint64
func (*ParamProposal) GetPIPID ¶
func (pp *ParamProposal) GetPIPID() string
func (*ParamProposal) GetProposalID ¶
func (pp *ParamProposal) GetProposalID() common.Hash
func (*ParamProposal) GetProposalType ¶
func (pp *ParamProposal) GetProposalType() ProposalType
func (*ParamProposal) GetProposer ¶
func (pp *ParamProposal) GetProposer() discover.NodeID
func (*ParamProposal) GetSubmitBlock ¶
func (pp *ParamProposal) GetSubmitBlock() uint64
func (*ParamProposal) GetTallyResult ¶
func (pp *ParamProposal) GetTallyResult() TallyResult
func (*ParamProposal) String ¶
func (pp *ParamProposal) String() string
type ParamValue ¶
type ParamVerifier ¶
type Proposal ¶
type Proposal interface { GetProposalID() common.Hash GetProposalType() ProposalType GetPIPID() string GetSubmitBlock() uint64 GetEndVotingBlock() uint64 GetProposer() discover.NodeID GetTallyResult() TallyResult Verify(blockNumber uint64, blockHash common.Hash, state xcom.StateDB, chainID *big.Int) error String() string }
func FindVotingProposal ¶
func FindVotingProposal(blockHash common.Hash, state xcom.StateDB, proposalTypes ...ProposalType) (Proposal, error)
find a proposal at voting stage
func GetExistProposal ¶
func GetProposalList ¶
Select proposal id list from snapshot database ,then get proposal detail from statedb one by one
type ProposalStatus ¶
type ProposalStatus uint8
const ( Voting ProposalStatus = 0x01 Pass ProposalStatus = 0x02 Failed ProposalStatus = 0x03 PreActive ProposalStatus = 0x04 Active ProposalStatus = 0x05 Canceled ProposalStatus = 0x06 )
func (ProposalStatus) ToString ¶
func (status ProposalStatus) ToString() string
type ProposalType ¶
type ProposalType uint8
const ( Text ProposalType = 0x01 Version ProposalType = 0x02 Param ProposalType = 0x03 Cancel ProposalType = 0x04 )
type Staking ¶
type Staking interface { GetVerifierList(blockHash common.Hash, blockNumber uint64, isCommit bool) (staking.ValidatorExQueue, error) ListVerifierNodeID(blockHash common.Hash, blockNumber uint64) ([]discover.NodeID, error) GetCanBaseList(blockHash common.Hash, blockNumber uint64) (staking.CandidateBaseQueue, error) GetCandidateInfo(blockHash common.Hash, addr common.NodeAddress) (*staking.Candidate, error) GetCanBase(blockHash common.Hash, addr common.NodeAddress) (*staking.CandidateBase, error) GetCanMutable(blockHash common.Hash, addr common.NodeAddress) (*staking.CandidateMutable, error) DeclarePromoteNotify(blockHash common.Hash, blockNumber uint64, nodeId discover.NodeID, programVersion uint32) error }
type TallyResult ¶
type TallyResult struct { ProposalID common.Hash `json:"proposalID"` Yeas uint64 `json:"yeas"` Nays uint64 `json:"nays"` Abstentions uint64 `json:"abstentions"` AccuVerifiers uint64 `json:"accuVerifiers"` Status ProposalStatus `json:"status"` CanceledBy common.Hash `json:"canceledBy"` }
func GetTallyResult ¶
type TextProposal ¶
type TextProposal struct { ProposalID common.Hash ProposalType ProposalType PIPID string SubmitBlock uint64 EndVotingBlock uint64 Proposer discover.NodeID Result TallyResult `json:"-"` }
func (*TextProposal) GetEndVotingBlock ¶
func (tp *TextProposal) GetEndVotingBlock() uint64
func (*TextProposal) GetPIPID ¶
func (tp *TextProposal) GetPIPID() string
func (*TextProposal) GetProposalID ¶
func (tp *TextProposal) GetProposalID() common.Hash
func (*TextProposal) GetProposalType ¶
func (tp *TextProposal) GetProposalType() ProposalType
func (*TextProposal) GetProposer ¶
func (tp *TextProposal) GetProposer() discover.NodeID
func (*TextProposal) GetSubmitBlock ¶
func (tp *TextProposal) GetSubmitBlock() uint64
func (*TextProposal) GetTallyResult ¶
func (tp *TextProposal) GetTallyResult() TallyResult
func (*TextProposal) String ¶
func (tp *TextProposal) String() string
type VersionProposal ¶
type VersionProposal struct { ProposalID common.Hash ProposalType ProposalType PIPID string SubmitBlock uint64 EndVotingRounds uint64 EndVotingBlock uint64 Proposer discover.NodeID Result TallyResult `json:"-"` NewVersion uint32 ActiveBlock uint64 }
func (*VersionProposal) GetActiveBlock ¶
func (vp *VersionProposal) GetActiveBlock() uint64
func (*VersionProposal) GetEndVotingBlock ¶
func (vp *VersionProposal) GetEndVotingBlock() uint64
func (*VersionProposal) GetNewVersion ¶
func (vp *VersionProposal) GetNewVersion() uint32
func (*VersionProposal) GetPIPID ¶
func (vp *VersionProposal) GetPIPID() string
func (*VersionProposal) GetProposalID ¶
func (vp *VersionProposal) GetProposalID() common.Hash
func (*VersionProposal) GetProposalType ¶
func (vp *VersionProposal) GetProposalType() ProposalType
func (*VersionProposal) GetProposer ¶
func (vp *VersionProposal) GetProposer() discover.NodeID
func (*VersionProposal) GetSubmitBlock ¶
func (vp *VersionProposal) GetSubmitBlock() uint64
func (*VersionProposal) GetTallyResult ¶
func (vp *VersionProposal) GetTallyResult() TallyResult
func (*VersionProposal) String ¶
func (vp *VersionProposal) String() string
type VoteInfo ¶
type VoteInfo struct { ProposalID common.Hash `json:"proposalID"` VoteNodeID discover.NodeID `json:"voteNodeID"` VoteOption VoteOption `json:"voteOption"` }
type VoteOption ¶
type VoteOption uint8
const ( Yes VoteOption = 0x01 No VoteOption = 0x02 Abstention VoteOption = 0x03 )
func ParseVoteOption ¶
func ParseVoteOption(option uint8) VoteOption