Documentation ¶
Index ¶
- 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(systemVM vmcommon.VMExecutionHandler, minNodePrice string) (*stakingDataProvider, error)
- func NewSystemSCProcessor(args ArgsNewEpochStartSystemSCProcessing) (*systemSCProcessor, error)
- func NewValidatorInfoCreator(args ArgsNewValidatorInfoCreator) (*validatorInfoCreator, error)
- type ArgsNewEpochEconomics
- type ArgsNewEpochStartData
- type ArgsNewEpochStartSystemSCProcessing
- type ArgsNewMetaEpochStartTrigger
- type ArgsNewRewardsCreator
- type ArgsNewValidatorInfoCreator
- type BaseRewardsCreatorArgs
- type RewardsCreatorArgsV2
- type RewardsCreatorProxyArgs
- 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) SetAppStatusHandler(handler core.AppStatusHandler) 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)
- type TriggerRegistry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBaseRewardsCreator ¶ added in v1.1.15
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 ¶ added in v1.1.15
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 ¶ added in v1.1.15
func NewRewardsCreator(args ArgsNewRewardsCreator) (*rewardsCreator, error)
NewRewardsCreator creates a new rewards creator object
func NewRewardsCreatorProxy ¶ added in v1.1.15
func NewRewardsCreatorProxy(args RewardsCreatorProxyArgs) (*rewardsCreatorProxy, error)
NewRewardsCreatorProxy creates a rewards creator proxy instance
func NewRewardsCreatorV2 ¶ added in v1.1.15
func NewRewardsCreatorV2(args RewardsCreatorArgsV2) (*rewardsCreatorV2, error)
NewRewardsCreatorV2 creates a new rewards creator object
func NewStakingDataProvider ¶ added in v1.1.15
func NewStakingDataProvider( systemVM vmcommon.VMExecutionHandler, minNodePrice string, ) (*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 ¶ added in v1.1.1
func NewSystemSCProcessor(args ArgsNewEpochStartSystemSCProcessing) (*systemSCProcessor, error)
NewSystemSCProcessor creates the end of epoch system smart contract processor
func NewValidatorInfoCreator ¶
func NewValidatorInfoCreator(args ArgsNewValidatorInfoCreator) (*validatorInfoCreator, error)
NewValidatorInfoCreator creates a new validatorInfo creator object
Types ¶
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 }
ArgsNewEpochStartData defines the input parameters for epoch start data creator
type ArgsNewEpochStartSystemSCProcessing ¶ added in v1.1.1
type ArgsNewEpochStartSystemSCProcessing struct { SystemVM vmcommon.VMExecutionHandler UserAccountsDB state.AccountsAdapter PeerAccountsDB state.AccountsAdapter Marshalizer marshal.Marshalizer StartRating uint32 ValidatorInfoCreator epochStart.ValidatorInfoCreator ChanceComputer sharding.ChanceComputer ShardCoordinator sharding.Coordinator EndOfEpochCallerAddress []byte StakingSCAddress []byte SwitchJailWaitingEnableEpoch uint32 SwitchHysteresisForMinNodesEnableEpoch uint32 DelegationEnableEpoch uint32 StakingV2EnableEpoch uint32 CorrectLastUnJailEnableEpoch uint32 ESDTEnableEpoch uint32 SaveJailedAlwaysEnableEpoch uint32 MaxNodesEnableConfig []config.MaxNodesChangeConfig ESDTOwnerAddressBytes []byte GenesisNodesConfig sharding.GenesisNodesSetupHandler EpochNotifier process.EpochNotifier NodesConfigProvider epochStart.NodesConfigProvider StakingDataProvider epochStart.StakingDataProvider }
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 }
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 MiniBlockStorage storage.Storer Hasher hashing.Hasher Marshalizer marshal.Marshalizer DataPool dataRetriever.PoolsHolder }
ArgsNewValidatorInfoCreator defines the arguments structure needed to create a new validatorInfo creator
type BaseRewardsCreatorArgs ¶ added in v1.1.15
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 DelegationSystemSCEnableEpoch uint32 UserAccountsDB state.AccountsAdapter RewardsFix1EpochEnable uint32 }
BaseRewardsCreatorArgs defines the arguments structure needed to create a base rewards creator
type RewardsCreatorArgsV2 ¶ added in v1.1.15
type RewardsCreatorArgsV2 struct { BaseRewardsCreatorArgs StakingDataProvider epochStart.StakingDataProvider EconomicsDataProvider epochStart.EpochEconomicsDataProvider TopUpRewardFactor float64 TopUpGradientPoint *big.Int }
RewardsCreatorArgsV2 holds the data required to create end of epoch rewards
type RewardsCreatorProxyArgs ¶ added in v1.1.15
type RewardsCreatorProxyArgs struct { BaseRewardsCreatorArgs StakingDataProvider epochStart.StakingDataProvider EconomicsDataProvider epochStart.EpochEconomicsDataProvider TopUpRewardFactor float64 TopUpGradientPoint *big.Int EpochEnableV2 uint32 }
RewardsCreatorProxyArgs holds the proxy arguments
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 ¶ added in v1.0.116
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 return true if underlying object is nil
func (TestTrigger) MetaEpoch ¶ added in v1.0.104
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) SetAppStatusHandler ¶ added in v0.0.5
func (t TestTrigger) SetAppStatusHandler(handler core.AppStatusHandler) error
SetAppStatusHandler will set the satus handler for the trigger
func (TestTrigger) SetCurrentEpochStartRound ¶
func (t TestTrigger) SetCurrentEpochStartRound(round uint64)
SetCurrentEpochStartRound sets the round when the current epoch started
func (*TestTrigger) SetEpoch ¶ added in v1.0.138
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 ¶ added in v1.1.3
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
type TriggerRegistry ¶
type TriggerRegistry struct { Epoch uint32 CurrentRound uint64 EpochFinalityAttestingRound uint64 CurrEpochStartRound uint64 PrevEpochStartRound uint64 EpochStartMetaHash []byte EpochStartMeta *block.MetaBlock }
TriggerRegistry holds the data required to correctly initialize the trigger when booting from saved state