anvil_core::eth

Enum EthRequest

Source
pub enum EthRequest {
Show 120 variants Web3ClientVersion(()), Web3Sha3(Bytes), EthChainId(()), EthNetworkId(()), NetListening(()), EthGasPrice(()), EthMaxPriorityFeePerGas(()), EthBlobBaseFee(()), EthAccounts(()), EthBlockNumber(()), EthGetBalance(Address, Option<BlockId>), EthGetAccount(Address, Option<BlockId>), EthGetStorageAt(Address, U256, Option<BlockId>), EthGetBlockByHash(B256, bool), EthGetBlockByNumber(BlockNumberOrTag, bool), EthGetTransactionCount(Address, Option<BlockId>), EthGetTransactionCountByHash(B256), EthGetTransactionCountByNumber(BlockNumberOrTag), EthGetUnclesCountByHash(B256), EthGetUnclesCountByNumber(BlockNumberOrTag), EthGetCodeAt(Address, Option<BlockId>), EthGetProof(Address, Vec<B256>, Option<BlockId>), EthSign(Address, Bytes), PersonalSign(Bytes, Address), EthSignTransaction(Box<WithOtherFields<TransactionRequest>>), EthSignTypedData(Address, Value), EthSignTypedDataV3(Address, Value), EthSignTypedDataV4(Address, TypedData), EthSendTransaction(Box<WithOtherFields<TransactionRequest>>), EthSendRawTransaction(Bytes), EthCall(WithOtherFields<TransactionRequest>, Option<BlockId>, Option<StateOverride>), EthCreateAccessList(WithOtherFields<TransactionRequest>, Option<BlockId>), EthEstimateGas(WithOtherFields<TransactionRequest>, Option<BlockId>, Option<StateOverride>), EthGetTransactionByHash(TxHash), EthGetTransactionByBlockHashAndIndex(TxHash, Index), EthGetTransactionByBlockNumberAndIndex(BlockNumberOrTag, Index), EthGetRawTransactionByHash(TxHash), EthGetRawTransactionByBlockHashAndIndex(TxHash, Index), EthGetRawTransactionByBlockNumberAndIndex(BlockNumberOrTag, Index), EthGetTransactionReceipt(B256), EthGetBlockReceipts(BlockId), EthGetUncleByBlockHashAndIndex(B256, Index), EthGetUncleByBlockNumberAndIndex(BlockNumberOrTag, Index), EthGetLogs(Filter), EthNewFilter(Filter), EthGetFilterChanges(String), EthNewBlockFilter(()), EthNewPendingTransactionFilter(()), EthGetFilterLogs(String), EthUninstallFilter(String), EthGetWork(()), EthSubmitWork(B64, B256, B256), EthSubmitHashRate(U256, B256), EthFeeHistory(U256, BlockNumberOrTag, Vec<f64>), EthSyncing(()), DebugGetRawTransaction(TxHash), DebugTraceTransaction(B256, GethDebugTracingOptions), DebugTraceCall(WithOtherFields<TransactionRequest>, Option<BlockId>, GethDebugTracingCallOptions), TraceTransaction(B256), TraceBlock(BlockNumberOrTag), TraceFilter(TraceFilter), ImpersonateAccount(Address), StopImpersonatingAccount(Address), AutoImpersonateAccount(bool), GetAutoMine(()), Mine(Option<U256>, Option<U256>), SetAutomine(bool), SetIntervalMining(u64), GetIntervalMining(()), DropTransaction(B256), DropAllTransactions(), Reset(Option<Params<Option<Forking>>>), SetRpcUrl(String), SetBalance(Address, U256), SetCode(Address, Bytes), SetNonce(Address, U256), SetStorageAt(Address, U256, B256), SetCoinbase(Address), SetChainId(u64), SetLogging(bool), SetMinGasPrice(U256), SetNextBlockBaseFeePerGas(U256), EvmSetTime(U256), DumpState(Option<Params<Option<bool>>>), LoadState(Bytes), NodeInfo(()), AnvilMetadata(()), EvmSnapshot(()), EvmRevert(U256), EvmIncreaseTime(U256), EvmSetNextBlockTimeStamp(U256), EvmSetBlockGasLimit(U256), EvmSetBlockTimeStampInterval(u64), EvmRemoveBlockTimeStampInterval(()), EvmMine(Option<Params<Option<MineOptions>>>), EvmMineDetailed(Option<Params<Option<MineOptions>>>), EthSendUnsignedTransaction(Box<WithOtherFields<TransactionRequest>>), EnableTraces(()), TxPoolStatus(()), TxPoolInspect(()), TxPoolContent(()), ErigonGetHeaderByNumber(BlockNumberOrTag), OtsGetApiLevel(()), OtsGetInternalOperations(B256), OtsHasCode(Address, BlockNumberOrTag), OtsTraceTransaction(B256), OtsGetTransactionError(B256), OtsGetBlockDetails(BlockNumberOrTag), OtsGetBlockDetailsByHash(B256), OtsGetBlockTransactions(u64, usize, usize), OtsSearchTransactionsBefore(Address, u64, usize), OtsSearchTransactionsAfter(Address, u64, usize), OtsGetTransactionBySenderAndNonce(Address, U256), OtsGetContractCreator(Address), RemovePoolTransactions(Address), Reorg(ReorgOptions), WalletGetCapabilities(()), WalletSendTransaction(Box<WithOtherFields<TransactionRequest>>), AnvilAddCapability(Address), AnvilSetExecutor(String),
}
Expand description

