TARAXA
taraxa::net::rpc::eth::EthImpl Class Reference
Collaboration diagram for taraxa::net::rpc::eth::EthImpl:

Public Member Functions

 EthImpl (EthParams &&prerequisites)
 
virtual RPCModules implementedModules () const override
 
string eth_protocolVersion () override
 
string eth_coinbase () override
 
string eth_gasPrice () override
 
Json::Value eth_accounts () override
 
string eth_blockNumber () override
 
string eth_getBalance (const string &_address, const Json::Value &_json) override
 
string eth_getStorageAt (const string &_address, const string &_position, const Json::Value &_json) override
 
string eth_getStorageRoot (const string &_address, const string &_blockNumber) override
 
string eth_getCode (const string &_address, const Json::Value &_json) override
 
string eth_call (const Json::Value &_json, const Json::Value &_jsonBlock) override
 
string eth_estimateGas (const Json::Value &_json, const string &blockNumber) override
 
string eth_getTransactionCount (const string &_address, const Json::Value &_json) override
 
Json::Value eth_getBlockTransactionCountByHash (const string &_blockHash) override
 
Json::Value eth_getBlockTransactionCountByNumber (const string &_blockNumber) override
 
Json::Value eth_getUncleCountByBlockHash (const string &) override
 
Json::Value eth_getUncleCountByBlockNumber (const string &) override
 
string eth_sendRawTransaction (const string &_rlp) override
 
Json::Value eth_getBlockByHash (const string &_blockHash, bool _includeTransactions) override
 
Json::Value eth_getBlockByNumber (const string &_blockNumber, bool _includeTransactions) override
 
Json::Value eth_getTransactionByHash (const string &_transactionHash) override
 
Json::Value eth_getTransactionByBlockHashAndIndex (const string &_blockHash, const string &_transactionIndex) override
 
Json::Value eth_getTransactionByBlockNumberAndIndex (const string &_blockNumber, const string &_transactionIndex) override
 
Json::Value eth_getTransactionReceipt (const string &_transactionHash) override
 
Json::Value eth_getUncleByBlockHashAndIndex (const string &, const string &) override
 
Json::Value eth_getUncleByBlockNumberAndIndex (const string &, const string &) override
 
string eth_newFilter (const Json::Value &_json) override
 
string eth_newBlockFilter () override
 
string eth_newPendingTransactionFilter () override
 
bool eth_uninstallFilter (const string &_filterId) override
 
Json::Value eth_getFilterChanges (const string &_filterId) override
 
Json::Value eth_getFilterLogs (const string &_filterId) override
 
Json::Value eth_getLogs (const Json::Value &_json) override
 
Json::Value eth_syncing () override
 
Json::Value eth_chainId () override
 
void note_block_executed (const BlockHeader &blk_header, const SharedTransactions &trxs, const TransactionReceipts &receipts) override
 
void note_pending_transaction (const h256 &trx_hash) override
 
Json::Value get_block_by_number (EthBlockNumber blk_n, bool include_transactions)
 
optional< LocalisedTransactionget_transaction (const h256 &h) const
 
optional< LocalisedTransactionget_transaction (uint32_t trx_pos, EthBlockNumber blk_n) const
 
optional< LocalisedTransactionget_transaction (const h256 &blk_h, uint64_t _i) const
 
optional< LocalisedTransactionReceiptget_transaction_receipt (const h256 &trx_h) const
 
uint64_t transactionCount (const h256 &block_hash) const
 
trx_nonce_t transaction_count (EthBlockNumber n, const Address &addr)
 
state_api::ExecutionResult call (EthBlockNumber blk_n, const TransactionSkeleton &trx)
 
void prepare_transaction_for_call (TransactionSkeleton &t, EthBlockNumber blk_n)
 
 DEV_SIMPLE_EXCEPTION (InvalidAddress)
 
EthBlockNumber parse_blk_num (const string &blk_num_str)
 
EthBlockNumber get_block_number_from_json (const Json::Value &json)
 
LogFilter parse_log_filter (const Json::Value &json)
 
- Public Member Functions inherited from taraxa::net::rpc::eth::Eth
 Eth ()=default
 
virtual ~Eth ()=default
 
 Eth (const Eth &)=default
 
 Eth (Eth &&)=default
 
Ethoperator= (const Eth &)=default
 
Ethoperator= (Eth &&rhs)
 
- Public Member Functions inherited from taraxa::net::EthFace
 EthFace ()
 
virtual void eth_protocolVersionI (const Json::Value &request, Json::Value &response)
 
virtual void eth_coinbaseI (const Json::Value &request, Json::Value &response)
 
virtual void eth_gasPriceI (const Json::Value &request, Json::Value &response)
 
