Struct WithOtherFields

pub struct WithOtherFields<T> {
    pub inner: T,
    pub other: OtherFields,
}
Expand description

An extension to a struct that allows to capture additional fields when deserializing.

See OtherFields for more information.

Fields§

§inner: T

The inner struct.

§other: OtherFields

All fields not present in the inner struct.

Implementations§

§

impl<T> WithOtherFields<T>

pub fn new(inner: T) -> WithOtherFields<T>

Creates a new WithOtherFields instance.

pub fn into_inner(self) -> T

Consumes the type and returns the wrapped value.

pub const fn inner(&self) -> &T

Returns the wrapped value.

Trait Implementations§

§

impl<T> BlockHeader for WithOtherFields<T>
where T: BlockHeader,

§

fn parent_hash(&self) -> FixedBytes<32>

Retrieves the parent hash of the block
§

fn ommers_hash(&self) -> FixedBytes<32>

Retrieves the ommers hash of the block
§

fn beneficiary(&self) -> Address

Retrieves the beneficiary (miner) of the block
§

fn state_root(&self) -> FixedBytes<32>

Retrieves the state root hash of the block
§

fn transactions_root(&self) -> FixedBytes<32>

Retrieves the transactions root hash of the block
§

fn receipts_root(&self) -> FixedBytes<32>

Retrieves the receipts root hash of the block
§

fn withdrawals_root(&self) -> Option<FixedBytes<32>>

Retrieves the withdrawals root hash of the block, if available
§

fn logs_bloom(&self) -> Bloom

Retrieves the logs bloom filter of the block
§

fn difficulty(&self) -> Uint<256, 4>

Retrieves the difficulty of the block
§

fn number(&self) -> u64

Retrieves the block number
§

fn gas_limit(&self) -> u64

Retrieves the gas limit of the block
§

fn gas_used(&self) -> u64

Retrieves the gas used by the block
§

fn timestamp(&self) -> u64

Retrieves the timestamp of the block
§

fn mix_hash(&self) -> Option<FixedBytes<32>>

Retrieves the mix hash of the block, if available
§

fn nonce(&self) -> Option<FixedBytes<8>>

Retrieves the nonce of the block, if available
§

fn base_fee_per_gas(&self) -> Option<u64>

Retrieves the base fee per gas of the block, if available
§

fn blob_gas_used(&self) -> Option<u64>

Retrieves the blob gas used by the block, if available
§

fn excess_blob_gas(&self) -> Option<u64>

Retrieves the excess blob gas of the block, if available
§

fn parent_beacon_block_root(&self) -> Option<FixedBytes<32>>

Retrieves the parent beacon block root of the block, if available
§

fn requests_hash(&self) -> Option<FixedBytes<32>>

Retrieves the requests hash of the block, if available
§

fn extra_data(&self) -> &Bytes

Retrieves the block’s extra data field
§

fn is_empty(&self) -> bool

Checks if the header is considered empty - has no transactions, no ommers or withdrawals
§

fn blob_fee(&self, blob_params: BlobParams) -> Option<u128>

Returns the blob fee for this block according to the EIP-4844 spec. Read more
§

fn next_block_excess_blob_gas(&self, blob_params: BlobParams) -> Option<u64>

Calculate excess blob gas for the next block according to the EIP-4844 spec. Read more
§

fn maybe_next_block_excess_blob_gas( &self, blob_params: Option<BlobParams>, ) -> Option<u64>

Convenience function for Self::next_block_excess_blob_gas with an optional [BlobParams] argument. Read more
§

fn next_block_blob_fee(&self, blob_params: BlobParams) -> Option<u128>

Returns the blob fee for the next block according to the EIP-4844 spec. Read more
§

fn maybe_next_block_blob_fee( &self, blob_params: Option<BlobParams>, ) -> Option<u128>

Convenience function for Self::next_block_blob_fee with an optional [BlobParams] argument. Read more
§

fn next_block_base_fee(&self, base_fee_params: BaseFeeParams) -> Option<u64>

Calculate base fee for next block according to the EIP-1559 spec. Read more
§

fn parent_num_hash(&self) -> NumHash

Returns the parent block’s number and hash Read more
§

fn is_zero_difficulty(&self) -> bool

Checks if the block’s difficulty is set to zero, indicating a Proof-of-Stake header. Read more
§

fn exceeds_allowed_future_timestamp(&self, present_timestamp: u64) -> bool

Checks if the block’s timestamp is in the future based on the present timestamp. Read more
§

fn is_nonce_zero(&self) -> bool

Checks if the nonce exists, and if it exists, if it’s zero. Read more
§

impl<'arbitrary, T> Arbitrary<'arbitrary> for WithOtherFields<T>
where T: Arbitrary<'arbitrary>,

§

