pub struct ReceiptClaim {
pub preStateDigest: FixedBytes<32>,
pub postStateDigest: FixedBytes<32>,
pub exitCode: <ExitCode as SolType>::RustType,
pub input: FixedBytes<32>,
pub output: FixedBytes<32>,
}Expand description
@notice Public claims about a zkVM guest execution, such as the journal committed to by the guest.
@dev Also includes important information such as the exit code and the starting and ending system
state (i.e. the state of memory). ReceiptClaim is a “Merkle-ized struct” supporting
partial openings of the underlying fields from a hash commitment to the full structure.
struct ReceiptClaim { bytes32 preStateDigest; bytes32 postStateDigest; ExitCode exitCode; bytes32 input; bytes32 output; }Fields§
§preStateDigest: FixedBytes<32>@notice Digest of the SystemState just before execution has begun.
postStateDigest: FixedBytes<32>@notice Digest of the SystemState just after execution has completed.
exitCode: <ExitCode as SolType>::RustType@notice The exit code for the execution.
input: FixedBytes<32>@notice A digest of the input to the guest. @dev This field is currently unused and must be set to the zero digest.
output: FixedBytes<32>@notice Digest of the Output of the guest, including the journal and assumptions set during execution.
Trait Implementations§
Source§impl Clone for ReceiptClaim
impl Clone for ReceiptClaim
Source§fn clone(&self) -> ReceiptClaim
fn clone(&self) -> ReceiptClaim
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReceiptClaim
impl Debug for ReceiptClaim
Source§impl EventTopic for ReceiptClaim
impl EventTopic for ReceiptClaim
Source§fn topic_preimage_length(rust: &Self::RustType) -> usize
fn topic_preimage_length(rust: &Self::RustType) -> usize
Source§fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)
fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)
encode_topic. Read moreSource§impl Hash for ReceiptClaim
impl Hash for ReceiptClaim
Source§impl PartialEq for ReceiptClaim
impl PartialEq for ReceiptClaim
Source§impl SolStruct for ReceiptClaim
impl SolStruct for ReceiptClaim
Source§fn eip712_root_type() -> Cow<'static, str>
fn eip712_root_type() -> Cow<'static, str>
encodeType string.Source§fn eip712_components() -> Vec<Cow<'static, str>>
fn eip712_components() -> Vec<Cow<'static, str>>
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> ⓘ
encodeData.Source§fn eip712_type_hash(&self) -> FixedBytes<32>
fn eip712_type_hash(&self) -> FixedBytes<32>
typeHash
for this struct. Read moreSource§fn eip712_hash_struct(&self) -> FixedBytes<32>
fn eip712_hash_struct(&self) -> FixedBytes<32>
hashStruct.Source§fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
Source§impl SolType for ReceiptClaim
impl SolType for ReceiptClaim
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
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
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
Source§type RustType = ReceiptClaim
type RustType = ReceiptClaim
Source§type Token<'a> = <(FixedBytes<32>, FixedBytes<32>, ExitCode, FixedBytes<32>, FixedBytes<32>) as SolType>::Token<'a>
type Token<'a> = <(FixedBytes<32>, FixedBytes<32>, ExitCode, FixedBytes<32>, FixedBytes<32>) as SolType>::Token<'a>
Source§fn valid_token(token: &Self::Token<'_>) -> bool
fn valid_token(token: &Self::Token<'_>) -> bool
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
Source§fn sol_type_name() -> Cow<'static, str>
fn sol_type_name() -> Cow<'static, str>
SOL_NAME insteadSource§fn abi_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
fn abi_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
Source§fn type_check(token: &Self::Token<'_>) -> Result<(), Error>
fn type_check(token: &Self::Token<'_>) -> Result<(), Error>
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,
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,
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,
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,
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,
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,
Source§fn abi_encode_params<E>(rust: &E) -> Vec<u8> ⓘ
fn abi_encode_params<E>(rust: &E) -> Vec<u8> ⓘ
Source§fn abi_encode_sequence<E>(rust: &E) -> Vec<u8> ⓘ
fn abi_encode_sequence<E>(rust: &E) -> Vec<u8> ⓘ
Source§fn abi_decode(data: &[u8], validate: bool) -> Result<Self::RustType, Error>
fn abi_decode(data: &[u8], validate: bool) -> Result<Self::RustType, Error>
Source§impl SolTypeValue<ReceiptClaim> for ReceiptClaim
impl SolTypeValue<ReceiptClaim> for ReceiptClaim
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 ReceiptClaim
impl SolValue for ReceiptClaim
Source§type SolType = ReceiptClaim
type SolType = ReceiptClaim
Source§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name insteadSource§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
Source§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Self
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Self
Source§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
Source§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
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>)
Source§fn abi_encode_params(&self) -> Vec<u8> ⓘ
fn abi_encode_params(&self) -> Vec<u8> ⓘ
Source§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>
impl Eq for ReceiptClaim
impl StructuralPartialEq for ReceiptClaim
Auto Trait Implementations§
impl Freeze for ReceiptClaim
impl RefUnwindSafe for ReceiptClaim
impl Send for ReceiptClaim
impl Sync for ReceiptClaim
impl Unpin for ReceiptClaim
impl UnwindSafe for ReceiptClaim
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§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> 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> 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 more