foundry_cheatcodes_spec::vm::Vm

Struct SignedDelegation

Source
pub struct SignedDelegation {
    pub v: u8,
    pub r: FixedBytes<32>,
    pub s: FixedBytes<32>,
    pub nonce: u64,
    pub implementation: Address,
}
Expand description

Holds a signed EIP-7702 authorization for an authority account to delegate to an implementation.

struct SignedDelegation { uint8 v; bytes32 r; bytes32 s; uint64 nonce; address implementation; }

Fields§

§v: u8

The y-parity of the recovered secp256k1 signature (0 or 1).

§r: FixedBytes<32>

First 32 bytes of the signature.

§s: FixedBytes<32>

Second 32 bytes of the signature.

§nonce: u64

The current nonce of the authority account at signing time. Used to ensure signature can’t be replayed after account nonce changes.

§implementation: Address

Address of the contract implementation that will be delegated to. Gets encoded into delegation code: 0xef0100 || implementation.

Implementations§

Source§

impl SignedDelegation

Source

pub const STRUCT: &'static Struct<'static> = _

The struct definition.

Trait Implementations§

Source§

impl Clone for SignedDelegation

Source§

fn clone(&self) -> SignedDelegation

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 SignedDelegation

Source§

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

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

impl EventTopic for SignedDelegation

Source§

fn topic_preimage_length(rust: &Self::RustType) -> usize

The number of bytes this type occupies in another topic’s preimage, usually a multiple of 32. Read more
Source§

fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)

Encodes this type as preimage bytes which are then hashed in complex types’ [encode_topic][EventTopic::encode_topic]. Read more
Source§

fn encode_topic(rust: &Self::RustType) -> WordToken

Indexed event parameter encoding. Read more
Source§

impl SolStruct for SignedDelegation

Source§

const NAME: &'static str = "SignedDelegation"

The struct name. Read more
Source§

fn eip712_root_type() -> Cow<'static, str>

Return the root EIP-712 type. This type is used to construct the encodeType string.
Source§

fn eip712_components() -> Vec<Cow<'static, str>>

Returns component EIP-712 types. These types are used to construct the encodeType string. These are the types of the struct’s fields, and should not include the root type.
Source§

fn eip712_encode_type() -> Cow<'static, str>

The EIP-712-encoded type string. Read more
Source§

fn eip712_encode_data(&self) -> Vec<u8>

Encodes this domain using EIP-712 encodeData.
§

fn eip712_type_hash(&self) -> FixedBytes<32>

Calculates the EIP-712 typeHash for this struct. Read more
§

fn eip712_hash_struct(&self) -> FixedBytes<32>

Hashes this struct according to EIP-712 hashStruct.
§

fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>

Does something. Read more
Source§

impl SolType for SignedDelegation

Source§

const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME

The name of this type in Solidity.
Source§

const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::ENCODED_SIZE

The statically-known ABI-encoded size of the type. Read more
Source§

const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE

The statically-known Non-standard Packed Mode ABI-encoded size of the type. Read more
Source§

type RustType = SignedDelegation

The corresponding Rust type.
Source§

type Token<'a> = <(Uint<8>, FixedBytes<32>, FixedBytes<32>, Uint<64>, Address) as SolType>::Token<'a>

The corresponding ABI token type. Read more
Source§