Represents ethereum JSON-RPC API

Variants§

§

Web3ClientVersion(())

§

Web3Sha3(Bytes)

§

EthChainId(())

§

EthNetworkId(())

§

NetListening(())

§

EthGasPrice(())

§

EthMaxPriorityFeePerGas(())

§

EthBlobBaseFee(())

§

EthAccounts(())

§

EthBlockNumber(())

§

EthGetBalance(Address, Option<BlockId>)

§

EthGetAccount(Address, Option<BlockId>)

§

EthGetStorageAt(Address, U256, Option<BlockId>)

§

EthGetBlockByHash(B256, bool)

§

EthGetBlockByNumber(BlockNumberOrTag, bool)

§

EthGetTransactionCount(Address, Option<BlockId>)

§

EthGetTransactionCountByHash(B256)

§

EthGetTransactionCountByNumber(BlockNumberOrTag)

§

EthGetUnclesCountByHash(B256)

§

EthGetUnclesCountByNumber(BlockNumberOrTag)

§

EthGetCodeAt(Address, Option<BlockId>)

§

EthGetProof(Address, Vec<B256>, Option<BlockId>)

Returns the account and storage values of the specified account including the Merkle-proof. This call can be used to verify that the data you are pulling from is not tampered with.

§

EthSign(Address, Bytes)

The sign method calculates an Ethereum specific signature with:

§

PersonalSign(Bytes, Address)

The sign method calculates an Ethereum specific signature, equivalent to eth_sign: https://docs.metamask.io/wallet/reference/personal_sign/

§

EthSignTransaction(Box<WithOtherFields<TransactionRequest>>)

§

EthSignTypedData(Address, Value)

Signs data via EIP-712.

§

EthSignTypedDataV3(Address, Value)

Signs data via EIP-712.

§

EthSignTypedDataV4(Address, TypedData)

Signs data via EIP-712, and includes full support of arrays and recursive data structures.

§

EthSendTransaction(Box<WithOtherFields<TransactionRequest>>)

§

EthSendRawTransaction(Bytes)

§

EthCall(WithOtherFields<TransactionRequest>, Option<BlockId>, Option<StateOverride>)

§

EthCreateAccessList(WithOtherFields<TransactionRequest>, Option<BlockId>)

§

EthEstimateGas(WithOtherFields<TransactionRequest>, Option<BlockId>, Option<StateOverride>)

§

EthGetTransactionByHash(TxHash)

§

EthGetTransactionByBlockHashAndIndex(TxHash, Index)

§

EthGetTransactionByBlockNumberAndIndex(BlockNumberOrTag, Index)

§

EthGetRawTransactionByHash(TxHash)

