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) ([]*outport.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
}
ArgAPIBlockProcessor is structure that store components that are needed to create an api block processor