reth_chainspec

Enum NamedChain

#[non_exhaustive]
#[repr(u64)]
pub enum NamedChain {
Show 131 variants Mainnet = 1, Morden = 2, Ropsten = 3, Rinkeby = 4, Goerli = 5, Kovan = 42, Holesky = 17_000, Sepolia = 11_155_111, Odyssey = 911_867, Optimism = 10, OptimismKovan = 69, OptimismGoerli = 420, OptimismSepolia = 11_155_420, Arbitrum = 42_161, ArbitrumTestnet = 421_611, ArbitrumGoerli = 421_613, ArbitrumSepolia = 421_614, ArbitrumNova = 42_170, Cronos = 25, CronosTestnet = 338, Rsk = 30, Crab = 44, Darwinia = 46, Koi = 701, BinanceSmartChain = 56, BinanceSmartChainTestnet = 97, Poa = 99, Sokol = 77, Scroll = 534_352, ScrollSepolia = 534_351, Metis = 1_088, CfxTestnet = 71, Cfx = 1_030, Gnosis = 100, Polygon = 137, PolygonMumbai = 80_001, PolygonAmoy = 80_002, PolygonZkEvm = 1_101, PolygonZkEvmTestnet = 1_442, Fantom = 250, FantomTestnet = 4_002, Moonbeam = 1_284, MoonbeamDev = 1_281, Moonriver = 1_285, Moonbase = 1_287, Dev = 1_337, AnvilHardhat = 31_337, GravityAlphaMainnet = 1_625, GravityAlphaTestnetSepolia = 13_505, Evmos = 9_001, EvmosTestnet = 9_000, Chiado = 10_200, Oasis = 26_863, Emerald = 42_262, EmeraldTestnet = 42_261, FilecoinMainnet = 314, FilecoinCalibrationTestnet = 314_159, Avalanche = 43_114, AvalancheFuji = 43_113, Celo = 42_220, CeloAlfajores = 44_787, CeloBaklava = 62_320, Aurora = 1_313_161_554, AuroraTestnet = 1_313_161_555, Canto = 7_700, CantoTestnet = 740, Boba = 288, Base = 8_453, BaseGoerli = 84_531, BaseSepolia = 84_532, Syndr = 404, SyndrSepolia = 444_444, Shimmer = 148, InkSepolia = 763_373, Fraxtal = 252, FraxtalTestnet = 2_522, Blast = 81_457, BlastSepolia = 168_587_773, Linea = 59_144, LineaGoerli = 59_140, LineaSepolia = 59_141, ZkSync = 324, ZkSyncTestnet = 300, Mantle = 5_000, MantleTestnet = 5_001, MantleSepolia = 5_003, Xai = 660_279, XaiSepolia = 37_714_555_429, Viction = 88, Zora = 7_777_777, ZoraGoerli = 999, ZoraSepolia = 999_999_999, Pgn = 424, PgnSepolia = 58_008, Mode = 34_443, ModeSepolia = 919, Elastos = 20, KakarotSepolia = 920_637_907_288_165, Etherlink = 42_793, EtherlinkTestnet = 128_123, Degen = 666_666_666, OpBNBMainnet = 204, OpBNBTestnet = 5_611, Ronin = 2_020, RoninTestnet = 2_021, Taiko = 167_000, TaikoHekla = 167_009, AutonomysNovaTestnet = 490_000, Flare = 14, FlareCoston2 = 114, Acala = 787, AcalaMandalaTestnet = 595, AcalaTestnet = 597, Karura = 686, KaruraTestnet = 596, Pulsechain = 369, PulsechainTestnet = 943, Immutable = 13_371, ImmutableTestnet = 13_473, SoneiumMinatoTestnet = 1_946, World = 480, WorldSepolia = 4_801, Iotex = 4_689, Core = 1_116, Merlin = 4_200, Bitlayer = 200_901, Vana = 1_480, UnichainSepolia = 1_301, ApeChain = 33_139, Curtis = 33_111, SonicTestnet = 64_165,
}
Expand description

