> For the complete documentation index, see [llms.txt](https://docs.bifrostnetwork.com/bifrost-network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bifrostnetwork.com/bifrost-network/developer-documentations/client-api/json-rpc-api/eth.md).

# eth

###

### **accounts(): `Vec<H160>`**

* **interface**: `api.rpc.eth.accounts`
* **jsonrpc**: `eth_accounts`
* **summary**: Returns a list of addresses owned by client.

### **blockNumber(): `U256`**

* **interface**: `api.rpc.eth.blockNumber`
* **jsonrpc**: `eth_blockNumber`
* **summary**: Returns the current "latest" block number.

### **call(transaction: `transactionObject`, block?: `BlockNumber`): `HexString`**

* **interface**: `api.rpc.eth.call`
* **jsonrpc**: `eth_call`
* **summary**: Executes a new message call immediately without creating a transaction on the block chain.

**chainId(): `HexString`**

* **interface**: `api.rpc.eth.chainId`
* **jsonrpc**: `eth_chainId`
* **summary**: Returns the currently configured chain id.

### **coinbase(): `H160`**

* **interface**: `api.rpc.eth.coinbase`
* **jsonrpc**: `eth_coinbase`
* **summary**: Returns block author.

### **estimateGas(transaction: `transactionObject`, block?: `BlockNumber`): `HexString`**

* **interface**: `api.rpc.eth.estimateGas`
* **jsonrpc**: `eth_estimateGas`
* **summary**: Estimates gas needed for execution of given transaction.

### **feeHistory(blockCount: `U256`, newest\_block: `BlockNumber`, reward\_percentiles?: `Vec<f64>`): `FeeHistory`**

* **interface**: `api.rpc.eth.feeHistory`
* **jsonrpc**: `eth_feeHistory`
* **summary**: Introduced in EIP-1159 for getting information on the appropriate priority fee to use.

### **gasPrice(): `HexString`**

* **interface**: `api.rpc.eth.gasPrice`
* **jsonrpc**: `eth_gasPrice`
* **summary**: Returns the current gas price in wei.

### **getBalance(address: `H160`, block?: `BlockNumber`): `HexString`**

* **interface**: `api.rpc.eth.getBalance`
* **jsonrpc**: `eth_getBalance`
* **summary**: Returns the balance of the account of given address.

### **getBlockByHash(hash: `H256`, full?: `bool`): `BlockObject`**

* **interface**: `api.rpc.eth.getBlockByHash`
* **jsonrpc**: `eth_getBlockByHash`
* **summary**: Returns information about a block by hash.

### **getBlockByNumber(BlockNumber: `BlockNumber`, full?: `bool`): `BlockObject`**

* **interface**: `api.rpc.eth.getBlockByNumber`
* **jsonrpc**: `eth_getBlockByNumber`
* **summary**: Returns information about a block by hash.

### **getBlockTransactionCountByHash(hash: `H256`): `U256`**

* **interface**: `api.rpc.eth.getBlockTransactionCountByHash`
* **jsonrpc**: `eth_getBlockTransactionCountByHash`
* **summary**: Returns the number of transactions in the block with the given block hash.

### **getBlockTransactionCountByNumber(BlockNumber: `BlockNumber`): `U256`**

* **interface**: `api.rpc.eth.getBlockTransactionCountByNumber`
* **jsonrpc**: `eth_getBlockTransactionCountByNumber`
* **summary**: Returns the number of transactions in the block with the given block number.

### **getCode(address: `H160`, number?: `BlockNumber`): `Bytes`**

* **interface**: `api.rpc.eth.getCode`
* **jsonrpc**: `eth_getCode`
* **summary**: Returns the compiled smart contract code, if any, at a given address.

### **getFilterChanges(index: `Index`): `FilterChanges`**

* **interface**: `api.rpc.eth.getFilterChanges`
* **jsonrpc**: `eth_getFilterChanges`
* **summary**: Polling method for a filter, which returns an array of logs that occurred since the last poll. A filter must be created by calling either `eth_newFilter` or `eth_newBlockFilter`

### **getFilterLogs(index: `Index`): `Vec<Log>`**

* **interface**: `api.rpc.eth.getFilterLogs`
* **jsonrpc**: `eth_getFilterLogs`
* **summary**: Returns an array of all logs matching filter with given id.

### **getLogs(filter: `Filter`): `Vec<Log>`**

* **interface**: `api.rpc.eth.getLogs`
* **jsonrpc**: `eth_getLogs`
* **summary**: Returns an array of all logs matching a given filter object.

### **getStorageAt(address: `H160`, index: `U256`, number?: `BlockNumber`): `H256`**

* **interface**: `api.rpc.eth.getStorageAt`
* **jsonrpc**: `eth_getStorageAt`
* **summary**: Returns the value from a storage position at a given address.

### **getTransactionByBlockHashAndIndex(hash: `H256`, index: `Index`): `Transaction`**

* **interface**: `api.rpc.eth.getTransactionByBlockHash`
* **jsonrpc**: `eth_getTransactionByBlockHashAndIndex`
* **summary**: Returns information about a transaction by block hash and transaction index position.

### **getTransactionByBlockNumberAndIndex(number: `BlockNumber`, index: `Index`): `Transaction`**

* **interface**: `api.rpc.eth.getTransactionByBlockNumberAndIndex`
* **jsonrpc**: `eth_getTransactionByBlockNumberAndIndex`
* **summary**: Returns information about a transaction by block number and transaction index position.

### **getTransactionByHash(hash: `H256`): `Transaction`**

* **interface**: `api.rpc.eth.getTransactionByHash`
* **jsonrpc**: `eth_getTransactionByHash`
* **summary**: Returns information about a transaction for a given hash.

### **getTransactionCount(address: `H160`, number?: `BlockNumber`): `U256`**

* **interface**: `api.rpc.eth.getTransactionCount`
* **jsonrpc**: `eth_getTransactionCount`
* **summary**: Returns the number of transactions sent from an address.

### **getTransactionReceipt(hash: `H256`): `Receipt`**

* **interface**: `api.rpc.eth.getTransactionReceipt`
* **jsonrpc**: `eth_getTransactionReceipt`
* **summary**: Returns the receipt of a transaction by transaction hash.

### **maxPriorityFeePerGas(): `U256`**

* **interface**: `api.rpc.eth.maxPriorityFeePerGas`
* **jsonrpc**: `eth_maxPriorityFeePerGas`
* **summary**: Introduced in EIP-1159, a Geth-specific and simplified priority fee oracle.

### **newBlockFilter(): `U256`**

* **interface**: `api.rpc.eth.newBlockFilter`
* **jsonrpc**: `eth_newBlockFilter`
* **summary**: Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call `eth_getFilterChanges`.

### **newFilter(filter: `Filter`): `U256`**

* **interface**: `api.rpc.eth.newFilter`
* **jsonrpc**: `eth_newFilter`
* **summary**: Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call `eth_getFilterChanges`

### **protocolVersion(): `u64`**

* **interface**: `api.rpc.eth.protocolVersion`
* **jsonrpc**: `eth_protocolVersion`
* **summary**: Returns the current Ethereum protocol version.

### **sendRawTransaction(bytes: `Bytes`): `H256`**

* **interface**: `api.rpc.eth.sendRawTransaction`
* **jsonrpc**: `eth_sendRawTransaction`
* **summary**: Submits a pre-signed transaction for broadcast to the network.

### **sendTransaction(request: `TransactionRequest`): `H256`**

* **interface**: `api.rpc.eth.sendTransaction`
* **jsonrpc**: `eth_sendTransaction`
* **summary**: Sends transaction; will block waiting for the signer to return the transaction hash.

### **syncing(): `SyncStatus`**

* **interface**: `api.rpc.eth.syncing`
* **jsonrpc**: `eth_syncing`
* **summary**: Returns an object with data about the sync status or false.

### **uninstallFilter(index: `Index`): `bool`**

* **interface**: `api.rpc.eth.uninstallFilter`
* **jsonrpc**: `eth_uninstallFilter`
* **summary**: Uninstalls a filter with given ID. Should always be called when watching is no longer needed. Additionally filters time out when not requested with `eth_getFilterChanges` for a period of time.
