Documentation
¶
Index ¶
- func NewBootstrapPeerTypeProvider() *bootstrapPeerTypeProvider
- func NewInterceptedValidatorInfo(args ArgInterceptedValidatorInfo) (*interceptedValidatorInfo, error)
- func NewValidatorStatisticsProcessor(arguments ArgValidatorStatisticsProcessor) (*validatorStatistics, error)
- func NewValidatorsProvider(args ArgValidatorsProvider) (*validatorsProvider, error)
- type ArgInterceptedValidatorInfo
- type ArgPeerTypeProvider
- type ArgValidatorStatisticsProcessor
- type ArgValidatorsProvider
- type DataPool
- type ListIndexUpdater
- type PeerTypeProvider
- type RatingReader
- type StakingDataProviderAPI
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBootstrapPeerTypeProvider ¶
func NewBootstrapPeerTypeProvider() *bootstrapPeerTypeProvider
NewBootstrapPeerTypeProvider returns a new instance of bootstrapPeerTypeProvider It should be used for bootstrap only!
func NewInterceptedValidatorInfo ¶
func NewInterceptedValidatorInfo(args ArgInterceptedValidatorInfo) (*interceptedValidatorInfo, error)
NewInterceptedValidatorInfo creates a new intercepted validator info instance
func NewValidatorStatisticsProcessor ¶
func NewValidatorStatisticsProcessor(arguments ArgValidatorStatisticsProcessor) (*validatorStatistics, error)
NewValidatorStatisticsProcessor instantiates a new validatorStatistics structure responsible for keeping account of
each validator actions in the consensus process
func NewValidatorsProvider ¶
func NewValidatorsProvider( args ArgValidatorsProvider, ) (*validatorsProvider, error)
NewValidatorsProvider instantiates a new validatorsProvider structure responsible for keeping account of the latest information about the validators
Types ¶
type ArgInterceptedValidatorInfo ¶
type ArgInterceptedValidatorInfo struct {
DataBuff []byte
Marshalizer marshal.Marshalizer
Hasher hashing.Hasher
}
ArgInterceptedValidatorInfo is the argument used to create a new intercepted validator info
type ArgPeerTypeProvider ¶
type ArgPeerTypeProvider struct {
NodesCoordinator process.NodesCoordinator
StartEpoch uint32
EpochStartEventNotifier process.EpochStartEventNotifier
}
ArgPeerTypeProvider contains all parameters needed for creating a PeerTypeProvider
type ArgValidatorStatisticsProcessor ¶
type ArgValidatorStatisticsProcessor struct {
Marshalizer marshal.Marshalizer
NodesCoordinator nodesCoordinator.NodesCoordinator
ShardCoordinator sharding.Coordinator
DataPool DataPool
StorageService dataRetriever.StorageService
PubkeyConv core.PubkeyConverter
PeerAdapter state.AccountsAdapter
Rater sharding.PeerAccountListAndRatingHandler
RewardsHandler process.RewardsHandler
MaxComputableRounds uint64
MaxConsecutiveRoundsOfRatingDecrease uint64
NodesSetup sharding.GenesisNodesSetupHandler
GenesisNonce uint64
RatingEnableEpoch uint32
EnableEpochsHandler common.EnableEpochsHandler
}
ArgValidatorStatisticsProcessor holds all dependencies for the validatorStatistics
type ArgValidatorsProvider ¶
type ArgValidatorsProvider struct {
NodesCoordinator process.NodesCoordinator
EpochStartEventNotifier process.EpochStartEventNotifier
CacheRefreshIntervalDurationInSec time.Duration
ValidatorStatistics process.ValidatorStatisticsProcessor
ValidatorPubKeyConverter core.PubkeyConverter
AddressPubKeyConverter core.PubkeyConverter
StakingDataProvider StakingDataProviderAPI
AuctionListSelector epochStart.AuctionListSelector
StartEpoch uint32
MaxRating uint32
}
ArgValidatorsProvider contains all parameters needed for creating a validatorsProvider
type DataPool ¶
type DataPool interface {
Headers() dataRetriever.HeadersPool
IsInterfaceNil() bool
}
DataPool indicates the main functionality needed in order to fetch the required blocks from the pool
type ListIndexUpdater ¶
type ListIndexUpdater struct {
// contains filtered or unexported fields
}
ListIndexUpdater will handle the updating of list type and the index for a peer
func (*ListIndexUpdater) IsInterfaceNil ¶
func (liu *ListIndexUpdater) IsInterfaceNil() bool
IsInterfaceNil checks if the underlying object is nil
func (*ListIndexUpdater) UpdateListAndIndex ¶
func (liu *ListIndexUpdater) UpdateListAndIndex(pubKey string, shardID uint32, list string, index uint32) error
UpdateListAndIndex will update the list and the index for a given peer
type PeerTypeProvider ¶
type PeerTypeProvider struct {
// contains filtered or unexported fields
}
PeerTypeProvider handles the computation of a peer type
func NewPeerTypeProvider ¶
func NewPeerTypeProvider(arg ArgPeerTypeProvider) (*PeerTypeProvider, error)
NewPeerTypeProvider will return a new instance of PeerTypeProvider
func (*PeerTypeProvider) ComputeForPubKey ¶
ComputeForPubKey returns the peer type for a given public key and shard id
func (*PeerTypeProvider) GetAllPeerTypeInfos ¶
func (ptp *PeerTypeProvider) GetAllPeerTypeInfos() []*state.PeerTypeInfo
GetAllPeerTypeInfos returns all known peer type infos
func (*PeerTypeProvider) IsInterfaceNil ¶
func (ptp *PeerTypeProvider) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
type RatingReader ¶
type RatingReader struct {
// contains filtered or unexported fields
}
RatingReader will handle the fetching of the ratings
func (*RatingReader) GetRating ¶
func (bsr *RatingReader) GetRating(pk string) uint32
GetRating returns the Rating for the specified public key
func (*RatingReader) IsInterfaceNil ¶
func (bsr *RatingReader) IsInterfaceNil() bool
IsInterfaceNil checks if the underlying object is nil
type StakingDataProviderAPI ¶ added in v1.7.0
type StakingDataProviderAPI interface {
ComputeUnQualifiedNodes(validatorInfos state.ShardValidatorsInfoMapHandler) ([][]byte, map[string][][]byte, error)
FillValidatorInfo(validator state.ValidatorInfoHandler) error
GetOwnersData() map[string]*epochStart.OwnerData
Clean()
IsInterfaceNil() bool
}
StakingDataProviderAPI is able to provide staking data from the system smart contracts