Expand description
This module defines the core transaction handling logic for different blockchain networks, including Ethereum (EVM), Solana, and Stellar. It provides a unified interface for preparing, submitting, handling, canceling, replacing, signing, and validating transactions across these networks. The module also includes a factory for creating network-specific transaction handlers based on relayer and repository information.
The main components of this module are:
Transactiontrait: Defines the operations for handling transactions.NetworkTransactionenum: Represents a transaction for different network types.RelayerTransactionFactory: A factory for creating network transactions.
The module leverages async traits to handle asynchronous operations and uses the eyre crate
for error handling.
Re-exports§
pub use common::is_final_state;pub use evm::ensure_status;pub use evm::ensure_status_one_of;pub use evm::DefaultEvmTransaction;pub use evm::EvmRelayerTransaction;pub use solana::DefaultSolanaTransaction;pub use solana::SolanaRelayerTransaction;pub use stellar::DefaultStellarTransaction;pub use stellar::StellarRelayerTransaction;pub use common::*;
Modules§
Structs§
- Relayer
Transaction Factory - A factory for creating relayer transactions.
Enums§
- Network
Transaction - An enum representing a transaction for different network types.
Traits§
- Relayer
Transaction Factory Trait - A trait for creating network transactions.
- Transaction
- A trait that defines the operations for handling transactions across different networks.
Functions§
- get_
age_ since_ created - Gets the age of a transaction since it was created.
- get_
relayer_ transaction - Creates a relayer network transaction instance based on the relayer ID.
- get_
relayer_ transaction_ by_ model - Creates a relayer network transaction using a relayer model.
- get_
transaction_ by_ id - Retrieves a transaction by its ID.
- solana_
not_ supported_ transaction - Returns an error indicating that Solana relayers are not supported.