An Ethereum EIP-155 chain.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Mainnet = 1

§

Morden = 2

§

Ropsten = 3

§

Rinkeby = 4

§

Goerli = 5

§

Kovan = 42

§

Holesky = 17_000

§

Sepolia = 11_155_111

§

Odyssey = 911_867

§

Optimism = 10

§

OptimismKovan = 69

§

OptimismGoerli = 420

§

OptimismSepolia = 11_155_420

§

Arbitrum = 42_161

§

ArbitrumTestnet = 421_611

§

ArbitrumGoerli = 421_613

§

ArbitrumSepolia = 421_614

§

ArbitrumNova = 42_170

§

Cronos = 25

§

CronosTestnet = 338

§

Rsk = 30

§

Crab = 44

§

Darwinia = 46

§

Koi = 701

§

BinanceSmartChain = 56

Note the correct name for BSC should be BNB Smart Chain due to the rebranding: https://www.bnbchain.org/en/blog/bsc-is-now-bnb-chain-the-infrastructure-for-the-metafi-universe We keep Binance Smart Chain for backward compatibility, and the enum could be renamed in the future release.

§

BinanceSmartChainTestnet = 97

§

Poa = 99

§

Sokol = 77

§

Scroll = 534_352

§

ScrollSepolia = 534_351

§

Metis = 1_088

§

CfxTestnet = 71

§

Cfx = 1_030

§

Gnosis = 100

§

Polygon = 137

§

PolygonMumbai = 80_001

§

PolygonAmoy = 80_002

§

PolygonZkEvm = 1_101

§

PolygonZkEvmTestnet = 1_442

§

Fantom = 250

§

FantomTestnet = 4_002

§

Moonbeam = 1_284

§

MoonbeamDev = 1_281

§

Moonriver = 1_285

§

Moonbase = 1_287

§

Dev = 1_337

§

AnvilHardhat = 31_337

§

GravityAlphaMainnet = 1_625

§

GravityAlphaTestnetSepolia = 13_505

§

Evmos = 9_001

§

EvmosTestnet = 9_000

§

Chiado = 10_200

§

Oasis = 26_863

§

Emerald = 42_262

§

EmeraldTestnet = 42_261

§

FilecoinMainnet = 314

§

FilecoinCalibrationTestnet = 314_159

§

Avalanche = 43_114

§

AvalancheFuji = 43_113

§

Celo = 42_220

§

CeloAlfajores = 44_787

§

CeloBaklava = 62_320

§

Aurora = 1_313_161_554

§

AuroraTestnet = 1_313_161_555

§

Canto = 7_700

§

CantoTestnet = 740

§

Boba = 288

§

Base = 8_453

§

BaseGoerli = 84_531

§

BaseSepolia = 84_532

§

Syndr = 404

§

SyndrSepolia = 444_444

§

Shimmer = 148

§

InkSepolia = 763_373

§

Fraxtal = 252

§

FraxtalTestnet = 2_522

§

Blast = 81_457

§

BlastSepolia = 168_587_773

§

Linea = 59_144

§

LineaGoerli = 59_140

§

LineaSepolia = 59_141

§

ZkSync = 324

§

ZkSyncTestnet = 300

§

Mantle = 5_000

§

MantleTestnet = 5_001

§

MantleSepolia = 5_003

§

Xai = 660_279

§

XaiSepolia = 37_714_555_429

§

Viction = 88

§

Zora = 7_777_777

§

ZoraGoerli = 999

§

ZoraSepolia = 999_999_999

§

Pgn = 424

§

PgnSepolia = 58_008

§

Mode = 34_443

§

ModeSepolia = 919

§

Elastos = 20

§

KakarotSepolia = 920_637_907_288_165

§

EtherlinkTestnet = 128_123

§

Degen = 666_666_666

§

