Documentation
¶
Index ¶
Constants ¶
const ( // BlockStatusOnChain represents the identifier for an on-chain block BlockStatusOnChain = "on-chain" // BlockStatusReverted represent the identifier for a reverted block BlockStatusReverted = "reverted" )
Variables ¶
var ErrInvalidOutputFormat = errors.New("the output format type is invalid")
ErrInvalidOutputFormat signals that the output format type is not valid
var ErrMetachainOnlyEndpoint = errors.New("the endpoint is only available on metachain nodes")
ErrMetachainOnlyEndpoint signals that an endpoint was called, but it is only available for metachain nodes
var ErrShardOnlyEndpoint = errors.New("the endpoint is only available on shard nodes")
ErrShardOnlyEndpoint signals that an endpoint was called, but it is only available for shard nodes
Functions ¶
This section is empty.
Types ¶
type APIBlockHandler ¶
type APIBlockHandler interface {
GetBlockByNonce(nonce uint64, options api.BlockQueryOptions) (*api.Block, error)
GetBlockByHash(hash []byte, options api.BlockQueryOptions) (*api.Block, error)
GetBlockByRound(round uint64, options api.BlockQueryOptions) (*api.Block, error)
GetAlteredAccountsForBlock(options api.GetAlteredAccountsForBlockOptions) ([]*alteredAccount.AlteredAccount, error)
IsInterfaceNil() bool
}
APIBlockHandler defines the behavior of a component able to return api blocks
func CreateAPIBlockProcessor ¶
func CreateAPIBlockProcessor(arg *ArgAPIBlockProcessor) (APIBlockHandler, error)
CreateAPIBlockProcessor will create a new instance of APIBlockHandler
type APIInternalBlockHandler ¶
type APIInternalBlockHandler interface {
GetInternalShardBlockByNonce(format common.ApiOutputFormat, nonce uint64) (interface{}, error)
GetInternalShardBlockByHash(format common.ApiOutputFormat, hash []byte) (interface{}, error)
GetInternalShardBlockByRound(format common.ApiOutputFormat, round uint64) (interface{}, error)
GetInternalMetaBlockByNonce(format common.ApiOutputFormat, nonce uint64) (interface{}, error)
GetInternalMetaBlockByHash(format common.ApiOutputFormat, hash []byte) (interface{}, error)
GetInternalMetaBlockByRound(format common.ApiOutputFormat, round uint64) (interface{}, error)
GetInternalStartOfEpochMetaBlock(format common.ApiOutputFormat, epoch uint32) (interface{}, error)
GetInternalStartOfEpochValidatorsInfo(epoch uint32) ([]*state.ShardValidatorInfo, error)
GetInternalMiniBlock(format common.ApiOutputFormat, hash []byte, epoch uint32) (interface{}, error)
IsInterfaceNil() bool
}
APIInternalBlockHandler defines the behaviour of a component able to return internal blocks
func CreateAPIInternalBlockProcessor ¶
func CreateAPIInternalBlockProcessor(arg *ArgAPIBlockProcessor) (APIInternalBlockHandler, error)
CreateAPIInternalBlockProcessor will create a new instance of APIInternalBlockHandler
type APITransactionHandler ¶
type APITransactionHandler interface {
UnmarshalTransaction(txBytes []byte, txType transaction.TxType) (*transaction.ApiTransactionResult, error)
UnmarshalReceipt(receiptBytes []byte) (*transaction.ApiReceipt, error)
PopulateComputedFields(tx *transaction.ApiTransactionResult)
IsInterfaceNil() bool
}
APITransactionHandler defines what a transaction handler should do
type ArgAPIBlockProcessor ¶
type ArgAPIBlockProcessor struct {
SelfShardID uint32
Store dataRetriever.StorageService
Marshalizer marshal.Marshalizer
Uint64ByteSliceConverter typeConverters.Uint64ByteSliceConverter
HistoryRepo dblookupext.HistoryRepository
APITransactionHandler APITransactionHandler
StatusComputer transaction.StatusComputerHandler
Hasher hashing.Hasher
AddressPubkeyConverter core.PubkeyConverter
LogsFacade logsFacade
ReceiptsRepository receiptsRepository
AlteredAccountsProvider outportProcess.AlteredAccountsProviderHandler
AccountsRepository state.AccountsRepository
ScheduledTxsExecutionHandler process.ScheduledTxsExecutionHandler
EnableEpochsHandler common.EnableEpochsHandler
ProofsPool dataRetriever.ProofsPool
BlockChain data.ChainHandler
}
ArgAPIBlockProcessor is structure that store components that are needed to create an api block processor