§

EthGetRawTransactionByBlockHashAndIndex(TxHash, Index)

§

EthGetRawTransactionByBlockNumberAndIndex(BlockNumberOrTag, Index)

§

EthGetTransactionReceipt(B256)

§

EthGetBlockReceipts(BlockId)

§

EthGetUncleByBlockHashAndIndex(B256, Index)

§

EthGetUncleByBlockNumberAndIndex(BlockNumberOrTag, Index)

§

EthGetLogs(Filter)

§

EthNewFilter(Filter)

Creates a filter object, based on filter options, to notify when the state changes (logs).

§

EthGetFilterChanges(String)

Polling method for a filter, which returns an array of logs which occurred since last poll.

§

EthNewBlockFilter(())

Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges.

§

EthNewPendingTransactionFilter(())

Creates a filter in the node, to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges.

§

EthGetFilterLogs(String)

Returns an array of all logs matching filter with given id.

§

EthUninstallFilter(String)

Removes the filter, returns true if the filter was installed

§

EthGetWork(())

§

EthSubmitWork(B64, B256, B256)

§

EthSubmitHashRate(U256, B256)

§

EthFeeHistory(U256, BlockNumberOrTag, Vec<f64>)

§

EthSyncing(())

§

DebugGetRawTransaction(TxHash)

geth’s debug_getRawTransaction endpoint

§

DebugTraceTransaction(B256, GethDebugTracingOptions)

geth’s debug_traceTransaction endpoint

§

DebugTraceCall(WithOtherFields<TransactionRequest>, Option<BlockId>, GethDebugTracingCallOptions)

geth’s debug_traceCall endpoint

§

TraceTransaction(B256)

Trace transaction endpoint for parity’s trace_transaction

§

TraceBlock(BlockNumberOrTag)

Trace transaction endpoint for parity’s trace_block

§

TraceFilter(TraceFilter)

§

ImpersonateAccount(Address)

send transactions impersonating specific account and contract addresses.

§

StopImpersonatingAccount(Address)

Stops impersonating an account if previously set with anvil_impersonateAccount

§

AutoImpersonateAccount(bool)

Will make every account impersonated

§

GetAutoMine(())

Returns true if automatic mining is enabled, and false.

§

Mine(Option<U256>, Option<U256>)

Mines a series of blocks

Tuple Fields

§0: Option<U256>

Number of blocks to mine, if not set 1 block is mined

§1: Option<U256>

The time interval between each block in seconds, defaults to 1 seconds The interval is applied only to blocks mined in the given method invocation, not to blocks mined afterwards. Set this to 0 to instantly mine all blocks

§

SetAutomine(bool)

Enables or disables, based on the single boolean argument, the automatic mining of new blocks with each new transaction submitted to the network.

§

SetIntervalMining(u64)

Sets the mining behavior to interval with the given interval (seconds)

§

GetIntervalMining(())

Gets the current mining behavior

§

DropTransaction(B256)

Removes transactions from the pool

§

DropAllTransactions()

Removes transactions from the pool

§

Reset(Option<Params<Option<Forking>>>)

Reset the fork to a fresh forked state, and optionally update the fork config

§

SetRpcUrl(String)

Sets the backend rpc url

§

SetBalance(Address, U256)

Modifies the balance of an account.

§

SetCode(Address, Bytes)

Sets the code of a contract

§

SetNonce(Address, U256)

Sets the nonce of an address

§

SetStorageAt(Address, U256, B256)

Writes a single slot of the account’s storage

Tuple Fields

§0: Address
§1: U256

slot

§2: B256

value

§

SetCoinbase(Address)

Sets the coinbase address

§

SetChainId(u64)

Sets the chain id

§

SetLogging(bool)

Enable or disable logging

§

SetMinGasPrice(U256)

Set the minimum gas price for the node

§

SetNextBlockBaseFeePerGas(U256)

Sets the base fee of the next block

§

EvmSetTime(U256)

Sets the specific timestamp Accepts timestamp (Unix epoch) with millisecond precision and returns the number of seconds between the given timestamp and the current time.

§

