pub struct NodeConfig {Show 50 fields
pub chain_id: Option<u64>,
pub gas_limit: Option<u128>,
pub disable_block_gas_limit: bool,
pub gas_price: Option<u128>,
pub base_fee: Option<u64>,
pub disable_min_priority_fee: bool,
pub blob_excess_gas_and_price: Option<BlobExcessGasAndPrice>,
pub hardfork: Option<ChainHardfork>,
pub genesis_accounts: Vec<PrivateKeySigner>,
pub genesis_balance: U256,
pub genesis_timestamp: Option<u64>,
pub signer_accounts: Vec<PrivateKeySigner>,
pub block_time: Option<Duration>,
pub no_mining: bool,
pub mixed_mining: bool,
pub port: u16,
pub max_transactions: usize,
pub eth_rpc_url: Option<String>,
pub fork_choice: Option<ForkChoice>,
pub fork_headers: Vec<String>,
pub fork_chain_id: Option<U256>,
pub account_generator: Option<AccountGenerator>,
pub enable_tracing: bool,
pub no_storage_caching: bool,
pub server_config: ServerConfig,
pub host: Vec<IpAddr>,
pub transaction_order: TransactionOrder,
pub config_out: Option<PathBuf>,
pub genesis: Option<Genesis>,
pub fork_request_timeout: Duration,
pub fork_request_retries: u32,
pub fork_retry_backoff: Duration,
pub compute_units_per_second: u64,
pub ipc_path: Option<Option<String>>,
pub enable_steps_tracing: bool,
pub print_logs: bool,
pub enable_auto_impersonate: bool,
pub code_size_limit: Option<usize>,
pub prune_history: PruneStateHistoryConfig,
pub max_persisted_states: Option<usize>,
pub init_state: Option<SerializableState>,
pub transaction_block_keeper: Option<usize>,
pub disable_default_create2_deployer: bool,
pub enable_optimism: bool,
pub slots_in_an_epoch: u64,
pub memory_limit: Option<u64>,
pub precompile_factory: Option<Arc<dyn PrecompileFactory>>,
pub odyssey: bool,
pub silent: bool,
pub cache_path: Option<PathBuf>,
}
Expand description
Configurations of the EVM node
Fields§
§chain_id: Option<u64>
Chain ID of the EVM chain
gas_limit: Option<u128>
Default gas limit for all txs
disable_block_gas_limit: bool
If set to true
, disables the block gas limit
gas_price: Option<u128>
Default gas price for all txs
base_fee: Option<u64>
Default base fee
disable_min_priority_fee: bool
If set to true
, disables the enforcement of a minimum suggested priority fee
blob_excess_gas_and_price: Option<BlobExcessGasAndPrice>
Default blob excess gas and price
hardfork: Option<ChainHardfork>
The hardfork to use
genesis_accounts: Vec<PrivateKeySigner>
Signer accounts that will be initialised with genesis_balance
in the genesis block
genesis_balance: U256
Native token balance of every genesis account in the genesis block
genesis_timestamp: Option<u64>
Genesis block timestamp
signer_accounts: Vec<PrivateKeySigner>
Signer accounts that can sign messages/transactions from the EVM node
block_time: Option<Duration>
Configured block time for the EVM chain. Use None
to mine a new block for every tx
no_mining: bool
Disable auto, interval mining mode uns use MiningMode::None
instead
mixed_mining: bool
Enables auto and interval mining mode
port: u16
port to use for the server
max_transactions: usize
maximum number of transactions in a block
eth_rpc_url: Option<String>
url of the rpc server that should be used for any rpc calls
fork_choice: Option<ForkChoice>
pins the block number or transaction hash for the state fork
fork_headers: Vec<String>
headers to use with eth_rpc_url
fork_chain_id: Option<U256>
specifies chain id for cache to skip fetching from remote in offline-start mode
account_generator: Option<AccountGenerator>
The generator used to generate the dev accounts
enable_tracing: bool
whether to enable tracing
no_storage_caching: bool
Explicitly disables the use of RPC caching.
server_config: ServerConfig
How to configure the server
host: Vec<IpAddr>
The host the server will listen on
transaction_order: TransactionOrder
How transactions are sorted in the mempool
config_out: Option<PathBuf>
Filename to write anvil output as json
genesis: Option<Genesis>
The genesis to use to initialize the node
fork_request_timeout: Duration
Timeout in for requests sent to remote JSON-RPC server in forking mode
fork_request_retries: u32
Number of request retries for spurious networks
fork_retry_backoff: Duration
The initial retry backoff
compute_units_per_second: u64
available CUPS
ipc_path: Option<Option<String>>
The ipc path
enable_steps_tracing: bool
Enable transaction/call steps tracing for debug calls returning geth-style traces
print_logs: bool
Enable printing of console.log
invocations.
enable_auto_impersonate: bool
Enable auto impersonation of accounts on startup
code_size_limit: Option<usize>
Configure the code size limit
prune_history: PruneStateHistoryConfig
Configures how to remove historic state.
If set to Some(num)
keep latest num state in memory only.
max_persisted_states: Option<usize>
Max number of states cached on disk.
init_state: Option<SerializableState>
The file where to load the state from
transaction_block_keeper: Option<usize>
max number of blocks with transactions in memory
disable_default_create2_deployer: bool
Disable the default CREATE2 deployer
enable_optimism: bool
Enable Optimism deposit transaction
slots_in_an_epoch: u64
Slots in an epoch
memory_limit: Option<u64>
The memory limit per EVM execution in bytes.
precompile_factory: Option<Arc<dyn PrecompileFactory>>
Factory used by anvil
to extend the EVM’s precompiles.
odyssey: bool
Enable Odyssey features.
silent: bool
Do not print log messages.
cache_path: Option<PathBuf>
The path where states are cached.
Implementations§
Source§impl NodeConfig
impl NodeConfig
fn as_string(&self, fork: Option<&ClientFork>) -> String
fn as_json(&self, fork: Option<&ClientFork>) -> Value
Source§impl NodeConfig
impl NodeConfig
Sourcepub fn empty_state() -> Self
pub fn empty_state() -> Self
Returns a new config which does not initialize any accounts on node startup.
Source§impl NodeConfig
impl NodeConfig
Sourcepub fn with_memory_limit(self, mems_value: Option<u64>) -> Self
pub fn with_memory_limit(self, mems_value: Option<u64>) -> Self
Returns the memory limit of the node
Sourcepub fn get_base_fee(&self) -> u64
pub fn get_base_fee(&self) -> u64
Returns the base fee to use
Sourcepub fn get_gas_price(&self) -> u128
pub fn get_gas_price(&self) -> u128
Returns the base fee to use
pub fn get_blob_excess_gas_and_price(&self) -> BlobExcessGasAndPrice
Sourcepub fn get_hardfork(&self) -> ChainHardfork
pub fn get_hardfork(&self) -> ChainHardfork
Returns the hardfork to use
Sourcepub fn with_code_size_limit(self, code_size_limit: Option<usize>) -> Self
pub fn with_code_size_limit(self, code_size_limit: Option<usize>) -> Self
Sets a custom code size limit
Sourcepub fn disable_code_size_limit(self, disable_code_size_limit: bool) -> Self
pub fn disable_code_size_limit(self, disable_code_size_limit: bool) -> Self
Disables code size limit
Sourcepub fn with_init_state(self, init_state: Option<SerializableState>) -> Self
pub fn with_init_state(self, init_state: Option<SerializableState>) -> Self
Sets the init state if any
Sourcepub fn with_init_state_path(self, path: impl AsRef<Path>) -> Self
pub fn with_init_state_path(self, path: impl AsRef<Path>) -> Self
Loads the init state from a file if it exists
Sourcepub fn with_chain_id<U: Into<u64>>(self, chain_id: Option<U>) -> Self
pub fn with_chain_id<U: Into<u64>>(self, chain_id: Option<U>) -> Self
Sets the chain ID
Sourcepub fn get_chain_id(&self) -> u64
pub fn get_chain_id(&self) -> u64
Returns the chain ID to use
Sourcepub fn set_chain_id(&mut self, chain_id: Option<impl Into<u64>>)
pub fn set_chain_id(&mut self, chain_id: Option<impl Into<u64>>)
Sets the chain id and updates all wallets
Sourcepub fn with_gas_limit(self, gas_limit: Option<u128>) -> Self
pub fn with_gas_limit(self, gas_limit: Option<u128>) -> Self
Sets the gas limit
Sourcepub fn disable_block_gas_limit(self, disable_block_gas_limit: bool) -> Self
pub fn disable_block_gas_limit(self, disable_block_gas_limit: bool) -> Self
Disable block gas limit check
If set to true
block gas limit will not be enforced
Sourcepub fn with_gas_price(self, gas_price: Option<u128>) -> Self
pub fn with_gas_price(self, gas_price: Option<u128>) -> Self
Sets the gas price
Sourcepub fn set_pruned_history(self, prune_history: Option<Option<usize>>) -> Self
pub fn set_pruned_history(self, prune_history: Option<Option<usize>>) -> Self
Sets prune history status.
Sourcepub fn with_max_persisted_states<U: Into<usize>>(
self,
max_persisted_states: Option<U>,
) -> Self
pub fn with_max_persisted_states<U: Into<usize>>( self, max_persisted_states: Option<U>, ) -> Self
Sets max number of states to cache on disk.
Sourcepub fn with_transaction_block_keeper<U: Into<usize>>(
self,
transaction_block_keeper: Option<U>,
) -> Self
pub fn with_transaction_block_keeper<U: Into<usize>>( self, transaction_block_keeper: Option<U>, ) -> Self
Sets max number of blocks with transactions to keep in memory
Sourcepub fn with_base_fee(self, base_fee: Option<u64>) -> Self
pub fn with_base_fee(self, base_fee: Option<u64>) -> Self
Sets the base fee
Sourcepub fn disable_min_priority_fee(self, disable_min_priority_fee: bool) -> Self
pub fn disable_min_priority_fee(self, disable_min_priority_fee: bool) -> Self
Disable the enforcement of a minimum suggested priority fee
Sourcepub fn with_genesis(self, genesis: Option<Genesis>) -> Self
pub fn with_genesis(self, genesis: Option<Genesis>) -> Self
Sets the init genesis (genesis.json)
Sourcepub fn get_genesis_timestamp(&self) -> u64
pub fn get_genesis_timestamp(&self) -> u64
Returns the genesis timestamp to use
Sourcepub fn with_genesis_timestamp<U: Into<u64>>(self, timestamp: Option<U>) -> Self
pub fn with_genesis_timestamp<U: Into<u64>>(self, timestamp: Option<U>) -> Self
Sets the genesis timestamp
Sourcepub fn with_hardfork(self, hardfork: Option<ChainHardfork>) -> Self
pub fn with_hardfork(self, hardfork: Option<ChainHardfork>) -> Self
Sets the hardfork
Sourcepub fn with_genesis_accounts(self, accounts: Vec<PrivateKeySigner>) -> Self
pub fn with_genesis_accounts(self, accounts: Vec<PrivateKeySigner>) -> Self
Sets the genesis accounts
Sourcepub fn with_signer_accounts(self, accounts: Vec<PrivateKeySigner>) -> Self
pub fn with_signer_accounts(self, accounts: Vec<PrivateKeySigner>) -> Self
Sets the signer accounts
Sourcepub fn with_account_generator(self, generator: AccountGenerator) -> Self
pub fn with_account_generator(self, generator: AccountGenerator) -> Self
Sets both the genesis accounts and the signer accounts
so that genesis_accounts == accounts
Sourcepub fn with_genesis_balance<U: Into<U256>>(self, balance: U) -> Self
pub fn with_genesis_balance<U: Into<U256>>(self, balance: U) -> Self
Sets the balance of the genesis accounts in the genesis block
Sourcepub fn with_blocktime<D: Into<Duration>>(self, block_time: Option<D>) -> Self
pub fn with_blocktime<D: Into<Duration>>(self, block_time: Option<D>) -> Self
Sets the block time to automine blocks
pub fn with_mixed_mining<D: Into<Duration>>( self, mixed_mining: bool, block_time: Option<D>, ) -> Self
Sourcepub fn with_no_mining(self, no_mining: bool) -> Self
pub fn with_no_mining(self, no_mining: bool) -> Self
If set to true
auto mining will be disabled
Sourcepub fn with_slots_in_an_epoch(self, slots_in_an_epoch: u64) -> Self
pub fn with_slots_in_an_epoch(self, slots_in_an_epoch: u64) -> Self
Sets the slots in an epoch
Sourcepub fn with_ipc(self, ipc_path: Option<Option<String>>) -> Self
pub fn with_ipc(self, ipc_path: Option<Option<String>>) -> Self
Sets the ipc path to use
Note: this is a double Option for
- None
-> no ipc
- Some(None)
-> use default path
- Some(Some(path))
-> use custom path
Sourcepub fn set_config_out(self, config_out: Option<PathBuf>) -> Self
pub fn set_config_out(self, config_out: Option<PathBuf>) -> Self
Sets the file path to write the Anvil node’s config info to.
Sourcepub fn no_storage_caching(self) -> Self
pub fn no_storage_caching(self) -> Self
Disables storage caching
pub fn with_storage_caching(self, storage_caching: bool) -> Self
Sourcepub fn with_eth_rpc_url<U: Into<String>>(self, eth_rpc_url: Option<U>) -> Self
pub fn with_eth_rpc_url<U: Into<String>>(self, eth_rpc_url: Option<U>) -> Self
Sets the eth_rpc_url
to use when forking
Sourcepub fn with_fork_block_number<U: Into<u64>>(
self,
fork_block_number: Option<U>,
) -> Self
pub fn with_fork_block_number<U: Into<u64>>( self, fork_block_number: Option<U>, ) -> Self
Sets the fork_choice
to use to fork off from based on a block number
Sourcepub fn with_fork_transaction_hash<U: Into<TxHash>>(
self,
fork_transaction_hash: Option<U>,
) -> Self
pub fn with_fork_transaction_hash<U: Into<TxHash>>( self, fork_transaction_hash: Option<U>, ) -> Self
Sets the fork_choice
to use to fork off from based on a transaction hash
Sourcepub fn with_fork_choice<U: Into<ForkChoice>>(
self,
fork_choice: Option<U>,
) -> Self
pub fn with_fork_choice<U: Into<ForkChoice>>( self, fork_choice: Option<U>, ) -> Self
Sets the fork_choice
to use to fork off from
Sourcepub fn with_fork_chain_id(self, fork_chain_id: Option<U256>) -> Self
pub fn with_fork_chain_id(self, fork_chain_id: Option<U256>) -> Self
Sets the fork_chain_id
to use to fork off local cache from
Sourcepub fn with_fork_headers(self, headers: Vec<String>) -> Self
pub fn with_fork_headers(self, headers: Vec<String>) -> Self
Sets the fork_headers
to use with eth_rpc_url
Sourcepub fn fork_request_timeout(
self,
fork_request_timeout: Option<Duration>,
) -> Self
pub fn fork_request_timeout( self, fork_request_timeout: Option<Duration>, ) -> Self
Sets the fork_request_timeout
to use for requests
Sourcepub fn fork_request_retries(self, fork_request_retries: Option<u32>) -> Self
pub fn fork_request_retries(self, fork_request_retries: Option<u32>) -> Self
Sets the fork_request_retries
to use for spurious networks
Sourcepub fn fork_retry_backoff(self, fork_retry_backoff: Option<Duration>) -> Self
pub fn fork_retry_backoff(self, fork_retry_backoff: Option<Duration>) -> Self
Sets the initial fork_retry_backoff
for rate limits
Sourcepub fn fork_compute_units_per_second(
self,
compute_units_per_second: Option<u64>,
) -> Self
pub fn fork_compute_units_per_second( self, compute_units_per_second: Option<u64>, ) -> Self
Sets the number of assumed available compute units per second
See also, https://docs.alchemy.com/reference/compute-units#what-are-cups-compute-units-per-second
Sourcepub fn with_tracing(self, enable_tracing: bool) -> Self
pub fn with_tracing(self, enable_tracing: bool) -> Self
Sets whether to enable tracing
Sourcepub fn with_steps_tracing(self, enable_steps_tracing: bool) -> Self
pub fn with_steps_tracing(self, enable_steps_tracing: bool) -> Self
Sets whether to enable steps tracing
Sourcepub fn with_print_logs(self, print_logs: bool) -> Self
pub fn with_print_logs(self, print_logs: bool) -> Self
Sets whether to print console.log
invocations to stdout.
Sourcepub fn with_auto_impersonate(self, enable_auto_impersonate: bool) -> Self
pub fn with_auto_impersonate(self, enable_auto_impersonate: bool) -> Self
Sets whether to enable autoImpersonate
pub fn with_server_config(self, config: ServerConfig) -> Self
pub fn with_transaction_order(self, transaction_order: TransactionOrder) -> Self
Sourcepub fn get_ipc_path(&self) -> Option<String>
pub fn get_ipc_path(&self) -> Option<String>
Returns the ipc path for the ipc endpoint if any
Sourcepub fn block_cache_path(&self, block: u64) -> Option<PathBuf>
pub fn block_cache_path(&self, block: u64) -> Option<PathBuf>
Returns the path where the cache file should be stored
See also Config::foundry_block_cache_file()
Sourcepub fn with_optimism(self, enable_optimism: bool) -> Self
pub fn with_optimism(self, enable_optimism: bool) -> Self
Sets whether to enable optimism support
Sourcepub fn with_disable_default_create2_deployer(self, yes: bool) -> Self
pub fn with_disable_default_create2_deployer(self, yes: bool) -> Self
Sets whether to disable the default create2 deployer
Sourcepub fn with_precompile_factory(
self,
factory: impl PrecompileFactory + 'static,
) -> Self
pub fn with_precompile_factory( self, factory: impl PrecompileFactory + 'static, ) -> Self
Injects precompiles to anvil
’s EVM.
Sourcepub fn with_odyssey(self, odyssey: bool) -> Self
pub fn with_odyssey(self, odyssey: bool) -> Self
Sets whether to enable Odyssey support
pub fn set_silent(self, silent: bool) -> Self
Sourcepub fn with_cache_path(self, cache_path: Option<PathBuf>) -> Self
pub fn with_cache_path(self, cache_path: Option<PathBuf>) -> Self
Sets the path where states are cached
Sourcepub(crate) async fn setup(&mut self) -> Result<Backend>
pub(crate) async fn setup(&mut self) -> Result<Backend>
Configures everything related to env, backend and database and returns the Backend
Note: only memory based backend for now
Sourcepub async fn setup_fork_db(
&mut self,
eth_rpc_url: String,
env: &mut EnvWithHandlerCfg,
fees: &FeeManager,
) -> Result<(Arc<TokioRwLock<Box<dyn Db>>>, Option<ClientFork>)>
pub async fn setup_fork_db( &mut self, eth_rpc_url: String, env: &mut EnvWithHandlerCfg, fees: &FeeManager, ) -> Result<(Arc<TokioRwLock<Box<dyn Db>>>, Option<ClientFork>)>
Configures everything related to forking based on the passed eth_rpc_url
:
- returning a tuple of a ForkedDatabase wrapped in an Arc RwLock and ClientFork wrapped in an Option which can be used in a Backend to fork from.
- modifying some parameters of the passed
env
- mutating some members of
self
Sourcepub async fn setup_fork_db_config(
&mut self,
eth_rpc_url: String,
env: &mut EnvWithHandlerCfg,
fees: &FeeManager,
) -> Result<(ForkedDatabase, ClientForkConfig)>
pub async fn setup_fork_db_config( &mut self, eth_rpc_url: String, env: &mut EnvWithHandlerCfg, fees: &FeeManager, ) -> Result<(ForkedDatabase, ClientForkConfig)>
Configures everything related to forking based on the passed eth_rpc_url
:
- returning a tuple of a ForkedDatabase and ClientForkConfig which can be used to build a ClientFork to fork from.
- modifying some parameters of the passed
env
- mutating some members of
self
Sourcepub(crate) fn fork_gas_limit<T: TransactionResponse, H: BlockHeader>(
&self,
block: &Block<T, H>,
) -> u128
pub(crate) fn fork_gas_limit<T: TransactionResponse, H: BlockHeader>( &self, block: &Block<T, H>, ) -> u128
we only use the gas limit value of the block if it is non-zero and the block gas
limit is enabled, since there are networks where this is not used and is always
0x0
which would inevitably result in OutOfGas
errors as soon as the evm is about to record gas, See also https://github.com/foundry-rs/foundry/issues/3247
Trait Implementations§
Source§impl Clone for NodeConfig
impl Clone for NodeConfig
Source§fn clone(&self) -> NodeConfig
fn clone(&self) -> NodeConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for NodeConfig
impl Debug for NodeConfig
Auto Trait Implementations§
impl !Freeze for NodeConfig
impl !RefUnwindSafe for NodeConfig
impl Send for NodeConfig
impl Sync for NodeConfig
impl Unpin for NodeConfig
impl !UnwindSafe for NodeConfig
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
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> 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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§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>
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> 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>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
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: 1920 bytes