Authorization

Struct Authorization 

Source
pub struct Authorization {
    pub authority: H160,
    pub address: H160,
    pub nonce: u64,
    pub is_valid: bool,
}
Expand description

Authorization contains already prepared data for EIP-7702.

  • authorityis ecrecovered authority address.
  • address is delegation destination address.
  • nonce is the nonce value which authority.nonce should be equal.
  • is_valid is the flag that indicates the validity of the authorization. It is used to charge gas for each authorization item, but if it’s invalid exclude from EVM authority_list flow.

Fields§

§authority: H160§address: H160§nonce: u64§is_valid: bool

Implementations§

Source§

impl Authorization

Source

pub const fn new( authority: H160, address: H160, nonce: u64, is_valid: bool, ) -> Self

Create a new Authorization with given authority, address, and nonce.

Source

pub fn is_delegated(code: &[u8]) -> bool

Returns true if authority is delegated to address. 0xef0100 ++ address, and it is always 23 bytes.

Source

pub fn get_delegated_address(code: &[u8]) -> Option<H160>

Get authority delegated address. It checks, is it delegation designation (EIP-7702).

Source

pub fn delegation_code(&self) -> Vec<u8>

Returns the delegation code as composing: 0xef0100 ++ address. Result code is always 23 bytes.

Trait Implementations§

Source§

impl Clone for Authorization

Source§

fn clone(&self) -> Authorization

Returns a duplicate 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 Authorization

Source§

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

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

impl Default for Authorization

Source§

fn default() -> Authorization

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

impl PartialEq for Authorization

Source§

fn eq(&self, other: &Authorization) -> 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.
Source§

impl Eq for Authorization

Source§

impl StructuralPartialEq for Authorization

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

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V