pub enum PrecompileSpecId {
HOMESTEAD,
BYZANTIUM,
ISTANBUL,
BERLIN,
CANCUN,
PRAGUE,
OSAKA,
}Expand description
Ethereum hardfork spec ids. Represents the specs where precompiles had a change.
Variants§
HOMESTEAD
Frontier spec.
BYZANTIUM
Byzantium spec introduced
ISTANBUL
Istanbul spec introduced
EIP-152: Add BLAKE2 compression functionFprecompile (at 0x09 address).EIP-1108: Reduce alt_bn128 precompile gas costs. It reduced the gas cost of the bn_add, bn_mul, and bn_pair precompiles.
BERLIN
Berlin spec made a change to:
EIP-2565: ModExp Gas Cost. It changed the gas cost of the modexp precompile.
CANCUN
Cancun spec added
EIP-4844: Shard Blob Transactions. It added the KZG point evaluation precompile (at 0x0A address).
PRAGUE
Prague spec added bls precompiles EIP-2537: Precompile for BLS12-381 curve operations.
BLS12_G1ADDat address 0x0bBLS12_G1MSMat address 0x0cBLS12_G2ADDat address 0x0dBLS12_G2MSMat address 0x0eBLS12_PAIRING_CHECKat address 0x0fBLS12_MAP_FP_TO_G1at address 0x10BLS12_MAP_FP2_TO_G2at address 0x11
OSAKA
Osaka spec added changes to modexp precompile:
Implementations§
Source§impl PrecompileSpecId
impl PrecompileSpecId
Sourcepub const fn from_spec_id(spec_id: SpecId) -> Self
pub const fn from_spec_id(spec_id: SpecId) -> Self
Returns the appropriate precompile Spec for the primitive [SpecId].
Trait Implementations§
Source§impl Clone for PrecompileSpecId
impl Clone for PrecompileSpecId
Source§fn clone(&self) -> PrecompileSpecId
fn clone(&self) -> PrecompileSpecId
Returns a duplicate 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 PrecompileSpecId
impl Debug for PrecompileSpecId
Source§impl From<SpecId> for PrecompileSpecId
impl From<SpecId> for PrecompileSpecId
Source§impl Hash for PrecompileSpecId
impl Hash for PrecompileSpecId
Source§impl Ord for PrecompileSpecId
impl Ord for PrecompileSpecId
Source§fn cmp(&self, other: &PrecompileSpecId) -> Ordering
fn cmp(&self, other: &PrecompileSpecId) -> 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 PrecompileSpecId
impl PartialEq for PrecompileSpecId
Source§impl PartialOrd for PrecompileSpecId
impl PartialOrd for PrecompileSpecId
impl Copy for PrecompileSpecId
impl Eq for PrecompileSpecId
impl StructuralPartialEq for PrecompileSpecId
Auto Trait Implementations§
impl Freeze for PrecompileSpecId
impl RefUnwindSafe for PrecompileSpecId
impl Send for PrecompileSpecId
impl Sync for PrecompileSpecId
impl Unpin for PrecompileSpecId
impl UnwindSafe for PrecompileSpecId
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§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> 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