Documentation ¶
Index ¶
- func TxLogsFromEvents(codec codec.Codec, events []abci.Event) []*ethtypes.Log
- type Backend
- type EVMBackend
- func (e *EVMBackend) BlockBloom(height *int64) (ethtypes.Bloom, error)
- func (e *EVMBackend) BlockNumber() (hexutil.Uint64, error)
- func (e *EVMBackend) BloomStatus() (uint64, uint64)
- func (e *EVMBackend) ChainConfig() *params.ChainConfig
- func (e *EVMBackend) CurrentHeader() *ethtypes.Header
- func (e *EVMBackend) EstimateGas(args evmtypes.CallArgs, blockNrOptional *types.BlockNumber) (hexutil.Uint64, error)
- func (e *EVMBackend) EthBlockFromTendermint(block *tmtypes.Block, fullTx bool) (map[string]interface{}, error)
- func (e *EVMBackend) GetBlockByHash(hash common.Hash, fullTx bool) (map[string]interface{}, error)
- func (e *EVMBackend) GetBlockByNumber(blockNum types.BlockNumber, fullTx bool) (map[string]interface{}, error)
- func (e *EVMBackend) GetCoinbase() (sdk.AccAddress, error)
- func (e *EVMBackend) GetFilteredBlocks(from int64, to int64, filters [][]filters.BloomIV, filterAddresses bool) ([]int64, error)
- func (e *EVMBackend) GetLogs(hash common.Hash) ([][]*ethtypes.Log, error)
- func (e *EVMBackend) GetLogsByHeight(height *int64) ([][]*ethtypes.Log, error)
- func (e *EVMBackend) GetLogsByNumber(blockNum types.BlockNumber) ([][]*ethtypes.Log, error)
- func (e *EVMBackend) GetTendermintBlockByNumber(blockNum types.BlockNumber) (*tmrpctypes.ResultBlock, error)
- func (e *EVMBackend) GetTransactionByHash(txHash common.Hash) (*types.RPCTransaction, error)
- func (e *EVMBackend) GetTransactionCount(address common.Address, blockNum types.BlockNumber) (*hexutil.Uint64, error)
- func (e *EVMBackend) GetTransactionLogs(txHash common.Hash) ([]*ethtypes.Log, error)
- func (e *EVMBackend) GetTxByEthHash(hash common.Hash) (*tmrpctypes.ResultTx, error)
- func (e *EVMBackend) HeaderByHash(blockHash common.Hash) (*ethtypes.Header, error)
- func (e *EVMBackend) HeaderByNumber(blockNum types.BlockNumber) (*ethtypes.Header, error)
- func (e *EVMBackend) PendingTransactions() ([]*sdk.Tx, error)
- func (e *EVMBackend) RPCGasCap() uint64
- func (e *EVMBackend) RPCMinGasPrice() int64
- func (e *EVMBackend) SendTransaction(args types.SendTxArgs) (common.Hash, error)
- func (e *EVMBackend) SuggestGasTipCap() (*big.Int, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Backend ¶
type Backend interface { BlockNumber() (hexutil.Uint64, error) GetBlockByNumber(blockNum types.BlockNumber, fullTx bool) (map[string]interface{}, error) GetBlockByHash(hash common.Hash, fullTx bool) (map[string]interface{}, error) GetTendermintBlockByNumber(blockNum types.BlockNumber) (*tmrpctypes.ResultBlock, error) CurrentHeader() *ethtypes.Header HeaderByNumber(blockNum types.BlockNumber) (*ethtypes.Header, error) HeaderByHash(blockHash common.Hash) (*ethtypes.Header, error) PendingTransactions() ([]*sdk.Tx, error) GetTransactionLogs(txHash common.Hash) ([]*ethtypes.Log, error) GetTransactionCount(address common.Address, blockNum types.BlockNumber) (*hexutil.Uint64, error) SendTransaction(args types.SendTxArgs) (common.Hash, error) GetLogsByHeight(height *int64) ([][]*ethtypes.Log, error) GetLogs(hash common.Hash) ([][]*ethtypes.Log, error) BloomStatus() (uint64, uint64) GetCoinbase() (sdk.AccAddress, error) GetTransactionByHash(txHash common.Hash) (*types.RPCTransaction, error) GetTxByEthHash(txHash common.Hash) (*tmrpctypes.ResultTx, error) EstimateGas(args evmtypes.CallArgs, blockNrOptional *types.BlockNumber) (hexutil.Uint64, error) RPCGasCap() uint64 RPCMinGasPrice() int64 ChainConfig() *params.ChainConfig SuggestGasTipCap() (*big.Int, error) GetFilteredBlocks(from int64, to int64, filter [][]filters.BloomIV, filterAddresses bool) ([]int64, error) }
Backend implements the functionality shared within namespaces. Implemented by EVMBackend.
type EVMBackend ¶
type EVMBackend struct {
// contains filtered or unexported fields
}
EVMBackend implements the Backend interface
func NewEVMBackend ¶
NewEVMBackend creates a new EVMBackend instance
func (*EVMBackend) BlockBloom ¶
func (e *EVMBackend) BlockBloom(height *int64) (ethtypes.Bloom, error)
BlockBloom query block bloom filter from block results
func (*EVMBackend) BlockNumber ¶
func (e *EVMBackend) BlockNumber() (hexutil.Uint64, error)
BlockNumber returns the current block number in abci app state. Because abci app state could lag behind from tendermint latest block, it's more stable for the client to use the latest block number in abci app state than tendermint rpc.
func (*EVMBackend) BloomStatus ¶
func (e *EVMBackend) BloomStatus() (uint64, uint64)
BloomStatus returns the BloomBitsBlocks and the number of processed sections maintained by the chain indexer.
func (*EVMBackend) ChainConfig ¶ added in v0.6.1
func (e *EVMBackend) ChainConfig() *params.ChainConfig
ChainConfig return the ethereum chain configuration
func (*EVMBackend) CurrentHeader ¶ added in v0.6.1
func (e *EVMBackend) CurrentHeader() *ethtypes.Header
CurrentHeader returns the latest block header
func (*EVMBackend) EstimateGas ¶
func (e *EVMBackend) EstimateGas(args evmtypes.CallArgs, blockNrOptional *types.BlockNumber) (hexutil.Uint64, error)
EstimateGas returns an estimate of gas usage for the given smart contract call.
func (*EVMBackend) EthBlockFromTendermint ¶
func (e *EVMBackend) EthBlockFromTendermint( block *tmtypes.Block, fullTx bool, ) (map[string]interface{}, error)
EthBlockFromTendermint returns a JSON-RPC compatible Ethereum block from a given Tendermint block and its block result.
func (*EVMBackend) GetBlockByHash ¶
GetBlockByHash returns the block identified by hash.
func (*EVMBackend) GetBlockByNumber ¶
func (e *EVMBackend) GetBlockByNumber(blockNum types.BlockNumber, fullTx bool) (map[string]interface{}, error)
GetBlockByNumber returns the block identified by number.
func (*EVMBackend) GetCoinbase ¶
func (e *EVMBackend) GetCoinbase() (sdk.AccAddress, error)
GetCoinbase is the address that staking rewards will be send to (alias for Etherbase).
func (*EVMBackend) GetFilteredBlocks ¶ added in v0.6.1
func (e *EVMBackend) GetFilteredBlocks( from int64, to int64, filters [][]filters.BloomIV, filterAddresses bool, ) ([]int64, error)
GetFilteredBlocks returns the block height list match the given bloom filters.
func (*EVMBackend) GetLogs ¶
GetLogs returns all the logs from all the ethereum transactions in a block.
func (*EVMBackend) GetLogsByHeight ¶
func (e *EVMBackend) GetLogsByHeight(height *int64) ([][]*ethtypes.Log, error)
GetLogsByHeight returns all the logs from all the ethereum transactions in a block.
func (*EVMBackend) GetLogsByNumber ¶
func (e *EVMBackend) GetLogsByNumber(blockNum types.BlockNumber) ([][]*ethtypes.Log, error)
func (*EVMBackend) GetTendermintBlockByNumber ¶
func (e *EVMBackend) GetTendermintBlockByNumber(blockNum types.BlockNumber) (*tmrpctypes.ResultBlock, error)
GetTendermintBlockByNumber returns a Tendermint format block by block number
func (*EVMBackend) GetTransactionByHash ¶
func (e *EVMBackend) GetTransactionByHash(txHash common.Hash) (*types.RPCTransaction, error)
GetTransactionByHash returns the Ethereum format transaction identified by Ethereum transaction hash
func (*EVMBackend) GetTransactionCount ¶
func (e *EVMBackend) GetTransactionCount(address common.Address, blockNum types.BlockNumber) (*hexutil.Uint64, error)
GetTransactionCount returns the number of transactions at the given address up to the given block number.
func (*EVMBackend) 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 (*EVMBackend) GetTxByEthHash ¶
func (e *EVMBackend) GetTxByEthHash(hash common.Hash) (*tmrpctypes.ResultTx, error)
GetTxByEthHash uses `/tx_query` to find transaction by ethereum tx hash TODO: Don't need to convert once hashing is fixed on Tendermint https://github.com/tendermint/tendermint/issues/6539
func (*EVMBackend) HeaderByHash ¶
HeaderByHash returns the block header identified by hash.
func (*EVMBackend) HeaderByNumber ¶
func (e *EVMBackend) HeaderByNumber(blockNum types.BlockNumber) (*ethtypes.Header, error)
HeaderByNumber returns the block header identified by height.
func (*EVMBackend) PendingTransactions ¶
func (e *EVMBackend) PendingTransactions() ([]*sdk.Tx, 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 (*EVMBackend) RPCGasCap ¶
func (e *EVMBackend) RPCGasCap() uint64
RPCGasCap is the global gas cap for eth-call variants.
func (*EVMBackend) RPCMinGasPrice ¶
func (e *EVMBackend) RPCMinGasPrice() int64
func (*EVMBackend) SendTransaction ¶
func (e *EVMBackend) SendTransaction(args types.SendTxArgs) (common.Hash, error)
func (*EVMBackend) SuggestGasTipCap ¶ added in v0.6.1
func (e *EVMBackend) SuggestGasTipCap() (*big.Int, error)
SuggestGasTipCap returns the suggested tip cap