epochStart

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2023 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrEndOfEpochEconomicsDataDoesNotMatch = errors.New("end of epoch economics data does not match")

ErrEndOfEpochEconomicsDataDoesNotMatch signals that end of epoch data does not match

View Source
var ErrEpochStartDataForShardNotFound = errors.New("epoch start data for current shard not found")

ErrEpochStartDataForShardNotFound signals that epoch start shard data was not found for current shard id

View Source
var ErrForceEpochStartCanBeCalledOnlyOnNewRound = errors.New("invalid time to call force start of epoch, possible only on new round")

ErrForceEpochStartCanBeCalledOnlyOnNewRound signals that force start of epoch was called on wrong round

View Source
var ErrInvalidConsensusThreshold = errors.New("invalid consensus threshold")

ErrInvalidConsensusThreshold signals that an invalid consensus threshold has been provided

View Source
var ErrInvalidDefaultDBPath = errors.New("invalid default db path")

ErrInvalidDefaultDBPath signals that an invalid default database path has been provided

View Source
var ErrInvalidDefaultEpochString = errors.New("invalid default epoch string")

ErrInvalidDefaultEpochString signals that an invalid default epoch string has been provided

View Source
var ErrInvalidDefaultShardString = errors.New("invalid default shard string")

ErrInvalidDefaultShardString signals that an invalid default shard string has been provided

View Source
var ErrInvalidSettingsForEpochStartTrigger = errors.New("invalid start of epoch trigger settings")

ErrInvalidSettingsForEpochStartTrigger signals that settings for start of epoch trigger are invalid

View Source
var ErrInvalidWorkingDir = errors.New("invalid working directory")

ErrInvalidWorkingDir signals that an invalid working directory has been provided

View Source
var ErrMetaHdrNotFound = errors.New("meta header not found")

ErrMetaHdrNotFound signals that metaheader was not found

View Source
var ErrMissingHeader = errors.New("missing header")

ErrMissingHeader signals that searched header is missing

View Source
var ErrNilArgsNewMetaEpochStartTrigger = errors.New("nil arguments for meta start of epoch trigger")

ErrNilArgsNewMetaEpochStartTrigger signals that nil arguments were provided

View Source
var ErrNilArgsNewShardEpochStartTrigger = errors.New("nil arguments for shard start of epoch trigger")

ErrNilArgsNewShardEpochStartTrigger signals that nil arguments for shard epoch trigger has been provided

View Source
var ErrNilArgumentsParser = errors.New("nil arguments parsers")

ErrNilArgumentsParser signals that nil arguments parser was provided

View Source
var ErrNilBlockKeyGen = errors.New("nil block key generator")

ErrNilBlockKeyGen signals that a nil block key generator has been provided

View Source
var ErrNilBlockSingleSigner = errors.New("nil block single signer")

ErrNilBlockSingleSigner signals that a nil block single signer has been provided

View Source
var ErrNilDataPoolsHolder = errors.New("nil data pools holder")

ErrNilDataPoolsHolder signals that nil data pools holder has been provided

View Source
var ErrNilEconomicsData = errors.New("nil economics data")

ErrNilEconomicsData signals that a nil economics data handler has been provided

View Source
var ErrNilEpochStartNotifier = errors.New("nil epoch start notifier")

ErrNilEpochStartNotifier signals that nil epoch start notifier has been provided

View Source
var ErrNilEpochStartSettings = errors.New("nil start of epoch settings")

ErrNilEpochStartSettings signals that nil start of epoch settings has been provided

View Source
var ErrNilGenesisNodesConfig = errors.New("nil genesis nodes config")

ErrNilGenesisNodesConfig signals that a nil genesis nodes config has been provided

View Source
var ErrNilGenesisTotalSupply = errors.New("nil genesis total supply")

ErrNilGenesisTotalSupply signals that nil genesis total supply has been provided

View Source
var ErrNilHasher = errors.New("nil hasher")

ErrNilHasher signals that nil hasher has been provided

View Source
var ErrNilHeaderHandler = errors.New("nil header handler")

ErrNilHeaderHandler signals that a nil header handler has been provided

View Source
var ErrNilHeaderValidator = errors.New("nil header validator")

ErrNilHeaderValidator signals that nil header validator has been provided

View Source
var ErrNilKeyGen = errors.New("nil key generator")

ErrNilKeyGen signals that a nil key generator has been provided

