backend

package
v0.19.9 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2021 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Backend

type Backend interface {
	// Used by block filter; also used for polling
	BlockNumber() (hexutil.Uint64, error)
	LatestBlockNumber() (int64, error)
	HeaderByNumber(blockNum rpctypes.BlockNumber) (*ethtypes.Header, error)
	HeaderByHash(blockHash common.Hash) (*ethtypes.Header, error)
	GetBlockByNumber(blockNum rpctypes.BlockNumber, fullTx bool) (interface{}, error)
	GetBlockByHash(hash common.Hash, fullTx bool) (interface{}, error)

	// returns the logs of a given block
	GetLogs(blockHash common.Hash) ([][]*ethtypes.Log, error)

	// Used by pending transaction filter
	PendingTransactions() ([]*rpctypes.Transaction, error)
	PendingTransactionCnt() (int, error)
	PendingTransactionsByHash(target common.Hash) (*rpctypes.Transaction, error)
	UserPendingTransactionsCnt(address string) (int, error)
	UserPendingTransactions(address string, limit int) ([]*rpctypes.Transaction, error)
	PendingAddressList() ([]string, error)

	// Used by log filter
	GetTransactionLogs(txHash common.Hash) ([]*ethtypes.Log, error)
	BloomStatus() (uint64, uint64)
	ServiceFilter(ctx context.Context, session *bloombits.MatcherSession)

	// Used by eip-1898
	ConvertToBlockNumber(rpctypes.BlockNumberOrHash) (rpctypes.BlockNumber, error)
}

Backend implements the functionality needed to filter changes. Implemented by EthermintBackend.

type EthermintBackend

type EthermintBackend struct {
	// contains filtered or unexported fields
}

EthermintBackend implements the Backend interface

func New

func New(clientCtx clientcontext.CLIContext, log log.Logger, rateLimiters map[string]*rate.Limiter, disableAPI map[string]bool) *EthermintBackend

New creates a new EthermintBackend instance

func (*EthermintBackend) BlockNumber

func (b *EthermintBackend) BlockNumber() (hexutil.Uint64, error)

BlockNumber returns the current block number.

func (*EthermintBackend) BloomStatus

func (b *EthermintBackend) BloomStatus() (uint64, uint64)

BloomStatus returns the BloomBitsBlocks and the number of processed sections maintained by the chain indexer.

func (*EthermintBackend) Close

func (b *EthermintBackend) Close()

Close

func (*EthermintBackend) ConvertToBlockNumber

func (b *EthermintBackend) ConvertToBlockNumber(blockNumberOrHash rpctypes.BlockNumberOrHash) (rpctypes.BlockNumber, error)

func (*EthermintBackend) GetBlockByHash

func (b *EthermintBackend) GetBlockByHash(hash common.Hash, fullTx bool) (interface{}, error)

GetBlockByHash returns the block identified by hash.

func (*EthermintBackend) GetBlockByNumber

func (b *EthermintBackend) GetBlockByNumber(blockNum rpctypes.BlockNumber, fullTx bool) (interface{}, error)

GetBlockByNumber returns the block identified by number.

func (*EthermintBackend) GetBlockHashByHeight

func (b *EthermintBackend) GetBlockHashByHeight(height rpctypes.BlockNumber) (common.Hash, error)

GetBlockHashByHeight returns the block hash by height.

func (*EthermintBackend) GetLogs

func (b *EthermintBackend) GetLogs(blockHash common.Hash) ([][]*ethtypes.Log, error)

GetLogs returns all the logs from all the ethereum transactions in a block.

func (*EthermintBackend) GetRateLimiter

func (b *EthermintBackend) GetRateLimiter(apiName string) *rate.Limiter

func (*EthermintBackend) GetTransactionLogs

func (b *EthermintBackend) GetTransactionLogs(txHash common.Hash) ([]*ethtypes.Log, error)

GetTransactionLogs returns the logs given a transaction hash. It returns an error if there's an encoding error. If no logs are found for the tx hash, the error is nil.

func (*EthermintBackend) HeaderByHash

func (b *EthermintBackend) HeaderByHash(blockHash common.Hash) (*ethtypes.Header, error)

HeaderByHash returns the block header identified by hash.

func (*EthermintBackend) HeaderByNumber

func (b *EthermintBackend) HeaderByNumber(blockNum rpctypes.BlockNumber) (*ethtypes.Header, error)

HeaderByNumber returns the block header identified by height.

func (*EthermintBackend) IsDisabled

func (b *EthermintBackend) IsDisabled(apiName string) bool

func (*EthermintBackend) LatestBlockNumber

func (b *EthermintBackend) LatestBlockNumber() (int64, error)

LatestBlockNumber gets the latest block height in int64 format.

func (*EthermintBackend) PendingAddressList

func (b *EthermintBackend) PendingAddressList() ([]string, error)

func (*EthermintBackend) PendingTransactionCnt

func (b *EthermintBackend) PendingTransactionCnt() (int, error)

func (*EthermintBackend) PendingTransactions

func (b *EthermintBackend) PendingTransactions() ([]*rpctypes.Transaction, error)

PendingTransactions returns the transactions that are in the transaction pool and have a from address that is one of the accounts this node manages.

func (*EthermintBackend) PendingTransactionsByHash

func (b *EthermintBackend) PendingTransactionsByHash(target common.Hash) (*rpctypes.Transaction, error)

PendingTransactions returns the transaction that is in the transaction pool and have a from address that is one of the accounts this node manages.

func (*EthermintBackend) ServiceFilter

func (b *EthermintBackend) ServiceFilter(ctx context.Context, session *bloombits.MatcherSession)

func (*EthermintBackend) StartBloomHandlers

func (b *EthermintBackend) StartBloomHandlers(sectionSize uint64, db dbm.DB)

startBloomHandlers starts a batch of goroutines to accept bloom bit database retrievals from possibly a range of filters and serving the data to satisfy.

func (*EthermintBackend) UserPendingTransactions

func (b *EthermintBackend) UserPendingTransactions(address string, limit int) ([]*rpctypes.Transaction, error)

func (*EthermintBackend) UserPendingTransactionsCnt

func (b *EthermintBackend) UserPendingTransactionsCnt(address string) (int, error)

Jump to

Keyboard shortcuts

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