virtual void eth_accountsI (const Json::Value &request, Json::Value &response)
 
virtual void eth_blockNumberI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getBalanceI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getStorageAtI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getStorageRootI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getTransactionCountI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getBlockTransactionCountByHashI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getBlockTransactionCountByNumberI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getUncleCountByBlockHashI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getUncleCountByBlockNumberI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getCodeI (const Json::Value &request, Json::Value &response)
 
virtual void eth_callI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getBlockByHashI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getBlockByNumberI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getTransactionByHashI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getTransactionByBlockHashAndIndexI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getTransactionByBlockNumberAndIndexI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getTransactionReceiptI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getUncleByBlockHashAndIndexI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getUncleByBlockNumberAndIndexI (const Json::Value &request, Json::Value &response)
 
virtual void eth_newFilterI (const Json::Value &request, Json::Value &response)
 
virtual void eth_newBlockFilterI (const Json::Value &request, Json::Value &response)
 
virtual void eth_newPendingTransactionFilterI (const Json::Value &request, Json::Value &response)
 
virtual void eth_uninstallFilterI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getFilterChangesI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getFilterLogsI (const Json::Value &request, Json::Value &response)
 
virtual void eth_getLogsI (const Json::Value &request, Json::Value &response)
 
virtual void eth_sendRawTransactionI (const Json::Value &request, Json::Value &response)
 
virtual void eth_syncingI (const Json::Value &request, Json::Value &response)
 
virtual void eth_estimateGasI (const Json::Value &request, Json::Value &response)
 
virtual void eth_chainIdI (const Json::Value &request, Json::Value &response)
 
virtual std::string eth_getBalance (const std::string &param1, const Json::Value &param2)=0
 
virtual std::string eth_getStorageAt (const std::string &param1, const std::string &param2, const Json::Value &param3)=0
 
virtual std::string eth_getStorageRoot (const std::string &param1, const std::string &param2)=0
 
virtual std::string eth_getTransactionCount (const std::string &param1, const Json::Value &param2)=0
 
virtual Json::Value eth_getBlockTransactionCountByHash (const std::string &param1)=0
 
virtual Json::Value eth_getBlockTransactionCountByNumber (const std::string &param1)=0
 
virtual Json::Value eth_getUncleCountByBlockHash (const std::string &param1)=0
 
virtual Json::Value eth_getUncleCountByBlockNumber (const std::string &param1)=0
 
virtual std::string eth_getCode (const std::string &param1, const Json::Value &param2)=0
 
virtual Json::Value eth_getBlockByHash (const std::string &param1, bool param2)=0
 
virtual Json::Value eth_getBlockByNumber (const std::string &param1, bool param2)=0
 
virtual Json::Value eth_getTransactionByHash (const std::string &param1)=0
 
virtual Json::Value eth_getTransactionByBlockHashAndIndex (const std::string &param1, const std::string &param2)=0
 
virtual Json::Value eth_getTransactionByBlockNumberAndIndex (const std::string &param1, const std::string &param2)=0
 
virtual Json::Value eth_getTransactionReceipt (const std::string &param1)=0
 
virtual Json::Value eth_getUncleByBlockHashAndIndex (const std::string &param1, const std::string &param2)=0
 
virtual Json::Value eth_getUncleByBlockNumberAndIndex (const std::string &param1, const std::string &param2)=0
 
virtual bool eth_uninstallFilter (const std::string &param1)=0
 
virtual Json::Value eth_getFilterChanges (const std::string &param1)=0
 
virtual Json::Value eth_getFilterLogs (const std::string &param1)=0
 
virtual std::string eth_sendRawTransaction (const std::string &param1)=0
 
virtual std::string eth_estimateGas (const Json::Value &param1, const std::string &param2)=0
 
- Public Member Functions inherited from ServerInterface< EthFace >
virtual ~ServerInterface ()
 
Methods const & methods () const
 
Notifications const & notifications () const
 

Static Public Member Functions

static Address toAddress (const string &s)
 
static TransactionSkeleton toTransactionSkeleton (const Json::Value &_json)
 
static optional< EthBlockNumberparse_blk_num_specific (const string &blk_num_str)
 

Private Attributes

Watches watches_
 
- Private Attributes inherited from taraxa::net::rpc::eth::EthParams
Address address
 
uint64_t chain_id = 0
 
uint64_t gas_limit = ((uint64_t)1 << 53) - 1
 
std::shared_ptr< final_chain::FinalChainfinal_chain
 
std::function< std::shared_ptr< Transaction >const h256 &)> get_trx
 
std::function< void(const std::shared_ptr< Transaction > &trx)> send_trx
 
std::function< u256()> gas_pricer = [] { return u256(0); }
 
std::function< std::optional< SyncStatus >)> syncing_probe = [] { return std::nullopt; }
 
