Module evm

Source

Re-exports§

pub use evm_transaction::*;
pub use price_calculator::*;
pub use replacement::*;

Modules§

evm_transaction
This module provides functionality related to Ethereum Virtual Machine (EVM) transactions. It includes the core transaction logic and utility functions for handling EVM transactions. This module defines the EvmRelayerTransaction struct and its associated functionality for handling Ethereum Virtual Machine (EVM) transactions. It includes methods for preparing, submitting, handling status, and managing notifications for transactions. The module leverages various services and repositories to perform these operations asynchronously.
price_calculator
Gas price calculation module for Ethereum transactions.
replacement
This module contains the replacement and resubmission functionality for EVM transactions. It includes methods for determining replacement pricing, validating price bumps, and handling transaction compatibility checks.
status
This module contains the status-related functionality for EVM transactions. It includes methods for checking transaction status, determining when to resubmit or replace transactions with NOOPs, and updating transaction status in the repository.

Functions§

ensure_status
Validates that a transaction is in the expected state.
ensure_status_one_of
Validates that a transaction is in one of the expected states.
get_age_since_status_change
Get age since status last changed Uses sent_at, otherwise falls back to created_at
has_enough_confirmations
Helper function to check if a transaction has enough confirmations.
is_noop
Checks if a transaction is already a NOOP transaction
is_too_early_to_checkDeprecated
Deprecated: Use is_too_early_to_resubmit instead. This alias exists for backward compatibility.
is_too_early_to_resubmit
Check if transaction is too young for resubmission and timeout checks.
is_transaction_valid
Checks if a transaction is still valid based on its valid_until timestamp.
make_noop
Updates an existing transaction to be a “noop” transaction (transaction to self with zero value and no data) This is commonly used for cancellation and replacement transactions For Arbitrum networks, uses eth_estimateGas to account for L1 + L2 costs
too_many_attempts
Checks if a transaction has too many attempts
too_many_noop_attempts
Checks if a transaction has too many NOOP attempts