shard

package
v1.999.0 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2022 License: GPL-3.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrEmptyVersionsByEpochsList = errors.New("empty versions by epochs list")

ErrEmptyVersionsByEpochsList signals that an empty versions by epochs list was provided

View Source
var ErrInvalidVersionOnEpochValues = errors.New("invalid version provided on epoch values")

ErrInvalidVersionOnEpochValues signals that the version element is not accepted because the epoch values are invalid

View Source
var ErrInvalidVersionStringTooLong = errors.New("invalid version provided: string too large")

ErrInvalidVersionStringTooLong signals that the version element is not accepted because it contains too large strings

Functions

func NewIntermediateProcessorsContainerFactory

func NewIntermediateProcessorsContainerFactory(
	shardCoordinator sharding.Coordinator,
	marshalizer marshal.Marshalizer,
	hasher hashing.Hasher,
	pubkeyConverter core.PubkeyConverter,
	store dataRetriever.StorageService,
	poolsHolder dataRetriever.PoolsHolder,
	economicsFee process.FeeHandler,
) (*intermediateProcessorsContainerFactory, error)

NewIntermediateProcessorsContainerFactory is responsible for creating a new intermediate processors factory object

func NewPreProcessorsContainerFactory

func NewPreProcessorsContainerFactory(
	shardCoordinator sharding.Coordinator,
	store dataRetriever.StorageService,
	marshalizer marshal.Marshalizer,
	hasher hashing.Hasher,
	dataPool dataRetriever.PoolsHolder,
	pubkeyConverter core.PubkeyConverter,
	accounts state.AccountsAdapter,
	requestHandler process.RequestHandler,
	txProcessor process.TransactionProcessor,
	scProcessor process.SmartContractProcessor,
	scResultProcessor process.SmartContractResultProcessor,
	rewardsTxProcessor process.RewardTransactionProcessor,
	economicsFee process.FeeHandler,
	gasHandler process.GasHandler,
	blockTracker preprocess.BlockTracker,
	blockSizeComputation preprocess.BlockSizeComputationHandler,
	balanceComputation preprocess.BalanceComputationHandler,
	epochNotifier process.EpochNotifier,
	optimizeGasUsedInCrossMiniBlocksEnableEpoch uint32,
	frontRunningProtectionEnableEpoch uint32,
	scheduledMiniBlocksEnableEpoch uint32,
	txTypeHandler process.TxTypeHandler,
	scheduledTxsExecutionHandler process.ScheduledTxsExecutionHandler,
	processedMiniBlocksTracker process.ProcessedMiniBlocksTracker,
) (*preProcessorsContainerFactory, error)

NewPreProcessorsContainerFactory is responsible for creating a new preProcessors factory object

func NewVMContainerFactory

func NewVMContainerFactory(args ArgVMContainerFactory) (*vmContainerFactory, error)

NewVMContainerFactory is responsible for creating a new virtual machine factory object

Types

type ArgVMContainerFactory

type ArgVMContainerFactory struct {
	Config             config.VirtualMachineConfig
	BlockGasLimit      uint64
	GasSchedule        core.GasScheduleNotifier
	EpochNotifier      process.EpochNotifier
	EpochConfig        config.EnableEpochs
	ArwenChangeLocker  common.Locker
	ESDTTransferParser vmcommon.ESDTTransferParser
	BuiltInFunctions   vmcommon.BuiltInFunctionContainer
	BlockChainHook     process.BlockChainHookHandler
}

ArgVMContainerFactory defines the arguments needed to the new VM factory

Jump to

Keyboard shortcuts

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