pub struct PoolKey {
pub currency0: Address,
pub currency1: Address,
pub fee: U24,
pub tickSpacing: I24,
pub hooks: Address,
}Expand description
Identifies a Uniswap V4 pool (and PerpCity perp) by its constituent parameters.
struct PoolKey { address currency0; address currency1; uint24 fee; int24 tickSpacing; address hooks; }Fields§
§currency0: Address§currency1: Address§fee: U24§tickSpacing: I24§hooks: AddressTrait Implementations§
Source§impl EventTopic for PoolKey
impl EventTopic for PoolKey
Source§fn topic_preimage_length(rust: &Self::RustType) -> usize
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>)
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. Read moreSource§impl SolStruct for PoolKey
impl SolStruct for PoolKey
Source§fn eip712_root_type() -> Cow<'static, str>
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>>
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_data(&self) -> Vec<u8> ⓘ
fn eip712_encode_data(&self) -> Vec<u8> ⓘ
Encodes this domain using EIP-712
encodeData.Source§fn eip712_type_hash(&self) -> FixedBytes<32>
fn eip712_type_hash(&self) -> FixedBytes<32>
Calculates the EIP-712
typeHash
for this struct. Read moreSource§fn eip712_hash_struct(&self) -> FixedBytes<32>
fn eip712_hash_struct(&self) -> FixedBytes<32>
Calculates the EIP-712
hashStruct for this value.Source§fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
Calculate the EIP-712 signing hash
for this struct.
Note that this does not sign the hash, only calculates it. Read more
Source§impl SolType for PoolKey
impl SolType for PoolKey
Source§const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME
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
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
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 Token<'a> = <(Address, Address, Uint<24>, Int<24>, Address) as SolType>::Token<'a>
type Token<'a> = <(Address, Address, Uint<24>, Int<24>, Address) as SolType>::Token<'a>
The corresponding ABI token type. Read more
Source§fn valid_token(token: &Self::Token<'_>) -> bool
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
fn detokenize(token: Self::Token<'_>) -> Self::RustType
Detokenize this type’s value from the given token. Read more
Source§fn abi_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
fn abi_encoded_size<E>(rust: &E) -> usizewhere
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.
Source§fn type_check(token: &Self::Token<'_>) -> Result<(), Error>
fn type_check(token: &Self::Token<'_>) -> Result<(), Error>
Returns an error if the given token cannot be detokenized with this
type.
Source§fn tokenize<E>(rust: &E) -> Self::Token<'_>where
E: SolTypeValue<Self> + ?Sized,
fn tokenize<E>(rust: &E) -> Self::Token<'_>where
E: SolTypeValue<Self> + ?Sized,
Tokenizes the given value into this type’s token. Read more
Source§fn eip712_data_word<E>(rust: &E) -> FixedBytes<32>where
E: SolTypeValue<Self> + ?Sized,
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 moreSource§fn abi_packed_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
fn abi_packed_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
Returns the length of this value when ABI-encoded in Non-standard Packed Mode. Read more
Source§fn abi_encode_packed_to<E>(rust: &E, out: &mut Vec<u8>)where
E: SolTypeValue<Self> + ?Sized,
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
Source§fn abi_encode_packed<E>(rust: &E) -> Vec<u8> ⓘwhere
E: SolTypeValue<Self> + ?Sized,
fn abi_encode_packed<E>(rust: &E) -> Vec<u8> ⓘwhere
E: SolTypeValue<Self> + ?Sized,
Non-standard Packed Mode ABI encoding. Read more
Source§fn abi_encode<E>(rust: &E) -> Vec<u8> ⓘwhere
E: SolTypeValue<Self> + ?Sized,
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
Source§fn abi_encode_params<E>(rust: &E) -> Vec<u8> ⓘ
fn abi_encode_params<E>(rust: &E) -> Vec<u8> ⓘ
Tokenizes and ABI-encodes the given value as function parameters. Read more
Source§fn abi_encode_sequence<E>(rust: &E) -> Vec<u8> ⓘ
fn abi_encode_sequence<E>(rust: &E) -> Vec<u8> ⓘ
Tokenizes and ABI-encodes the given value as a sequence. Read more
Source§fn abi_decode(data: &[u8]) -> Result<Self::RustType, Error>
fn abi_decode(data: &[u8]) -> Result<Self::RustType, Error>
Decodes this type’s value from an ABI blob by interpreting it as a
single-element sequence. Read more
Source§fn abi_decode_validate(data: &[u8]) -> Result<Self::RustType, Error>
fn abi_decode_validate(data: &[u8]) -> Result<Self::RustType, Error>
Decodes this type’s value from an ABI blob by interpreting it as
single-element sequence, with validation. Read more
Source§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self::RustType, Error>
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self::RustType, Error>
Decodes this type’s value from an ABI blob by interpreting it as
function parameters. Read more
Source§fn abi_decode_params_validate<'de>(
data: &'de [u8],
) -> Result<Self::RustType, Error>
fn abi_decode_params_validate<'de>( data: &'de [u8], ) -> Result<Self::RustType, Error>
Decodes this type’s value from an ABI blob by interpreting it as
function parameters, with validation. Read more
Source§impl SolTypeValue<PoolKey> for PoolKey
impl SolTypeValue<PoolKey> for PoolKey
fn stv_to_tokens(&self) -> <Self as SolType>::Token<'_>
fn stv_abi_encoded_size(&self) -> usize
fn stv_eip712_data_word(&self) -> Word
fn stv_abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn stv_abi_packed_encoded_size(&self) -> usize
Source§impl SolValue for PoolKey
impl SolValue for PoolKey
Source§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
Tokenizes the given value into this type’s token. Read more
Source§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Self
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Self
Detokenize a value from the given token. Read more
Source§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
Calculate the ABI-encoded size of the data. Read more
Source§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
Encode this data according to EIP-712
encodeData rules, and hash it
if necessary. Read moreSource§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
Non-standard Packed Mode ABI encoding. Read more
Source§fn abi_encode_params(&self) -> Vec<u8> ⓘ
fn abi_encode_params(&self) -> Vec<u8> ⓘ
Encodes an ABI sequence suitable for function parameters. Read more
Source§fn abi_decode(data: &[u8]) -> Result<Self, Error>
fn abi_decode(data: &[u8]) -> Result<Self, Error>
ABI-decode this type from the given data. Read more
Source§fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>
fn abi_decode_validate(data: &[u8]) -> Result<Self, Error>
ABI-decode this type from the given data, with validation. Read more
Source§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>
fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self, Error>
ABI-decode this type from the given data. Read more
Source§fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>
fn abi_decode_params_validate<'de>(data: &'de [u8]) -> Result<Self, Error>
ABI-decode this type from the given data, with validation. Read more
Auto Trait Implementations§
impl Freeze for PoolKey
impl RefUnwindSafe for PoolKey
impl Send for PoolKey
impl Sync for PoolKey
impl Unpin for PoolKey
impl UnsafeUnpin for PoolKey
impl UnwindSafe for PoolKey
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<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