shard

package
v1.6.4 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2023 License: GPL-3.0 Imports: 30 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(
	args ArgsNewIntermediateProcessorsContainerFactory,
) (*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,
	txExecutionOrderHandler common.TxExecutionOrderHandler,
) (*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.BlockChainHookWithAccountsAdapter
	Hasher              hashing.Hasher
}

ArgVMContainerFactory defines the arguments needed to the new VM factory

type ArgsNewIntermediateProcessorsContainerFactory added in v1.6.0

type ArgsNewIntermediateProcessorsContainerFactory struct {
	ShardCoordinator        sharding.Coordinator
	Marshalizer             marshal.Marshalizer
	Hasher                  hashing.Hasher
	PubkeyConverter         core.PubkeyConverter
	Store                   dataRetriever.StorageService
	PoolsHolder             dataRetriever.PoolsHolder
	EconomicsFee            process.FeeHandler
	EnableEpochsHandler     common.EnableEpochsHandler
	TxExecutionOrderHandler common.TxExecutionOrderHandler
}

ArgsNewIntermediateProcessorsContainerFactory defines the argument list to create a new container factory

Jump to

Keyboard shortcuts

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