View Source
var ErrNilLatestStorageDataProvider = errors.New("nil latest storage data provider")

ErrNilLatestStorageDataProvider signals that a nil latest storage data provider was provided

View Source
var ErrNilMarshalizer = errors.New("nil marshalizer")

ErrNilMarshalizer signals that nil marshalizer has been provided

View Source
var ErrNilMessenger = errors.New("nil messenger")

ErrNilMessenger signals that a nil messenger has been provided

View Source
var ErrNilMetaBlock = errors.New("nil metablock")

ErrNilMetaBlock signals that a nil metablock has been provided

View Source
var ErrNilMetaBlockStorage = errors.New("nil metablocks storage")

ErrNilMetaBlockStorage signals that nil metablocks storage has been provided

View Source
var ErrNilMetaBlocksPool = errors.New("nil metablocks pool")

ErrNilMetaBlocksPool signals that nil metablock pools holder has been provided

View Source
var ErrNilMetaNonceHashStorage = errors.New("nil meta nonce hash storage")

ErrNilMetaNonceHashStorage signals that nil meta header nonce hash storage has been provided

View Source
var ErrNilMiniBlockPool = errors.New("nil mini block pool")

ErrNilMiniBlockPool signals that a nil mini blocks pool was used

View Source
var ErrNilMiniblock = errors.New("nil miniblock")

ErrNilMiniblock signals that nil miniblock has been provided

View Source
var ErrNilMiniblocks = errors.New("nil arguments for miniblocks object")

ErrNilMiniblocks signals that nil argument was passed

View Source
var ErrNilNodesConfigProvider = errors.New("nil nodes config provider")

ErrNilNodesConfigProvider signals that an operation has been attempted to or with a nil nodes config provider

View Source
var ErrNilPathManager = errors.New("nil path manager")

ErrNilPathManager signals that a nil path manager has been provided

View Source
var ErrNilProtocolSustainabilityAddress = errors.New("nil protocol sustainability address")

ErrNilProtocolSustainabilityAddress signals that a nil protocol sustainability address was provided

View Source
var ErrNilPubKey = errors.New("nil public key")

ErrNilPubKey signals that a nil public key has been provided

View Source
var ErrNilPubkeyConverter = errors.New("nil pubkey converter")

ErrNilPubkeyConverter signals that nil address converter was provided

View Source
var ErrNilRater = errors.New("nil rater")

ErrNilRater signals that a nil rater has been provided

View Source
var ErrNilRequestHandler = errors.New("nil request handler")

ErrNilRequestHandler signals that nil request handler has been provided

View Source
var ErrNilRewardsHandler = errors.New("rewards handler is nil")

ErrNilRewardsHandler signals that rewards handler is nil

View Source
var ErrNilRounder = errors.New("nil Rounder")

ErrNilRounder signals that an operation has been attempted to or with a nil Rounder implementation

View Source
var ErrNilShardCoordinator = errors.New("shard coordinator is nil")

ErrNilShardCoordinator is raised when a valid shard coordinator is expected but nil used

View Source
var ErrNilShardHeaderStorage = errors.New("nil shard header storage")

ErrNilShardHeaderStorage signals that shard header storage is nil

View Source
var ErrNilShuffler = errors.New("nil nodes shuffler provided")

ErrNilShuffler signals that a nil shuffler was provided

View Source
var ErrNilSingleSigner = errors.New("nil single signer")

ErrNilSingleSigner signals that a nil single signer has been provided

View Source
var ErrNilStatusHandler = errors.New("nil app status handler")

ErrNilStatusHandler signals that a nil status handler has been provided

View Source
var ErrNilStorage = errors.New("nil storage")

ErrNilStorage signals that nil storage has been provided

View Source
var ErrNilStorageService = errors.New("nil storage service")

ErrNilStorageService signals that nil storage service has been provided

View Source
var ErrNilStorageUnitOpener = errors.New("nil storage unit opener")

ErrNilStorageUnitOpener signals that a nil storage unit opener was provided

View Source
var ErrNilTotalAccumulatedFeesInEpoch = errors.New("total accumulated fees in epoch is nil")

ErrNilTotalAccumulatedFeesInEpoch signals that total accumulated fees in epoch is nil

View Source
var ErrNilTotalDevFeesInEpoch = errors.New("total developer fees in epoch is nil")

ErrNilTotalDevFeesInEpoch signals that total developer fees in epoch is nil