fn valid_token(token: &Self::Token<'_>) -> bool

Returns true if the given token can be detokenized with this type.
Source§

fn detokenize(token: Self::Token<'_>) -> Self::RustType

Detokenize this type’s value from the given token. Read more
§

const DYNAMIC: bool = _

Whether the ABI-encoded size is dynamic. Read more
§

fn sol_type_name() -> Cow<'static, str>

👎Deprecated since 0.6.3: use SOL_NAME instead
Returns the name of this type in Solidity.
§

fn abi_encoded_size<E>(rust: &E) -> usize
where E: SolTypeValue<Self> + ?Sized,

Calculate the ABI-encoded size of the data, counting both head and tail words. For a single-word type this will always be 32.
§

fn type_check(token: &Self::Token<'_>) -> Result<(), Error>

Returns an error if the given token cannot be detokenized with this type.
§

fn tokenize<E>(rust: &E) -> Self::Token<'_>
where E: SolTypeValue<Self> + ?Sized,

Tokenizes the given value into this type’s token. Read more
§

fn eip712_data_word<E>(rust: &E) -> FixedBytes<32>
where E: SolTypeValue<Self> + ?Sized,

Encode this data according to EIP-712 encodeData rules, and hash it if necessary. Read more
§

fn abi_packed_encoded_size<E>(rust: &E) -> usize
where E: SolTypeValue<Self> + ?Sized,

Returns the length of this value when ABI-encoded in Non-standard Packed Mode. Read more
§

fn abi_encode_packed_to<E>(rust: &E, out: &mut Vec<u8>)
where E: SolTypeValue<Self> + ?Sized,

Non-standard Packed Mode ABI encoding. Read more
§

fn abi_encode_packed<E>(rust: &E) -> Vec<u8>
where E: SolTypeValue<Self> + ?Sized,

Non-standard Packed Mode ABI encoding. Read more
§

fn abi_encode<E>(rust: &E) -> Vec<u8>
where E: SolTypeValue<Self> + ?Sized,

Tokenizes and ABI-encodes the given value by wrapping it in a single-element sequence. Read more
§

fn abi_encode_params<E>(rust: &E) -> Vec<u8>
where E: SolTypeValue<Self> + ?Sized, Self::Token<'a>: for<'a> TokenSeq<'a>,

Tokenizes and ABI-encodes the given value as function parameters. Read more
§

fn abi_encode_sequence<E>(rust: &E) -> Vec<u8>
where E: SolTypeValue<Self> + ?Sized, Self::Token<'a>: for<'a> TokenSeq<'a>,

Tokenizes and ABI-encodes the given value as a sequence. Read more
§

fn abi_decode(data: &[u8], validate: bool) -> Result<Self::RustType, Error>

Decodes this type’s value from an ABI blob by interpreting it as a single-element sequence. Read more
§

fn abi_decode_params<'de>( data: &'de [u8], validate: bool, ) -> Result<Self::RustType, Error>
where Self::Token<'de>: TokenSeq<'de>,

Decodes this type’s value from an ABI blob by interpreting it as function parameters. Read more
§

fn abi_decode_sequence<'de>( data: &'de [u8], validate: bool, ) -> Result<Self::RustType, Error>
where Self::Token<'de>: TokenSeq<'de>,

Decodes this type’s value from an ABI blob by interpreting it as a sequence. Read more
Source§

impl SolTypeValue<SignedDelegation> for SignedDelegation

Source§

fn stv_to_tokens(&self) -> <Self as SolType>::Token<'_>

Source§

fn stv_abi_encoded_size(&self) -> usize

Source§

fn stv_eip712_data_word(&self) -> Word

Source§

fn stv_abi_encode_packed_to(&self, out: &mut Vec<u8>)

Source§

fn stv_abi_packed_encoded_size(&self) -> usize

Source§

impl SolValue for SignedDelegation

Source§

type SolType = SignedDelegation

The Solidity type that this type corresponds to.
§

fn sol_name(&self) -> &'static str

The name of the associated Solidity type. Read more
§

fn sol_type_name(&self) -> Cow<'static, str>

👎Deprecated since 0.6.3: use sol_name instead
The name of the associated Solidity type. Read more
§

fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>

Tokenizes the given value into this type’s token. Read more
§

fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Self
where Self: From<<Self::SolType as SolType>::RustType>,

Detokenize a value from the given token. Read more
§

fn abi_encoded_size(&self) -> usize

Calculate the ABI-encoded size of the data. Read more
§

fn eip712_data_word(&self) -> FixedBytes<32>

Encode this data according to EIP-712 encodeData rules, and hash it if necessary. Read more
§

fn abi_encode_packed_to(&self, out: &mut Vec<u8>)

Non-standard Packed Mode ABI encoding. Read more
§

fn abi_encode_packed(&self) -> Vec<u8>

Non-standard Packed Mode ABI encoding. Read more
§

fn abi_encode(&self) -> Vec<u8>

ABI-encodes the value. Read more
§

fn abi_encode_sequence(&self) -> Vec<u8>
where <Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,

Encodes an ABI sequence. Read more
§

fn abi_encode_params(&self) -> Vec<u8>
where <Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,

Encodes an ABI sequence suitable for function parameters. Read more
§

fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>
where Self: From<<Self::SolType as SolType>::RustType>,

ABI-decode this type from the given data. Read more
§

fn abi_decode_params<'de>( data: &'de [u8], validate: bool, ) -> Result<Self, Error>
where Self: From<<Self::SolType as SolType>::RustType>, <Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,

ABI-decode this type from the given data. Read more
§

fn abi_decode_sequence<'de>( data: &'de [u8], validate: bool, ) -> Result<Self, Error>
where Self: From<<Self::SolType as SolType>::RustType>, <Self::SolType as SolType>::Token<'de>: TokenSeq<'de>,

ABI-decode this type from the given data. Read more

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

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

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

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

§

fn vzip(self) -> V

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