Trait TransactionCompat

pub trait TransactionCompat<T = TransactionSigned>:
    Send
    + Sync
    + Unpin
    + Clone
    + Debug {
    type Transaction: Serialize + for<'de> Deserialize<'de> + Send + Sync + Unpin + Clone + Debug + ShieldableTransaction;
    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§

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

RPC transaction response type.

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

RPC transaction error type.

Required Methods§

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.

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.

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