Documentation ¶
Index ¶
- Constants
- func BlockMaxGasFromConsensusParams(tmClient rpcclient.Client) (uint64, error)
- func EthTransactionsFromTendermint(block *tmtypes.Block, fullTx bool) ([]interface{}, uint64, error)
- func GetBlockBloom(events []abci.Event) vm.Bloom
- func GetBlockCumulativeGas(block *tmtypes.Block, idx int) uint64
- func NewRevertError(result *vm.ExecutionResult) *revertError
- func ParseLegacyTx(tmTx tmtypes.Tx) (*action.SignedTx, error)
- func StateAndHeaderByNumberOrHash(blockStore *store.BlockStore, blockNrOrHash rpc.BlockNumberOrHash) (int64, error)
- type Block
- type CallArgs
- type EthService
- type Header
- type LogReceipt
- type Transaction
- type TransactionReceipt
- type Web3Context
- type Web3Service
Constants ¶
const ( EarliestBlockNumber = 0 LatestBlockNumber = -1 PendingBlockNumber = -2 // InitialBlockNumber as tendermint starts at 1 for genesis InitialBlockNumber = 1 )
Variables ¶
This section is empty.
Functions ¶
func BlockMaxGasFromConsensusParams ¶
BlockMaxGasFromConsensusParams returns the gas limit for the latest block from the chain consensus params.
func EthTransactionsFromTendermint ¶
func EthTransactionsFromTendermint(block *tmtypes.Block, fullTx bool) ([]interface{}, uint64, error)
EthTransactionsFromTendermint returns a slice of ethereum transaction hashes and the total gas usage from a set of tendermint block transactions.
func GetBlockCumulativeGas ¶
GetBlockCumulativeGas returns the cumulative gas used on a block up to a given transaction index. The returned gas used includes the gas from both the SDK and EVM module transactions.
func NewRevertError ¶
func NewRevertError(result *vm.ExecutionResult) *revertError
func ParseLegacyTx ¶
ParseLegacyTx is used to parse the signed tx for old OneLedger tx types
func StateAndHeaderByNumberOrHash ¶
func StateAndHeaderByNumberOrHash(blockStore *store.BlockStore, blockNrOrHash rpc.BlockNumberOrHash) (int64, error)
Types ¶
type Block ¶
type Block struct { Number hexutil.Uint64 `json:"number"` Hash common.Hash `json:"hash"` ParentHash common.Hash `json:"parentHash"` Nonce ethtypes.BlockNonce `json:"nonce"` Sha3Uncles common.Hash `json:"sha3Uncles"` LogsBloom vm.Bloom `json:"logsBloom"` TransactionsRoot common.Hash `json:"transactionsRoot"` StateRoot common.Hash `json:"stateRoot"` Miner common.Address `json:"miner"` MixHash common.Hash `json:"mixHash"` Difficulty hexutil.Uint64 `json:"difficulty"` TotalDifficulty hexutil.Uint64 `json:"totalDifficulty"` ExtraData hexutil.Bytes `json:"extraData"` Size hexutil.Uint64 `json:"size"` GasLimit *hexutil.Big `json:"gasLimit"` GasUsed *hexutil.Big `json:"gasUsed"` Timestamp hexutil.Uint64 `json:"timestamp"` Uncles []common.Hash `json:"uncles"` ReceiptsRoot common.Hash `json:"receiptsRoot"` Transactions []interface{} `json:"transactions"` }
Block represents a block returned to RPC clients.
type CallArgs ¶
type CallArgs struct { From common.Address `json:"from"` To *common.Address `json:"to"` Gas hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` Value *hexutil.Big `json:"value"` Data hexutil.Bytes `json:"data"` }
CallArgs represents the arguments for a call.
type EthService ¶
type EthService interface { Web3Service GetBlockStore() *store.BlockStore GetStateDB() *vm.CommitStateDB }
type Header ¶
type Header struct { ParentHash common.Hash `json:"parentHash" gencodec:"required"` UncleHash common.Hash `json:"sha3Uncles" gencodec:"required"` Coinbase common.Address `json:"miner" gencodec:"required"` Root common.Hash `json:"stateRoot" gencodec:"required"` TxHash common.Hash `json:"transactionsRoot" gencodec:"required"` ReceiptHash common.Hash `json:"receiptsRoot" gencodec:"required"` Bloom vm.Bloom `json:"logsBloom" gencodec:"required"` Difficulty *big.Int `json:"difficulty" gencodec:"required"` Number *big.Int `json:"number" gencodec:"required"` GasLimit *big.Int `json:"gasLimit" gencodec:"required"` GasUsed *big.Int `json:"gasUsed" gencodec:"required"` Time uint64 `json:"timestamp" gencodec:"required"` Extra []byte `json:"extraData" gencodec:"required"` Hash common.Hash `json:"hash"` Size uint64 `json:"size"` MixDigest common.Hash `json:"mixHash"` Nonce ethtypes.BlockNonce `json:"nonce"` }
Header represents a block header in the Ethereum blockchain.
type LogReceipt ¶
type LogReceipt struct { Bloom vm.Bloom Logs []*ethtypes.Log Status uint64 ContractAddress *common.Address }
func GetTxEthLogs ¶
func GetTxEthLogs(res *abci.ResponseDeliverTx, txIndex uint32) *LogReceipt
GetTxEthLogs substract logs from deliver response
type Transaction ¶
type Transaction struct { BlockHash *common.Hash `json:"blockHash"` BlockNumber *hexutil.Big `json:"blockNumber"` From common.Address `json:"from"` Gas hexutil.Uint64 `json:"gas"` GasPrice *hexutil.Big `json:"gasPrice"` Hash common.Hash `json:"hash"` Input hexutil.Bytes `json:"input"` Nonce hexutil.Uint64 `json:"nonce"` To *common.Address `json:"to"` TransactionIndex *hexutil.Uint64 `json:"transactionIndex"` Value hexutil.Big `json:"value"` V *hexutil.Big `json:"v"` R *common.Hash `json:"r"` S *common.Hash `json:"s"` }
Transaction represents a transaction returned to RPC clients.
type TransactionReceipt ¶
type TransactionReceipt struct { // Consensus fields: These fields are defined by the Yellow Paper Status hexutil.Uint64 `json:"status"` CumulativeGasUsed hexutil.Uint64 `json:"cumulativeGasUsed"` LogsBloom vm.Bloom `json:"logsBloom"` Logs []*ethtypes.Log `json:"logs"` // Implementation fields: These fields are added by geth when processing a transaction. // They are stored in the chain database. TransactionHash common.Hash `json:"transactionHash"` ContractAddress *common.Address `json:"contractAddress"` GasUsed hexutil.Uint64 `json:"gasUsed"` // Inclusion information: These fields provide information about the inclusion of the // transaction corresponding to this receipt. BlockHash common.Hash `json:"blockHash"` BlockNumber hexutil.Big `json:"blockNumber"` TransactionIndex hexutil.Uint64 `json:"transactionIndex"` // sender and receiver (contract or EOA) addresses From common.Address `json:"from"` To *common.Address `json:"to"` }
TransactionReceipt represents a mined transaction returned to RPC clients.
type Web3Context ¶
type Web3Context interface { // propagation structures GetLogger() *log.Logger GetNode() *consensus.Node GetBlockStore() *store.BlockStore GetEventBus() *types.EventBus GetMempool() mempool.Mempool GetGenesisDoc() *types.GenesisDoc GetConsensusReactor() *cs.Reactor GetSwitch() *p2p.Switch GetContractStore() *evm.ContractStore GetAccountKeeper() balance.AccountKeeper GetFeePool() *fees.Store GetNodeContext() *node.Context GetConfig() *config.Server // service registry RegisterService(name string, srv Web3Service) ServiceList() map[string]Web3Service }
Web3Context interface to define required elements for the API Context