Expand description
§Domain Module
Core domain logic for the relayer service, implementing:
- Transaction processing
- Relayer management
- Network-specific implementations
Modules§
- 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. - Gas price calculation module for Ethereum transactions.
- 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.
Structs§
- Primary struct for calculating gas prices with an injected
EvmGasPriceServiceTrait
. - A factory for creating relayer transactions.
- Implementation of the Solana token program functionality.
- Represents a Solana token account with its key properties.
Enums§
- An enum representing a transaction for different network types.
- Error types that can occur during token operations.
- Represents different types of token instructions.
Traits§
- The
Relayer
trait defines the core functionality required for a relayer in the system. Implementors of this trait are responsible for handling transaction requests, managing balances, and interacting with the network. - A trait for creating network transactions.
- Solana Relayer Trait Subset of methods for Solana relayer
- A trait that defines the operations for handling transactions across different networks.
Functions§
- Gets the age of a transaction since it was sent.
- Retrieves a network relayer by its ID, constructing it using the relayer and signer models.
- Constructs a network relayer using a given relayer model.
- Retrieves a relayer by its ID from the repository.
- Creates a relayer network transaction instance based on the relayer ID.
- Creates a relayer network transaction using a relayer model.
- Retrieves a transaction by its ID.
- Helper function to check if a transaction has enough confirmations.
- Checks if a transaction is already a NOOP transaction
- Checks if a transaction is still valid based on its valid_until timestamp.
- 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
- Returns an error indicating that the endpoint is not supported for Solana relayers.
- Returns an error indicating that Solana relayers are not supported.
- Checks if a transaction has too many attempts
- Checks if a transaction has too many NOOP attempts