DumpState(Option<Params<Option<bool>>>)

Serializes the current state (including contracts code, contract’s storage, accounts properties, etc.) into a saveable data blob

§

LoadState(Bytes)

Adds state previously dumped with DumpState to the current chain

§

NodeInfo(())

Retrieves the Anvil node configuration params

§

AnvilMetadata(())

Retrieves the Anvil node metadata.

§

EvmSnapshot(())

§

EvmRevert(U256)

Revert the state of the blockchain to a previous snapshot. Takes a single parameter, which is the snapshot id to revert to.

Ref https://github.com/trufflesuite/ganache/blob/ef1858d5d6f27e4baeb75cccd57fb3dc77a45ae8/src/chains/ethereum/ethereum/RPC-METHODS.md#evm_revert

§

EvmIncreaseTime(U256)

Jump forward in time by the given amount of time, in seconds.

§

EvmSetNextBlockTimeStamp(U256)

Similar to evm_increaseTime but takes the exact timestamp that you want in the next block

§

EvmSetBlockGasLimit(U256)

Set the exact gas limit that you want in the next block

§

EvmSetBlockTimeStampInterval(u64)

Similar to evm_increaseTime but takes sets a block timestamp interval.

The timestamp of the next block will be computed as lastBlock_timestamp + interval.

§

EvmRemoveBlockTimeStampInterval(())

Removes a anvil_setBlockTimestampInterval if it exists

§

EvmMine(Option<Params<Option<MineOptions>>>)

Mine a single block

§

EvmMineDetailed(Option<Params<Option<MineOptions>>>)

Mine a single block and return detailed data

This behaves exactly as EvmMine but returns different output, for compatibility reasons this is a separate call since evm_mine is not an anvil original.

§

EthSendUnsignedTransaction(Box<WithOtherFields<TransactionRequest>>)

Execute a transaction regardless of signature status

§

EnableTraces(())

Turn on call traces for transactions that are returned to the user when they execute a transaction (instead of just txhash/receipt)

§

TxPoolStatus(())

Returns the number of transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only. Ref: https://geth.ethereum.org/docs/rpc/ns-txpool#txpool_status

§

TxPoolInspect(())

Returns a summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only. Ref: https://geth.ethereum.org/docs/rpc/ns-txpool#txpool_inspect

§

TxPoolContent(())

Returns the details of all transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future execution only. Ref: https://geth.ethereum.org/docs/rpc/ns-txpool#txpool_content

§

ErigonGetHeaderByNumber(BlockNumberOrTag)

Otterscan’s ots_getApiLevel endpoint Otterscan currently requires this endpoint, even though it’s not part of the ots_* https://github.com/otterscan/otterscan/blob/071d8c55202badf01804f6f8d53ef9311d4a9e47/src/useProvider.ts#L71 Related upstream issue: https://github.com/otterscan/otterscan/issues/1081

§

OtsGetApiLevel(())

Otterscan’s ots_getApiLevel endpoint Used as a simple API versioning scheme for the ots_* namespace

§

OtsGetInternalOperations(B256)

Otterscan’s ots_getInternalOperations endpoint Traces internal ETH transfers, contracts creation (CREATE/CREATE2) and self-destructs for a certain transaction.

§

OtsHasCode(Address, BlockNumberOrTag)

Otterscan’s ots_hasCode endpoint Check if an ETH address contains code at a certain block number.

§

OtsTraceTransaction(B256)

Otterscan’s ots_traceTransaction endpoint Trace a transaction and generate a trace call tree.

§

OtsGetTransactionError(B256)

Otterscan’s ots_getTransactionError endpoint Given a transaction hash, returns its raw revert reason.

§

OtsGetBlockDetails(BlockNumberOrTag)

Otterscan’s ots_getBlockDetails endpoint Given a block number, return its data. Similar to the standard eth_getBlockByNumber/Hash method, but can be optimized by excluding unnecessary data such as transactions and logBloom

§

OtsGetBlockDetailsByHash(B256)

Otterscan’s ots_getBlockDetails endpoint Same as ots_getBlockDetails, but receiving a block hash instead of number

