Trait SignedTransaction
pub trait SignedTransaction:
Send
+ Sync
+ Unpin
+ Clone
+ Debug
+ PartialEq
+ Eq
+ Hash
+ Encodable
+ Decodable
+ Encodable2718
+ Decodable2718
+ Transaction
+ MaybeSerde
+ InMemorySize
+ SignerRecoverable {
// Required method
fn tx_hash(&self) -> &FixedBytes<32>;
// Provided methods
fn is_broadcastable_in_full(&self) -> bool { ... }
fn try_recover(&self) -> Result<Address, RecoveryError> { ... }
fn try_recover_unchecked(&self) -> Result<Address, RecoveryError> { ... }
fn recalculate_hash(&self) -> FixedBytes<32> { ... }
fn try_clone_into_recovered(&self) -> Result<Recovered<Self>, RecoveryError> { ... }
fn try_clone_into_recovered_unchecked(
&self,
) -> Result<Recovered<Self>, RecoveryError> { ... }
fn try_into_recovered(self) -> Result<Recovered<Self>, Self> { ... }
fn into_recovered_unchecked(self) -> Result<Recovered<Self>, RecoveryError> { ... }
fn with_signer(self, signer: Address) -> Recovered<Self> { ... }
fn with_signer_ref(&self, signer: Address) -> Recovered<&Self> { ... }
}
Expand description
A signed transaction.
§Recovery Methods
This trait provides two types of recovery methods:
- Standard methods (e.g.,
try_recover
) - enforce EIP-2 low-s signature requirement - Unchecked methods (e.g.,
try_recover_unchecked
) - skip EIP-2 validation for pre-EIP-2 transactions
Use unchecked methods only when dealing with historical pre-EIP-2 transactions.
Required Methods§
fn tx_hash(&self) -> &FixedBytes<32>
fn tx_hash(&self) -> &FixedBytes<32>
Returns reference to transaction hash.
Provided Methods§
fn is_broadcastable_in_full(&self) -> bool
fn is_broadcastable_in_full(&self) -> bool
Returns whether this transaction type can be broadcasted as full transaction over the network.
Some transactions are not broadcastable as objects and only allowed to be broadcasted as hashes, e.g. because they missing context (e.g. blob sidecar).
fn try_recover(&self) -> Result<Address, RecoveryError>
fn try_recover(&self) -> Result<Address, RecoveryError>
Recover signer from signature and hash.
Returns an error if the transaction’s signature is invalid.
fn try_recover_unchecked(&self) -> Result<Address, RecoveryError>
fn try_recover_unchecked(&self) -> Result<Address, RecoveryError>
Recover signer from signature and hash without ensuring that the signature has a low s
value.
Returns an error if the transaction’s signature is invalid.
fn recalculate_hash(&self) -> FixedBytes<32>
fn recalculate_hash(&self) -> FixedBytes<32>
Calculate transaction hash, eip2728 transaction does not contain rlp header and start with tx type.
fn try_clone_into_recovered(&self) -> Result<Recovered<Self>, RecoveryError>
fn try_clone_into_recovered(&self) -> Result<Recovered<Self>, RecoveryError>
Tries to recover signer and return Recovered
by cloning the type.
fn try_clone_into_recovered_unchecked(
&self,
) -> Result<Recovered<Self>, RecoveryError>
fn try_clone_into_recovered_unchecked( &self, ) -> Result<Recovered<Self>, RecoveryError>
Tries to recover signer and return Recovered
by cloning the type.
fn try_into_recovered(self) -> Result<Recovered<Self>, Self>
fn try_into_recovered(self) -> Result<Recovered<Self>, Self>
Tries to recover signer and return Recovered
.
Returns Err(Self)
if the transaction’s signature is invalid, see also
SignerRecoverable::recover_signer
.
fn into_recovered_unchecked(self) -> Result<Recovered<Self>, RecoveryError>
👎Deprecated: Use try_into_recovered_unchecked instead
fn into_recovered_unchecked(self) -> Result<Recovered<Self>, RecoveryError>
Consumes the type, recover signer and return Recovered
without
ensuring that the signature has a low s
value (EIP-2).
Returns RecoveryError
if the transaction’s signature is invalid.
fn with_signer(self, signer: Address) -> Recovered<Self>
fn with_signer(self, signer: Address) -> Recovered<Self>
Returns the Recovered
transaction with the given sender.
Note: assumes the given signer is the signer of this transaction.
fn with_signer_ref(&self, signer: Address) -> Recovered<&Self>
fn with_signer_ref(&self, signer: Address) -> Recovered<&Self>
Returns the Recovered
transaction with the given signer, using a reference to self.
Note: assumes the given signer is the signer of this transaction.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.