OpBNBMainnet = 204

§

OpBNBTestnet = 5_611

§

Ronin = 2_020

§

RoninTestnet = 2_021

§

Taiko = 167_000

§

TaikoHekla = 167_009

§

AutonomysNovaTestnet = 490_000

§

Flare = 14

§

FlareCoston2 = 114

§

Acala = 787

§

AcalaMandalaTestnet = 595

§

AcalaTestnet = 597

§

Karura = 686

§

KaruraTestnet = 596

§

Pulsechain = 369

§

PulsechainTestnet = 943

§

Immutable = 13_371

§

ImmutableTestnet = 13_473

§

SoneiumMinatoTestnet = 1_946

§

World = 480

§

WorldSepolia = 4_801

§

Iotex = 4_689

§

Core = 1_116

§

Merlin = 4_200

§

Bitlayer = 200_901

§

Vana = 1_480

§

UnichainSepolia = 1_301

§

ApeChain = 33_139

§

Curtis = 33_111

§

SonicTestnet = 64_165

Implementations§

§

impl NamedChain

pub fn as_str(&self) -> &'static str

Returns the string representation of the chain.

pub const fn is_ethereum(&self) -> bool

Returns true if this chain is Ethereum or an Ethereum testnet.

pub const fn is_optimism(self) -> bool

Returns true if the chain contains Optimism configuration.

pub const fn is_arbitrum(self) -> bool

Returns true if the chain contains Arbitrum configuration.

pub const fn average_blocktime_hint(self) -> Option<Duration>

Returns the chain’s average blocktime, if applicable.

It can be beneficial to know the average blocktime to adjust the polling of an HTTP provider for example.

Note: this is not an accurate average, but is rather a sensible default derived from blocktime charts such as Etherscan’s or Polygonscan’s.

§Examples
use alloy_chains::NamedChain;
use std::time::Duration;

assert_eq!(NamedChain::Mainnet.average_blocktime_hint(), Some(Duration::from_millis(12_000)),);
assert_eq!(NamedChain::Optimism.average_blocktime_hint(), Some(Duration::from_millis(2_000)),);

pub const fn is_legacy(self) -> bool

Returns whether the chain implements EIP-1559 (with the type 2 EIP-2718 transaction type).

§Examples
use alloy_chains::NamedChain;

assert!(!NamedChain::Mainnet.is_legacy());
assert!(NamedChain::Celo.is_legacy());

pub const fn supports_shanghai(self) -> bool

Returns whether the chain supports the Shanghai hardfork.

pub const fn is_testnet(self) -> bool

Returns whether the chain is a testnet.

pub const fn native_currency_symbol(self) -> Option<&'static str>

Returns the symbol of the chain’s native currency.

pub const fn etherscan_urls(self) -> Option<(&'static str, &'static str)>

Returns the chain’s blockchain explorer and its API (Etherscan and Etherscan-like) URLs.

Returns (API_URL, BASE_URL).

All URLs have no trailing /

§Examples
use alloy_chains::NamedChain;

assert_eq!(
    NamedChain::Mainnet.etherscan_urls(),
    Some(("https://api.etherscan.io/api", "https://etherscan.io"))
);
assert_eq!(
    NamedChain::Avalanche.etherscan_urls(),
    Some(("https://api.snowtrace.io/api", "https://snowtrace.io"))
);
assert_eq!(NamedChain::AnvilHardhat.etherscan_urls(), None);

pub const fn etherscan_api_key_name(self) -> Option<&'static str>

Returns the chain’s blockchain explorer’s API key environment variable’s default name.

§Examples
use alloy_chains::NamedChain;

assert_eq!(NamedChain::Mainnet.etherscan_api_key_name(), Some("ETHERSCAN_API_KEY"));
assert_eq!(NamedChain::AnvilHardhat.etherscan_api_key_name(), None);

pub fn etherscan_api_key(self) -> Option<String>

Available on crate feature std only.