§

OtsGetBlockTransactions(u64, usize, usize)

Otterscan’s ots_getBlockTransactions endpoint Gets paginated transaction data for a certain block. Return data is similar to eth_getBlockBy* + eth_getTransactionReceipt.

§

OtsSearchTransactionsBefore(Address, u64, usize)

Otterscan’s ots_searchTransactionsBefore endpoint Address history navigation. searches backwards from certain point in time.

§

OtsSearchTransactionsAfter(Address, u64, usize)

Otterscan’s ots_searchTransactionsAfter endpoint Address history navigation. searches forward from certain point in time.

§

OtsGetTransactionBySenderAndNonce(Address, U256)

Otterscan’s ots_getTransactionBySenderAndNonce endpoint Given a sender address and a nonce, returns the tx hash or null if not found. It returns only the tx hash on success, you can use the standard eth_getTransactionByHash after that to get the full transaction data.

§

OtsGetContractCreator(Address)

Otterscan’s ots_getTransactionBySenderAndNonce endpoint Given an ETH contract address, returns the tx hash and the direct address who created the contract.

§

RemovePoolTransactions(Address)

Removes transactions from the pool by sender origin.

§

Reorg(ReorgOptions)

Reorg the chain

§

WalletGetCapabilities(())

Wallet

§

WalletSendTransaction(Box<WithOtherFields<TransactionRequest>>)

Wallet send_tx

§

AnvilAddCapability(Address)

Add an address to the DelegationCapability of the wallet

§

AnvilSetExecutor(String)

Set the executor (sponsor) wallet

Trait Implementations§

Source§

impl Clone for EthRequest

Source§

fn clone(&self) -> EthRequest

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

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

Performs copy-assignment from source. Read more
Source§

impl Debug for EthRequest

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for EthRequest

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

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, dst: *mut u8)

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

impl<T, R> CollectAndApply<T, R> for T

§

fn collect_and_apply<I, F>(iter: I, f: F) -> R
where I: Iterator<Item = T>, F: FnOnce(&[T]) -> R,

Equivalent to f(&iter.collect::<Vec<_>>()).

§

type Output = R

§

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,

§

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<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

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

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

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.
§

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

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

§

impl<T> MaybeSendSync for T

§

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

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: 976 bytes

