pub struct Eip712Domain {
pub name: Option<Cow<'static, str>>,
pub version: Option<Cow<'static, str>>,
pub chain_id: Option<Uint<256, 4>>,
pub verifying_contract: Option<Address>,
pub salt: Option<FixedBytes<32>>,
}sol-types only.Expand description
EIP-712 domain attributes used in determining the domain separator.
Unused fields are left out of the struct type.
Protocol designers only need to include the fields that make sense for their signing domain.
Fields§
§name: Option<Cow<'static, str>>The user readable name of signing domain, i.e. the name of the DApp or the protocol.
version: Option<Cow<'static, str>>The current major version of the signing domain. Signatures from different versions are not compatible.
chain_id: Option<Uint<256, 4>>The EIP-155 chain ID. The user-agent should refuse signing if it does not match the currently active chain.
verifying_contract: Option<Address>The address of the contract that will verify the signature.
salt: Option<FixedBytes<32>>A disambiguating salt for the protocol. This can be used as a domain separator of last resort.
Implementations§
Source§impl Eip712Domain
impl Eip712Domain
Sourcepub const NAME: &'static str = "EIP712Domain"
Available on crate feature dyn-abi only.
pub const NAME: &'static str = "EIP712Domain"
dyn-abi only.The name of the struct.
Sourcepub const fn new(
name: Option<Cow<'static, str>>,
version: Option<Cow<'static, str>>,
chain_id: Option<Uint<256, 4>>,
verifying_contract: Option<Address>,
salt: Option<FixedBytes<32>>,
) -> Eip712Domain
Available on crate feature dyn-abi only.
pub const fn new( name: Option<Cow<'static, str>>, version: Option<Cow<'static, str>>, chain_id: Option<Uint<256, 4>>, verifying_contract: Option<Address>, salt: Option<FixedBytes<32>>, ) -> Eip712Domain
dyn-abi only.Instantiate a new EIP-712 domain.
Use the eip712_domain! macro for easier
instantiation.
Sourcepub fn separator(&self) -> FixedBytes<32>
Available on crate feature dyn-abi only.
pub fn separator(&self) -> FixedBytes<32>
dyn-abi only.Calculate the domain separator for the domain object.
Sourcepub fn encode_type(&self) -> String
Available on crate feature dyn-abi only.
pub fn encode_type(&self) -> String
dyn-abi only.The EIP-712-encoded type string.
See EIP-712 encodeType.
Sourcepub fn type_hash(&self) -> FixedBytes<32>
Available on crate feature dyn-abi only.
pub fn type_hash(&self) -> FixedBytes<32>
dyn-abi only.Calculates the EIP-712 typeHash
for this domain.
This is defined as the Keccak-256 hash of the
encodeType string.
Sourcepub const fn num_words(&self) -> usize
Available on crate feature dyn-abi only.
pub const fn num_words(&self) -> usize
dyn-abi only.Returns the number of ABI words (32 bytes) that will be used to encode the domain.
Sourcepub const fn abi_encoded_size(&self) -> usize
Available on crate feature dyn-abi only.
pub const fn abi_encoded_size(&self) -> usize
dyn-abi only.Returns the number of bytes that will be used to encode the domain.
Sourcepub fn encode_data_to(&self, out: &mut Vec<u8>)
Available on crate feature dyn-abi only.
pub fn encode_data_to(&self, out: &mut Vec<u8>)
dyn-abi only.Encodes this domain using EIP-712 encodeData
into the given buffer.
Sourcepub fn encode_data(&self) -> Vec<u8> ⓘ
Available on crate feature dyn-abi only.
pub fn encode_data(&self) -> Vec<u8> ⓘ
dyn-abi only.Encodes this domain using EIP-712 encodeData.
Sourcepub fn hash_struct(&self) -> FixedBytes<32>
Available on crate feature dyn-abi only.
pub fn hash_struct(&self) -> FixedBytes<32>
dyn-abi only.Hashes this domain according to EIP-712 hashStruct.
Trait Implementations§
Source§impl Clone for Eip712Domain
impl Clone for Eip712Domain
Source§fn clone(&self) -> Eip712Domain
fn clone(&self) -> Eip712Domain
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Eip712Domain
impl Debug for Eip712Domain
Source§impl Default for Eip712Domain
impl Default for Eip712Domain
Source§fn default() -> Eip712Domain
fn default() -> Eip712Domain
Source§impl<'de> Deserialize<'de> for Eip712Domain
impl<'de> Deserialize<'de> for Eip712Domain
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Eip712Domain, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Eip712Domain, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Hash for Eip712Domain
impl Hash for Eip712Domain
Source§impl PartialEq for Eip712Domain
impl PartialEq for Eip712Domain
Source§impl Serialize for Eip712Domain
impl Serialize for Eip712Domain
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for Eip712Domain
impl StructuralPartialEq for Eip712Domain
Auto Trait Implementations§
impl Freeze for Eip712Domain
impl RefUnwindSafe for Eip712Domain
impl Send for Eip712Domain
impl Sync for Eip712Domain
impl Unpin for Eip712Domain
impl UnwindSafe for Eip712Domain
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> ⓘ
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> ⓘ
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
Source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
impl<'de, T> BorrowedRpcObject<'de> for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<'de, T> RpcBorrow<'de> for T
impl<T> RpcObject for T
impl<T> RpcRecv for T
impl<T> RpcSend for T
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: 144 bytes