View Source
var ErrNilTriggerStorage = errors.New("nil trigger storage")

ErrNilTriggerStorage signals that nil meta header storage has been provided

View Source
var ErrNilTxSignMarshalizer = errors.New("nil tx sign marshalizer")

ErrNilTxSignMarshalizer signals that nil tx sign marshalizer has been provided

View Source
var ErrNilUint64Converter = errors.New("nil uint64 converter")

ErrNilUint64Converter signals that nil uint64 converter has been provided

View Source
var ErrNilValidatorInfo = errors.New("validator info is nil")

ErrNilValidatorInfo signals that a nil value for the validatorInfo has been provided

View Source
var ErrNilValidatorInfoProcessor = errors.New("nil validator info processor")

ErrNilValidatorInfoProcessor signals that a nil validator info processor has been provided

View Source
var ErrNotEnoughNumConnectedPeers = errors.New("not enough min num of connected peers from config")

ErrNotEnoughNumConnectedPeers signals that config is invalid for num of connected peers

View Source
var ErrNotEnoughNumOfPeersToConsiderBlockValid = errors.New("not enough num of peers to consider block valid from config")

ErrNotEnoughNumOfPeersToConsiderBlockValid signals that config is invalid for num of peer to consider block valid

View Source
var ErrNotEnoughRoundsBetweenEpochs = errors.New("tried to force start of epoch before passing of enough rounds")

ErrNotEnoughRoundsBetweenEpochs signals that not enough rounds has passed since last epoch start

View Source
var ErrNotEpochStartBlock = errors.New("not epoch start block")

ErrNotEpochStartBlock signals that block is not of type epoch start

View Source
var ErrProtocolSustainabilityAddressInMetachain = errors.New("protocol sustainability address in metachain")

ErrProtocolSustainabilityAddressInMetachain signals that protocol sustainability address is in metachain which is not allowed

View Source
var ErrRewardMiniBlockHashDoesNotMatch = errors.New("reward miniblock hash does not match")

ErrRewardMiniBlockHashDoesNotMatch signals that created and received rewards miniblock hash does not match

View Source
var ErrRewardMiniBlocksNumDoesNotMatch = errors.New("number of created and received rewards miniblocks missmatch")

ErrRewardMiniBlocksNumDoesNotMatch signals that number of created and received rewards miniblocks is not equal

View Source
var ErrSavedRoundIsHigherThanInput = errors.New("saved round is higher than input round")

ErrSavedRoundIsHigherThanInput signals that input round was wrong

View Source
var ErrSavedRoundIsHigherThanInputRound = errors.New("saved round is higher than input round")

ErrSavedRoundIsHigherThanInputRound signals that input round was wrong

View Source
var ErrTimeoutWaitingForMetaBlock = errors.New("timeout while waiting for epoch start meta block")

ErrTimeoutWaitingForMetaBlock signals that a timeout event was raised while waiting for the epoch start meta block

View Source
var ErrValidatorInfoMiniBlocksNumDoesNotMatch = errors.New("number of created and received validatorInfo miniblocks missmatch")

ErrValidatorInfoMiniBlocksNumDoesNotMatch signals that number of created and received validatorInfo miniblocks is not equal

View Source
var ErrValidatorMiniBlockHashDoesNotMatch = errors.New("validatorInfo miniblock hash does not match")

ErrValidatorMiniBlockHashDoesNotMatch signals that created and received validatorInfo miniblock hash does not match

View Source
var ErrWrongTypeAssertion = errors.New("wrong type assertion")

ErrWrongTypeAssertion signals wrong type assertion

Functions

This section is empty.

Types

type AccountsDBSyncer

type AccountsDBSyncer interface {
	GetSyncedTries() map[string]data.Trie
	SyncAccounts(rootHash []byte) error
	IsInterfaceNil() bool
}

AccountsDBSyncer defines the methods for the accounts db syncer

type ActionHandler

type ActionHandler interface {
	EpochStartAction(hdr data.HeaderHandler)
	EpochStartPrepare(metaHdr data.HeaderHandler, body data.BodyHandler)
	NotifyOrder() uint32
}

ActionHandler defines the action taken on epoch start event

type HeaderValidator

type HeaderValidator interface {
	IsHeaderConstructionValid(currHdr, prevHdr data.HeaderHandler) error
	IsInterfaceNil() bool
}

HeaderValidator defines the actions needed to validate a header

type HeadersByHashSyncer