Size for each variant:

  • Web3ClientVersion: 0 bytes
  • Web3Sha3: 48 bytes
  • EthChainId: 0 bytes
  • EthNetworkId: 0 bytes
  • NetListening: 0 bytes
  • EthGasPrice: 0 bytes
  • EthMaxPriorityFeePerGas: 0 bytes
  • EthBlobBaseFee: 0 bytes
  • EthAccounts: 0 bytes
  • EthBlockNumber: 0 bytes
  • EthGetBalance: 80 bytes
  • EthGetAccount: 80 bytes
  • EthGetStorageAt: 112 bytes
  • EthGetBlockByHash: 49 bytes
  • EthGetBlockByNumber: 40 bytes
  • EthGetTransactionCount: 80 bytes
  • EthGetTransactionCountByHash: 48 bytes
  • EthGetTransactionCountByNumber: 32 bytes
  • EthGetUnclesCountByHash: 48 bytes
  • EthGetUnclesCountByNumber: 32 bytes
  • EthGetCodeAt: 80 bytes
  • EthGetProof: 104 bytes
  • EthSign: 72 bytes
  • PersonalSign: 72 bytes
  • EthSignTransaction: 24 bytes
  • EthSignTypedData: 112 bytes
  • EthSignTypedDataV3: 112 bytes
  • EthSignTypedDataV4: 328 bytes
  • EthSendTransaction: 24 bytes
  • EthSendRawTransaction: 48 bytes
  • EthCall: 608 bytes
  • EthCreateAccessList: 576 bytes
  • EthEstimateGas: 608 bytes
  • EthGetTransactionByHash: 48 bytes
  • EthGetTransactionByBlockHashAndIndex: 56 bytes
  • EthGetTransactionByBlockNumberAndIndex: 40 bytes
  • EthGetRawTransactionByHash: 48 bytes
  • EthGetRawTransactionByBlockHashAndIndex: 56 bytes
  • EthGetRawTransactionByBlockNumberAndIndex: 40 bytes
  • EthGetTransactionReceipt: 48 bytes
  • EthGetBlockReceipts: 56 bytes
  • EthGetUncleByBlockHashAndIndex: 56 bytes
  • EthGetUncleByBlockNumberAndIndex: 40 bytes
  • EthGetLogs: 256 bytes
  • EthNewFilter: 256 bytes
  • EthGetFilterChanges: 40 bytes
  • EthNewBlockFilter: 0 bytes
  • EthNewPendingTransactionFilter: 0 bytes
  • EthGetFilterLogs: 40 bytes
  • EthUninstallFilter: 40 bytes
  • EthGetWork: 0 bytes
  • EthSubmitWork: 88 bytes
  • EthSubmitHashRate: 80 bytes
  • EthFeeHistory: 88 bytes
  • EthSyncing: 0 bytes
  • DebugGetRawTransaction: 48 bytes
  • DebugTraceTransaction: 192 bytes
  • DebugTraceCall: 976 bytes
  • TraceTransaction: 48 bytes
  • TraceBlock: 32 bytes
  • TraceFilter: 136 bytes
  • ImpersonateAccount: 36 bytes
  • StopImpersonatingAccount: 36 bytes
  • AutoImpersonateAccount: 17 bytes
  • GetAutoMine: 0 bytes
  • Mine: 96 bytes
  • SetAutomine: 17 bytes
  • SetIntervalMining: 24 bytes
  • GetIntervalMining: 0 bytes
  • DropTransaction: 48 bytes
  • DropAllTransactions: 0 bytes
  • Reset: 56 bytes
  • SetRpcUrl: 40 bytes
  • SetBalance: 72 bytes
  • SetCode: 72 bytes
  • SetNonce: 72 bytes
  • SetStorageAt: 104 bytes
  • SetCoinbase: 36 bytes
  • SetChainId: 24 bytes
  • SetLogging: 17 bytes
  • SetMinGasPrice: 48 bytes
  • SetNextBlockBaseFeePerGas: 48 bytes
  • EvmSetTime: 48 bytes
  • DumpState: 17 bytes
  • LoadState: 48 bytes
  • NodeInfo: 0 bytes
  • AnvilMetadata: 0 bytes
  • EvmSnapshot: 0 bytes
  • EvmRevert: 48 bytes
  • EvmIncreaseTime: 48 bytes
  • EvmSetNextBlockTimeStamp: 48 bytes
  • EvmSetBlockGasLimit: 48 bytes
  • EvmSetBlockTimeStampInterval: 24 bytes
  • EvmRemoveBlockTimeStampInterval: 0 bytes
  • EvmMine: 48 bytes
  • EvmMineDetailed: 48 bytes
  • EthSendUnsignedTransaction: 24 bytes
  • EnableTraces: 0 bytes
  • TxPoolStatus: 0 bytes
  • TxPoolInspect: 0 bytes
  • TxPoolContent: 0 bytes
  • ErigonGetHeaderByNumber: 32 bytes
  • OtsGetApiLevel: 0 bytes
  • OtsGetInternalOperations: 48 bytes
  • OtsHasCode: 56 bytes
  • OtsTraceTransaction: 48 bytes
  • OtsGetTransactionError: 48 bytes
  • OtsGetBlockDetails: 32 bytes
  • OtsGetBlockDetailsByHash: 48 bytes
  • OtsGetBlockTransactions: 40 bytes
  • OtsSearchTransactionsBefore: 56 bytes
  • OtsSearchTransactionsAfter: 56 bytes
  • OtsGetTransactionBySenderAndNonce: 72 bytes
  • OtsGetContractCreator: 36 bytes
  • RemovePoolTransactions: 36 bytes
  • Reorg: 48 bytes
  • WalletGetCapabilities: 0 bytes
  • WalletSendTransaction: 24 bytes
  • AnvilAddCapability: 36 bytes
  • AnvilSetExecutor: 40 bytes