pub trait Client: Debug + Sync {
    fn transaction_already_included(&self, hash: &H256) -> bool;
fn verify_transaction_basic(
        &self,
        t: &UnverifiedTransaction
    ) -> Result<(), Error>;
fn verify_transaction(
        &self,
        tx: UnverifiedTransaction
    ) -> Result<SignedTransaction, Error>;
fn required_gas(&self, tx: &Transaction) -> U256;
fn account_details(&self, address: &Address) -> AccountDetails;
fn transaction_type(&self, tx: &SignedTransaction) -> TransactionType;
fn decode_transaction(
        &self,
        transaction: &[u8]
    ) -> Result<UnverifiedTransaction, Error>; }
Expand description

Verification client.

Required methods

Is transaction with given hash already in the blockchain?

Perform basic/cheap transaction verification.

This should include all cheap checks that can be done before actually checking the signature, like chain-replay protection.

This method is currently used only for verifying local transactions.

Structurarily verify given transaction.

Estimate minimal gas requirurement for given transaction.

Fetch account details for given sender.

Classify transaction (check if transaction is filtered by some contracts).

Performs pre-validation of RLP decoded transaction

Implementors