Documentation ¶
Index ¶
Constants ¶
View Source
const Namespace = "electionNS"
Namespace to store the result in db
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CalcGravityChainHeight ¶ added in v0.1.5
CalcGravityChainHeight calculates the corresponding gravity chain height for an epoch
type Committee ¶
type Committee interface { // Start starts the committee service Start(context.Context) error // Stop stops the committee service Stop(context.Context) error // ResultByHeight returns the result on a specific ethereum height ResultByHeight(height uint64) (*types.ElectionResult, error) // FetchResultByHeight returns the votes FetchResultByHeight(height uint64) (*types.ElectionResult, error) // HeightByTime returns the nearest result before time HeightByTime(timestamp time.Time) (uint64, error) // LatestHeight returns the height with latest result LatestHeight() uint64 // Status returns the committee status Status() STATUS }
Committee defines an interface of an election committee It could be considered as a light state db of gravity chain, that
func NewCommittee ¶
NewCommittee creates a committee
func NewCommitteeWithKVStoreWithNamespace ¶
func NewCommitteeWithKVStoreWithNamespace(kvstore db.KVStoreWithNamespace, cfg Config) (Committee, error)
NewCommitteeWithKVStoreWithNamespace creates a committee with kvstore with namespace
type Config ¶
type Config struct { NumOfRetries uint8 `yaml:"numOfRetries"` GravityChainAPIs []string `yaml:"gravityChainAPIs"` GravityChainHeightInterval uint64 `yaml:"gravityChainHeightInterval"` GravityChainStartHeight uint64 `yaml:"gravityChainStartHeight"` RegisterContractAddress string `yaml:"registerContractAddress"` StakingContractAddress string `yaml:"stakingContractAddress"` PaginationSize uint8 `yaml:"paginationSize"` VoteThreshold string `yaml:"voteThreshold"` ScoreThreshold string `yaml:"scoreThreshold"` SelfStakingThreshold string `yaml:"selfStakingThreshold"` CacheSize uint32 `yaml:"cacheSize"` NumOfFetchInParallel uint8 `yaml:"numOfFetchInParallel"` SkipManifiedCandidate bool `yaml:"skipManifiedCandidate"` GravityChainBatchSize uint64 `yaml:"gravityChainBatchSize"` }
Config defines the config of the committee
Click to show internal directories.
Click to hide internal directories.