Returns the chain’s blockchain explorer’s API key, from the environment variable with the name specified in etherscan_api_key_name.

§Examples
use alloy_chains::NamedChain;

let chain = NamedChain::Mainnet;
std::env::set_var(chain.etherscan_api_key_name().unwrap(), "KEY");
assert_eq!(chain.etherscan_api_key().as_deref(), Some("KEY"));

pub fn public_dns_network_protocol(self) -> Option<String>

Returns the address of the public DNS node list for the given chain.

See also https://github.com/ethereum/discv4-dns-lists.

pub const fn wrapped_native_token(self) -> Option<Address>

Returns the address of the most popular wrapped native token address for this chain, if it exists.

Example:

use alloy_chains::NamedChain;
use alloy_primitives::address;

let chain = NamedChain::Mainnet;
assert_eq!(
    chain.wrapped_native_token(),
    Some(address!("C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"))
);

Trait Implementations§

§

impl AsRef<str> for NamedChain

§

fn as_ref(&self) -> &str

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

impl Clone for NamedChain

§

fn clone(&self) -> NamedChain

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
§

impl Debug for NamedChain

§

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

Formats the value using the given formatter. Read more
§

impl Decodable for NamedChain

Available on crate feature rlp only.
§

fn decode(buf: &mut &[u8]) -> Result<NamedChain, Error>

Decodes the blob into the appropriate type. buf must be advanced past the decoded object.
§

impl Default for NamedChain

§

fn default() -> NamedChain

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

impl<'de> Deserialize<'de> for NamedChain

§

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

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

impl Display for NamedChain

§

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

Formats the value using the given formatter. Read more
§

impl Encodable for NamedChain

Available on crate feature rlp only.
§

fn encode(&self, out: &mut dyn BufMut)

Encodes the type into the out buffer.
§

fn length(&self) -> usize

Returns the length of the encoding of this type in bytes. Read more
§

impl EnumCount for NamedChain

§

const COUNT: usize = 131usize

§

impl<'_derivative_strum> From<&'_derivative_strum NamedChain> for &'static str

§

