pub enum EvmVersion {
Homestead,
TangerineWhistle,
SpuriousDragon,
Byzantium,
Constantinople,
Petersburg,
Istanbul,
Berlin,
London,
Paris,
Shanghai,
}
Expand description
EVM versions.
Kept in sync with: https://github.com/ethereum/solidity/blob/develop/liblangutil/EVMVersion.h
Variants§
Homestead
TangerineWhistle
SpuriousDragon
Byzantium
Constantinople
Petersburg
Istanbul
Berlin
London
Paris
Shanghai
Implementations§
Source§impl EvmVersion
impl EvmVersion
Sourcepub fn normalize_version(self, version: &Version) -> Option<Self>
pub fn normalize_version(self, version: &Version) -> Option<Self>
Normalizes this EVM version by checking against the given Solc Version
.
Sourcepub fn supports_returndata(&self) -> bool
pub fn supports_returndata(&self) -> bool
Has the RETURNDATACOPY
and RETURNDATASIZE
opcodes.
pub fn has_static_call(&self) -> bool
pub fn has_bitwise_shifting(&self) -> bool
pub fn has_create2(&self) -> bool
pub fn has_ext_code_hash(&self) -> bool
pub fn has_chain_id(&self) -> bool
pub fn has_self_balance(&self) -> bool
pub fn has_base_fee(&self) -> bool
pub fn has_prevrandao(&self) -> bool
pub fn has_push0(&self) -> bool
Trait Implementations§
Source§impl Clone for EvmVersion
impl Clone for EvmVersion
Source§fn clone(&self) -> EvmVersion
fn clone(&self) -> EvmVersion
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for EvmVersion
impl Debug for EvmVersion
Source§impl Default for EvmVersion
impl Default for EvmVersion
Source§fn default() -> EvmVersion
fn default() -> EvmVersion
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for EvmVersion
impl<'de> Deserialize<'de> for EvmVersion
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for EvmVersion
impl Display for EvmVersion
Source§impl FromStr for EvmVersion
impl FromStr for EvmVersion
Source§impl Ord for EvmVersion
impl Ord for EvmVersion
Source§fn cmp(&self, other: &EvmVersion) -> Ordering
fn cmp(&self, other: &EvmVersion) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for EvmVersion
impl PartialEq for EvmVersion
Source§impl PartialOrd for EvmVersion
impl PartialOrd for EvmVersion
Source§impl Serialize for EvmVersion
impl Serialize for EvmVersion
impl Copy for EvmVersion
impl Eq for EvmVersion
impl StructuralPartialEq for EvmVersion
Auto Trait Implementations§
impl Freeze for EvmVersion
impl RefUnwindSafe for EvmVersion
impl Send for EvmVersion
impl Sync for EvmVersion
impl Unpin for EvmVersion
impl UnwindSafe for EvmVersion
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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 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>
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