reth::rpc::api::servers::eth

Trait TransactionCompat

Source
pub trait TransactionCompat<T = TransactionSigned>:
    Send
    + Sync
    + Unpin
    + Clone
    + Debug {
    type Transaction: Serialize + for<'de> Deserialize<'de> + Send + Sync + Unpin + Clone + Debug;
    type Error: Error + Into<ErrorObject<'static>>;

    // Required methods
    fn fill(
        &self,
        tx: RecoveredTx<T>,
        tx_inf: TransactionInfo,
    ) -> Result<Self::Transaction, Self::Error>;
    fn build_simulate_v1_transaction(
        &self,
        request: TransactionRequest,
    ) -> Result<T, Self::Error>;
    fn otterscan_api_truncate_input(tx: &mut Self::Transaction);
}
Expand description

Builds RPC transaction w.r.t. network.

Required Associated Types§

Source

type Transaction: Serialize + for<'de> Deserialize<'de> + Send + Sync + Unpin + Clone + Debug

RPC transaction response type.

Source

type Error: Error + Into<ErrorObject<'static>>

RPC transaction error type.

Required Methods§

Source

fn fill( &self, tx: RecoveredTx<T>, tx_inf: TransactionInfo, ) -> Result<Self::Transaction, Self::Error>

Create a new rpc transaction result for a pending signed transaction, setting block environment related fields to None.

Source

fn build_simulate_v1_transaction( &self, request: TransactionRequest, ) -> Result<T, Self::Error>

Builds a fake transaction from a transaction request for inclusion into block built in eth_simulateV1.

Source

fn otterscan_api_truncate_input(tx: &mut Self::Transaction)

Truncates the input of a transaction to only the first 4 bytes.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl TransactionCompat for EthTxBuilder

Source§

type Transaction = <Ethereum as Network>::TransactionResponse

Source§

type Error = EthApiError