pub struct ContractPublicValues {
pub id: U256,
pub anchorHash: FixedBytes<32>,
pub anchorType: <AnchorType as SolType>::RustType,
pub genesisHash: FixedBytes<32>,
pub callerAddress: Address,
pub contractAddress: Address,
pub contractCalldata: Bytes,
pub contractOutput: Bytes,
}
Expand description
Public values of a contract call.
These outputs can easily be abi-encoded, for use on-chain.
struct ContractPublicValues { uint256 id; bytes32 anchorHash; AnchorType anchorType; bytes32 genesisHash; address callerAddress; address contractAddress; bytes contractCalldata; bytes contractOutput; }
Fields§
§id: U256
§anchorHash: FixedBytes<32>
§anchorType: <AnchorType as SolType>::RustType
§genesisHash: FixedBytes<32>
§callerAddress: Address
§contractAddress: Address
§contractCalldata: Bytes
§contractOutput: Bytes
Implementations§
Source§impl ContractPublicValues
impl ContractPublicValues
Sourcepub fn new(
call: ContractInput,
output: Bytes,
id: U256,
anchor: B256,
anchor_type: AnchorType,
genesis_hash: B256,
) -> Self
pub fn new( call: ContractInput, output: Bytes, id: U256, anchor: B256, anchor_type: AnchorType, genesis_hash: B256, ) -> Self
Construct a new ContractPublicValues
By default, commit the contract input, the output, and the block hash to public values of the proof. More can be committed if necessary.
Trait Implementations§
Source§impl Clone for ContractPublicValues
impl Clone for ContractPublicValues
Source§fn clone(&self) -> ContractPublicValues
fn clone(&self) -> ContractPublicValues
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ContractPublicValues
impl Debug for ContractPublicValues
Source§impl EventTopic for ContractPublicValues
impl EventTopic for ContractPublicValues
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
][EventTopic::encode_topic]. Read moreSource§fn encode_topic(rust: &Self::RustType) -> WordToken
fn encode_topic(rust: &Self::RustType) -> WordToken
Indexed event parameter encoding. Read more
Source§impl SolStruct for ContractPublicValues
impl SolStruct for ContractPublicValues
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
.§fn eip712_type_hash(&self) -> FixedBytes<32>
fn eip712_type_hash(&self) -> FixedBytes<32>
Calculates the EIP-712
typeHash
for this struct. Read more§fn eip712_hash_struct(&self) -> FixedBytes<32>
fn eip712_hash_struct(&self) -> FixedBytes<32>
Hashes this struct according to EIP-712
hashStruct
.§fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
Does something. Read more
Source§impl SolType for ContractPublicValues
impl SolType for ContractPublicValues
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 RustType = ContractPublicValues
type RustType = ContractPublicValues
The corresponding Rust type.
Source§type Token<'a> = <(Uint<256>, FixedBytes<32>, AnchorType, FixedBytes<32>, Address, Address, Bytes, Bytes) as SolType>::Token<'a>
type Token<'a> = <(Uint<256>, FixedBytes<32>, AnchorType, FixedBytes<32>, Address, Address, Bytes, Bytes) 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
§fn sol_type_name() -> Cow<'static, str>
fn sol_type_name() -> Cow<'static, str>
👎Deprecated since 0.6.3: use
SOL_NAME
insteadReturns the name of this type in Solidity.
§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.
§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.
§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
§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 more§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
§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
§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
§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
§fn abi_encode_params<E>(rust: &E) -> Vec<u8> ⓘwhere
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
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>,
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]) -> 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
§fn abi_decode_params<'de>(data: &'de [u8]) -> Result<Self::RustType, Error>where
Self::Token<'de>: TokenSeq<'de>,
fn abi_decode_params<'de>(data: &'de [u8]) -> 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]) -> Result<Self::RustType, Error>where
Self::Token<'de>: TokenSeq<'de>,
fn abi_decode_sequence<'de>(data: &'de [u8]) -> 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<ContractPublicValues> for ContractPublicValues
impl SolTypeValue<ContractPublicValues> for ContractPublicValues
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 ContractPublicValues
impl SolValue for ContractPublicValues
Source§type SolType = ContractPublicValues
type SolType = ContractPublicValues
The Solidity type that this type corresponds to.
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
👎Deprecated since 0.6.3: use
sol_name
insteadThe name of the associated Solidity type. Read more
§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
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
Detokenize a value from the given token. Read more
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
Calculate the ABI-encoded size of the data. Read more
§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 more§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
§fn abi_encode_sequence(&self) -> Vec<u8> ⓘwhere
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
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>,
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]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8]) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
ABI-decode this type from the given data. Read more
Auto Trait Implementations§
impl !Freeze for ContractPublicValues
impl RefUnwindSafe for ContractPublicValues
impl Send for ContractPublicValues
impl Sync for ContractPublicValues
impl Unpin for ContractPublicValues
impl UnwindSafe for ContractPublicValues
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,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
impl<TxEnv, T> FromRecoveredTx<&T> for TxEnvwhere
TxEnv: FromRecoveredTx<T>,
§fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
fn from_recovered_tx(tx: &&T, sender: Address) -> TxEnv
Builds a
TxEnv
from a transaction and a sender address.§impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
impl<TxEnv, T> FromTxWithEncoded<&T> for TxEnvwhere
TxEnv: FromTxWithEncoded<T>,
§fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
fn from_encoded_tx(tx: &&T, sender: Address, encoded: Bytes) -> TxEnv
Builds a
TxEnv
from a transaction, its sender, and encoded transaction bytes.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§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,
Borrows
self
and passes that borrow into the pipe function. Read more§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,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§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
§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
§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
Borrows
self
, then passes self.as_ref()
into the pipe function.§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
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§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
Borrows
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§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
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§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
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.