type HeadersByHashSyncer interface {
	SyncMissingHeadersByHash(shardIDs []uint32, headersHashes [][]byte, ctx context.Context) error
	GetHeaders() (map[string]data.HeaderHandler, error)
	ClearFields()
	IsInterfaceNil() bool
}

HeadersByHashSyncer defines the methods to sync all missing headers by hash

type ImportStartHandler

type ImportStartHandler interface {
	ShouldStartImport() bool
	IsAfterExportBeforeImport() bool
	IsInterfaceNil() bool
}

ImportStartHandler can manage the process of starting the import after the hardfork event

type NodesConfigProvider

type NodesConfigProvider interface {
	ConsensusGroupSize(shardID uint32) int
	IsInterfaceNil() bool
}

NodesConfigProvider will provide the necessary information for start in epoch economics block creation

type Notifier

type Notifier interface {
	NotifyAll(hdr data.HeaderHandler)
	NotifyAllPrepare(metaHdr data.HeaderHandler, body data.BodyHandler)
	NotifyEpochChangeConfirmed(epoch uint32)
	IsInterfaceNil() bool
}

Notifier defines which actions should be done for handling new epoch's events

type PendingMiniBlocksSyncHandler

type PendingMiniBlocksSyncHandler interface {
	SyncPendingMiniBlocks(miniBlockHeaders []block.MiniBlockHeader, ctx context.Context) error
	GetMiniBlocks() (map[string]*block.MiniBlock, error)
	ClearFields()
	IsInterfaceNil() bool
}

PendingMiniBlocksSyncHandler defines the methods to sync all pending miniblocks

type RegistrationHandler

type RegistrationHandler interface {
	RegisterHandler(handler ActionHandler)
	UnregisterHandler(handler ActionHandler)
	IsInterfaceNil() bool
}

RegistrationHandler provides Register and Unregister functionality for the end of epoch events

type RequestHandler

type RequestHandler interface {
	RequestShardHeader(shardId uint32, hash []byte)
	RequestMetaHeader(hash []byte)
	RequestMetaHeaderByNonce(nonce uint64)
	RequestShardHeaderByNonce(shardId uint32, nonce uint64)
	RequestStartOfEpochMetaBlock(epoch uint32)
	RequestMiniBlocks(destShardID uint32, miniblocksHashes [][]byte)
	RequestInterval() time.Duration
	SetNumPeersToQuery(key string, intra int, cross int) error
	GetNumPeersToQuery(key string) (int, int, error)
	IsInterfaceNil() bool
}

RequestHandler defines the methods through which request to data can be made

type Rounder

type Rounder interface {
	// Index returns the current round
	Index() int64
	// TimeStamp returns the time stamp of the round
	TimeStamp() time.Time
	IsInterfaceNil() bool
}

Rounder defines the actions which should be handled by a round implementation

type StartOfEpochMetaSyncer

type StartOfEpochMetaSyncer interface {
	SyncEpochStartMeta(waitTime time.Duration) (*block.MetaBlock, error)
	IsInterfaceNil() bool
}

StartOfEpochMetaSyncer defines the methods to synchronize epoch start meta block from the network when nothing is known

type TriggerHandler

type TriggerHandler interface {
	Close() error
	ForceEpochStart(round uint64) error
	IsEpochStart() bool
	Epoch() uint32
	MetaEpoch() uint32
	Update(round uint64, nonce uint64)
	EpochStartRound() uint64
	EpochStartMetaHdrHash() []byte
	GetSavedStateKey() []byte
	LoadState(key []byte) error
	SetProcessed(header data.HeaderHandler, body data.BodyHandler)
	SetFinalityAttestingRound(round uint64)
	EpochFinalityAttestingRound() uint64
	RevertStateToBlock(header data.HeaderHandler) error
	SetCurrentEpochStartRound(round uint64)
	RequestEpochStartIfNeeded(interceptedHeader data.HeaderHandler)
	SetAppStatusHandler(handler core.AppStatusHandler) error
	IsInterfaceNil() bool
}

TriggerHandler defines the functionalities for an start of epoch trigger

type ValidatorStatisticsProcessorHandler

type ValidatorStatisticsProcessorHandler interface {
	Process(info data.ShardValidatorInfoHandler) error
	Commit() ([]byte, error)
	IsInterfaceNil() bool
}

ValidatorStatisticsProcessorHandler defines the actions for processing validator statistics needed in the epoch events

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL