shard

package
v1.4.12 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2023 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,
	enableEpochsHandler common.EnableEpochsHandler,
	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
	EnableEpochsHandler vmcommon.EnableEpochsHandler
	WasmVMChangeLocker  common.Locker
	ESDTTransferParser  vmcommon.ESDTTransferParser
	BuiltInFunctions    vmcommon.BuiltInFunctionContainer
	BlockChainHook      process.BlockChainHookHandler
	Hasher              hashing.Hasher
}

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