fn from(x: &'_derivative_strum NamedChain) -> &'static str

Converts to this type from the input type.
§

impl From<NamedChain> for &'static str

§

fn from(x: NamedChain) -> &'static str

Converts to this type from the input type.
§

impl From<NamedChain> for Chain

§

fn from(id: NamedChain) -> Chain

Converts to this type from the input type.
§

impl FromStr for NamedChain

§

type Err = ParseError

The associated error which can be returned from parsing.
§

fn from_str(s: &str) -> Result<NamedChain, <NamedChain as FromStr>::Err>

Parses a string s to return a value of this type. Read more
§

impl Hash for NamedChain

§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl IntoEnumIterator for NamedChain

§

type Iterator = NamedChainIter

§

fn iter() -> NamedChainIter

§

impl Ord for NamedChain

§

fn cmp(&self, other: &NamedChain) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
§

impl PartialEq<u64> for NamedChain

§

fn eq(&self, other: &u64) -> bool

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

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

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

impl PartialEq for NamedChain

§

fn eq(&self, other: &NamedChain) -> bool

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

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

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

impl PartialOrd<u64> for NamedChain

§

fn partial_cmp(&self, other: &u64) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
§

impl PartialOrd for NamedChain

§

fn partial_cmp(&self, other: &NamedChain) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
§

impl Serialize for NamedChain

Available on crate feature serde only.
§

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

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

impl TryFrom<&str> for NamedChain

§

type Error = ParseError

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

fn try_from(s: &str) -> Result<NamedChain, <NamedChain as TryFrom<&str>>::Error>

Performs the conversion.
§

impl TryFrom<Chain> for NamedChain

§

type Error = <NamedChain as TryFrom<u64>>::Error

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

fn try_from( chain: Chain, ) -> Result<NamedChain, <NamedChain as TryFrom<Chain>>::Error>

Performs the conversion.
§

impl TryFrom<i16> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from( value: i16, ) -> Result<NamedChain, <NamedChain as TryFrom<i16>>::Error>

Performs the conversion.
§

impl TryFrom<i32> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from( value: i32, ) -> Result<NamedChain, <NamedChain as TryFrom<i32>>::Error>

Performs the conversion.
§

impl TryFrom<i8> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from(value: i8) -> Result<NamedChain, <NamedChain as TryFrom<i8>>::Error>

Performs the conversion.
§

impl TryFrom<isize> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from( value: isize, ) -> Result<NamedChain, <NamedChain as TryFrom<isize>>::Error>

Performs the conversion.
§

impl TryFrom<u16> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from( value: u16, ) -> Result<NamedChain, <NamedChain as TryFrom<u16>>::Error>

Performs the conversion.
§

impl TryFrom<u32> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from( value: u32, ) -> Result<NamedChain, <NamedChain as TryFrom<u32>>::Error>

Performs the conversion.
§

impl TryFrom<u64> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from( number: u64, ) -> Result<NamedChain, TryFromPrimitiveError<NamedChain>>

Performs the conversion.
§

impl TryFrom<u8> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from(value: u8) -> Result<NamedChain, <NamedChain as TryFrom<u8>>::Error>

Performs the conversion.
§

impl TryFrom<usize> for NamedChain

§

type Error = TryFromPrimitiveError<NamedChain>

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

fn try_from( value: usize, ) -> Result<NamedChain, <NamedChain as TryFrom<usize>>::Error>

Performs the conversion.
§

impl TryFromPrimitive for NamedChain

§

const NAME: &'static str = "NamedChain"

§

type Primitive = u64

§

type Error = TryFromPrimitiveError<NamedChain>

§

fn try_from_primitive( number: <NamedChain as TryFromPrimitive>::Primitive, ) -> Result<NamedChain, TryFromPrimitiveError<NamedChain>>

§

impl VariantArray for NamedChain

§

const VARIANTS: &'static [NamedChain]

§

impl VariantNames for NamedChain

§

const VARIANTS: &'static [&'static str]

Names of the variants of this enum
§

impl Copy for NamedChain

§

impl Eq for NamedChain

§

impl StructuralPartialEq for NamedChain

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 #126799)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<T> Conv for T

§

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

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

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

Source§

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

§

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

§

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

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

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

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

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
§

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> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeSendSync for T

§

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

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