fn arbitrary( u: &mut Unstructured<'arbitrary>, ) -> Result<WithOtherFields<T>, Error>

Generate an arbitrary value of Self from the given unstructured data. Read more
§

fn arbitrary_take_rest( u: Unstructured<'arbitrary>, ) -> Result<WithOtherFields<T>, Error>

Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more
§

fn size_hint(depth: usize) -> (usize, Option<usize>)

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
§

fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
§

impl<T, U> AsRef<U> for WithOtherFields<T>
where T: AsRef<U>,

§

fn as_ref(&self) -> &U

Converts this type into a shared reference of the (usually inferred) input type.
§

impl AsRef<WithOtherFields<Block<AnyRpcTransaction, Header<AnyHeader>>>> for AnyRpcBlock

§

fn as_ref( &self, ) -> &WithOtherFields<Block<AnyRpcTransaction, Header<AnyHeader>>>

Converts this type into a shared reference of the (usually inferred) input type.
§

impl AsRef<WithOtherFields<Block<SeismicFoundryRpcTransaction, Header<AnyHeader>>>> for SeismicFoundryRpcBlock

§

fn as_ref( &self, ) -> &WithOtherFields<Block<SeismicFoundryRpcTransaction, Header<AnyHeader>>>

Converts this type into a shared reference of the (usually inferred) input type.
§

impl<T> BlockResponse for WithOtherFields<T>
where T: BlockResponse,

§

type Header = <T as BlockResponse>::Header

Header type
§

type Transaction = <T as BlockResponse>::Transaction

Transaction type
§

fn header(&self) -> &<WithOtherFields<T> as BlockResponse>::Header

Block header
§

fn transactions( &self, ) -> &BlockTransactions<<WithOtherFields<T> as BlockResponse>::Transaction>

Block transactions
§

fn transactions_mut( &mut self, ) -> &mut BlockTransactions<<WithOtherFields<T> as BlockResponse>::Transaction>

Mutable reference to block transactions
§

fn other_fields(&self) -> Option<&OtherFields>

Returns the other field from WithOtherFields type.
§

impl<T> Clone for WithOtherFields<T>
where T: Clone,

§

fn clone(&self) -> WithOtherFields<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

const fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<T> Debug for WithOtherFields<T>
where T: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<T> Default for WithOtherFields<T>
where T: Default,

§

fn default() -> WithOtherFields<T>

Returns the “default value” for a type. Read more
§

impl<T> Deref for WithOtherFields<T>

§

type Target = T

The resulting type after dereferencing.
§

fn deref(&self) -> &<WithOtherFields<T> as Deref>::Target

Dereferences the value.
§

impl<T> DerefMut for WithOtherFields<T>

§

fn deref_mut(&mut self) -> &mut <WithOtherFields<T> as Deref>::Target

Mutably dereferences the value.
§

impl<'de, T> Deserialize<'de> for WithOtherFields<T>
where T: Deserialize<'de> + Serialize,

§

fn deserialize<D>( deserializer: D, ) -> Result<WithOtherFields<T>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl From<AnyRpcBlock> for WithOtherFields<Block<AnyRpcTransaction, Header<AnyHeader>>>

§

fn from( value: AnyRpcBlock, ) -> WithOtherFields<Block<AnyRpcTransaction, Header<AnyHeader>>>

Converts to this type from the input type.
§

impl From<AnyRpcTransaction> for WithOtherFields<Transaction<AnyTxEnvelope>>

§

fn from(tx: AnyRpcTransaction) -> WithOtherFields<Transaction<AnyTxEnvelope>>

Converts to this type from the input type.
§

impl From<AnyTxEnvelope> for WithOtherFields<TransactionRequest>

§

fn from(value: AnyTxEnvelope) -> WithOtherFields<TransactionRequest>

Converts to this type from the input type.
§

impl From<AnyTypedTransaction> for WithOtherFields<TransactionRequest>

§

fn from(value: AnyTypedTransaction) -> WithOtherFields<TransactionRequest>

Converts to this type from the input type.
§

impl From<Block> for WithOtherFields<Block>

§

fn from(inner: Block) -> WithOtherFields<Block>

Converts to this type from the input type.
§

impl<Eip4844, T> From<EthereumTxEnvelope<Eip4844>> for WithOtherFields<T>
where T: From<EthereumTxEnvelope<Eip4844>>,

§

fn from(value: EthereumTxEnvelope<Eip4844>) -> WithOtherFields<T>

Converts to this type from the input type.
§

impl<Eip4844, T> From<EthereumTypedTransaction<Eip4844>> for WithOtherFields<T>
where T: From<EthereumTypedTransaction<Eip4844>>,

§

fn from(value: EthereumTypedTransaction<Eip4844>) -> WithOtherFields<T>

Converts to this type from the input type.
§

impl From<Header> for WithOtherFields<Header>

§

fn from(inner: Header) -> WithOtherFields<Header>

Converts to this type from the input type.
§

impl From<SeismicFoundryRpcBlock> for WithOtherFields<Block<SeismicFoundryRpcTransaction, Header<AnyHeader>>>

§

fn from( value: SeismicFoundryRpcBlock, ) -> WithOtherFields<Block<SeismicFoundryRpcTransaction, Header<AnyHeader>>>

Converts to this type from the input type.
§

impl From<SeismicFoundryTxEnvelope> for WithOtherFields<SeismicTransactionRequest>

§

fn from( value: SeismicFoundryTxEnvelope, ) -> WithOtherFields<SeismicTransactionRequest>

Converts to this type from the input type.
§

impl From<SeismicFoundryTypedTransaction> for WithOtherFields<SeismicTransactionRequest>

§

fn from( value: SeismicFoundryTypedTransaction, ) -> WithOtherFields<SeismicTransactionRequest>

Converts to this type from the input type.
§

impl From<SeismicTransactionRequest> for WithOtherFields<SeismicTransactionRequest>

§

fn from( value: SeismicTransactionRequest, ) -> WithOtherFields<SeismicTransactionRequest>

Converts to this type from the input type.
§

impl From<TransactionRequest> for WithOtherFields<TransactionRequest>

§

fn from(tx: TransactionRequest) -> WithOtherFields<TransactionRequest>

Converts to this type from the input type.
§

impl From<WithOtherFields<Block<AnyRpcTransaction, Header<AnyHeader>>>> for AnyRpcBlock

§

fn from( value: WithOtherFields<Block<AnyRpcTransaction, Header<AnyHeader>>>, ) -> AnyRpcBlock

Converts to this type from the input type.
§

impl From<WithOtherFields<Block<SeismicFoundryRpcTransaction, Header<AnyHeader>>>> for SeismicFoundryRpcBlock

§

fn from( value: WithOtherFields<Block<SeismicFoundryRpcTransaction, Header<AnyHeader>>>, ) -> SeismicFoundryRpcBlock

Converts to this type from the input type.
§

impl From<WithOtherFields<Transaction<AnyTxEnvelope>>> for AnyRpcTransaction

§

fn from(value: WithOtherFields<Transaction<AnyTxEnvelope>>) -> AnyRpcTransaction

Converts to this type from the input type.
§

impl From<WithOtherFields<Transaction<SeismicFoundryTxEnvelope>>> for SeismicFoundryRpcTransaction

§

fn from( value: WithOtherFields<Transaction<SeismicFoundryTxEnvelope>>, ) -> SeismicFoundryRpcTransaction

Converts to this type from the input type.
§

impl<T> HeaderResponse for WithOtherFields<T>
where T: HeaderResponse,

§

fn hash(&self) -> FixedBytes<32>

Block hash
§

impl<T> InputDecryptionElements for WithOtherFields<T>
where T: InputDecryptionElements,

§

fn get_decryption_elements( &self, ) -> Result<TxSeismicElements, InputDecryptionElementsError>

Returns the elements necessary to decrypt the ‘input’ field of the transaction. May return None if the Seismic tx type does not support decryption.
§

fn get_input(&self) -> Bytes

Returns the ‘input’ field of the transaction.
§

fn set_input(&mut self, data: Bytes) -> Result<(), InputDecryptionElementsError>

Sets the ‘input’ field of the transaction to the provided data.
§

fn plaintext_copy<C>( &self, client: &C, ) -> Result<Self, InputDecryptionElementsError>
where C: SyncEnclaveApiClient,

Creates a copy of the transaction with the input field set to the plaintext. Errors if the decryption fails, etc.
§

impl Into<SeismicCallRequest> for WithOtherFields<SeismicTransactionRequest>

§

fn into(self) -> SeismicCallRequest

Converts this type into the (usually inferred) input type.
§

impl Into<SeismicTransactionRequest> for WithOtherFields<SeismicTransactionRequest>

§

fn into(self) -> SeismicTransactionRequest

Converts this type into the (usually inferred) input type.
§

impl<T> PartialEq for WithOtherFields<T>
where T: PartialEq,

§

fn eq(&self, other: &WithOtherFields<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

const fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<T> ReceiptResponse for WithOtherFields<T>
where T: ReceiptResponse,

§

fn contract_address(&self) -> Option<Address>

Address of the created contract, or None if the transaction was not a deployment.
§

fn status(&self) -> bool

Status of the transaction. Read more
§

fn block_hash(&self) -> Option<FixedBytes<32>>

Hash of the block this transaction was included within.
§

fn block_number(&self) -> Option<u64>

Number of the block this transaction was included within.
§

fn transaction_hash(&self) -> FixedBytes<32>

Transaction Hash.
§

fn transaction_index(&self) -> Option<u64>

Index within the block.
§

fn gas_used(&self) -> u64

Gas used by this transaction alone.
§

fn effective_gas_price(&self) -> u128

Effective gas price.
§

fn blob_gas_used(&self) -> Option<u64>

Blob gas used by the eip-4844 transaction.
§

fn blob_gas_price(&self) -> Option<u128>

Blob gas price paid by the eip-4844 transaction.
§

fn from(&self) -> Address

Address of the sender.
§

fn to(&self) -> Option<Address>

Address of the receiver.
§

fn cumulative_gas_used(&self) -> u64

Returns the cumulative gas used at this receipt.
§

fn state_root(&self) -> Option<FixedBytes<32>>

The post-transaction state root (pre Byzantium) Read more
§

impl<T> Serialize for WithOtherFields<T>
where T: Serialize,

§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
§

impl TransactionBuilder<AnyNetwork> for WithOtherFields<TransactionRequest>

§

fn access_list(&self) -> Option<&AccessList>

Get the EIP-2930 access list for the transaction.

§

fn set_access_list(&mut self, access_list: AccessList)

Sets the EIP-2930 access list.

§

fn chain_id(&self) -> Option<u64>

Get the chain ID for the transaction.
§

fn set_chain_id(&mut self, chain_id: u64)

Set the chain ID for the transaction.
§

fn nonce(&self) -> Option<u64>

Get the nonce for the transaction.
§

fn set_nonce(&mut self, nonce: u64)

Set the nonce for the transaction.
§

fn input(&self) -> Option<&Bytes>

Get the input data for the transaction.
§

fn set_input<T>(&mut self, input: T)
where T: Into<Bytes>,

Set the input data for the transaction.
§

fn set_input_kind<T>(&mut self, input: T, kind: TransactionInputKind)
where T: Into<Bytes>,

Set the input data for the transaction, respecting the input kind
§

fn from(&self) -> Option<Address>

Get the sender for the transaction.
§

fn set_from(&mut self, from: Address)

Set the sender for the transaction.
§

fn kind(&self) -> Option<TxKind>

Get the kind of transaction.
§

fn clear_kind(&mut self)

Clear the kind of transaction.
§

fn set_kind(&mut self, kind: TxKind)

Set the kind of transaction.
§

fn value(&self) -> Option<Uint<256, 4>>

Get the value for the transaction.
§

fn set_value(&mut self, value: Uint<256, 4>)

Set the value for the transaction.
§

fn gas_price(&self) -> Option<u128>

Get the legacy gas price for the transaction.
§

fn set_gas_price(&mut self, gas_price: u128)

Set the legacy gas price for the transaction.
§

fn max_fee_per_gas(&self) -> Option<u128>

Get the max fee per gas for the transaction.
§

fn set_max_fee_per_gas(&mut self, max_fee_per_gas: u128)

Set the max fee per gas for the transaction.
§

fn max_priority_fee_per_gas(&self) -> Option<u128>

Get the max priority fee per gas for the transaction.
§

fn set_max_priority_fee_per_gas(&mut self, max_priority_fee_per_gas: u128)

Set the max priority fee per gas for the transaction.
§

fn gas_limit(&self) -> Option<u64>

Get the gas limit for the transaction.
§

fn set_gas_limit(&mut self, gas_limit: u64)

Set the gas limit for the transaction.
§

fn complete_type( &self, ty: <AnyNetwork as Network>::TxType, ) -> Result<(), Vec<&'static str>>

Check if all necessary keys are present to build the specified type, returning a list of missing keys.
§

fn can_submit(&self) -> bool

True if the builder contains all necessary information to be submitted to the eth_sendTransaction endpoint.
§

fn can_build(&self) -> bool

True if the builder contains all necessary information to be built into a valid transaction.
§

fn output_tx_type(&self) -> <AnyNetwork as Network>::TxType

Returns the transaction type that this builder will attempt to build. This does not imply that the builder is ready to build.
§

fn output_tx_type_checked(&self) -> Option<<AnyNetwork as Network>::TxType>

Returns the transaction type that this builder will build. None if the builder is not ready to build.
§

fn prep_for_submission(&mut self)

Trim any conflicting keys and populate any computed fields (like blob hashes). Read more
§

fn build_unsigned( self, ) -> Result<<AnyNetwork as Network>::UnsignedTx, UnbuiltTransactionError<AnyNetwork>>

Build an unsigned, but typed, transaction.
§

async fn build<W>( self, wallet: &W, ) -> Result<<AnyNetwork as Network>::TxEnvelope, TransactionBuilderError<AnyNetwork>>
where W: NetworkWallet<AnyNetwork>,

Build a signed transaction.
§

fn with_chain_id(self, chain_id: u64) -> Self

Builder-pattern method for setting the chain ID.
§

fn with_nonce(self, nonce: u64) -> Self

Builder-pattern method for setting the nonce.
§

fn with_input<T>(self, input: T) -> Self
where T: Into<Bytes>,

Builder-pattern method for setting the input data.
§

fn with_input_kind<T>(self, input: T, kind: TransactionInputKind) -> Self
where T: Into<Bytes>,

Builder-pattern method for setting the input data, respecting the input kind
§

fn with_from(self, from: Address) -> Self

Builder-pattern method for setting the sender.
§

fn with_kind(self, kind: TxKind) -> Self

Builder-pattern method for setting the kind of transaction.
§

fn to(&self) -> Option<Address>

Get the recipient for the transaction.
§

fn set_to(&mut self, to: Address)

Set the recipient for the transaction.
§

fn with_to(self, to: Address) -> Self

Builder-pattern method for setting the recipient.
§

fn set_create(&mut self)

Set the to field to a create call.
§

fn into_create(self) -> Self

Set the to field to a create call.
§

fn set_deploy_code<T>(&mut self, code: T)
where T: Into<Bytes>,

Deploy the code by making a create call with data. This will set the to field to TxKind::Create.
§

fn with_deploy_code<T>(self, code: T) -> Self
where T: Into<Bytes>,

Deploy the code by making a create call with data. This will set the to field to TxKind::Create.
§

fn set_call<T>(&mut self, t: &T)
where T: SolCall,

Set the data field to a contract call. This will clear the to field if it is set to TxKind::Create.
§

fn with_call<T>(self, t: &T) -> Self
where T: SolCall,

Make a contract call with data.
§

fn calculate_create_address(&self) -> Option<Address>

Calculates the address that will be created by the transaction, if any. Read more
§

fn with_value(self, value: Uint<256, 4>) -> Self

Builder-pattern method for setting the value.
§

fn with_gas_price(self, gas_price: u128) -> Self

Builder-pattern method for setting the legacy gas price.
§

fn with_max_fee_per_gas(self, max_fee_per_gas: u128) -> Self

Builder-pattern method for setting max fee per gas .
§

fn with_max_priority_fee_per_gas(self, max_priority_fee_per_gas: u128) -> Self

Builder-pattern method for setting max priority fee per gas.
§

fn with_gas_limit(self, gas_limit: u64) -> Self

Builder-pattern method for setting the gas limit.
§

fn with_access_list(self, access_list: AccessList) -> Self

Builder-pattern method for setting the access list.
§

fn complete_preferred(&self) -> Result<(), Vec<&'static str>>

Check if all necessary keys are present to build the currently-preferred transaction type, returning a list of missing keys.
§

fn assert_preferred(&self, ty: <N as Network>::TxType)

Assert that the builder prefers a certain transaction type. This does not indicate that the builder is ready to build. This function uses a dbg_assert_eq! to check the builder status, and will have no affect in release builds.
§

fn assert_preferred_chained(self, ty: <N as Network>::TxType) -> Self

Assert that the builder prefers a certain transaction type. This does not indicate that the builder is ready to build. This function uses a dbg_assert_eq! to check the builder status, and will have no affect in release builds.
§

fn apply<F>(self, f: F) -> Self
where F: FnOnce(Self) -> Self,

Apply a function to the builder, returning the modified builder.
§

fn try_apply<F, E>(self, f: F) -> Result<Self, E>
where F: FnOnce(Self) -> Result<Self, E>,

Apply a fallible function to the builder, returning the modified builder or an error.
§

impl TransactionBuilder<SeismicFoundry> for WithOtherFields<SeismicTransactionRequest>

§

fn kind(&self) -> Option<TxKind>

Get the kind of transaction.

§

fn clear_kind(&mut self)

Clear the kind of transaction.

§

fn set_kind(&mut self, kind: TxKind)

Set the kind of transaction.

§

fn value(&self) -> Option<Uint<256, 4>>

Get the value for the transaction.

§

fn set_value(&mut self, value: Uint<256, 4>)

Set the value for the transaction.

§

fn gas_price(&self) -> Option<u128>

Get the legacy gas price for the transaction.

§

fn set_gas_price(&mut self, gas_price: u128)

Set the legacy gas price for the transaction.

§

fn max_fee_per_gas(&self) -> Option<u128>

Get the max fee per gas for the transaction.

§

fn set_max_fee_per_gas(&mut self, max_fee_per_gas: u128)

Set the max fee per gas for the transaction.

§

fn max_priority_fee_per_gas(&self) -> Option<u128>

Get the max priority fee per gas for the transaction.

§

fn set_max_priority_fee_per_gas(&mut self, max_priority_fee_per_gas: u128)

Set the max priority fee per gas for the transaction.

§

fn gas_limit(&self) -> Option<u64>

Get the gas limit for the transaction.

§

fn set_gas_limit(&mut self, gas_limit: u64)

Set the gas limit for the transaction.

§

fn access_list(&self) -> Option<&AccessList>

Get the EIP-2930 access list for the transaction.

§

fn set_access_list(&mut self, access_list: AccessList)

Sets the EIP-2930 access list.

§

fn complete_type( &self, ty: <SeismicFoundry as Network>::TxType, ) -> Result<(), Vec<&'static str>>

Check if all necessary keys are present to build the specified type, returning a list of missing keys.

§

fn can_submit(&self) -> bool

True if the builder contains all necessary information to be submitted to the eth_sendTransaction endpoint.

§

fn can_build(&self) -> bool

True if the builder contains all necessary information to be built into a valid transaction.

§

fn output_tx_type(&self) -> <SeismicFoundry as Network>::TxType

Returns the transaction type that this builder will attempt to build. This does not imply that the builder is ready to build.

§

fn output_tx_type_checked(&self) -> Option<<SeismicFoundry as Network>::TxType>

Returns the transaction type that this builder will build. None if the builder is not ready to build.

§

fn prep_for_submission(&mut self)

Trim any conflicting keys and populate any computed fields (like blob hashes).

This is useful for transaction requests that have multiple conflicting fields. While these may be buildable, they may not be submitted to the RPC. This method should be called before RPC submission, but is not necessary before building.

§

fn build_unsigned( self, ) -> Result<<SeismicFoundry as Network>::UnsignedTx, UnbuiltTransactionError<SeismicFoundry>>

Build an unsigned, but typed, transaction.

§

async fn build<W>( self, wallet: &W, ) -> Result<<SeismicFoundry as Network>::TxEnvelope, TransactionBuilderError<SeismicFoundry>>
where W: NetworkWallet<SeismicFoundry>,

Build a signed transaction.

§

fn chain_id(&self) -> Option<u64>

Get the chain ID for the transaction.
§

fn set_chain_id(&mut self, chain_id: u64)

Set the chain ID for the transaction.
§

fn nonce(&self) -> Option<u64>

Get the nonce for the transaction.
§

fn set_nonce(&mut self, nonce: u64)

Set the nonce for the transaction.
§

fn input(&self) -> Option<&Bytes>

Get the input data for the transaction.
§

fn set_input<T>(&mut self, input: T)
where T: Into<Bytes>,

Set the input data for the transaction.
§

fn from(&self) -> Option<Address>

Get the sender for the transaction.
§

fn set_from(&mut self, from: Address)

Set the sender for the transaction.
§

fn with_chain_id(self, chain_id: u64) -> Self

Builder-pattern method for setting the chain ID.
§

fn with_nonce(self, nonce: u64) -> Self

Builder-pattern method for setting the nonce.
§

fn with_input<T>(self, input: T) -> Self
where T: Into<Bytes>,

Builder-pattern method for setting the input data.
§

fn set_input_kind<T>(&mut self, input: T, _: TransactionInputKind)
where T: Into<Bytes>,

Set the input data for the transaction, respecting the input kind
§

fn with_input_kind<T>(self, input: T, kind: TransactionInputKind) -> Self
where T: Into<Bytes>,

Builder-pattern method for setting the input data, respecting the input kind
§

fn with_from(self, from: Address) -> Self

Builder-pattern method for setting the sender.
§

fn with_kind(self, kind: TxKind) -> Self

Builder-pattern method for setting the kind of transaction.
§

fn to(&self) -> Option<Address>

Get the recipient for the transaction.
§

fn set_to(&mut self, to: Address)

Set the recipient for the transaction.
§

fn with_to(self, to: Address) -> Self

Builder-pattern method for setting the recipient.
§

fn set_create(&mut self)

Set the to field to a create call.
§

fn into_create(self) -> Self

Set the to field to a create call.
§

fn set_deploy_code<T>(&mut self, code: T)
where T: Into<Bytes>,

Deploy the code by making a create call with data. This will set the to field to TxKind::Create.
§

fn with_deploy_code<T>(self, code: T) -> Self
where T: Into<Bytes>,

Deploy the code by making a create call with data. This will set the to field to TxKind::Create.
§

fn set_call<T>(&mut self, t: &T)
where T: SolCall,

Set the data field to a contract call. This will clear the to field if it is set to TxKind::Create.
§

fn with_call<T>(self, t: &T) -> Self
where T: SolCall,

Make a contract call with data.
§

fn calculate_create_address(&self) -> Option<Address>

Calculates the address that will be created by the transaction, if any. Read more
§

fn with_value(self, value: Uint<256, 4>) -> Self

Builder-pattern method for setting the value.
§

fn with_gas_price(self, gas_price: u128) -> Self

Builder-pattern method for setting the legacy gas price.
§

fn with_max_fee_per_gas(self, max_fee_per_gas: u128) -> Self

Builder-pattern method for setting max fee per gas .
§

fn with_max_priority_fee_per_gas(self, max_priority_fee_per_gas: u128) -> Self

Builder-pattern method for setting max priority fee per gas.
§

fn with_gas_limit(self, gas_limit: u64) -> Self

Builder-pattern method for setting the gas limit.
§

fn with_access_list(self, access_list: AccessList) -> Self

Builder-pattern method for setting the access list.
§

fn complete_preferred(&self) -> Result<(), Vec<&'static str>>

Check if all necessary keys are present to build the currently-preferred transaction type, returning a list of missing keys.
§

fn assert_preferred(&self, ty: <N as Network>::TxType)

Assert that the builder prefers a certain transaction type. This does not indicate that the builder is ready to build. This function uses a dbg_assert_eq! to check the builder status, and will have no affect in release builds.
§

fn assert_preferred_chained(self, ty: <N as Network>::TxType) -> Self

Assert that the builder prefers a certain transaction type. This does not indicate that the builder is ready to build. This function uses a dbg_assert_eq! to check the builder status, and will have no affect in release builds.
§

fn apply<F>(self, f: F) -> Self
where F: FnOnce(Self) -> Self,

Apply a function to the builder, returning the modified builder.
§

fn try_apply<F, E>(self, f: F) -> Result<Self, E>
where F: FnOnce(Self) -> Result<Self, E>,

Apply a fallible function to the builder, returning the modified builder or an error.
§

impl<T> TransactionBuilder4844 for WithOtherFields<T>
where T: TransactionBuilder4844,

§

fn max_fee_per_blob_gas(&self) -> Option<u128>

Get the max fee per blob gas for the transaction.
§

fn set_max_fee_per_blob_gas(&mut self, max_fee_per_blob_gas: u128)

Set the max fee per blob gas for the transaction.
§

fn blob_sidecar(&self) -> Option<&BlobTransactionSidecar>

Gets the EIP-4844 blob sidecar of the transaction.
§

fn set_blob_sidecar(&mut self, sidecar: BlobTransactionSidecar)

Sets the EIP-4844 blob sidecar of the transaction. Read more
§

fn with_max_fee_per_blob_gas(self, max_fee_per_blob_gas: u128) -> Self

Builder-pattern method for setting max fee per blob gas .
§

fn with_blob_sidecar(self, sidecar: BlobTransactionSidecar) -> Self

Builder-pattern method for setting the EIP-4844 blob sidecar of the transaction.
§

impl<T> TransactionBuilder7702 for WithOtherFields<T>
where T: TransactionBuilder7702,

§

fn authorization_list(&self) -> Option<&Vec<SignedAuthorization>>

Get the EIP-7702 authorization list for the transaction.
§

fn set_authorization_list( &mut self, authorization_list: Vec<SignedAuthorization>, )

Sets the EIP-7702 authorization list.
§

fn with_authorization_list( self, authorization_list: Vec<SignedAuthorization>, ) -> Self

Builder-pattern method for setting the authorization list.
§

impl<T> TransactionResponse for WithOtherFields<T>
where T: TransactionResponse,

§

fn tx_hash(&self) -> FixedBytes<32>

Hash of the transaction
§

fn block_hash(&self) -> Option<FixedBytes<32>>

Block hash
§

fn block_number(&self) -> Option<u64>

Block number
§

fn transaction_index(&self) -> Option<u64>

Transaction Index
§

fn from(&self) -> Address

Sender of the transaction
§

fn gas_price(&self) -> Option<u128>

Gas Price, this is the RPC format for max_fee_per_gas, pre-eip-1559.
§

fn max_fee_per_gas(&self) -> Option<u128>

Max BaseFeePerGas the user is willing to pay. For pre-eip-1559 transactions, the field label gas_price is used instead.
§

fn transaction_type(&self) -> Option<u8>

Transaction type format for RPC. This field is included since eip-2930.
§

impl<T> Transaction for WithOtherFields<T>
where T: Transaction,

§

fn chain_id(&self) -> Option<u64>

Get chain_id.
§

fn nonce(&self) -> u64

Get nonce.
§

fn gas_limit(&self) -> u64

Get gas_limit.
§

fn gas_price(&self) -> Option<u128>

Get gas_price.
§

fn max_fee_per_gas(&self) -> u128

For dynamic fee transactions returns the maximum fee per gas the caller is willing to pay. Read more
§

fn max_priority_fee_per_gas(&self) -> Option<u128>

For dynamic fee transactions returns the Priority fee the caller is paying to the block author. Read more
§

fn max_fee_per_blob_gas(&self) -> Option<u128>

Max fee per blob gas for EIP-4844 transaction. Read more
§

fn priority_fee_or_price(&self) -> u128

Return the max priority fee per gas if the transaction is an dynamic fee transaction, and otherwise return the gas price. Read more
§

fn effective_gas_price(&self, base_fee: Option<u64>) -> u128

Returns the effective gas price for the given base fee. Read more
§

fn is_dynamic_fee(&self) -> bool

Returns true if the transaction supports dynamic fees.
§

fn kind(&self) -> TxKind

Returns the transaction kind.
§

fn is_create(&self) -> bool

Returns true if the transaction is a contract creation. We don’t provide a default implementation via kind as it copies the 21-byte TxKind for this simple check. A proper implementation shouldn’t allocate.
§

fn value(&self) -> Uint<256, 4>

Get value.
§

fn input(&self) -> &Bytes

Get data.
§

fn access_list(&self) -> Option<&AccessList>

Returns the EIP-2930 access_list for the particular transaction type. Returns None for older transaction types.
§

fn blob_versioned_hashes(&self) -> Option<&[FixedBytes<32>]>

Blob versioned hashes for eip4844 transaction. For previous transaction types this is None.
§

fn authorization_list(&self) -> Option<&[SignedAuthorization]>

Returns the SignedAuthorization list of the transaction. Read more
§

fn effective_tip_per_gas(&self, base_fee: u64) -> Option<u128>

Returns the effective tip for this transaction. Read more
§

fn to(&self) -> Option<Address>

Get the transaction’s address of the contract that will be called, or the address that will receive the transfer. Read more
§

fn function_selector(&self) -> Option<&FixedBytes<4>>

Returns the first 4bytes of the calldata for a function call. Read more
§

fn blob_count(&self) -> Option<u64>

Returns the number of blobs of this transaction. Read more
§

fn blob_gas_used(&self) -> Option<u64>

Returns the total gas for all blobs in this transaction. Read more
§

fn authorization_count(&self) -> Option<u64>

Returns the number of blobs of SignedAuthorization in this transactions Read more
§

impl<T> Typed2718 for WithOtherFields<T>
where T: Typed2718,

§

fn ty(&self) -> u8

Returns the EIP-2718 type flag.
§

fn is_type(&self, ty: u8) -> bool

Returns true if the type matches the given type.
§

fn is_legacy(&self) -> bool

Returns true if the type is a legacy transaction.
§

fn is_eip2930(&self) -> bool

Returns true if the type is an EIP-2930 transaction.
§

fn is_eip1559(&self) -> bool

Returns true if the type is an EIP-1559 transaction.
§

fn is_eip4844(&self) -> bool

Returns true if the type is an EIP-4844 transaction.
§

fn is_eip7702(&self) -> bool

Returns true if the type is an EIP-7702 transaction.
§

impl<T> Eq for WithOtherFields<T>
where T: Eq,

§

impl<T> StructuralPartialEq for WithOtherFields<T>

Auto Trait Implementations§

§

impl<T> Freeze for WithOtherFields<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for WithOtherFields<T>
where T: RefUnwindSafe,

§

impl<T> Send for WithOtherFields<T>
where T: Send,

§

impl<T> Sync for WithOtherFields<T>
where T: Sync,

§

impl<T> Unpin for WithOtherFields<T>
where T: Unpin,

§

impl<T> UnwindSafe for WithOtherFields<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dest. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<TxEnv, T> FromRecoveredTx<&T> for TxEnv
where TxEnv: FromRecoveredTx<T>,

§

fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv

Builds a TxEnv from a transaction and a sender address.
§

impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnv
where TxEnv: FromTxWithEncoded<T>,

§

fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv

Builds a TxEnv from a transaction, its sender, and encoded transaction bytes.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<T> Paint for T
where T: ?Sized,

§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling [Attribute] value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi [Quirk] value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the [Condition] value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new [Painted] with a default [Style]. Read more
§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types #44874)
The target type on which the method may be called.
Source§

impl<R> Rng for R
where R: RngCore + ?Sized,

Source§

fn random<T>(&mut self) -> T

Return a random value via the StandardUniform distribution. Read more
Source§

fn random_iter<T>(self) -> Iter<StandardUniform, Self, T>

Return an iterator over random variates Read more
Source§

fn random_range<T, R>(&mut self, range: R) -> T
where T: SampleUniform, R: SampleRange<T>,

Generate a random value in the given range. Read more
Source§

fn random_bool(&mut self, p: f64) -> bool

Return a bool with a probability p of being true. Read more
Source§

fn random_ratio(&mut self, numerator: u32, denominator: u32) -> bool

Return a bool with a probability of numerator/denominator of being true. Read more
Source§

fn sample<T, D>(&mut self, distr: D) -> T
where D: Distribution<T>,

Sample a new value, using the given distribution. Read more
Source§

fn sample_iter<T, D>(self, distr: D) -> Iter<D, Self, T>
where D: Distribution<T>, Self: Sized,

Create an iterator that generates values using the given distribution. Read more
Source§

fn fill<T>(&mut self, dest: &mut T)
where T: Fill + ?Sized,

Fill any type implementing Fill with random data Read more
Source§

fn gen<T>(&mut self) -> T

👎Deprecated since 0.9.0: Renamed to random to avoid conflict with the new gen keyword in Rust 2024.
Alias for Rng::random.
Source§

fn gen_range<T, R>(&mut self, range: R) -> T
where T: SampleUniform, R: SampleRange<T>,

👎Deprecated since 0.9.0: Renamed to random_range
Source§

fn gen_bool(&mut self, p: f64) -> bool

👎Deprecated since 0.9.0: Renamed to random_bool
Alias for Rng::random_bool.
Source§

fn gen_ratio(&mut self, numerator: u32, denominator: u32) -> bool

👎Deprecated since 0.9.0: Renamed to random_ratio
Source§

impl<T> RngCore for T
where T: DerefMut, <T as Deref>::Target: RngCore,

Source§

fn next_u32(&mut self) -> u32

Return the next random u32. Read more
Source§

fn next_u64(&mut self) -> u64

Return the next random u64. Read more
Source§

fn fill_bytes(&mut self, dst: &mut [u8])

Fill dest with random data. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ServiceExt for T

§

fn propagate_header(self, header: HeaderName) -> PropagateHeader<Self>
where Self: Sized,

Propagate a header from the request to the response. Read more
§

fn add_extension<T>(self, value: T) -> AddExtension<Self, T>
where Self: Sized,

Add some shareable value to request extensions. Read more
§

fn map_request_body<F>(self, f: F) -> MapRequestBody<Self, F>
where Self: Sized,

Apply a transformation to the request body. Read more
§

fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>
where Self: Sized,

Apply a transformation to the response body. Read more
§

fn compression(self) -> Compression<Self>
where Self: Sized,

Compresses response bodies. Read more
§

fn decompression(self) -> Decompression<Self>
where Self: Sized,

Decompress response bodies. Read more
§

fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>
where Self: Sized,

High level tracing that classifies responses using HTTP status codes. Read more
§

fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>
where Self: Sized,

High level tracing that classifies responses using gRPC headers. Read more
§

fn follow_redirects(self) -> FollowRedirect<Self>
where Self: Sized,

Follow redirect resposes using the Standard policy. Read more
§

fn sensitive_headers( self, headers: impl IntoIterator<Item = HeaderName>, ) -> SetSensitiveRequestHeaders<SetSensitiveResponseHeaders<Self>>
where Self: Sized,

Mark headers as sensitive on both requests and responses. Read more
§

fn sensitive_request_headers( self, headers: impl IntoIterator<Item = HeaderName>, ) -> SetSensitiveRequestHeaders<Self>
where Self: Sized,

Mark headers as sensitive on requests. Read more
§

fn sensitive_response_headers( self, headers: impl IntoIterator<Item = HeaderName>, ) -> SetSensitiveResponseHeaders<Self>
where Self: Sized,

Mark headers as sensitive on responses. Read more
§

fn override_request_header<M>( self, header_name: HeaderName, make: M, ) -> SetRequestHeader<Self, M>
where Self: Sized,

Insert a header into the request. Read more
§

fn append_request_header<M>( self, header_name: HeaderName, make: M, ) -> SetRequestHeader<Self, M>
where Self: Sized,

Append a header into the request. Read more
§

fn insert_request_header_if_not_present<M>( self, header_name: HeaderName, make: M, ) -> SetRequestHeader<Self, M>
where Self: Sized,

Insert a header into the request, if the header is not already present. Read more
§

fn override_response_header<M>( self, header_name: HeaderName, make: M, ) -> SetResponseHeader<Self, M>
where Self: Sized,

Insert a header into the response. Read more
§

fn append_response_header<M>( self, header_name: HeaderName, make: M, ) -> SetResponseHeader<Self, M>
where Self: Sized,

Append a header into the response. Read more
§

fn insert_response_header_if_not_present<M>( self, header_name: HeaderName, make: M, ) -> SetResponseHeader<Self, M>
where Self: Sized,

Insert a header into the response, if the header is not already present. Read more
§

fn set_request_id<M>( self, header_name: HeaderName, make_request_id: M, ) -> SetRequestId<Self, M>
where Self: Sized, M: MakeRequestId,

Add request id header and extension. Read more
§

fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>
where Self: Sized, M: MakeRequestId,

Add request id header and extension, using x-request-id as the header name. Read more
§

fn propagate_request_id( self, header_name: HeaderName, ) -> PropagateRequestId<Self>
where Self: Sized,

Propgate request ids from requests to responses. Read more
§

fn propagate_x_request_id(self) -> PropagateRequestId<Self>
where Self: Sized,

Propgate request ids from requests to responses, using x-request-id as the header name. Read more
§

fn catch_panic(self) -> CatchPanic<Self, DefaultResponseForPanic>
where Self: Sized,

Catch panics and convert them into 500 Internal Server responses. Read more
§

fn request_body_limit(self, limit: usize) -> RequestBodyLimit<Self>
where Self: Sized,

Intercept requests with over-sized payloads and convert them into 413 Payload Too Large responses. Read more
§

fn trim_trailing_slash(self) -> NormalizePath<Self>
where Self: Sized,

Remove trailing slashes from paths. Read more
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryClone for T
where T: Clone,

§

fn try_clone(&self) -> Result<T, Error>

Clones self, possibly returning an error.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<R> TryRngCore for R
where R: RngCore + ?Sized,

Source§

type Error = Infallible

The type returned in the event of a RNG error.
Source§

fn try_next_u32(&mut self) -> Result<u32, <R as TryRngCore>::Error>

Return the next random u32.
Source§

fn try_next_u64(&mut self) -> Result<u64, <R as TryRngCore>::Error>

Return the next random u64.
Source§

fn try_fill_bytes( &mut self, dst: &mut [u8], ) -> Result<(), <R as TryRngCore>::Error>

Fill dest entirely with random data.
Source§

fn unwrap_err(self) -> UnwrapErr<Self>
where Self: Sized,

Wrap RNG with the UnwrapErr wrapper.
Source§

fn unwrap_mut(&mut self) -> UnwrapMut<'_, Self>

Wrap RNG with the UnwrapMut wrapper.
Source§

fn read_adapter(&mut self) -> RngReadAdapter<'_, Self>
where Self: Sized,

Convert an RngCore to a RngReadAdapter.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<A> ArbInterop for A
where A: for<'a> Arbitrary<'a> + 'static + Debug + Clone,

§

impl<'de, T> BorrowedRpcObject<'de> for T
where T: RpcBorrow<'de> + RpcSend,

Source§

impl<T> CryptoRng for T
where T: DerefMut, <T as Deref>::Target: CryptoRng,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> Formattable for T
where T: Deref, <T as Deref>::Target: Formattable,

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSendSync for T

§

impl<T> MaybeSerde for T
where T: Serialize + for<'de> Deserialize<'de>,

§

impl<T> NippyJarHeader for T
where T: Send + Sync + Serialize + for<'b> Deserialize<'b> + Debug + 'static,

§

impl<T> Parsable for T
where T: Deref, <T as Deref>::Target: Parsable,

§

impl<'de, T> RpcBorrow<'de> for T
where T: Deserialize<'de> + Debug + Send + Sync + Unpin,

§

impl<T> RpcObject for T
where T: RpcSend + RpcRecv,

§

impl<T> RpcRecv for T
where T: DeserializeOwned + Debug + Send + Sync + Unpin + 'static,

§

impl<T> RpcSend for T
where T: Serialize + Clone + Debug + Send + Sync + Unpin,

Source§

impl<R> TryCryptoRng for R
where R: CryptoRng + ?Sized,

Layout§

Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.