alloy_eip7702

Struct SignedAuthorization

source
pub struct SignedAuthorization { /* private fields */ }
Expand description

A signed EIP-7702 authorization.

Implementations§

source§

impl SignedAuthorization

source

pub fn new_unchecked( inner: Authorization, y_parity: u8, r: U256, s: U256, ) -> Self

Creates a new signed authorization from raw signature values.

source

pub fn signature(&self) -> Result<Signature, SignatureError>

Gets the signature for the authorization. Returns SignatureError if signature could not be constructed from vrs values.

Note that this signature might still be invalid for recovery as it might have s value greater than secp256k1n/2.

source

pub const fn strip_signature(self) -> Authorization

Returns the inner Authorization.

source

pub const fn inner(&self) -> &Authorization

Returns the inner Authorization.

source

pub fn y_parity(&self) -> u8

Returns the signature parity value.

source

pub const fn r(&self) -> U256

Returns the signature r value.

source

pub const fn s(&self) -> U256

Returns the signature s value.

source§

impl SignedAuthorization

source

pub fn recover_authority(&self) -> Result<Address, Eip7702Error>

Recover the authority for the authorization.

§Note

Implementers should check that the authority has no code.

source

pub fn into_recovered(self) -> RecoveredAuthorization

Recover the authority and transform the signed authorization into a RecoveredAuthorization.

Methods from Deref<Target = Authorization>§

source

pub fn chain_id(&self) -> u64

Get the chain_id for the authorization.

§Note

Implementers should check that this matches the current chain_id or is 0.

source

pub fn address(&self) -> &Address

Get the address for the authorization.

source

pub fn nonce(&self) -> u64

Get the nonce for the authorization.

source

pub fn signature_hash(&self) -> B256

Computes the signature hash used to sign the authorization, or recover the authority from a signed authorization list item.

The signature hash is keccak(MAGIC || rlp([chain_id, address, nonce]))

Trait Implementations§

source§

impl<'a> Arbitrary<'a> for SignedAuthorization

source§

fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>

Generate an arbitrary value of Self from the given unstructured data. Read more
source§

fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>

Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more
source§

fn size_hint(depth: usize) -> (usize, Option<usize>)

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
source§

impl Clone for SignedAuthorization

source§

fn clone(&self) -> SignedAuthorization

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 SignedAuthorization

source§

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

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

impl Decodable for SignedAuthorization

source§

fn decode(buf: &mut &[u8]) -> Result<Self>

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

impl Deref for SignedAuthorization

source§

type Target = Authorization

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<'de> Deserialize<'de> for SignedAuthorization

source§

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<'de> DeserializeAs<'de, SignedAuthorization> for SignedAuthorization<'de>

source§

fn deserialize_as<D>(deserializer: D) -> Result<SignedAuthorization, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer.
source§

impl Encodable for SignedAuthorization

source§

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

Encodes the type into the out buffer.
source§

fn length(&self) -> usize

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

impl<'a> From<&'a SignedAuthorization> for SignedAuthorization<'a>

source§

fn from(value: &'a SignedAuthorization) -> Self

Converts to this type from the input type.
source§

impl<'a> From<SignedAuthorization<'a>> for SignedAuthorization

source§

fn from(value: SignedAuthorization<'a>) -> Self

Converts to this type from the input type.
source§

impl From<SignedAuthorization> for RecoveredAuthority

source§

fn from(value: SignedAuthorization) -> Self

Converts to this type from the input type.
source§

impl From<SignedAuthorization> for RecoveredAuthorization

source§

fn from(value: SignedAuthorization) -> Self

Converts to this type from the input type.
source§

impl Hash for SignedAuthorization

source§

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

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

impl PartialEq for SignedAuthorization

source§

fn eq(&self, other: &SignedAuthorization) -> 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 Serialize for SignedAuthorization

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

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

impl<'a> SerializeAs<SignedAuthorization> for SignedAuthorization<'a>

source§

fn serialize_as<S>( source: &SignedAuthorization, serializer: S, ) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer.
source§

impl Eq for SignedAuthorization

source§

impl StructuralPartialEq for SignedAuthorization

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 T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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

source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,