pub struct EvmOpts {Show 30 fields
pub env: Env,
pub fork_url: Option<String>,
pub fork_block_number: Option<u64>,
pub fork_retries: Option<u32>,
pub fork_retry_backoff: Option<u64>,
pub fork_headers: Option<Vec<String>>,
pub rpc_jwt: Option<String>,
pub rpc_headers: Option<Vec<String>>,
pub rpc_timeout: Option<u64>,
pub rpc_accept_invalid_certs: bool,
pub rpc_no_proxy: bool,
pub compute_units_per_second: Option<u64>,
pub no_rpc_rate_limit: bool,
pub no_storage_caching: bool,
pub initial_balance: U256,
pub sender: Address,
pub ffi: bool,
pub always_use_create_2_factory: bool,
pub verbosity: u8,
pub memory_limit: u64,
pub isolate: bool,
pub disable_block_gas_limit: bool,
pub enable_tx_gas_limit: bool,
pub networks: NetworkConfigs,
pub create2_deployer: Address,
pub fork_endpoint: Option<ForkEndpointIdentity>,
pub expected_fork_endpoint: Option<ForkEndpointIdentity>,
pub fork_network_is_inferred: bool,
pub fork_chain_id_is_inferred: bool,
pub fork_block_number_is_inferred: bool,
}Fields§
§env: EnvThe EVM environment configuration.
fork_url: Option<String>Fetch state over a remote instead of starting from empty state.
fork_block_number: Option<u64>Pins the block number for the state fork.
fork_retries: Option<u32>The number of retries.
fork_retry_backoff: Option<u64>Initial retry backoff.
fork_headers: Option<Vec<String>>Headers to use with fork_url
rpc_jwt: Option<String>JWT secret to use with the configured RPC endpoint.
rpc_headers: Option<Vec<String>>Headers to use with the configured RPC endpoint.
rpc_timeout: Option<u64>Request timeout to use with the configured RPC endpoint.
rpc_accept_invalid_certs: boolWhether to accept invalid certificates from the configured RPC endpoint.
rpc_no_proxy: boolWhether to disable automatic proxy detection for the configured RPC endpoint.
compute_units_per_second: Option<u64>The available compute units per second.
See also https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second
no_rpc_rate_limit: boolDisables RPC rate limiting entirely.
no_storage_caching: boolDisables storage caching entirely.
initial_balance: U256The initial balance of each deployed test contract.
sender: AddressThe address which will be executing all tests.
ffi: boolEnables the FFI cheatcode.
always_use_create_2_factory: boolUse the create 2 factory in all cases including tests and non-broadcasting scripts.
verbosity: u8Verbosity mode of EVM output as number of occurrences.
memory_limit: u64The memory limit per EVM execution in bytes.
If this limit is exceeded, a MemoryLimitOOG result is thrown.
isolate: boolWhether to enable isolation of calls.
disable_block_gas_limit: boolWhether to disable block gas limit checks.
enable_tx_gas_limit: boolWhether to enable tx gas limit checks as imposed by Osaka (EIP-7825).
networks: NetworkConfigsNetworks with enabled features.
create2_deployer: AddressThe CREATE2 deployer’s address.
fork_endpoint: Option<ForkEndpointIdentity>Identity discovered from the configured fork endpoint.
expected_fork_endpoint: Option<ForkEndpointIdentity>Endpoint identity that must remain stable while constructing local execution state.
fork_network_is_inferred: boolWhether the active network selection was inferred from the fork endpoint.
fork_chain_id_is_inferred: boolWhether env.chain_id was inferred from the fork endpoint.
fork_block_number_is_inferred: boolWhether fork_block_number was pinned from the fork endpoint’s latest block.
Implementations§
Source§impl EvmOpts
impl EvmOpts
Sourcefn clear_endpoint_derived_fork_state(&mut self)
fn clear_endpoint_derived_fork_state(&mut self)
Clears state derived from a fork endpoint while preserving explicit configuration.
Sourcepub fn set_fork_url(&mut self, fork_url: String)
pub fn set_fork_url(&mut self, fork_url: String)
Selects a new fork URL and clears endpoint-derived state from the previous source.
Sourcepub fn invalidate_fork_endpoint_if_source_changed(
&mut self,
fork: &ResolvedFork,
) -> bool
pub fn invalidate_fork_endpoint_if_source_changed( &mut self, fork: &ResolvedFork, ) -> bool
Invalidates endpoint-derived state when the effective RPC source changed since fork was
resolved.
The effective source consists of the URL, active headers, and JWT. Explicit block, network, and chain-ID selections are retained so the new source is resolved under the same user configuration.
Sourcepub fn set_explicit_network(&mut self, network: NetworkVariant)
pub fn set_explicit_network(&mut self, network: NetworkVariant)
Applies an explicit network override, replacing any endpoint-inferred selection.
Sourcepub fn expect_fork_endpoint(
&mut self,
identity: ForkEndpointIdentity,
network_is_inferred: bool,
)
pub fn expect_fork_endpoint( &mut self, identity: ForkEndpointIdentity, network_is_inferred: bool, )
Requires subsequent local fork construction to use this exact endpoint identity.
fn ensure_expected_fork_endpoint( &self, identity: &ForkEndpointIdentity, ) -> Result<()>
fn chain_id_override(&self) -> Option<ChainId>
fn endpoint_network_fallback(&self) -> NetworkConfigs
fn anvil_node_info_probe(&self) -> AnvilNodeInfoProbe
fn fork_source_headers(&self) -> Option<&[String]>
fn resolved_fork( &self, fork_url: &str, block: BlockNumHash, context: ForkContext, ) -> ResolvedFork
Sourcepub async fn pin_fork_block(&mut self) -> Result<Option<BlockNumber>>
pub async fn pin_fork_block(&mut self) -> Result<Option<BlockNumber>>
Resolves and pins an unpinned fork to the current latest block.
Sourcepub async fn resolve_fork(&self) -> Result<Option<ResolvedFork>>
pub async fn resolve_fork(&self) -> Result<Option<ResolvedFork>>
Resolves the configured fork selector without changing it.
Sourcepub async fn can_use_create2_deployer(
&self,
fork_block: Option<BlockNumber>,
) -> Result<bool>
pub async fn can_use_create2_deployer( &self, fork_block: Option<BlockNumber>, ) -> Result<bool>
Returns whether the configured CREATE2 deployer can be used for library linking.
Locally Foundry can only install its canonical deployer. On forks, any deployer with code is usable because the call executes against the forked state.
Sourcepub async fn can_use_create2_deployer_resolved(
&self,
fork: Option<&ResolvedFork>,
) -> Result<bool>
pub async fn can_use_create2_deployer_resolved( &self, fork: Option<&ResolvedFork>, ) -> Result<bool>
Returns whether the configured CREATE2 deployer existed at the resolved fork block.
Sourcepub fn resolved_fork_matches(&self, fork: &ResolvedFork) -> bool
pub fn resolved_fork_matches(&self, fork: &ResolvedFork) -> bool
Returns whether fork was resolved from the currently configured source and selector.
Sourcepub fn provider_for_resolved_fork<N: Network>(
&self,
fork: &ResolvedFork,
) -> Result<RootProvider<N>>
pub fn provider_for_resolved_fork<N: Network>( &self, fork: &ResolvedFork, ) -> Result<RootProvider<N>>
Returns a provider configured for an already resolved fork.
async fn ensure_resolved_fork_endpoint<N: Network, P: Provider<N>>( &self, provider: &P, fork: &ResolvedFork, ) -> Result<()>
Sourcepub async fn transaction_count_at_resolved_fork(
&self,
account: Address,
fork: &ResolvedFork,
) -> Result<u64>
pub async fn transaction_count_at_resolved_fork( &self, account: Address, fork: &ResolvedFork, ) -> Result<u64>
Returns an account nonce at the exact block and endpoint identity of fork.
Sourcepub fn fork_provider_with_url<N: Network>(
&self,
fork_url: &str,
) -> Result<RootProvider<N>>
pub fn fork_provider_with_url<N: Network>( &self, fork_url: &str, ) -> Result<RootProvider<N>>
Returns a RootProvider for the given fork URL configured with options in self and
annotated Network type.
Sourcepub async fn infer_network_from_fork(&mut self) -> Result<()>
pub async fn infer_network_from_fork(&mut self) -> Result<()>
Infers the network configuration and exact endpoint identity for a fork.
Explicit network selections are preserved, while endpoint identity is still cached so downstream execution can honor an Anvil endpoint’s exact hardfork.
Sourcepub async fn discover_fork_endpoint(&self) -> Result<ForkEndpointIdentity>
pub async fn discover_fork_endpoint(&self) -> Result<ForkEndpointIdentity>
Discovers the complete identity exposed by the configured fork endpoint.
Sourceasync fn resolve_fork_endpoint_once<N: Network, P: Provider<N>>(
&self,
provider: &P,
node_info_probe: &mut AnvilNodeInfoProbe,
hardfork_policy: EndpointHardforkPolicy,
) -> Result<ForkEndpointIdentity>
async fn resolve_fork_endpoint_once<N: Network, P: Provider<N>>( &self, provider: &P, node_info_probe: &mut AnvilNodeInfoProbe, hardfork_policy: EndpointHardforkPolicy, ) -> Result<ForkEndpointIdentity>
Resolves one endpoint identity snapshot, using Anvil’s authoritative node metadata when it is already known to be available.
Sourcepub async fn fork_network(&self) -> Result<(ChainId, NetworkVariant)>
pub async fn fork_network(&self) -> Result<(ChainId, NetworkVariant)>
Resolves the chain ID and network family exposed by the configured fork endpoint.
Unlike Self::infer_network_from_fork, this always inspects the endpoint. Endpoints whose
custom chain ID does not identify a supported network family retain Foundry’s historical
Ethereum fallback when anvil_nodeInfo is unavailable.
async fn resolve_fork_endpoint_identity<N: Network, P: Provider<N>>( provider: &P, endpoint: &str, execution_chain_id: ChainId, node_info: Option<NodeInfo>, unknown_fallback: Option<NetworkConfigs>, hardfork_policy: EndpointHardforkPolicy, ) -> Result<ForkEndpointIdentity>
Sourcepub async fn env<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, TX: FoundryTransaction + Default>(
&self,
) -> Result<(EvmEnv<SPEC, BLOCK>, TX, Option<BlockNumber>)>
pub async fn env<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, TX: FoundryTransaction + Default>( &self, ) -> Result<(EvmEnv<SPEC, BLOCK>, TX, Option<BlockNumber>)>
Returns a tuple with EvmEnv, TxEnv, and the actual fork block number.
If a fork_url is set, creates a provider and passes it to both EvmOpts::fork_evm_env
and EvmOpts::fork_tx_env. Falls back to local settings when no fork URL is configured.
The fork block number is returned separately because on some L2s (e.g., Arbitrum) the
block_env.number may be remapped (to the L1 block number) and therefore cannot be used
to pin the fork.
Sourcepub async fn env_resolved<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, TX: FoundryTransaction + Default>(
&self,
) -> Result<(EvmEnv<SPEC, BLOCK>, TX, Option<ResolvedFork>)>
pub async fn env_resolved<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, TX: FoundryTransaction + Default>( &self, ) -> Result<(EvmEnv<SPEC, BLOCK>, TX, Option<ResolvedFork>)>
Returns the EVM and transaction environments with their resolved fork context.
Sourcepub async fn env_with_fork_context<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, TX: FoundryTransaction + Default>(
&self,
) -> Result<(EvmEnv<SPEC, BLOCK>, TX, Option<ForkContext>)>
pub async fn env_with_fork_context<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, TX: FoundryTransaction + Default>( &self, ) -> Result<(EvmEnv<SPEC, BLOCK>, TX, Option<ForkContext>)>
Returns the execution environment and the source identity of its remote fork, if any.
The source chain ID is always fetched from the fork endpoint, even when the execution
environment applies a configured CHAINID opcode override.
Sourcepub async fn env_with_resolved_fork<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, TX: FoundryTransaction + Default>(
&self,
fork: Option<&ResolvedFork>,
) -> Result<(EvmEnv<SPEC, BLOCK>, TX)>
pub async fn env_with_resolved_fork<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, TX: FoundryTransaction + Default>( &self, fork: Option<&ResolvedFork>, ) -> Result<(EvmEnv<SPEC, BLOCK>, TX)>
Returns the EVM and transaction environments at an already resolved fork.
Sourcepub async fn fork_evm_env<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>(
&self,
provider: &P,
) -> Result<(EvmEnv<SPEC, BLOCK>, BlockNumber)>
pub async fn fork_evm_env<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>( &self, provider: &P, ) -> Result<(EvmEnv<SPEC, BLOCK>, BlockNumber)>
Returns the EvmEnv (cfg + block) and [BlockNumber] fetched from the fork endpoint via
provider
Sourcepub(crate) async fn fork_evm_env_resolved<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>(
&self,
provider: &P,
) -> Result<(EvmEnv<SPEC, BLOCK>, ResolvedFork)>
pub(crate) async fn fork_evm_env_resolved<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>( &self, provider: &P, ) -> Result<(EvmEnv<SPEC, BLOCK>, ResolvedFork)>
Returns the EVM environment and block identity fetched from the fork endpoint.
Sourceasync fn fork_evm_env_resolved_with_context<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>(
&self,
provider: &P,
node_info_probe: &mut AnvilNodeInfoProbe,
) -> Result<(EvmEnv<SPEC, BLOCK>, BlockNumHash, ForkContext)>
async fn fork_evm_env_resolved_with_context<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>( &self, provider: &P, node_info_probe: &mut AnvilNodeInfoProbe, ) -> Result<(EvmEnv<SPEC, BLOCK>, BlockNumHash, ForkContext)>
Returns the fork environment, exact block, and endpoint identity resolved together.
fn fork_env_error_context(&self) -> String
async fn resolve_fork_block_with_context<N: Network, P: Provider<N>>( &self, provider: &P, target: ForkBlockTarget, node_info_probe: &mut AnvilNodeInfoProbe, ) -> Result<(N::BlockResponse, BlockNumHash, ForkContext)>
async fn fork_evm_env_at_resolved_with_context<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>( &self, provider: &P, expected: &ResolvedFork, node_info_probe: &mut AnvilNodeInfoProbe, ) -> Result<(EvmEnv<SPEC, BLOCK>, ForkContext)>
Sourcepub(crate) async fn fork_evm_env_at_resolved<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>(
&self,
provider: &P,
expected: &ResolvedFork,
) -> Result<EvmEnv<SPEC, BLOCK>>
pub(crate) async fn fork_evm_env_at_resolved<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network, P: Provider<N>>( &self, provider: &P, expected: &ResolvedFork, ) -> Result<EvmEnv<SPEC, BLOCK>>
Reconstructs the fork environment at an already resolved exact block.
fn fork_env_from_block<SPEC: Into<SpecId> + Default + Copy, BLOCK: FoundryBlock + Default, N: Network>( &self, chain_id: ChainId, source_chain_id: ChainId, block: &N::BlockResponse, ) -> EvmEnv<SPEC, BLOCK>
Sourcefn local_evm_env<SPEC: Into<SpecId> + Default + Clone, BLOCK: FoundryBlock + Default>(
&self,
) -> EvmEnv<SPEC, BLOCK>
fn local_evm_env<SPEC: Into<SpecId> + Default + Clone, BLOCK: FoundryBlock + Default>( &self, ) -> EvmEnv<SPEC, BLOCK>
Returns the EvmEnv configured with only local settings.
Sourcefn fork_tx_env<TX: FoundryTransaction + Default>(
&self,
gas_price: u128,
chain_id: ChainId,
) -> TX
fn fork_tx_env<TX: FoundryTransaction + Default>( &self, gas_price: u128, chain_id: ChainId, ) -> TX
Returns the TxEnv with gas price and chain ID from a stable fork snapshot.
Sourcefn local_tx_env<TX: FoundryTransaction + Default>(&self) -> TX
fn local_tx_env<TX: FoundryTransaction + Default>(&self) -> TX
Returns the TxEnv configured from local settings only.
Sourcefn cfg_env<SPEC: Into<SpecId> + Default + Clone>(
&self,
chain_id: ChainId,
) -> CfgEnv<SPEC>
fn cfg_env<SPEC: Into<SpecId> + Default + Clone>( &self, chain_id: ChainId, ) -> CfgEnv<SPEC>
Builds a [CfgEnv] from the options, using the provided [ChainId].
Sourcepub fn get_fork(
&self,
config: &Config,
chain_id: u64,
fork_block_number: Option<BlockNumber>,
) -> Option<CreateFork>
pub fn get_fork( &self, config: &Config, chain_id: u64, fork_block_number: Option<BlockNumber>, ) -> Option<CreateFork>
Helper function that returns the CreateFork to use, if any.
storage caching for the CreateFork will be enabled if
fork_urlis presentfork_block_numberis presentStorageCachingConfigallows thefork_url+ source chain ID pair- storage is allowed (
no_storage_caching = false)
If all these criteria are met, then storage caching is enabled and storage info will be
written to <Config::foundry_cache_dir()>/<str(chainid)>/<block>/storage.json.
for mainnet and --fork-block-number 14435000 on mac the corresponding storage cache will
be at ~/.foundry/cache/mainnet/14435000/storage.json.
fork_block_number is the actual block number to pin the fork to. This must be the
real chain block number, not a remapped value. On some L2s (e.g., Arbitrum)
block_env.number is remapped to the L1 block number, so callers must pass the
original block number returned by EvmOpts::env instead.
Sourcepub fn get_fork_resolved(
&self,
config: &Config,
chain_id: u64,
fork: Option<&ResolvedFork>,
) -> Option<CreateFork>
pub fn get_fork_resolved( &self, config: &Config, chain_id: u64, fork: Option<&ResolvedFork>, ) -> Option<CreateFork>
Returns a fork configuration pinned to an already resolved block identity.
fn get_fork_with_identity( &self, config: &Config, chain_id: u64, fork_block_number: Option<BlockNumber>, resolved: Option<ResolvedFork>, ) -> Option<CreateFork>
Sourceconst fn get_compute_units_per_second(&self) -> u64
const fn get_compute_units_per_second(&self) -> u64
Returns the available compute units per second, which will be
- u64::MAX, if
no_rpc_rate_limitif set (as rate limiting is disabled) - the assigned compute units, if
compute_units_per_secondis set - ALCHEMY_FREE_TIER_CUPS (330) otherwise
Sourcepub async fn get_remote_chain_id(&self) -> Option<Chain>
pub async fn get_remote_chain_id(&self) -> Option<Chain>
Returns the chain ID from the RPC, if any.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for EvmOpts
impl<'de> Deserialize<'de> for EvmOpts
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for EvmOpts
impl RefUnwindSafe for EvmOpts
impl Send for EvmOpts
impl Sync for EvmOpts
impl Unpin for EvmOpts
impl UnsafeUnpin for EvmOpts
impl UnwindSafe for EvmOpts
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
impl<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Conv for T
impl<T> Conv for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
TxEnv] from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
TxEnv] from a transaction, its sender, and encoded transaction bytes.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].impl<T> MaybeCompact for T
impl<T> MaybeSerde for Twhere
T: Serialize + for<'de> Deserialize<'de>,
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
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 bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
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>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
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 rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
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 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.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
§fn whenever(&self, value: Condition) -> Painted<&T>
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);§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
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) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
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
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<'de, T> RpcBorrow<'de> for T
impl<T> RpcObject for Twhere
T: RpcSend + RpcRecv,
impl<T> RpcRecv for T
impl<T> RpcSend for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 816 bytes