Documentation ¶
Index ¶
- type Backend
- type EthermintBackend
- func (b *EthermintBackend) BlockNumber() (hexutil.Uint64, error)
- func (b *EthermintBackend) BloomStatus() (uint64, uint64)
- func (b *EthermintBackend) Close()
- func (b *EthermintBackend) ConvertToBlockNumber(blockNumberOrHash rpctypes.BlockNumberOrHash) (rpctypes.BlockNumber, error)
- func (b *EthermintBackend) GetBlockByHash(hash common.Hash, fullTx bool) (interface{}, error)
- func (b *EthermintBackend) GetBlockByNumber(blockNum rpctypes.BlockNumber, fullTx bool) (interface{}, error)
- func (b *EthermintBackend) GetBlockHashByHeight(height rpctypes.BlockNumber) (common.Hash, error)
- func (b *EthermintBackend) GetLogs(blockHash common.Hash) ([][]*ethtypes.Log, error)
- func (b *EthermintBackend) GetRateLimiter(apiName string) *rate.Limiter
- func (b *EthermintBackend) GetTransactionLogs(txHash common.Hash) ([]*ethtypes.Log, error)
- func (b *EthermintBackend) HeaderByHash(blockHash common.Hash) (*ethtypes.Header, error)
- func (b *EthermintBackend) HeaderByNumber(blockNum rpctypes.BlockNumber) (*ethtypes.Header, error)
- func (b *EthermintBackend) IsDisabled(apiName string) bool
- func (b *EthermintBackend) LatestBlockNumber() (int64, error)
- func (b *EthermintBackend) PendingAddressList() ([]string, error)
- func (b *EthermintBackend) PendingTransactionCnt() (int, error)
- func (b *EthermintBackend) PendingTransactions() ([]*rpctypes.Transaction, error)
- func (b *EthermintBackend) PendingTransactionsByHash(target common.Hash) (*rpctypes.Transaction, error)
- func (b *EthermintBackend) ServiceFilter(ctx context.Context, session *bloombits.MatcherSession)
- func (b *EthermintBackend) StartBloomHandlers(sectionSize uint64, db dbm.DB)
- func (b *EthermintBackend) UserPendingTransactions(address string, limit int) ([]*rpctypes.Transaction, error)
- func (b *EthermintBackend) UserPendingTransactionsCnt(address string) (int, error)
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) ConvertToBlockNumber ¶ added in v0.19.6
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 ¶
GetLogs returns all the logs from all the ethereum transactions in a block.
func (*EthermintBackend) GetRateLimiter ¶ added in v0.18.4
func (b *EthermintBackend) GetRateLimiter(apiName string) *rate.Limiter
func (*EthermintBackend) GetTransactionLogs ¶
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 ¶
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 ¶ added in v0.18.17
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 ¶ added in v0.18.10
func (b *EthermintBackend) PendingAddressList() ([]string, error)
func (*EthermintBackend) PendingTransactionCnt ¶ added in v0.17.5
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 ¶ added in v0.17.5
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 ¶ added in v0.17.5
func (b *EthermintBackend) UserPendingTransactions(address string, limit int) ([]*rpctypes.Transaction, error)
func (*EthermintBackend) UserPendingTransactionsCnt ¶ added in v0.17.5
func (b *EthermintBackend) UserPendingTransactionsCnt(address string) (int, error)