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.
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.
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.
Safely calculates the minimum required gas price for a replacement transaction.
Uses saturating arithmetic to prevent overflow and maintains precision.
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