WatchesConfig watches_cfg
 

Additional Inherited Members

- Public Types inherited from ServerInterface< EthFace >
using MethodPointer = AbstractMethodPointer< EthFace >
 
using NotificationPointer = AbstractNotificationPointer< EthFace >
 
using MethodBinding = std::tuple< jsonrpc::Procedure, AbstractMethodPointer< EthFace > >
 
using NotificationBinding = std::tuple< jsonrpc::Procedure, AbstractNotificationPointer< EthFace > >
 
using Methods = std::vector< MethodBinding >
 
using Notifications = std::vector< NotificationBinding >
 
using RPCModules = std::vector< RPCModule >
 
- Protected Member Functions inherited from ServerInterface< EthFace >
void bindAndAddMethod (jsonrpc::Procedure const &_proc, MethodPointer _pointer)
 
void bindAndAddNotification (jsonrpc::Procedure const &_proc, NotificationPointer _pointer)
 

Constructor & Destructor Documentation

◆ EthImpl()

taraxa::net::rpc::eth::EthImpl::EthImpl ( EthParams &&  prerequisites)
inline

Member Function Documentation

◆ call()

state_api::ExecutionResult taraxa::net::rpc::eth::EthImpl::call ( EthBlockNumber  blk_n,
const TransactionSkeleton trx 
)
inline

◆ DEV_SIMPLE_EXCEPTION()

taraxa::net::rpc::eth::EthImpl::DEV_SIMPLE_EXCEPTION ( InvalidAddress  )

◆ eth_accounts()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_accounts ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_blockNumber()

string taraxa::net::rpc::eth::EthImpl::eth_blockNumber ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_call()

string taraxa::net::rpc::eth::EthImpl::eth_call ( const Json::Value &  _json,
const Json::Value &  _jsonBlock 
)
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_chainId()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_chainId ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_coinbase()

string taraxa::net::rpc::eth::EthImpl::eth_coinbase ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_estimateGas()

string taraxa::net::rpc::eth::EthImpl::eth_estimateGas ( const Json::Value &  _json,
const string &  blockNumber 
)
inlineoverride

◆ eth_gasPrice()

string taraxa::net::rpc::eth::EthImpl::eth_gasPrice ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_getBalance()

string taraxa::net::rpc::eth::EthImpl::eth_getBalance ( const string &  _address,
const Json::Value &  _json 
)
inlineoverride

◆ eth_getBlockByHash()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getBlockByHash ( const string &  _blockHash,
bool  _includeTransactions 
)
inlineoverride

◆ eth_getBlockByNumber()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getBlockByNumber ( const string &  _blockNumber,
bool  _includeTransactions 
)
inlineoverride

◆ eth_getBlockTransactionCountByHash()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getBlockTransactionCountByHash ( const string &  _blockHash)
inlineoverride

◆ eth_getBlockTransactionCountByNumber()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getBlockTransactionCountByNumber ( const string &  _blockNumber)
inlineoverride

◆ eth_getCode()

string taraxa::net::rpc::eth::EthImpl::eth_getCode ( const string &  _address,
const Json::Value &  _json 
)
inlineoverride

◆ eth_getFilterChanges()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getFilterChanges ( const string &  _filterId)
inlineoverride

◆ eth_getFilterLogs()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getFilterLogs ( const string &  _filterId)
inlineoverride

◆ eth_getLogs()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getLogs ( const Json::Value &  _json)
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_getStorageAt()

string taraxa::net::rpc::eth::EthImpl::eth_getStorageAt ( const string &  _address,
const string &  _position,
const Json::Value &  _json 
)
inlineoverride

◆ eth_getStorageRoot()

string taraxa::net::rpc::eth::EthImpl::eth_getStorageRoot ( const string &  _address,
const string &  _blockNumber 
)
inlineoverride

◆ eth_getTransactionByBlockHashAndIndex()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getTransactionByBlockHashAndIndex ( const string &  _blockHash,
const string &  _transactionIndex 
)
inlineoverride

◆ eth_getTransactionByBlockNumberAndIndex()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getTransactionByBlockNumberAndIndex ( const string &  _blockNumber,
const string &  _transactionIndex 
)
inlineoverride

◆ eth_getTransactionByHash()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getTransactionByHash ( const string &  _transactionHash)
inlineoverride

◆ eth_getTransactionCount()

string taraxa::net::rpc::eth::EthImpl::eth_getTransactionCount ( const string &  _address,
const Json::Value &  _json 
)
inlineoverride

◆ eth_getTransactionReceipt()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getTransactionReceipt ( const string &  _transactionHash)
inlineoverride

◆ eth_getUncleByBlockHashAndIndex()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getUncleByBlockHashAndIndex ( const string &  ,
const string &   
)
inlineoverride

