pub struct EthereumParser;Expand description
Ethereum transaction parser.
This struct implements the Chain trait for parsing Ethereum transactions
into the unified ParsedTx format.
§Supported Transaction Types
- Legacy transactions (type 0 or no type prefix)
- EIP-2930 transactions (type 1)
- EIP-1559 transactions (type 2)
§Example
use txgate_chain::{Chain, EthereumParser};
let parser = EthereumParser::new();
// Check chain ID and curve
assert_eq!(parser.id(), "ethereum");
assert_eq!(parser.curve(), txgate_crypto::CurveType::Secp256k1);
// Check supported versions
assert!(parser.supports_version(0));
assert!(parser.supports_version(1));
assert!(parser.supports_version(2));
assert!(!parser.supports_version(3)); // EIP-4844 not yet supportedImplementations§
Trait Implementations§
Source§impl Chain for EthereumParser
impl Chain for EthereumParser
Source§fn parse(&self, raw: &[u8]) -> Result<ParsedTx, ParseError>
fn parse(&self, raw: &[u8]) -> Result<ParsedTx, ParseError>
Parse raw transaction bytes into a ParsedTx.
This method detects the transaction type and delegates to the appropriate parser:
- Legacy transactions (no type prefix or type 0)
- EIP-2930 transactions (type 1)
- EIP-1559 transactions (type 2)
§Arguments
raw- The raw transaction bytes
§Returns
Ok(ParsedTx)- Successfully parsed transactionErr(ParseError)- Parsing failed
§Errors
Returns a ParseError if:
- The transaction type is not supported
- The RLP encoding is invalid
- Required fields are missing or malformed
Source§impl Clone for EthereumParser
impl Clone for EthereumParser
Source§fn clone(&self) -> EthereumParser
fn clone(&self) -> EthereumParser
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EthereumParser
impl Debug for EthereumParser
Source§impl Default for EthereumParser
impl Default for EthereumParser
Source§fn default() -> EthereumParser
fn default() -> EthereumParser
Returns the “default value” for a type. Read more
impl Copy for EthereumParser
Auto Trait Implementations§
impl Freeze for EthereumParser
impl RefUnwindSafe for EthereumParser
impl Send for EthereumParser
impl Sync for EthereumParser
impl Unpin for EthereumParser
impl UnwindSafe for EthereumParser
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more