Size for each variant:

  • Mainnet: 0 bytes
  • Morden: 0 bytes
  • Ropsten: 0 bytes
  • Rinkeby: 0 bytes
  • Goerli: 0 bytes
  • Kovan: 0 bytes
  • Holesky: 0 bytes
  • Sepolia: 0 bytes
  • Odyssey: 0 bytes
  • Optimism: 0 bytes
  • OptimismKovan: 0 bytes
  • OptimismGoerli: 0 bytes
  • OptimismSepolia: 0 bytes
  • Arbitrum: 0 bytes
  • ArbitrumTestnet: 0 bytes
  • ArbitrumGoerli: 0 bytes
  • ArbitrumSepolia: 0 bytes
  • ArbitrumNova: 0 bytes
  • Cronos: 0 bytes
  • CronosTestnet: 0 bytes
  • Rsk: 0 bytes
  • Crab: 0 bytes
  • Darwinia: 0 bytes
  • Koi: 0 bytes
  • BinanceSmartChain: 0 bytes
  • BinanceSmartChainTestnet: 0 bytes
  • Poa: 0 bytes
  • Sokol: 0 bytes
  • Scroll: 0 bytes
  • ScrollSepolia: 0 bytes
  • Metis: 0 bytes
  • CfxTestnet: 0 bytes
  • Cfx: 0 bytes
  • Gnosis: 0 bytes
  • Polygon: 0 bytes
  • PolygonMumbai: 0 bytes
  • PolygonAmoy: 0 bytes
  • PolygonZkEvm: 0 bytes
  • PolygonZkEvmTestnet: 0 bytes
  • Fantom: 0 bytes
  • FantomTestnet: 0 bytes
  • Moonbeam: 0 bytes
  • MoonbeamDev: 0 bytes
  • Moonriver: 0 bytes
  • Moonbase: 0 bytes
  • Dev: 0 bytes
  • AnvilHardhat: 0 bytes
  • GravityAlphaMainnet: 0 bytes
  • GravityAlphaTestnetSepolia: 0 bytes
  • Evmos: 0 bytes
  • EvmosTestnet: 0 bytes
  • Chiado: 0 bytes
  • Oasis: 0 bytes
  • Emerald: 0 bytes
  • EmeraldTestnet: 0 bytes
  • FilecoinMainnet: 0 bytes
  • FilecoinCalibrationTestnet: 0 bytes
  • Avalanche: 0 bytes
  • AvalancheFuji: 0 bytes
  • Celo: 0 bytes
  • CeloAlfajores: 0 bytes
  • CeloBaklava: 0 bytes
  • Aurora: 0 bytes
  • AuroraTestnet: 0 bytes
  • Canto: 0 bytes
  • CantoTestnet: 0 bytes
  • Boba: 0 bytes
  • Base: 0 bytes
  • BaseGoerli: 0 bytes
  • BaseSepolia: 0 bytes
  • Syndr: 0 bytes
  • SyndrSepolia: 0 bytes
  • Shimmer: 0 bytes
  • InkSepolia: 0 bytes
  • Fraxtal: 0 bytes
  • FraxtalTestnet: 0 bytes
  • Blast: 0 bytes
  • BlastSepolia: 0 bytes
  • Linea: 0 bytes
  • LineaGoerli: 0 bytes
  • LineaSepolia: 0 bytes
  • ZkSync: 0 bytes
  • ZkSyncTestnet: 0 bytes
  • Mantle: 0 bytes
  • MantleTestnet: 0 bytes
  • MantleSepolia: 0 bytes
  • Xai: 0 bytes
  • XaiSepolia: 0 bytes
  • Viction: 0 bytes
  • Zora: 0 bytes
  • ZoraGoerli: 0 bytes
  • ZoraSepolia: 0 bytes
  • Pgn: 0 bytes
  • PgnSepolia: 0 bytes
  • Mode: 0 bytes
  • ModeSepolia: 0 bytes
  • Elastos: 0 bytes
  • KakarotSepolia: 0 bytes
  • Etherlink: 0 bytes
  • EtherlinkTestnet: 0 bytes
  • Degen: 0 bytes
  • OpBNBMainnet: 0 bytes
  • OpBNBTestnet: 0 bytes
  • Ronin: 0 bytes
  • RoninTestnet: 0 bytes
  • Taiko: 0 bytes
  • TaikoHekla: 0 bytes
  • AutonomysNovaTestnet: 0 bytes
  • Flare: 0 bytes
  • FlareCoston2: 0 bytes
  • Acala: 0 bytes
  • AcalaMandalaTestnet: 0 bytes
  • AcalaTestnet: 0 bytes
  • Karura: 0 bytes
  • KaruraTestnet: 0 bytes
  • Pulsechain: 0 bytes
  • PulsechainTestnet: 0 bytes
  • Immutable: 0 bytes
  • ImmutableTestnet: 0 bytes
  • SoneiumMinatoTestnet: 0 bytes
  • World: 0 bytes
  • WorldSepolia: 0 bytes
  • Iotex: 0 bytes
  • Core: 0 bytes
  • Merlin: 0 bytes
  • Bitlayer: 0 bytes
  • Vana: 0 bytes
  • UnichainSepolia: 0 bytes
  • ApeChain: 0 bytes
  • Curtis: 0 bytes
  • SonicTestnet: 0 bytes