◆ eth_getUncleByBlockNumberAndIndex()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getUncleByBlockNumberAndIndex ( const string &  ,
const string &   
)
inlineoverride

◆ eth_getUncleCountByBlockHash()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getUncleCountByBlockHash ( const string &  )
inlineoverride

◆ eth_getUncleCountByBlockNumber()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_getUncleCountByBlockNumber ( const string &  )
inlineoverride

◆ eth_newBlockFilter()

string taraxa::net::rpc::eth::EthImpl::eth_newBlockFilter ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_newFilter()

string taraxa::net::rpc::eth::EthImpl::eth_newFilter ( const Json::Value &  _json)
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_newPendingTransactionFilter()

string taraxa::net::rpc::eth::EthImpl::eth_newPendingTransactionFilter ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_protocolVersion()

string taraxa::net::rpc::eth::EthImpl::eth_protocolVersion ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_sendRawTransaction()

string taraxa::net::rpc::eth::EthImpl::eth_sendRawTransaction ( const string &  _rlp)
inlineoverride

◆ eth_syncing()

Json::Value taraxa::net::rpc::eth::EthImpl::eth_syncing ( )
inlineoverridevirtual

Implements taraxa::net::EthFace.

◆ eth_uninstallFilter()

bool taraxa::net::rpc::eth::EthImpl::eth_uninstallFilter ( const string &  _filterId)
inlineoverride

◆ get_block_by_number()

Json::Value taraxa::net::rpc::eth::EthImpl::get_block_by_number ( EthBlockNumber  blk_n,
bool  include_transactions 
)
inline

◆ get_block_number_from_json()

EthBlockNumber taraxa::net::rpc::eth::EthImpl::get_block_number_from_json ( const Json::Value &  json)
inline

◆ get_transaction() [1/3]

optional<LocalisedTransaction> taraxa::net::rpc::eth::EthImpl::get_transaction ( const h256 blk_h,
uint64_t  _i 
) const
inline

◆ get_transaction() [2/3]

optional<LocalisedTransaction> taraxa::net::rpc::eth::EthImpl::get_transaction ( const h256 h) const
inline

◆ get_transaction() [3/3]

optional<LocalisedTransaction> taraxa::net::rpc::eth::EthImpl::get_transaction ( uint32_t  trx_pos,
EthBlockNumber  blk_n 
) const
inline

◆ get_transaction_receipt()

optional<LocalisedTransactionReceipt> taraxa::net::rpc::eth::EthImpl::get_transaction_receipt ( const h256 trx_h) const
inline

◆ implementedModules()

virtual RPCModules taraxa::net::rpc::eth::EthImpl::implementedModules ( ) const
inlineoverridevirtual
Returns
which interfaces (eth, admin, db, ...) this class implements in which version.

Implements ServerInterface< EthFace >.

◆ note_block_executed()

void taraxa::net::rpc::eth::EthImpl::note_block_executed ( const BlockHeader blk_header,
const SharedTransactions trxs,
const TransactionReceipts receipts 
)
inlineoverridevirtual

◆ note_pending_transaction()

void taraxa::net::rpc::eth::EthImpl::note_pending_transaction ( const h256 trx_hash)
inlineoverridevirtual

◆ parse_blk_num()

EthBlockNumber taraxa::net::rpc::eth::EthImpl::parse_blk_num ( const string &  blk_num_str)
inline

◆ parse_blk_num_specific()

static optional<EthBlockNumber> taraxa::net::rpc::eth::EthImpl::parse_blk_num_specific ( const string &  blk_num_str)
inlinestatic

◆ parse_log_filter()

LogFilter taraxa::net::rpc::eth::EthImpl::parse_log_filter ( const Json::Value &  json)
inline

◆ prepare_transaction_for_call()

void taraxa::net::rpc::eth::EthImpl::prepare_transaction_for_call ( TransactionSkeleton t,
EthBlockNumber  blk_n 
)
inline

◆ toAddress()

static Address taraxa::net::rpc::eth::EthImpl::toAddress ( const string &  s)
inlinestatic

◆ toTransactionSkeleton()

static TransactionSkeleton taraxa::net::rpc::eth::EthImpl::toTransactionSkeleton ( const Json::Value &  _json)
inlinestatic

◆ transaction_count()

trx_nonce_t taraxa::net::rpc::eth::EthImpl::transaction_count ( EthBlockNumber  n,
const Address addr 
)
inline

◆ transactionCount()

uint64_t taraxa::net::rpc::eth::EthImpl::transactionCount ( const h256 block_hash) const
inline

Member Data Documentation

◆ watches_

Watches taraxa::net::rpc::eth::EthImpl::watches_
private

The documentation for this class was generated from the following file: