Documentation ¶
Index ¶
- func GetAllNodeKeys(validatorsInfo state.ShardValidatorsInfoMapHandler) map[uint32][][]byte
- func NewAuctionListDisplayer(args ArgsAuctionListDisplayer) (*auctionListDisplayer, error)
- func NewAuctionListSelector(args AuctionListSelectorArgs) (*auctionListSelector, error)
- func NewBaseRewardsCreator(args BaseRewardsCreatorArgs) (*baseRewardsCreator, error)
- func NewEndOfEpochEconomicsDataCreator(args ArgsNewEpochEconomics) (*economics, error)
- func NewEpochEconomicsStatistics() *epochEconomicsStatistics
- func NewEpochStartData(args ArgsNewEpochStartData) (*epochStartData, error)
- func NewEpochStartTrigger(args *ArgsNewMetaEpochStartTrigger) (*trigger, error)
- func NewRewardsCreator(args ArgsNewRewardsCreator) (*rewardsCreator, error)
- func NewRewardsCreatorProxy(args RewardsCreatorProxyArgs) (*rewardsCreatorProxy, error)
- func NewRewardsCreatorV2(args RewardsCreatorArgsV2) (*rewardsCreatorV2, error)
- func NewStakingDataProvider(args StakingDataProviderArgs) (*stakingDataProvider, error)
- func NewSystemSCProcessor(args ArgsNewEpochStartSystemSCProcessing) (*systemSCProcessor, error)
- func NewTableDisplayer() *tableDisplayer
- func NewValidatorInfoCreator(args ArgsNewValidatorInfoCreator) (*validatorInfoCreator, error)
- func UnmarshalTrigger(marshaller marshal.Marshalizer, data []byte) (*block.MetaTriggerRegistry, error)
- type ArgsAuctionListDisplayer
- type ArgsNewEpochEconomics
- type ArgsNewEpochStartData
- type ArgsNewEpochStartSystemSCProcessing
- type ArgsNewMetaEpochStartTrigger
- type ArgsNewRewardsCreator
- type ArgsNewValidatorInfoCreator
- type AuctionListDisplayHandler
- type AuctionListSelectorArgs
- type BaseRewardsCreatorArgs
- type OwnerAuctionData
- type RewardsCreatorArgsV2
- type RewardsCreatorProxyArgs
- type StakingDataProviderArgs
- type TableDisplayHandler
- type TestTrigger
- func (t TestTrigger) Close() error
- func (t TestTrigger) Epoch() uint32
- func (t TestTrigger) EpochFinalityAttestingRound() uint64
- func (t TestTrigger) EpochStartMetaHdrHash() []byte
- func (t TestTrigger) EpochStartRound() uint64
- func (t TestTrigger) ForceEpochStart(round uint64)
- func (t *TestTrigger) GetRoundsPerEpoch() uint64
- func (t TestTrigger) GetSavedStateKey() []byte
- func (t TestTrigger) IsEpochStart() bool
- func (t *TestTrigger) IsInterfaceNil() bool
- func (t TestTrigger) LoadState(key []byte) error
- func (t TestTrigger) MetaEpoch() uint32
- func (t TestTrigger) RequestEpochStartIfNeeded(_ data.HeaderHandler)
- func (t TestTrigger) RevertStateToBlock(header data.HeaderHandler) error
- func (t TestTrigger) SetCurrentEpochStartRound(round uint64)
- func (t *TestTrigger) SetEpoch(epoch uint32)
- func (t TestTrigger) SetEpochStartMetaHdrHash(metaHdrHash []byte)
- func (t TestTrigger) SetFinalityAttestingRound(round uint64)
- func (t *TestTrigger) SetMinRoundsBetweenEpochs(minRoundsPerEpoch uint64)
- func (t TestTrigger) SetProcessed(header data.HeaderHandler, body data.BodyHandler)
- func (t *TestTrigger) SetRoundsPerEpoch(roundsPerEpoch uint64)
- func (t *TestTrigger) SetTrigger(triggerHandler epochStart.TriggerHandler)
- func (t TestTrigger) Update(round uint64, nonce uint64)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAllNodeKeys ¶
func GetAllNodeKeys(validatorsInfo state.ShardValidatorsInfoMapHandler) map[uint32][][]byte
GetAllNodeKeys returns all <shard,pubKeys> from the provided map
func NewAuctionListDisplayer ¶
func NewAuctionListDisplayer(args ArgsAuctionListDisplayer) (*auctionListDisplayer, error)
NewAuctionListDisplayer creates an auction list data displayer, useful for debugging purposes during selection process
func NewAuctionListSelector ¶
func NewAuctionListSelector(args AuctionListSelectorArgs) (*auctionListSelector, error)
NewAuctionListSelector will create a new auctionListSelector, which handles selection of nodes from auction list based on their top up
func NewBaseRewardsCreator ¶
func NewBaseRewardsCreator(args BaseRewardsCreatorArgs) (*baseRewardsCreator, error)
NewBaseRewardsCreator will create a new base rewards creator instance
func NewEndOfEpochEconomicsDataCreator ¶
func NewEndOfEpochEconomicsDataCreator(args ArgsNewEpochEconomics) (*economics, error)
NewEndOfEpochEconomicsDataCreator creates a new end of epoch economics data creator object
func NewEpochEconomicsStatistics ¶
func NewEpochEconomicsStatistics() *epochEconomicsStatistics
NewEpochEconomicsStatistics creates the end of epoch economics statistics
func NewEpochStartData ¶
func NewEpochStartData(args ArgsNewEpochStartData) (*epochStartData, error)
NewEpochStartData creates a new epoch start creator
func NewEpochStartTrigger ¶
func NewEpochStartTrigger(args *ArgsNewMetaEpochStartTrigger) (*trigger, error)
NewEpochStartTrigger creates a trigger for start of epoch
func NewRewardsCreator ¶
func NewRewardsCreator(args ArgsNewRewardsCreator) (*rewardsCreator, error)
NewRewardsCreator creates a new rewards creator object
func NewRewardsCreatorProxy ¶
func NewRewardsCreatorProxy(args RewardsCreatorProxyArgs) (*rewardsCreatorProxy, error)
NewRewardsCreatorProxy creates a rewards creator proxy instance
func NewRewardsCreatorV2 ¶
func NewRewardsCreatorV2(args RewardsCreatorArgsV2) (*rewardsCreatorV2, error)
NewRewardsCreatorV2 creates a new rewards creator object
func NewStakingDataProvider ¶
func NewStakingDataProvider(args StakingDataProviderArgs) (*stakingDataProvider, error)
NewStakingDataProvider will create a new instance of a staking data provider able to aid in the final rewards computation as this will retrieve the staking data from the system VM
func NewSystemSCProcessor ¶
func NewSystemSCProcessor(args ArgsNewEpochStartSystemSCProcessing) (*systemSCProcessor, error)
NewSystemSCProcessor creates the end of epoch system smart contract processor
func NewTableDisplayer ¶
func NewTableDisplayer() *tableDisplayer
NewTableDisplayer will create a component able to display tables in logger
func NewValidatorInfoCreator ¶
func NewValidatorInfoCreator(args ArgsNewValidatorInfoCreator) (*validatorInfoCreator, error)
NewValidatorInfoCreator creates a new validatorInfo creator object
func UnmarshalTrigger ¶
func UnmarshalTrigger(marshaller marshal.Marshalizer, data []byte) (*block.MetaTriggerRegistry, error)
UnmarshalTrigger unmarshalls the trigger with json, for backwards compatibility
Types ¶
type ArgsAuctionListDisplayer ¶
type ArgsAuctionListDisplayer struct { TableDisplayHandler TableDisplayHandler ValidatorPubKeyConverter core.PubkeyConverter AddressPubKeyConverter core.PubkeyConverter AuctionConfig config.SoftAuctionConfig Denomination int }
ArgsAuctionListDisplayer is a struct placeholder for arguments needed to create an auction list displayer
type ArgsNewEpochEconomics ¶
type ArgsNewEpochEconomics struct { Marshalizer marshal.Marshalizer Hasher hashing.Hasher Store dataRetriever.StorageService ShardCoordinator sharding.Coordinator RewardsHandler process.RewardsHandler RoundTime process.RoundTimeDurationHandler GenesisEpoch uint32 GenesisNonce uint64 GenesisTotalSupply *big.Int EconomicsDataNotified epochStart.EpochEconomicsDataProvider StakingV2EnableEpoch uint32 }
ArgsNewEpochEconomics is the argument for the economics constructor
type ArgsNewEpochStartData ¶
type ArgsNewEpochStartData struct { Marshalizer marshal.Marshalizer Hasher hashing.Hasher Store dataRetriever.StorageService DataPool dataRetriever.PoolsHolder BlockTracker process.BlockTracker ShardCoordinator sharding.Coordinator EpochStartTrigger process.EpochStartTriggerHandler RequestHandler epochStart.RequestHandler GenesisEpoch uint32 EnableEpochsHandler common.EnableEpochsHandler }
ArgsNewEpochStartData defines the input parameters for epoch start data creator
type ArgsNewEpochStartSystemSCProcessing ¶
type ArgsNewEpochStartSystemSCProcessing struct { SystemVM vmcommon.VMExecutionHandler UserAccountsDB state.AccountsAdapter PeerAccountsDB state.AccountsAdapter Marshalizer marshal.Marshalizer StartRating uint32 ValidatorInfoCreator epochStart.ValidatorInfoCreator ChanceComputer nodesCoordinator.ChanceComputer ShardCoordinator sharding.Coordinator EndOfEpochCallerAddress []byte StakingSCAddress []byte DCDTOwnerAddressBytes []byte GenesisNodesConfig sharding.GenesisNodesSetupHandler EpochNotifier process.EpochNotifier NodesConfigProvider epochStart.NodesConfigProvider StakingDataProvider epochStart.StakingDataProvider AuctionListSelector epochStart.AuctionListSelector MaxNodesChangeConfigProvider epochStart.MaxNodesChangeConfigProvider EnableEpochsHandler common.EnableEpochsHandler }
ArgsNewEpochStartSystemSCProcessing defines the arguments structure for the end of epoch system sc processor
type ArgsNewMetaEpochStartTrigger ¶
type ArgsNewMetaEpochStartTrigger struct { GenesisTime time.Time Settings *config.EpochStartConfig Epoch uint32 EpochStartRound uint64 EpochStartNotifier epochStart.Notifier Marshalizer marshal.Marshalizer Hasher hashing.Hasher Storage dataRetriever.StorageService AppStatusHandler core.AppStatusHandler DataPool dataRetriever.PoolsHolder }
ArgsNewMetaEpochStartTrigger defines struct needed to create a new start of epoch trigger
type ArgsNewRewardsCreator ¶
type ArgsNewRewardsCreator struct {
BaseRewardsCreatorArgs
}
ArgsNewRewardsCreator defines the arguments structure needed to create a new rewards creator
type ArgsNewValidatorInfoCreator ¶
type ArgsNewValidatorInfoCreator struct { ShardCoordinator sharding.Coordinator ValidatorInfoStorage storage.Storer MiniBlockStorage storage.Storer Hasher hashing.Hasher Marshalizer marshal.Marshalizer DataPool dataRetriever.PoolsHolder EnableEpochsHandler common.EnableEpochsHandler }
ArgsNewValidatorInfoCreator defines the arguments structure needed to create a new validatorInfo creator
type AuctionListDisplayHandler ¶
type AuctionListDisplayHandler interface { DisplayOwnersData(ownersData map[string]*OwnerAuctionData) DisplayOwnersSelectedNodes(ownersData map[string]*OwnerAuctionData) DisplayAuctionList( auctionList []state.ValidatorInfoHandler, ownersData map[string]*OwnerAuctionData, numOfSelectedNodes uint32, ) IsInterfaceNil() bool }
AuctionListDisplayHandler should be able to display auction list data during selection process
type AuctionListSelectorArgs ¶
type AuctionListSelectorArgs struct { ShardCoordinator sharding.Coordinator StakingDataProvider epochStart.StakingDataProvider MaxNodesChangeConfigProvider epochStart.MaxNodesChangeConfigProvider AuctionListDisplayHandler AuctionListDisplayHandler SoftAuctionConfig config.SoftAuctionConfig Denomination int }
AuctionListSelectorArgs is a struct placeholder for all arguments required to create an auctionListSelector
type BaseRewardsCreatorArgs ¶
type BaseRewardsCreatorArgs struct { ShardCoordinator sharding.Coordinator PubkeyConverter core.PubkeyConverter RewardsStorage storage.Storer MiniBlockStorage storage.Storer Hasher hashing.Hasher Marshalizer marshal.Marshalizer DataPool dataRetriever.PoolsHolder ProtocolSustainabilityAddress string NodesConfigProvider epochStart.NodesConfigProvider UserAccountsDB state.AccountsAdapter EnableEpochsHandler common.EnableEpochsHandler ExecutionOrderHandler common.TxExecutionOrderHandler }
BaseRewardsCreatorArgs defines the arguments structure needed to create a base rewards creator
type OwnerAuctionData ¶
type OwnerAuctionData struct {
// contains filtered or unexported fields
}
OwnerAuctionData holds necessary auction data for an owner
type RewardsCreatorArgsV2 ¶
type RewardsCreatorArgsV2 struct { BaseRewardsCreatorArgs StakingDataProvider epochStart.StakingDataProvider EconomicsDataProvider epochStart.EpochEconomicsDataProvider RewardsHandler process.RewardsHandler }
RewardsCreatorArgsV2 holds the data required to create end of epoch rewards
type RewardsCreatorProxyArgs ¶
type RewardsCreatorProxyArgs struct { BaseRewardsCreatorArgs StakingDataProvider epochStart.StakingDataProvider EconomicsDataProvider epochStart.EpochEconomicsDataProvider RewardsHandler process.RewardsHandler }
RewardsCreatorProxyArgs holds the proxy arguments
type StakingDataProviderArgs ¶
type StakingDataProviderArgs struct { EnableEpochsHandler common.EnableEpochsHandler SystemVM vmcommon.VMExecutionHandler MinNodePrice string }
StakingDataProviderArgs is a struct placeholder for all arguments required to create a NewStakingDataProvider
type TableDisplayHandler ¶
type TableDisplayHandler interface { DisplayTable(tableHeader []string, lines []*display.LineData, message string) IsInterfaceNil() bool }
TableDisplayHandler should be able to display tables in log
type TestTrigger ¶
type TestTrigger struct {
// contains filtered or unexported fields
}
TestTrigger extends start of epoch trigger and is used in integration tests as it exposes some functions that are not supposed to be used in production code Exported functions simplify the reproduction of edge cases
func (TestTrigger) Close ¶
func (t TestTrigger) Close() error
Close will close the endless running go routine
func (TestTrigger) EpochFinalityAttestingRound ¶
func (t TestTrigger) EpochFinalityAttestingRound() uint64
EpochFinalityAttestingRound returns the round when epoch start block was finalized
func (TestTrigger) EpochStartMetaHdrHash ¶
func (t TestTrigger) EpochStartMetaHdrHash() []byte
EpochStartMetaHdrHash returns the announcing meta header hash which created the new epoch
func (TestTrigger) EpochStartRound ¶
func (t TestTrigger) EpochStartRound() uint64
EpochStartRound returns the start round of the current epoch
func (TestTrigger) ForceEpochStart ¶
func (t TestTrigger) ForceEpochStart(round uint64)
ForceEpochStart sets the round at which the new epoch will start
func (*TestTrigger) GetRoundsPerEpoch ¶
func (t *TestTrigger) GetRoundsPerEpoch() uint64
GetRoundsPerEpoch gets the number of rounds per epoch
func (TestTrigger) GetSavedStateKey ¶
func (t TestTrigger) GetSavedStateKey() []byte
GetSavedStateKey returns the last saved trigger state key
func (TestTrigger) IsEpochStart ¶
func (t TestTrigger) IsEpochStart() bool
IsEpochStart return true if conditions are fulfilled for start of epoch
func (*TestTrigger) IsInterfaceNil ¶
func (t *TestTrigger) IsInterfaceNil() bool
IsInterfaceNil returns true if there is no value under the interface
func (TestTrigger) MetaEpoch ¶
func (t TestTrigger) MetaEpoch() uint32
MetaEpoch return the current epoch
func (TestTrigger) RequestEpochStartIfNeeded ¶
func (t TestTrigger) RequestEpochStartIfNeeded(_ data.HeaderHandler)
RequestEpochStartIfNeeded request the needed epoch start block if metablock with new epoch was received
func (TestTrigger) RevertStateToBlock ¶
func (t TestTrigger) RevertStateToBlock(header data.HeaderHandler) error
RevertStateToBlock will revert the state of the trigger to the current block
func (TestTrigger) SetCurrentEpochStartRound ¶
func (t TestTrigger) SetCurrentEpochStartRound(round uint64)
SetCurrentEpochStartRound sets the round when the current epoch started
func (*TestTrigger) SetEpoch ¶
func (t *TestTrigger) SetEpoch(epoch uint32)
SetEpoch sets the current epoch for the testTrigger
func (TestTrigger) SetEpochStartMetaHdrHash ¶
func (t TestTrigger) SetEpochStartMetaHdrHash(metaHdrHash []byte)
SetEpochStartMetaHdrHash sets the epoch start meta header has
func (TestTrigger) SetFinalityAttestingRound ¶
func (t TestTrigger) SetFinalityAttestingRound(round uint64)
SetFinalityAttestingRound sets the round which finalized the start of epoch block
func (*TestTrigger) SetMinRoundsBetweenEpochs ¶
func (t *TestTrigger) SetMinRoundsBetweenEpochs(minRoundsPerEpoch uint64)
SetMinRoundsBetweenEpochs sets the minimum number of round between epochs
func (TestTrigger) SetProcessed ¶
func (t TestTrigger) SetProcessed(header data.HeaderHandler, body data.BodyHandler)
SetProcessed sets start of epoch to false and cleans underlying structure
func (*TestTrigger) SetRoundsPerEpoch ¶
func (t *TestTrigger) SetRoundsPerEpoch(roundsPerEpoch uint64)
SetRoundsPerEpoch sets the number of round between epochs
func (*TestTrigger) SetTrigger ¶
func (t *TestTrigger) SetTrigger(triggerHandler epochStart.TriggerHandler)
SetTrigger sets the start of epoch trigger
Source Files ¶
- auctionListDisplayer.go
- auctionListSelector.go
- auctionListSorting.go
- baseRewards.go
- common.go
- economics.go
- economicsDataProvider.go
- epochStartData.go
- errors.go
- interface.go
- legacySystemSCs.go
- rewards.go
- rewardsCreatorProxy.go
- rewardsV2.go
- stakingDataProvider.go
- systemSCs.go
- tableDisplayer.go
- testTrigger.go
- trigger.go
- triggerRegistry.go
- validatorList.go
- validators.go