pub struct PrivateCallExecutionResult {Show 22 fields
pub acir: Vec<u8>,
pub vk: Vec<u8>,
pub partial_witness: WitnessMap<FieldElement<Fp<MontBackend<FrConfig, 4>, 4>>>,
pub contract_address: AztecAddress,
pub call_context: CallContext,
pub return_values: Vec<Fr>,
pub new_notes: Vec<NoteAndSlot>,
pub note_hash_nullifier_counter_map: HashMap<u32, u32>,
pub offchain_effects: Vec<Vec<Fr>>,
pub pre_tags: Vec<Fr>,
pub nested_execution_results: Vec<PrivateCallExecutionResult>,
pub contract_class_logs: Vec<CountedContractClassLog>,
pub note_hashes: Vec<ScopedNoteHash>,
pub nullifiers: Vec<ScopedNullifier>,
pub note_hash_read_requests: Vec<ScopedReadRequest>,
pub nullifier_read_requests: Vec<ScopedReadRequest>,
pub private_logs: Vec<PrivateLogData>,
pub public_call_requests: Vec<PublicCallRequestData>,
pub public_teardown_call_request: Option<PublicCallRequestData>,
pub start_side_effect_counter: u32,
pub end_side_effect_counter: u32,
pub min_revertible_side_effect_counter: u32,
}Expand description
Result of a single private call execution (one function in the call tree).
Matches TS PrivateCallExecutionResult.
Fields§
§acir: Vec<u8>ACIR bytecode (gzipped) for the circuit.
vk: Vec<u8>Verification key (raw bytes).
partial_witness: WitnessMap<FieldElement<Fp<MontBackend<FrConfig, 4>, 4>>>Partial witness map — the solved ACVM witness.
contract_address: AztecAddressThe contract address that was called.
call_context: CallContextThe call context for this execution.
return_values: Vec<Fr>Function return values.
new_notes: Vec<NoteAndSlot>Notes created during this call.
note_hash_nullifier_counter_map: HashMap<u32, u32>Maps note hash counter -> nullifier counter (for transient squashing).
offchain_effects: Vec<Vec<Fr>>Offchain effects emitted via oracle.
Pre-tags used for private log encryption.
nested_execution_results: Vec<PrivateCallExecutionResult>Nested private call results (recursive tree structure).
contract_class_logs: Vec<CountedContractClassLog>Contract class logs emitted during this call.
note_hashes: Vec<ScopedNoteHash>Note hashes with counters and contract scope.
nullifiers: Vec<ScopedNullifier>Nullifiers with counters and contract scope.
note_hash_read_requests: Vec<ScopedReadRequest>Note hash read requests from this call.
nullifier_read_requests: Vec<ScopedReadRequest>Nullifier read requests from this call.
private_logs: Vec<PrivateLogData>Encrypted log data emitted.
public_call_requests: Vec<PublicCallRequestData>Public function call requests enqueued.
public_teardown_call_request: Option<PublicCallRequestData>Teardown call request (at most one per tx).
start_side_effect_counter: u32The side-effect counter at the start of this call.
end_side_effect_counter: u32The side-effect counter at the end of this call.
min_revertible_side_effect_counter: u32Minimum revertible side effect counter (set by the entrypoint).
Trait Implementations§
Source§impl Clone for PrivateCallExecutionResult
impl Clone for PrivateCallExecutionResult
Source§fn clone(&self) -> PrivateCallExecutionResult
fn clone(&self) -> PrivateCallExecutionResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PrivateCallExecutionResult
impl Debug for PrivateCallExecutionResult
Source§impl Default for PrivateCallExecutionResult
impl Default for PrivateCallExecutionResult
Source§fn default() -> PrivateCallExecutionResult
fn default() -> PrivateCallExecutionResult
Auto Trait Implementations§
impl Freeze for PrivateCallExecutionResult
impl RefUnwindSafe for PrivateCallExecutionResult
impl Send for PrivateCallExecutionResult
impl Sync for PrivateCallExecutionResult
impl Unpin for PrivateCallExecutionResult
impl UnwindSafe for PrivateCallExecutionResult
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,
§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>
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